Вход Регистрация
Файл: ads/index.php
Строк: 228
<?php

error_reporting
(7);
ob_start();
session_start();
require(
'./config.php');
if(empty(
$_SESSION['ads_pass']) || $_SESSION['ads_pass']!=$pass$_GET['mode']='auth';
switch(isset(
$_GET['mode']) ? $_GET['mode'] : false):
case 
'auth':
if(isset(
$_POST['pass'])):
if(
trim($_POST['pass'])==$pass) {
$_SESSION['ads_pass']=$pass;
header('Location: ./');
exit;
} else {
$error=true; }
endif;
include(
'./head.php');
echo 
'';
echo (empty(
$error) ? null '<div class="text">Неверный пароль</div>'),'<div class="title">',$title,'</div><form action="./?mode=auth" method="post">
<div class="text">
Введите пароль:<br /><input type="password" name="pass"/><br />
<input type="submit" value="Войти"/>
</div></form>'
;
echo 
'</div>';
break;
### ------------------------- ###
case 'exit':
unset(
$_SESSION['ads_pass']);
header('Location: /');
exit;
break;
### ------------------------- ###
case 'edit':
if(empty(
$_GET['id'])):
header('Location: ./');
exit;
elseif(!
$res=$db_ads->query('SELECT * FROM `'.PREFIX.'_ads` WHERE `id`='.abs(intval($_GET['id'])))->fetch(PDO::FETCH_ASSOC)):
header('Location: ./?notify=no_link');
exit;
endif;
$title='Редактирование';
case 
'add':
if(isset(
$_POST['submit'])) {
$data=array(
'url'=>trim($_POST['url']),
'names'=>trim($_POST['names']),
'place'=>($_POST['place']==2),
'style'=>(in_array($_POST['style'], array('b''i''u')) ? $_POST['style'] : 'none'),
'color'=>trim($_POST['color'])
);
$data['position']=(intval($_POST['position'])>0) ? intval($_POST['position']) : ($db_ads->query('SELECT MAX(`position`) FROM `'.PREFIX.'_ads` WHERE `place`="'.$data['place'].'"')->fetchColumn()+1);
if(
$_POST['url']==''):
$error='Не введена ссылка';
elseif(
$_POST['names']==''):
$error='Не введены названия';
elseif((empty(
$res['id']) || $res['position']!=$data['position'] || $res['place']!=$data['place']) && $db_ads->query('SELECT `id` FROM `'.PREFIX.'_ads` WHERE `place`="'.$data['place'].'" AND `position`='.$data['position'].' LIMIT 1')->fetchColumn()):
$error='Позиция занята';
else:
if(empty(
$res['id'])) {
$data['end_time']=abs(intval($_POST['end_time']));
if(
$_POST['end_type']=='months'$data['end_time']*=30;
elseif(
$_POST['end_type']=='weeks'$data['end_time']*=7;
$db_ads->exec('INSERT INTO `'.PREFIX.'_ads` (`url`, `names`, `end_time`, `place`, `position`, `color`, `style`) VALUES ('.$db_ads->quote($data['url']).', '.$db_ads->quote($data['names']).', '.(time()+$data['end_time']*86400).', "'.$data['place'].'", '.$data['position'].', '.$db_ads->quote($data['color']).', "'.$data['style'].'")');
header('Location: ./?notify=add');
} else {
$db_ads->exec('UPDATE `'.PREFIX.'_ads` SET `url`='.$db_ads->quote($data['url']).', `names`='.$db_ads->quote($data['names']).', `place`="'.$data['place'].'", `position`='.$data['position'].', `color`='.$db_ads->quote($data['color']).', `style`="'.$data['style'].'" WHERE `id`='.$res['id']);
header('Location: ./?notify=edit');
}
exit;
endif;
}
if(isset(
$data)) $res=$data;
elseif(empty(
$res)) $res=array('url'=>null'names'=>null'place'=>null'position'=>null'end_time'=>null'color'=>null'style'=>null);
else 
$res['end_time']=intval(($res['end_time']-time())/86400);
if(empty(
$title)) $title='<b>Добавление</b>';
include(
'./head.php');
echo (empty(
$error) ? null '<div class="error">'.$error.'</div>'),'<div class="title">',$title,'</div><form action="./?mode=',(empty($res['id']) ? 'add' 'edit&amp;id='.$res['id']),'" method="post">
<div class="text">
Ссылка: (<span>без http://</span>)<br /><input type="text" name="url" value="'
,htmlspecialchars($res['url'], ENT_QUOTES),'"/><br />
Названия:<br /><textarea name="names" cols="20" rows="3" maxlength="250">'
,htmlspecialchars($res['names'], ENT_QUOTES),'</textarea><br />
Место: <select name="place" size="1">
<option value="1">Вверху</option>
<option value="2"'
,($res['place']==' selected="selected"' null),'>Внизу</option>
</select><br />
Позиция: <input type="text" name="position" value="'
,$res['position'],'" size="2"/><br />';
if(empty(
$res['id'])) echo 'Срок: <input type="text" name="end_time" value="',$res['end_time'],'" size="3"/> 
<select name="end_type" size="1">
<option value="days">Дней</option>
<option value="weeks">Недель</option>
<option value="months">Месяцев</option>
</select><br />'
;
echo 
'Цвет: <input type="text" name="color" value="',htmlspecialchars($res['color'], ENT_QUOTES),'" maxlength="15" size="10"/><br />
Стиль: <select name="style" size="1">
<option value="none">Обычный</option>
<option value="b"'
,($res['style']!='b' null ' selected="selected"'),'>Жирный</option>
<option value="i"'
,($res['style']!='i' null ' selected="selected"'),'>Курсив</option>
<option value="u"'
,($res['style']!='u' null ' selected="selected"'),'>Подчеркнутый</option>
</select><br /><input type="submit" name="submit" value="'
,(empty($res['id']) ? 'Добавить' 'Изменить'),'"/>
</form></div>'
;
break;
### ------------------------- ###
case 'del':
if(empty(
$_GET['id'])):
header('Location: ./');
exit;
elseif(!
$res=$db_ads->query('SELECT `url` FROM `'.PREFIX.'_ads` WHERE `id`='.abs(intval($_GET['id'])))->fetchColumn()):
header('Location: ./?notify=no_link');
exit;
elseif(isset(
$_POST['submit'])):
$db_ads->exec('DELETE FROM `'.PREFIX.'_ads` WHERE `id`='.abs(intval($_GET['id'])));
header('Location: ./?notify=del');
exit;
else:
$title='Удаление';
include(
'./head.php');
echo 
'<div class="title">',$title,'</div><form action="./?mode=del&amp;id=',abs(intval($_GET['id'])),'" method="post">
<div class="site">
Подтверждаем удаление ссылки <b>'
,htmlspecialchars($res),'</b>?<br />
<input type="submit" name="submit" value="Да"/> <a href="./">Нет</a>
</div></form>'
;
endif;
break;
exit;
break;
### ------------------------- ###
case 'etime':
if(empty(
$_GET['id'])):
header('Location: ./');
exit;
elseif(!
$res=$db_ads->query('SELECT `end_time` FROM `'.PREFIX.'_ads` WHERE `id`='.abs(intval($_GET['id'])))->fetchColumn()):
header('Location: ./?notify=no_link');
exit;
elseif(isset(
$_POST['time'])):
$end_time=abs(intval($_POST['time']));
if(
$_POST['ttype']=='months'$end_time*=30;
elseif(
$_POST['ttype']=='weeks'$end_time*=7;
if(
$_POST['type']=='+'$end_time=$res+$end_time*86400;
else 
$end_time=$res-$end_time*86400;
$db_ads->exec('UPDATE `'.PREFIX.'_ads` SET `end_time`='.$end_time.' WHERE `id`='.abs(intval($_GET['id'])));
header('Location: ./?notify=edit');
exit;
else:
$title='Дата окончания';
include(
'./head.php');
echo 
'<div class="title">',$title,'</div><form action="./?mode=etime&amp;id=',abs(intval($_GET['id'])),'" method="post">
<div class="text">
<input type="radio" name="type" value="+" checked="checked"/> Продлить<br />
<input type="radio" name="type" value="-"/> Уменьшить<br />
На <input type="text" name="time" size="3"/>
<select name="ttype" size="1">
<option value="days">Дней</option>
<option value="weeks">Недель</option>
<option value="months">Месяцев</option>
</select><br /><input type="submit" value="Изменить"/>
</div></form>'
;

endif;
break;
### ------------------------- ###
default:
$_GET['notify']='no_page';
case 
false:
$title='Админка';
include(
'./head.php');
if(isset(
$_GET['notify'])) {
switch(
$_GET['notify']):
case 
'no_page':
echo 
'<div class="notify">Некорректный запрос</div>';
break;
case 
'no_link':
echo 
'<div class="notify">Нет такой ссылки</div>';
break;
case 
'add':
echo 
'<div class="notify">Добавлено</div>';
break;
case 
'edit':
echo 
'<div class="notify">Изменено</div>';
break;
case 
'del':
echo 
'<div class="notify">Удалено</div>';
break;
endswitch; }
echo 
'<div class="title">',$title,'</div>';
$stata=$db_ads->query('SELECT COUNT(*) as `links`, SUM(`today`) as `today`, SUM(`all`) as `all` FROM `'.PREFIX.'_ads`')->fetch(PDO::FETCH_ASSOC);
if(
$stata['links']>0) {
$query=$db_ads->query('SELECT * FROM `'.PREFIX.'_ads` ORDER BY `place`, `position` ASC');
while(
$res=$query->fetch(PDO::FETCH_ASSOC)) {
echo 
'<div class="text">
<span>&bull;</span> <a href="http://'
,htmlspecialchars($res['url'], ENT_QUOTES),'">',htmlspecialchars($res['url']),'</a>&nbsp;&nbsp;&nbsp;[<a href="./?mode=edit&amp;id=',$res['id'],'">Ред.</a>/<a href="./?mode=del&amp;id=',$res['id'],'">Уд.</a>]<br />
Позиция: <span>'
,$res['position'],'</span>/<span>',($res['place']=='Верх' 'Низ'),'</span><br />
Размещена до: <span>'
,date('d.m.Y H:i'$res['end_time']),'</span> [<a href="./?mode=etime&amp;id=',$res['id'],'">Изм.</a>]<br />
Цвет/стиль: '
,($res['color']=='' 'Отсутствует' '<font color="'.htmlspecialchars($res['color'], ENT_QUOTES).'">'.htmlspecialchars(htmlspecialchars($res['color'])).'</font>'),'/';
if(
$res['style']=='b') echo '<b>Жирный</b>';
elseif(
$res['style']=='i') echo '<i>Курсив</i>';
elseif(
$res['style']=='u') echo '<u>Подчеркнутый</u>';
else echo 
'Отсутствует';
echo 
'<br />Переходов: <span>',$res['all'],'</span>/',$res['today'],'
</div>'
;
} } else {
echo 
'<div class="text">Рекламных ссылок не найдено..</div>';
}
echo 
'<div class="text">
&#187; <a href="./?mode=add">Добавить</a><br />
&#187; [<a href="./?mode=exit">Выход</a>]
<hr />
Всего ссылок: <span>'
,$stata['links'],'</span><br />
Всего переходов: <span>'
,$stata['all'],'</span><br />
Переходов сегодня: <span>'
,$stata['today'],'</span>
</div>'
;
endswitch;
include(
'./foot.php');
?>
Онлайн: 0
Реклама