Вход Регистрация
Файл: pages/guestbook.php
Строк: 91
<?php
    
include '../engine/includes/start.php';
    
$set['title']='Гостевая книга'// заголовок страницы
    
include H.'engine/includes/head.php';
    
Core::get(array('page.class''text.class''cache.class'), 'classes');
    
    if (!
$admin)$act null;

    switch(
$act)
    {
        case 
'clean':

        if (isset(
$_POST['write'], $_POST['write2']))
        {
            
$timeclear1 0;
            if (
$_POST['write2']=='sut')
                
$timeclear1 time() - intval($_POST['write']) * 60 60 24;
            elseif (
$_POST['write2']=='mes')
                
$timeclear1 time() - intval($_POST['write']) * 60 60 24 30;
            
$deletes $sql->query('DELETE FROM `guest` WHERE `time` > '.$timeclear1)->num_rows();
            
$sql->query('OPTIMIZE TABLE `guest`');
            
Core::msg_show' Удалено постов: '.$deletes);
            
Cache::multi_delete('guestbook'tmpDir);
        }
        else
        
?>
        <form method = "post" class='post' action="?act=clean">
        Будут удалены посты, написаные ... тому назад<br />
        <input name = "write" value="12" type="text" size='3' />
        <select name = "write2">
            <option value="">-------</option>
            <option value="mes">Месяцев</option>
            <option value="sut">Суток</option>
        </select><br />
        <input value="Очистить" type="submit" /><br />
        <a href="?">Отмена</a><br />
        </form>
        <?php
        
include H.'engine/includes/foot.php';
        break;


        case 
'del':
        
        if (
$sql->query("SELECT COUNT(*) FROM `guest` WHERE `id` = '".$id."'")->result() == 1)
        {
            
$sql->query("DELETE FROM `guest` WHERE `id` = '$id' limit 1");
            
Core::msg_show('Сообщение удалено');
            
Cache::multi_delete('guestbook'tmpDir);
        }
        break;
    

        case 
'uninstall':
        
        if (
$creator)
        {
            if (isset(
$_GET['yes']))
            {
                
$sql->multi("DROP TABLE `guest`;DELETE FROM `modules` where `name` = 'gBook';DELETE FROM `module_services` where `belongs` = 'gBook';");
                
unlink('engine/services/guestbook.php');
                
unlink('pages/guestbook.php');
                
Cache::multi_delete('guestbook'tmpDir);
                echo 
'Мини-чат удален';
            }
            else
                echo 
'Вы действительно хотите удалить модуль "Мини-чат"?<br /><a href="?act=uninstall&amp;yes">[  Да  ]</a> | <a href="?">[  Нет  ]</a>';
            include 
H.'engine/includes/foot.php';
        }
        break;
    }

    if (isset(
$_POST['msg']) && $user_id)
    {
        
$msg   my_esc($_POST['msg']);
        
$mat    text::antimat($msg$user);
        
$length mb_Strlen($msg);

        if (
$mat)
            
$err 'В тексте сообщения обнаружен мат: '.$mat;

        elseif (
$length 1024)
            
$err 'Сообщение слишком длинное';
        
        elseif (
$length 2)
            
$err 'Короткое сообщение';

        elseif (
$sql->query("SELECT COUNT(*) FROM `guest` WHERE `id_user` = '".$user['id']."' AND `msg` = '".$msg."' LIMIT 1")->result())
            
$err 'Ваше сообщение повторяет предыдущее';

        elseif (!isset(
$err))
        {
            
$sql->multi("INSERT INTO `guest` (`id_user`,  `time`, `msg`) values('".$user['id']."', '".time()."', '".$msg."');UPDATE `user` SET `balls` = `balls` + 1 WHERE `id` = '".$user['id']."' LIMIT 1;");
            
$sql->free(true);
            
Core::msg_show('Сообщение успешно добавлено<br /><a href="?">Вернутся</a>''msg');
            
Cache::multi_delete('guestbook'tmpDir);
            include 
H.'engine/includes/foot.php';
        }
        unset(
$msg$mat$length);
    }

    if (isset(
$err))
        echo 
Core::msg_show($err);

    if (
$user_id)
    {
        
$area null;
        if (
$act == 'reply')
        {
            
$for Core::get_user($id);
            
$area '[b]' $for['nick'] . '[/b], ';
        }
        
?>
            <div class="menu_razd"><a name="message">Быстрый ответ</a> | <a href="?page=<?=$cur_page?>#advance_message">Расшир. ответ</a></div>
            <form method = "post">
            <textarea name="msg"><?=$area?></textarea><br />
            <input value="Отправить" type="submit"/>
            </form>
        <?php
    
}    
        
    
$cache = new cache(H.'engine/files/tmp/guestbook[page='.(isset($_GET['page']) ? intval($_GET['page']) : 1).';moder='.($moder 0).';user='.($user_id 0).'].swc');

    if (!
$cache->life())
    {

    
ob_start();

    
$k_post $sql->query("SELECT COUNT(*) FROM `guest`")->result();
    
$page = new page($k_post$set['p_str']);
    
$i 1;

    if (!
$k_post)
        
Core::msg_show('Нет сообщений''post');

    
$sql->query("SELECT `guest`.`msg`, `guest`.`time`, `guest`.`id` as `post_id`, `user`.`date_last`,`user`.`nick`, `user`.`id`, `user`.`pol`, `user`.`group_access` FROM `guest` LEFT JOIN `user` ON `guest`.`id_user` = `user`.`id` ORDER BY `guest`.`id` DESC LIMIT ".$page->limit());
    
    while (
$post $sql->fetch())
    {
        echo 
'<div class="'.($i++ % 'p_m' 'p_t').'">'.Core::user_show($post, array('post' => text::output($post['msg']), 'status' => $post['time'], 'is_time' => true), 'new');

        if (
$user_id)
            echo 
'<br /><a href="?act=reply&amp;id='.$post['id'].'&amp;sid='.mt_rand(99,999).'#message">Ответить</a>';

        if (
$moder)
            echo 
'<a style="float:right" href="?id='.$post['post_id'].'&amp;act=del">Удалить</a>';
        echo 
'</div>';
    }
   
    
$page->display('?');
    
$cache->write();
    }
    echo 
$cache->read();
echo 
'<form name="form" method = "post">';
    if (
$user_id)
    {
        
$area null;
        if (
$act == 'reply')
        {
            
$for Core::get_user($id);
            
$area '[b]' $for['nick'] . '[/b], ';
        }
        
$js_form 'form';
        
$js_elem 'msg';
        include 
incDir 'JsToolBar.php';
        
?>
            <a name="advance_message"></a>
            
            Сообщение:<br />
            <textarea name="msg"><?=$area?></textarea><br />
            <input value="Отправить" type="submit"/>
            </form>
        <?php
    
}

    if (
$admin)
    {
        
?>
            <div class="fmenu">
                <a href="?act=clean">Очистить гостевую</a>
            </div>
        <?php
    
}

    unset(
$cache$page$post$data$i);
    echo 
'<a href="/"><div class="menu_razd">Главная</div></a>';

    include 
H.'engine/includes/foot.php';
Онлайн: 2
Реклама