示例#1
0
 public function sendCodePhone($phone)
 {
     $phone = preg_replace("/[^0-9]/", "", $phone);
     if ($phone && strlen($phone) == 11 && substr($phone, 0, 1) == 7) {
         $rand_code = \app\components\ShellHelper::randomCode(6);
         $have_phone = (new \yii\db\Query())->select('*')->from('phones')->where(['number' => $phone])->one();
         if (!empty($have_phone)) {
             if ($have_phone['try_count'] < 10) {
                 Yii::$app->db->createCommand()->update('phones', ['code' => $rand_code, 'try_count' => (int) $have_phone['try_count'] + 1], ['number' => $phone])->execute();
                 Yii::$app->db->createCommand()->insert('sms.outbox', ['creator_id_fk' => 1, 'source_number' => 'SHELLRIMULA', 'destination_number' => $phone, 'message_text' => $rand_code])->execute();
                 return json_encode(['status' => 'ok']);
             } else {
                 return json_encode(['status' => 'error', 'text' => 'Превышен лимит отправки кода']);
             }
         } else {
             Yii::$app->db->createCommand()->insert('phones', ['number' => $phone, 'code' => $rand_code])->execute();
             Yii::$app->db->createCommand()->insert('sms.outbox', ['creator_id_fk' => 1, 'source_number' => 'SHELLRIMULA', 'destination_number' => $phone, 'message_text' => $rand_code])->execute();
             return json_encode(['status' => 'ok']);
         }
     } else {
         return json_encode(['status' => 'error', 'text' => 'Неверный формат номера телефона']);
     }
 }
示例#2
0
 public function actionExportmain()
 {
     if (Yii::$app->request->post("essay_id")) {
         $user_essays = (new \yii\db\Query())->select(["users.lastname", "users.firstname", "users.city", "users.phone", "users.birth_date", "essays.create_date", "essays.text", new \yii\db\Expression("case when essays.is_winner = 1 then 'победитель' else '' end"), new \yii\db\Expression("case when essays.photo_path = '' then '' else CONCAT('" . $_SERVER['SERVER_NAME'] . Essays::ESSAY_PHOTOS_URL . "', essays.photo_path) end")])->from("users")->innerJoin('essays', 'essays.user_id = users.id and essays.status = 2')->where(['users.type' => 1])->andWhere(['IN', 'essays.id', Yii::$app->request->post("essay_id")])->all();
         $info = [];
         foreach ($user_essays as $user_essay_key => $user_essay_attrs) {
             foreach ($user_essay_attrs as $key => $value) {
                 if ($key == 'birth_date') {
                     $value = floor((time() - strtotime($value)) / 31556926);
                 }
                 $info_attrs[$key] = $value;
             }
             $info[$user_essay_key] = $info_attrs;
         }
         return \app\components\ShellHelper::exportCsv($info);
     }
     print "Выберите хотя бы одну строку";
     return false;
 }