lang->string('Guest'); } } // ################## Start construct_option_select ################## // creates a ' . implode("\n\t", $opts) . "\r"; } // ################### Start construct_user_display ################## // $userinfo needs userid, email, displayname, and showemail function construct_user_display($userinfo, $html = true) { global $bugsys; fetch_user_display_name($userinfo); if ($html) { eval('$username = "' . $bugsys->template->fetch('username_display') . '";'); } else { if ($userinfo['showemail']) { $username = sprintf($bugsys->lang->string('%1$s <%2$s>'), $userinfo['displayname'], $userinfo['email']); } else { $username = $userinfo['displayname']; } } return $username; } // ######################## Start can_perform ######################## // short-hand for bitwise & function can_perform($bitmask, $userinfo = null) { global $_PERMISSION; if (!isset($_PERMISSION["$bitmask"])) { trigger_error('Invalid bitmask "' . $bitmask . '" specified for can_perform() [includes/functions.php]', E_USER_WARNING); } if (!$userinfo) { global $bugsys; return ($bugsys->userinfo['permissions'] & $_PERMISSION["$bitmask"]); } return ($userinfo['permissions'] & $_PERMISSION["bitmask"]); } // ################# Start construct_datastore_select ################ // loops through the specified datastore to create