Орла
Области
Компаний
Пользователи
Галерея
Фиксированные новости
Орла
Отзывы о фирмах
Тарифы
Пользователи
Области
Банкоматы
Торговые точки
Доска объявлений
Курсы валют
Скидки
организации Орла
организации области
товары
сайты
сайты Орел
Данные
Разделы
Поиск
Поиск запросы
Статистика
Показы каталога организаций
Статистика клиенты
Пользователи
Сайты
Управление сайтом
Анкета
Аптеки
Афиша
Афиша новая
Баннеры
Бизнес >
Викторина
Голосование
Гость на сайте
Истории
Календарь событий
Каталоги >
Конкурс красоты
Конкурс аудио
Консультации
Меню
Новое на сайте
Новости >
Организации >
Программа ТВ
Публикации
Разделы сайта
Рассылка
Рестораны
Секрет фирмы >
Сервисы >
Ссылки
Тесты
Файловый менеджер
Форум
Фотогалерея
Обратная связь
Недвижимость
Новый год
Тексты
Пользователи
Юридический рейтинг
Отзывы на товары
Бан пользователей
Жалобы
Новые тесты
Коронавирус
Файловый менеджер
Имя файла
FotoGallery_back.php
Содержимое
<?php namespace app\fotogal; use App; use app\core\helpers\RuDate; /** * Класс для работы с фотогалереей. * Class FotoGallery * @package app\fotogal */ class FotoGallery { public function __construct() { } public static function getPhoto($photoId) { $photo = App::$command ->createCommand(' SELECT * FROM fotogal2 WHERE id = :photo_id AND status = 3 ') ->bindValue(':photo_id', (int)$photoId) ->queryOne(); if ($photo == null) { return null; } $photo['rating'] = static::getVote($photoId); $photo['comments'] = static::getPhotoComments($photoId); $photo['user'] = static::getPhotoAuthor($photoId); $photo['album'] = static::getAlbum($photo['id_razdel']); $photo['favorite'] = false; if (App::$user->isGuest() == false) { $photo['favorite'] = FotoFavorites::isFavorite(App::$user->getId(), $photo['id']); } if ($photo['album'] == null) { $photo['razdel'] = null; } else { $photo['razdel'] = static::getRazdel($photo['album']['id_parent']); } return $photo; } public static function getPhotoComments($photoId) { $comments = App::$command ->createCommand(' SELECT comment.id, comment.date as comment_date, comment.comment, user.id as user_id, user.name as user_name, user.name_full as user_name_full, user.avatar as user_avatar FROM foto_comment as comment LEFT JOIN user ON user.id = comment.id_user WHERE comment.id_foto = :photo_id ORDER BY comment.id ASC ') ->bindValue(':photo_id', $photoId) ->queryAll(); foreach ($comments as $key => $comment) { $comments[$key]['comment_date_format'] = RuDate::getDate($comment['comment_date']); $comments[$key]['user'] = [ 'id' => $comment['user_id'], 'name' => $comment['user_name'], 'name_full' => $comment['user_name_full'], 'avatar' => '/' . $comment['user_avatar'] ]; unset($comments[$key]['user_id']); unset($comments[$key]['user_name']); unset($comments[$key]['user_name_full']); unset($comments[$key]['user_avatar']); } return $comments; } public static function getPhotoAuthor($photoId) { $authorId = static::getAuthorId($photoId); $user = App::$command ->createCommand(' SELECT user.id, user.name, user.name_full, user.avatar FROM `user` WHERE id = :user_id ') ->bindValue(':user_id', $authorId) ->queryOne(); if ($user == null) { return null; } if ($user['avatar'] == '') { $user['avatar'] = App::getStaticDomain() . '/' . $user['avatar']; } else { $user['avatar'] = App::getStaticDomain() . '/' . App::$config['user']['noAvatar']; } return $user; } public static function getAuthorId($photoId) { return App::$command ->createCommand(' SELECT id, id_user FROM `fotogal2` WHERE id = :photo_id ') ->bindValue(':photo_id', $photoId) ->queryOne('id_user', null); } public static function getAlbums($parentId = 0) { return App::$command ->createCommand(' SELECT razdel.*, photo.foto FROM foto_razdel2 razdel LEFT JOIN fotogal2 photo ON photo.id_razdel = razdel.id WHERE razdel.id_parent = :parentId GROUP BY razdel.id ORDER BY razdel.position DESC; ') ->bindValue(':parentId', $parentId) ->queryAll(); } public static function getRootRazdelId($albumId) { return App::$command ->createCommand(' SELECT id_parent FROM foto_razdel2 WHERE id = :id; ') ->bindValue(':id', $albumId) ->queryOne('id_parent', 0); } public static function getRazdel($razdelId) { return App::$command ->createCommand(' SELECT * FROM foto_razdel2 WHERE id = :razdel_id ') ->bindValue(':razdel_id', $razdelId) ->queryOne(); } public static function getAlbum($albumId) { return App::$command ->createCommand(' SELECT * FROM foto_razdel2 WHERE id = :album_id ') ->bindValue(':album_id', $albumId) ->queryOne(); } /** * Функция возвращает название альбома или раздела. * @param $albumId * @return string */ public static function getAlbumName($albumId) { return App::$command ->createCommand(' SELECT `id`, `name` FROM foto_razdel2 WHERE id = :id ') ->bindValue(':id', $albumId) ->queryOne('name', null); } public static function getRazdelName($razdelId) { return static::getAlbumName($razdelId); } public static function isExistAlbum($albumId) { return App::$command ->createCommand(' SELECT COUNT(id) as total FROM `foto_razdel2` WHERE id = :id AND id_parent > 0 ') ->bindValue(':id', $albumId) ->queryOne('total', 0) > 0; } public static function isExistRazdel($razdelId) { return App::$command ->createCommand(' SELECT COUNT(id) as total FROM `foto_razdel2` WHERE id = :id AND id_parent = 0 ') ->bindValue(':id', $razdelId) ->queryOne('total', 0) > 0; } public static function isExist($photoId) { $command = App::$command ->createCommand(' SELECT COUNT(id) as total FROM `fotogal2` WHERE id = :photo_id AND status = 3 '); $command->bindValue(':photo_id', $photoId); return $command ->queryOne('total', 0) > 0; } public static function isVoted($photoId, $userId) { return App::$command ->createCommand(' SELECT COUNT(id) as total FROM `foto_user_voted` WHERE user_id = :user_id AND photo_id = :photo_id ') ->bindValue(':user_id', $userId) ->bindValue(':photo_id', $photoId) ->queryOne('total', 0) > 0; } /* * CREATE TABLE `foto_user_voted` ( `id` int auto_increment primary key, `foto_vote_id` int not null, `user_id` int not null, `photo_id` int not null ) engine=innodb charset=utf8; */ public static function vote($photoId, $vote, $userId) { App::$command ->createCommand(' INSERT INTO `foto_vote` (id_foto, ball, sid, uinmd, date, ipUser, ipProxy) VALUES(:id_photo, :ball, "", "", NOW(), :ip_user, :ip_proxy) ') ->bindValues([ ':id_photo' => (int)$photoId, ':ip_user' => App::$request->getIp(), ':ball' => (int)$vote, ':ip_proxy' => App::$request->getIpFromProxy() ]) ->query(); $insertId = App::$pdo->lastInsertId(); $command = App::$command ->createCommand(' INSERT INTO `foto_user_voted`(foto_vote_id, user_id, photo_id) VALUES(:foto_vote_id, :user_id, :photo_id) ') ->bindValues([ ':foto_vote_id' => $insertId, ':user_id' => $userId, ':photo_id' => $photoId ]); $command->query(); return true; } public static function getVote($photoId) { return App::$command ->createCommand(' SELECT SUM(foto_vote.ball ) / COUNT(foto_vote.id) rating FROM foto_vote WHERE foto_vote.id_foto = :photo_id; ') ->bindValue(':photo_id', $photoId) ->queryOne('rating', 0); } public static function getPopularPhotos($limit = 10) { return App::$command ->createCommand(' SELECT fotogal2.* , user.id AS id_user, user.name as user_name, user.name_full as user_name_full, sex, SUM( ball ) / COUNT( * ) rating FROM user, fotogal2 LEFT JOIN `foto_vote` ON fotogal2.id = foto_vote.id_foto WHERE ( status=3 or status=4 ) AND user.id = fotogal2.id_user GROUP BY fotogal2.`id` ORDER BY rating DESC, fotogal2.data desc LIMIT '.(int)$limit.'; ') ->queryAll(); } public static function getLastPhotos($limit = 10) { return App::$command ->createCommand(' SELECT fotogal2.* , user.id AS id_user, user.name as user_name, user.name_full as user_name_full, sex, SUM( ball ) / COUNT( * ) rating FROM user, fotogal2 LEFT JOIN `foto_vote` ON fotogal2.id = foto_vote.id_foto WHERE ( status=3 or status=4 ) AND user.id = fotogal2.id_user GROUP BY fotogal2.`id` ORDER BY fotogal2.id DESC, fotogal2.data desc LIMIT '.(int)$limit.'; ') ->queryAll(); } public static function getLastComments($limit = 5) { return App::$command ->createCommand(' SELECT `fotogal2`.`name`, fotogal2.foto, `id_foto`, `foto_comment`.`id_user`, DATE_FORMAT(`foto_comment`.`date`, \'%d.%m.%Y\') AS `date`, `comment`, `user`.`name` AS `user_name`, user.name_full as user_name_full, `user`.`sex` FROM `fotogal2`, `foto_comment`, `user` WHERE `fotogal2`.`id`=`foto_comment`.`id_foto` AND (`fotogal2`.status=3 or `fotogal2`.status=4) AND `foto_comment`.`id_user`=`user`.`id` ORDER BY `foto_comment`.`date` DESC LIMIT '.(int)$limit.' ') ->queryAll(); } public static function getTotalPhotos() { return App::$command ->createCommand(' SELECT COUNT(id) as total FROM `fotogal2` WHERE `status` = 3 ') ->queryOne('total', 0); } public static function addComment($photoId, $comment) { return App::$command ->createCommand(' INSERT INTO `foto_comment` (id_foto, id_user, date, comment, ipUser, ipProxy) VALUES(:photo_id, :user_id, NOW(), :comment, :ip_user, :ip_proxy) ') ->bindValues([ ':photo_id' => $photoId, ':user_id' => App::$user->getId(), ':comment' => htmlspecialchars($comment), ':ip_user' => App::$request->getIp(), ':ip_proxy' => App::$request->getIpFromProxy() ]) ->query(); } public static function addPhoto($name, $filePath, $razdelId) { return App::$command ->createCommand(' INSERT INTO `fotogal2` (data, name, foto, status, id_user, id_razdel, size, dim_x, dim_y) VALUES(NOW(), :name, :photo, 3, :user_id, :razdel_id, "", 0, 0) ') ->bindValues([ ':name' => trim(htmlspecialchars($name)), ':photo' => $filePath, ':user_id' => App::$user->getId(), ':razdel_id' => $razdelId ]) ->query(); } }
/app/fotogal/
Имя
Дата
Размер
..
2026-10-01
forms
2016-12-28
FotoFavorites.php
2016-12-29
2 кб.
FotoGallery.php
2019-04-16
14 кб.
FotoGalleryReader.php
2016-12-29
4 кб.
FotoGalleryRoute.php
2016-12-29
621 байт
FotoGallery_back.php
2017-02-06
12 кб.
/app/fotogal
Загрузить файлы
Файл 1
Файл 2
Файл 3