Вход Регистрация
Файл: CMS/core/admin/gallery.php
Строк: 121
<?php

if (!defined('CMS')) { die('Access Denied!'); }

if (
is_admin()) {

    if (!empty(
$_GET['restatement'])) {

        if (
is_admin(array(101))) {

            if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                
$db->query("UPDATE ?_users_photos SET `photo_comments` = (SELECT COUNT(1) FROM ?_comments WHERE ?_users_photos.`photo_id` = ?_comments.`comm_post` AND ?_comments.`comm_type` = 'gallery');");

                
$db->query("UPDATE ?_users_battle SET `battle_comm` = (SELECT COUNT(1) FROM ?_comments WHERE ?_users_battle.`battle_id` = ?_comments.`comm_post` AND ?_comments.`comm_type` = 'battle');");

                
$inSes->addMessage('Комментарии успешно пересчитаны!', 'ok');

                
redirect('?m=gallery&page=' . $page . '&' . RND);
            }
            else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
        }
        else 
$inSes->addMessage('Ошибка! Пересчитывать комментарии могут только суперадмины!');
    }

    if (!empty(
$_POST['del'])) {

        
$del = intar($_POST['del']);

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (!empty(
$del)) {

                
$del = is_array($del) ? $del : array($del);

                
$del = implode(',', $del);

                if (
is_writeable(ROOTPATH.'/upload/pictures') ) {

                    
$arr_photo = $db->select("SELECT * FROM ?_users_photos WHERE `photo_id` IN (" . $del . ");");

                    if (
count($arr_photo) > 0) {

                        foreach (
$arr_photo as $delete) {

                            
$db->query("DELETE FROM ?_users_photos WHERE `photo_id` = ? LIMIT 1;", $delete['photo_id']);

                            
$db->query("DELETE FROM ?_users_photos_rated WHERE `rated_photo` = ? LIMIT 1;", $delete['photo_id']);

                            
$db->query("DELETE FROM ?_users_battle_rated WHERE `rated_photo` = ? LIMIT 1;", $delete['photo_id']);

                            
$db->query("DELETE FROM ?_comments 
                                        WHERE (`comm_type` = 'gallery' OR `comm_type` = 'battle') 
                                        AND `comm_post` = ?;"
, $delete['photo_id']);

                            
$db->query("DELETE FROM ?_users_battle
                                        WHERE `battle_photo_1` = ? OR `battle_photo_2` = ?"
, $delete['photo_id'], $delete['photo_id']);

                            
unlink_image('upload/pictures/', $delete['photo_link']);
                        }

                        
$db->query("OPTIMIZE TABLE ?_users_photos, ?_users_photos_rated, ?_comments, ?_users_battle, ?_users_battle_rated;");

                        
$inSes->addMessage('Выбранные фотографии успешно удалены!', 'ok');

                        
redirect('?m=gallery&page=' . $page . '&' . RND);
                    }
                    else 
$inSes->addMessage('Ошибка! Данных фотографий не существует!');
                }
                else 
$inSes->addMessage('Ошибка! Не установлены атрибуты доступа на дирекоторию с фотографиями!');
            }
            else 
$inSes->addMessage('Ошибка! Отсутствуют выбранные фотографии!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }

    switch (
$mod):
    default:
        
show_header('Управление галереей');
        echo 
'<div class="b">';
        echo 
'<a href="#down">' . icon('down.png') . '</a> ';
        echo 
'<a href="?m=gallery&amp;page=' . $page . '&amp;' . RND . '">Обновить</a> | ';
        echo 
'<a href="../gallery/' . gen_uri('addphoto', '', RND) . '">Добавить фото</a> | ';
        echo 
'<a href="../gallery/' . gen_uri('index', '', RND) . '">Обзор</a><br /></div>';

        
$onpage = !empty($config['photos_num']) ? num($config['photos_num']) : 10;

        if (
$page > 1) $from = ($page - 1) * $onpage; else $from = 0;

        
$rows = $db->selectPage( $total, "SELECT * FROM ?_users_photos 
                                          ORDER BY `photo_time` DESC 
                                          LIMIT ?d, ?d"
, $from, $onpage);

        if (!empty(
$rows) && $total > 0) {

            echo 
'<form action="?m=gallery&amp;page=' . $page . '&amp;rnd=' . $_SESSION['token'] . '" method="post" name="gallery">';

            foreach(
$rows as $row) {

                
$size = read_file( ROOTPATH . '/upload/pictures/' . $row['photo_link'] );

                echo 
'<div class="b"><table><tr><td width="30%"><div id="gallery">';
                echo 
'<a href="/gallery/' . gen_uri('photo', $row['photo_id'], 'page=' . $page . '&amp;' . RND) . '">';
                echo 
resize_image('upload/pictures/', $row['photo_link'], $config['preview_size'], $row['photo_title']) . '</a></div></td>';

                echo 
'<td valign="top" width="70%" style="padding:5px;">' . icon('photos.png', 'icons');
                echo 
'<b><a href="/gallery/' . gen_uri('photo', $row['photo_id'], 'page=' . $page . '&amp;' . RND) . '">'.$row['photo_title'].'</a></b> (' . $size . ') (' . format_num($row['photo_rating']) . ')<br />';

                if (!empty(
$row['photo_text'])) {
                    echo 
bb_code($row['photo_text']).'<br />';
                }

                echo 
'<input type="checkbox" name="del[]" value="' . $row['photo_id'] . '" /> ';
                echo 
'<a href="?m=edit_photos&amp;page=' . $page . '&amp;id=' . $row['photo_id'] . '&amp;' . RND . '">Редактировать</a><br />';
                if (
$row['photo_battle'] == 1) echo '<b>Участвует на битвах</b><br />';
                echo 
'Добавлено: ' . users_anketa($row['photo_user']) . ' (' . get_date($row['photo_time']) . ')<br />';
                echo 
'<a href="/gallery/' . gen_uri('photo', $row['photo_id'], 'page=' . $page . '#comm') . '">Комментарии</a> (' . $row['photo_comments'] . ')';
                echo 
'</td></tr></table></div>';
            }
            echo 
'<div class="b">';
            echo 
'<input type="checkbox" name="master_box" title="Отметить всё" onclick="javascript:ckeck_uncheck_all()">';
            echo 
'<input type="submit" class="btns" value="Удалить выбранное" /></div></form>';

            echo 
show_pages('?m=gallery');

            echo 
'<div class="b">Всего фотографий: <b>' . $total . '</b><br /></div>';
        }
        else {
            
show_error('Фотографий еще нет!');
        }

        if (
is_admin(array(101))) {

            echo 
'<div class="b">' . icon('mail.png');
            echo 
'<a href="?m=gallery&amp;restatement=1&amp;rnd=' . $_SESSION['token'] . '">Пересчитать</a> | ';
            echo 
'<a href="?m=set_gallery&amp;' . RND . '">Настройки</a><br /></div>';
        }

        echo <<<JSCRIPT

<script language='JavaScript' type="text/javascript">
<!--
function ckeck_uncheck_all() {
    var frm = document.gallery;
    if(frm.master_box.checked == true){ frm.master_box.checked = false; }
    else{ frm.master_box.checked = true; }
    for (var i=0;i<frm.elements.length;i++) {
        var elmnt = frm.elements[i];
        if (elmnt.type=='checkbox') {
            if(frm.master_box.checked == true){ elmnt.checked=false; }
            else{ elmnt.checked=true; }
        }
    }
}
-->
</script>

JSCRIPT;

    break;
    case 
'edit_photos':

        
$photo = $db->selectRow("SELECT * FROM ?_users_photos WHERE `photo_id` = ? LIMIT 1;", $id);

        if (!empty(
$photo)) {

            if (!empty(
$_POST['cancel'])) {

                
redirect('?m=gallery&' . RND);
            }
            if (!empty(
$_POST['submit'])) {

                
$title  = !empty($_POST['title'])  ? check($_POST['title']) : '';
                
$text   = !empty($_POST['text'])   ? check($_POST['text'])  : '';
                
$closed = !empty($_POST['closed']) ? 1 : 0;
                
$battle = !empty($_POST['battle']) ? 1 : 0;

                if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                  if (
cms_strlen($title) >= 3 && cms_strlen($title) <= 50) {

                    if (
cms_strlen($text) <= 1000) {

                      
$text = antimat($text);
                      
$text = smiles($text);

                      
$db->query("UPDATE ?_users_photos SET `photo_title` = ?, `photo_text` = ?, `photo_battle` = ?, `photo_closed` = ? 
                                  WHERE `photo_id` = ?;"
, $title, $text, $battle, $closed, $id);

                      
$inSes->addMessage('Фотография успешно отредактирована!', 'ok');

                      
redirect('?m=gallery&' . RND);
                    }
                    else 
$inSes->addMessage('Ошибка! Слишком длинное описание (Необходимо до 1000 символов)!');
                  }
                  else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое название!');
                }
                else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
            }
            
show_header('Редактирование фотографии');
            
$photo['photo_text'] = str_replace('<br />', "n", nosmiles($photo['photo_text']));
            
$form = new cmsForm('?m=edit_photos&amp;id=' . $id . '&amp;rnd=' . $_SESSION['token'] . '&amp;' . RND, 'post');
            
$form->addText('Название:', 'title', $photo['photo_title']);
            
$form->addTextarea('Подпись к фото:', 'text', $photo['photo_text']);
            
$form->addCheckBox('Участвует в фото-битвах:', 'battle', $photo['photo_battle']);
            
$form->addCheckBox('Закрыть комментарии:', 'closed', $photo['photo_closed']);
            echo 
$form->Submit(array('Изменить','Отмена'), array('submit','cancel'));
            unset(
$form);
            echo 
'<div class="b">' . icon('return.png');
            echo 
'<a href="?m=gallery&amp;' . RND . '">Вернуться</a></div>';

        }
        else {

            
$inSes->addMessage('Ошибка! Данной фотографии не существует!');

            
redirect('?m=gallery&' . RND);
        }

    break;

    endswitch;

    echo 
'<div class="b">' . icon('return.png') . ' <a href="?' . RND . '">В админку</a><br /></div>';

    
show_footer();
}
else {

    
redirect('/?' . RND);
}

?>
Онлайн: 0
Реклама