Файл: sysadm/faq.php
Строк: 290
<?
define('ROOT','../');
require_once (ROOT.'system/power.php');
$fuser->aut();
$admin->user_can('settings_site',$ya['id'],true,ROOT.'sysadm/');
$diz -> head('Информация');
$diz -> title('Информация');
switch($mode) {
//новая категория
case 'new_cat':
$sql = $db -> query("SELECT `id`,`name` FROM `faq` WHERE `id` = '".$sid."' and `type`='cat'");
if ($sql -> num_rows > 0 or $sid==null) {
if (empty($_POST['name'])) {
$dir=$sql->fetch_assoc();
echo '<div class="fon"><form action="?mode=new_cat&sid='.$sid.'" method="post">';
if($sid!=null)echo language('Категория').': <span class="text">'.$dir['name'].'</span></br>';
echo language('Название').':<br/><input type="text" name="name" required/></br>
<input type="submit" value="'.language('Создать').'"/></form></div>';
} else {
$maxsid = $db -> dbcount('MAX(`sid`)','faq','`if_dir`="'.$sid.'"');
$name = shit($_POST['name']);
$db -> query("Insert `faq` SET `name` = '".$name."',`if_dir`='".$sid."',`text` = '".$top."',`type` = 'cat',`sid`=".$maxsid."+1");
header('Location: ?sid='.$sid);
}
echo '<div class="levo"><a href="?sid='.$sid.'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}else header('Location: ?');
break;
///редактируем категорию
case 'edit_cat':
$sql = $db -> query("SELECT * FROM `faq` WHERE `id` = '".$id."' and `type`='cat'");
if ($sql -> num_rows > 0) {
$menu = $sql -> fetch_assoc();
if (empty($_POST['name'])) {
echo '<div class="fon"><form action="?mode=edit_cat&id='.$id.'" method="post">
'.language('Название').':<br/><input type="text" name="name" value="'.$menu['name'].' required"/></br>
<br/><input type="submit" value="'.language('Сохранить').'"/></form></div>';
} else {
$name = shit($_POST['name']);
$db -> query("UPDATE `faq` SET `name` = '".$name."' WHERE `id` = '".$id."'");
header('Location: ?sid='.$menu['if_dir'].'');
}
echo '<div class="levo"><a href="?sid='.$menu['if_dir'].'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else header('Location: ?');
break;
///приложение страницы
case 'page':
$sql = $db -> query("SELECT `id`,`name` FROM `faq` WHERE `id` = '".$sid."' and `type`='cat'");
if ($sql -> num_rows > 0 or $sid==null) {
if (empty($_POST['name'])) {
$files = scandir(ROOT.'pages/');
foreach ($files as $key => $value) {
$ex = pathinfo($value);
$ext = mb_strtolower($ex['extension']);
if($ext=='php' or $ext=='html'){
$pages .= '<option selected value="'.$value.'">'.$value.'</option>';
}
}
echo '<div class="fon"><form action="?mode=page&sid='.$sid.'" method="post">
'.language('Название').':<br/><input type="text" name="name" required/></br>
'.language('Страница').' (ROOT/pages/'.language('Название').'):<br/>
<select name="page">'.$pages.'</select></br>
<input type="submit" value="'.language('Добавить').'"/></form></div>';
} else {
$maxsid = $db -> dbcount('MAX(`sid`)','faq','`if_dir`="'.$sid.'"');
$name = shit($_POST['name']);
$page= shit($_POST['page']);
$db -> query("Insert `faq` SET `name` = '".$name."',`if_dir`='".$sid."',`type`='page',`text` = '".$page."',`sid`=".$maxsid."+1");
header('Location: ?sid='.$sid);
}
echo '<div class="levo"><a href="?sid='.$sid.'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}else header('Location: ?');
break;
///создание нового текста помощи
case 'new':
$sql = $db -> query("SELECT `id`,`name` FROM `faq` WHERE `id` = '".$sid."' and `type`='cat'");
if ($sql -> num_rows > 0 or $sid==null) {
if (empty($_POST['name'])) {
echo '<div class="fon"><form action="?mode=new&sid='.$sid.'" method="post">
'.language('Название').':<br/><input type="text" name="name" required/></br>
'.language('Текст').' (HTML):<br/>
<textarea name="html" id="autoresize" required></textarea></br>
<input type="submit" value="'.language('Добавить').'"/></form></div>';
} else {
$maxsid = $db -> dbcount('MAX(`sid`)','faq','`if_dir`="'.$sid.'"');
$name = shit($_POST['name']);
$html= shit($_POST['html']);
$db -> query("Insert `faq` SET `name` = '".$name."',`if_dir`='".$sid."',`type`='text',`text` = '".$html."',`sid`=".$maxsid."+1");
header('Location: ?sid='.$sid);
}
echo '<div class="levo"><a href="?sid='.$sid.'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}else header('Location: ?');
break;
///просмотр текста помощи
case 'view':
$sql = $db -> query("SELECT * FROM `faq` WHERE `id` = '".$sid."' and `type`='text' or `type`='page' and `id` = '".$sid."'");
if ($sql -> num_rows > 0) {
$menu = $sql -> fetch_assoc();
if($menu['if_dir']!=0)$dir = $db -> query("SELECT `name` from `faq` where `id`='".$menu['if_dir']."' and `type`='cat'")-> fetch_assoc();
echo '<div class="fon">'.language('Название').': <span class="text">'.$menu['name'].'</span><br/>';
echo language('Позиция').': <span class="text">#'.$menu['sid'].'</span><br/>';
if($menu['if_dir']!=0)echo ''.language('Категория').': <a href="?sid='.$menu['if_dir'].'&page='.$page.'">'.$dir['name'].'</a><br/>';
echo '</div>';
if($menu['type']=='text')echo '<div class="fon">'.htmlspecialchars_decode($menu['text']).'</div>';
if($menu['type']=='page')require_once (ROOT.'pages/'.$menu['text']);
echo '<div class="levo"><a href="?sid='.$menu['if_dir'].'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else header('Location: ?');
break;
///редактируем текст/страницу
case 'edit_faq':
$sql = $db -> query("SELECT * FROM `faq` WHERE `id` = '".$id."' and `type`='text' or `id` = '".$id."' and `type`='page'");
if ($sql -> num_rows > 0) {
$menu = $sql -> fetch_assoc();
if($menu['if_dir']!=0)$dir = $db -> query("SELECT `name` from `faq` where `id`='".$menu['if_dir']."' and `type`='cat'")-> fetch_assoc();
if (empty($_POST['name']) & empty($_POST['text'])) {
echo '<div class="fon"><form action="?mode=edit_faq&id='.$id.'" method="post">
'.language('Название').':<br/><input type="text" name="name" value="'.$menu['name'].'" required/></br>';
if($menu['type']=='text'){
echo language('Текст').' (HTML):<br/><textarea name="text" id="autoresize" required>'.htmlspecialchars_decode($func->br($menu['text'])).'</textarea></br>';
}elseif($menu['type']=='page'){
$files = scandir(ROOT.'pages/');
foreach ($files as $key => $value) {
$ex = pathinfo($value);
$ext = strtolower($ex['extension']);
if($ext=='php' or $ext=='html'){
$pages .= '<option selected value="'.$value.'">'.$value.'</option>';
}
}
echo '<select name="text">'.$pages.'</select></br>';
}
echo '<input type="submit" value="'.language('Сохранить').'"/></form></div>';
} else {
$name = shit($_POST['name']);
$text = shit($_POST['text']);
$db -> query("UPDATE `faq` SET `name` = '".$name."',`text` = '".$text."' WHERE `id` = '".$id."'");
header('Location: ?mode=view&sid='.$id.'');
}
echo '<div class="levo"><a href="?sid='.$menu['if_dir'].'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else header('Location: ?');
break;
//удаление
case 'del':
$sql2 = $db -> query("SELECT `id` FROM `faq` WHERE `if_dir` = '".$id."' and `type`='cat'");
if ($sql2 -> num_rows == 0) {
$sql = $db -> query("SELECT `if_dir`,`type` FROM `faq` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0) {
$dir = $sql -> fetch_assoc();
switch($do) {
case 'yes':
if($dir['type']=='cat')$db -> query("DELETE FROM `faq` where `if_dir` = '".$id."'");
$db -> query("DELETE FROM `faq` where `id` = '".$id."'");
header('Location: ?sid='.$dir['if_dir'].'&page='.$page);
break;
default:
echo '<div class="fon">'.language('Вы подтверждаете это действие').'?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?mode=del&do=yes&id='.$id.'sid='.$sid.'&page='.$page.'">'.language('Да').'</a>
<a class="dialog_m" href="?sid='.$sid.'&page='.$page.'">'.language('Нет').'</a>
</div>';
}
} else header('Location: ?sid='.$sid.'&page='.$page);
}else {
echo '<div class="fon">'.language('Нельзя удалять папки которые содержат подпапки').'</div>';
echo '<div class="levo"><a href="?sid='.$sid.'&page='.$page.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}
break;
//поднять выше
case 'up':
$sql = $db -> query("SELECT * FROM `faq` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0)$db -> query("UPDATE `faq` SET `sid`=sid-1 WHERE `id` = '".$id."'");
header('Location: ?sid='.$sid.'&page='.$page);
break;
//Опустить ниже
case 'foot':
$sql = $db -> query("SELECT * FROM `faq` WHERE `id` = '".$id."'");
if ($sql -> num_rows > 0)$db -> query("UPDATE `faq` SET `sid`=sid+1 WHERE `id` = '".$id."'");
header('Location: ?sid='.$sid.'&page='.$page);
break;
default:
//оптимизация меню
$db -> query("UPDATE `faq` SET `sid` = '1' WHERE `sid`<'1'");
//////////////////
echo '<div class="menu"><a href="?mode=new_cat&sid='.$sid.'&page='.$page.'" class="menutuch">'.$diz -> icon('settings.png').' '.language('Создать категорию').'</a></div>';
echo '<div class="menu"><a href="?mode=new&sid='.$sid.'&page='.$page.'" class="menutuch">'.$diz -> icon('settings.png').' '.language('Добавить информацию').'</a></div>';
echo '<div class="menu"><a href="?mode=page&sid='.$sid.'&page='.$page.'" class="menutuch">'.$diz -> icon('settings.png').' '.language('Приложить страницу').'</a></div>';
$dir_sql = $db -> query("SELECT `name` from `faq` where `id`='".$sid."' and `type`='cat'");
if($dir_sql->num_rows==0 and $sid!=null)header('Location: ?'); else $dir=$dir_sql-> fetch_assoc();
$count = $db -> dbcount('COUNT(`id`)','faq');
if($count!=0){
if($sid!=0){
$tree = array();
$dirid = $sid;
while ($dirid != '0' && $dirid != "") {
$dir_while = $db -> query("SELECT * FROM `faq` WHERE `id` = '".$dirid."' and `type`='cat' LIMIT 1")-> fetch_assoc();
$tree[] = '<a href="?sid='.$dirid.'">' . $dir_while['name']. '</a>';
$dirid = $dir_while['if_dir'];
}
krsort($tree);
$cdir = array_pop($tree);
echo '<div class="fon"><a href="?">'.language('Корневая').'</a> / ';
foreach ($tree as $value) {
echo $value . ' / ';
}
echo '<b>'.$dir['name'].'</b></div>';
}else echo '<div class="fon">'.language('Корневая').' /</div>';
}
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$sql = $db -> query("SELECT * FROM `faq` where `if_dir`='".$sid."' ORDER BY `type` asc,`sid` desc LIMIT ".$start.",".$num);
if ($sql -> num_rows > 0) {
while ($faq = $sql -> fetch_assoc()) {
if($faq['type']=='cat'){
echo '<div class="menu"><a href="?sid='.$faq['id'].'" class="menutuch">'.$diz -> icon('cat.png').' '.$faq['name'].' </a></div>';
echo '<div class="zap">';
echo '<a class="zap_b" href="?mode=edit_cat&id='.$faq['id'].'">'.language('Редактировать').'</a>';
}else{
echo '<div class="menu"><a href="?mode=view&sid='.$faq['id'].'&page='.$page.'" class="menutuch">'.$diz -> icon('faq.png').' '.$faq['name'].' </a></div>';
echo '<div class="zap">';
echo '<a class="zap_b" href="?mode=edit_faq&id='.$faq['id'].'">'.language('Редактировать').'</a>';
}
echo '<a class="zap_b" href="?mode=del&id='.$faq['id'].'&sid='.$sid.'">'.language('Удалить').'</a>';
if ($sql -> num_rows != 1){
echo'<a class="zap_b" href="?mode=up&id='.$faq['id'].'">'.language('Вверх').'</a>';
echo'<a class="zap_b" href="?mode=foot&id='.$faq['id'].'">'.language('Вниз').'</a>';
}
echo'</div>';
}
echo $func -> pagenav('?',$page,$total);
}else echo '<div class="fon">'.language('Раздел пуст').'</div>';
}
echo '<div class="levo"><a href="./" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Управление').'</a></div>';
echo '<div class="levo"><a href="'.ROOT.'" class="levo_tuch">'.$diz -> icon('home.png').' '.language('На главную').'</a></div>';
#####Копирайт#######
$diz -> out($msg);
?>