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; } }