Ejemplo n.º 1
0
 /** 
  * 编辑用户信息
  */
 public function dorunAction()
 {
     $userDm = new PwUserInfoDm($this->loginUser->uid);
     $userDm->setRealname($this->getInput('realname', 'post'));
     $userDm->setByear($this->getInput('byear', 'post'));
     $userDm->setBmonth($this->getInput('bmonth', 'post'));
     $userDm->setBday($this->getInput('bday', 'post'));
     $userDm->setGender($this->getInput('gender', 'post'));
     $userDm->setHomepage($this->getInput('homepage', 'post'));
     $userDm->setProfile($this->getInput('profile', 'post'));
     list($hometown, $location) = $this->getInput(array('hometown', 'location'), 'post');
     /* @var $srv PwAreaService */
     $srv = Wekit::load('area.srv.PwAreaService');
     $areas = $srv->fetchAreaInfo(array($hometown, $location));
     $userDm->setHometown($hometown, isset($areas[$hometown]) ? $areas[$hometown] : '');
     $userDm->setLocation($location, isset($areas[$location]) ? $areas[$location] : '');
     //没有禁止签名的时候方可编辑签名
     if ($this->loginUser->getPermission('allow_sign')) {
         $bbsSign = $this->getInput('bbs_sign', 'post');
         if (($len = $this->loginUser->getPermission('sign_max_length')) && Pw::strlen($bbsSign) > $len) {
             //仅在此限制签名字数
             $this->showError(array('USER:user.edit.sign.length.over', array('{max}' => $len)));
         }
         Wind::import('LIB:ubb.PwUbbCode');
         Wind::import('LIB:ubb.config.PwUbbCodeConvertConfig');
         $ubb = new PwUbbCodeConvertConfig();
         $ubb->isConverImg = $this->loginUser->getPermission('sign_ubb_img') ? true : false;
         $userDm->setBbsSign($bbsSign)->setSignUseubb($bbsSign != PwUbbCode::convert($bbsSign, $ubb) ? 1 : 0);
     }
     $result = $this->_editUser($userDm, PwUser::FETCH_MAIN + PwUser::FETCH_INFO);
     if ($result instanceof PwError) {
         $this->showError($result->getError());
     } else {
         $this->loginUser->info = array_merge($this->loginUser->info, $userDm->getData());
         $this->showMessage('USER:user.edit.profile.success');
     }
 }
Ejemplo n.º 2
0
 public function updateMyInfoAction()
 {
     $userid = $this->loginUser->uid;
     $txt_real_name = $this->getInput("Txt_petname");
     $rd_sex = $this->getInput("Rd_sex_1");
     $txt_blog = trim($this->getInput("Txt_blog"));
     $txt_introduce = trim($this->getInput("Txt_introduce"));
     //Txt_introduce
     $txt_qq = $this->getInput("Txt_qq");
     //Txt_qq
     $txt_alipay = $this->getInput("Txt_alipay");
     //Txt_alipay
     $byear = $this->getInput("byear");
     $bmonth = $this->getInput("bmonth");
     $bday = $this->getInput("bday");
     $email = trim($this->getInput('Txt_email', 'post'));
     $userDm = new PwUserInfoDm($this->loginUser->uid);
     $userDm->setRealname($txt_real_name);
     $userDm->setByear($byear);
     $userDm->setBmonth($bmonth);
     $userDm->setBday($bday);
     $userDm->setGender($rd_sex);
     $userDm->setHomepage($txt_blog);
     $userDm->setProfile($txt_introduce);
     $userDm->setAliww($txt_alipay);
     $userDm->setQq($txt_qq);
     $userDm->setEmail($email);
     $returnData = array("success" => true, "data" => "更新成功");
     if ($email) {
         $r = PwUserValidator::isEmailValid($email, $this->loginUser->username);
         if ($r instanceof PwError) {
             $code = $r->getError();
             $message = "邮箱地址已经被占用, 请使用另外一个地址";
             if ($code == 'USER:user.error.-7') {
                 $message = "请输入有效的邮箱地址";
             }
             $returnData['success'] = false;
             $returnData['data'] = $message;
             print_r(json_encode($returnData));
             die;
         }
     }
     //更新成功, 页面将刷新
     $userDs = Wekit::load('user.PwUser');
     $result = $userDs->editUser($userDm, PwUser::FETCH_MAIN + PwUser::FETCH_INFO);
     if ($result instanceof PwError) {
         $code = $result->getError();
         if ($code == "USER:error.profile.length") {
             $message = "您最多输入250个字的自我描述";
         } else {
             if ($code == "USER:error.homepage") {
                 $message = "博客地址不正确,需要以http开头";
             } else {
                 $message = "信息填写不完全" . $code;
             }
         }
         $returnData['success'] = false;
         $returnData['data'] = $message;
         // "请设置正确的博客链接";
         print_r(json_encode($returnData));
         die;
     }
     print_r(json_encode($returnData));
     die;
 }
Ejemplo n.º 3
0
 /** 
  * 编辑用户信息操作
  * 
  * @return voido
  */
 public function doEditAction()
 {
     $info = $this->checkUser();
     Wind::import('SRC:service.user.dm.PwUserInfoDm');
     $dm = new PwUserInfoDm($info['uid']);
     //用户信息
     //$dm->setUsername($this->getInput('username', 'post'));
     list($password, $repassword) = $this->getInput(array('password', 'repassword'), 'post');
     if ($password) {
         if ($password != $repassword) {
             $this->showError('USER:user.error.-20');
         }
         $dm->setPassword($password);
     }
     $dm->setEmail($this->getInput('email', 'post'));
     list($question, $answer) = $this->getInput(array('question', 'answer'), 'post');
     switch ($question) {
         case '-2':
             $dm->setQuestion('', '');
             break;
         case '-1':
         default:
             break;
     }
     $dm->setRegdate(Pw::str2time($this->getInput('regdate', 'post')));
     $dm->setRegip($this->getInput('regip', 'post'));
     $dm->setOnline(intval($this->getInput('online', 'post')) * 3600);
     //基本资料
     $dm->setRealname($this->getInput('realname', 'post'));
     $dm->setGender($this->getInput('gender', 'post'));
     $birthday = $this->getInput('birthday', 'post');
     if ($birthday) {
         $bir = explode('-', $birthday);
         isset($bir[0]) && $dm->setByear($bir[0]);
         isset($bir[1]) && $dm->setBmonth($bir[1]);
         isset($bir[2]) && $dm->setBday($bir[2]);
     } else {
         $dm->setBday('')->setByear('')->setBmonth('');
     }
     list($hometown, $location) = $this->getInput(array('hometown', 'location'), 'post');
     $srv = WindidApi::api('area');
     $areas = $srv->fetchAreaInfo(array($hometown, $location));
     $dm->setLocation($location, isset($areas[$location]) ? $areas[$location] : '');
     $dm->setHometown($hometown, isset($areas[$hometown]) ? $areas[$hometown] : '');
     $dm->setHomepage($this->getInput('homepage', 'post'));
     $dm->setProfile($this->getInput('profile', 'post'));
     //交易信息
     $dm->setAlipay($this->getInput('alipay', 'post'));
     $dm->setMobile($this->getInput('mobile', 'post'));
     $dm->setTelphone($this->getInput('telphone', 'post'));
     $dm->setAddress($this->getInput('address', 'post'));
     $dm->setZipcode($this->getInput('zipcode', 'post'));
     //联系信息
     $dm->setEmail($this->getInput('email', 'post'));
     $dm->setAliww($this->getInput('aliww', 'post'));
     $dm->setQq($this->getInput('qq', 'post'));
     $dm->setMsn($this->getInput('msn', 'post'));
     /* @var $pwUser PwUser */
     $pwUser = Wekit::load('user.PwUser');
     $result = $pwUser->editUser($dm);
     if ($result instanceof PwError) {
         $this->showError($result->getError());
     }
     $isFounder = $this->isFounder($info['username']);
     $this->showMessage($isFounder ? 'USER:founder.update.success' : 'USER:update.success', 'u/manage/edit?uid=' . $info['uid']);
 }