Модуль Галерея для JohnCMS 6, 5, 4

5K
.
ValekS
Ей 25
Добавлено: 05.06.2017 / 23:24
Модуль Галерея изображений для JohnCMS

Версия: 1.0
Совместимость: JohnCMS 6, 5, 4
Автор: ValekS

Данный модуль позволяет создать на сайте полноценную Галерею фотографий или Изображений.
Имеется неограниченная вложенность категорий, возможность загружать изображения как Администраторам так и пользователям, гибкие настройки копирайта на изображениях, облако тегов, лайки, комментарии.
Присутствует сортировка изображений по дате добавления или по популярности. Так же есть возможность просмотреть новые изображения, самые популярные, самые комментируемые и др.

Установка:

Смотреть (+/-)
0. Удалить старую Галерею - /gallery/ ;
1. Распаковать архив с Галереей в корневую директорию и перейдите по http://site.ru/gallery/install.php ;
2. Если изменен языковой файл /incfiles/languages/ru/admin.lng, находим все строки начинающиеся с "gallery" и переносим в свой файл;
3. На каталог /files/gallery/ и все подкаталоги ставим chmod 777;
4. Открыть файл /panel/index.php и добавить в конец массива $array (29 строка) подключение файла Галереи - 'gallery' :

$array = array(
    'forum',
    'news',
    
	...
	
    'usr_del',
	'gallery'
);


Затем найди комментарий "Блок модулей" и добавить в него ссылку на админку Галереи:

'<li><a href="index.php?act=gallery">' . $lng['gallery'] . '</a></li><br/>' .


У меня получилось так:

/*
-----------------------------------------------------------------
Блок модулей
-----------------------------------------------------------------
*/
$spam = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_mail` WHERE `spam`='1';"), 0);
echo'<div class="gmenu"><p>';
echo'<h3>' . $lng['modules'] . '</h3><ul>' .
	'<li><a href="index.php?act=forum">' . $lng['forum'] . '</a></li>' .
	'<li><a href="index.php?act=news">' . $lng['news'] . '</a></li>' .
	'<li><a href="index.php?act=gallery">' . $lng['gallery'] . '</a></li><br/>' .
	'<li><a href="index.php?act=ads">' . $lng['advertisement'] . '</a></li>' .
	(core::$user_rights == 9 ? '<li><a href="index.php?act=sitemap">' . $lng['site_map'] . '</a></li>' : '') .
	(core::$user_rights == 9 ? '<li><a href="index.php?act=counters">' . $lng['counters'] . '</a></li>' : '') .
	'<li><a href="index.php?act=mail">' . $lng['mail'] . '</a></li>' .
	'</ul></p></div>';


5. Открыть /incfiles/head.php и подключить файлы стилей. Я рекомендую сделать так(41 строка, подключение style.css темы):

"\n" . '<link rel="stylesheet" href="' . $set['homeurl'] . '/theme/' . $set_user['skin'] . '/style.css" type="text/css" />';

if ($headmod == 'gallery') {
    echo "\n" . '<link rel="stylesheet" href="' . $set['homeurl'] . '/theme/gallery.css" type="text/css" />';
    echo "\n" . '<link rel="stylesheet" href="' . $set['homeurl'] . '/theme/gallery-icons.css" type="text/css" />';
}

echo "\n" . '<link rel="shortcut icon" href="' . $set['homeurl'] . '/favicon.ico" />' .


Стили можно переместить куда угодно, главое правильно потом прописать пути к ним.

6. Счетчик для главной стандартный:

// Ссылка на галерею
if ($set['mod_gal'] || $rights >= 7)
    echo '<div class="menu"><a href="gallery/">' . $lng['gallery'] . '</a> (' . counters::gallery() . ')</div>';


7. Открыть /incfiles/classes/counters.php и найти счетчик Галереи. В нем подкорректировать пути - /gallery/index.php?act=look&amp;do=new :

/*
-----------------------------------------------------------------
Статистика галлереи
-----------------------------------------------------------------
$mod = 1    будет выдавать только колличество новых картинок
-----------------------------------------------------------------
*/
static function gallery($mod = 0)
{
    $new = mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_img` WHERE `time` > '" . (time() - 259200) . "' "), 0);
    
    if ($mod == 0) {
        $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `gallery_img` "), 0);
        $out = $total;
        
	if ($new > 0)
            $out .= '&#160;/&#160;<span class="red"><a href="/gallery/index.php?act=look&amp;do=new">+' . $new . '</a></span>';
    } else {
        $out = $new;
    }
    return $out;
}


8. Удалить /gallery/install.php и можно пробовать грузить первые Изображения!

Админка здесь:
http://site.ru/panel/index.php ... llery


Добавлено: 05.06.2017 / 23:30
Благодарности:
- Димону - Koenig - за код неограниченной вложенности категорий;
- Spaces'у и разработчикам FontAwesome за иконки;
- Добрым людям за код верстки вывода изображений;
- Всем форумчанам, кто ждал выхода этого скрипта(ведь начал я его писать уже очень и очень давно).
Прикрепленные файлы:
.
Ей 25

Скриншот Главной страницы модуля

Прикрепленные файлы:
.
Ей 25

Скриншот страницы популярные изображения. Рассчитывается Популярность суммой лайков, загрузок и комментариев.

Прикрепленные файлы:
.
Ей 25

Понравившиеся мне

Прикрепленные файлы:
.
Ей 25

Добавление изображения

Прикрепленные файлы:
.
Ей 25

Просмотр изображения

Прикрепленные файлы:
.
Ей 25

Просмотр категории с изображениями

Прикрепленные файлы:
.
Ей 25

Управление тегами

Прикрепленные файлы:
.
Ей 25

Админка

Прикрепленные файлы:
.
(\/)____o_O____(\/)

ValekS, пункт №6 измени

Всего: 57