Код
<?php
define("JCase", true);
require ("ajaxscripts/notice.php");
require ("ajaxscripts/mysql.php");
require ("config/config_chat.php");
require ("ajaxscripts/Chat/ip.php");
session_start();
if ((time()-$_SESSION['usersm']['time'])>60) {unset($_SESSION['usersm']['1']);}
if (isset($_GET['cod'])) {
$db->sql_query("DELETE FROM ".$prefix."_chat_admin WHERE time < '".time()."'");
$result = $db->sql_query("SELECT count(time) FROM ".$prefix."_chat_admin WHERE pass = '".$_GET['cod']."' ");
list($uname) = $db->sql_fetchrow($result);
if ($uname!=0) {
$_SESSION['jcrc_admin'] = 1;
Header("Location: index.php");
} else {
unset($_SESSION['jcrc_admin']);
unset($_SESSION['usersm']['1']);
$db->sql_query("INSERT INTO ".$prefix."_chat_ban SET time='".(time()+60*60)."', ip= '".ip()."'" );
echo "ban";
die();
}
}
$db->sql_query("DELETE FROM ".$prefix."_chat_users WHERE user_visit < '".(time()-60)."'");
$db->sql_query("DELETE FROM ".$prefix."_chat_ban WHERE time < '".time()."'");
$tpl['forMenu'] = "";
unset($_SESSION['muname']);
$flag_usersm = 0;
$result = $db->sql_query("SELECT user_name, color, timeout, ip FROM ".$prefix."_chat_users WHERE user_visit > '".(time()-60)."' ORDER BY user_lastvisit ASC");
while (list($uname, $color, $timeout, $ip) = $db->sql_fetchrow($result)) {
if ($_SESSION['jcrc_admin']==1) {
$tmp="<div id=\"tab".$uname."\" style=\"position: relative; bottom: 17px; float: right;\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
."<tr>"
."<td rowspan=\"2\" id=\"ip1".$uname."\" style=\"font-size: 12px; font-weight: normal;\"><img title=\"".$ip."\" src=\"template/".$tpl['Theme']."/gip.gif\" onClick=\"editTimeout('".$uname."', 'gip', '".$ip."', 'ip')\"></td>"
."<td rowspan=\"2\" id=\"ip2".$uname."\" style=\"font-size: 12px; font-weight: normal;\"><img title=\"".$ip."\" src=\"template/".$tpl['Theme']."/yip.gif\" onClick=\"editTimeout('".$uname."', 'yip', '".$ip."', 'ip')\"></td>"
."<td rowspan=\"2\" id=\"ip3".$uname."\" style=\"font-size: 12px; font-weight: normal;\"><img title=\"".$ip."\" src=\"template/".$tpl['Theme']."/rip.gif\" onClick=\"editTimeout('".$uname."', 'rip', '".$ip."', 'ip')\"></td>"
."<td rowspan=\"2\" id=\"tio".$uname."\" style=\"font-size: 12px; font-weight: normal;\">".$timeout."</td>"
."<td width=\"7\"><img title=\"".$uname." +1\" src=\"template/".$tpl['Theme']."/timeUP.gif\" onClick=\"editTimeout('".$uname."', 'u', '1', 'tio')\"></td>"
."<td width=\"7\"><img title=\"".$uname." +10\" src=\"template/".$tpl['Theme']."/timeUP.gif\" onClick=\"editTimeout('".$uname."', 'u', '10', 'tio')\"></td>"
."</tr>"
."<tr>"
."<td width=\"7\"><img title=\"".$uname." -1\" src=\"template/".$tpl['Theme']."/timeDOWN.gif\" onClick=\"editTimeout('".$uname."', 'd', '1', 'tio')\"></td>"
."<td width=\"7\"><img title=\"".$uname." -10\" src=\"template/".$tpl['Theme']."/timeDOWN.gif\" onClick=\"editTimeout('".$uname."', 'd', '10', 'tio')\"></td>"
."</tr>"
."</table> </div>";
} else {$tmp="";}
$tpl['forMenu'] .= '<div style="color: '.$color.'; cursor: pointer; width: 1px;" OnClick="InsNic(''.$uname.'', 'first_name')" id='.$uname.'>'.$uname.'</div>'.$tmp.'';
$_SESSION['muname'][$uname] = 1;
if ($_SESSION['usersm']['1']==$uname) {$flag_usersm=1;}
}
$_SESSION['muname']['admin'] = 1;
if ($_SESSION['usersm']['1']!="") {
$result = $db->sql_query("SELECT user_visit, user_lastvisit FROM ".$prefix."_chat_users WHERE user_name ='" .$_SESSION['usersm']['1']. "' ");
if (!($db->sql_numrows($result))) {
$db->sql_query("INSERT INTO ".$prefix."_chat_users SET user_name='".$_SESSION['usersm']['1']."', user_visit='".time()."', user_lastvisit = '".time()."', color = '".$_SESSION['usersm']['color']."' ");
} else {
$db->sql_query("UPDATE ".$prefix."_chat_users SET user_visit='".time()."', color = '".$_SESSION['usersm']['color']."' WHERE user_name = '" .$_SESSION['usersm']['1']. "' ");
}
}
if ($_SESSION['usersm']['1']!="" AND $flag_usersm==1) {
$tpl['Talkarea'] = "<span id=\"instep1\"><form id=\"myForm\" name=\"myForm\" action=\"ajaxscripts/Chat/basar.php\" method=\"post\"><textarea name=\"first_name\" id=\"first_name\" class=\"TalkArea\" cols=\"53\" rows=\"6\" onselect=\"storeCaret(this);\" onclick=\"storeCaret(this);\" onkeyup=\"storeCaret(this);\" onKeyDown=\"textCounter(this.form.first_name,this.form.remLen,750);\" onKeyUp=\"textCounter(this.form.first_name,this.form.remLen,750);\"></textarea></span>";
$tpl['Talkareabut'] = "<span id=\"instep2\"><img style=\"cursor: pointer;\" src=\"template/$tpl[Theme]/knopka.png\" alt=\"Сказать\" height=\"28\" width=\"121\" border=\"0\" onclick=\"saved(); return false;\"/></span>";
$tpl['Talkareach'] = "<span id=\"instep3\">Осталось<br /><span id=\"remLen\">750</span> знаков</form></span>";
} else {
$tpl['Talkarea'] = "<span id=\"instep1\"><form id=\"myForm\" action=\"ajaxscripts/Chat/in.php\" onSubmit=\"return false;\" method=\"post\">"
."<span class=\"OnLine\" id=\"in1\">Введите логин:</span><br><input type=\"text\" id=\"first_name2\" name=\"first_name2\" class=\"log-in\" maxlength=\"15\"><br>"
."<textarea name=\"first_name\" id=\"first_name\" style=\"display: none;\"></textarea>"
."<input type=hidden name=remLen id=remLen>"
."<input onclick=\"saved2(); return false;\" type=\"submit\" class=\"log-in-but\" name=\"button\" id=\"submitter1\" value=\"Вход\" />"
."</form></span>";
$tpl['Talkareabut'] = "<span id=\"instep2\"></span>";
$tpl['Talkareach'] = "<span id=\"instep3\"></span>";
}
// Меню Пользователи
$tpl['Menu'] = "<div id=\"menu10\" class=\"NoActiveMenu\">Пользователи</div><div id=\"menu11\" class=\"Menu\" style=\"display: none;\"><div id=\"users\" style=\"padding: 10px;\">";
$tpl['Menu'] .= $tpl['forMenu'];
$tpl['Menu'] .= "</div></div><span id=\"users3\" style=\"display: none;\"></span>";
$tpl['OnLineKol'] = "<span id=\"users2\">".(count($_SESSION['muname'])-1)."</span>";
$tpl['t1'] = "<div id=\"t1\"></div>";
$tpl['basar2'] = "<div id=\"basar2\" style=\"display: none;\"></div>";
// Меню Смайлы
$mas_sm1 = array( 'O:-)', ':-)', ':-(', ';-)', ':-P', '8-)', ':-D', ':-[', '=-O', ':-*', ':\\\'(', ':-X', '>:o', ':-|', ':-\\\\', '*JOKINGLY*', '[:->', '[:-}', '*KISSED*', ':-!', '*TIRED*', '*STOP*', '*KISSING*', '@}->--', '*THUMBS UP*', '*DRINK*', '*IN LOVE*', '@=', '*HELP*', '\\\\m/', '%)', '*OK*', '*WASSUP*', '*SORRY*', '*BRAVO*', '*ROFL*', '*PARDON*', '*NO*', '*CRAZY*', '*DONT_KNOW*', '*DANCE*', '*YAHOO*', '*HI*', '*BYE*', '*YES*', ';D', '*WALL*', '*WRITE*', '*SCRATCH*', '*SMOKE*', '*LAZY*', '*NEGATIVE*');
$temp_path = "ajaxscripts/Chat/smilies/kolobok/";
$handle_main = opendir($temp_path);
$nabor = "<table border=\"0\" width=\"100%\" height=\"450px\"><tr>";
unset($_SESSION['mass_sm1']);
unset($_SESSION['mass_sm2']);
while ($file_title = readdir($handle_main)) {
if (preg_match("/(\.gif|\.png|\.jpg|\.jpeg)$/is", $file_title)) {
$_SESSION['mass_sm1'][] = $file_title;
$_SESSION['mass_sm2'][] = "<img src=".$temp_path.$file_title.">";
}
}
asort($_SESSION['mass_sm1']);
asort($_SESSION['mass_sm2']);
$ism = 0; $i = 0;
foreach($_SESSION['mass_sm1'] as $key => $val) {
$sizey = getimagesize($temp_path."".$val);
$nabor .= "<td align=\"center\" valign=\"middle\" height=\"".$sizey[1]."px\"><img style=\"cursor: pointer;\" title=\"".stripslashes($mas_sm1[$i])."\" alt=\"".stripslashes($mas_sm1[$i])."\" src=\"".$temp_path."".$val."\" onClick=\"AddSmileChat('".$mas_sm1[$i]."', 'first_name')\"></td>";
$ism++;$i++;
if ($ism==4) {$ism=0; $nabor .= "</tr><tr>";}
}
if ($ism!=4 AND $ism!=0) {while ($ism!=5) {if ($ism<4) {$nabor .= "<td>";} $ism++; if ($ism<5) {$nabor .= "</td>";} } }
$nabor .= "</tr></table>";
$tpl['Menu'] .= "<div id=\"menu20\" class=\"NoActiveMenu\">Смайлы</div><div id=\"menu21\" class=\"Menu\" style=\"display: none;\"><div>".$nabor."</div></div>";
// Меню Доп. смайлы
$temp_path = "ajaxscripts/Chat/smilies/other/";
$handle_main = opendir($temp_path);
$nabor = "<table border=\"0\" width=\"100%\" height=\"450px\"><tr>";
unset($_SESSION['mass_sm3']);
while ($file_title = readdir($handle_main)) {
if (preg_match("/\.gif$/is", $file_title)) {
$mas_sm3[] = "[:".substr ($file_title, 0, -4).":]";
$_SESSION['mass_sm3'][] = $file_title;
}
}
sort($_SESSION['mass_sm3']);
sort($mas_sm3);
$ism = 0; $i = 0;
foreach($_SESSION['mass_sm3'] as $key => $val) {
$sizey = getimagesize($temp_path."".$val);
$nabor .= "<td align=\"center\" valign=\"middle\" height=\"".$sizey[1]."px\"><img style=\"cursor: pointer;\" title=\"".stripslashes($mas_sm3[$i])."\" alt=\"".stripslashes($mas_sm3[$i])."\" src=\"".$temp_path."".$val."\" onClick=\"AddSmileChat('".$mas_sm3[$i]."', 'first_name')\"></td>";
$ism++;$i++;
if ($ism==4) {$ism=0; $nabor .= "</tr><tr>";}
}
if ($ism!=4 AND $ism!=0) {while ($ism!=5) {if ($ism<4) {$nabor .= "<td>";} $ism++; if ($ism<5) {$nabor .= "</td>";} } }
$nabor .= "</tr></table>";
$tpl['Menu'] .= "<div id=\"menu30\" class=\"NoActiveMenu\">Доп. смайлы</div><div id=\"menu31\" class=\"Menu\" style=\"display: none;\"><div>".$nabor."</div></div>";
//
$nabor_help = "<font color=red><b>Если что-то не умещается в меню - подведите курсор к границе поля.</b></font>"
."<br>1. Mozilla Firefox обеспечит Вам наиболее комфортное пребывание в чате."
."<br>2. Чат имеет интеллектуальную высоту настроки высоты блоков в зависимости от высоты рабочей части браузера. После обновлении высоты выберете один из пунктов меню."
."<br>3. Цвет Ваших сообщений, воспроизведение звуков, параметры автоскроллинга можно выберете в меню «Настройки»"
."<br>4. По умолчанию любой пользователь может отправлять ОДНО сообщение за 2 секунды. В противном случае включается система антифлуда: пользователю увеличивается интервал между сообщениями. Убавление интервала нелинейно и зависит от величины набранных штрафных секунд."
."<br>5. Если к Вам обратились по нику, Вы видите рябом со стрелкой значек <img src=ajaxscripts/Chat/img/forward.gif border=0>"
."<br>6. Отправка сообщений по нажатию кнопки «Сказать» или по сочетанию клавиш Ctrl+Enter"
."<br>7. Не используйте более трёх переводов строк, иначе не получите ниодного!"
."<br>8. Максимальная длинна сообщения 750 знаков. Сообщение будет вставлено 3-мя частями по 250 знаков."
."<br>9. Если Вы хотите с кем-то поделиться ссылкой, то просто вставьте её в текст с пробелами по бокам. Ссылка сама станет активной, если начинается с <b>http://</b> или <b>www</b>. ВНИМАНИЕ!!! Не кликайте по ссылкам незнакомых Вам чатлан - это может навредить Вашему компьютеру."
."<br>10. Приятного общения!";
$tpl['Menu'] .= "<div id=\"menu40\" class=\"NoActiveMenu\">Помощь</div><div id=\"menu41\" class=\"Menu\" style=\"display: none;\">".$nabor_help."</div>";
//настройки
$nabor = "";
//цвет
for ($i=0;$i<4;$i++) {
for ($j=0;$j<4;$j++) {
for ($k=0;$k<4;$k++) {
$he = "";
if ((85*$i) < 10) $he .= "0".dechex(85*$i);
elseif ((85*$i) == 255) $he .= dechex(85*$i);
else $he .= dechex(85*$i);
if ((85*$j) < 10) $he .= "0".dechex(85*$j);
elseif ((85*$j) == 255) $he .= dechex(85*$j);
else $he .= dechex(85*$j);
if ((85*$k) < 10) $he .= "0".dechex(85*$k);
elseif ((85*$k) == 255) $he .= dechex(85*$k);
else $he .= dechex(85*$k);
$nabor .= "<font id=\"he1\" style=\"cursor: pointer; font-size: 20px; line-height: 20px; background-color: #".$he."; color: #".$he."\"; onfocus=\"this.blur()\"> </font>";
if ($k==3 AND ($j==1 OR $j==3)) $nabor .= "<br>";
}
}
}
if (!isset($_SESSION['usersm']['color']) OR $_SESSION['usersm']['color']=="") $_SESSION['usersm']['color'] = "#000000";
$nabor_sound = "<br><br>Новый участник <span id=\"s_newus\">";
if (!isset($_SESSION['sound']['s_newus']) OR $_SESSION['sound']['s_newus']==1) {
$nabor_sound .= "<font color=\"#00afad\">вкл.</font>";
} else {
$nabor_sound .= "<font color=\"#bf0000\">выкл.</font>";
}
$nabor_sound .= "</span><br>Новое сообщение <span id=\"s_messag\">";
if (!isset($_SESSION['sound']['s_messag']) OR $_SESSION['sound']['s_messag']==1) {
$nabor_sound .= "<font color=\"#00afad\">вкл.</font>";
} else {
$nabor_sound .= "<font color=\"#bf0000\">выкл.</font>";
}
$nabor_sound .= "</span><br>К Вам обратились <span id=\"s_ku\">";
if (!isset($_SESSION['sound']['s_ku']) OR $_SESSION['sound']['s_ku']==1) {
$nabor_sound .= "<font color=\"#00afad\">вкл.</font>";
} else {
$nabor_sound .= "<font color=\"#bf0000\">выкл.</font>";
}
$nabor_sound .= "</span><br>Звуки смайлов <span id=\"s_smiles\">";
if (!isset($_SESSION['sound']['s_smiles']) OR $_SESSION['sound']['s_smiles']==1) {
$nabor_sound .= "<font color=\"#00afad\">вкл.</font>";
} else {
$nabor_sound .= "<font color=\"#bf0000\">выкл.</font>";
}
$nabor_sound .= "</span>";
if (!isset($_SESSION['sound']['autuscroll']) OR $_SESSION['sound']['autuscroll']==1) {
$nabor_autuscroll .= "<font color=\"#00afad\">включен</font>";
} else {
$nabor_autuscroll .= "<font color=\"#bf0000\">выключен</font>";
}
$tpl['Menu'] .= "<div id=\"menu50\" class=\"NoActiveMenu\">Настройки</div><div id=\"menu51\" class=\"Menu\" style=\"display: none;\"><div style=\"padding: 10px;\"><span class=\"Znakov\">Настройка цвета</span><br><br><span id=\"he\">$nabor</span><br>Текущий цвет: <span id=\"uscolor\"><font style=\"text-decoration: none; font-size: 12px; line-height: 12px; background-color: ".$_SESSION['usersm']['color']."\";> </font> <font style=\"text-decoration: none; font-size: 12px; line-height: 12px; color: ".$_SESSION['usersm']['color']."\";>Образец</font></span><br><br><br><span class=\"Znakov\">Настройки звуков</span>".$nabor_sound."<br><br><br><span class=\"Znakov\">Настройка автоскролинга</span><br><br><span id=\"autuscroll\"><b>".$nabor_autuscroll."</b></span></div></div>";
$num = 0;
$result = $db->sql_query("SELECT id FROM ".$prefix."_chat_text ORDER BY id DESC LIMIT 39, 1");
list($num) = $db->sql_fetchrow($result);
$db->sql_query("DELETE FROM ".$prefix."_chat_text WHERE id<'".$num."'");
$result = $db->sql_query("SELECT id, text FROM ".$prefix."_chat_text WHERE id>0 ORDER BY id ASC");
while (list($id, $text) = $db->sql_fetchrow($result)) {
if (preg_match('#'.$_SESSION['usersm']['1'].',#si', $text) AND $_SESSION['usersm']['1']!="") {
$text = preg_replace("#\[:user_message:\]#", "<img src=ajaxscripts/Chat/img/forward.gif border=0>", $text);
} else {
$text = preg_replace("#\[:user_message:\]#", "", $text);
}
$tpl['basar2'] .= "<div id=\"".$id."\" style=\"padding: 3px; background-color: #";
if ($id%2) { $tpl['basar2'] .= "fafafa";} else {$tpl['basar2'] .= "fefefe";}
$tpl['basar2'] .= ";\">".stripslashes($text)."</div>";
$_SESSION['usersm']['id'] = $id;
}
// = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _ = _
$indextpl = file_get_contents("template/".$tpl['Theme']."/index.html");
// = = = =
$tpl['Head'] = "<link href=\"template/".$tpl['Theme']."/style.css\" type=text/css rel=stylesheet>"
."<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"ajaxscripts/Chat/style.css\">"
."<script type=\"text/javascript\" src=\"ajaxscripts/Chat/soundmanager2.js\"></script>"
."<script type=\"text/javascript\" src=\"ajaxscripts/shortcut.js\"></script>"
."<script type=\"text/javascript\" src=\"ajaxscripts/mootools.js\"></script>"
."<script src=\"ajaxscripts/Chat/chat.js\" type=\"text/javascript\"></script>"
;
// = = = =
$indextpl='echo " '.addslashes($indextpl)." \";";
$go = create_function('$tpl', $indextpl);
$go ($tpl);
function pre($in) {
echo "<pre>";
print_r($in);
echo "</pre>";
}
?>