You've already forked joomla_test
first commit
This commit is contained in:
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
276
administrator/components/com_menus/views/items/tmpl/default.php
Normal file
276
administrator/components/com_menus/views/items/tmpl/default.php
Normal file
@ -0,0 +1,276 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_menus
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
// Include the component HTML helpers.
|
||||
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
|
||||
|
||||
JHtml::_('bootstrap.tooltip');
|
||||
JHtml::_('behavior.multiselect');
|
||||
JHtml::_('formbehavior.chosen', 'select');
|
||||
|
||||
$user = JFactory::getUser();
|
||||
$app = JFactory::getApplication();
|
||||
$userId = $user->get('id');
|
||||
$listOrder = $this->escape($this->state->get('list.ordering'));
|
||||
$listDirn = $this->escape($this->state->get('list.direction'));
|
||||
$ordering = ($listOrder == 'a.lft');
|
||||
$canOrder = $user->authorise('core.edit.state', 'com_menus');
|
||||
$saveOrder = ($listOrder == 'a.lft' && $listDirn == 'asc');
|
||||
if ($saveOrder)
|
||||
{
|
||||
$saveOrderingUrl = 'index.php?option=com_menus&task=items.saveOrderAjax&tmpl=component';
|
||||
JHtml::_('sortablelist.sortable', 'itemList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true);
|
||||
}
|
||||
$sortFields = $this->getSortFields();
|
||||
$assoc = isset($app->item_associations) ? $app->item_associations : 0;
|
||||
?>
|
||||
<script type="text/javascript">
|
||||
Joomla.orderTable = function()
|
||||
{
|
||||
table = document.getElementById("sortTable");
|
||||
direction = document.getElementById("directionTable");
|
||||
order = table.options[table.selectedIndex].value;
|
||||
if (order != '<?php echo $listOrder; ?>')
|
||||
{
|
||||
dirn = 'asc';
|
||||
}
|
||||
else
|
||||
{
|
||||
dirn = direction.options[direction.selectedIndex].value;
|
||||
}
|
||||
Joomla.tableOrdering(order, dirn, '');
|
||||
}
|
||||
</script>
|
||||
<?php //Set up the filter bar. ?>
|
||||
<form action="<?php echo JRoute::_('index.php?option=com_menus&view=items');?>" method="post" name="adminForm" id="adminForm">
|
||||
<?php if (!empty( $this->sidebar)) : ?>
|
||||
<div id="j-sidebar-container" class="span2">
|
||||
<?php echo $this->sidebar; ?>
|
||||
</div>
|
||||
<div id="j-main-container" class="span10">
|
||||
<?php else : ?>
|
||||
<div id="j-main-container">
|
||||
<?php endif;?>
|
||||
<div id="filter-bar" class="btn-toolbar">
|
||||
<div class="filter-search btn-group pull-left">
|
||||
<label for="filter_search" class="element-invisible"><?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC');?></label>
|
||||
<input type="text" name="filter_search" id="filter_search" placeholder="<?php echo JText::_('JSEARCH_FILTER'); ?>" value="<?php echo $this->escape($this->state->get('filter.search')); ?>" class="hasTooltip" title="<?php echo JHtml::tooltipText('COM_MENUS_ITEMS_SEARCH_FILTER'); ?>" />
|
||||
</div>
|
||||
<div class="btn-group pull-left hidden-phone">
|
||||
<button type="submit" class="btn hasTooltip" title="<?php echo JHtml::tooltipText('JSEARCH_FILTER_SUBMIT'); ?>"><i class="icon-search"></i></button>
|
||||
<button type="button" class="btn hasTooltip" title="<?php echo JHtml::tooltipText('JSEARCH_FILTER_CLEAR'); ?>" onclick="document.id('filter_search').value='';this.form.submit();"><i class="icon-remove"></i></button>
|
||||
</div>
|
||||
<div class="btn-group pull-right hidden-phone">
|
||||
<label for="limit" class="element-invisible"><?php echo JText::_('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC');?></label>
|
||||
<?php echo $this->pagination->getLimitBox(); ?>
|
||||
</div>
|
||||
<div class="btn-group pull-right hidden-phone">
|
||||
<label for="directionTable" class="element-invisible"><?php echo JText::_('JFIELD_ORDERING_DESC');?></label>
|
||||
<select name="directionTable" id="directionTable" class="input-medium" onchange="Joomla.orderTable()">
|
||||
<option value=""><?php echo JText::_('JFIELD_ORDERING_DESC');?></option>
|
||||
<option value="asc" <?php if ($listDirn == 'asc') echo 'selected="selected"'; ?>><?php echo JText::_('JGLOBAL_ORDER_ASCENDING');?></option>
|
||||
<option value="desc" <?php if ($listDirn == 'desc') echo 'selected="selected"'; ?>><?php echo JText::_('JGLOBAL_ORDER_DESCENDING');?></option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="btn-group pull-right">
|
||||
<label for="sortTable" class="element-invisible"><?php echo JText::_('JGLOBAL_SORT_BY');?></label>
|
||||
<select name="sortTable" id="sortTable" class="input-medium" onchange="Joomla.orderTable()">
|
||||
<option value=""><?php echo JText::_('JGLOBAL_SORT_BY');?></option>
|
||||
<?php echo JHtml::_('select.options', $sortFields, 'value', 'text', $listOrder);?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="clearfix"> </div>
|
||||
|
||||
<table class="table table-striped" id="itemList">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="1%" class="hidden-phone">
|
||||
<?php echo JHtml::_('grid.sort', '<i class="icon-menu-2"></i>', 'a.ordering', $listDirn, $listOrder, null, 'asc', 'JGRID_HEADING_ORDERING'); ?>
|
||||
</th>
|
||||
<th width="1%" class="hidden-phone">
|
||||
<?php echo JHtml::_('grid.checkall'); ?>
|
||||
</th>
|
||||
<th width="1%" class="nowrap center">
|
||||
<?php echo JHtml::_('grid.sort', 'JSTATUS', 'a.published', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th class="title">
|
||||
<?php echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'a.title', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th width="5%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('grid.sort', 'COM_MENUS_HEADING_HOME', 'a.home', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<th width="10%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ACCESS', 'a.access', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<?php if ($assoc) : ?>
|
||||
<th width="5%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('grid.sort', 'COM_MENUS_HEADING_ASSOCIATION', 'association', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
<?php endif;?>
|
||||
<th width="5%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('grid.sort', 'JGRID_HEADING_LANGUAGE', 'language', $this->state->get('list.direction'), $this->state->get('list.ordering')); ?>
|
||||
</th>
|
||||
<th width="1%" class="nowrap hidden-phone">
|
||||
<?php echo JHtml::_('grid.sort', 'JGRID_HEADING_ID', 'a.id', $listDirn, $listOrder); ?>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="15">
|
||||
<?php echo $this->pagination->getListFooter(); ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
<tbody>
|
||||
<?php
|
||||
$originalOrders = array();
|
||||
foreach ($this->items as $i => $item) :
|
||||
$orderkey = array_search($item->id, $this->ordering[$item->parent_id]);
|
||||
$canCreate = $user->authorise('core.create', 'com_menus');
|
||||
$canEdit = $user->authorise('core.edit', 'com_menus');
|
||||
$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out == $user->get('id')|| $item->checked_out == 0;
|
||||
$canChange = $user->authorise('core.edit.state', 'com_menus') && $canCheckin;
|
||||
// Get the parents of item for sorting
|
||||
if ($item->level > 1)
|
||||
{
|
||||
$parentsStr = "";
|
||||
$_currentParentId = $item->parent_id;
|
||||
$parentsStr = " ".$_currentParentId;
|
||||
for ($j = 0; $j < $item->level; $j++)
|
||||
{
|
||||
foreach ($this->ordering as $k => $v)
|
||||
{
|
||||
$v = implode("-", $v);
|
||||
$v = "-" . $v . "-";
|
||||
if (strpos($v, "-" . $_currentParentId . "-") !== false)
|
||||
{
|
||||
$parentsStr .= " " . $k;
|
||||
$_currentParentId = $k;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$parentsStr = "";
|
||||
}
|
||||
?>
|
||||
<tr class="row<?php echo $i % 2; ?>" sortable-group-id="<?php echo $item->parent_id;?>" item-id="<?php echo $item->id?>" parents="<?php echo $parentsStr?>" level="<?php echo $item->level?>">
|
||||
<td class="order nowrap center hidden-phone">
|
||||
<?php
|
||||
$iconClass = '';
|
||||
if (!$canChange)
|
||||
{
|
||||
$iconClass = ' inactive';
|
||||
}
|
||||
elseif (!$saveOrder)
|
||||
{
|
||||
$iconClass = ' inactive tip-top hasTooltip" title="' . JHtml::tooltipText('JORDERINGDISABLED');
|
||||
}
|
||||
?>
|
||||
<span class="sortable-handler<?php echo $iconClass ?>">
|
||||
<i class="icon-menu"></i>
|
||||
</span>
|
||||
<?php if ($canChange && $saveOrder) : ?>
|
||||
<input type="text" style="display:none" name="order[]" size="5" value="<?php echo $orderkey + 1;?>" />
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="center hidden-phone">
|
||||
<?php echo JHtml::_('grid.id', $i, $item->id); ?>
|
||||
</td>
|
||||
<td class="center">
|
||||
<?php echo JHtml::_('MenusHtml.Menus.state', $item->published, $i, $canChange, 'cb'); ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo str_repeat('<span class="gi">|—</span>', $item->level - 1) ?>
|
||||
<?php if ($item->checked_out) : ?>
|
||||
<?php echo JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, 'items.', $canCheckin); ?>
|
||||
<?php endif; ?>
|
||||
<?php if ($canEdit) : ?>
|
||||
<a href="<?php echo JRoute::_('index.php?option=com_menus&task=item.edit&id='.(int) $item->id);?>">
|
||||
<?php echo $this->escape($item->title); ?></a>
|
||||
<?php else : ?>
|
||||
<?php echo $this->escape($item->title); ?>
|
||||
<?php endif; ?>
|
||||
<span class="small">
|
||||
<?php if ($item->type != 'url') : ?>
|
||||
<?php if (empty($item->note)) : ?>
|
||||
<?php echo JText::sprintf('JGLOBAL_LIST_ALIAS', $this->escape($item->alias));?>
|
||||
<?php else : ?>
|
||||
<?php echo JText::sprintf('JGLOBAL_LIST_ALIAS_NOTE', $this->escape($item->alias), $this->escape($item->note));?>
|
||||
<?php endif; ?>
|
||||
<?php elseif ($item->type == 'url' && $item->note) : ?>
|
||||
<?php echo JText::sprintf('JGLOBAL_LIST_NOTE', $this->escape($item->note));?>
|
||||
<?php endif; ?>
|
||||
</span>
|
||||
<div class="small" title="<?php echo $this->escape($item->path);?>">
|
||||
<?php echo str_repeat('<span class="gtr">—</span>', $item->level - 1) ?>
|
||||
<span title="<?php echo isset($item->item_type_desc) ? htmlspecialchars($this->escape($item->item_type_desc), ENT_COMPAT, 'UTF-8') : ''; ?>">
|
||||
<?php echo $this->escape($item->item_type); ?></span>
|
||||
</div>
|
||||
</td>
|
||||
<td class="center hidden-phone">
|
||||
<?php if ($item->type == 'component') : ?>
|
||||
<?php if ($item->language == '*' || $item->home == '0'):?>
|
||||
<?php echo JHtml::_('jgrid.isdefault', $item->home, $i, 'items.', ($item->language != '*' || !$item->home) && $canChange);?>
|
||||
<?php elseif ($canChange):?>
|
||||
<a href="<?php echo JRoute::_('index.php?option=com_menus&task=items.unsetDefault&cid[]='.$item->id.'&'.JSession::getFormToken().'=1');?>">
|
||||
<?php echo JHtml::_('image', 'mod_languages/' . $item->image . '.gif', $item->language_title, array('title' => JText::sprintf('COM_MENUS_GRID_UNSET_LANGUAGE', $item->language_title)), true);?>
|
||||
</a>
|
||||
<?php else:?>
|
||||
<?php echo JHtml::_('image', 'mod_languages/' . $item->image . '.gif', $item->language_title, array('title' => $item->language_title), true);?>
|
||||
<?php endif;?>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
<td class="small hidden-phone">
|
||||
<?php echo $this->escape($item->access_level); ?>
|
||||
</td>
|
||||
<?php if ($assoc):?>
|
||||
<td class="small hidden-phone">
|
||||
<?php if ($item->association):?>
|
||||
<?php echo JHtml::_('MenusHtml.Menus.association', $item->id);?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
<?php endif;?>
|
||||
<td class="small hidden-phone">
|
||||
<?php if ($item->language == ''):?>
|
||||
<?php echo JText::_('JDEFAULT'); ?>
|
||||
<?php elseif ($item->language == '*'):?>
|
||||
<?php echo JText::alt('JALL', 'language'); ?>
|
||||
<?php else:?>
|
||||
<?php echo $item->language_title ? $this->escape($item->language_title) : JText::_('JUNDEFINED'); ?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
<td class="center hidden-phone">
|
||||
<span title="<?php echo sprintf('%d-%d', $item->lft, $item->rgt);?>">
|
||||
<?php echo (int) $item->id; ?></span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php //Load the batch processing form.is user is allowed ?>
|
||||
<?php if ($user->authorise('core.create', 'com_menus') || $user->authorise('core.edit', 'com_menus')) : ?>
|
||||
<?php echo $this->loadTemplate('batch'); ?>
|
||||
<?php endif;?>
|
||||
|
||||
<input type="hidden" name="task" value="" />
|
||||
<input type="hidden" name="boxchecked" value="0" />
|
||||
<input type="hidden" name="filter_order" value="<?php echo $listOrder; ?>" />
|
||||
<input type="hidden" name="filter_order_Dir" value="<?php echo $listDirn; ?>" />
|
||||
<input type="hidden" name="original_order_values" value="<?php echo implode($originalOrders, ','); ?>" />
|
||||
<?php echo JHtml::_('form.token'); ?>
|
||||
</div>
|
||||
</form>
|
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_menus
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
$options = array(
|
||||
JHtml::_('select.option', 'c', JText::_('JLIB_HTML_BATCH_COPY')),
|
||||
JHtml::_('select.option', 'm', JText::_('JLIB_HTML_BATCH_MOVE'))
|
||||
);
|
||||
$published = $this->state->get('filter.published');
|
||||
?>
|
||||
<div class="modal hide fade" id="collapseModal">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">x</button>
|
||||
<h3><?php echo JText::_('COM_MENUS_BATCH_OPTIONS');?></h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p><?php echo JText::_('COM_MENUS_BATCH_TIP'); ?></p>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<?php echo JHtml::_('batch.access');?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<?php echo JHtml::_('batch.language'); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($published >= 0)
|
||||
{
|
||||
?>
|
||||
<div id="batch-choose-action" class="combo control-group">
|
||||
<label id="batch-choose-action-lbl" class="control-label" for="batch-choose-action">
|
||||
<?php echo JText::_('COM_MENUS_BATCH_MENU_LABEL'); ?>
|
||||
</label>
|
||||
<div class="controls">
|
||||
<select name="batch[menu_id]" class="inputbox" id="batch-menu-id">
|
||||
<option value=""><?php echo JText::_('JSELECT') ?></option>
|
||||
<?php echo JHtml::_('select.options', JHtml::_('menu.menuitems', array('published' => $published)));?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="batch-copy-move" class="control-group radio">
|
||||
<?php echo JHtml::_('select.radiolist', $options, 'batch[move_copy]', '', 'value', 'text', 'm'); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn" type="button" onclick="document.id('batch-menu-id').value='';document.id('batch-access').value='';document.id('batch-language-id').value=''" data-dismiss="modal">
|
||||
<?php echo JText::_('JCANCEL'); ?>
|
||||
</button>
|
||||
<button class="btn btn-primary" type="submit" onclick="Joomla.submitbutton('item.batch');">
|
||||
<?php echo JText::_('JGLOBAL_BATCH_PROCESS'); ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
309
administrator/components/com_menus/views/items/view.html.php
Normal file
309
administrator/components/com_menus/views/items/view.html.php
Normal file
@ -0,0 +1,309 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_menus
|
||||
*
|
||||
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
/**
|
||||
* The HTML Menus Menu Items View.
|
||||
*
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_menus
|
||||
* @since 1.6
|
||||
*/
|
||||
class MenusViewItems extends JViewLegacy
|
||||
{
|
||||
protected $f_levels;
|
||||
|
||||
protected $items;
|
||||
|
||||
protected $pagination;
|
||||
|
||||
protected $state;
|
||||
|
||||
/**
|
||||
* Display the view
|
||||
*/
|
||||
public function display($tpl = null)
|
||||
{
|
||||
$lang = JFactory::getLanguage();
|
||||
$this->items = $this->get('Items');
|
||||
$this->pagination = $this->get('Pagination');
|
||||
$this->state = $this->get('State');
|
||||
|
||||
MenusHelper::addSubmenu('items');
|
||||
|
||||
// Check for errors.
|
||||
if (count($errors = $this->get('Errors')))
|
||||
{
|
||||
JError::raiseError(500, implode("\n", $errors));
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->ordering = array();
|
||||
|
||||
// Preprocess the list of items to find ordering divisions.
|
||||
foreach ($this->items as $item)
|
||||
{
|
||||
$this->ordering[$item->parent_id][] = $item->id;
|
||||
|
||||
// item type text
|
||||
switch ($item->type)
|
||||
{
|
||||
case 'url':
|
||||
$value = JText::_('COM_MENUS_TYPE_EXTERNAL_URL');
|
||||
break;
|
||||
|
||||
case 'alias':
|
||||
$value = JText::_('COM_MENUS_TYPE_ALIAS');
|
||||
break;
|
||||
|
||||
case 'separator':
|
||||
$value = JText::_('COM_MENUS_TYPE_SEPARATOR');
|
||||
break;
|
||||
|
||||
case 'heading':
|
||||
$value = JText::_('COM_MENUS_TYPE_HEADING');
|
||||
break;
|
||||
|
||||
case 'component':
|
||||
default:
|
||||
// load language
|
||||
$lang->load($item->componentname.'.sys', JPATH_ADMINISTRATOR, null, false, false)
|
||||
|| $lang->load($item->componentname.'.sys', JPATH_ADMINISTRATOR.'/components/'.$item->componentname, null, false, false)
|
||||
|| $lang->load($item->componentname.'.sys', JPATH_ADMINISTRATOR, $lang->getDefault(), false, false)
|
||||
|| $lang->load($item->componentname.'.sys', JPATH_ADMINISTRATOR.'/components/'.$item->componentname, $lang->getDefault(), false, false);
|
||||
|
||||
if (!empty($item->componentname))
|
||||
{
|
||||
$value = JText::_($item->componentname);
|
||||
$vars = null;
|
||||
|
||||
parse_str($item->link, $vars);
|
||||
if (isset($vars['view']))
|
||||
{
|
||||
// Attempt to load the view xml file.
|
||||
$file = JPATH_SITE.'/components/'.$item->componentname.'/views/'.$vars['view'].'/metadata.xml';
|
||||
if (is_file($file) && $xml = simplexml_load_file($file))
|
||||
{
|
||||
// Look for the first view node off of the root node.
|
||||
if ($view = $xml->xpath('view[1]'))
|
||||
{
|
||||
if (!empty($view[0]['title']))
|
||||
{
|
||||
$vars['layout'] = isset($vars['layout']) ? $vars['layout'] : 'default';
|
||||
|
||||
// Attempt to load the layout xml file.
|
||||
// If Alternative Menu Item, get template folder for layout file
|
||||
if (strpos($vars['layout'], ':') > 0)
|
||||
{
|
||||
// Use template folder for layout file
|
||||
$temp = explode(':', $vars['layout']);
|
||||
$file = JPATH_SITE.'/templates/'.$temp[0].'/html/'.$item->componentname.'/'.$vars['view'].'/'.$temp[1].'.xml';
|
||||
// Load template language file
|
||||
$lang->load('tpl_'.$temp[0].'.sys', JPATH_SITE, null, false, false)
|
||||
|| $lang->load('tpl_'.$temp[0].'.sys', JPATH_SITE.'/templates/'.$temp[0], null, false, false)
|
||||
|| $lang->load('tpl_'.$temp[0].'.sys', JPATH_SITE, $lang->getDefault(), false, false)
|
||||
|| $lang->load('tpl_'.$temp[0].'.sys', JPATH_SITE.'/templates/'.$temp[0], $lang->getDefault(), false, false);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// Get XML file from component folder for standard layouts
|
||||
$file = JPATH_SITE.'/components/'.$item->componentname.'/views/'.$vars['view'].'/tmpl/'.$vars['layout'].'.xml';
|
||||
}
|
||||
if (is_file($file) && $xml = simplexml_load_file($file))
|
||||
{
|
||||
// Look for the first view node off of the root node.
|
||||
if ($layout = $xml->xpath('layout[1]'))
|
||||
{
|
||||
if (!empty($layout[0]['title']))
|
||||
{
|
||||
$value .= ' » ' . JText::_(trim((string) $layout[0]['title']));
|
||||
}
|
||||
}
|
||||
if (!empty($layout[0]->message[0]))
|
||||
{
|
||||
$item->item_type_desc = JText::_(trim((string) $layout[0]->message[0]));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($xml);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Special case for absent views
|
||||
$value .= ' » ' . $vars['view'];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (preg_match("/^index.php\?option=([a-zA-Z\-0-9_]*)/", $item->link, $result))
|
||||
{
|
||||
$value = JText::sprintf('COM_MENUS_TYPE_UNEXISTING', $result[1]);
|
||||
}
|
||||
else {
|
||||
$value = JText::_('COM_MENUS_TYPE_UNKNOWN');
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
$item->item_type = $value;
|
||||
}
|
||||
|
||||
// Levels filter.
|
||||
$options = array();
|
||||
$options[] = JHtml::_('select.option', '1', JText::_('J1'));
|
||||
$options[] = JHtml::_('select.option', '2', JText::_('J2'));
|
||||
$options[] = JHtml::_('select.option', '3', JText::_('J3'));
|
||||
$options[] = JHtml::_('select.option', '4', JText::_('J4'));
|
||||
$options[] = JHtml::_('select.option', '5', JText::_('J5'));
|
||||
$options[] = JHtml::_('select.option', '6', JText::_('J6'));
|
||||
$options[] = JHtml::_('select.option', '7', JText::_('J7'));
|
||||
$options[] = JHtml::_('select.option', '8', JText::_('J8'));
|
||||
$options[] = JHtml::_('select.option', '9', JText::_('J9'));
|
||||
$options[] = JHtml::_('select.option', '10', JText::_('J10'));
|
||||
|
||||
$this->f_levels = $options;
|
||||
|
||||
$this->addToolbar();
|
||||
$this->sidebar = JHtmlSidebar::render();
|
||||
|
||||
// Allow a system plugin to insert dynamic menu types to the list shown in menus:
|
||||
JDispatcher::getInstance()->trigger('onBeforeRenderMenuItems', array($this));
|
||||
|
||||
parent::display($tpl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the page title and toolbar.
|
||||
*
|
||||
* @since 1.6
|
||||
*/
|
||||
protected function addToolbar()
|
||||
{
|
||||
require_once JPATH_COMPONENT.'/helpers/menus.php';
|
||||
|
||||
$canDo = MenusHelper::getActions($this->state->get('filter.parent_id'));
|
||||
$user = JFactory::getUser();
|
||||
|
||||
// Get the toolbar object instance
|
||||
$bar = JToolBar::getInstance('toolbar');
|
||||
|
||||
JToolbarHelper::title(JText::_('COM_MENUS_VIEW_ITEMS_TITLE'), 'menumgr.png');
|
||||
|
||||
if ($canDo->get('core.create'))
|
||||
{
|
||||
JToolbarHelper::addNew('item.add');
|
||||
}
|
||||
|
||||
if ($canDo->get('core.edit'))
|
||||
{
|
||||
JToolbarHelper::editList('item.edit');
|
||||
}
|
||||
if ($canDo->get('core.edit.state'))
|
||||
{
|
||||
JToolbarHelper::publish('items.publish', 'JTOOLBAR_PUBLISH', true);
|
||||
JToolbarHelper::unpublish('items.unpublish', 'JTOOLBAR_UNPUBLISH', true);
|
||||
}
|
||||
if (JFactory::getUser()->authorise('core.admin'))
|
||||
{
|
||||
JToolbarHelper::checkin('items.checkin', 'JTOOLBAR_CHECKIN', true);
|
||||
}
|
||||
|
||||
if ($this->state->get('filter.published') == -2 && $canDo->get('core.delete'))
|
||||
{
|
||||
JToolbarHelper::deleteList('', 'items.delete', 'JTOOLBAR_EMPTY_TRASH');
|
||||
}
|
||||
elseif ($canDo->get('core.edit.state'))
|
||||
{
|
||||
JToolbarHelper::trash('items.trash');
|
||||
}
|
||||
|
||||
if ($canDo->get('core.edit.state'))
|
||||
{
|
||||
JToolbarHelper::makeDefault('items.setDefault', 'COM_MENUS_TOOLBAR_SET_HOME');
|
||||
}
|
||||
if (JFactory::getUser()->authorise('core.admin'))
|
||||
{
|
||||
JToolbarHelper::custom('items.rebuild', 'refresh.png', 'refresh_f2.png', 'JToolbar_Rebuild', false);
|
||||
}
|
||||
|
||||
// Add a batch button
|
||||
if ($user->authorise('core.create', 'com_menus') && $user->authorise('core.edit', 'com_menus') && $user->authorise('core.edit.state', 'com_menus'))
|
||||
{
|
||||
JHtml::_('bootstrap.modal', 'collapseModal');
|
||||
$title = JText::_('JTOOLBAR_BATCH');
|
||||
|
||||
// Instantiate a new JLayoutFile instance and render the batch button
|
||||
$layout = new JLayoutFile('joomla.toolbar.batch');
|
||||
|
||||
$dhtml = $layout->render(array('title' => $title));
|
||||
$bar->appendButton('Custom', $dhtml, 'batch');
|
||||
}
|
||||
|
||||
JToolbarHelper::help('JHELP_MENUS_MENU_ITEM_MANAGER');
|
||||
|
||||
JHtmlSidebar::setAction('index.php?option=com_menus&view=items');
|
||||
|
||||
JHtmlSidebar::addFilter(
|
||||
// @todo we need a label here
|
||||
'',
|
||||
'menutype',
|
||||
JHtml::_('select.options', JHtml::_('menu.menus'), 'value', 'text', $this->state->get('filter.menutype')),
|
||||
false
|
||||
);
|
||||
|
||||
JHtmlSidebar::addFilter(
|
||||
JText::_('COM_MENUS_OPTION_SELECT_LEVEL'),
|
||||
'filter_level',
|
||||
JHtml::_('select.options', $this->f_levels, 'value', 'text', $this->state->get('filter.level'))
|
||||
);
|
||||
|
||||
JHtmlSidebar::addFilter(
|
||||
JText::_('JOPTION_SELECT_PUBLISHED'),
|
||||
'filter_published',
|
||||
JHtml::_('select.options', JHtml::_('jgrid.publishedOptions', array('archived' => false)), 'value', 'text', $this->state->get('filter.published'), true)
|
||||
);
|
||||
|
||||
JHtmlSidebar::addFilter(
|
||||
JText::_('JOPTION_SELECT_ACCESS'),
|
||||
'filter_access',
|
||||
JHtml::_('select.options', JHtml::_('access.assetgroups'), 'value', 'text', $this->state->get('filter.access'))
|
||||
);
|
||||
|
||||
JHtmlSidebar::addFilter(
|
||||
JText::_('JOPTION_SELECT_LANGUAGE'),
|
||||
'filter_language',
|
||||
JHtml::_('select.options', JHtml::_('contentlanguage.existing', true, true), 'value', 'text', $this->state->get('filter.language'))
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an array of fields the table can be sorted by
|
||||
*
|
||||
* @return array Array containing the field name to sort by as the key and display text as value
|
||||
*
|
||||
* @since 3.0
|
||||
*/
|
||||
protected function getSortFields()
|
||||
{
|
||||
return array(
|
||||
'a.lft' => JText::_('JGRID_HEADING_ORDERING'),
|
||||
'a.published' => JText::_('JSTATUS'),
|
||||
'a.title' => JText::_('JGLOBAL_TITLE'),
|
||||
'a.home' => JText::_('COM_MENUS_HEADING_HOME'),
|
||||
'a.access' => JText::_('JGRID_HEADING_ACCESS'),
|
||||
'association' => JText::_('COM_MENUS_HEADING_ASSOCIATION'),
|
||||
'language' => JText::_('JGRID_HEADING_LANGUAGE'),
|
||||
'a.id' => JText::_('JGRID_HEADING_ID')
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user