Beispiel #1
0
 /**
  * Register User 
  *
  * @param String , $email
  * @param String , $username
  * @param String , $password
  * @param String , $img , image url
  * @return Boolean
  */
 public function register($email, $username, $password, $imgUrl = false, $is_session = true)
 {
     if (empty($email) or empty($password)) {
         return false;
     }
     $email = addslashes($email);
     $username = addslashes($username);
     $password = addslashes($password);
     $arr = array('email' => $email, 'username' => $this->members->escapeString($username), 'password' => md5($this->members->escapeString($password)), 'published' => UPDATE_TIME, 'role_id' => self::ROLE_NORMAL);
     if ($this->isRegistered($email)) {
         return false;
     }
     if ($userId = $this->members->insert($arr)) {
         $roles = new RolesControl();
         $role = $roles->getRolePermissionForId(self::ROLE_NORMAL);
         $permission = $role ? $role['permission'] : false;
         $avatarId = 0;
         if ($imgUrl) {
             $coverpath = $this->images->saveWebImageToLocal($imgUrl, $userId, 'head');
             if ($coverpath) {
                 $avatarId = $this->images->saveImageMemberFromPath($coverpath, $userId);
             }
         }
         $infoArr = array('id' => $userId, 'avatar_id' => $avatarId, 'ip' => Registry::get('common')->ip());
         $this->memberInfo->insert($infoArr);
         $app = array();
         if ($imgUrl and $avatarId) {
             $images = new ImagesManage();
             $cover = $images->getImagesMemberForID($avatarId);
             if ($cover) {
                 $app['cover_small'] = ImagesManage::getRealCoverSize($cover['path']);
                 $app['cover_medium'] = ImagesManage::getRealCoverSize($cover['path'], "medium");
                 $app['cover'] = ImagesManage::getRelativeImage($cover['path']);
             }
         }
         if ($is_session) {
             $app['uid'] = $userId;
             $app['email'] = $email;
             $app['username'] = $username;
             $app['cover'] = false;
             $app['role_id'] = self::ROLE_NORMAL;
             $app['permission'] = $permission;
             $_SESSION['app'] = $app;
         }
         return true;
     }
     return false;
 }
Beispiel #2
0
 public function userAvatarAction($id = false)
 {
     $views = $this->getView();
     $data = $this->getRequest();
     $members = MembersManage::instance();
     $app = $members->getCurrentSession();
     if (!$app) {
         exit;
     }
     $image = new ImagesManage();
     $userControl = new AdminUserManage();
     if ($id and $tmp = explode("?", $id)) {
         $id = $tmp[0];
     }
     $member = new AdminUserManage();
     $user = $member->getUserForId($id);
     $views->assign('user', $user);
     $views->assign('app', $app);
     if ($data->isPost()) {
         switch ($data->getQuery('action')) {
             case 'upload':
                 if ($file = $data->getQuery('file')) {
                     $avatar_id = $image->saveImagesMemberFromCut($file, $data->getPost('x'), $data->getPost('y'), $data->getPost('width'), $data->getPost('height'), $user['id'], 1, true);
                     if ($avatar_id) {
                         $userControl->updateUser($id, array('avatar_id' => $avatar_id));
                         ImagesManage::unlink(ImagesManage::getRealPath($file));
                     }
                 }
                 break;
             case 'crop':
                 $file = $data->getFiles('picture');
                 $path = $image->save($file, $user['id'], 'tmp');
                 $scaled = getimagesize(ImagesManage::getRealPath($path));
                 if ($scaled[0] >= 800 or $scaled[1] >= 800) {
                     MessageManage::createResponse($views, '上传格式错误', '上传图片格式错误,图片长宽小于 800px。');
                     ImagesManage::unlink($path);
                 } else {
                     if (!ImagesManage::hasImageType($scaled[2], true)) {
                         MessageManage::createResponse($views, '上传格式错误', '上传图片格式错误,请上传jpg, gif, png格式的文件。');
                     }
                 }
                 if ($path) {
                     header('Location: /admin/user/avatar/' . $id . '?action=upload&file=' . $path);
                     exit;
                 }
                 break;
             default:
                 # code...
                 break;
         }
     } else {
         if ($data->getQuery('action') == 'upload') {
             if ($file = $data->getQuery('file')) {
                 $views->assign('scaled', ImagesManage::getImageSizeForPath($file, 480));
                 $views->assign('file', ImagesManage::getRelativeImage($file));
                 $views->assign('tmp', $data->getQuery('file'));
                 $views->display('admin/user/user-avatar-crop-modal.html.twig');
             }
         } else {
             $memberImage = $image->getImagesMemberForID($id, 1);
             $coverPath = isset($memberImage['path']) ? ImagesManage::getRelativeImage($memberImage['path']) : false;
             $views->assign('image', $coverPath);
         }
     }
     $views->assign('title', '编辑用户头像');
     $views->display('admin/user/user-avatar-modal.html.twig');
 }