Файл: wapxl.ru/admin/infa/news.php
Строк: 109
<?
if (empty($act)){
if (isset($_GET['delk'])){
func::danger('?mod='.$mod.'&delk='.$_GET['delk'].'','Вы уверены, что желаете <b>удалить</b> данную новость?');
$news = core:: $db -> queryFetch("SELECT * FROM `news` WHERE `id`=? LIMIT 1;", array(func::checkin(intval($_GET['delk']))));
// Запрет удаления с уровнем меньшим автора новости
if(core::$user['level'] >= user::user_inf($news['user_id'],'level')){
core::$db->query("DELETE FROM `news` WHERE `id` = ?", array(func::checkin(intval($_GET['delk']))));
core::$db->query("DELETE FROM `newskom` WHERE `new` = ?", array(func::checkin(intval($_GET['delk']))));
$messs = '<b>'.user::us(core::$user['id'], 1).'</b> Удалил новость <b>'.substr($news['msg'], 0, 50).'...</b>';
core::$db->query ("INSERT INTO logs (log,msg,time,user_id) VALUES (?,?,?,?)",array('all',$messs,core::$realtime,core::$user['id']));
}
header ('Location: infa.php?mod='.$mod.'&'.SID);
}
echo '<a href="infa.php?mod='.$mod.'&act=add" class="href">Добавить новость</a><dt></dt>';
$k_post=core:: $db -> querySingle("select count(*) as num from news");
$k_page=func::k_page($k_post,$max);
$page=func::page($k_page);
$start=$max*$page-$max;
$r = core::$db->query("Select * from `news` order by `time` desc LIMIT $start, $max");
if ($k_post==0)func::errors('<b>Новостей нет</b>', '<a href="'.getenv("HTTP_REFERER").'" class="href">Вернуться</a>');
while ($a = $r -> fetch()) {
echo $div2.''.user::nik($a[user_id]).' ('.func::times($a['time']).') <a href="?mod='.$mod.'&delk='.$a[id].'" class="href">[Удал]</a>|<a href="?mod='.$mod.'&act=edit&new='.$a[id].'" class="href">[Изм]</a>'.$div9;
echo func::text($a[msg]).'<br />';
if($a['razdel']==0)echo '<a href="/infa/news.php?mod=komm&new='.$a[id].'" class="href">Комментарии ('.core:: $db -> querySingle("select count(*) as num from newskom where new=?", array($a['id'])).')</a> <br />';
else echo '<a href="/forum/tema/'.$a['razdel'].'/1" class="href"><b>Обсудить на форуме</b></a><br />';
echo '<dl></dl>';
}
if ($k_page>1) func::nav('?mod='.$mod.'&',$k_page,$page); // Вывод страниц
}else if($act=='add'){
echo '<form action="infa.php?mod='.$mod.'&act=addi&'.SID.'" method="post" name="form" enctype="multipart/form-data">';
echo "Заголовок:<br/>";
echo "<input type="text" name="theme" maxlength="150"/><br/>";
echo'Новость:<br /><textarea cols="'.core::$user['pole2'].'" rows="'.core::$user['pole1'].'" name="msg" ></textarea><br />';
echo '<br /><input type="submit" class="ibutton" value="Добавить"/></form><br /><br />';
}else if($act=='addi'){
$theme = func::checkin($_POST['theme']);
$msg = func::checkin($_POST['msg']);
$razdel = func::checkin(intval($_POST['razdel']));
if (func::utf_strlen($msg)<5)func::errors('<b>Новость слишком короткая</b>');
$news = core::$db -> prepare("INSERT INTO `news` SET `user_id`=?, `time`=?, `msg`=?, `theme`=?");
$news -> execute(core::$user['id'], core::$realtime, $msg, $theme);
header ('Location: infa.php?mod='.$mod.'&'.SID); exit;
}else if($act=='edit'){ // Изменение
$new = func::checkin(intval($_GET['new']));
$a = core:: $db -> queryFetch("SELECT * FROM `news` WHERE `id`=? LIMIT 1;", array($new));
if (!isset($a['id']))func::errors('<b>Такой новости не существует</b>');
if(core::$user['level'] >= user::user_inf($a['user_id'],'level')){
echo '<form action="infa.php?mod='.$mod.'&new='.$new.'&act=editi&'.SID.'" method="post">';
echo'Новость:<br /><textarea cols="'.core::$user['pole2'].'" rows="'.core::$user['pole1'].'" name="msg" >'.func::text($a[msg],2).'</textarea><br />';echo '<br /><input type="submit" class="ibutton" value="Изменить"/></form><br /><br />';
}else func::errors('<b>Вы не можете изменять эту новость</b>');
}else if($act=='editi'){
$new = func::checkin(intval($_GET['new']));
$a = core:: $db -> queryFetch("SELECT * FROM `news` WHERE `id`=? LIMIT 1;", array($new));
if (!isset($a['id']))func::errors('<b>Такой новости не существует</b>');
$msg = func::checkin($_POST['msg']);
if (func::utf_strlen($msg)<5)func::errors('<b>Новость слишком короткая</b>');
if(core::$user['level'] >= user::user_inf($a['user_id'],'level')){
$news = core::$db -> prepare("UPDATE `news` SET `msg`=? WHERE `id`=?");
$news -> execute($msg, $new);
$messs = '<b>'.user::us(core::$user['id'], 1).'</b> Изменил новость <b>'.substr($a['msg'], 0, 50).'...</b>';
core::$db->query ("INSERT INTO logs (log,msg,time,user_id) VALUES (?,?,?,?)",array('all',$messs,core::$realtime,core::$user['id']));
}
header ('Location: infa.php?mod='.$mod.'&'.SID); exit;
}
?>