function _deduceUsername() { global $HTTP_SERVER_VARS, $HTTP_ENV_VARS; if (!empty($this->args['auth']) and !empty($this->args['auth']['userid'])) { return $this->args['auth']['userid']; } // Disable session vars (seems problematic) // if (0 && $user = $this->getSessionVar('wiki_user')) { if (0 && ($user = $this->getSessionVar('wiki_user'))) { // switched auth between sessions. // Note: There's no way to demandload a missing class-definition // afterwards! (Stupid php) if (isa($user, WikiUserClassname())) { $this->_user = $user; $this->_user->_authhow = 'session'; return ENABLE_USER_NEW ? $user->UserName() : $this->_user; } } // Sessions override http auth if (!empty($HTTP_SERVER_VARS['PHP_AUTH_USER'])) { return $HTTP_SERVER_VARS['PHP_AUTH_USER']; } // pubcookie et al if (!empty($HTTP_SERVER_VARS['REMOTE_USER'])) { return $HTTP_SERVER_VARS['REMOTE_USER']; } if (!empty($HTTP_ENV_VARS['REMOTE_USER'])) { return $HTTP_ENV_VARS['REMOTE_USER']; } if ($userid = $this->getCookieVar(getCookieName())) { if (!empty($userid) and substr($userid, 0, 2) != 's:') { $this->_user->authhow = 'cookie'; return $userid; } } if ($this->getArg('action') == 'xmlrpc') { // how about SOAP? // wiki.putPage has special otional userid/passwd arguments. check that later. $userid = ''; if (isset($HTTP_SERVER_VARS['REMOTE_USER'])) { $userid = $HTTP_SERVER_VARS['REMOTE_USER']; } elseif (isset($HTTP_SERVER_VARS['REMOTE_ADDR'])) { $userid = $HTTP_SERVER_VARS['REMOTE_ADDR']; } elseif (isset($HTTP_ENV_VARS['REMOTE_ADDR'])) { $userid = $HTTP_ENV_VARS['REMOTE_ADDR']; } elseif (isset($GLOBALS['REMOTE_ADDR'])) { $userid = $GLOBALS['REMOTE_ADDR']; } return $userid; } return false; }
function _deduceUsername() { global $HTTP_SERVER_VARS, $HTTP_ENV_VARS; if (!empty($this->args['auth']) and !empty($this->args['auth']['userid'])) { return $this->args['auth']['userid']; } if ($user = $this->getSessionVar('wiki_user')) { // Switched auth between sessions. // Note: There's no way to demandload a missing class-definition // afterwards! Stupid php. if (defined('FUSIONFORGE') and FUSIONFORGE) { if (empty($HTTP_SERVER_VARS['PHP_AUTH_USER'])) { return false; } } else { if (isa($user, WikiUserClassname())) { $this->_user = $user; $this->_user->_authhow = 'session'; return ENABLE_USER_NEW ? $user->UserName() : $this->_user; } } } // Sessions override http auth if (!empty($HTTP_SERVER_VARS['PHP_AUTH_USER'])) { return $HTTP_SERVER_VARS['PHP_AUTH_USER']; } // pubcookie et al if (!empty($HTTP_SERVER_VARS['REMOTE_USER'])) { return $HTTP_SERVER_VARS['REMOTE_USER']; } if (!empty($HTTP_ENV_VARS['REMOTE_USER'])) { return $HTTP_ENV_VARS['REMOTE_USER']; } if ($userid = $this->getCookieVar(getCookieName())) { if (!empty($userid) and substr($userid, 0, 2) != 's:') { $this->_user->authhow = 'cookie'; return $userid; } } if ($this->getArg('action') == 'xmlrpc') { // how about SOAP? if (empty($GLOBALS['HTTP_RAW_POST_DATA'])) { trigger_error("Wrong always_populate_raw_post_data = Off setting in your php.ini\nCannot use xmlrpc!", E_USER_ERROR); } // wiki.putPage has special otional userid/passwd arguments. check that later. $userid = ''; if (isset($HTTP_SERVER_VARS['REMOTE_USER'])) { $userid = $HTTP_SERVER_VARS['REMOTE_USER']; } elseif (isset($HTTP_SERVER_VARS['REMOTE_ADDR'])) { $userid = $HTTP_SERVER_VARS['REMOTE_ADDR']; } elseif (isset($HTTP_ENV_VARS['REMOTE_ADDR'])) { $userid = $HTTP_ENV_VARS['REMOTE_ADDR']; } elseif (isset($GLOBALS['REMOTE_ADDR'])) { $userid = $GLOBALS['REMOTE_ADDR']; } return $userid; } return false; }