1
Hi,
I am trying to hack the main menu so that it will not display itself when coming from a specific module (i.e. HTTP_REFERER contains a specific module name). Instead, I want it to refer back to the refering page.
This is the template i use:
<table cellspacing="0">
<tr>
<td id="mainmenu">
<{if $block.LinkBack != 1}>
<a class="menuTop" href="<{$xoops_url}>/"><{$block.lang_home}>a>
<{foreach item=module from=$block.modules}>
<{if $module.directory == "piCal"}>
<a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/?cid=1&smode=Monthly"><{$module.name}>a>
<{else}>
<a class="menuMain" href="<{$xoops_url}>/modules/<{$module.directory}>/"><{$module.name}>a>
<{/if}>
<{foreach item=sublink from=$module.sublinks}>
<a class="menuSub" href="<{$sublink.url}>"><{$sublink.name}>a>
<{/foreach}>
<{/foreach}>
<{else}>
<a href="<{$block.BackLink}>">[en]Back to club page[/en][sv]Tillbaka till klubbsidan[/sv]a>
<{/if}>
td>
tr>
table>
So, the menu does not show when LinkBack is set. Now, I have modified the system_blocks.php like this:
#Link back
if( isset($_SESSION['klubbsida']) ){
$ref = parse_url($_SERVER['HTTP_REFERER']);
$refpath = pathinfo($ref['path']);
$refdir = $refpath['dirname'];
$curr = parse_url($_SERVER['QUERY_STRING']);
$currpath = pathinfo($curr['path']);
$currdir = $currpath['dirname'];
if(strcmp($currdir,$refdir) == 0){
#Same module
$block['LinkBack'] = 1;
$block['BackLink'] = $_SESSION['klubbsida'];
}
}
else{
# ------- This works ------------
if( substr_count($_SERVER['HTTP_REFERER'],"content") > 0 && strcmp($XOOPS_URL,$_SERVER['QUERY_STRING']) != 0 ){
$block['LinkBack'] = 1;
$_SESSION['klubbsida'] = $_SERVER['HTTP_REFERER'];
$block['BackLink'] = $_SESSION['klubbsida'];
}
# ------- End This works ------------
# }
return $block;
}
With this code, I get a link back, but when I click on a link internal to the module, I would like the link back to remain what it was when I entered the module. This does not work.
As you can see, I am trying to get this behaviour to work when entering a module from the 'content' module.
Any ideas?
/Fredrik