コード例 #1
0
ファイル: MainController.php プロジェクト: barricade86/raui
 public function actionAddPaid($id = 0, $withDate = 0)
 {
     $model = new AddToAdForm();
     $paidServices = PaidServices::model()->findAll('id != ' . PaidServices::ID_ADD_FUNDS);
     $paidServicesArray = CHtml::listData($paidServices, 'id', 'name');
     $request = Yii::app()->request;
     $data = $request->getPost('AddToAdForm');
     if ($data) {
         $apartmentId = $request->getPost('ad_id');
         $withDate = $request->getPost('withDate');
         $model->attributes = $data;
         if ($model->validate()) {
             $apartment = Apartment::model()->findByPk($apartmentId);
             $paidService = PaidServices::model()->findByPk($model->paid_id);
             if (!$paidService || !$apartment) {
                 throw new CException('Not valid data');
             }
             if (PaidServices::applyToApartment($apartmentId, $paidService->id, $model->date_end)) {
                 echo CJSON::encode(array('status' => 'ok', 'apartmentId' => $apartmentId, 'html' => $apartment->getPaidHtml($withDate, true)));
                 Yii::app()->end();
             }
         } else {
             echo CJSON::encode(array('status' => 'err', 'html' => $this->renderPartial('_add_to_form', array('id' => $apartmentId, 'model' => $model, 'withDate' => $withDate, 'paidServicesArray' => $paidServicesArray), true)));
             Yii::app()->end();
         }
     }
     $renderData = array('id' => $id, 'model' => $model, 'withDate' => $withDate, 'paidServicesArray' => $paidServicesArray);
     if (Yii::app()->request->isAjaxRequest) {
         $this->renderPartial('_add_to_ad', $renderData);
     } else {
         $this->render('_add_to_ad', $renderData);
     }
 }
コード例 #2
0
ファイル: Payments.php プロジェクト: barricade86/raui
 public function complete()
 {
     if ($this->tariff_id) {
         # оплата за тарифный план
         $tariffInfo = TariffPlans::getFullTariffInfoById($this->tariff_id);
         if ($tariffInfo['duration']) {
             $interval = 'INTERVAL ' . $tariffInfo["duration"] . ' DAY';
         } else {
             $interval = 'INTERVAL 1460 DAY';
         }
         $dateEnd = new CDbExpression('NOW() + ' . $interval);
         TariffPlans::applyToUser($this->user_id, $this->tariff_id, $dateEnd, $interval);
     } else {
         if ($this->paid_id != PaidServices::ID_ADD_FUNDS) {
             $paidOption = $this->paidOption;
             $interval = 'INTERVAL ' . $paidOption->duration_days . ' DAY';
             $dateEnd = new CDbExpression('NOW() + ' . $interval);
             PaidServices::applyToApartment($this->apartment_id, $this->paid_id, $dateEnd, $interval);
         } else {
             $user = User::model()->findByPk($this->user_id);
             if (!$user) {
                 throw new CHttpException('Not user with ID ' . $this->user_id);
             }
             $user->addToBalance($this->amount);
         }
     }
     $this->status = Payments::STATUS_PAYMENTCOMPLETE;
     $this->update('status');
     return true;
 }