1<?php 2/** 3 * @package Joomla.Administrator 4 * @subpackage Template.hathor 5 * 6 * @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved. 7 * @license GNU General Public License version 2 or later; see LICENSE.txt 8 */ 9 10defined('_JEXEC') or die; 11 12// Include the component HTML helpers. 13JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html'); 14 15JHtml::_('behavior.framework'); 16JHtml::_('behavior.formvalidator'); 17JHtml::_('behavior.modal'); 18 19$assoc = JLanguageAssociations::isEnabled(); 20 21// Ajax for parent items 22$script = " 23jQuery(document).ready(function ($){ 24 $('#jform_menutype').change(function(){ 25 var menutype = $(this).val(); 26 $.ajax({ 27 url: 'index.php?option=com_menus&task=item.getParentItem&menutype=' + menutype, 28 dataType: 'json' 29 }).done(function(data) { 30 $('#jform_parent_id option').each(function() { 31 if ($(this).val() != '1') { 32 $(this).remove(); 33 } 34 }); 35 $.each(data, function (i, val) { 36 var option = $('<option>'); 37 option.text(val.title).val(val.id); 38 $('#jform_parent_id').append(option); 39 }); 40 $('#jform_parent_id').trigger('liszt:updated'); 41 }); 42 }); 43}); 44Joomla.submitbutton = function(task, type){ 45 if (task == 'item.setType' || task == 'item.setMenuType') 46 { 47 if (task == 'item.setType') 48 { 49 jQuery('#item-form input[name=\"jform[type]\"]').val(type); 50 jQuery('#fieldtype').val('type'); 51 } else { 52 jQuery('#item-form input[name=\"jform[menutype]\"]').val(type); 53 } 54 Joomla.submitform('item.setType', document.getElementById('item-form')); 55 } else if (task == 'item.cancel' || document.formvalidator.isValid(document.getElementById('item-form'))) 56 { 57 Joomla.submitform(task, document.getElementById('item-form')); 58 } 59 else 60 { 61 // special case for modal popups validation response 62 jQuery('#item-form .modal-value.invalid').each(function(){ 63 var field = jQuery(this), 64 idReversed = field.attr('id').split('').reverse().join(''), 65 separatorLocation = idReversed.indexOf('_'), 66 nameId = '#' + idReversed.substr(separatorLocation).split('').reverse().join('') + 'name'; 67 jQuery(nameId).addClass('invalid'); 68 }); 69 } 70}; 71"; 72// Add the script to the document head. 73JFactory::getDocument()->addScriptDeclaration($script); 74 75// In case of modal 76$input = JFactory::getApplication()->input; 77$isModal = $input->get('layout') == 'modal' ? true : false; 78$layout = $isModal ? 'modal' : 'edit'; 79$tmpl = $isModal || $input->get('tmpl', '', 'cmd') === 'component' ? '&tmpl=component' : ''; 80$clientId = $this->state->get('item.client_id', 0); 81?> 82 83<div class="menuitem-edit"> 84 85<form action="<?php echo JRoute::_('index.php?option=com_menus&view=item&client_id=' . $clientId . '&layout=' . $layout . $tmpl . '&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate"> 86 87<div class="col main-section"> 88 <fieldset class="adminform"> 89 <legend><?php echo JText::_('COM_MENUS_ITEM_DETAILS');?></legend> 90 <ul class="adminformlist"> 91 92 <li><?php echo $this->form->getLabel('type'); ?> 93 <?php echo $this->form->getInput('type'); ?></li> 94 95 <li><?php echo $this->form->getLabel('title'); ?> 96 <?php echo $this->form->getInput('title'); ?></li> 97 98 <?php if ($this->item->type == 'url') : ?> 99 <?php $this->form->setFieldAttribute('link', 'readonly', 'false');?> 100 <li><?php echo $this->form->getLabel('link'); ?> 101 <?php echo $this->form->getInput('link'); ?></li> 102 <?php endif; ?> 103 104 <?php if ($this->item->type != 'url') : ?> 105 <li><?php echo $this->form->getLabel('alias'); ?> 106 <?php echo $this->form->getInput('alias'); ?></li> 107 <?php endif; ?> 108 109 <li><?php echo $this->form->getLabel('note'); ?> 110 <?php echo $this->form->getInput('note'); ?></li> 111 112 <?php if ($this->item->type !== 'url') : ?> 113 <li><?php echo $this->form->getLabel('link'); ?> 114 <?php echo $this->form->getInput('link'); ?></li> 115 <?php endif ?> 116 117 <?php if ($this->canDo->get('core.edit.state')) : ?> 118 <li><?php echo $this->form->getLabel('published'); ?> 119 <?php echo $this->form->getInput('published'); ?></li> 120 <?php endif ?> 121 122 <li><?php echo $this->form->getLabel('access'); ?> 123 <?php echo $this->form->getInput('access'); ?></li> 124 125 <li><?php echo $this->form->getLabel('menutype'); ?> 126 <?php echo $this->form->getInput('menutype'); ?></li> 127 128 <li><?php echo $this->form->getLabel('parent_id'); ?> 129 <?php echo $this->form->getInput('parent_id'); ?></li> 130 131 <li><?php echo $this->form->getLabel('menuordering'); ?> 132 <?php echo $this->form->getInput('menuordering'); ?></li> 133 134 <li><?php echo $this->form->getLabel('browserNav'); ?> 135 <?php echo $this->form->getInput('browserNav'); ?></li> 136 137 <?php if ($this->canDo->get('core.edit.state')) : ?> 138 <?php if ($this->item->type == 'component') : ?> 139 <li><?php echo $this->form->getLabel('home'); ?> 140 <?php echo $this->form->getInput('home'); ?></li> 141 <?php endif; ?> 142 <?php endif; ?> 143 144 <li><?php echo $this->form->getLabel('language'); ?> 145 <?php echo $this->form->getInput('language'); ?></li> 146 147 <li><?php echo $this->form->getLabel('template_style_id'); ?> 148 <?php echo $this->form->getInput('template_style_id'); ?></li> 149 150 <li><?php echo $this->form->getLabel('id'); ?> 151 <?php echo $this->form->getInput('id'); ?></li> 152 153 <li><?php echo $this->form->getLabel('client_id'); ?> 154 <?php echo $this->form->getInput('client_id'); ?></li> 155 </ul> 156 157 </fieldset> 158</div> 159 160<div class="col options-section"> 161 <?php echo JHtml::_('sliders.start', 'menu-sliders-'.$this->item->id); ?> 162 <?php //Load parameters. 163 echo $this->loadTemplate('options'); ?> 164 165 <div class="clr"></div> 166 167 <?php if (!empty($this->modules)) : ?> 168 <?php echo JHtml::_('sliders.panel', JText::_('COM_MENUS_ITEM_MODULE_ASSIGNMENT'), 'module-options'); ?> 169 <fieldset> 170 <?php echo $this->loadTemplate('modules'); ?> 171 </fieldset> 172 <?php endif; ?> 173 174 <?php echo JHtml::_('sliders.end'); ?> 175 176 <input type="hidden" name="task" value="" /> 177 <?php echo $this->form->getInput('component_id'); ?> 178 <?php echo JHtml::_('form.token'); ?> 179 <input type="hidden" id="fieldtype" name="fieldtype" value="" /> 180</div> 181</form> 182 183<div class="clr"></div> 184</div> 185