Файл: pages/apanel/razd.php
Строк: 80
<?
$PageConfig = [    
    'title' =>  'Настройка разделов',
];
PageConfig($PageConfig);
$type = (isset($_GET['type']) ? $_GET['type'] : false);
$razd = [];
$query = $sql->fetchAll("SELECT * FROM `news_razd` ORDER BY `id` DESC LIMIT 99;");
foreach ($query AS $p) {
    $p['name'] = output($p['name'], 'html');
    $p['text'] = output($p['text']);
    $razd[] = $p;
}
if ($type =='create_razd') {
    $newlink = md5($system['time']);
    $sql->query("INSERT INTO `newsst`.`news_razd` (`date_create`, `link`, `token`, `name`) VALUES ('{$system['time']}', '". $newlink ."', '". md5($system['time'] . $system['time']) ."', 'Новый раздел');");
    Redirection('/apanel/razd?type='.$newlink, 'Успешно');    
}
if (isset($_GET['delete'])) {
    $sql->query("DELETE FROM `news_razd` WHERE `link` = ? ", [$_GET['delete']]);
    Redirection('/apanel/razd', 'Успешно');    
}
if ($type AND $type !='create_razd') {
    $razdpost = $sql->fetch("SELECT * FROM `news_razd` where `link` = ? ", [$type]);
    $razdpost['name'] = output($razdpost['name'], 'html');
    $razdpost['text'] = output($razdpost['text']);    
    $razdpost['description'] = output($razdpost['description']);    
    $razdpost['keywords'] = output($razdpost['keywords']);    
    $t->assign('razdpost', $razdpost);
}
if (isset($_POST['save'],  $_POST['name'], $_POST['text'], $_POST['link'])) {
    $name = $_POST['name'];
    $text = $_POST['text'];
    $link = $_POST['link'];
    $keywords = $_POST['keywords'];
    $description = $_POST['description'];
    $sort = (int) $_POST['sort'];
    $sortid = $sql->fetch("SELECT `id` FROM `news_razd` ORDER BY `id` DESC LIMIT 1");
    $sortid = $sortid['id'];
    if ($sql->rowCount("SELECT * FROM `news_razd` WHERE `link` = ?", [$link]) == 1 AND $razdpost['link'] != $link) {
        $err[] = 'Такая ссылка уже есть';
    }
    if (FileSystem::TextStrlen($keywords) > 256) {
        $err[] = 'Keywords слишком длинный';
    }
    if (FileSystem::TextStrlen($description) > 256) {
        $err[] = 'Description слишком длинный';
    }    
    if (FileSystem::TextStrlen($text) > 30000) {
        $err[] = 'Описание слишком длинное';
    }
    if (FileSystem::TextStrlen($name) > 128) {
        $err[] = 'Заголовок слишком длинный';
    }
    if (FileSystem::TextStrlen($name) < 3) {
        $err[] = 'Заголовок слишком короткий';
    }
    if (FileSystem::TextStrlen($link) > 128) {
        $err[] = 'Ссылка слишком длинная';
    }
    if (FileSystem::TextStrlen($link) < 5) {
        $err[] = 'Ссылка слишком короткая';
    }    
    $link = preg_replace("/[^-a-zа-я-0-9s]/ui", "", $link);
    $link = str_replace(' ','-', $link);
    $link = str_replace('  ','', $link);
    $link = trim($link);
    $text = trim($text);
    if (!isset($err)) {
        $sql->query("UPDATE `news_razd` SET `sort` = ?, `description` = ?, `keywords` = ?, `name` = ?, `text` = ?, `link` = ? WHERE `id` = ?", [$sort, $description, $keywords, $name, $text, $link, $razdpost['id']]);
        Redirection('/apanel/razd', 'Успешно');
    }
}
if (isset($err)) {
    err($err);
}
$t->assign('type', $type);
$t->assign('razd', $razd);
echo $t->fetch('apanel.razd');