https://xoops.org/modules/newbb/viewtopic.php?topic_id=62651&forum=21&post_id=282233#forumpost282233
$block['contents'][] = $imenu;
} // Sublinks
} // Groups
}
return $block;
?>
//start of hack by trabis for selected menus
$imenu['id'] = $myrow['id'];
$imenu['pid'] = $myrow['pid'];
$block['contents'][] = $imenu;
} // Sublinks
} // Groups
}
//get the currentpage
$query_string = $_SERVER['QUERY_STRING']?'?'.$_SERVER['QUERY_STRING']:'';
$self = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$query_string;
//set a default page in case we don´t get matches
$default = XOOPS_URL."/index.php";
//get all the links that could fit into this pageplus the default link
$i = 0;
foreach ($block['contents'] as $menu){
$link = $menu['linkurl'];
$selected = eregi($menu['linkurl'], $self)? 1: 0;
$selected = ($menu['linkurl'] == $self) ? 1: $selected;
$selected = ($menu['linkurl'] == $default) ? 1: $selected;
$block['contents'][$i]['selected'] = $selected;
$i++;
}
//From those links get only the longer one
$i = 0;
$issub = 0;
foreach ($block['contents'] as $this_menu){
$other = 0;
foreach ($block['contents'] as $other_menu){
if($this_menu['selected']==1 && $other_menu['selected']==1){
if (strlen($other_menu['linkurl']) < strlen($this_menu['linkurl'])){
$block['contents'][$other]['selected'] = 0;
$issub = $this_menu['submenu'];
$subid = $this_menu['id'];
$subord = $i;
}
}
$other++;
}
$i++;
}
//if the longer link is in a sub menu than change selection to the parent menu
if ($issub == 1){
//get the parent menu
$sql = "SELECT id, pid, groups, link, submenu, title, target, imageurl, weight
FROM ".$xoopsDB->prefix('multimenu').$options[15]."
WHERE id=".$subid;
$result = $xoopsDB->queryF($sql);
$myrow = $xoopsDB->fetchArray($result);
$i = 0;
foreach ($block['contents'] as $mainmenu){
//changing selections
if ($mainmenu['id'] == $myrow['pid']){
$block['contents'][$i]['selected'] = 1;
$block['contents'][$subord]['selected'] = 0;
}
$i++;
}
}
//end of hack by trabis for selected menus
return $block;
?>
<!-- Start multiMenu <{$block.mm}> -->
<div class="menuhcss">
<!-- Start multiMenu <{$block.mm}> -->
<{assign var=ul_main value=0}>
<{assign var=ul_sec value=0}>
<{foreach item=imenu from=$block.contents}>
<{if $imenu.submenu == 0}>
<{if $ul_sec == 1}></ul><{assign var=ul_sec value=0}><{/if}>
<{if $ul_sec == 1}><{assign var=ul_sec value=0}><{/if}>
<{if $ul_main == 1}>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
</ul>
<{assign var=ul_main value=0}>
<{/if}>
<{if $ul_main == 0}>
<{assign var=ul_main value=1}>
<{/if}>
<ul>
<li>
<a <{if $imenu.selected}>class="hide_selected"<{else}>class="hide"<{/if}><{if $imenu.linkurl}>href="<{$imenu.linkurl}>"<{/if}> title="<{$imenu.alt_title}>"><{$imenu.image}> <{$imenu.title}></a>
<!--[if lte IE 6]>
<a <{if $imenu.selected}>class="selected"<{/if}>href="<{$imenu.linkurl}>" title="<{$imenu.alt_title}>"><{$imenu.image}> <{$imenu.title}>
<table><tr><td>
<![endif]-->
<{elseif $imenu.submenu == 1 OR $imenu.submenu == 2}>
<{if $ul_sec == 0}><ul><{assign var=ul_sec value=1}><{/if}>
<li><a <{if $imenu.linkurl}>href="<{$imenu.linkurl}>"<{/if}> title="<{$imenu.alt_title}>"><{$imenu.image}> <{$imenu.title}></a></li>
<{elseif $imenu.submenu == 3}>
<{if $ul_sec == 0}><ul><{assign var=ul_sec value=1}><{/if}>
<div><li><a class="note" <{if $imenu.linkurl}>href="<{$imenu.linkurl}>"<{/if}> title="<{$imenu.alt_title}>"><{$imenu.image}> <{$imenu.title}></a></li></div>
<{elseif $imenu.submenu == 4}>
<{if $ul_sec == 0}><ul><{assign var=ul_sec value=1}><{/if}>
<div><li><a class="cat" <{if $imenu.linkurl}>href="<{$imenu.linkurl}>"<{/if}> title="<{$imenu.alt_title}>"><{$imenu.image}> <{$imenu.title}></a></li></div>
<{/if}>
<{/foreach}>
<{if $ul_sec == 1}></ul><{/if}>
<{if $ul_main == 1 OR $ul_sec == 1}>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
</ul>
<{/if}>
<!-- End multiMenu <{$block.mm}> -->
</div>
.menuhcss ul li a.hide_selected, .menuhcss ul li a:visited.hide_selected, menuhcss ul li a.selected, .menuhcss ul li a:visited.selected{
background-image: url('http://www.luso-poemas.net/modules/multiMenu/templates/images/links_over.jpg');
background-repeat: repeat-x;
color: #027AD2;
height: 20px
padding: 0px;
}
/* ignore the link used by 'other browsers' */
.menuhcss ul li a.hide, .menuhcss ul li a:visited.hide .menuhcss ul li a.hide_selected, .menuhcss ul li a:visited.hide_selected{
display:none;
}
//POSTS and GETS
$strings = array(
'update','feedback','_summary','_details',
'search','substr','status','action','list_of_groups','response_text','response_title',
'add_to_can','submit','resend','form_public','form_status','form_license',
'group_type','form_domain','action2','sure','string', 'submit',
);
$ints = array(
'is_public','_is_public','_diary_id','response_id','group_id','user_id','diary_id'
);
foreach ($strings as $k){
$$k = '';
}
foreach ($ints as $k){
$$k = '';
}
if ( isset($_POST) ) {
foreach ( $_POST as $k => $v ) {
if (in_array($k,$strings)){
$$k = addslashes($v);
}
}
}
if ( isset($_GET) ) {
foreach ( $_GET as $k => $v ) {
if (in_array($k,$strings)){
$$k = addslashes($v);
}
}
}
if ( isset($_POST) ) {
foreach ( $_POST as $k => $v ) {
if (in_array($k,$ints)){
$$k = intval($v);
}
}
}
if ( isset($_GET) ) {
foreach ( $_GET as $k => $v ) {
if (in_array($k,$ints)){
$$k = intval($v);
}
}
}