Exemple #1
0
 /**
  * 用户注册
  */
 public function registerAction()
 {
     if ($this->isPost()) {
         $aParam = $this->getParams();
         $iType = intval($aParam['iType']);
         $aErr = array();
         if (empty($aParam['sCode']) || !Util_Verify::checkImageCode($iType, $aParam['sCode'])) {
             $aErr['sCode'] = '验证码错误';
         }
         if (empty($aParam['sEmail']) || !Util_Validate::isEmail($aParam['sEmail'])) {
             $aErr['sEmail'] = '邮箱格式错误,请重新输入';
         }
         if (empty($aParam['sPassword']) || !Util_Validate::isLength($aParam['sPassword'], 6, 20)) {
             $aErr['sPassword'] = '******';
         }
         if ($aParam['sPassword'] != $aParam['sRePassword']) {
             $aErr['sRePassword'] = '******';
         }
         if (empty($aParam['sMobile']) || !Util_Validate::isMobile($aParam['sMobile'])) {
             $aErr['sMobile'] = '手机号码格式错误';
         }
         if ($iType == Model_User::TYPE_AD) {
             if (!Util_Validate::isCLength($aParam['sRealName'], 2, 20)) {
                 $aErr['sRealName'] = '联系人名称为2-5个汉字';
             }
         } else {
             if (empty($aParam['sQQ']) && empty($aParam['sWeixin'])) {
                 $aErr['sWeixin'] = '微信和QQ至少填写一个';
             }
             if (!empty($aParam['sQQ']) && !Util_Validate::isQQ($aParam['sQQ'])) {
                 $aErr['sQQ'] = 'QQ格式不正确';
             }
             if (!empty($aParam['sWeixin']) && !Util_Validate::isLength($aParam['sWeixin'], 4, 50)) {
                 $aErr['sWeixin'] = '微信格式不正确';
             }
         }
         if (Model_User::getUserByEmail($aParam['sEmail'], $aParam['iType'])) {
             $aErr['sEmail'] = '该邮箱账号已经被注册';
         }
         if (Model_User::getUserByMobile($aParam['sMobile'], $aParam['iType'])) {
             $aErr['sMobile'] = '手机号码已存在';
         }
         if (!empty($aErr)) {
             return $this->showMsg($aErr, false);
         }
         /*
          * if (! Util_Validate::isCLength($aParam['sCoName'], 2, 20)) { return $this->showMsg('企业名称长度为1-20个汉字!', false); }
          */
         unset($aParam['sRePassword']);
         $aParam['iStatus'] = 2;
         $aParam['sPassword'] = Model_User::makePassword($aParam['sPassword']);
         $iUserID = Model_User::addData($aParam);
         if ($iUserID > 0) {
             $sActiveCode = Model_VerifyCode::makeCode($aParam, Model_VerifyCode::TYPE_USER_ACTIVE);
             $sSubject = Model_Kv::getValue('user_active_email_title');
             $sActiveUrl = 'http://' . ENV_DOMAIN . '/user/active?u=' . $iUserID . '&c=' . $sActiveCode;
             $sBody = Model_Kv::getValue('user_active_email_content');
             $sBody = str_replace('{sActiveUrl}', $sActiveUrl, $sBody);
             $mRet = Util_Mail::send($aParam['sEmail'], $sSubject, $sBody);
             //                 if ($mRet !== true) {
             //                     $aErr['sEmail'] = '激活邮件发送失败,请确认邮箱是否正确!';
             //                     return $this->showMsg($aErr, false);
             //                 }
             return $this->showMsg($iUserID, true);
         } else {
             return $this->showMsg(array('sCode' => '注册失败,请稍后再试'), false);
         }
     } else {
         $this->assign('iType', intval($this->getParam('type')));
         $this->setMeta('user_reg', array('sTitle' => '用户注册'));
     }
 }