From dfb7cc502e8f7ade149f80024c43d1abf2232517 Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Thu, 29 Jun 2006 01:24:46 +0000 Subject: [PATCH] r875: - Add fetch_guest_user() - Make certain functions that process user information take a userinfo array --- includes/functions.php | 39 +++++++++++++++++++++++++++++++++++---- includes/init.php | 10 +--------- 2 files changed, 36 insertions(+), 13 deletions(-) diff --git a/includes/functions.php b/includes/functions.php index a87dfba..d7b37c2 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -71,11 +71,14 @@ function construct_user_display($userinfo, $html = true) // ######################## Start can_perform ######################## // short-hand for bitwise & -function can_perform($bitmask, $productid = 0) +function can_perform($bitmask, $productid = 0, $userinfo = null) { global $bugsys, $_PERMISSION; - $userinfo = $bugsys->userinfo; + if ($userinfo == null) + { + $userinfo =& $bugsys->userinfo; + } if (!isset($_PERMISSION["$bitmask"])) { @@ -360,13 +363,18 @@ function process_custom_fields($bugid, $inputdata = array()) } // ####################### Start fetch_on_bits ####################### -function fetch_on_bits($mask) +function fetch_on_bits($mask, $userinfo = null) { global $bugsys, $_PERMISSION; + if ($userinfo == null) + { + $userinfo =& $bugsys->userinfo; + } + $onbits = array(); - $usergroupid = $bugsys->userinfo['usergroupid']; + $usergroupid = $userinfo['usergroupid']; if ($bugsys->datastore['usergroup']["$usergroupid"]['permissions'] & $_PERMISSION["$mask"]) { @@ -439,6 +447,29 @@ function fetch_help_link($topic) } } +// ################################################################### +/** +* Returns a user array of information that is specific to all visiting +* users (guests). This can then be passed to any function that requires +* user information. +* +* @access public +* +* @return array User information array +*/ +function fetch_guest_user() +{ + return array( + 'usergroupid' => 1, + 'userid' => 0, + 'email' => '', + 'displayname' => '', + 'showcolours' => 1, + 'permissions' => $bugsys->datastore['usergroup'][1]['permissions'], + 'displaytitle' => $bugsys->datastore['usergroup'][1]['displaytitle'], + ); +} + /*=====================================================================*\ || ################################################################### || # $HeadURL$ diff --git a/includes/init.php b/includes/init.php index 0c57807..012b7bd 100755 --- a/includes/init.php +++ b/includes/init.php @@ -119,15 +119,7 @@ if (!$userinfo) { $funct->cookie(COOKIE_PREFIX . 'userid'); $funct->cookie(COOKIE_PREFIX . 'authkey'); - $bugsys->userinfo = array( - 'usergroupid' => 1, - 'userid' => 0, - 'email' => '', - 'displayname' => '', - 'showcolours' => 1, - 'permissions' => $bugsys->datastore['usergroup'][1]['permissions'], - 'displaytitle' => $bugsys->datastore['usergroup'][1]['displaytitle'], - ); + $bugsys->userinfo = fetch_guest_user(); } // ################################################################### -- 2.22.5