[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/administrator/components/com_users/src/View/Group/ -> HtmlView.php (source)

   1  <?php
   2  
   3  /**
   4   * @package     Joomla.Administrator
   5   * @subpackage  com_users
   6   *
   7   * @copyright   (C) 2009 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\Users\Administrator\View\Group;
  12  
  13  use Joomla\CMS\Factory;
  14  use Joomla\CMS\Helper\ContentHelper;
  15  use Joomla\CMS\Language\Text;
  16  use Joomla\CMS\MVC\View\GenericDataException;
  17  use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView;
  18  use Joomla\CMS\Object\CMSObject;
  19  use Joomla\CMS\Toolbar\ToolbarHelper;
  20  
  21  // phpcs:disable PSR1.Files.SideEffects
  22  \defined('_JEXEC') or die;
  23  // phpcs:enable PSR1.Files.SideEffects
  24  
  25  /**
  26   * View to edit a user group.
  27   *
  28   * @since  1.6
  29   */
  30  class HtmlView extends BaseHtmlView
  31  {
  32      /**
  33       * The Form object
  34       *
  35       * @var  \Joomla\CMS\Form\Form
  36       */
  37      protected $form;
  38  
  39      /**
  40       * The item data.
  41       *
  42       * @var   object
  43       * @since 1.6
  44       */
  45      protected $item;
  46  
  47      /**
  48       * The model state.
  49       *
  50       * @var   CMSObject
  51       * @since 1.6
  52       */
  53      protected $state;
  54  
  55      /**
  56       * Display the view
  57       *
  58       * @param   string  $tpl  The name of the template file to parse; automatically searches through the template paths.
  59       *
  60       * @return  void
  61       */
  62      public function display($tpl = null)
  63      {
  64          $this->state = $this->get('State');
  65          $this->item  = $this->get('Item');
  66          $this->form  = $this->get('Form');
  67  
  68          // Check for errors.
  69          if (count($errors = $this->get('Errors'))) {
  70              throw new GenericDataException(implode("\n", $errors), 500);
  71          }
  72  
  73          $this->addToolbar();
  74          parent::display($tpl);
  75      }
  76  
  77      /**
  78       * Add the page title and toolbar.
  79       *
  80       * @return  void
  81       *
  82       * @since   1.6
  83       * @throws  \Exception
  84       */
  85      protected function addToolbar()
  86      {
  87          Factory::getApplication()->input->set('hidemainmenu', true);
  88  
  89          $isNew = ($this->item->id == 0);
  90          $canDo = ContentHelper::getActions('com_users');
  91  
  92          ToolbarHelper::title(Text::_($isNew ? 'COM_USERS_VIEW_NEW_GROUP_TITLE' : 'COM_USERS_VIEW_EDIT_GROUP_TITLE'), 'users-cog groups-add');
  93  
  94          $toolbarButtons = [];
  95  
  96          if ($canDo->get('core.edit') || $canDo->get('core.create')) {
  97              ToolbarHelper::apply('group.apply');
  98              $toolbarButtons[] = ['save', 'group.save'];
  99          }
 100  
 101          if ($canDo->get('core.create')) {
 102              $toolbarButtons[] = ['save2new', 'group.save2new'];
 103          }
 104  
 105          // If an existing item, can save to a copy.
 106          if (!$isNew && $canDo->get('core.create')) {
 107              $toolbarButtons[] = ['save2copy', 'group.save2copy'];
 108          }
 109  
 110          ToolbarHelper::saveGroup(
 111              $toolbarButtons,
 112              'btn-success'
 113          );
 114  
 115          if (empty($this->item->id)) {
 116              ToolbarHelper::cancel('group.cancel');
 117          } else {
 118              ToolbarHelper::cancel('group.cancel', 'JTOOLBAR_CLOSE');
 119          }
 120  
 121          ToolbarHelper::divider();
 122          ToolbarHelper::help('Users:_New_or_Edit_Group');
 123      }
 124  }


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