primo commit
This commit is contained in:
		
							
								
								
									
										49
									
								
								components/com_fields/src/Controller/DisplayController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								components/com_fields/src/Controller/DisplayController.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.Site | ||||
|  * @subpackage  com_fields | ||||
|  * | ||||
|  * @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\Fields\Site\Controller; | ||||
|  | ||||
| use Joomla\CMS\Application\CMSApplication; | ||||
| use Joomla\CMS\MVC\Factory\MVCFactoryInterface; | ||||
|  | ||||
| // phpcs:disable PSR1.Files.SideEffects | ||||
| \defined('_JEXEC') or die; | ||||
| // phpcs:enable PSR1.Files.SideEffects | ||||
|  | ||||
| /** | ||||
|  * Base controller class for Fields Component. | ||||
|  * | ||||
|  * @since  3.7.0 | ||||
|  */ | ||||
| class DisplayController extends \Joomla\CMS\MVC\Controller\BaseController | ||||
| { | ||||
|     /** | ||||
|      * @param   array                     $config   An optional associative array of configuration settings. | ||||
|      *                                              Recognized key values include 'name', 'default_task', 'model_path', and | ||||
|      *                                              'view_path' (this list is not meant to be comprehensive). | ||||
|      * @param   ?MVCFactoryInterface      $factory  The factory. | ||||
|      * @param   ?CMSApplication           $app      The Application for the dispatcher | ||||
|      * @param   ?\Joomla\CMS\Input\Input  $input    The request's input object | ||||
|      * | ||||
|      * @since   3.7.0 | ||||
|      */ | ||||
|     public function __construct($config = [], ?MVCFactoryInterface $factory = null, $app = null, $input = null) | ||||
|     { | ||||
|         // Frontpage Editor Fields Button proxying. | ||||
|         if ($input->get('view') === 'fields' && $input->get('layout') === 'modal') { | ||||
|             // Load the backend language file. | ||||
|             $app->getLanguage()->load('com_fields', JPATH_ADMINISTRATOR); | ||||
|  | ||||
|             $config['base_path'] = JPATH_COMPONENT_ADMINISTRATOR; | ||||
|         } | ||||
|  | ||||
|         parent::__construct($config, $factory, $app, $input); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										53
									
								
								components/com_fields/src/Dispatcher/Dispatcher.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								components/com_fields/src/Dispatcher/Dispatcher.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,53 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.Site | ||||
|  * @subpackage  com_fields | ||||
|  * | ||||
|  * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
|  | ||||
| namespace Joomla\Component\Fields\Site\Dispatcher; | ||||
|  | ||||
| use Joomla\CMS\Access\Exception\NotAllowed; | ||||
| use Joomla\CMS\Dispatcher\ComponentDispatcher; | ||||
| use Joomla\Component\Fields\Administrator\Helper\FieldsHelper; | ||||
|  | ||||
| // phpcs:disable PSR1.Files.SideEffects | ||||
| \defined('_JEXEC') or die; | ||||
| // phpcs:enable PSR1.Files.SideEffects | ||||
|  | ||||
| /** | ||||
|  * ComponentDispatcher class for com_fields | ||||
|  * | ||||
|  * @since  4.0.0 | ||||
|  */ | ||||
| class Dispatcher extends ComponentDispatcher | ||||
| { | ||||
|     /** | ||||
|      * Method to check component access permission | ||||
|      * | ||||
|      * @return  void | ||||
|      * | ||||
|      * @since   4.0.0 | ||||
|      */ | ||||
|     protected function checkAccess() | ||||
|     { | ||||
|         parent::checkAccess(); | ||||
|  | ||||
|         if ($this->input->get('view') !== 'fields' || $this->input->get('layout') !== 'modal') { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         $context = $this->app->getUserStateFromRequest('com_fields.fields.context', 'context', 'com_content.article', 'CMD'); | ||||
|         $parts   = FieldsHelper::extract($context); | ||||
|  | ||||
|         if ( | ||||
|             !$this->app->getIdentity()->authorise('core.create', $parts[0]) | ||||
|             || !$this->app->getIdentity()->authorise('core.edit', $parts[0]) | ||||
|         ) { | ||||
|             throw new NotAllowed($this->app->getLanguage()->_('JERROR_ALERTNOAUTHOR')); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user