예제 #1
0
 public function actionKlavaro()
 {
     if (Yii::$app->getRequest()->getQueryParam('user')) {
         $user = MarkUser::findOne(Yii::$app->getRequest()->getQueryParam('user'));
         if (Yii::$app->getRequest()->getQueryParam('presize') && Yii::$app->getRequest()->getQueryParam('speed') !== null && Yii::$app->getRequest()->getQueryParam('eng_ru') && Yii::$app->getRequest()->getQueryParam('cat')) {
             $act = new DiaryActs();
             $act->model_id = 13;
             $act->user_id = $user->id;
             if ((double) Yii::$app->getRequest()->getQueryParam('presize') > 95 && (double) Yii::$app->getRequest()->getQueryParam('speed') > 30) {
                 $act->mark = 2;
             } elseif ((double) Yii::$app->getRequest()->getQueryParam('presize') > 95) {
                 $act->mark = 1;
             } else {
                 $act->mark = 0;
             }
             //var_dump($act);
             if ($act->save(false)) {
                 $klav_done = new Klavaro();
                 $klav_done->presize = (double) Yii::$app->getRequest()->getQueryParam('presize');
                 $klav_done->speed = (double) Yii::$app->getRequest()->getQueryParam('speed');
                 if (Categories::find()->where("name like '" . trim(Yii::$app->getRequest()->getQueryParam('eng_ru') . "'"))->one()) {
                     //  return var_dump(Categories::find()->where(['name' => Yii::$app->getRequest()->getQueryParam('cat')])->one()->id);
                     $klav_done->eng_ru = Categories::find()->where("name like '" . trim(Yii::$app->getRequest()->getQueryParam('eng_ru') . "'"))->one()->id;
                 } else {
                     return "Раскладка!";
                 }
                 if (Categories::find()->where("name like '" . trim(Yii::$app->getRequest()->getQueryParam('cat') . "'"))->one()) {
                     //  return var_dump(Categories::find()->where(['name' => Yii::$app->getRequest()->getQueryParam('cat')])->one()->id);
                     $klav_done->cat_id = Categories::find()->where("name like '" . trim(Yii::$app->getRequest()->getQueryParam('cat') . "'"))->one()->id;
                 } else {
                     return "Категория!";
                 }
                 $klav_done->act_id = $act->id;
                 //return var_dump($klav_done);
                 if ($klav_done->save(false)) {
                     return 'Получи ' . $act->mark . ' баллов!';
                 } else {
                     return 'Ошибка klav';
                 }
             } else {
                 return 'Ошибка act';
             }
         }
         return $this->renderPartial('klavaro', ['user' => $user]);
     }
     return 'Доступ запрещён';
 }
예제 #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getAct()
 {
     return $this->hasOne(DiaryActs::className(), ['id' => 'act_id']);
 }
예제 #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getControllActs()
 {
     return $this->hasMany(DiaryActs::className(), ['model_id' => 'id']);
 }
예제 #4
0
 public function actionKlavir()
 {
     /*
     
             $query  = new Query();
            // $search_result = $query_search->from('siteSearch')->match($q)->all();  // поиск осуществляется по средством метода match с переданной поисковой фразой.
             $r = $query->from('items')
                  ->match('шкалика')
                  ->all();
     
             var_dump(Items::findOne($r)); exit;
     */
     $article_id = Articles::find()->select('MAX(id)')->scalar();
     if ($article_id) {
         $article = Articles::findOne($article_id);
     } else {
         return $this->redirect(Url::toRoute('articles/index'));
     }
     $artContent = new ArticlesContent();
     if ($artContent->load(Yii::$app->request->post())) {
         $artContent->body = Yii::$app->request->post('ArticlesContent')['body'];
         $artContent->minititle = Yii::$app->request->post('ArticlesContent')['minititle'];
         $artContent->source_id = 434;
         $artContent->articles_id = $article_id;
         if ($this->loadModel($article_id)->site_id == 13) {
             $act = new DiaryActs();
             $act->model_id = 6;
             $act->mark = 1;
             $act->user_id = 8;
             $act->save(false);
         }
         $artContent->save();
         $content = ArticlesContent::find()->where(['articles_id' => $article_id]);
         $dataCont = new ActiveDataProvider(['query' => $content]);
         return $this->render('pages', ['content' => $dataCont, 'model' => $artContent]);
     } else {
         return $this->render('klavir', ['model' => $artContent]);
     }
 }
예제 #5
0
 /**
  * Добавление новых матчей в foo_matches
  */
 public function actionAddNewMatches()
 {
     $url = Url::to("@app/commands/tmpl.html");
     $content = file_get_contents($url);
     //var_dump(mb_detect_encoding($content, array('UTF-8', 'Windows-1251'), true)); exit;
     //$content = iconv(mb_detect_encoding($content, array('UTF-8', 'Windows-1251'), true), 'Windows-1251', $content);
     $content = str_replace(chr(9), '', $content);
     $content = str_replace(chr(11), '', $content);
     // заменяем табуляцию на пробел
     $content = str_replace(chr(13), '', $content);
     $content = str_replace(chr(10), '', $content);
     $chars = preg_split('/div id=\\"detcon\\"/', $content, -1, PREG_SPLIT_NO_EMPTY);
     //разделяем контент на матчи
     $j = count($chars);
     for ($m = 0; $m < $j; $m++) {
         //инициализация переменных
         $tournament = '';
         // турнир
         $host = '';
         //номинальный хозяин
         $guest = '';
         //номинальный гость
         $score = '';
         //счёт
         $gett = 0;
         //голы, забитые хозяевами
         $lett = 0;
         //голы, забитые гостями
         $stay_h = '';
         //расстановка хозяев
         $stay_g = '';
         //расстановка гостей
         $date = '';
         // дата
         $time = '';
         // время начала матча
         $stra_h = '';
         $yel_kart_h = '';
         //жёлтые карточки хозяев
         $yel_kart_g = '';
         //жёлтые карточки гостей
         $red_kart_h = '';
         //красные карточки хозяев
         $red_kart_g = '';
         //красные карточки гостей
         $stra_h = '';
         //расстановка
         $stra_g = '';
         $ud_h = 0;
         //удары
         $ud_g = 0;
         $ud_mim_h = 0;
         //удары мимо
         $ud_mim_g = 0;
         $offside_h = 0;
         //оффсайды
         $offside_g = 0;
         $falls_h = 0;
         //фолы
         $falls_g = 0;
         $ud_v_stv_h = 0;
         //Удары в створ
         $ud_v_stv_g = 0;
         $corner_h = 0;
         //Угловые
         $corner_g = 0;
         $saves_h = 0;
         //Сейвы
         $saves_g = 0;
         $yelkar_h = 0;
         //жёлтые карточки
         $yelkar_g = 0;
         $ballpos_h = 0;
         //владение мячом
         $ballpos_g = 0;
         $shtraf_h = 0;
         //штрафные
         $shtraf_g = 0;
         $outs_h = 0;
         //штрафные
         $outs_g = 0;
         $bet_g = 0.0;
         //ставки
         $bet_h = 0.0;
         $bet_n = 0.0;
         $substit_h = '';
         //строка замен хозяев
         $substit_g = '';
         //строка замен гостен
         $goul_h = '';
         //голы хозяев
         $goul_g = '';
         //голы гостей
         $pen_miss_h = '';
         //нереализованные пенальти хозяев
         $pen_miss_g = '';
         //нереализованные пенальти гостей
         $prim = '';
         //примечание
         $onehalf_h = 0;
         // голы хозяев в первой половине матча
         $onehalf_g = 0;
         // голы гостей в первой половине матча
         $info = '';
         $dom = new \DomDocument();
         libxml_use_internal_errors(true);
         $head = file_get_contents(Url::to("@app/commands/header.html"));
         $match = $head . $chars[$m];
         //добавляем хэдер
         $dom->loadHTML($match);
         $div = $dom->getElementsByTagName("div");
         foreach ($div as $node) {
             if ($node->getAttribute('class') === 'fleft') {
                 $tournament = $node->nodeValue;
             }
             if ($node->getAttribute('id') === 'tab-statistics-0-statistic') {
                 $dt = $node->nodeValue;
                 $dom_in = new \DomDocument();
                 $html = $node->ownerDocument->saveHTML($node);
                 libxml_use_internal_errors(true);
                 $newhtml = $head . $html;
                 $dom_in->loadHTML($newhtml);
                 $tr = $dom_in->getElementsByTagName("tr");
                 foreach ($tr as $node) {
                     if ($node->getAttribute('class') === 'odd') {
                         $odd = $node->nodeValue;
                         if (preg_match('/\\vУдары\\v/', $odd)) {
                             $statistic = preg_split('/Удары/', $odd);
                             $ud_h = (int) $statistic[0];
                             $ud_g = (int) $statistic[1];
                         }
                         if (preg_match('/Удары мимо/', $odd)) {
                             $statistic = preg_split('/Удары мимо/', $odd);
                             $ud_mim_h = (int) $statistic[0];
                             $ud_mim_g = (int) $statistic[1];
                         }
                         if (preg_match('/Офсайды/', $odd)) {
                             $statistic = preg_split('/Офсайды/', $odd);
                             $offside_h = (int) $statistic[0];
                             $offside_g = (int) $statistic[1];
                         }
                         if (preg_match('/Фолы/', $odd)) {
                             $statistic = preg_split('/Фолы/', $odd);
                             $falls_h = (int) $statistic[0];
                             $falls_g = (int) $statistic[1];
                         }
                         if (preg_match('/Удары в створ/', $odd)) {
                             $statistic = preg_split('/Удары в створ/', $odd);
                             $ud_v_stv_h = (int) $statistic[0];
                             $ud_v_stv_g = (int) $statistic[1];
                         }
                         if (preg_match('/Угловые/', $odd)) {
                             $statistic = preg_split('/Угловые/', $odd);
                             $corner_h = (int) $statistic[0];
                             $corner_g = (int) $statistic[1];
                         }
                         if (preg_match('/Сэйвы/', $odd)) {
                             $statistic = preg_split('/Сэйвы/', $odd);
                             $saves_h = (int) $statistic[0];
                             $saves_g = (int) $statistic[1];
                         }
                         if (preg_match('/Желтые карточки/', $odd)) {
                             $statistic = preg_split('/Желтые карточки/', $odd);
                             $yelkar_h = (int) $statistic[0];
                             $yelkar_g = (int) $statistic[1];
                         }
                         if (preg_match('/Владение мячом/', $odd)) {
                             $statistic = preg_split('/Владение мячом/', $odd);
                             $ballpos_h = (int) $statistic[0];
                             $ballpos_g = (int) $statistic[1];
                         }
                         if (preg_match('/Штрафные/', $odd)) {
                             $statistic = preg_split('/Штрафные/', $odd);
                             $shtraf_h = (int) $statistic[0];
                             $shtraf_g = (int) $statistic[1];
                         }
                         if (preg_match('/Вбрасывания/', $odd)) {
                             $statistic = preg_split('/Вбрасывания/', $odd);
                             $outs_h = (int) $statistic[0];
                             $outs_g = (int) $statistic[1];
                         }
                     }
                 }
                 foreach ($tr as $node) {
                     if ($node->getAttribute('class') === 'even') {
                         $even = $node->nodeValue;
                         if (preg_match('/\\vУдары\\v/', $even)) {
                             $statistic = preg_split('/Удары/', $even);
                             $ud_h = (int) $statistic[0];
                             $ud_g = (int) $statistic[1];
                         }
                         if (preg_match('/Удары мимо/', $even)) {
                             $statistic = preg_split('/Удары мимо/', $even);
                             $ud_mim_h = (int) $statistic[0];
                             $ud_mim_g = (int) $statistic[1];
                         }
                         if (preg_match('/Офсайды/', $even)) {
                             $statistic = preg_split('/Офсайды/', $even);
                             $offside_h = (int) $statistic[0];
                             $offside_g = (int) $statistic[1];
                         }
                         if (preg_match('/Фолы/', $even)) {
                             $statistic = preg_split('/Фолы/', $even);
                             $falls_h = (int) $statistic[0];
                             $falls_g = (int) $statistic[1];
                         }
                         if (preg_match('/Удары в створ/', $even)) {
                             $statistic = preg_split('/Удары в створ/', $even);
                             $ud_v_stv_h = (int) $statistic[0];
                             $ud_v_stv_g = (int) $statistic[1];
                         }
                         if (preg_match('/Угловые/', $even)) {
                             $statistic = preg_split('/Угловые/', $even);
                             $corner_h = (int) $statistic[0];
                             $corner_g = (int) $statistic[1];
                         }
                         if (preg_match('/Сэйвы/', $even)) {
                             $statistic = preg_split('/Сэйвы/', $even);
                             $saves_h = (int) $statistic[0];
                             $saves_g = (int) $statistic[1];
                         }
                         if (preg_match('/Желтые карточки/', $even)) {
                             $statistic = preg_split('/Желтые карточки/', $even);
                             $yelkar_h = (int) $statistic[0];
                             $yelkar_g = (int) $statistic[1];
                         }
                         if (preg_match('/Владение мячом/', $even)) {
                             $statistic = preg_split('/Владение мячом/', $even);
                             $ballpos_h = (int) $statistic[0];
                             $ballpos_g = (int) $statistic[1];
                         }
                         if (preg_match('/Штрафные/', $even)) {
                             $statistic = preg_split('/Штрафные/', $even);
                             $shtraf_h = (int) $statistic[0];
                             $shtraf_g = (int) $statistic[1];
                         }
                         if (preg_match('/Вбрасывания/', $even)) {
                             $statistic = preg_split('/Вбрасывания/', $even);
                             $outs_h = (int) $statistic[0];
                             $outs_g = (int) $statistic[1];
                         }
                     }
                 }
             }
         }
         $table = $dom->getElementsByTagName("table");
         foreach ($table as $node) {
             if ($node->getAttribute('id') === 'parts') {
                 if (preg_match("/[0-9]{1} \\- [0-9]{1} \\- [0-9]{1} \\- /", $node->nodeValue)) {
                     $stay = $node->nodeValue;
                     $sty = explode("Расстановка", $stay);
                     if (is_array($stay)) {
                         $stay_h = $sty[0];
                         $stay_g = $sty[1];
                     }
                 }
             }
             if ($node->getAttribute('class') === 'parts match-information') {
                 $info = substr($node->nodeValue, 34);
             }
         }
         $td = $dom->getElementsByTagName("td");
         foreach ($td as $node) {
             if ($node->getAttribute('class') === 'summary-vertical fl') {
                 $dt = $node->nodeValue;
                 $dom_in = new \DomDocument();
                 $html = $node->ownerDocument->saveHTML($node);
                 $newhtml = $head . $html;
                 $dom_in->loadHTML($newhtml);
                 $dv = $dom_in->getElementsByTagName("div");
                 foreach ($dv as $node) {
                     if ($node->getAttribute('class') === 'icon-box y-card') {
                         $yel_kart_h = $yel_kart_h . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box r-card') {
                         $red_kart_h = $red_kart_h . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box yr-card') {
                         $red_kart_h = $red_kart_h . $dt . "(вторая жёлтая), ";
                     }
                     if ($node->getAttribute('class') === 'icon-box substitution-in') {
                         $substit_h = $substit_h . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box soccer-ball') {
                         $goul_h = $goul_h . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box soccer-ball-own') {
                         $goul_h = $goul_h . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box penalty-missed') {
                         $pen_miss_h = $pen_miss_h . $dt . ", ";
                     }
                 }
                 $sp = $dom_in->getElementsByTagName("span");
                 foreach ($sp as $node) {
                     for ($n = 0; $n < 250; $n++) {
                         if ($node->getAttribute('class') === "flag fl_{$n}") {
                             $stra_h = $stra_h . $n . "-" . $dt . ", ";
                         }
                     }
                 }
             }
             if ($node->getAttribute('class') === 'summary-vertical fr') {
                 $dt = $node->nodeValue;
                 $dom_in = new \DomDocument();
                 $html = $node->ownerDocument->saveHTML($node);
                 $dom_in->loadHTML($html);
                 $dv = $dom_in->getElementsByTagName("div");
                 foreach ($dv as $node) {
                     if ($node->getAttribute('class') === 'icon-box y-card') {
                         $yel_kart_g = $yel_kart_g . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box r-card') {
                         $red_kart_g = $red_kart_g . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box yr-card') {
                         $red_kart_g = $red_kart_g . $dt . "(вторая жёлтая), ";
                     }
                     if ($node->getAttribute('class') === 'icon-box substitution-in') {
                         $substit_g = $substit_g . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box soccer-ball') {
                         $goul_g = $goul_g . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box soccer-ball-own') {
                         $goul_g = $goul_g . $dt . ", ";
                     }
                     if ($node->getAttribute('class') === 'icon-box penalty-missed') {
                         $pen_miss_g = $pen_miss_g . $dt . ", ";
                     }
                 }
                 $sp = $dom_in->getElementsByTagName("span");
                 foreach ($sp as $node) {
                     for ($n = 0; $n < 250; $n++) {
                         if ($node->getAttribute('class') === "flag fl_{$n}") {
                             $stra_g = $stra_g . $n . "-" . $dt . ", ";
                         }
                     }
                 }
             }
             if ($node->getAttribute('class') === 'tname-home logo-enable') {
                 $host = $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'tname-away logo-enable') {
                 $guest = $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'current-result') {
                 $score = $node->nodeValue;
                 $sc = explode("-", $score);
                 $gett = (int) $sc[0];
                 $lett = (int) $sc[1];
             }
             if ($node->getAttribute('class') === 'mstat-date') {
                 $date_time = $node->nodeValue;
                 $dati = explode(" ", $date_time);
                 $date = $dati[0];
                 $time = $dati[1];
             }
             if ($node->getAttribute('class') === 'mstat') {
                 if ($node->nodeValue !== 'Завершен') {
                     $prim = $prim . " " . $node->nodeValue;
                 }
             }
             if ($node->getAttribute('class') === 'kx o_1') {
                 $bet_h = (double) $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'kx o_0') {
                 $bet_n = (double) $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'kx o_2') {
                 $bet_g = (double) $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'kx o_1 winner') {
                 $bet_h = (double) $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'kx o_0 winner') {
                 $bet_n = (double) $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'kx o_2 winner') {
                 $bet_g = (double) $node->nodeValue;
             }
         }
         $span = $dom->getElementsByTagName("span");
         foreach ($span as $node) {
             if ($node->getAttribute('class') === 'info-bubble') {
                 $prim = $prim = $prim . " " . $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'p1_home') {
                 $onehalf_h = (int) $node->nodeValue;
             }
             if ($node->getAttribute('class') === 'p1_away') {
                 $onehalf_g = (int) $node->nodeValue;
             }
         }
         /*
             if($host) $host = addslashes($host);
             if($yel_kart_h) $yel_kart_h = addslashes($yel_kart_h);
             if($red_kart_h) $red_kart_h = addslashes($red_kart_h);
             if($substit_h) $substit_h = addslashes($substit_h);
             if($goul_h) $goul_h = addslashes($goul_h);
             if($pen_miss_h) $pen_miss_h = addslashes($pen_miss_h);
             if($stra_h) $stra_h = addslashes($stra_h);
         
             if($guest) $guest = addslashes($guest);
             if($yel_kart_g) $yel_kart_g = addslashes($yel_kart_g);
             if($red_kart_g) $red_kart_g = addslashes($red_kart_g);
             if($substit_g) $substit_g = addslashes($substit_g);
             if($goul_g) $goul_g = addslashes($goul_g);
             if($pen_miss_g) $pen_miss_g = addslashes($pen_miss_g);
             if($stra_g) $stra_g = addslashes($stra_g);
         */
         if (isset($date) && $tournament != '' && isset($host) && $host != '') {
             $match = new Matches();
             $match->date = $date;
             $match->time = $time;
             $match->tournament = $tournament;
             $match->host = $host;
             $match->guest = $guest;
             $match->gett = $gett;
             $match->lett = $lett;
             $match->stay_h = $stay_h;
             $match->stay_g = $stay_g;
             $match->yel_kart_h = $yel_kart_h;
             $match->yel_kart_g = $yel_kart_g;
             $match->red_kart_h = $red_kart_h;
             $match->red_kart_g = $red_kart_g;
             $match->substit_h = $substit_h;
             $match->substit_g = $substit_g;
             $match->goul_h = $goul_h;
             $match->goul_g = $goul_g;
             $match->pen_miss_h = $pen_miss_h;
             $match->pen_miss_g = $pen_miss_g;
             $match->onehalf_h = $onehalf_h;
             $match->onehalf_g = $onehalf_g;
             $match->prim = $prim;
             $match->info = $info;
             $match->stra_h = $stra_h;
             $match->stra_g = $stra_g;
             $match->ud_h = $ud_h;
             $match->ud_g = $ud_g;
             $match->ud_mim_h = $ud_mim_h;
             $match->ud_mim_g = $ud_mim_g;
             $match->offside_h = $offside_h;
             $match->offside_g = $offside_g;
             $match->falls_h = $falls_h;
             $match->falls_g = $falls_g;
             $match->ud_v_stv_h = $ud_v_stv_h;
             $match->ud_v_stv_g = $ud_v_stv_g;
             $match->corner_h = $corner_h;
             $match->corner_g = $corner_g;
             $match->saves_h = $saves_h;
             $match->saves_g = $saves_g;
             $match->yelkar_h = $yelkar_h;
             $match->yelkar_g = $yelkar_g;
             $match->ballpos_h = $ballpos_h;
             $match->ballpos_g = $ballpos_g;
             $match->shtraf_h = $shtraf_h;
             $match->shtraf_g = $shtraf_g;
             $match->outs_h = $outs_h;
             $match->outs_g = $outs_g;
             $match->bet_h = $bet_h;
             $match->bet_n = $bet_n;
             $match->bet_g = $bet_g;
             $match->save(false);
         }
         /*
                         $result = Yii::app()->db->createCommand("INSERT INTO 'foo_matches'
         (date, time, tournament, host, guest, gett, lett, stay_h, stay_g, yel_kart_h, red_kart_h, yel_kart_g,
                    red_kart_g, substit_h, substit_g, goul_h, goul_g, pen_miss_h, pen_miss_g, onehalf_h, onehalf_g,
                    prim, stra_h, stra_g, ud_h, ud_g, ud_mim_h, ud_mim_g, offside_h, offside_g,
                    falls_h, falls_g, ud_v_stv_h, ud_v_stv_g, corner_h, corner_g, saves_h, saves_g,
                    yelkar_h, yelkar_g, ballpos_h, ballpos_g, shtraf_h, shtraf_g, outs_h, outs_g, bet_h, bet_n, bet_g) VALUES ('$date', '$time','$tournament', '$host', '$guest', '$gett', '$lett', '$stay_h', '$stay_g', '$yel_kart_h', '$red_kart_h', '$yel_kart_g', '$red_kart_g', '$substit_h', '$substit_g', '$goul_h',  '$goul_g', '$pen_miss_h', '$pen_miss_g', '$onehalf_h', '$onehalf_g', '$prim', '$stra_h', '$stra_g', '$ud_h', '$ud_g', '$ud_mim_h', '$ud_mim_g', '$offside_h', '$offside_g', '$falls_h', '$falls_g', '$ud_v_stv_h', '$ud_v_stv_g', '$corner_h', '$corner_g', '$saves_h', '$saves_g', '$yelkar_h', '$yelkar_g', '$ballpos_h', '$ballpos_g', '$shtraf_h', '$shtraf_g', '$outs_h', '$outs_g', '$bet_h', '$bet_n', '$bet_g')");
         */
     }
     $act = new DiaryActs();
     $act->model_id = 8;
     $act->user_id = 8;
     $act->mark = 1;
     $act->save(false);
 }
예제 #6
0
 /**
  * Добавление события
  * @return string
  */
 public function actionEvents()
 {
     if (Yii::$app->getRequest()->getQueryParam('user')) {
         $start_day = strtotime('now 00:00:00', time() + 7 * 60 * 60);
         $user = MarkUser::findOne(Yii::$app->getRequest()->getQueryParam('user'));
         if (!$user) {
             return 'Доступ запрещен!';
         }
         if (Yii::$app->getRequest()->getQueryParam('text') && Yii::$app->getRequest()->getQueryParam('cat')) {
             if (Categories::find()->where("name like '" . trim(Yii::$app->getRequest()->getQueryParam('cat') . "'"))->one()) {
                 $cat_id = Categories::find()->where(['name' => Yii::$app->getRequest()->getQueryParam('cat')])->one()->id;
                 //$item->cat_id = Categories::find()->where("name like '".trim(Yii::$app->getRequest()->getQueryParam('cat')."'"))->one()->id;
             } else {
                 return "Категория!";
             }
             $act = new DiaryActs();
             $act->model_id = 10;
             $act->user_id = $user->id;
             //return var_dump($act);
             if ($act->save(false)) {
                 $event = new Event();
                 $event->act_id = $act->id;
                 $event->cat_id = $cat_id;
                 if (Yii::$app->getRequest()->getQueryParam('old_data_ev')) {
                     $event->old_data = Yii::$app->getRequest()->getQueryParam('old_data_ev');
                 }
                 $event->user_id = $act->user_id;
                 $event->text = Yii::$app->getRequest()->getQueryParam('text');
                 if (!$event->validate()) {
                     return 'Данные введены некорректно';
                 } else {
                     if ($event->save()) {
                         return "<p>Событие сохранено!</p>";
                     } else {
                         return 'Ошибка сохранения';
                     }
                 }
             }
         }
         $today_event_acts = implode(',', ArrayHelper::map(DiaryActs::find()->where("time > {$start_day} and user_id = " . $user->id . " and model_id = 10")->all(), 'id', 'id'));
         $today_event = [];
         //return var_dump($today_event_acts);
         if ($today_event_acts) {
             $today_event = Event::find()->where("act_id  IN (" . $today_event_acts . ")")->orderBy('id DESC')->andWhere(["old_data" => 0])->all();
         }
         //return var_dump($today_event);
         return $this->renderPartial('add_event', ['user' => $user, 'today_event' => $today_event]);
     }
 }
예제 #7
0
파일: Tasked.php 프로젝트: roman1970/lis
 /**
  * @inheritdoc
  */
 public function rules()
 {
     return [[['task_id', 'act_id'], 'required'], [['task_id', 'act_id', 'user_id', 'mark', 'mark_status'], 'integer'], [['user_id'], 'exist', 'skipOnError' => true, 'targetClass' => MarkUser::className(), 'targetAttribute' => ['user_id' => 'id']], [['task_id'], 'exist', 'skipOnError' => true, 'targetClass' => Task::className(), 'targetAttribute' => ['task_id' => 'id']], [['act_id'], 'exist', 'skipOnError' => true, 'targetClass' => DiaryActs::className(), 'targetAttribute' => ['act_id' => 'id']]];
 }
예제 #8
0
 /**
  * Снимок дня
  * @throws \Exception
  */
 public function actionSnapshot()
 {
     //$data = $this->cut_content($this->get_page("http://redday.ru/moon/"),'maintext', '/sun/sunrise.asp');
     //var_dump($data); exit;
     $start_time = strtotime('now 00:00:00', time() + 7 * 60 * 60);
     $snapshot = new Snapshot();
     $today_mark = DiaryActs::find()->select('SUM(mark)')->where("user_id = 8 and time > " . $start_time)->scalar();
     if ($today_mark) {
         $snapshot->oz = $today_mark;
     } else {
         $snapshot->weight = 0;
     }
     $snapshot->doll = Helper::currencyAdapter(1, 11);
     $snapshot->euro = Helper::currencyAdapter(1, 12);
     if (DiaryRecDayParams::find()->where(['day_param_id' => 1])->orderBy('id DESC')->one()) {
         $snapshot->weight = (double) DiaryRecDayParams::find()->where(['day_param_id' => 1])->orderBy('id DESC')->one()->value;
     } else {
         $snapshot->weight = 0;
     }
     $mish_mark = DiaryActs::find()->select('SUM(mark)')->where("time > {$start_time} and user_id = 11")->scalar();
     if ($mish_mark) {
         $snapshot->mish_oz = $mish_mark;
     } else {
         $snapshot->mish_oz = 0;
     }
     $today_acts = implode(',', ArrayHelper::map(DiaryActs::find()->where("time > {$start_time} and user_id = 8 and model_id = 1")->all(), 'id', 'id'));
     $snapshot->kkal = DiaryAte::find()->select('SUM(kkal)')->where("act_id  IN (" . $today_acts . ")")->scalar();
     $not_curr_sum = Incomes::find()->select('SUM(money)')->where("income_id  IN (1,2,7,10)")->scalar();
     $dollar = Incomes::find()->select('SUM(money)')->where("income_id  = 8")->scalar();
     $euro = Incomes::find()->select('SUM(money)')->where("income_id  = 9")->scalar();
     $snapshot->useful_bal = (int) ($not_curr_sum + Helper::currencyAdapter($dollar, 11) + Helper::currencyAdapter($euro, 12));
     $snapshot->sun_rise = date_sunrise(time(), SUNFUNCS_RET_STRING, 55, 82, 90, 7);
     $snapshot->sun_set = date_sunset(time(), SUNFUNCS_RET_STRING, 55, 82, 90, 7);
     $today_acts_bought = implode(',', ArrayHelper::map(DiaryActs::find()->where("time > {$start_time} and user_id = 8 and model_id = 3")->all(), 'id', 'id'));
     $bought_today = [];
     $sum_spent = 0;
     if ($today_acts_bought) {
         try {
             //return var_dump($bought_today);
             $snapshot->spent = Bought::find()->select('SUM(spent)')->where("act_id  IN (" . $today_acts_bought . ")")->scalar();
         } catch (\ErrorException $e) {
             return $e->getMessage();
         }
         // return var_dump($sum_spent );
     }
     if ($snapshot->save()) {
         $act = new DiaryActs();
         $act->model_id = 12;
         $act->user_id = 8;
         $klavaro_balls = 0;
         $today_acts_of_day_params = implode(',', ArrayHelper::map(DiaryActs::find()->where("time > {$start_time} and user_id = 8 and model_id = 4")->all(), 'id', 'id'));
         if ($today_acts_of_day_params) {
             $klavaro_eng_today = DiaryRecDayParams::find()->where("act_id  IN (" . $today_acts_of_day_params . ") and day_param_id = 22")->one();
             $klavaro_ru_today = DiaryRecDayParams::find()->where("act_id  IN (" . $today_acts_of_day_params . ") and day_param_id = 23")->one();
         }
         if (isset($klavaro_eng_today) && $klavaro_eng_today->value > 95) {
             $klavaro_balls = 1;
         }
         if (isset($klavaro_ru_today) && $klavaro_ru_today->value > 95) {
             $klavaro_balls += 1;
         }
         //$klavaro_balls = ( isset($klavaro_eng_today) ? $klavaro_eng_today->value : 0 ) + ( isset($klavaro_ru_today) ? $klavaro_eng_today->value : 0 );
         //echo $klavaro_balls;
         if (DiaryRecDayParams::find()->where(['day_param_id' => 18])->orderBy('id DESC')->one()) {
             $act->mark = (int) round(DiaryRecDayParams::find()->where(['day_param_id' => 18])->orderBy('id DESC')->one()->value / 2000) + $klavaro_balls;
         } else {
             $act->mark = 0;
         }
         $snapshot->oz += $act->mark;
         $snapshot->update();
         // var_dump($act);
         if ($act->save(false)) {
             echo 'ok';
         }
     }
     //var_dump($snapshot);
 }