"._BM_MULTIMENU_LENGTH."";
return $form;
}
function b_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu02' );
return $block;
}
function b_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
function c_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu03' );
return $block;
}
function c_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
function d_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu04' );
return $block;
}
function d_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
function e_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu05' );
return $block;
}
function e_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
function f_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu06' );
return $block;
}
function f_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
function g_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu07' );
return $block;
}
function g_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
function h_multimenu_show($options) {
$block = getMultiMenu( $options, 'multimenu08' );
return $block;
}
function h_multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." "._BM_MULTIMENU_LENGTH."";
return $form;
}
/**
*
* @ MultiMenu block main function
*
*/
function getMultiMenu( $options, $db_name )
{
global $xoopsDB, $xoopsUser, $xoopsModule;
$myts =& MyTextSanitizer::getInstance();
$block = array();
$group = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS);
$db = $xoopsDB->prefix( $db_name );
$result = $xoopsDB->query("SELECT groups, link, title, target FROM ".$db." WHERE hide=0 ORDER BY weight ASC");
while ( $myrow = $xoopsDB->fetchArray($result) ) {
$title = $myts->makeTboxData4Show($myrow["title"]);
if ( !XOOPS_USE_MULTIBYTES ) {
if (strlen($myrow['title']) >= $options[0]) {
$title = $myts->makeTboxData4Show(substr($myrow['title'],0,($options[0]-1)))."...";
}
}
$groups = explode(" ",$myrow['groups']);
if (count(array_intersect($group,$groups)) > 0) {
$imenu['title'] = $title;
$imenu['target'] = $myrow['target'];
$imenu['sublinks'] = array();
// [module_name]xxxx.php?aa=aa&bb=bb
if (eregi("^\[([a-z0-9_]+)\]((.)*)$", $myrow['link'], $moduledir)) {
$module_handler = & xoops_gethandler( 'module' );
$module =& $module_handler->getByDirname($moduledir[1]);
if ( is_object( $module ) && $module->getVar( 'isactive' ) ) {
$imenu['link'] = XOOPS_URL."/modules/".$moduledir[1]."/".$moduledir[2];
}
// +[module_name]xxxx.php?aa=aa&bb=bb view submennu
}elseif (eregi("^\+\[([a-z0-9_]+)\]((.)*)$", $myrow['link'], $moduledir)) {
$module_handler = & xoops_gethandler( 'module' );
$module =& $module_handler->getByDirname($moduledir[1]);
if ( is_object( $module ) && $module->getVar( 'isactive' ) ) {
$imenu['link'] = XOOPS_URL."/modules/".$moduledir[1]."/".$moduledir[2];
$mid = $module->getVar('mid');
$sublinks =& $module->subLink();
if (count($sublinks) > 0) {
foreach($sublinks as $sublink){
if ( !XOOPS_USE_MULTIBYTES ) {
if (strlen($sublink['name']) >= $options[0]) {
$sublink['name'] = $myts->makeTboxData4Show(substr($sublink['name'],0,($options[0]-1)))."...";
}
}
$imenu['sublinks'][] = array('name' => $sublink['name'], 'url' => XOOPS_URL.'/modules/'.$moduledir[1].'/'.$sublink['url'] );
}
}
}
// @[module_name]xxxx.php?aa=aa&bb=bb view submennu
}elseif (eregi("^\@\[([a-z0-9_]+)\]((.)*)$", $myrow['link'], $moduledir)) {
$module_handler = & xoops_gethandler( 'module' );
$module =& $module_handler->getByDirname($moduledir[1]);
if ( is_object( $module ) && $module->getVar( 'isactive' ) ) {
$imenu['link'] = XOOPS_URL."/modules/".$moduledir[1]."/".$moduledir[2];
$mid = $module->getVar('mid');
$sublinks =& $module->subLink();
if ( (count($sublinks) > 0) && (!empty($xoopsModule)) && ($moduledir[1] == $xoopsModule->getVar('dirname')) ){
foreach($sublinks as $sublink){
if ( !XOOPS_USE_MULTIBYTES ) {
if (strlen($sublink['name']) >= $options[0]) {
$sublink['name'] = $myts->makeTboxData4Show(substr($sublink['name'],0,($options[0]-1)))."...";
}
}
$imenu['sublinks'][] = array('name' => $sublink['name'], 'url' => XOOPS_URL.'/modules/'.$moduledir[1].'/'.$sublink['url'] );
}
}
}
}else {
$imenu['link'] = $myrow['link'];
}
$block['contents'][] = $imenu;
}
}
return $block;
}
?>