} //refresh all data $permuser = new class_user($permuser->userid); } //---- foreach ($defaults as $permkey => $permsections) { if ($flouserdata->defaultpermissions[$permkey]) { $defaults = $flouserdata->defaultpermissions[$permkey]['type'] . ":" . $flouserdata->defaultpermissions[$permkey]['lifetime'] . ":" . join(",", $flouserdata->defaultpermissions[$permkey]['sections']); } else { $defaults = "-"; } unset($permsectionform, $checkedperm, $lifetimeleft); if (count($permsections)) { array_unshift($permsections, "*"); foreach ($permsections as $permsectionkey) { if ($permuser->get_permission($permkey, $permsectionkey)) { $checked = "checked='checked'"; } else { unset($checked); } $permsectionform .= "<input type='checkbox' name='{$permkey}_section_{$permsectionkey}' value='1' style='margin-left:15px;' {$checked}>{$permsectionkey}"; } } if (isset($permuser->userpermissions[$permkey])) { if ($permuser->userpermissions[$permkey]['lifetime'] == 0) { $lifetimeleft = "(perm)"; } else { $lifetimeleft = "(" . date("d.m.y H:i", $permuser->userpermissions[$permkey]['lifetime']) . ")"; } if ($permuser->userpermissions[$permkey]['type'] == "revoke") { $checkedperm['revoke'] = "checked='checked'";
function get_menubar($class, $settings = array()) { global $flolang, $flouser, $flouserdata; /* if forum returned before we created an valid user*/ if (!isset($flouser)) { require_once "{$this->root_abs}/class_user.php"; $flouserdata = new class_userdata(); $flouser = new class_user(0); } /* end workaround */ if ($class == "userbar" && !$flouser->userid) { return "<a href='{$this->forumurl}/member.php?action=register'{$blanklinks}>{$flolang->register}</a>"; } $defaultsettings = array('blanklinks' => FALSE, 'align' => 'left'); $settings = array_merge($defaultsettings, $settings); if ($settings['blanklinks']) { $blanklinks = " target='_blank'"; } if ($settings['align'] == "right") { $dropdownclass = "dropdown2"; } else { $dropdownclass = "dropdown"; } $querymenubarsection = MYSQL_QUERY("SELECT id,standalone, name_" . $flolang->language . " as name, pagelink, permission FROM flobase_menubar WHERE classname='" . mysql_real_escape_string($class) . "' AND section=1 ORDER BY rankid, name_" . $flolang->language); while ($menubarsection = MYSQL_FETCH_ARRAY($querymenubarsection)) { if (!trim($menubarsection['name'])) { continue; } //check permissions $permgrand = true; if (strlen($menubarsection['permission'])) { $permgrand = false; foreach (explode(";", $menubarsection['permission']) as $permsection) { if ($flouser->get_permission($permsection)) { $permgrand = true; break; } } } if (!$permgrand) { continue; } $link = explode('|', $menubarsection['pagelink']); $link[1] = str_replace(array("{userid}", "{username}"), array($flouser->userid, $flouser->user['username']), $link[1]); switch ($link[0]) { case "intern": $menubarlink = "{$this->root}/" . $link[1]; break; case "forum": $menubarlink = "{$this->forumurl}/" . $link[1]; break; case "extern": $menubarlink = $link[1]; break; default: $menubarlink = "{$this->root}/index.php"; $menubarsection['name'] .= " (No link specified)"; } if ($link[0] != "intern" && !$blanklinks) { $linktarget = "target='_blank'"; } else { unset($linktarget); } if ($menubarsection['standalone']) { $menubar .= "<li><a href='{$menubarlink}' {$linktarget} {$blanklinks}>" . $this->escape($menubarsection['name']) . "</a></li>"; } else { $menubar .= "<li><a href='{$menubarlink}' {$linktarget} {$blanklinks} class='dir'>" . $menubarsection['name'] . "</a>\n\t\t\t\t\t\t\t<ul class='bordered'>"; $querymenubarsubsection = MYSQL_QUERY("SELECT name_" . $flolang->language . " as name, pagelink, permission FROM flobase_menubar WHERE classname='" . mysql_real_escape_string($class) . "' AND sectionid={$menubarsection['id']} ORDER BY rankid, name_" . $flolang->language); while ($menubarsubsection = MYSQL_FETCH_ARRAY($querymenubarsubsection)) { if (!trim($menubarsubsection['name'])) { continue; } //check permissions $permgrand = true; if (strlen($menubarsubsection['permission'])) { $permgrand = false; foreach (explode(";", $menubarsubsection['permission']) as $permsection) { if ($flouser->get_permission($permsection)) { $permgrand = true; break; } } } if (!$permgrand) { continue; } $link = explode('|', $menubarsubsection['pagelink']); $link[1] = str_replace(array("{userid}", "{username}"), array($flouser->userid, $flouser->user['username']), $link[1]); switch ($link[0]) { case "intern": $menubarlink = "{$this->root}/" . $link[1]; break; case "forum": $menubarlink = "{$this->forumurl}/" . $link[1]; break; case "extern": $menubarlink = $link[1]; break; default: $menubarlink = "{$this->root}/index.php"; $menubarsection['name'] .= " (No link specified)"; } if ($link[0] != "intern" && !$blanklinks) { $linktarget = "target='_blank'"; } else { unset($linktarget); } $menubar .= "<li><a href='{$menubarlink}' {$linktarget} {$blanklinks}>" . $this->escape($menubarsubsection['name']) . "</a></li>\n\t\t\t\t\t"; } $menubar .= "</ul></li>\n\t\t\t\t"; } } return "\n\t\t\t<ul class='{$dropdownclass} dropdown-horizontal'>\n\t\t\t\t{$menubar}\n\t\t\t</ul>\n\t\t"; }