Szuka?em modyfikacji która umo?liwi?a by weryfikacj? u?ytkowników czy aby nie s? botami przed napisaniem jakiej? odpowiedzi lub posta. Znalaz?em takiego oto moda dla v6.00.1xx
http://mods.php-f...oad_id=117
w ?lad za t? modyfikacj? napisa?em swoj?. Oto i ona :)
W trakcie publikacji nowego tematu pojawia si? nowe pole w którym nale?y wprowadzi? sum? dodawania

Je?li ?le podamy wynik wy?wietli si? taki komunikat:

mo?emy tu klikn?? wró?, spowoduje to powrót do podgl?du pisanego posta wraz z ju? wprowadzon? przez u?ytkownika tre?ci? (ot gdyby kto? pomyli? si? w dodawaniu do 10).
Pole szybkiej odpowiedzi wygl?da w nast?puj?cy sposób:

Za? po podaniu niepoprawnego wyniku uzyskujemy stron? z wprowadzonym tekstem i ponown? mo?liwo?? "zgadywania" wyniku:

Strona po klikni?ciu w odpowiedz:

Strona po niepoprawnym podaniu wyniku tak jak w poprzednich przypadkach zawiera wprowadzon? tre??:

A teraz pora na samego moda:
=================================================================
=================================================================
W pliku ./forum/postnewthread.php
=================================================================
=================================================================
znajd?:
echo "<br /></td>\n<td valign='top' class='tbl1 forum_thread_user_post'>".$previewmessage."</td>\n";
echo "</tr>\n</table>\n";
closetable();
}
}
dodaj po:
$var1 = rand(1,5);
$var2 = rand(1,5);
$equation = $var1 . " + " . $var2 . "=";
$validation_answer = $var1 + $var2;
if ($_POST['validation'] != "" && $_POST['validation'] == $_POST['validation_answer']){
=================================================================
znajd?:
} else {
redirect("postify.php?post=new&error=$error&forum_id=".$_GET['forum_id']."&thread_id=".$thread_id."");
}
}
dodaj po:
}
//Je?li kto? poda niepoprawn? warto?? otrzyma:
else if ($_POST['validation'] != $_POST['validation_answer'] && !isset($_POST['previewpost'])) {
opentable($locale['401']);
echo "<center><form id='inputform' method='post' action='".FUSION_SELF."?action=newthread&forum_id=".$_GET['forum_id']."' enctype='multipart/form-data'>\n";
echo "Poda?e? nieprawid?owwy wynik.<br />";
$subject = $_POST['subject'];
$message = $_POST['message'];
echo "<input type='hidden' name='subject' value='".$subject."'>";
echo "<input type='hidden' name='message' value='".$message."'>";
echo "<input type='submit' name='previewpost' value='Wró?' class='button' />\n</center>";
closetable();
}
=================================================================
znajd?:
echo "<td class='tbl1'><textarea name='message' cols='60' rows='15' class='textbox' style='width:98%'>".$message."</textarea></td>\n";
echo "</tr>\n<tr>\n";
dodaj po:
//pokazuje pytanie z walidacj?
echo "<td width='145' class='tbl2'></td><td class='tbl1'>".$equation."
<input type='text' name='validation' value='' class='textbox' style='width:250px'>
<input type='hidden' name='validation_answer' value='$validation_answer' class='textbox' style='width:250px'></td></tr>\n<tr>\n";
//end walidacja
=================================================================
=================================================================
W pliku ./forum/viewthread.php
=================================================================
=================================================================
Znajd?:
echo "<img src='".get_image("reply")."' alt='".$locale['565']."' style='border:0px' /></a>\n";
}
echo "</td>\n</tr>\n</table>\n";
}
closetable();
dodaj po:
//losowanie do weryfikacji
$var1 = rand(1,5);
$var2 = rand(1,5);
$equation = $var1 . " + " . $var2 . "=";
$validation_answer = $var1 + $var2;
//end losowanie do weryfikacji
=================================================================
znajd?:
echo "<td align='center' class='tbl1'><textarea name='message' cols='70' rows='7' class='textbox' style='width:98%'></textarea><br />\n";
echo display_bbcodes("360px", "message")."</td>\n";
echo "</tr>\n<tr>\n";
i zamie?:
echo "</tr>\n<tr>\n";
na:
echo "</tr>\n";
//pole weryfikacji
echo "<td width='145' class='tbl2'> </td>\n
<td align='center' class='tbl1'>".$equation." <input type='text' name='validation' value='' class='textbox' style='width:250px'>
<input type='hidden' name='validation_answer' value='$validation_answer' class='textbox' style='width:250px'>
</td>
<tr>";
//end pole weryfikacji
echo "<tr>\n";
=================================================================
=================================================================
W pliku ./forum/postreply.php
=================================================================
=================================================================
Znajd?:
if (!defined("IN_FUSION")) { die("Access Denied"); }
Dodaj po:
$var1 = rand(1,5);
$var2 = rand(1,5);
$equation = $var1 . " + " . $var2 . "=";
$validation_answer = $var1 + $var2;
=================================================================
Znajd?:
if (isset($_POST['postreply'])) {
dodaj po:
//sprawdzenie poprawno?ci weryfikacji
if ($_POST['validation'] != "" && $_POST['validation'] == $_POST['validation_answer']){
//end sprawdzenie poprawno?ci weryfikacji
=================================================================
Znajd?:
else {
redirect("postify.php?post=reply&error=$error&forum_id=".$_GET['forum_id']."&thread_id=".$_GET['thread_id']."&post_id=$post_id");
}
dodaj po:
//efekt b??du
} elseif ($_POST['validation'] != $_POST['validation_answer']) {
include LOCALE.LOCALESET."forum/main.php";
opentable($locale['512']);
echo "<form name='inputform' method='post' action='".FORUM."post.php?action=reply&forum_id=".$fdata['forum_id']."&thread_id=".$_GET['thread_id']."'>\n";
echo "<table cellpadding='0' cellspacing='1' class='tbl-border center'>\n<tr>\n";
echo "<td align='center' class='tbl1'><textarea name='message' cols='70' rows='7' class='textbox' style='width:98%'>".$_POST['message']."</textarea><br />\n";
echo display_bbcodes("360px", "message")."</td>\n";
echo "</tr>\n";
//pole weryfikacji
echo "<tr>
<td align='center' class='tbl2'>".$equation." <input type='text' name='validation' value='' class='textbox' style='width:250px'>
<input type='hidden' name='validation_answer' value='$validation_answer' class='textbox' style='width:250px'>
</td>
<tr>";
//end pole weryfikacji
echo "<tr>\n";
echo "<td align='center' class='tbl2'><label><input type='checkbox' name='disable_smileys' value='1' /> ".$locale['513']."</label>";
if (array_key_exists("user_sig", $userdata) && $userdata['user_sig']) {
echo "<br />\n<label><input type='checkbox' name='show_sig' value='1' checked='checked' /> ".$locale['513a']."</label>";
}
if ($settings['thread_notify']) {
if (dbcount("(thread_id)", DB_THREAD_NOTIFY, "thread_id='".$_GET['thread_id']."' AND notify_user='".$userdata['user_id']."'")) {
$notify_checked = " checked='checked'";
} else {
$notify_checked = "";
}
echo "<br />\n<label><input type='checkbox' name='notify_me' value='1'".$notify_checked." /> ".$locale['513b']."</label>";
}
echo "</td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' class='tbl1'><input type='submit' name='postreply' value='".$locale['514']."' class='button' /></td>\n";
echo "</tr>\n</table>\n</form><!--sub_forum_thread-->\n";
closetable();
}
//end efekt b??du
=================================================================
Znajd?:
echo "<td width='145' class='tbl2'> </td>\n";
echo "<td class='tbl1'>".display_bbcodes("99%", "message")."</td>\n";
echo "</tr>\n<tr>\n";
i zamie?:
echo "</tr>\n<tr>\n";
na:
echo "</tr>\n";
//pole weryfikacji
echo "<td width='145' class='tbl2'> </td>\n
<td align='center' class='tbl1'>".$equation." <input type='text' name='validation' value='' class='textbox' style='width:250px'>
<input type='hidden' name='validation_answer' value='$validation_answer' class='textbox' style='width:250px'>
</td>
<tr>";
//end pole weryfikacji
echo "<tr>\n";
=================================================================
=================================================================
Mam nadziej? ?e nie b?dzie z tym problemów i komu? si? przyda modyfikacja.
Je?li kto? nie modyfikowa? skryptu forum to w za??czniku dodaje te 3 pliki spakowane zipem.
Trooll dodał/a następującą plik:
Edytowane przez Trooll dnia 28.09.2011 18:50:35
|