コード例 #1
0
ファイル: DtbUserBasic.php プロジェクト: alexz202/goldenlight
 public function register(&$user_id, $params, $type = 1)
 {
     $flag = false;
     try {
         $this->di['db']->begin();
         $ubm = new DtbUserBasic();
         $invite_code = $this->getOneinvitecode();
         $ubm->account_type = 0;
         $ubm->nickname = $params['nickname'];
         $ubm->mobile = $params['mobile'];
         $ubm->email = $params['email'];
         $ubm->password = $params['password'];
         $ubm->avatar_url = "default_avatar.png";
         $ubm->create_ts = time();
         $ubm->invite_code = $invite_code;
         $ubm->reg_form = $params['reg_form'];
         $sql = "update DtbInviteCode set is_use=1 where invite_code={$invite_code} and is_use=0";
         $query = new Phalcon\Mvc\Model\Query($sql, $this->getDI());
         $res = $query->execute();
         //update invite_code status
         if ($ubm->save() == false) {
             foreach ($ubm->getMessages() as $message) {
                 echo $message;
             }
             $this->di['db']->rollback();
             return $flag;
         } elseif (!$res) {
             $this->di['db']->rollback();
             return $flag;
         } else {
             $action_type = $this->di['config']->log_user->register;
             $log_ts = time();
             $sql = "insert into DtbLogUser (user_id,action_type,log_ts) values('{$ubm->user_id}','{$action_type}','{$log_ts}' )";
             $query = new Phalcon\Mvc\Model\Query($sql, $this->getDI());
             $res1 = $query->execute();
             if (!$res1) {
                 $this->di['db']->rollback();
             } else {
                 $flag = true;
                 $this->di['db']->commit();
             }
             return $flag;
         }
     } catch (Exception $ex) {
         $this->di['db']->rollback();
         return $flag;
     }
 }