Файл: photos/index.php
Строк: 108
<?php
// by Mike O. (mides), coolcms.org
$title = 'Фотогалерея';
require_once '../includes/sys.php';
require_once '../includes/header.php';
$config['onpage'] = 4;
$type = 'photos';
switch ($act) {
    default:
        echo '<div class="title">Фотогалерея';
        if ($u['id']) {
            echo ' (<a href="index.php?act=photo_add">+фото</a>)';
        }
        echo '</div><div class="body">';
            
        if ($u['id']) {
            echo 'Мои: <a href="index.php?act=my">фото</a>, <a href="index.php?act=comm_by&id='.$u['id'].'">комментарии</a><br />';
        }
        echo '<a href="index.php?act=comm_new">Новые комментарии</a></div>'; //<a href="index.php?act=">Все альбомы</a>, 
        $total = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `photos`"), 0);
        if ($total > 0) {
            $pages = ceil($total / $config['onpage']);
            if ($page > $pages or $page == 0) {
                $page = 1;
            }
            $begin = ($page - 1) * $config['onpage'];
            
            $gallery_r = mysql_query("SELECT * FROM `photos` ORDER BY `time` DESC LIMIT $begin, $config[onpage]");
            while ($gallery = mysql_fetch_assoc($gallery_r)) {
                $comm = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `photos_comm` WHERE `id_photos` = '$gallery[id]'"), 0);
                echo '<div class="row"><a href="index.php?act=view&id='.$gallery['id'].'"><img src="../images/gallery.gif"> <b>'.$gallery['name'].'</b> ('.rating($gallery['rating']).')<br /><img src="resize.php?dir=photos/files&name='.$gallery['file'].'" alt="'.$gallery['name'].'" /><br />Добавлено: '.username($gallery['id_user'], 2).' ('.ccdate($gallery['time'], 0).')<br />Комментарии ('.$comm.')</a></div>';
            }
        } else {
            echo '<div class="body"><hr>Не загружено ни одного фото<hr></div>';
        }
        echo '<div class="body">';
        navig($page, '?', $pages);
        echo '<a href="index.php?act=top">Топ фото</a> (всего '.$total.')</div>';
    break;
    case 'photo_add':
        if (!$u['id']) redirect('../other/login.php');
        if ($ok) {
            if ($_FILES['file']['name'] and $_POST['name']) {
                if (ext($_FILES['file']['name']) == 'jpg' or ext($_FILES['file']['name']) == 'gif') {
                    $file = check(basename($_FILES['file']['name']));
                    $file_loaded = $u['id'].'_'.$file;
                    if (!mysql_num_rows(mysql_query("SELECT `id` FROM `photos` WHERE `file` = '$file_loaded'"))) {
                        $name = check($_POST['name']);
                        $desc = check($_POST['desc']);
                        copy($_FILES['file']['tmp_name'], 'files/'.$file_loaded);
                        mysql_query("INSERT INTO `photos` SET `id_user` = '$u[id]', `name` = '$name', `desc` = '$desc', `time` = '".TIME."', `file` = '$file_loaded'");
                        $last_id = mysql_insert_id();
                        redirect('?act=view&id='.$last_id);
                    } else {
                        error('Файл уже существует.');
                        nav('?act=photo_add');
                    }
                } else {
                    error('Неверный формат файла. Можно только .jpg и .gif');
                    nav('?act=photo_add');
                }
            } else {
                error('Вы не указали название или не прикрепили фото.');
                nav('?act=photo_add');
            }
        } else {
            tp('<a href="?">Фотогалерея</a>» Добавить фото');
            echo '<div class="body">';
            echo '<form name="form" action="?act=photo_add&ok=1" method="post" enctype="multipart/form-data">
            Прикрепить фото*:<br /><input name="file" type="file" size="file" /><br />
            Название(max50)*:<br /><input name="name" type="text" maxlength="50" /><br />
            Описание:<br /> '.bbpanel('form', 'desc').'<textarea name="desc" cols="" rows="4"></textarea><br />
            <input name="submit" type="submit" value="Ok" />
            </form>
            <br />
            <a href="?">К фотогалереи</a>
            </div>
            ';
        }
    break;                        
    
    case 'view':
        $gallery = mysql_fetch_assoc(mysql_query("SELECT * FROM `photos` WHERE `id` = '$id'"));
        if ($gallery['id']) {
            tp('<a href="?">Фотогалерея</a>» '.$gallery['name']);
            echo '<div class="body">
            <a href="files/'.$gallery['file'].'"><img src="files/'.$gallery['file'].'" width="150" alt="'.$gallery['name'].'" /></a><br />';
            if ($u['id']) {
                if ($u['avatar'] != $gallery['id']) {
                    echo '<a href="?act=avatar&id='.$gallery['id'].'">Использовать как аватар</a><br />';
                }
            }
            
            if ($gallery['desc']) echo bb($gallery['desc']).'<br />';
            
            echo 'Рейтинг: <b>'.rating($gallery['rating']).'</b> <a href="index.php?act=rate&id='.$gallery['id'].'"><image src="../images/arrow_down.png" alt="arrow_down" /></a><a href="index.php?act=rate&id='.$gallery['id'].'&ok=1""><image src="../images/arrow_up.png" alt="arrow_up" /></a><br /><br />';
            echo 'Добавлено: <a href="../other/profile.php?id='.$gallery['id_user'].'">'.username($gallery['id_user'], 2).'</a> ('.date('d.m.y, H:i', $gallery['time']).')<br />';
            
            $comm = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `photos_comm` WHERE `id_photos` = '$gallery[id]'"), 0);
            echo '<a href="?act=comm&id='.$gallery['id'].'">Комментарии</a> ('.$comm.')<br />';
            
            echo '<br />Скопировать адрес:<br /><input name="file" type="text" value="'.HTTPHOME.'/photos/?act=view&id='.$gallery['id'].'" /><br />';
            echo 'BB-код для форума:<br /><input name="bb_code" type="text" value="[url='.HTTPHOME.'/photos/?act=view&id='.$gallery['id'].']'.$gallery['name'].'[/url]" /><br />';
            
            //if ($u['access'] > 1) echo '<br />- <a href="?act=photo_edit&id='.$gallery['id'].'">Редактировать</a><br />';
            if (access(3)) echo '- <a href="?act=photo_del&id='.$gallery['id'].'">Удалить</a><br />';
            echo '<br /><a href="?">В фотогалерею</a></div>';
        } else {
            redirect('?');
        }
    break;
    
    case 'avatar':
        if ($u['id']) {
            $photo_r = mysql_query("SELECT * FROM `photos` WHERE `id` = '$id'");
            $photo = mysql_fetch_assoc($photo_r);
            if ($photo['id']) {
                mysql_query("UPDATE `users` SET `avatar` = '$photo[id]', `avatar_photo` = 1 WHERE `id` = '$u[id]'");
                redirect('../other/profile.php?id='.$u['id']);
            } else {
                redirect('?');
            }
        } else {
            redirect('?');
        }
    break;
            
    case 'photo_del':
        if (access(3)) {
            $photo = mysql_fetch_assoc(mysql_query("SELECT * FROM `photos` WHERE `id` = '$id'"));
            if ($photo['id']) {
                if ($ok) {
                    unlink('files/'.$photo['file']);
                    mysql_query("DELETE FROM `photos` WHERE `id` = '$photo[id]'");
                    redirect('?');
                } else {
                    tp('Подтвердите, пожалуйста');
                    echo '<div class="body">';
                    echo 'Вы действительно хотите удалить фото "<b>'.$photo['name'].'</b>"?<br />
                    <form name="form" action="?act=photo_del&id='.$id.'&ok=1" method="post">
                    <input name="submit" type="submit" value="Да" />
                    </form>
                    <br />
                    <a href="?act=view&id='.$photo['id'].'">К фото</a>
                    </div>';
                }
            } else {
                redirect('?');
            }
        } else {
            redirect('?');
        }
    break;
    case 'rate':
        require_once '../includes/rate.php';
    break;
    case 'comm':
        require_once '../includes/comm.php';
    break;
    
    case 'comm_add':
        require_once '../includes/comm_add.php';
    break;
    
    case 'comm_reply':
        require_once '../includes/comm_reply.php';
    break;
    
    case 'comm_edit':
        require_once '../includes/comm_edit.php';
    break;
    
    case 'comm_del':
        require_once '../includes/comm_del.php';
    break;    
    case 'comm_by':
        require_once '../includes/comm_by.php';
    break;
    
    case 'comm_new':
        require_once '../includes/comm_new.php';
    break;
    
    case 'top':
        require_once '../includes/top.php';
    break;
    case 'my':
        require_once '../includes/my.php';
    break;
}
require_once '../includes/tail.php';
?>