Файл: support.php
Строк: 150
<?
include 'inc/config.php';
include 'inc/func.php';
include 'inc/conn.php';
include 'inc/header.php';
include 'inc/ent.php';
include 'inc/zapros.php';
If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode=false; else $mode=$_GET['mode'];
switch ($mode){
case 'add_mess':
mysql_query("update `".prefix."users` set `mesto`='Добавляет сообщение в поддержке', `online`='".time()."' where `id` = '".$_USER['id']."';");
echo '<div class="copy"><b>Добавление сообщения</b></div>';
If (!isset($_POST['text'])) {
echo '<div class="menu1"><div class="menu3">
Текст [max '.lenght_text.']:<br/>
<form method="post" action="'.$_zapros.'mode=add_mess">
<textarea name="text" cols="19" rows="5" maxlength="'.lenght_text.'" value=""/></textarea><br/>
<input value="Написать" type="submit"/></form>
</div></div>';
echo '<div class="menu1"><div class="menu3">
* <a href="infa.php'.$_zapros.'mode=bb">BB-коды</a><br/>
</div></div>
<div class="menu1"><div class="menu3">
* <a href="infa.php'.$_zapros.'mode=sm">Смайлы</a><br/>
</div></div>';
break;
}
$text=htmlspecialchars($_POST['text']);
$strlen=strlen($text);
If ($strlen<min_text || $strlen>lenght_text){
echo '<div class="menu1"><div class="menu3">
Сообщение слишком длинное/короткое
</div></div>';
break;
}
$bbcode['/(http://)?([[:alnum:]]|_){3,30}(s+)?(.|,)(s+)?([[:alnum:]]|){3,30}(s)?(.|,)?(s)?([[:alnum:]]){2,4}/i']=adress;if (count($bbcode))$text= preg_replace(array_keys($bbcode), array_values($bbcode), $text);
$result=mysql_query("INSERT into `".prefix."guest`
(`who`,`text`,`ts`,`ua`)
values
('".$_USER['login']."','".mysql_real_escape_string($text)."','".time()."','".short_agent."')
");
If (!$result){
echo 'Ошибка запроса к бд...';
break;
}
header('Location: support.php?'.SID);
break;
case false:
default:
mysql_query("update `".prefix."users` set `mesto`='В поддержке', `online`='".time()."' where `id` = '".$_USER['id']."';");
// Выбираем из БД количество пользователей - это нужно для
// построения постраничной навигации
$query = "SELECT COUNT(*) FROM `".prefix."guest`";
$res = mysql_query( $query );
$total = mysql_result( $res, 0, 0 );
echo '<div class="copy"><b>Поддержка</b></div>';
echo '<div class="menu1"><div class="menu3"><a href="support.php'.$_zapros.'mode=add_mess"><b>Добавить</b></a></div></div>';
if ( isset($_GET['page']) )
{
$page = (int)$_GET['page'];
if ( $page < 1 ) $page = 1;
}
else
{
$page = 1;
}
// Число страниц списка пользователей (постраничная навигация)
$cnt_pages = ceil( $total / MESS_ON_PAGE );
if ( $page > $cnt_pages ) $page = $cnt_pages;
if ( $cnt_pages == 0 ) $page = '1';
// Начальная позиция (постраничная навигация)
$start = ( $page - 1 ) * MESS_ON_PAGE;
$result=mysql_query("SELECT * FROM `".prefix."guest` ORDER by `ts` desc LIMIT ".$start.", ".MESS_ON_PAGE);
If (!$result){
echo 'Ошибка запроса к бд...yyyyyyy';
break;
}
##########
if (mysql_affected_rows()==0)
{
echo 'Сообщений в поддержке нет';
}
else
{
$num=mysql_num_rows($result);
If ($num<=MESS_ON_PAGE) $read=$num; else {
$read=MESS_ON_PAGE;
$next=true;
}
while($per=mysql_fetch_array($result))
{
## Зёбра =)
if(is_integer($n/2))
{echo '<div class="menu1"><div class="menu3">';}
else
{echo '<div class="menu1"><div class="menu3">';}
$n++;
##
$text=$per[text];
$who=$per[who];
$ts=$per[ts];
$ans=htmlspecialchars($per[answer]);
$who_ans=$per[who_ans];
$ggg=mysql_query("SELECT * FROM `".prefix."users` WHERE `login`='".$who."'");
$row=mysql_fetch_array($ggg);
$moder=$row['moder'];
$admin=$row['admin'];
if($admin=='1') $mname ="<font color='0033FF'> [Adm]</font>"; else $mname ="";
if($moder=='2') $mname ="<font color='ffff00'> [Mod]</font>";
if($moder=='1') $mname ="<font color='orange'> [St. Mod]</font>";
$time = time();
$online = ($row['online'] > ($time - 300));
switch($row['online'])
{
case $online: $online='[<font color="#00AA00">On</font>]'; break;
default: $online='[<font color="red">Off</font>]'; break;
}
$ts=date("d M y H:i:s",$ts);
$ts=str_replace("Jan","Янв",$ts);
$ts=str_replace("Feb","Фев",$ts);
$ts=str_replace("Mar","Марта",$ts);
$ts=str_replace("May","Мая",$ts);
$ts=str_replace("Apr","Апр",$ts);
$ts=str_replace("Jun","Июня",$ts);
$ts=str_replace("Jul","Июля",$ts);
$ts=str_replace("Aug","Авг",$ts);
$ts=str_replace("Sep","Сент",$ts);
$ts=str_replace("Oct","Окт",$ts);
$ts=str_replace("Nov","Ноября",$ts);
$ts=str_replace("Dec","Дек",$ts);
echo '<a href="info.php'.$_zapros.'user='.$who.'"><b>'.$who.'</b></a>'.$mname.' '.$online.' '.$ts.'<br/>'.bbcode(smiles($text)).'<br/>';
If (!is_NULL($ans) && $ans!=''){
echo '<font color="ff0000"><b>Ответил '.$who_ans.'</b></font>: '.smiles1($ans).'<br/>';
}
##
echo '</div></div>';
##
}
}
########
// Строим постраничную навигацию
if ( $cnt_pages > 1 )
{ If ( $page >= $cnt_pages ){
echo '<div class="navig"><a href="?page='.($page-1).'"><< Пред</a>'; }
elseif ( $page >= 2 ){
echo '<div class="navig"><a href="?page='.($page-1).'"><< Пред</a> <a href="?page='.($page+1).'">След >></a>'; }
else
{echo '<div class="navig"><a href="?page='.($page+1).'">След>></a>';}
// Проверяем нужна ли стрелка "В начало"
if ( $page > 3 )
$startpage = '<a href="?page=1">1</a> <a href="?page=2">2</a> ... ';
elseif ( $page > 2 )
$startpage = '<a href="?page=1">1</a> ';
else
$startpage = '';
// Проверяем нужна ли стрелка "В конец"
if ( $page < ($cnt_pages - 2) )
$endpage = ' ... <a href="?page='.($cnt_pages-1).'">'.($cnt_pages-1).'</a> <a href="?page='.$cnt_pages.'">'.$cnt_pages.'</a>';
elseif ( $page < ($cnt_pages - 1) )
$endpage = ' <a href="?page='.$cnt_pages.'">'.$cnt_pages.'</a>';
else
$endpage = '';
// Находим две ближайшие страницы с обоих краев, если они есть
if ( $page - 2 > 0 )
$page2left = '<a href="?page='.($page - 2).'">'.($page - 2).'</a> ';
else
$page2left = '';
if ( $page - 1 > 0 )
$page1left = '<a href="?page='.($page - 1).'">'.($page - 1).'</a> ';
else
$page1left = '';
if ( $page + 2 <= $cnt_pages )
$page2right = ' <a href="?page='.($page + 2).'">'.($page + 2).'</a>';
else
$page2right = '';
if ( $page + 1 <= $cnt_pages )
$page1right = ' <a href="?page='.($page + 1).'">'.($page + 1).'</a>';
else
$page1right = '';
// Выводим меню
echo '</div><div class="navig">';
echo $startpage.$page1left.'<span class="thispage">'.$page.'</span>'.$page1right.$endpage."</div>n";
if ( $cnt_pages > 1 )
{
$select_list = '
<form action="support.php?" method="get"><br/>Стр.<input type="text" name="page" size="2" value="'.$page.'"><input type="submit" value=">>"/></form>
';
}
else
{
$select_list = '';
}
echo $select_list;
}
break;
}
include 'inc/foot.php';
?>