[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @package Joomla.Administrator 5 * @subpackage com_languages 6 * 7 * @copyright (C) 2011 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\Administrator\View\Override; 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\Toolbar\ToolbarHelper; 19 20 // phpcs:disable PSR1.Files.SideEffects 21 \defined('_JEXEC') or die; 22 // phpcs:enable PSR1.Files.SideEffects 23 24 /** 25 * View to edit a language override 26 * 27 * @since 2.5 28 */ 29 class HtmlView extends BaseHtmlView 30 { 31 /** 32 * The form to use for the view. 33 * 34 * @var object 35 * @since 2.5 36 */ 37 protected $form; 38 39 /** 40 * The item to edit. 41 * 42 * @var object 43 * @since 2.5 44 */ 45 protected $item; 46 47 /** 48 * The model state. 49 * 50 * @var object 51 * @since 2.5 52 */ 53 protected $state; 54 55 /** 56 * Displays the view. 57 * 58 * @param string $tpl The name of the template file to parse 59 * 60 * @return void 61 * 62 * @since 2.5 63 */ 64 public function display($tpl = null) 65 { 66 $this->form = $this->get('Form'); 67 $this->item = $this->get('Item'); 68 $this->state = $this->get('State'); 69 70 $app = Factory::getApplication(); 71 72 $languageClient = $app->getUserStateFromRequest('com_languages.overrides.language_client', 'language_client'); 73 74 if ($languageClient == null) { 75 $app->enqueueMessage(Text::_('COM_LANGUAGES_OVERRIDE_FIRST_SELECT_MESSAGE'), 'warning'); 76 77 $app->redirect('index.php?option=com_languages&view=overrides'); 78 } 79 80 // Check for errors. 81 if (count($errors = $this->get('Errors'))) { 82 throw new GenericDataException(implode("\n", $errors)); 83 } 84 85 // Check whether the cache has to be refreshed. 86 $cached_time = Factory::getApplication()->getUserState( 87 'com_languages.overrides.cachedtime.' . $this->state->get('filter.client') . '.' . $this->state->get('filter.language'), 88 0 89 ); 90 91 if (time() - $cached_time > 60 * 5) { 92 $this->state->set('cache_expired', true); 93 } 94 95 // Add strings for translations in \Javascript. 96 Text::script('COM_LANGUAGES_VIEW_OVERRIDE_NO_RESULTS'); 97 Text::script('COM_LANGUAGES_VIEW_OVERRIDE_REQUEST_ERROR'); 98 99 $this->addToolbar(); 100 parent::display($tpl); 101 } 102 103 /** 104 * Adds the page title and toolbar. 105 * 106 * @return void 107 * 108 * @since 2.5 109 */ 110 protected function addToolbar() 111 { 112 Factory::getApplication()->input->set('hidemainmenu', true); 113 114 $canDo = ContentHelper::getActions('com_languages'); 115 116 ToolbarHelper::title(Text::_('COM_LANGUAGES_VIEW_OVERRIDE_EDIT_TITLE'), 'comments langmanager'); 117 118 $toolbarButtons = []; 119 120 if ($canDo->get('core.edit')) { 121 ToolbarHelper::apply('override.apply'); 122 123 $toolbarButtons[] = ['save', 'override.save']; 124 } 125 126 // This component does not support Save as Copy. 127 if ($canDo->get('core.edit') && $canDo->get('core.create')) { 128 $toolbarButtons[] = ['save2new', 'override.save2new']; 129 } 130 131 ToolbarHelper::saveGroup( 132 $toolbarButtons, 133 'btn-success' 134 ); 135 136 if (empty($this->item->key)) { 137 ToolbarHelper::cancel('override.cancel'); 138 } else { 139 ToolbarHelper::cancel('override.cancel', 'JTOOLBAR_CLOSE'); 140 } 141 142 ToolbarHelper::divider(); 143 ToolbarHelper::help('Languages:_Edit_Override'); 144 } 145 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |