[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/api/components/com_languages/src/View/Overrides/ -> JsonapiView.php (source)

   1  <?php
   2  
   3  /**
   4   * @package     Joomla.API
   5   * @subpackage  com_languages
   6   *
   7   * @copyright   (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
   8   * @license     GNU General Public License version 2 or later; see LICENSE.txt
   9   */
  10  
  11  namespace Joomla\Component\Languages\Api\View\Overrides;
  12  
  13  use Joomla\CMS\MVC\View\JsonApiView as BaseApiView;
  14  
  15  // phpcs:disable PSR1.Files.SideEffects
  16  \defined('_JEXEC') or die;
  17  // phpcs:enable PSR1.Files.SideEffects
  18  
  19  /**
  20   * The overrides view
  21   *
  22   * @since  4.0.0
  23   */
  24  class JsonapiView extends BaseApiView
  25  {
  26      /**
  27       * The fields to render item in the documents
  28       *
  29       * @var  array
  30       * @since  4.0.0
  31       */
  32      protected $fieldsToRenderItem = ['value'];
  33  
  34      /**
  35       * The fields to render items in the documents
  36       *
  37       * @var  array
  38       * @since  4.0.0
  39       */
  40      protected $fieldsToRenderList = ['value'];
  41  
  42      /**
  43       * Execute and display a template script.
  44       *
  45       * @param   object  $item  Item
  46       *
  47       * @return  string
  48       *
  49       * @since   4.0.0
  50       */
  51      public function displayItem($item = null)
  52      {
  53          /** @var \Joomla\Component\Languages\Administrator\Model\OverrideModel $model */
  54          $model = $this->getModel();
  55          $id    = $model->getState($model->getName() . '.id');
  56          $item  = $this->prepareItem($model->getItem($id));
  57  
  58          return parent::displayItem($item);
  59      }
  60      /**
  61       * Execute and display a template script.
  62       *
  63       * @param   array|null  $items  Array of items
  64       *
  65       * @return  string
  66       *
  67       * @since   4.0.0
  68       */
  69      public function displayList(array $items = null)
  70      {
  71          /** @var \Joomla\Component\Languages\Administrator\Model\OverridesModel $model */
  72          $model = $this->getModel();
  73          $items = [];
  74  
  75          foreach ($model->getOverrides() as $key => $override) {
  76              $item = (object) [
  77                  'key'      => $key,
  78                  'override' => $override,
  79              ];
  80  
  81              $items[] = $this->prepareItem($item);
  82          }
  83  
  84          return parent::displayList($items);
  85      }
  86  
  87      /**
  88       * Prepare item before render.
  89       *
  90       * @param   object  $item  The model item
  91       *
  92       * @return  object
  93       *
  94       * @since   4.0.0
  95       */
  96      protected function prepareItem($item)
  97      {
  98          $item->id    = $item->key;
  99          $item->value = $item->override;
 100          unset($item->key);
 101          unset($item->override);
 102  
 103          return parent::prepareItem($item);
 104      }
 105  }


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer