コード例 #1
0
ファイル: MembersManage.php プロジェクト: dalinhuang/51mook
 /**
  * Login
  *
  * @param String ,$email
  * @param String ,$password
  * @return Boolean or Array
  */
 public function login($email, $password)
 {
     if ($this->getCurrentSession() or empty($email) or empty($password)) {
         return false;
     }
     $email = addslashes($email);
     $password = addslashes($password);
     $wherearr = "email='" . $this->members->escapeString($email) . "' AND password='******'";
     $row = $this->members->field("id,email,username,role_id,published")->where($wherearr)->fetchRow();
     if ($row) {
         if ($user = $this->getCurrentSession()) {
             if ($user['uid'] == $row['id']) {
                 return false;
             }
         } else {
             $roles = new RolesControl();
             $role = $roles->getRolePermissionForId($row['role_id']);
             $permission = $role ? $role['permission'] : false;
             $info_table = $this->memberInfo->table;
             $info = $this->memberInfo->field("{$info_table}.id, {$info_table}.avatar_id, im.path as cover")->joinQuery("images_member as im", "im.imid={$info_table}.avatar_id")->where("{$info_table}.id='" . $row['id'] . "'")->order("{$info_table}.last_dateline DESC")->limit("1")->fetchList();
             $app = array('uid' => $row['id'], 'email' => $row['email'], 'username' => $row['username'], 'cover' => false, 'role_id' => $row['role_id'], 'permission' => $permission);
             $infoArr = array('last_ip' => Registry::get('common')->ip(), 'last_dateline' => UPDATE_TIME);
             $this->memberInfo->where("id='" . $row['id'] . "'")->update($infoArr);
             if (is_array($info)) {
                 foreach ($info as $key => $value) {
                     if (isset($value['avatar_id']) and $value['avatar_id']) {
                         $app['cover_small'] = ImagesManage::getRealCoverSize($value['cover']);
                         $app['cover_medium'] = ImagesManage::getRealCoverSize($value['cover'], "medium");
                         $app['cover'] = ImagesManage::getRelativeImage($value['cover']);
                     }
                 }
             }
             $_SESSION['app'] = $app;
             return $row['id'];
         }
     }
     return false;
 }