Вход Регистрация
Файл: modules/library/index.php
Строк: 69
<?php

/**
 * This file is part of JohnCMS Content Management System.
 *
 * @copyright JohnCMS Community
 * @license   https://opensource.org/licenses/GPL-3.0 GPL-3.0
 * @link      https://johncms.com JohnCMS Project
 */

declare(strict_types=1);

use 
JohncmsNavChain;
use 
JohncmsSystemHttpRequest;
use 
JohncmsSystemLegacyTools;
use 
JohncmsSystemUsersUser;
use 
JohncmsSystemViewExtensionAssets;
use 
JohncmsSystemViewRender;
use 
JohncmsSystemi18nTranslator;
use 
AuraAutoloadLoader;

defined('_IN_JOHNCMS') || die('Error: restricted access');

/**
 * @var Assets $assets
 * @var PDO $db
 * @var Tools $tools
 * @var User $user
 * @var Render $view
 * @var NavChain $nav_chain
 * @var Request $request
 */

$assets di(Assets::class);
$config di('config')['johncms'];
$db di(PDO::class);
$tools di(Tools::class);
$user di(User::class);
$view di(Render::class);
$nav_chain di(NavChain::class);
$request di(Request::class);

// Register the module languages domain and folder
di(Translator::class)->addTranslationDomain('library'__DIR__ '/locale');

// Регистрируем автозагрузчик для классов библиотеки
$loader = new Loader();
$loader->register();
$loader->addPrefix('Library'__DIR__ '/classes');

// Регистрируем Namespace для шаблонов модуля
$view->addFolder('library'__DIR__ '/templates/');
$view->addFolder('libraryHelpers'__DIR__ '/templates/helpers/');

$id $request->getQuery('id'0FILTER_VALIDATE_INT);
$act $request->getQuery('act'''FILTER_SANITIZE_STRING);
$mod $request->getQuery('mod'''FILTER_SANITIZE_STRING);
$do = isset($_REQUEST['do']) ? trim($_REQUEST['do']) : false;

$adm = ($user->rights 4);

$title __('Library');
$nav_chain->add($title'/library/');

$error '';
// Ограничиваем доступ к Библиотеке
if (! $config['mod_lib'] && $user->rights 7) {
    
$error __('Library is closed');
} elseif (
$config['mod_lib'] === && ! $user->isValid()) {
    
$error __('Access forbidden');
}

if (
$error) {
    echo 
$view->render(
        
'system::pages/result',
        [
            
'title'   => $title,
            
'type'    => 'alert-danger',
            
'message' => $error,
        ]
    );
    exit;
}

// Динамические заголовки библиотеки
$tab $do === 'dir' 'library_cats' 'library_texts';

if (
$id 0) {
    
$hdrsql $db->query('SELECT `name` FROM `' $tab '` WHERE `id` = ' $id ' LIMIT 1');

    
$hdrres '';
    if (
$hdrsql->rowCount()) {
        
$hdrres $hdrsql->fetchColumn();
    }

    
$hdr htmlentities($hdrresENT_QUOTES'UTF-8');
    if (
$hdr) {
        
$page_title $hdr;
        
$title .= ' | ' . (mb_strlen($hdr) > 30 $hdr '...' $hdr);
    }
}

$array_includes = [
    
'addnew',
    
'comments',
    
'del',
    
'download',
    
'mkdir',
    
'moder',
    
'move',
    
'new',
    
'premod',
    
'search',
    
'top',
    
'tags',
    
'tagcloud',
    
'lastcom',
];

if (! 
in_array($act$array_includestrue)) {
    
$act 'index';
}
require_once 
'includes/' $act '.php';
Онлайн: 1
Реклама