Файл: __system/pages/ads.php
Строк: 159
<?
DEFINE('TITLE' , 'Панель управления рейтингом'); # фиксируем титул
head();
auth();
if(user('access') == 5)
{
if(!isset($_GET['a']))
{
$_GET['a'] = 1;
}
switch($_GET['a'])
{
default:
$site = $db->query("SELECT `id` FROM `site` WHERE `status` = '2' ");
$support = $db->query("SELECT `id` FROM `user_support` WHERE `answer` = '0' ");
echo '<div class="main">';
if($site->rowCount() > 0)
{
echo ''.url('/ads/moderation/','Модерация сайтов +'.$site->rowCount().'','','').'</div>';
}
else
{
echo ''.url('/ads/moderation/','Модерация сайтов','','').'</div>';
}
$siteReclame = $db->query("SELECT `id` FROM `reclame` WHERE `status` = '0' ");
echo '<div class="main">';
if($siteReclame->rowCount() > 0)
{
echo ''.url('/ads/moderationReclame/','Модерация рекламных сайтов +'.$siteReclame->rowCount().'','','').'</div>';
}
else
{
echo ''.url('/ads/moderationReclame/','Модерация рекламных сайтов','','').'</div>';
}
echo '<div class="main">'.url('/ads/addNews/','Добавить новость','','').'</div>';
echo '<div class="main">'.url('/ads/searchSite/','Поиск сайта','','').'</div>';
if($support->rowCount() > 0)
{
echo '<div class="main">'.url('/ads/support/','Тикеты +'.$support->rowCount().'','','').'';
}
else
{
echo '<div class="main">'.url('/ads/support/','Тикеты','','').'';
}
echo '</div>';
echo '<div class="main">'.url('/ads/inactiveSite/','Неактивные сайты сегодня','','').'</div>';
break;
case 'addNews':
echo '<div class="main">Добавление новости</div>';
if(isset($_POST['confirmed']))
{
$error = '';
if((mb_strlen($_POST['title'], 'utf-8')<3) or (mb_strlen($_POST['title'], 'utf-8')>25))
# проверяем на количество символов
{
$error .= '<i>Название</i> должено быть не менее 3 символов и не более 20<br>';
}
if((mb_strlen($_POST['news'], 'utf-8')<3) or (mb_strlen($_POST['news'], 'utf-8')>10000))
# проверяем на количество символов
{
$error .= '<i>Описание</i> должено быть не менее 3 символов и не более 10000<br>';
}
if(empty($error))
{
$news = $db->prepare("INSERT INTO `news` (`id`,`title`,`news`,`userID`,`date`) VALUES (?,?,?,?,?)");
$news -> execute(array('',''.$_POST['title'].'',''.$_POST['news'].'',''.user('id').'',''.date("Y.m.d - H:i",time()).''));
echo '<div class = "main">Новость добавлена</div>';
}
else
{
echo '<div class = "main">'.$error.'</div>';
}
}
echo '<div class="main">';
echo '<form action="/ads/addNews/" method="post">
<b>Название:</b><br/>
<input type="text" name="title" maxlength="25" size="50"/>
<br/>
<b>Описание:</b><br/>
<textarea name="news" style="width:99%;resize:vertical;" placeholder="Введите сообщение..." rows="2"></textarea><br />
<input name="confirmed" type="submit" value="Добавить"/> </form>
';
echo '</div>';
break;
case 'moderation':
echo '<div class="main">Модерация сайтов</div>';
if(isset($_GET['approve']) and !empty($_GET['id']))
{
$site = $db->exec("UPDATE `site` SET `status` = '1' WHERE `id` = '".filtration::int($_GET['id'])."' LIMIT 1 ");
$site = $db -> query
("
SELECT * FROM `site_statistic` WHERE `date` = '".date("Y-m-d",time())."' and `siteID` = '".filtration::int($_GET['id'])."'
");
if($site -> rowCount() == 0)
{
$stmt = $db->prepare("INSERT INTO `site_statistic` (`siteID`,`host`,`hits`,`in`,`out`,`date`) VALUES (?,?,?,?,?,?)");
$stmt -> execute(array(''.$_GET['id'].'','0','0','0','0',''.date("Y-m-d",time()).''));
}
}
if(isset($_GET['reject']) and !empty($_GET['id']))
{
$site = $db->exec("UPDATE `site` SET `status` = '3' WHERE `id` = '".filtration::int($_GET['id'])."' LIMIT 1 ");
}
$site = $db -> query
("
SELECT * FROM `site` WHERE `status` = '2'
");
if($site -> rowCount() > 0)
{
while($s = $site -> fetch(PDO::FETCH_ASSOC))
{
$site_category = $db -> query
("
SELECT * FROM `site_category` WHERE `id` = '".filtration::int($s['category'])."' LIMIT 1
");
$s_category = $site_category -> fetch(PDO::FETCH_ASSOC);
echo '<div class="main">';
echo 'Название: '.$s['name'].'
<br />
Адресс: '.url(''.$s['url'].'',$s['url'],'http','_blanc').'<br />
Описание: '.$s['about'].'<br />
Категория: '.url('/sitelist/'.$s_category['id'].'/',$s_category['name'],'','').'<br />';
echo ''.url('/ads/moderation/approve/'.$s['id'].'/','одобрить','','').' или '.url('/ads/moderation/reject/'.$s['id'].'/','отклонить','','').'';
echo '</div>';
}
}
else
{
echo '<div class="main">Сайтов нет</div>';
echo '<div class="main">'.url('/ads/','назад','','').'</div>';
}
break;
case 'searchSite':
echo '<div class="main"><form action="/ads/searchSite/" method="post">
<b>Адрес сайта:</b><br/>
<input type="text" name="link" size="50" maxlength="100"/>
<br /><input name="confirmed" type="submit" value="Поиск"/></form>';
echo '</div>';
if(isset($_POST['confirmed']) and !empty($_POST['link']))
{
$search = $db->prepare("SELECT `url`,`id` FROM `site` WHERE `url` LIKE ?");
$search->bindValue(1, "%$_POST[link]%", PDO::PARAM_STR);
$search->execute();
if($search->rowCount() > 0)
{
while($s = $search->fetch(PDO::FETCH_ASSOC))
{
echo '<div class="main"> '.url('/siteStatistics/'.$s['id'].'/',''.$s['url'].'','','').' </div>';
}
}
else
{
echo '<div class="main">Ничего не найдено</div>';
}
}
break;
case 'support':
$supportOpen = $db->query("SELECT * FROM `user_support` WHERE `answer` = '0' ");
if($supportOpen->rowCount() > 0)
{
while($sO = $supportOpen->fetch(PDO::FETCH_ASSOC))
{
echo '<div class = "main">'.url('/ads/viewSupport/'.$sO['id'].'/',''.$sO['name'].'','','').' ['.date("Y-m-d",$sO['date']).']</div>';
}
}
else
{
echo '<div class = "main">Активных тикетов нет</div>';
}
break;
case 'viewSupport':
$supportID = $db->query
("
SELECT * FROM `user_support` WHERE `id` = '".filtration::int($_GET['id'])."' LIMIT 1
");
if($supportID->rowCount() == 0)
{
echo '<div class = "main">Ошибка. Такой темы не сушествует!</div>';
}
else
{
$s = $supportID->fetch(PDO::FETCH_ASSOC);
$num = 10;
if(!isset($_GET['pages']))
{
$_GET['pages'] = '';
}
$pages = $_GET['pages'];
$result = $db->query
("
SELECT `id` FROM `user_support_posts` WHERE `supportID`='".$s['id']."' ORDER BY `id` ASC
");
$postss = $result->rowCount();
$total = filtration::int(($postss - 1) / $num) + 1;
$pages = filtration::int($pages);
if(empty($pages) or $pages < 0) $pages = 1;
if($pages > $total) $pages = $total;
$start = $pages * $num - $num;
$posts = $db->query
("
SELECT * FROM `user_support_posts` WHERE `supportID`='".$s['id']."' ORDER BY `id` ASC LIMIT $start , $num
");
echo '<div class=title2>Тема: '.$s[name].'</div>';
while( $sP = $posts->fetch(PDO::FETCH_ASSOC) )
{
echo '<div class=main>'.userID('name',$sP['userID']).'';
echo ' ( '.date("d.m.y в h:i",$sP['date']).' )
</div>';
echo '<div class=list>Текст: '.htmlspecialchars($sP['text']).'</div>';
}
echo '<div class = "title2">'.url('/ads/answerSupport/'.$s['id'].'/','Ответить','','').'</div>';
pagination($postss,$num,$total,$pages,'/ads/viewSupport/'.$s['id'].'/');
}
break;
case 'answerSupport':
$supportID = $db->query
("
SELECT * FROM `user_support` WHERE `id` = '".filtration::int($_GET['id'])."' LIMIT 1
");
if($supportID->rowCount() == 0)
{
echo '<div class = "main">Ошибка. Такой темы не сушествует!</div>';
}
else
{
$s = $supportID->fetch(PDO::FETCH_ASSOC);
echo '<div class=title2>Тема: '.$s['name'].'</div>';
if(isset($_POST['confirmed']))
{
$error = '';
if((mb_strlen($_POST['text'], 'utf-8')<3))
{
$error .= 'Минимальная длина <u>сообщения</u> не менее 3 символов.<br>';
}
if((mb_strlen($_POST['text'], 'utf-8')>500))
{
$error .= 'Минимальная длина <u>сообщения</u> не менее 3 символов.<br>';
}
if(empty($error))
{
$newSupportPosts = $db->prepare
("
INSERT INTO `user_support_posts` (`id`,`userID`,`supportID`,`text`,`date`) VALUES
(:id,:userID,:supportID,:text,:date)
");
$newSupportPosts->execute(array('id'=>'', 'userID'=>''.user('id').'','supportID'=>''.$s['id'].'',
'text'=>''.$_POST['text'].'','date'=>''.time().''));
$db->exec('UPDATE `user_support` SET `answer` = "1" WHERE `id` = "'.$s['id'].'" ');
echo '<div class = "main">Ответ успешно создан</div>';
}
else
{
echo '<div class = "main">'.$error.'</div>';
}
}
echo '<div class = "main">
<form action="/ads/answerSupport/'.$s['id'].'/" method="post">
Текст:<br/><textarea name="text"></textarea><br/>
<input name="confirmed" type="submit" name="Написать"/></form></div>';
echo '<div class = "title2">'.url('/ads/viewSupport/'.$s['id'].'/','В тикет','','').'</div>';
}
break;
case 'inactiveSite':
$site = $db -> query
("
SELECT * FROM site,site_statistic WHERE site.status = '1' and site.id = site_statistic.siteID
and site_statistic.date = '".date("Y-m-d",time())."' and `host` = '0' ORDER BY site_statistic.host DESC
");
if($site -> rowCount() > 0)
{
while($s = $site -> fetch(PDO::FETCH_ASSOC))
{
echo '<div class="main"> '.url('/siteStatistics/'.$s['id'].'/',''.$s['url'].'','','').' </div>';
}
}
else
{
echo '<div class="main">Неактивных нет.</div>';
}
break;
case 'moderationReclame':
echo '<div class="main">Модерация рекламных сайтов</div>';
if(isset($_GET['approve']) and !empty($_GET['id']))
{
$site = $db->exec("UPDATE `reclame` SET `status` = '1' WHERE `id` = '".filtration::int($_GET['id'])."' LIMIT 1 ");
}
if(isset($_GET['reject']) and !empty($_GET['id']))
{
$site = $db->exec("UPDATE `reclame` SET `status` = '2' WHERE `id` = '".filtration::int($_GET['id'])."' LIMIT 1 ");
}
$site = $db -> query
("
SELECT * FROM `reclame` WHERE `status` = '0'
");
if($site -> rowCount() > 0)
{
while($s = $site -> fetch(PDO::FETCH_ASSOC))
{
echo '<div class="main">';
echo 'Название: '.$s['title'].'
<br />
Адресс: '.url(''.$s['url'].'',$s['url'],'http','_blanc').'<br />';
echo ''.url('/ads/moderationReclame/approve/'.$s['id'].'/','одобрить','','').' или '.url('/ads/moderationReclame/reject/'.$s['id'].'/','отклонить','','').'';
echo '</div>';
}
}
else
{
echo '<div class="main">Сайтов нет</div>';
echo '<div class="main">'.url('/ads/','назад','','').'</div>';
}
break;
}
}
foot();
?>