primo commit
This commit is contained in:
		| @ -0,0 +1,41 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.API | ||||
|  * @subpackage  com_installer | ||||
|  * | ||||
|  * @copyright   (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
|  | ||||
| namespace Joomla\Component\Installer\Api\Controller; | ||||
|  | ||||
| use Joomla\CMS\MVC\Controller\ApiController; | ||||
|  | ||||
| // phpcs:disable PSR1.Files.SideEffects | ||||
| \defined('_JEXEC') or die; | ||||
| // phpcs:enable PSR1.Files.SideEffects | ||||
|  | ||||
| /** | ||||
|  * The manage controller | ||||
|  * | ||||
|  * @since  5.2.0 | ||||
|  */ | ||||
| class LanguagesController extends ApiController | ||||
| { | ||||
|     /** | ||||
|      * The content type of the item. | ||||
|      * | ||||
|      * @var    string | ||||
|      * @since  5.2.0 | ||||
|      */ | ||||
|     protected $contentType = 'languages'; | ||||
|  | ||||
|     /** | ||||
|      * The default view for the display method. | ||||
|      * | ||||
|      * @var    string | ||||
|      * @since  5.2.0 | ||||
|      */ | ||||
|     protected $default_view = 'languages'; | ||||
| } | ||||
| @ -0,0 +1,71 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.API | ||||
|  * @subpackage  com_installer | ||||
|  * | ||||
|  * @copyright   (C) 2020 Open Source Matters, Inc. <https://www.joomla.org> | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
|  | ||||
| namespace Joomla\Component\Installer\Api\Controller; | ||||
|  | ||||
| use Joomla\CMS\Language\Text; | ||||
| use Joomla\CMS\MVC\Controller\ApiController; | ||||
| use Tobscure\JsonApi\Exception\InvalidParameterException; | ||||
|  | ||||
| // phpcs:disable PSR1.Files.SideEffects | ||||
| \defined('_JEXEC') or die; | ||||
| // phpcs:enable PSR1.Files.SideEffects | ||||
|  | ||||
| /** | ||||
|  * The manage controller | ||||
|  * | ||||
|  * @since  4.0.0 | ||||
|  */ | ||||
| class ManageController extends ApiController | ||||
| { | ||||
|     /** | ||||
|      * The content type of the item. | ||||
|      * | ||||
|      * @var    string | ||||
|      * @since  4.0.0 | ||||
|      */ | ||||
|     protected $contentType = 'manage'; | ||||
|  | ||||
|     /** | ||||
|      * The default view for the display method. | ||||
|      * | ||||
|      * @var    string | ||||
|      * @since  4.0.0 | ||||
|      */ | ||||
|     protected $default_view = 'manage'; | ||||
|  | ||||
|     /** | ||||
|      * Extension list view amended to add filtering of data | ||||
|      * | ||||
|      * @return  static  A BaseController object to support chaining. | ||||
|      * | ||||
|      * @since   4.0.0 | ||||
|      */ | ||||
|     public function displayList() | ||||
|     { | ||||
|         $requestBool = $this->input->get('core', $this->input->get->get('core')); | ||||
|  | ||||
|         if (!\is_null($requestBool) && $requestBool !== 'true' && $requestBool !== 'false') { | ||||
|             // Send the error response | ||||
|             $error = Text::sprintf('JLIB_FORM_VALIDATE_FIELD_INVALID', 'core'); | ||||
|  | ||||
|             throw new InvalidParameterException($error, 400, null, 'core'); | ||||
|         } | ||||
|  | ||||
|         if (!\is_null($requestBool)) { | ||||
|             $this->modelState->set('filter.core', ($requestBool === 'true') ? '1' : '0'); | ||||
|         } | ||||
|  | ||||
|         $this->modelState->set('filter.status', $this->input->get('status', $this->input->get->get('status', null, 'INT'), 'INT')); | ||||
|         $this->modelState->set('filter.type', $this->input->get('type', $this->input->get->get('type', null, 'STRING'), 'STRING')); | ||||
|  | ||||
|         return parent::displayList(); | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,57 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.API | ||||
|  * @subpackage  com_installer | ||||
|  * | ||||
|  * @copyright   (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
|  | ||||
| namespace Joomla\Component\Installer\Api\View\Languages; | ||||
|  | ||||
| use Joomla\CMS\MVC\View\JsonApiView as BaseApiView; | ||||
|  | ||||
| // phpcs:disable PSR1.Files.SideEffects | ||||
| \defined('_JEXEC') or die; | ||||
| // phpcs:enable PSR1.Files.SideEffects | ||||
|  | ||||
| /** | ||||
|  * The languages view | ||||
|  * | ||||
|  * @since  5.2.0 | ||||
|  */ | ||||
| class JsonapiView extends BaseApiView | ||||
| { | ||||
|     /** | ||||
|      * The fields to render item in the documents | ||||
|      * | ||||
|      * @var  array | ||||
|      * @since  5.2.0 | ||||
|      */ | ||||
|     protected $fieldsToRenderList = [ | ||||
|         'name', | ||||
|         'element', | ||||
|         'version', | ||||
|         'type', | ||||
|         'detailsurl', | ||||
|     ]; | ||||
|  | ||||
|     protected $i = 0; | ||||
|  | ||||
|     /** | ||||
|      * Prepare item before render. | ||||
|      * | ||||
|      * @param   object  $item  The model item | ||||
|      * | ||||
|      * @return  object | ||||
|      * | ||||
|      * @since   5.2.0 | ||||
|      */ | ||||
|     protected function prepareItem($item) | ||||
|     { | ||||
|         $item->id = ++$this->i; | ||||
|  | ||||
|         return parent::prepareItem($item); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										58
									
								
								api/components/com_installer/src/View/Manage/JsonapiView.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								api/components/com_installer/src/View/Manage/JsonapiView.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.API | ||||
|  * @subpackage  com_installer | ||||
|  * | ||||
|  * @copyright   (C) 2019 Open Source Matters, Inc. <https://www.joomla.org> | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
|  | ||||
| namespace Joomla\Component\Installer\Api\View\Manage; | ||||
|  | ||||
| use Joomla\CMS\MVC\View\JsonApiView as BaseApiView; | ||||
|  | ||||
| // phpcs:disable PSR1.Files.SideEffects | ||||
| \defined('_JEXEC') or die; | ||||
| // phpcs:enable PSR1.Files.SideEffects | ||||
|  | ||||
| /** | ||||
|  * The manage view | ||||
|  * | ||||
|  * @since  4.0.0 | ||||
|  */ | ||||
| class JsonapiView extends BaseApiView | ||||
| { | ||||
|     /** | ||||
|      * The fields to render item in the documents | ||||
|      * | ||||
|      * @var  array | ||||
|      * @since  4.0.0 | ||||
|      */ | ||||
|     protected $fieldsToRenderList = [ | ||||
|         'id', | ||||
|         'name', | ||||
|         'type', | ||||
|         'version', | ||||
|         'folder', | ||||
|         'status', | ||||
|         'client_id', | ||||
|     ]; | ||||
|  | ||||
|     /** | ||||
|      * Prepare item before render. | ||||
|      * | ||||
|      * @param   object  $item  The model item | ||||
|      * | ||||
|      * @return  object | ||||
|      * | ||||
|      * @since   4.0.0 | ||||
|      */ | ||||
|     protected function prepareItem($item) | ||||
|     { | ||||
|         $item->id = $item->extension_id; | ||||
|         unset($item->extension_id); | ||||
|  | ||||
|         return $item; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user