Ejemplo n.º 1
0
 public function init()
 {
     parent::init();
     if ($this->user_id != null) {
         for ($i = 0; $i < 15; $i++) {
             $this->marks[$this->getPastDates($i)] = ($mrk = MarkIt::getAverageForDateAndUser($this->getPastDates($i), $this->user_id)) ? $mrk : 0;
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Создаём оцениваемые действия
  */
 public function actionMarkday()
 {
     if (Yii::$app->getRequest()->getQueryParam('acts') && Yii::$app->getRequest()->getQueryParam('user')) {
         //$this->layout = '@app/themes/markself/views/layouts/pagein';
         $date = date("Y-m-d", time() - 60 * 60 * 24);
         if (MarkIt::find()->where(['date' => $date, 'user_id' => Yii::$app->getRequest()->getQueryParam('user')])->one()) {
             return "Вы уже оценили вчерашний день! До завтра!";
         }
         $acts = Yii::$app->getRequest()->getQueryParam('acts');
         $response = json_decode($acts, true);
         // преобразование строки в формате json в ассоциативный массив
         for ($i = 0; $i < 10; $i++) {
             if (isset($response[$i])) {
                 $model = new MarkIt();
                 $model->ball = $response[$i]['mrk'];
                 $model->action_id = $response[$i]['act'];
                 $model->user_id = Yii::$app->getRequest()->getQueryParam('user');
                 $model->date = date('Y-m-d', time() - 60 * 60 * 24);
                 if ($model->validate()) {
                     try {
                         if (!$model->save()) {
                             return "ОШИБКА СОХРАНЕНИЯ ДАННЫХ!";
                         }
                     } catch (\ErrorException $e) {
                         return "Не получилось(((... " . $e->getMessage();
                     }
                 } else {
                     return "Ошибка при заполнении формы - оценки должны быть 1,2,3,4 или 5";
                 }
             }
         }
         $user_mod = MarkUser::findOne(Yii::$app->getRequest()->getQueryParam('user'));
         $average = MarkIt::getAverageForDateAndUser($date, Yii::$app->getRequest()->getQueryParam('user'));
         try {
             $deposite = (int) round(($average - 4) * 100);
             $user_mod->money += $deposite;
             $user_mod->update(false);
         } catch (\ErrorException $e) {
             return $e->getMessage() . " ошибка кошелька";
         }
         try {
             $this->addRandActionToSomeUser($response, 8);
         } catch (\ErrorException $e) {
             return $e->getMessage() . "У друга 8";
         }
         try {
             $this->addRandActionToSomeUser($response, 9);
         } catch (\ErrorException $e) {
             return $e->getMessage() . "У друга 9";
         }
         return 1;
         //$date = Yii::$app->formatter->asDate(Yii::$app->getRequest()->getQueryParam('date'), "dd-mm-yyyy");
         //return  "Данные сохранены";
     } else {
         return "Ошибка";
     }
 }