Пример #1
0
 /**
  * Regsiter a new user
  *
  * @author Kuldeep Dangi <*****@*****.**>
  */
 public function actionCreate()
 {
     $model = new Users();
     $ncashCredit = self::REWARD_ON_REGSITER;
     $promoCodeValidate = true;
     if (!empty($_GET['promo_code'])) {
         $promoCodeModel = new CouponCode();
         $promoData = $promoCodeModel->findByCouponCodeValue($_GET['promo_code']);
         $currentDate = $this->getCurrentDateTime();
         if ($promoData && $currentDate > $promoData->valid_from && $currentDate < $promoData->valid_to && $promoData->is_active) {
             $ncashCredit = $promoData->ncash_credit;
         } else {
             $this->result['message'] = 'Invalid Promo code.';
             $promoCodeValidate = false;
         }
     }
     if ($promoCodeValidate) {
         if (!empty($_GET['username']) && !empty($_GET['password'])) {
             if ($model->findByUsername($_GET['username'])) {
                 $this->result['message'] = 'Username already exist. Choose different one.';
             } else {
                 if (!empty($_GET['facebookAccount'])) {
                     $_GET['password'] = md5($_GET['facebookAccount']);
                 } else {
                     $_GET['password'] = isset($_GET['password']) ? md5($_GET['password']) : '';
                 }
                 $model->attributes = $_GET;
                 $model->slugname = $_GET['username'];
                 $model->active = 1;
                 if (!empty($promoData->id_coupon_code)) {
                     $model->fk_coupon_code = $promoData->id_coupon_code;
                 }
                 //                $model->rewardpoints = self::REWARD_ON_REGSITER;
                 if ($model->validate() && $model->save()) {
                     $notficationModel = new Notifications();
                     $notficationModel->sendPushNotification(array('deviceToken' => $model->deviceToken, 'deviceType' => $model->deviceType, 'message' => 1));
                     $userObj = $model->findByUsername($_GET['username']);
                     $nCash = new Ncash();
                     $nCash->addAmount($userObj->user_id, $ncashCredit, 4);
                     $this->result['data'] = $userObj;
                     $this->result['success'] = true;
                     $this->result['message'] = 'User regsitered successfully.';
                 } else {
                     $this->result['message'] = 'Invalid Data.';
                 }
             }
         } else {
             $this->result['message'] = 'No data to save.';
         }
     }
     $this->sendResponse($this->result);
 }