public function authenticate($username, $password) { $user_details = $this->log_user_in($username, $password); if (is_array($user_details)) { $this->logged_in = true; $Roles = new PerchUserRoles(); $Role = $Roles->get_one_by('roleSlug', $user_details['role']); $details = array(); $details['userID'] = $user_details['email']; $details['userEmail'] = $user_details['email']; $details['roleID'] = $Role->id(); $details['userMasterAdmin'] = $Role->roleMasterAdmin(); $details['roleMasterAdmin'] = $Role->roleMasterAdmin(); $this->set_details($details); $this->_load_privileges($Role); // activate $AuthenticatedUser = new PerchAuthenticatedUser(array()); if ($AuthenticatedUser->activate_from_plugin()) { return true; } else { $this->activation_failed = true; } } $this->logged_in = false; return false; }
public function get_current_user() { if (!isset(self::$current_user)) { // use a plugin if it's there if (defined('PERCH_AUTH_PLUGIN') && PERCH_AUTH_PLUGIN) { $str = PERCH_AUTH_PLUGIN . '_auth_plugin'; if (!class_exists($str)) { require PERCH_PATH . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'auth' . DIRECTORY_SEPARATOR . PERCH_AUTH_PLUGIN . DIRECTORY_SEPARATOR . 'auth.php'; } $AuthenticatedUser = new $str(array()); } else { $AuthenticatedUser = new PerchAuthenticatedUser(array()); } $AuthenticatedUser->recover(); self::$current_user = $AuthenticatedUser; } return self::$current_user; }