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