function GforgeMWAuth(&$param = 'default') { $s = session_check_session_cookie(getStringFromCookie('session_ser')); if ($s) { $u = user_get_object($s); // print "Logged in as ".$u->getUnixName()." (according to gforge) "; $mwu = User::newFromId(User::idFromName(ucfirst($u->getUnixName()))); $mwu->loadFromDatabase(); $mwu->SetupSession(); $mwu->SetCookies(); } else { // print "Not logged in (according to gforge) "; $mwu = User::loadFromSession(); if ($mwu->isLoggedIn()) { $mwu->logout(); } } }
* along with FusionForge; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ require_once $gfcommon . 'include/account.php'; require_once $gfcommon . 'include/escapingUtils.php'; /** * A User object if user is logged in * * @var constant $G_SESSION */ $G_SESSION = false; /** * Get session id */ $session_ser = getStringFromCookie('session_ser'); /** * session_build_session_cookie() - Construct session cookie for the user * * @param int User_id of the logged in user * @return cookie value */ function session_build_session_cookie($user_id) { $session_serial = $user_id . '-*-' . time() . '-*-' . getStringFromServer('REMOTE_ADDR') . '-*-' . getStringFromServer('HTTP_USER_AGENT'); $session_serial_hash = md5($session_serial . $GLOBALS['sys_session_key']); $session_serial_cookie = base64_encode($session_serial) . '-*-' . $session_serial_hash; return $session_serial_cookie; } /** * session_get_session_cookie_hash() - Get hash of session cookie