Turned out the "conf_catid = 2" in the database was missing. i just exported category ID #2 from another XOOPS site (changing the conf_id to an unused number) and imported it into this broken site and registrations are now working.
<?php
function multimenu_show($options) {
global $xoopsDB,$xoopsUser;
$myts =& MyTextSanitizer::getInstance();
$block = array();
$group = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS);
$result = $xoopsDB->query("SELECT groups, link, title, target, imageurl FROM ".$xoopsDB->prefix("multimenu").$options[1]." 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['link'] = $myrow['link'];
$imenu['imageurl'] = $myrow['imageurl'];
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];
}
}
$block['contents'][] = $imenu;
}
}
return $block;
}
function multimenu_edit($options) {
$form = _BM_MULTIMENU_CHARS." <input type='text' name='options[]' value='".$options[0]."' /> "._BM_MULTIMENU_LENGTH."";
return $form;
}
?>