module-gallery/gallery/module.php
2017-09-02 09:36:38 +03:00

129 lines
4.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* AVE.cms - Модуль Галерея
*
* @package AVE.cms
* @subpackage module_Gallery
* @filesource
*/
if(!defined('BASE_DIR')) exit;
if (defined('ACP'))
{
$modul['ModuleName'] = 'Галерея';
$modul['ModuleSysName'] = 'gallery';
$modul['ModuleVersion'] = '3.2.3';
$modul['ModuleDescription'] = 'Gallery + Watermark<br />Внимание! У директорий<br />uploads/gallery/.upload/ и<br />uploads/gallery/.temp/<br />должны быть права на запись!<br /><br />Вы можете ограничить количество выводимых изображений, указав после Gallery-ID следующее: -3 (в этом случае количество будет ограничено тремя изображениями на страницу)';
$modul['ModuleAutor'] = 'AVE.CMS Team';
$modul['ModuleCopyright'] = '&copy; 2007-2013 AVE.CMS';
$modul['ModuleIsFunction'] = 1;
$modul['ModuleAdminEdit'] = 1;
$modul['ModuleFunction'] = 'mod_gallery';
$modul['ModuleTag'] = '[mod_gallery:XXX-Лимит]';
$modul['ModuleTagLink'] = null;
$modul['ModuleAveTag'] = '#\\\[mod_gallery:([\\\d-]+)]#';
$modul['ModulePHPTag'] = "<?php mod_gallery(''$1''); ?>";
}
/**
* Функция вывода галереи
*
* @param string $gallery_id идентификатор галереи
* и опционально количество изображений на странице
*/
function mod_gallery($gallery_id)
{
global $AVE_Template;
require_once(BASE_DIR . '/modules/gallery/class.gallery.php');
$gallery = new Gallery;
$own_lim = @explode('-', stripslashes($gallery_id));
$lim = (empty($own_lim[1])) ? '' : $own_lim[1];
$gallery_id = $own_lim[0];
$tpl_dir = BASE_DIR . '/modules/gallery/templates/';
$lang_file = BASE_DIR . '/modules/gallery/lang/' . $_SESSION['user_language'] . '.txt';
$AVE_Template->config_load($lang_file);
$gallery->galleryShow($tpl_dir, $gallery_id, $lim);
}
if (!defined('ACP') && isset($_REQUEST['module']) && $_REQUEST['module'] == 'gallery')
{
require_once(BASE_DIR . '/modules/gallery/class.gallery.php');
$gallery = new Gallery;
$tpl_dir = BASE_DIR . '/modules/gallery/templates/';
$lang_file = BASE_DIR . '/modules/gallery/lang/' . $_SESSION['user_language'] . '.txt';
$AVE_Template->config_load($lang_file);
define('ONLYCONTENT', 1);
if (isset($_REQUEST['sub']) && $_REQUEST['sub'] == 'allimages')
{
$AVE_Template->assign('tpl_dir', BASE_DIR . '/modules/gallery/templates');
$AVE_Template->assign('theme_folder', (defined('THEME_FOLDER') ? THEME_FOLDER : DEFAULT_THEME_FOLDER));
$gallery->galleryShow($tpl_dir, (int)$_REQUEST['gallery'], '', 1);
}
else
{
$gallery->galleryImageShow($tpl_dir, (int)$_REQUEST['image']);
}
}
//=======================================================
// Действия в админ-панели
//=======================================================
if (defined('ACP') && !empty($_REQUEST['moduleaction']))
{
require_once(BASE_DIR . '/modules/gallery/class.gallery.php');
$gallery = new Gallery;
$tpl_dir = BASE_DIR . '/modules/gallery/templates/';
$lang_file = BASE_DIR . '/modules/gallery/lang/' . $_SESSION['admin_language'] . '.txt';
$AVE_Template->config_load($lang_file, 'admin');
switch($_REQUEST['moduleaction'])
{
case '1': // Просмотр списка галерей
$gallery->galleryListShow($tpl_dir);
break;
case 'add': // Добавить изображения в галерею
define('IMAGE_TOOLBOX_DEFAULT_JPEG_QUALITY', 75);
include_once(BASE_DIR . '/class/class.thumbnail.php');
$Image_Toolbox = new Image_Toolbox;
$gallery->galleryImageUploadForm($tpl_dir, intval($_REQUEST['id']));
break;
case 'showimages': // Просмотр изображений галереи
$gallery->galleryImageListShow($tpl_dir, intval($_REQUEST['id']));
break;
case 'new': // Создать новую галерею
$gallery->galleryNew();
break;
case 'copygallery': // Копирование галереи
$gallery->galleryCopy(intval($_REQUEST['id']));
break;
case 'delgallery': // Удаление галереи
$gallery->galleryDelete(intval($_REQUEST['id']));
break;
case 'editgallery': // Редактирование галереи
$gallery->galleryEdit($tpl_dir, intval($_REQUEST['id']));
break;
}
}
?>