Вход Регистрация
Файл: CMS/gallery/index.php
Строк: 432
<?php
define
('CMS',TRUE);
define('ROOT','../');
include(
'../core/inc.php');

$is_admin is_admin() ? true false;
$error    '';

$id = !empty($_GET['id']) ? (int) $_GET['id'] : 0;
$mod = !empty($_GET['m']) ? (string) $_GET['m'] : '';
$page = !empty($_GET['page']) ? (int) $_GET['page'] : 1;

switch (
$mod):
default:

    
show_header('Галерея сайта');
    echo 
'<div class="b">';
    echo 
'<a href="#down">' icon('down.png') . '</a> ';

    if (
$is_logged) {

        echo 
'<a href="' gen_users($log'album'''RND) . '">Мои фото</a> | ';
    }
    echo 
'<a href="' gen_uri('albums'''RND) . '">Все альбомы</a>'

    if (
is_admin()) {
        echo 
' | <a href="' gen_admin('?m=gallery&amp;page=' $page '&amp;' RND) . '">Управление</a>';
    }
    echo 
'<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) {

        foreach(
$rows as $row) {

            
$size read_fileROOTPATH '/upload/pictures/' $row['photo_link'] );

            echo 
'<div class="b"><table><tr>';

            echo 
'<td width="20%"><div id="gallery"><a href="' 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="' gen_uri('photo'$row['photo_id'], 'page=' $page '&amp;' RND) . '">'.$row['photo_title'].'</a></b> (' $size ')<br />';

            if (!empty(
$row['photo_text'])) {
                echo 
bb_code($row['photo_text']).'<br />';
            }
            echo 
'Добавлено: ' users_anketa($row['photo_user']) . ' (' get_date($row['photo_time']) . ')<br />';
            echo 
'<a href="' gen_uri('photo'$row['photo_id'], 'page=' $page '#comm') . '">Комментарии</a> (' $row['photo_comments'] . ')';
            echo 
'</td></tr></table></div>';
        }

        echo 
show_pages('index'RND'p');

        echo 
'<div class="b">Всего фотографий: <b>' $total '</b><br /></div>';
    }
    else {

        
show_error('Фотографий нет, будь первым!');
    }
    echo 
'<div class="b">';
    echo 
'<a href="#up">' icon('up.png') . '</a> ';
    echo 
'<a href="' gen_uri('search'''RND) . '">Поиск</a> | ';
    echo 
'<a href="' gen_uri('top'''RND) . '">Топ фото</a> | ';
    echo 
'<a href="' gen_uri('addphoto'''RND) . '">Добавить фото</a> | ';
    echo 
'<a href="' gen_uri('battles'''RND) . '">Фото-Битвы</a><br /></div>';

break;
case 
'search':

    
$q = !empty($_REQUEST['q']) ? (string) $_REQUEST['q'] : '';

    
$logic = !empty($_REQUEST['logic']) ? (string) $_REQUEST['logic'] : 'or';

    
$lang['OR']          = 'или';
    
$lang['AND']         = 'и';
    
$lang['SEARCH_WORD'] = '«%s»';
    
$error               '';

    if (!empty(
$_REQUEST['q'])) {

        if (!
in_array($logic, array('and''or'))) {

            
$logic 'or';
        }
        
$logic strtoupper$logic );

        
$q preg_replace('#[^a-zA-Zа-яА-Я0-9 -_@:;()+=.,&*!?<>#$"'/\]#siu', '', $q);
        
$q preg_replace('/s/u'' '$q);
        
$q preg_replace('/ {2,}/u'' '$q);
        
$q strip_tags($q);
        if (
get_magic_quotes_gpc()) {

            
$q stripslashes($q);
        }
        
$q trim$q );

        if ( 
$q == '' ) {

            
$inSes->addMessage('Произошла Ошибка! Вы не ввели запрос &quot;Что искать?&quot;');
            
gen_red('search'''RND);
        }
        else {

            
$q explode(' '$q);
            
array_splice($q3);
            
$escape_array = array(
                              
"x2a" => ""//*
                              
"x22" => ""//"
                              
"x2b" => ""//+
                              
"x2d" => ""//-
                              
"x7e" => ""//~
                              
"x28" => ""//(
                              
"x29" => ""//)
                              
"x3c" => ""//<
                              
"x3e" => ""  //>
                              
);

            for(
$i 0$query = array(); $i count$q ); $i++) {

                
$query[] = sprintf($lang['SEARCH_WORD'], check($q[$i]));
                
$q[$i]   = strtr($q[$i], $escape_array);
            }

            
$query implode(' ' $lang[$logic] . ' '$query);

            for(
$i 0$part_of_query ''$sep ''$i count$q ); $i++, $sep $logic) {

                
$part_of_query .= $sep " MATCH(`photo_title`,`photo_text`) AGAINST('" mysql_escape_string($q[$i]) . "*' IN BOOLEAN MODE) ";
            }

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

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

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

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

                
$c $from 1;
                
$start = ($page 1) * $onpage;
                if (
$start 0$start 0
                if (
$start $total 1$start $total 1;
                
$stop $start $onpage;
                if (
$stop $total$stop $total;

                
$v[] = '<div class="b">';
                
$v[] = '- Всего найдено: <strong>' intval$total ) . '</strong><br />';
                
$v[] = '- Показаны результаты с <strong>' intval$start 1) . '</strong>';
                
$v[] = '  по <strong>' intval$stop ) . '</strong> место<br /></div>';

                foreach( 
$rows as $row ) {

                    
$size read_fileROOTPATH '/upload/pictures/' $row['photo_link'] );

                    
$v[] = '<div class="b"><table><tr>';
                    
$v[] = '<td width="20%"><div id="gallery"><a href="' gen_uri('photo'$row['photo_id'], 'page=' $page '&amp;' RND) . '">';
                    
$v[] = resize_image('upload/pictures/'$row['photo_link'], $config['preview_size'], $row['photo_title']) . '</a></div></td>';
                    
$v[] = '<td valign="top" width="70%" style="padding:5px;">' icon('photos.png''icons');
                    
$v[] = '<b><a href="' gen_uri('photo'$row['photo_id'], 'page=' $page '&amp;' RND) . '">'.$row['photo_title'].'</a></b> (' $size ')<br />';

                    if (!empty(
$row['photo_text'])) {
                        
$v[] = bb_code($row['photo_text']).'<br />';
                    }
                    
$v[] = 'Добавлено: ' users_anketa($row['photo_user']) . ' (' get_date($row['photo_time']) . ')<br />';
                    
$v[] = '<a href="' gen_uri('photo'$row['photo_id'], 'page=' $page '#comm') . '">Комментарии</a> (' $row['photo_comments'] . ')';
                    
$v[] = '</td></tr></table></div>';
                }

                
show_header('Результаты поиска - ' $query);

                echo 
implode('',$v);

                
$_q  'q=' urlencode(implode(' '$q));
                
$_q .= '&amp;logic=' strtolower($logic);
                echo 
show_pages('search'$_q'p');
            }
            else {

                
show_header('Поиск фото по названию');
                
show_error('По вашему запросу ' $query ' ни чего не найдено!');
            }
        }
    }
    else {

        
show_header('Поиск фото по названию');
    }
    
$form = new cmsForm(gen_uri('search'''RND), 'post');
    
$form->addText('Ваш запрос:''q'request('q'));
    
$form->addRadio('''logic'strtolower($logic), array('and' => 'Все слова''or' => 'Любое из слов'));
    echo 
$form->Submit('Искать');
    unset(
$form);

    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="' gen_uri('index'''RND) . '">Галерея</a> | ';
    echo 
'<a href="' gen_uri('top'''RND) . '">Топ фото</a> | ';
    echo 
'<a href="' gen_uri('addphoto'''RND) . '">Добавить фото</a> | ';
    echo 
'<a href="' gen_uri('battles'''RND) . '">Фото-Битвы</a><br /></div>';

break;
case 
'photo':

    
$prs parse_url($_SERVER['REQUEST_URI']);
    
$row $db->selectRow("SELECT *,
                          (SELECT COUNT(1) FROM ?_users_bookmarks WHERE `book_path` = ?) AS `bookmarks`
                           FROM ?_users_photos WHERE `photo_id` = ? LIMIT 1;"
$prs['path'], $id);

    if (!empty(
$row)) {

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

          if (
$is_logged || $config['photos_vote_guest'] == 1) {

            
$vote check($_GET['vote']);

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

              if (
$vote == 'up' || $vote == 'down') {

                
$score = ($vote == 'up') ? : -1;

                if (
$log <> $row['photo_user'] || $config['photos_vote_guest'] == 1) {

                  
$_IP check$_SERVER['REMOTE_ADDR'] );

                  if (
$is_logged) {

                      
$is_rated = (int) $db->selectCell("SELECT `rated_id` FROM ?_users_photos_rated 
                                                         WHERE `rated_photo` = ? AND `rated_user` = ? LIMIT 1;"
$id$log);

                      
$nick check($log);
                  }
                  else {

                      
$is_rated = (int) $db->selectCell("SELECT `rated_id` FROM ?_users_photos_rated 
                                                         WHERE `rated_photo` = ? AND `rated_ip` = ? LIMIT 1;"
$id$_IP);
                      
$nick $config['guest_name'];
                  }

                  if (
$is_rated 1) {

                      
$expiresrated SITE_TIME 3600 $config['photos_exprated'];

                      
$db->query("DELETE FROM ?_users_photos_rated WHERE `rated_time` < ?;"SITE_TIME);

                      
$db->query("INSERT INTO ?_users_photos_rated (`rated_photo`, `rated_user`, `rated_ip`, `rated_time`) 
                                  VALUES (?, ?, ?, ?);"
$id$nick$_IP$expiresrated);

                      
$db->query("UPDATE ?_users_photos SET `photo_rating` = (`photo_rating` + ?) WHERE `photo_id` = ?;"$score$id);

                      
$inSes->addMessage('Ваша оценка принята! Рейтинг фотографии: ' format_num($row['photo_rating'] + $score), 'ok');
                  }
                  else 
$inSes->addMessage('Ошибка! Вы уже оценивали данную фотографию!');
                }
                else 
$inSes->addMessage('Ошибка! Нельзя голосовать за свои фотографии!');
              }
              else 
$inSes->addMessage('Ошибка! Необходимо проголосовать за или против фотографии!');
            }
            else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
          }
          else 
$inSes->addMessage('Ошибка! Вы не авторизованы! Голосовать могут только обитатели сайта!');

          
gen_red('photo'$idRND);
        }

        if (
$is_logged) {

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

            
$msg = !empty($_POST['text']) ? check($_POST['text']) : '';

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

              if (
cms_strlen(trim($msg)) >= && cms_strlen($msg) < 1000) {

                if (
$row['photo_closed'] <> 1) {

                  if (
is_quarantine($log)) {

                    if (
is_flood($log)) {

                      
$msg  antimat($msg);
                      
$msg  smiles($msg);
                      
$date date('Y-m-d H:i:s'SITE_TIME);

                      
$db->query("INSERT INTO ?_comments SET `comm_post` = ?, `comm_text` = ?, `comm_author` = ?, `comm_type` = 'gallery', `comm_date` = ?, `comm_ip` = ?, `comm_ua` = ?"$id$msg$log$date$ip$brow);

                      
$db->query("UPDATE ?_users_photos SET `photo_comments` = (`photo_comments` + 1) WHERE `photo_id` = ?;"$id);

                      
$db->query("UPDATE ?_users SET `users_allcomments` = (`users_allcomments` + 1), `users_point` = (`users_point` + ?), `users_money` = (`users_money` + ?) WHERE `users_login` = ?"$config['comm_add_point'], $config['comm_add_money'], $log);

                      
$inSes->addMessage('Комментарий успешно добавлен!''ok');

                      
gen_red('photo'$idRND);

                    }
                    else 
$inSes->addMessage('Антифлуд! Разрешается отправлять сообщения раз в ' flood_period() . ' секунд!');
                  }
                  else 
$inSes->addMessage('Карантин! Вы не можете писать в течении ' round($config['karantin'] / 3600) . ' часов!');
                }
                else 
$inSes->addMessage('Ошибка! Комментирование данной фотографии запрещено!');
              }
              else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое сообщение!');
            }
            else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
          }

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

            if (
is_admin()) {

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

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

                if (!empty(
$del)) {

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

                    
$del implode(','$del);

                    
$delcom = (int) $db->query("DELETE FROM ?_comments WHERE `comm_type` = 'gallery' 
                                                AND `comm_id` IN (" 
$del ") AND `comm_post` = ?"$id);

                    
$db->query("UPDATE ?_users_photos SET `photo_comments` = (`photo_comments` - ?) WHERE `photo_id` = ?;",$delcom$id);

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

                    
gen_red('photo'$idRND);

                }
                else 
$inSes->addMessage('Ошибка! Отстутствуют выбранные комментарии для удаления!');
              }
              else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
            }
            else 
$inSes->addMessage('Ошибка! Удалять комментарии могут только модераторы!');
          }
        }

        
show_header($row['photo_title']);
        echo 
'<div class="b">' icon('photos.png''icons');
        echo 
'<b>' $row['photo_title'] . '</b> (' read_fileROOTPATH '/upload/pictures/' $row['photo_link'] ) . ')';

        if (
$row['photo_user'] == $log) {

            echo 
'<div style="float:right;margin-top:-14px;margin-right:3px;">';
            echo 
'<br /><a href="' gen_uri('edit'$row['photo_id'], 'page=' $page '&amp;' RND) . '">Редактировать</a>';
            echo 
'</div>';
        }

        echo 
'</div><div class="b"><div id="gallery" style="max-width:240px;max-height:320px;">
              <a href="' 
$config['site_url'] . '/upload/pictures/' $row['photo_link'] . '">
              <img src="' 
$config['site_url'] . '/upload/pictures/' $row['photo_link'] . '" width="240" height="320" alt="' $row['photo_title'] . '" /></a><br /></div>';



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

        echo 
'<br />Рейтинг: <a href="' gen_uri('photo'$id'vote=down&amp;rnd=' $_SESSION['token'] . '&amp;' RND) . '"><img src="../images/icons/1_14_down.png" alt="Минус" /></a> <big><b>' format_num($row['photo_rating']) . '</b></big> <a href="' gen_uri('photo'$id'vote=up&amp;rnd=' $_SESSION['token'] . '&amp;' RND) . '"><img src="../images/icons/1_14_up.png" alt="Плюс" /></a><br />';

        echo 
'Добавлено: ' users_anketa($row['photo_user']) . ' (' get_date($row['photo_time']) . ')<br /></div>';

        echo 
show_bookmarks($row['photo_title'], ''$row['bookmarks']);

        
$comm_type 'gallery';
        
$comm_url 'photo'
        
// Подключили комменты
        
include( MODULES_PATH 'comments.inc.php' );

        if (
$is_logged) {

            if (
$row['photo_closed'] == 1) {

                
show_error('Комментирование данной фотографии запрещено!');
            }
            else {

                
$form = new cmsForm(gen_uri('photo'$id'rnd=' $_SESSION['token']), 'post');
                
$form->addTextarea('Напишите комментарий:''text'request('text'));
                echo 
$form->Submit('Добавить''submit');
                unset(
$form);
            }
        }
        else {

            
show_login('Вы не авторизованы, для комментирования, необходимо');
        }

        echo 
'<div class="b">' icon('return.png');
        echo 
'<a href="' gen_users($row['photo_user'], 'album'''RND) . '">Альбом</a> | ';
        echo 
'<a href="' gen_uri('addphoto'''RND) . '">Добавить фото</a> | ';
        echo 
'<a href="' gen_uri('index'''RND) . '">Галерея</a><br /></div>';
    }
    else {

        
$inSes->addMessage('Ошибка! Данного изображения нет в базе');
        
gen_red('index'''RND);
    }

break;
case 
'addphoto':

    if (
$is_logged) {

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

            
gen_red('index'''RND);
        }
        if (!empty(
$_POST['submit'])) {

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

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

              if (
is_uploaded_file($_FILES['photo']['tmp_name'])) {

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

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

                    
$photosize getimagesize($_FILES['photo']['tmp_name']);
                    
$ext       strtolower(substr(strrchr($_FILES['photo']['name'], '.'), 1));

                    if (
$ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'png') {

                      if (
$_FILES['photo']['size'] > && $_FILES['photo']['size'] <= $config['photos_max_weight']) {

                        if (
$photosize[0] <= $config['photos_max_size'] && $photosize[1] <= $config['photos_max_size'] && $photosize[0] >= 100 && $photosize[1] >= 100) {
                          if (
is_quarantine($log)) {

                            if (
is_flood($log)) {

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

                              
$lastid = (int) $db->query("INSERT INTO ?_users_photos (`photo_user`, `photo_title`, `photo_text`, `photo_link`, `photo_time`, `photo_battle`, `photo_closed`) VALUES (?, ?, ?, ?, ?, ?, ?);"$log$title$text''SITE_TIME$battle$closed);

                              
$db->query("UPDATE ?_users_photos SET `photo_link` = ? WHERE `photo_id` = ?;",$lastid '.' $ext$lastid);

                              include_once( 
ENGINE '/classes/upload.class.php' );

                              
$handle = new upload($_FILES['photo']);

                              if (
$handle -> uploaded) {
                                  
$handle -> file_new_name_body $lastid;
                                  
$handle -> image_resize true;
                                  
$handle -> image_ratio true;
                                  
$handle -> image_ratio_no_zoom_in true;
                                  
$handle -> image_y $config['photos_max_size'];
                                  
$handle -> image_x $config['photos_max_size'];
                                  
$handle -> file_overwrite true;

                                  if (!empty(
$config['image_watermark'])) {

                                      
$handle -> image_watermark ROOTPATH '/images/watermark.png';
                                      
$handle -> image_watermark_position 'BR';
                                  }

                                  
$handle -> processROOTPATH '/upload/pictures/' );

                                  if (
$handle -> processed) {
                                      
$handle -> clean();

                                      
/* Лента */

                                      
$subs $db->select("SELECT * FROM ?_users_lenta_subscribe
                                                           WHERE `sub_publisher` = ?"
$log);

                                      if (!empty(
$subs) && count($subs) > 0) {

                                          
$sex   = ($uset['users_gender'] == 1) ? 'добавил' 'добавила';
                                          
$text  $sex " новое фото <b>" $title "</b> в галерею.n";
                                          
$text .= "[gallery=" $lastid "]Подробнее &gt;&gt;[/gallery]";

                                          foreach(
$subs as $sub) {

                                               
$db->query("INSERT INTO ?_users_lenta SET `lenta_subscriber` = ?, `lenta_publisher` = ?, `lenta_time` = ?, `lenta_message` = ?"$sub['sub_subscriber'], $logSITE_TIME$text);
                                          }
                                      }
                                      
$inSes->addMessage('Фотография успешно загружена!''ok');
                                      
gen_red('index'''RND);
                                  }
                                  else 
$error 'Ошибка! ' $handle -> error;
                              }
                              else 
$error 'Ошибка! Не удалось загрузить изображение!';
                            }
                            else 
$error 'Антифлуд! Вы слишком часто добавляете фотографии!';
                          }
                          else 
$error 'Карантин! Вы не можете добавлять фото в течении ' round($config['allow_karantin'] / 3600) . ' часов!';
                        }
                        else 
$error 'Ошибка! Размер изображения должен быть от 100 до ' $config['photos_max_size'] . ' px';
                      }
                      else 
$error 'Ошибка! Вес изображения должен быть не более ' size($config['photos_max_weight']);
                    }
                    else 
$error 'Ошибка! Недопустимое расширение (Разрешено jpg, jpeg, gif и png)!';
                  }
                  else 
$error 'Слишком длинное описание (Необходимо до 1000 символов)!';
                }
                else 
$error 'Слишком длинное или короткое название (Необходимо от 5 до 50 символов)!';
              }
              else 
$error 'Ошибка! Не удалось загрузить изображение!';
            }
            else 
$error 'Ошибка! Неверный идентификатор сессии, повторите действие!';

            if (!empty(
$error)) $inSes->addMessage($error'error');
        }

        
show_header('Добавление фотографии');
        
$form = new cmsForm(gen_uri('addphoto''''rnd=' $_SESSION['token'] . '&amp;' RND), 'post');
        
$form->addFile('Прикрепить фото:''photo'' accept="image/jpeg,image/gif,image/png"');
        
$form->addText('Название:''title'request('title'));
        
$form->addTextarea('Подпись к фото:''text'request('text'));
        
$form->addCheckBox('Участвует в фото-битвах:''battle'request('battle'));
        
$form->addCheckBox('Закрыть комментарии:''closed');
        echo 
$form->Submit(array('Добавить','Отмена'), array('submit','cancel'));
        unset(
$form);
        echo 
'<div class="b">';
        echo 
'Разрешается добавлять фото с расширением jpg, jpeg, gif и png<br />';
        echo 
'Весом не более ' size($config['photos_max_weight']) . ' и размером от 100 до ' num($config['photos_max_size']) . ' px<br /></div>';
    }
    else {
        
show_header('Добавление фотографии');
        
show_login('Вы не авторизованы, чтобы добавить фотографию, необходимо');
    }
    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="' gen_uri('index''''page=' $page '&amp;' RND) . '">Вернуться</a><br /></div>';

break;
case 
'edit':

    if (
$is_logged) {

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

        if (!empty(
$photo)) {

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

                
gen_red('photo'$idRND);
            }
            if (!empty(
$_POST['submit'])) {

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

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

                  if (
cms_strlen($title) >= && 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');

                      
gen_red('photo'$idRND);
                    }
                    else 
$inSes->addMessage('Ошибка! Слишком длинное описание (Необходимо до 1000 символов)!');
                  }
                  else 
$inSes->addMessage('Ошибка! Слишком длинное или короткое название!');
                }
                else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
            }

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

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

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

                  if (empty(
$photo['photo_comments'])) {

                      
$db->query("DELETE FROM ?_users_photos WHERE `photo_id` = ? LIMIT 1;"$id);
                      
$db->query("DELETE FROM ?_comments WHERE `comm_type` = 'gallery' AND `comm_post` = ?;"$id);
                      
$db->query("OPTIMIZE TABLE ?_users_photos, ?_comments");

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

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

                      
gen_red('index'''RND);
                  }
                  else 
$inSes->addMessage('Ошибка! Запрещено удалять фотографии к которым имеются комментарии!');
                }
                else 
$inSes->addMessage('Ошибка! Не установлены атрибуты доступа на дирекоторию с фотографиями!');
              }
              else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
            }

            
show_header('Редактирование фотографии');
            
$photo['photo_text'] = str_replace('<br />'"n"nosmiles($photo['photo_text']));
            
$form = new cmsForm(gen_uri('edit'$id'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('error.gif''icons');
            echo 
'<a href="' gen_uri('edit'$id'del=1&amp;rnd='.$_SESSION['token']) . '">Удалить фото</a></div>';

        }
        else {
            
show_header('Редактирование фотографии');
            
show_error('Ошибка! Фотография удалена или вы не автор этой фотографии!');
        }
    }
    else {
        
show_header('Редактирование фотографии');
        
show_login('Вы не авторизованы, чтобы редактировать фотографию, необходимо');
    }
    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="album.php?act=photo&amp;page=' $page '&amp;'.RND.'">Альбом</a> | ';
    echo 
'<a href="' gen_uri('index'''RND) . '">Галерея</a><br /></div>';

break;
case 
'albums':

    
show_header('Альбомы пользователей');

    
$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 COUNT(*) AS `cnt`, SUM(`photo_comments`) AS `comments`, `photo_user` 
                                      FROM ?_users_photos GROUP BY `photo_user` ORDER BY `cnt` 
                                      DESC LIMIT ?d, ?d"
$from$onpage);

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

        foreach(
$rows as $row) {

            echo 
'<div class="b">' icon('photos.png''icons');
            echo 
'<b><a href="' gen_users($row['photo_user'], 'album'''RND) . '">' nickname($row['photo_user']) . '</a></b> (' $row['cnt'] . ' фото / ' $row['comments'] . ' комм.)<br /></div>';
        }

        echo 
show_pages('album'RND'p');

        echo 
'<div class="b">Всего альбомов: <b>' $total '</b><br /></div>';
    }
    else {

        
show_error('Альбомов еще нет!');
    }

    echo 
'<div class="b">' icon('return.png');
    echo 
'<a href="' gen_uri('index'''RND) . '">В галерею</a> | ';
    echo 
'<a href="' gen_uri('top'''RND) . '">Топ фото</a> | ';
    echo 
'<a href="' gen_uri('addphoto'''RND) . '">Добавить фото</a><br /></div>';

break;
case 
'top':

    switch (
$id) {
        case 
1$order 'photo_comments'; break;
    default: 
$order 'photo_rating'; break;
    }

    
show_header('Топ популярных фотографий');
    echo 
'<div class="b">';
    echo 
'<a href="#down">' icon('down.png') . '</a> ';
    echo 
'Сортировать: ';

    if (
$order == 'photo_rating') {
        echo 
'<b><a href="' gen_uri('top'''RND) . '">Оценки</a></b>, ';
    } else {
        echo 
'<a href="' gen_uri('top'''RND) . '">Оценки</a>, ';
    }

    if (
$order == 'photo_comments') {
        echo 
'<b><a href="' gen_uri('top'1RND) . '">Комментарии</a></b>';
    } else {
        echo 
'<a href="' gen_uri('top'1RND) . '">Комментарии</a>';
    }

    echo 
'</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 " 
$order " DESC 
                                      LIMIT ?d, ?d"
$from$onpage);

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

        foreach(
$rows as $row) {

            
$size read_fileROOTPATH '/upload/pictures/' $row['photo_link'] );

            echo 
'<div class="b"><table><tr>';

            echo 
'<td width="30%"><div id="gallery"><a href="' 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="' 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 
'Добавлено: ' users_anketa($row['photo_user']) . ' (' get_date($row['photo_time']) . ')<br />';
            echo 
'<a href="' gen_uri('photo'$row['photo_id'], 'page=' $page '#comm') . '">Комментарии</a> (' $row['photo_comments'] . ')';
            echo 
'</td></tr></table></div>';
        }

        echo 
show_pages(gen_uri('top'$idRND));

        echo 
'<div class="b">Всего фотографий: <b>' $total '</b><br /></div>';
    }
    else {

        
show_error('Загруженных фотографий еще нет!');
    }
    echo 
'<div class="b">';
    echo 
'<a href="#up">' icon('up.png') . '</a> ';
    echo 
'<a href="' gen_uri('albums'''RND) . '">Альбомы</a> | ';
    echo 
'<a href="' gen_uri('addphoto'''RND) . '">Добавить фото</a> | ';
    echo 
'<a href="' gen_uri('index'''RND) . '">Галерея</a><br /></div>'

break;

endswitch;

show_footer();

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