Quote($row->menutype)
. ' AND parent = '.(int) $row->parent
. ' AND published != -2'
. ' ORDER BY ordering';
$order = JHTML::_('list.genericordering', $query );
$ordering = JHTML::_('select.genericlist', $order, 'ordering', 'class="inputbox" size="1"', 'value', 'text', intval( $row->ordering ) );
}
else
{
$ordering = ''. JText::_( 'DESCNEWITEMSLAST' );
}
return $ordering;
}
/**
* Build the multiple select list for Menu Links/Pages
*/
function linkoptions( $all=false, $unassigned=false )
{
$db =& JFactory::getDBO();
// get a list of the menu items
$query = 'SELECT m.id, m.parent, m.name, m.menutype'
. ' FROM #__menu AS m'
. ' WHERE m.published = 1'
. ' ORDER BY m.menutype, m.parent, m.ordering'
;
$db->setQuery( $query );
$mitems = $db->loadObjectList();
$mitems_temp = $mitems;
// establish the hierarchy of the menu
$children = array();
// first pass - collect children
foreach ( $mitems as $v )
{
$id = $v->id;
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push( $list, $v );
$children[$pt] = $list;
}
// second pass - get an indent list of the items
$list = JHTMLMenu::TreeRecurse( intval( $mitems[0]->parent ), '', array(), $children, 9999, 0, 0 );
// Code that adds menu name to Display of Page(s)
$mitems_spacer = $mitems_temp[0]->menutype;
$mitems = array();
if ($all | $unassigned) {
$mitems[] = JHTML::_('select.option', '' );
}
$lastMenuType = null;
$tmpMenuType = null;
foreach ($list as $list_a)
{
if ($list_a->menutype != $lastMenuType)
{
if ($tmpMenuType) {
$mitems[] = JHTML::_('select.option', '' );
}
$mitems[] = JHTML::_('select.option', '' );
}
return $mitems;
}
function treerecurse( $id, $indent, $list, &$children, $maxlevel=9999, $level=0, $type=1 )
{
if (@$children[$id] && $level <= $maxlevel)
{
foreach ($children[$id] as $v)
{
$id = $v->id;
if ( $type ) {
$pre = '|_ ';
$spacer = '. ';
} else {
$pre = '- ';
$spacer = ' ';
}
if ( $v->parent == 0 ) {
$txt = $v->name;
} else {
$txt = $pre . $v->name;
}
$pt = $v->parent;
$list[$id] = $v;
$list[$id]->treename = "$indent$txt";
$list[$id]->children = count( @$children[$id] );
$list = JHTMLMenu::TreeRecurse( $id, $indent . $spacer, $list, $children, $maxlevel, $level+1, $type );
}
}
return $list;
}
}