コード例 #1
0
 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;
 }
コード例 #2
0
 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;
 }