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' => 'Неверный формат номера телефона']); } }
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; }