View file modules/diary/inc/admin_act.php

File size: 4.81Kb
<?php

if (isset($_POST['ok']) && isset($_POST['name'])) {
    $name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
    if (utf8_strlen($name) < 3) {
        $err[] = lang('Слишком короткое название');
    }
    if (utf8_strlen($name) > 32) {
        $err[] = lang('Слишком длинное название');
    }
    $mat = antimat($name);
    if ($mat) {
        $err[] = lang('В названии раздела обнаружен мат') . ': ' . $mat;
    }
    $name = $db->safesql($name);
    $icon = stripcslashes(htmlspecialchars($_POST['icon']));
    if (isset($_POST['desc']) && $_POST['desc'] != NULL) {
        $desc = esc(stripcslashes(htmlspecialchars($_POST['desc'])));
        if (utf8_strlen($desc) < 3) {
            $err[] = lang('Короткое описание раздела');
        }
        if (utf8_strlen($desc) > 100) {
            $err[] = lang('Слишком длинное описание');
        }
        $mat = antimat($desc);
        if ($mat) {
            $err[] = lang('В описании раздела обнаружен мат') . ': ' . $mat;
        }
        $desc = $db->safesql($desc);
    } else {
        $desc = NULL;
    }
    if (!isset($err)) {
        $db->query("INSERT INTO `diary_cat` (`name`, `desc`, `icon`) values ('$name', '$desc', '$icon')");

        $_SESSION['message'] = lang('Категория успешно создана');

        header("Location: /modules/diary/");
        exit();
    }
}

if (isset($_GET['edit']) && isset($_POST['name'])) {
    $q = $db->super_query("SELECT COUNT(*) as count FROM diary_cat WHERE id = '" . intval($_GET['edit']) . "' LIMIT 1");
    if ($q['count'] == 1) {

        $name = esc(stripcslashes(htmlspecialchars($_POST['name'])));
        if (utf8_strlen($name) < 3) {
            $err[] = lang('Слишком короткое название');
        }
        if (utf8_strlen($name) > 32) {
            $err[] = lang('Слишком длинное название');
        }

        $mat = antimat($name);

        if ($mat) {
            $err[] = lang('В названии раздела обнаружен мат') . ': ' . $mat;
        }

        $name = $db->safesql($name);
        $icon = stripcslashes(htmlspecialchars($_POST['icon']));

        if (isset($_POST['desc']) && $_POST['desc'] != NULL) {
            $desc = esc(stripcslashes(htmlspecialchars($_POST['desc'])));
            if (utf8_strlen($desc) < 3) {
                $err[] = lang('Короткое описание раздела');
            }
            if (utf8_strlen($desc) > 100) {
                $err[] = lang('Слишком длинное описание');
            }
            $mat = antimat($desc);
            if ($mat) {
                $err[] = lang('В описании раздела обнаружен мат') . ': ' . $mat;
            }
            $desc = $db->safesql($desc);
        } else {
            $desc = NULL;
        }

        if (!isset($err)) {
            $db->query("UPDATE `diary_cat` SET `name`='$name', `desc`='$desc', `icon` = '$icon' WHERE `id`='" . intval($_GET['edit']) . "' LIMIT 1");
            $_SESSION['message'] = lang('Изменения сохранены');

            header("Location: /modules/diary/");
            exit();
        }
    }
}

if (isset($_GET['del'])) {
    $q = $db->super_query("SELECT COUNT(*) as count FROM diary_cat WHERE id = '" . intval($_GET['del']) . "' LIMIT 1");
    if ($q['count'] == 1) {
        $q = $db->query("SELECT * FROM `diary` WHERE `id_cat`='" . intval($_GET['del']) . "'");
        while ($delete = $db->get_row($q)) {
            $q2 = $db->query("SELECT * FROM `diary_images` WHERE `id_diary`='$delete[id]'");
            while ($delet = $db->get_row($q)) {
                unlink(H . 'modules/diary/images/48/' . $delet['id'] . '.' . $delet['ras'] . '');
                unlink(H . 'modules/diary/images/128/' . $delet['id'] . '.' . $delet['ras'] . '');
                unlink(H . 'modules/diary/images/640/' . $delet['id'] . '.' . $delet['ras'] . '');
                unlink(H . 'modules/diary/images/' . $delet['id'] . '.' . $delet['ras'] . '');
            }
            $db->query("DELETE FROM `diary_rating` WHERE `id_diary`='$delete[id]'");
            $db->query("DELETE FROM `diary_images` WHERE `id_diary`='$delete[id]'");
            $db->query("DELETE FROM `diary_komm` WHERE `id_diary`='$delete[id]'");
            $db->query("DELETE FROM `diary` WHERE `id`='$delete[id]'");
        }
        $db->query("DELETE FROM `diary_cat` WHERE `id`='" . intval($_GET['del']) . "'");

        $_SESSION['message'] = lang('Категория успешно удалена');

        header("Location: /modules/diary/");
        exit();
    }
}
err();