Parašė ChecK· 2008 Rugs. 25 21:09:41
#4
shoutbox_panel.php :
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fu...
+----------------------------------------------------+
| Pradine Saukyklos robotuko versija sukurta: snapsas
| Prie robotuko kurimo daug prisidejo: bdZ
+----------------------------------------------------*/
if (!defined("IN_FUSION")) { header("Location: ../../index.php"); exit; }
openside($locale['120']);
if (iMEMBER || $settings['guestposts'] == "1") {
if (isset($_POST['post_shout'])) {
$flood = false;
if (iMEMBER) {
$shout_name = $userdata['user_id'];
} elseif ($settings['guestposts'] == "1") {
$shout_name = trim(stripinput($_POST['shout_name']));
$shout_name = preg_replace("(^[0-9]*)", "", $shout_name);
if (isNum($shout_name)) $shout_name="";
}
$shout_message = str_replace("\n", " ", $_POST['shout_message']);
$shout_message = preg_replace("/^(.{255}).*$/", "$1", $shout_message);
$shout_message = preg_replace("/([^\s]{25})/", "$1\n", $shout_message);
$shout_message = trim(stripinput(censorwords($shout_message)));
$shout_message = str_replace("\n", "<br>", $shout_message);
if ($shout_name != "" && $shout_message != "") {
//pradedam boto koda
$h = date("H", time());
if ($h > 00 && $h <= 05) {
$time = "Laba naktis";
$timemsg = "Ne laikas miegoti dar?";
} elseif ($h > 05 && $h <= 10) {
$time = "Labas rytas";
$timemsg = "Kaip miegojai?";
} elseif ($h > 10 && $h <= 18) {
$time = "Laba diena";
$timemsg = "Kaip einasi?";
} elseif ($h > 18 && $h <= 21) {
$time = "Labas vakaras";
$timemsg = "Kaip sekasi?";
} elseif ($h > 21 && $h <= 23) {
$time = "Laba naktis";
$timemsg = "Ne laikas miegoti dar?";
}
$msg = strtolower($_POST['shout_message']);
$msg = str_replace(array(":","<",">","@","#","$","%","^","&","*","(",")","_","=","+","/","-", "?", ",", "'", "`", "!", "."), "", $msg);
$msg = str_replace(array("ą", "č", "ę", "ė", "į", "š", "ų", "ū", "ž"), array("a", "c", "e", "e", "i", "s", "u", "u", "z"), $msg);
// klausimus rasom be zenklu, kurie yra $pakeisti array'uje
$QA = array (
"(.{0,10}(sveik|laba|swx|svx|sveix).*[a-z,0-9]*\040(ro){0,1}bot.*|.{0,10}(ro){0,1}bot[a-z,0-9]*\040(sveik|laba|swx|svx|sveix).*)" => "$time, $userdata[user_name]. $timemsg",
".{0,7}(norm|ger|nuosta|ideal).*[a-z,0-9]*\040(ro){0,1}bot.*" => "Nuostabu :D Džiaugiuosi dėl tavęs :)",
"(dux|duch|lox|loch|ble|nx|nach|nah|nax|pisk|cbb|bbd|debi|peder|pydar|rupus miltai|posimts pypkiu|paci|aš).*" => "<font style=\"color:red;\">".$userdata['user_name']."</font>, Nesikeik! :|",
".{0,10}(ro){0,1}bot[a-z,0-9]*\040(uzmu|nuzud|papj).*" => "Jau bėgu :D",
"[^[a-z,0-9]]*.*bot.*" => "Aš robotas :). Kas kvietėt?"
);
$rezas = false;
foreach ($QA as $q => $a) {
if (ereg($q, $msg)) {
$rezas = true;
$atsakymas = $a;
break;
}
}
//botas baigesi
$result = dbquery("SELECT MAX(shout_datestamp) AS last_shout FROM ".$db_prefix."shoutbox WHERE shout_ip='".USER_IP."'");
if (!iSUPERADMIN || dbrows($result) > 0) {
$data = dbarray($result);
if ((time() - $data['last_shout']) < $settings['flood_interval']) {
//panaikinam siuksles
if ($rezas) $flood = false; else $flood = true;
$result = dbquery("INSERT INTO ".$db_prefix."flood_control (flood_ip, flood_timestamp) VALUES ('".USER_IP."', '".time()."')");
if (dbcount("(flood_ip)", "flood_control", "flood_ip='".USER_IP."'") > 4) {
if (iMEMBER) $result = dbquery("UPDATE ".$db_prefix."users SET user_status='1' WHERE user_id='".$userdata['user_id']."'");
}
}
}
if (!$flood) $result = dbquery("INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('$shout_name', '$shout_message', '".time()."', '".USER_IP."')");
//boto uzklausa
if ($rezas) $result = dbquery("INSERT INTO ".$db_prefix."shoutbox (shout_name, shout_message, shout_datestamp, shout_ip) VALUES ('Pagalbos Robotukas', '$atsakymas', '".(time() + 1)."', '0.0.0.0')");
}
fallback(FUSION_SELF.(FUSION_QUERY ? "?".str_replace("&", "&", FUSION_QUERY) : ""));
}
echo "<form name='chatform' method='post' action='".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : "")."'>
<table align='center' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2'>\n";
if (iGUEST) {
echo $locale['121']."<br>
<input type='text' name='shout_name' value='' class='textbox' maxlength='30' style='width:140px;'><br>
".$locale['122']."<br>\n";
}
echo "<textarea name='shout_message' rows='4' cols='20' class='textbox'></textarea>
</td>
</tr>
<tr>
<td><input type='submit' name='post_shout' value='".$locale['123']."' class='button'></td>
<td align='right' class='small'><a href='".INFUSIONS."shoutbox_panel/shoutboxhelp.php' class='side'>".$locale['124']."</a></td>
</tr>
</table>
</form>
<br>\n";
} else {
echo "<center>".$locale['125']."</center><br>\n";
}
$result = dbquery("SELECT count(shout_id) FROM ".$db_prefix."shoutbox");
$numrows = dbresult($result, 0);
$result = dbquery(
"SELECT * FROM ".$db_prefix."shoutbox LEFT JOIN ".$db_prefix."users
ON ".$db_prefix."shoutbox.shout_name=".$db_prefix."users.user_id
ORDER BY shout_datestamp DESC LIMIT 0,".$settings['numofshouts']
);
if (dbrows($result) != 0) {
$i = 0;
while ($data = dbarray($result)) {
echo "<span class='shoutboxname'><img src='".THEME."images/bullet.gif' alt=''> ";
if ($data['user_name']) {
echo "<a href='".BASEDIR."profile.php?lookup=".$data['shout_name']."' class='side'>".$data['user_name']."</a>\n";
} else {
echo $data['shout_name']."\n";
}
echo "</span><br>\n<span class='shoutboxdate'>".showdate("shortdate", $data['shout_datestamp'])."</span>";
if (iADMIN && checkrights("S")) {
echo "\n[<a href='".ADMIN."shoutbox.php".$aidlink."&action=edit&shout_id=".$data['shout_id']."' class='side'>".$locale['048']."</a>]";
}
echo "<br>\n<span class='shoutbox'>".parsesmileys($data['shout_message'])."</span><br>\n";
if ($i != $numrows) echo "<br>\n";
}
if ($numrows > $settings['numofshouts']) {
echo "<center>\n<img src='".THEME."images/bullet.gif' alt=''>
<a href='".INFUSIONS."shoutbox_panel/shoutbox_archive.php' class='side'>".$locale['126']."</a>
<img src='".THEME."images/bulletb.gif' alt=''></center>\n";
}
} else {
echo "<div align='left'>".$locale['127']."</div>\n";
}
closeside();
?>
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }
openside($locale['120']);
if (isset($_POST['post_shout'])) {
if (iMEMBER) {
$shout_name = $userdata['user_id'];
} elseif ($settings['guestposts'] == "1") {
$shout_name = trim(stripinput($_POST['shout_name']));
$shout_name = preg_replace("(^[0-9]*)", "", $shout_name);
if (isNum($shout_name)) $shout_name="";
}
$shout_message = str_replace("\n", " ", $_POST['shout_message']);
$shout_message = preg_replace("/^(.{255}).*$/", "$1", $shout_message);
$shout_message = preg_replace("/([^\s]{25})/", "$1\n", $shout_message);
$shout_message = trim(stripinput(censorwords($shout_message)));
$shout_message = str_replace("\n", "<br>", $shout_message);
if ($_POST['validation'] != "" && $_POST['validation'] == $_POST['validation_answer'])
{
if ($shout_name != "" && $shout_message != "") {
if (dbcount("(*)", "shoutbox", "shout_message='$shout_message' AND shout_datestamp+84600>".time())) {
header("Location: ".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : ""));
} else {
$result = dbquery("INSERT INTO ".$db_prefix."shoutbox VALUES('', '$shout_name', '$shout_message', '".time()."', '".USER_IP."')");
}
}
header("Location: ".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : ""));
}
else {
echo "<div style='text-align:center'>Jūs turite teisingai atsakyti į šį matematinį klausimą, kad jūsų pranešimas būtų įskaitytas. Tai turi apsaugoti nuo pasikartojančių žinučių.<br /><br /></div>";
}
}
// Calculate random equation and answer
$var1 = rand(1,5);
$var2 = rand(1,5);
$equation = $var1 . " + " . $var2 . ":";
$validation_answer = $var1 + $var2;
if (iMEMBER || $settings['guestposts'] == "1") {
echo "<form name='chatform' method='post' action='".FUSION_SELF.(FUSION_QUERY ? "?".FUSION_QUERY : "")."'>
<table align='center' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2'>\n";
if (iGUEST) {
echo $locale['121']."<br>
<input type='text' name='shout_name' value='".$userdata['user_name']."' class='textbox' maxlength='32' style='width:140px;'><br>
".$locale['122']."<br>\n";
}
echo "<textarea name='shout_message' rows='4' class='textbox' style='width:140px;'></textarea>
</td>
</tr>
<tr>
<td align='right' class='tbl'>".$equation."</td>
<td class='tbl'>
<input type='text' name='validation' value='' class='textbox' style='width:50px'>
<input type='hidden' name='validation_answer' value='$validation_answer' class='textbox' style='width:50px'>
</td>
</tr>
<td><input type='submit' name='post_shout' value='".$locale['123']."' class='button'></td>
<td align='right' class='small'><a href='".INFUSIONS."shoutbox_panel/shoutboxhelp.php'>".$locale['124']."</a></td>
</tr>
</table>
</form>
<br>\n";
} else {
echo "<center>".$locale['125']."</center><br>\n";
}
$result = dbquery("SELECT count(shout_id) FROM ".$db_prefix."shoutbox");
$numrows = dbresult($result, 0);
$result = dbquery(
"SELECT * FROM ".$db_prefix."shoutbox LEFT JOIN ".$db_prefix."users
ON ".$db_prefix."shoutbox.shout_name=".$db_prefix."users.user_id
ORDER BY shout_datestamp DESC LIMIT 0,".$settings['numofshouts']
);
if (dbrows($result) != 0) {
$i = 0;
while ($data = dbarray($result)) {
echo "<span class='shoutboxname'>";
if ($data['user_name']) {
echo "<a href='".BASEDIR."profile.php?lookup=".$data['shout_name']."' class='side'>".$data['user_name']."</a>\n";
} else {
echo "".$data['shout_name']."\n";
}
echo "</span><br>
<span class='shoutboxdate'>".showdate("shortdate", $data['shout_datestamp'])."</span><br>
<span class='shoutbox'>".parsesmileys($data['shout_message'])."</span><br>\n";
if ($i != $numrows) echo "<br>\n";
}
if ($numrows > $settings['numofshouts']) {
echo "<center>\n<img src='".THEME."images/bullet.gif'>
<a href='".INFUSIONS."shoutbox_panel/shoutbox_archive.php' class='side'>".$locale['126']."</a> <img src='".THEME."images/bulletb.gif'></center>\n";
}
} else {
echo "<div align='left'>".$locale['127']."</div>\n";
}
closeside();
?>