/
githubmirror
/
joomla-cms
Обзор
Документация
Войти
/
githubmirror
/
joomla-cms
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
5.4-dev
components/com_content/src/Dispatcher/Dispatcher.php
58 строк
2 KB
Brian Teeman
native function final (#41427)
01 окт 2023, 01:23
Не верифицирован
01 окт 2023, 01:23
d38a8ff
Код
Авторство
О чём код?
<?php /** * @package Joomla.Site * @subpackage com_content * * @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Content\Site\Dispatcher; use Joomla\CMS\Dispatcher\ComponentDispatcher; use Joomla\CMS\Language\Text; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * ComponentDispatcher class for com_content * * @since 4.0.0 */ class Dispatcher extends ComponentDispatcher { /** * Dispatch a controller task. Redirecting the user if appropriate. * * @return void * * @since 4.0.0 */ public function dispatch() { $checkCreateEdit = ($this->input->get('view') === 'articles' && $this->input->get('layout') === 'modal') || ($this->input->get('view') === 'article' && $this->input->get('layout') === 'pagebreak'); if ($checkCreateEdit) { // Can create in any category (component permission) or at least in one category $canCreateRecords = $this->app->getIdentity()->authorise('core.create', 'com_content') || \count($this->app->getIdentity()->getAuthorisedCategories('com_content', 'core.create')) > 0; // Instead of checking edit on all records, we can use **same** check as the form editing view $values = (array) $this->app->getUserState('com_content.edit.article.id'); $isEditingRecords = \count($values); $hasAccess = $canCreateRecords || $isEditingRecords; if (!$hasAccess) { $this->app->enqueueMessage(Text::_('JERROR_ALERTNOAUTHOR'), 'warning'); return; } } parent::dispatch(); } }