Файл: pages/admin.php
Строк: 1012
<?php # Created by Up
include_once '../sistem/start.php';
include_once $config['OTS'].'sistem/config.php';
include_once $config['OTS'].'sistem/function.php';
include_once $config['OTS'].'sistem/db.php';
include_once $config['OTS'].'sistem/users.php';
if(isset($_SESSION['id']) and isset($_SESSION['pass']) and $_SESSION['id']==$config['id_adm'] and $_SESSION['adm_rezim']==1)
{
switch($_GET['act'])
{
case 'update':
$config['TITLE']='Лог обновлений';
include_once $config['OTS'].'sistem/head.php';
if(isset($_GET['unset']))
{
$fp=fopen('../sistem/data/update.log','w');
fputs($fp,'');
fclose($fp);
print '<span class="yes">Лог очищен</span><br />';
}
print file_get_contents('../sistem/data/update.log');
print '<a href="admin.php?act=update&unset">Очистить лог</a><br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'ploschadki':
$config['TITLE']='Нарушители';
include_once $config['OTS'].'sistem/head.php';
if(isset($_GET['id']))
{
$id=((int)abs($_GET['id']));
if(isset($_GET['ip_zero']))
{
mysql_unbuffered_query('UPDATE `ban_ip` SET `id`='0' WHERE `ip`=''.ip2long($_GET['ip_zero']).'' LIMIT 1;');
PRINT '<span class="yes">Нарушение снято</span><br />';
}
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `ban_ip` WHERE `id`=''.$id.'';'),0);
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
$sql=mysql_query('SELECT * FROM `ban_ip` WHERE `id`=''.$id.'' LIMIT '.$page['ot'].','.$_SESSION['kol_sites'].';');
while($arr=mysql_fetch_assoc($sql))
print 'ID: <a href="'.$config['home'].'/site/'.$arr['id'].'/index.php"><b>'.$arr['id'].'</b></a> <a class="link" href="http://'.($arr['ip']=long2ip($arr['ip'])).'">'.$arr['ip'].'</a> (<a href="http://'.($host=GetHostByADDR($arr['ip'])).'">'.$host.'</a>)<br />[<a href="admin.php?act=ploschadki&id='.$id.'&ip_zero='.$arr['ip'].'">Снять</a>/<a href="admin.php?act=blocked_ip&page='.$page['page'].'&unset='.$arr['ip'].'">Удалить</a>]<br />';
pages($page['page'],$page['str'],'admin.php?act=ploschadki&id='.$id.'&page=');
}
else
print 'Такой страници не существует!<br />';
print '<a href="admin.php?act=ploschadki&id_zero='.$id.'">Снять все нарушения</a><br />';
print '<a href="../site/'.$id.'/index.php">К меню сайта</a><br />';
print '<a href="admin.php?act=zalobi">Назад</a><br />';
}
else
{
if(isset($_GET['id_zero']))
{
mysql_unbuffered_query('UPDATE `ban_ip` SET `id`='0' WHERE `id`=''.((int)abs($_GET['id_zero'])).'';');
PRINT '<span class="yes">Нарушения сняты</span><br />';
}
$count=mysql_num_rows($sql=mysql_query('SELECT DISTINCT `id` FROM `ban_ip` WHERE `id`!='0';'));
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
while($arr=mysql_fetch_assoc($sql))
{
$name=mysql_result(mysql_query('SELECT `name` FROM `site` WHERE `id`=''.$arr['id'].'' LIMIT 1;'),0);
$kol=mysql_result(mysql_query('SELECT COUNT(*) FROM `ban_ip` WHERE `id`=''.$arr['id'].'';'),0);
print '<a href="admin.php?act=ploschadki&id='.$arr['id'].'">'.$name.'</a> ('.$kol.')<br />';
}
pages($page['page'],$page['str'],'admin.php?act=ploschadki&page=');
}
else
print 'Такой страници не существует!<br />';
}
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'backup':
if(is_file('../sistem/data/backup_'.date('d.m.y').'.gz'))
{
header('location: ../?act=err');
exit;
}
$tab=mysql_list_tables($config['db_name']);
$fp=fopen('../sistem/data/backup_'.date('d.m.y').'.gz','w');
for($i=0;$i<mysql_num_rows($tab);$i++)
{
$sql='';
$table=mysql_tablename($tab,$i);
$sql.='DROP TABLE IF EXISTS `'.$table.'`;'."rn";
$res=mysql_query('SHOW CREATE TABLE `'.$table.'`');
$row=mysql_fetch_row($res);
$sql.=$row[1].";rnrn";
$res=mysql_query('SELECT * FROM `'.$table.'`');
if(mysql_num_rows($res)>=1)
{
while(($row=mysql_fetch_assoc($res)))
{
$keys=implode("`, `",array_keys($row));
$values=array_values($row);
foreach($values as $k=>$v)
{
$values[$k]=mysql_real_escape_string($v);
$values[$k]=ereg_replace("(n|r){1,}",'n',$values[$k]);
}
$values2=implode("', '",$values);
$values2="'".$values2."'";
$values2=str_replace("''","null",$values2);
$sql.="INSERT INTO `$table` (`$keys`) VALUES ($values2);rn";
}
$sql.="rnrn";
}
fputs($fp,gzencode($sql,9));
fflush($fp);
}
fclose($fp);
chmod('../sistem/data/backup_'.date('d.m.y').'.gz',0644);
header('location: ../?act=yes');
exit;
break;
case 'reklama':
include_once $config['OTS'].'sistem/config.class.php';
$config['TITLE']='Управление рекламой';
include_once $config['OTS'].'sistem/head.php';
$class=NEW Config_File('../sistem/config.php');
if($_GET['rekl']=='foot' OR $_GET['rekl']=='head')
{
if(isset($_GET['unset']))
{
$id=((int)abs($_GET['id']));
$array=explode('|',$class->read_key('$config[''.$_GET['rekl'].'_reklam']'));
unset($array[$id]);
$class->UpDATA_Key('$config[''.$_GET['rekl'].'_reklam']',preg_replace('#(|)+$#','',trim(implode($array,'|'))));
$class->config_saved();
print '<span class="yes">Удалено</span><br />';
}
if(isset($_POST['go_New']))
{
if(is_array($_POST['name'])AND !empty($_POST['url']))
{
$arr=array(filtr($_POST['url']));
foreach($_POST['name'] as $q)
{
if(!empty($q))
$arr[]=filtr($q);
}
$class->UpDATA_Key('$config[''.$_GET['rekl'].'_reklam']',preg_replace('#(|)+$#','',trim(implode($arr,'`').'|'.$class->read_key('$config[''.$_GET['rekl'].'_reklam']'))));
$class->config_saved();
print '<span class="yes">Добавлено</span><br />';
}
else
print '<span class="err">Ошибка</span><br />';
}
if(isset($_POST['go_Re']))
{
if(is_array($_POST['name'])AND !empty($_POST['url']))
{
$arr=array(filtr($_POST['url']));
foreach($_POST['name'] as $q)
{
if(!empty($q))
$arr[]=filtr($q);
}
$re=((int)abs($_GET['resend']));
$re_arr=explode('|',$class->read_key('$config[''.$_GET['rekl'].'_reklam']'));
$re_arr[$re]=implode($arr,'`');
$class->UpDATA_Key('$config[''.$_GET['rekl'].'_reklam']',preg_replace('#(|)+$#','',trim(implode($re_arr,'|'))));
$class->config_saved();
print '<span class="yes">Изменено</span><br />';
unset($_GET['resend']);
}
else
print '<span class="err">Ошибка</span><br />';
}
$kol=isset($_POST['kol'])?((int)abs($_POST['kol'])):1;
$re_arr=array('http://');
if(isset($_GET['resend']))
{
$re=((int)abs($_GET['resend']));
$re_arr=explode('|',$class->read_key('$config[''.$_GET['rekl'].'_reklam']'));
$re_arr=explode('`',$re_arr[$re]);
$kol=isset($_POST['kol'])?((int)abs($_POST['kol'])):(count($re_arr)-1);
}
print '<form action="admin.php?act=reklama&rekl='.$_GET['rekl'].(isset($_GET['resend'])?'&resend='.$re:'').'" method="post">';
print 'Названий: <input size="2" name="kol" value="'.$kol.'" /> <input type="submit" class="submit" value="Go" /><br /><hr />';
print 'Ссылка:<br /><input name="url" value="'.$re_arr[0].'" /><br />';
for($i=1; $i<=$kol; ++$i)
print 'Название №'.$i.':<br /><input name="name['.$i.']" value="'.$re_arr[$i].'" /><br />';
print '<input type="submit" class="submit" name="'.(!isset($_GET['resend'])?'go_New" value="Добавить':'go_Re" value="Изменить').'" /><br /></form>';
$array=explode('|',$class->read_key('$config[''.$_GET['rekl'].'_reklam']'));
foreach($array as $id=>$arr)
{
$arr=trim($arr);
if(!empty($arr))
{
$arr=explode('`',$arr);
print '<a class="link" href="'.$arr[0].'">'.$arr[0].'</a><br />';
unset($arr[0]);
print '<div class="func">'.implode($arr,', ').'<br /></div>';
print '[<a href="admin.php?act=reklama&rekl='.$_GET['rekl'].'&resend='.$id.'">Изменить</a>/<a href="admin.php?act=reklama&rekl='.$_GET['rekl'].'&unset='.$id.'">Удалить</a>]<br />';
}
}
print '<a href="admin.php?act=reklama">Управление рекламой</a><br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
}
//////////////////////////////////
print '<form action="admin.php?act=reklama" method="post">';
$array=array('head','foot');
if(isset($_POST['go_ReKLam']))
{
foreach($array as $name)
{
$class->UpDATA_key('$config[''.$name.'_isset']',$_POST[$name.'_isset']);
$class->UpDATA_key('$config[''.$name.'_type']',$_POST[$name.'_type']);
$class->UpDATA_key('$config[''.$name.'_kol']',$_POST[$name.'_kol']);
}
$class->config_saved();
print '<span class="yes">Сохранено!</span><br />';
}
foreach($array as $name)
{
print '<b>'.$class->read_key('$config[''.$name.'_isset']','kom').'</b>:<br />Включена <input'.($class->read_key('$config[''.$name.'_isset']')==1?' checked="checked"':'').' type="radio" name="'.$name.'_isset" value="1" /> <small>или</small> <input'.($class->read_key('$config[''.$name.'_isset']')==2?' checked="checked"':'').' type="radio" name="'.$name.'_isset" value="2" /> Выключена<br />';
print $class->read_key('$config[''.$name.'_kol']','kom').':<br /><input type="text" name="'.$name.'_kol" value="'.$class->read_key('$config[''.$name.'_kol']').'" /><br />';
print $class->read_key('$config[''.$name.'_type']','kom').':<br />Пирамидой <input'.($class->read_key('$config[''.$name.'_type']')==1?' checked="checked"':'').' type="radio" name="'.$name.'_type" value="1" /> <small>или</small> <input'.($class->read_key('$config[''.$name.'_type']')==2?' checked="checked"':'').' type="radio" name="'.$name.'_type" value="2" /> Хаотично<br />';
print '<a href="admin.php?act=reklama&rekl='.$name.'">Управление рекламой</a><br />';
}
print '<input type="submit" class="submit" name="go_ReKLam" value="Настроить" /><br /></form>';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'set_code':
include_once $config['OTS'].'sistem/config.class.php';
$config['TITLE']='Настройка капчи';
include_once $config['OTS'].'sistem/head.php';
$class=NEW Config_File('../sistem/config.php');
$array=array('rand_kubik','rand_pomehi','rand_fon','rand_buk','rand_ten','rand_alph');
if(isset($_POST['go_CoDE']))
{
unset($_SESSION['rand']);
foreach($array as $name)
$class->UpDATA_Key('$config[''.$name.'']',filtr($_POST[$name]));
$class->config_saved();
print '<span class="yes">Сохранено!</span><br />';
}
print '<form action="admin.php?act=set_code" method="post">';
foreach($array as $name)
{
if($name=='rand_alph')
print $class->read_key('$config[''.$name.'']','kom').':<br /><input type="text" name="'.$name.'" value="'.$class->read_key('$config[''.$name.'']','value').'" /><br />';
else
print '<input'.($class->read_key('$config[''.$name.'']','value')==1?' checked="checked"':'').' type="checkbox" name="'.$name.'" value="1" /> '.$class->read_key('$config[''.$name.'']','kom').'<br />';
}
print '<input type="submit" class="submit" name="go_CoDE" value="Настроить" /><br /></form>';
print '<img src="../in/code_'.session_id().'.gif" alt="Loading..." /><br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'setting':
include_once $config['OTS'].'sistem/config.class.php';
$config['TITLE']='Настройка системы';
include_once $config['OTS'].'sistem/head.php';
$class=NEW Config_File('../sistem/config.php');
$array=array('id_adm','admin','mail','home','name','top_id','root','keywords','description');
if(isset($_POST['go_SeTiNg']))
{
$htaccess=file_get_contents('../.htaccess');
$htaccess=explode('ErrorDocument',preg_replace('/ErrorDocument/i','ErrorDocument',$htaccess));
$htaccess=trim($htaccess[0])."rn";
$htaccess.="rn".'ErrorDocument 400 '.filtr($_POST['home']).'/?act=error&error=400';
$htaccess.="rn".'ErrorDocument 401 '.filtr($_POST['home']).'/?act=error&error=401';
$htaccess.="rn".'ErrorDocument 402 '.filtr($_POST['home']).'/?act=error&error=402';
$htaccess.="rn".'ErrorDocument 403 '.filtr($_POST['home']).'/?act=error&error=403';
$htaccess.="rn".'ErrorDocument 404 '.filtr($_POST['home']).'/?act=error&error=404';
$htaccess.="rn".'ErrorDocument 500 '.filtr($_POST['home']).'/?act=error&error=500';
$htaccess.="rn".'ErrorDocument 502 '.filtr($_POST['home']).'/?act=error&error=502';
$fp=fopen('../.htaccess','w');
fputs($fp,$htaccess);
fclose($fp);
$robots=file_get_contents('../robots.txt');
$robots=explode('Host',preg_replace('/Host/i','Host',$robots));
$robots=trim($robots[0])."rn";
$robots.="rn".'Host: '.preg_replace('/([a-z0-9]+)?:///is','',filtr($_POST['home']));
$fp=fopen('../robots.txt','w');
fputs($fp,$robots);
fclose($fp);
foreach($array as $name)
$class->UpDATA_Key('$config[''.$name.'']',filtr($_POST[$name]));
$class->config_saved();
print '<span class="yes">Сохранено!</span><br />';
}
print '<form action="admin.php?act=setting" method="post">';
foreach($array as $name)
print $class->read_key('$config[''.$name.'']','kom').':<br /><input type="text" name="'.$name.'" value="'.(($name=='root' AND trim($class->read_key('$config[''.$name.'']','value'))==NULL)?$_SERVER['DOCUMENT_ROOT']:$class->read_key('$config[''.$name.'']','value')).'" /><br />';
print '<input type="submit" class="submit" name="go_SeTiNg" value="Настроить" /><br /></form>';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'news_unset':
$id=((int)abs($_GET['id']));
mysql_unbuffered_query('DELETE from `news` WHERE `id`=''.mysql_real_escape_string($id).'' LIMIT 1;');
header('location: ../?act=yes');
exit;
break;
case 'news':
$config['TITLE']='Добавление новости';
include_once $config['OTS'].'sistem/head.php';
if(isset($_POST['go_2']) AND $_SESSION['PROFIX']==2)
{
if(!empty($_POST['news']))
{
unset($_SESSION['PROFIX']);
$news=mysql_real_escape_string(filtr($_POST['news']));
mysql_unbuffered_query('insert into `news` set `news`=''.$news.'',`time`=''.time().'';');
print '<span class="yes">Новость успешно добавлена!</span><br />';
if($_POST['users']=='yes')
{
print '<span class="yes">Новость разослана по пользователям!</span><br />';
$dat=date('d.m.y');
if(mysql_num_rows($sql=mysql_query('SELECT `mail` FROM `users`;'))>=1)
{
while($arr=mysql_fetch_assoc($sql))
mailer($arr['mail'],$config['name'].' - Новости','Новости ('.$dat.') с сайта '.$config['home']."rnrn".$news."rnrn".'С уважением, администрация '.$config['name']);
}
}
}
else
$error='Новость пуста';
}
if(isset($_POST['go_1']) AND $_SESSION['PROFIX']==1)
{
$_SESSION['PROFIX']=2;
print '<form action="admin.php?act=news" method="POST">';
print 'Проверте, не допустили ли вы ошибки прии написании новости: <br /><b>'.filtr($_POST['news']).'</b><input type="hidden" name="news" value="'.filtr($_POST['news']).'" /><br />';
print 'Новость '.($_POST['users']=='yes'?'<b>будет</b>':'не будет').' разослана по пользователям<input type="hidden" name="users" value="'.filtr($_POST['users']).'" /><br />';
print '<input type="submit" class="submit" name="go_2" value="Поехали" /><br /></form>';
}
else
{
$_SESSION['PROFIX']=1;
print empty($error)?'':'<span class="err">'.$error.'</span><br />';
print '<form action="admin.php?act=news" method="POST">';
print 'Новость:<br /><textarea rows="4" cols="15" name="news"></textarea><br />';
print '<input type="checkbox" name="users" value="yes" /> Разослать пользователям<br />';
print '<input type="submit" class="submit" name="go_1" value="Добавить" /><br /></form>';
}
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'us_search':
$config['TITLE']='Поиск пользователей';
include_once $config['OTS'].'sistem/head.php';
if(isset($_POST['go']))
{
if(ereg('^[0-9]$',$_POST['user']))
$sql='`id`=''.((int)abs($_POST['user'])).''';
else
$sql='`mail` LIKE '%'.mysql_real_escape_string(filtr($_POST['user'])).'%'';
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `users` where '.$sql.';'))>=1)
{
while($arr=mysql_fetch_assoc($sql))
{
print 'ID: <a href="../user/'.$arr['id'].'/index.php">'.$arr['id'].'</a><br />';
print 'E-Mail: <b>'.$arr['mail'].'</b><br /><hr />';
}
}
else
print '<span class="err">Не чего не найдено</span><br />';
}
print '<form action="admin.php?act=us_search" method="POST">';
print 'E-Mail (ID):<br /><input name="user" value="" /><br />';
print '<input type="submit" class="submit" name="go" value="Искать" /></form>';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'kredit_site':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `site` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr=mysql_fetch_assoc($sql);
if(isset($_POST['go']))
{
$kredit=((int)abs($_POST['kredit']));
if(!empty($kredit))
{
mysql_unbuffered_query('UPDATE `site` SET `kredit`=''.$kredit.'' WHERE `id`=''.$id.'' LIMIT 1;');
header('location: ../?act=yes');
exit;
}
else
$error='Все поля обязательны к заполнению!';
}
$config['TITLE']='Редактирование кредитов';
include_once $config['OTS'].'sistem/head.php';
print empty($error)?'':'<span class="err">'.$error.'</span><br />';
print '<form action="admin.php?act=kredit_site&id='.$id.'" method="POST">';
print 'Кредиты:<br /><input name="kredit" value="'.$arr['kredit'].'" /><br />';
print '<input type="submit" class="submit" name="go" value="Изменить" /></form>';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'zalobi':
$config['TITLE']='Жалобы пользователей';
include_once $config['OTS'].'sistem/head.php';
if(isset($_GET['id']))
{
$id=((int)abs($_GET['id']));
if(isset($_GET['ignor']))
{
$ignor=((int)abs($_GET['ignor']));
mysql_unbuffered_query('UPDATE `zalobi` SET `ignor`='2' WHERE `id`=''.$ignor.'' LIMIT 1;');
print '<span class="yes">Жалоба в игноре</span><br />';
}
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `zalobi` WHERE `for`=''.$id.'';'),0);
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
$sql=mysql_query('SELECT * FROM `zalobi` WHERE `for`=''.$id.'' LIMIT '.$page['ot'].','.$_SESSION['kol_sites'].';');
while($arr=mysql_fetch_assoc($sql))
print ($arr['ignor']==1?'<b style="color: red">+</b> ':'').' '.date('d.m.y/H:i',$arr['time']).'<br /><div class="func">'.$arr['kom'].'<br /></div>'.($arr['ignor']==1?'[<a href="admin.php?act=zalobi&id='.$id.'&page='.$page['page'].'&ignor='.$arr['id'].'">Игнор</a>]<br />':'');
pages($page['page'],$page['str'],'admin.php?act=zalobi&id='.$id.'&page=');
}
else
print 'Такой страници не существует!<br />';
print '<a href="../site/'.$id.'/index.php">К меню сайта</a><br />';
print '<a href="admin.php?act=zalobi">Назад</a><br />';
}
else
{
$count=mysql_num_rows($sql=mysql_query('SELECT DISTINCT `for` FROM `zalobi`;'));
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
while($arr=mysql_fetch_assoc($sql))
{
$name=mysql_result(mysql_query('SELECT `name` FROM `site` WHERE `id`=''.$arr['for'].'' LIMIT 1;'),0);
$new=mysql_result(mysql_query('SELECT COUNT(*) FROM `zalobi` WHERE `for`=''.$arr['for'].'' AND `ignor`='1';'),0);
print '<a href="admin.php?act=zalobi&id='.$arr['for'].'">'.$name.'</a> ('.mysql_result(mysql_query('SELECT COUNT(*) FROM `zalobi` WHERE `for`=''.$arr['for'].'';'),0).') '.($new>=1?'+'.$new:'').'<br />';
}
pages($page['page'],$page['str'],'admin.php?act=zalobi&page=');
}
else
print 'Такой страници не существует!<br />';
}
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'blocked_ip':
$config['TITLE']='Заблокированные IP адреса';
include_once $config['OTS'].'sistem/head.php';
if(isset($_GET['unset']))
{
mysql_unbuffered_query('DELETE from `ban_ip` WHERE `ip`=''.mysql_real_escape_string(ip2long(filtr($_GET['unset']))).'' LIMIT 1;');
print '<span class="yes">Успешно удалено!</span><br />';
}
if(isset($_POST['go']))
{
$ip=ip2long($_POST['ip']);
if($ip!=0)
{
mysql_unbuffered_query('insert into `ban_ip` set `ip`=''.$ip.'';');
print '<span class="yes">Успешно забанен!</span><br />';
}
else
print '<span class="err">Не верный ип адрес!</span><br />';
}
print '<form method="post" action="admin.php?act=blocked_ip">';
print 'IP: <input name="ip" size="8" value="'.$_SERVER['REMOTE_ADDR'].'" /> ';
print '<input type="submit" name="go" class="submit" value="Бан" /></form><hr />';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `ban_ip`;'),0);
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
$sql=mysql_query('SELECT * FROM `ban_ip` LIMIT '.$page['ot'].','.$_SESSION['kol_sites'].';');
while($arr=mysql_fetch_assoc($sql))
print 'ID: <a href="'.$config['home'].'/site/'.$arr['id'].'/index.php"><b>'.$arr['id'].'</b></a> <a class="link" href="http://'.($arr['ip']=long2ip($arr['ip'])).'">'.$arr['ip'].'</a> (<a href="http://'.($host=GetHostByADDR($arr['ip'])).'">'.$host.'</a>)<br />[<a href="admin.php?act=blocked_ip&page='.$page['page'].'&unset='.$arr['ip'].'">Удалить</a>]<br />';
pages($page['page'],$page['str'],'admin.php?act=blocked_ip&page=');
}
else
print 'Такой страници не существует!<br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'blocked_site':
$config['TITLE']='Заблокированные сайты';
include_once $config['OTS'].'sistem/head.php';
if(isset($_GET['unset']))
{
mysql_unbuffered_query('DELETE from `ban_site` WHERE `site`=''.mysql_real_escape_string(filtr($_GET['unset'])).'' LIMIT 1;');
print '<span class="yes">Успешно удалено!</span><br />';
}
if(isset($_POST['go']))
{
$url=mysql_real_escape_string(strtolower(preg_replace('/(http(s)?|ftp|tcp):///is','',filtr($_POST['site']))));
if(ereg("^([a-z0-9_-.]+.[a-z0-9]{2,5})$",$url))
{
mysql_unbuffered_query('insert into `ban_site` set `site`=''.$url.'';');
print '<span class="yes">Успешно забанен!</span><br />';
}
else
print '<span class="err">Не верный адрес!</span><br />';
}
print '<form method="post" action="admin.php?act=blocked_site">';
print 'Сайт: <input name="site" size="8" value="" /> ';
print '<input type="submit" name="go" class="submit" value="Бан" /></form><hr />';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `ban_site`;'),0);
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
$sql=mysql_query('SELECT * FROM `ban_site` LIMIT '.$page['ot'].','.$_SESSION['kol_sites'].';');
while($arr=mysql_fetch_assoc($sql))
print '<a class="link" href="http://'.$arr['site'].'">'.$arr['site'].'</a> (<a href="admin.php?act=blocked_site&page='.$page['page'].'&unset='.$arr['site'].'">Удалить</a>)<br />';
pages($page['page'],$page['str'],'admin.php?act=blocked_site&page=');
}
else
print 'Такой страници не существует!<br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 're_site':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `site` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr=mysql_fetch_assoc($sql);
if(isset($_POST['go']))
{
$url=mysql_real_escape_string(strtolower(preg_replace('/(http(s)?|ftp|tcp):///is','',filtr($_POST['url']))));
$name=mysql_real_escape_string(filtr($_POST['name']));
$opis=mysql_real_escape_string(filtr($_POST['opis']));
$top=((int)abs($_POST['top']));
if(!empty($url) and !empty($name) and !empty($opis) and !empty($top))
{
if(ereg("^([a-z0-9_-.]+.[a-z0-9]{2,5})$",$url))
{
if(mysql_num_rows(mysql_query('SELECT * FROM `ban_site` WHERE `site`=''.$url.'' LIMIT 1;'))<1)
{
if(mysql_num_rows(mysql_query('SELECT * FROM `top` WHERE `id`=''.$top.'' LIMIT 1;'))>=1)
{
mysql_unbuffered_query('UPDATE `site` SET
`name`=''.$name.'',
`opisanie`=''.$opis.'',
`top`=''.$top.'',
`url`=''.$url.'' WHERE `id`=''.$id.'' LIMIT 1;');
$arr2=mysql_fetch_assoc(mysql_query('SELECT * FROM `users` where `id`=''.$arr['admin'].'' LIMIT 1;'));
mailer($arr2['mail'],$config['name'].' - Уведомление','Ваш сайт http://'.$arr['url']."rn".'Изменен администратором '.$config['home'].' возможно сайт находился не в той категории или его описание не соответствовало содержанию ресурса!'."rnrn".'С уважением, администрация '.$config['name']);
header('location: ../?act=yes');
exit;
}
else
$error='Выбранный вами раздел, не существует!';
}
else
$error='Сайт http://'.$url.' забокирован для повторного добавления, за нарушение правил топа!';
}
else
$error='В адресе сайта обнаружены недопустимые символы, или адрес введен не верно!';
}
else
$error='Все поля обязательны к заполнению!';
}
$config['TITLE']='Редактирование сайта';
include_once $config['OTS'].'sistem/head.php';
print empty($error)?'':'<span class="err">'.$error.'</span><br />';
print '<form action="admin.php?act=re_site&id='.$id.'" method="POST">';
print 'Адрес:<br /><input name="url" value="http://'.$arr['url'].'" /><br />';
print 'Название:<br /><input name="name" value="'.$arr['name'].'" /><br />';
print 'Описание:<br /><textarea rows="4" cols="15" name="opis">'.$arr['opisanie'].'</textarea><br />';
print 'Раздел:<br /><select name="top">';
$sql=mysql_query('SELECT * FROM `top` ORDER BY `mesto` ASC;');
while($array=mysql_fetch_assoc($sql))
print '<option'.($arr['top']==$array['id']?' selected="selected"':'').' value="'.$array['id'].'">'.$array['name'].'</option>';
print '</select><br />';
print '<input type="submit" class="submit" name="go" value="Изменить" /></form>';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'ban_site':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `site` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr=mysql_fetch_assoc($sql);
$arr2=mysql_fetch_assoc(mysql_query('SELECT * FROM `users` where `id`=''.$arr['admin'].'' LIMIT 1;'));
mysql_unbuffered_query('DELETE from `site` WHERE `id`=''.$id.'' LIMIT 1;');
mysql_unbuffered_query('DELETE from `golos` where `for`=''.$id.'';');
mysql_unbuffered_query('DELETE from `zalobi` where `for`=''.$id.'';');
mysql_unbuffered_query('DELETE from `history` where `for`=''.$id.'';');
mysql_unbuffered_query('DELETE from `statistic` where `for`=''.$id.'';');
mysql_unbuffered_query('insert into `ban_site` set `site`=''.$arr['url'].'';');
mysql_unbuffered_query('UPDATE `ban_ip` SET `id`='0' WHERE `id`=''.$id.'';');
mailer($arr2['mail'],$config['name'].' - Уведомление','Ваш сайт http://'.$arr['url']."rn".'Удален администратором и заблокирован для повторного добавления '.$config['home'].' за нарушение правил топа или по иным причинам!'."rnrn".'С уважением, администрация '.$config['name']);
header('location: ../?act=yes');
exit;
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'del_site':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `site` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr=mysql_fetch_assoc($sql);
$arr2=mysql_fetch_assoc(mysql_query('SELECT * FROM `users` where `id`=''.$arr['admin'].'' LIMIT 1;'));
mysql_unbuffered_query('DELETE from `site` WHERE `id`=''.$id.'' LIMIT 1;');
mysql_unbuffered_query('DELETE from `golos` where `for`=''.$id.'';');
mysql_unbuffered_query('DELETE from `zalobi` where `for`=''.$id.'';');
mysql_unbuffered_query('DELETE from `history` where `for`=''.$id.'';');
mysql_unbuffered_query('DELETE from `statistic` where `for`=''.$id.'';');
mailer($arr2['mail'],$config['name'].' - Уведомление','Ваш сайт http://'.$arr['url']."rn".'Удален администратором '.$config['home'].' за нарушение правил топа или по иным причинам!'."rnrn".'С уважением, администрация '.$config['name']);
header('location: ../?act=yes');
exit;
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'ok_site':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `site` where `id`=''.$id.'' and `status`='1' LIMIT 1;'))>=1)
{
$arr=mysql_fetch_assoc($sql);
$arr2=mysql_fetch_assoc(mysql_query('SELECT * FROM `users` where `id`=''.$arr['admin'].'' LIMIT 1;'));
mysql_unbuffered_query('UPDATE `site` SET `status`='2' WHERE `id`=''.$id.'' LIMIT 1;');
mailer($arr2['mail'],$config['name'].' - Уведомление','Ваш сайт http://'.$arr['url']."rn".'Одобрен администратором '.$config['home'].' и допущен к участию в топе!'."rnrn".'С уважением, администрация '.$config['name']);
header('location: ../?act=yes');
exit;
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'proverka':
$config['TITLE']='Сайты на проверке';
include_once $config['OTS'].'sistem/head.php';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `site` where `status`='1';'),0);
if($page=page($count,isset($_GET['page'])?$_GET['page']:1))
{
$sql=mysql_query('SELECT * FROM `top`;');
while($arr=mysql_fetch_assoc($sql))
$top[$arr['id']]=$arr['name'];
$sql=mysql_query('SELECT * FROM `site` where `status`='1' LIMIT '.$page['ot'].','.$_SESSION['kol_sites'].';');
while($arr=mysql_fetch_assoc($sql))
{
print '<a class="link" href="http://'.$arr['url'].'">'.$arr['name'].'</a> (<small>'.$arr['url'].'</small>)<br /><div class="func">';
print 'Добавил ID: <b><a href="'.$config['home'].'/user/'.$arr['admin'].'/index.php">'.$arr['admin'].'</a></b><br />';
print 'Описание: <b>'.$arr['opisanie'].'</b><br />';
print 'Категория: <b>'.(isset($top[$arr['top']])?$top[$arr['top']]:'не существующая категория').'</b><br />';
print '</div>[<a href="admin.php?act=ok_site&id='.$arr['id'].'">Разрешить</a>/<a href="admin.php?act=re_site&id='.$arr['id'].'">Изменить</a> | <a href="admin.php?act=del_site&id='.$arr['id'].'">Удалить</a>/<a href="admin.php?act=ban_site&id='.$arr['id'].'">Заблокировать</a>]<br />';
}
pages($page['page'],$page['str'],'admin.php?act=proverka&page=');
}
else
print 'Такой страници не существует!<br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'new':
$error='';
if(isset($_POST['go']))
{
$len1=mb_strlen($name=mysql_real_escape_string(filtr($_POST['name'])));
$len2=mb_strlen($opis=mysql_real_escape_string(filtr($_POST['opis'])));
if($len1>=1 and $len2>=1 and $len1<=40 and $len2<=200)
{
$arr=@mysql_fetch_assoc(mysql_query('SELECT * FROM `top` ORDER BY `mesto` DESC LIMIT 1;'));
$arr['mesto']=isset($arr['mesto'])?(++$arr['mesto']):0;
mysql_unbuffered_query('insert into `top` set
`mesto`=''.$arr['mesto'].'',
`name`=''.$name.'',
`opisanie`=''.$opis.'';');
header('location: ../?act=yes');
exit;
}
else
$error='Не верно заполненно одно из полей';
}
$config['TITLE']='Создание категории';
include_once $config['OTS'].'sistem/head.php';
print empty($error)?'':'<span class="err">'.$error.'</span><br />';
print '<form action="admin.php?act=new" method="POST">';
print 'Название:<br /><input name="name" value="" /><br />';
print 'Описание:<br /><textarea rows="4" cols="15" name="opis"></textarea><br />';
print '<input class="submit" type="submit" name="go" value="Добавить" /></form><br />';
print '<a href="admin.php">В админку</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
case 'top_resend':
$error='';
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `top` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr=mysql_fetch_assoc($sql);
if(isset($_POST['go']))
{
$len1=mb_strlen($name=mysql_real_escape_string(filtr($_POST['name'])));
$len2=mb_strlen($opis=mysql_real_escape_string(filtr($_POST['opis'])));
if($len1>=1 and $len2>=1 and $len1<=40 and $len2<=200)
{
mysql_unbuffered_query('UPDATE `top` SET `name`=''.$name.'', `opisanie`=''.$opis.'' WHERE `id`=''.$id.'' LIMIT 1;');
header('location: ../?act=yes');
exit;
}
else
$error='Не верно заполненно одно из полей';
}
$config['TITLE']='Создание категории';
include_once $config['OTS'].'sistem/head.php';
print empty($error)?'':'<span class="err">'.$error.'</span><br />';
print '<form action="admin.php?act=top_resend&id='.$id.'" method="POST">';
print 'Название:<br /><input name="name" value="'.$arr['name'].'" /><br />';
print 'Описание:<br /><textarea rows="4" cols="15" name="opis">'.$arr['opisanie'].'</textarea><br />';
print '<input class="submit" type="submit" name="go" value="Изменить" /></form><br />';
include_once $config['OTS'].'sistem/foot.php';
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'top_del':
$id=((int)abs($_GET['id']));
if(mysql_num_rows(mysql_query('SELECT * FROM `top` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
if(!isset($_GET[session_id()]))
die('Вы уверены что хотите удалить раздел?<br /><a href="admin.php?act=top_del&id='.$id.'&'.session_id().'">Да</a>/<a href="../">Нет</a>');
$sql=mysql_query('SELECT * FROM `site` where `top`=''.$id.'';');
while($arr=mysql_fetch_assoc($sql))
{
mysql_unbuffered_query('DELETE from `golos` where `for`=''.$arr['id'].'';');
mysql_unbuffered_query('DELETE from `zalobi` where `for`=''.$arr['id'].'';');
mysql_unbuffered_query('DELETE from `history` where `for`=''.$arr['id'].'';');
mysql_unbuffered_query('DELETE from `statistic` where `for`=''.$arr['id'].'';');
}
mysql_unbuffered_query('DELETE from `site` where `top`=''.$id.'';');
mysql_unbuffered_query('DELETE from `top` where `id`=''.$id.'' LIMIT 1;');
header('location: ../?act=yes');
exit;
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'top_up':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `top` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr1=mysql_fetch_assoc($sql);
$arr2=mysql_fetch_assoc(mysql_query('SELECT * FROM `top` where `mesto`<''.$arr1['mesto'].'' and `mesto`!=''.$arr1['mesto'].'' ORDER BY `mesto` DESC LIMIT 1;'));
if(isset($arr2['mesto']))
{
mysql_unbuffered_query('UPDATE `top` SET `mesto`=''.$arr1['mesto'].'' WHERE `id`=''.$arr2['id'].'' LIMIT 1;');
mysql_unbuffered_query('UPDATE `top` SET `mesto`=''.$arr2['mesto'].'' WHERE `id`=''.$arr1['id'].'' LIMIT 1;');
}
header('location: ../?act=yes');
exit;
}
else
{
header('location: ../?act=err');
exit;
}
break;
case 'top_down':
$id=((int)abs($_GET['id']));
if(mysql_num_rows($sql=mysql_query('SELECT * FROM `top` where `id`=''.$id.'' LIMIT 1;'))>=1)
{
$arr1=mysql_fetch_assoc($sql);
$arr2=mysql_fetch_assoc(mysql_query('SELECT * FROM `top` where `mesto`>''.$arr1['mesto'].'' and `mesto`!=''.$arr1['mesto'].'' ORDER BY `mesto` ASC LIMIT 1;'));
if(isset($arr2['mesto']))
{
mysql_unbuffered_query('UPDATE `top` SET `mesto`=''.$arr1['mesto'].'' WHERE `id`=''.$arr2['id'].'' LIMIT 1;');
mysql_unbuffered_query('UPDATE `top` SET `mesto`=''.$arr2['mesto'].'' WHERE `id`=''.$arr1['id'].'' LIMIT 1;');
}
header('location: ../?act=yes');
exit;
}
else
{
header('location: ../?act=err');
exit;
}
break;
default:
$config['TITLE']='Админ панель';
include_once $config['OTS'].'sistem/head.php';
print '<a href="admin.php?act=news">Добавить новость</a><br />';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `site` where `status`='1';'),0);
print '<a href="admin.php?act=proverka">Проверка сайтов</a> ('.($count>=1?$count:0).')<br />';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `ban_site`;'),0);
print '<a href="admin.php?act=blocked_site">Заблокированные сайты</a> ('.($count>=1?$count:0).')<br />';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `ban_ip`;'),0);
print '<a href="admin.php?act=blocked_ip">Заблокированные IP адреса</a> ('.($count>=1?$count:0).')<br />';
print '<a href="admin.php?act=ploschadki">Площадки нарушители</a><br />';
$count=mysql_result(mysql_query('SELECT COUNT(*) FROM `zalobi`;'),0);
$new=mysql_result(mysql_query('SELECT COUNT(*) FROM `zalobi` WHERE `ignor`='1';'),0);
print '<a href="admin.php?act=zalobi">Жалобы пользлователей</a> ('.($count>=1?$count:0).') '.($new>=1?'+'.$new:'').'<br />';
print '<a href="admin.php?act=us_search">Поиск пользователя</a><br />';
print '<a href="admin.php?act=setting">Настройка топа</a><br />';
print '<a href="admin.php?act=set_code">Настройка капчи</a><br />';
print '<a href="admin.php?act=reklama">Настройка рекламы</a><br />';
print '<a href="admin.php?act=backup">Создать бекап</a><br />';
print '<a href="admin.php?act=update">Лог обновлений</a><br />';
include_once $config['OTS'].'sistem/foot.php';
break;
}
}
else
header('location: ../?act=error&error=404');
exit;
?>