Commit cab7e1c61df114ecfaf194b6a773ce0d4295b215
1 parent
a0a32631
mail sending
Showing
8 changed files
with
211 additions
and
26 deletions
Show diff stats
common/mail/feedback.php
| 1 | 1 | <?php |
| 2 | - use artbox\core\models\Feedback; | |
| 2 | + use common\models\Feedback; | |
| 3 | 3 | use yii\web\View; |
| 4 | 4 | |
| 5 | 5 | /** |
| ... | ... | @@ -24,8 +24,12 @@ |
| 24 | 24 | <td><?= $model->email ?></td> |
| 25 | 25 | </tr> |
| 26 | 26 | <tr> |
| 27 | - <td><b><?= \Yii::t('app', 'Message: ') ?></b></td> | |
| 28 | - <td><?= $model->message ?></td> | |
| 27 | + <td><b><?= \Yii::t('app', 'Promocode: ') ?></b></td> | |
| 28 | + <td><?= isset($model->promocode)? $model->promocode : 'без промокода' ?></td> | |
| 29 | + </tr> | |
| 30 | + <tr> | |
| 31 | + <td><b><?= \Yii::t('app', 'Oplata: ') ?></b></td> | |
| 32 | + <td><?= $model->oplata ?></td> | |
| 29 | 33 | </tr> |
| 30 | 34 | </tbody> |
| 31 | 35 | </table> | ... | ... |
common/messages/ru/app.php
| 1 | 1 | <?php |
| 2 | - return []; | |
| 3 | 2 | \ No newline at end of file |
| 3 | + return [ | |
| 4 | + 'oplata' => 'оплата', | |
| 5 | + 'promocode' => 'промокод', | |
| 6 | + 'Name: ' => 'Имя :', | |
| 7 | + 'Phone: ' => 'Телефон: ', | |
| 8 | + 'Email: ' => 'Email: ', | |
| 9 | + 'Promocode: ' => 'Промокод: ', | |
| 10 | + 'Oplata: ' => 'Оплата: ', | |
| 11 | + ]; | |
| 4 | 12 | \ No newline at end of file | ... | ... |
| 1 | +<?php | |
| 2 | + /** | |
| 3 | + * Created by PhpStorm. | |
| 4 | + * User: timur | |
| 5 | + * Date: 05.12.17 | |
| 6 | + * Time: 13:45 | |
| 7 | + */ | |
| 8 | + | |
| 9 | + namespace common\models; | |
| 10 | + | |
| 11 | + use artbox\core\models\Feedback as FeefbackCore; | |
| 12 | + use Yii; | |
| 13 | + | |
| 14 | + class Feedback extends FeefbackCore | |
| 15 | + { | |
| 16 | + | |
| 17 | + public function scenarios() | |
| 18 | + { | |
| 19 | + $scenarios = parent::scenarios(); | |
| 20 | + $scenarios = array_merge( | |
| 21 | + $scenarios, | |
| 22 | + [ | |
| 23 | + self::SCENARIO_FEEDBACK => [ | |
| 24 | + 'name', | |
| 25 | + 'email', | |
| 26 | + 'message', | |
| 27 | + 'returnUrl', | |
| 28 | + 'phone', | |
| 29 | + 'oplata', | |
| 30 | + 'promocode', | |
| 31 | + ], | |
| 32 | + self::SCENARIO_CALLBACK => [ | |
| 33 | + 'name', | |
| 34 | + 'phone', | |
| 35 | + 'message', | |
| 36 | + 'returnUrl', | |
| 37 | + ], | |
| 38 | + ] | |
| 39 | + ); | |
| 40 | + return $scenarios; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public function rules() | |
| 44 | + { | |
| 45 | + return [ | |
| 46 | + [ | |
| 47 | + [ | |
| 48 | + 'name', | |
| 49 | + 'email', | |
| 50 | + 'phone', | |
| 51 | + ], | |
| 52 | + 'required', | |
| 53 | + 'on' => self::SCENARIO_DEFAULT, | |
| 54 | + ], | |
| 55 | + [ | |
| 56 | + [ | |
| 57 | + 'name', | |
| 58 | + 'email', | |
| 59 | + 'phone', | |
| 60 | + 'oplata' | |
| 61 | + ], | |
| 62 | + 'required', | |
| 63 | + 'on' => self::SCENARIO_FEEDBACK, | |
| 64 | + ], | |
| 65 | + [ | |
| 66 | + [ | |
| 67 | + 'phone', | |
| 68 | + 'name', | |
| 69 | + ], | |
| 70 | + 'required', | |
| 71 | + 'on' => self::SCENARIO_CALLBACK, | |
| 72 | + ], | |
| 73 | + [ | |
| 74 | + [ 'email' ], | |
| 75 | + 'email', | |
| 76 | + ], | |
| 77 | + // [ | |
| 78 | + // [ 'phone' ], | |
| 79 | + // 'match', | |
| 80 | + // 'pattern' => '/^\+38\(\d{3}\)\d{3}-\d{2}-\d{2}$/', | |
| 81 | + // ], | |
| 82 | + [ | |
| 83 | + [ | |
| 84 | + 'name', | |
| 85 | + 'phone', | |
| 86 | + 'email', | |
| 87 | + 'oplata', | |
| 88 | + 'promocode', | |
| 89 | + ], | |
| 90 | + 'string', | |
| 91 | + 'max' => 255, | |
| 92 | + ], | |
| 93 | + [ | |
| 94 | + [ | |
| 95 | + 'message', | |
| 96 | + ], | |
| 97 | + 'string', | |
| 98 | + ], | |
| 99 | + [ | |
| 100 | + [ | |
| 101 | + 'status', | |
| 102 | + ], | |
| 103 | + 'boolean', | |
| 104 | + ], | |
| 105 | + [ | |
| 106 | + 'returnUrl', | |
| 107 | + 'safe', | |
| 108 | + ], | |
| 109 | + ]; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public function attributeLabels() | |
| 113 | + { | |
| 114 | + return [ | |
| 115 | + 'id' => Yii::t('core', 'id'), | |
| 116 | + 'name' => Yii::t('core', 'name'), | |
| 117 | + 'phone' => Yii::t('core', 'phone'), | |
| 118 | + 'created_at' => Yii::t('core', 'created_at'), | |
| 119 | + 'ip' => Yii::t('core', 'ip'), | |
| 120 | + 'url' => Yii::t('core', 'url'), | |
| 121 | + 'status' => Yii::t('core', 'status'), | |
| 122 | + 'message' => Yii::t('core', 'message'), | |
| 123 | + 'email' => Yii::t('core', 'email'), | |
| 124 | + 'oplata' => Yii::t('app', 'oplata'), | |
| 125 | + 'promocode' => Yii::t('app', 'promocode'), | |
| 126 | + ]; | |
| 127 | + } | |
| 128 | + | |
| 129 | + } | |
| 130 | + | |
| 0 | 131 | \ No newline at end of file | ... | ... |
console/migrations/m171205_114149_add_promocode_column_to_feedback_table.php
0 → 100644
| 1 | +<?php | |
| 2 | + | |
| 3 | +use yii\db\Migration; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * Handles adding promocode to table `feedback`. | |
| 7 | + */ | |
| 8 | +class m171205_114149_add_promocode_column_to_feedback_table extends Migration | |
| 9 | +{ | |
| 10 | + /** | |
| 11 | + * @inheritdoc | |
| 12 | + */ | |
| 13 | + public function up() | |
| 14 | + { | |
| 15 | + $this->addColumn('feedback', 'promocode', $this->string(255)); | |
| 16 | + $this->addColumn('feedback', 'oplata', $this->string(150)); | |
| 17 | + } | |
| 18 | + | |
| 19 | + /** | |
| 20 | + * @inheritdoc | |
| 21 | + */ | |
| 22 | + public function down() | |
| 23 | + { | |
| 24 | + $this->dropColumn('feedback', 'promocode'); | |
| 25 | + $this->dropColumn('feedback', 'oplata'); | |
| 26 | + } | |
| 27 | +} | ... | ... |
frontend/assets/AppAsset.php
| ... | ... | @@ -27,8 +27,6 @@ |
| 27 | 27 | 'js/jquery.parallax-1.1.3.js', |
| 28 | 28 | 'js/front.js', |
| 29 | 29 | 'js/owl.carousel.min.js', |
| 30 | - '//maps.googleapis.com/maps/api/js?key=AIzaSyCgyPQhOmGEwyAdZ0uS6fJLLvnNxgncfy0&callback=initMap', | |
| 31 | - '/js/gmaps.init.js', | |
| 32 | 30 | 'js/script.js', |
| 33 | 31 | ]; |
| 34 | 32 | public $depends = [ | ... | ... |
frontend/assets/MapAsset.php
| ... | ... | @@ -15,7 +15,7 @@ |
| 15 | 15 | public $baseUrl = '@web'; |
| 16 | 16 | public $css = []; |
| 17 | 17 | public $js = [ |
| 18 | - '//maps.googleapis.com/maps/api/js?key=AIzaSyCoR1Jb-mIFUjPwKiuSlmtYBEwnJOBnAgg&callback=initMap', | |
| 18 | + '//maps.googleapis.com/maps/api/js?key=AIzaSyCgyPQhOmGEwyAdZ0uS6fJLLvnNxgncfy0', | |
| 19 | 19 | 'js/gmaps.init.js', |
| 20 | 20 | ]; |
| 21 | 21 | public $depends = [ | ... | ... |
frontend/controllers/SiteController.php
| 1 | 1 | <?php |
| 2 | 2 | namespace frontend\controllers; |
| 3 | 3 | |
| 4 | - use artbox\core\models\Feedback; | |
| 4 | + use common\models\Feedback; | |
| 5 | 5 | use common\models\Settings; |
| 6 | 6 | use Yii; |
| 7 | 7 | use yii\filters\VerbFilter; |
| ... | ... | @@ -121,9 +121,15 @@ |
| 121 | 121 | 'model' => $model, |
| 122 | 122 | ] |
| 123 | 123 | ) |
| 124 | - ->setFrom('artbox@domain.com') | |
| 125 | - ->setTo($settings->email) | |
| 126 | - ->setSubject(\Yii::t('app', 'Feedback')) | |
| 124 | + ->setFrom(['artwebdev17@gmail.com'=> 'artweb']) | |
| 125 | + ->setTo( | |
| 126 | + [ | |
| 127 | +// 'kotets.nik@gmail.com', | |
| 128 | +// 'kazimirova.artweb@gmail.com', | |
| 129 | + 'tamerlan8.05.92@gmail.com', | |
| 130 | + ] | |
| 131 | + ) | |
| 132 | + ->setSubject('Bitcoin Invest участие в форуме') | |
| 127 | 133 | ->send(); |
| 128 | 134 | |
| 129 | 135 | return [ | ... | ... |
frontend/views/layouts/main.php
| ... | ... | @@ -10,11 +10,12 @@ |
| 10 | 10 | |
| 11 | 11 | use artbox\core\components\SeoComponent; |
| 12 | 12 | use artbox\core\helpers\ImageHelper; |
| 13 | - use artbox\core\models\Feedback; | |
| 13 | + use common\models\Feedback; | |
| 14 | 14 | use artbox\core\models\PageCategory; |
| 15 | 15 | use artbox\core\models\User; |
| 16 | 16 | use common\models\Settings; |
| 17 | 17 | use frontend\assets\AppAsset; |
| 18 | + use frontend\assets\MapAsset; | |
| 18 | 19 | use artbox\core\components\imagemanager\models\ImageManager; |
| 19 | 20 | use yii\bootstrap\ActiveForm; |
| 20 | 21 | use yii\bootstrap\Nav; |
| ... | ... | @@ -25,9 +26,10 @@ |
| 25 | 26 | use yii\widgets\Breadcrumbs; |
| 26 | 27 | |
| 27 | 28 | AppAsset::register($this); |
| 29 | + MapAsset::register($this); | |
| 28 | 30 | $user = \Yii::$app->user->identity; |
| 29 | 31 | $seo = Yii::$app->get('seo'); |
| 30 | - $feedback = new Feedback(); | |
| 32 | + $feedback = new Feedback(['scenario' => Feedback::SCENARIO_FEEDBACK]); | |
| 31 | 33 | $settings = Settings::getInstance(); |
| 32 | 34 | $controller = Yii::$app->controller; |
| 33 | 35 | $default_controller = Yii::$app->defaultRoute; |
| ... | ... | @@ -190,25 +192,35 @@ _________________________________________________________ --> |
| 190 | 192 | ->textInput()->Label('Номер телефона'); ?> |
| 191 | 193 | </div> |
| 192 | 194 | <div class="col-md-6"> |
| 193 | - <?= $form->field($feedback, 'message') | |
| 195 | + <?= $form->field($feedback, 'promocode') | |
| 194 | 196 | ->textInput()->Label('Впишите промокод для получения скидки -20%'); ?> |
| 195 | 197 | </div> |
| 196 | 198 | </div> |
| 197 | 199 | <div class="col-md-10 col-md-offset-1 form-down"> |
| 198 | 200 | <div style="font-weight:bold;font-size: 18px;padding-bottom: 5px;">Как вам удобно оплатить?<span style="color:red;">*</span></div> |
| 199 | - <label><input type="radio" name="payvariant" value="1"> Перевод на карту Приватбанка (до 16 декабря стоимость билета 150 грн)</label> | |
| 200 | - <label><input type="radio" name="payvariant" value="2"> Перевод на карту Приватбанка (с промокодом стоимость до 16 декабря 120 грн)</label> | |
| 201 | - <label><input type="radio" name="payvariant" value="3"> Наличными представителю (в день мероприятия, 16 декабря, цена 200 грн)</label> | |
| 201 | + <?= $form->field($feedback, 'oplata') | |
| 202 | + ->radioList( | |
| 203 | + [ | |
| 204 | + "Перевод на карту Приватбанка без промокода (150 грн)" => 'Перевод на карту Приватбанка (до 16 декабря стоимость билета 150 грн)', | |
| 205 | + "Перевод на карту Приватбанка с промокода (120 грн)" => 'Перевод на карту Приватбанка (с промокодом стоимость до 16 декабря 120 грн)', | |
| 206 | + "Наличными представителю" => 'Наличными представителю (в день мероприятия, 16 декабря, цена 200 грн)', | |
| 207 | + ], | |
| 208 | + [ | |
| 209 | + 'unselect' => null, | |
| 210 | + ] | |
| 211 | + )->label(false); | |
| 212 | + ?> | |
| 202 | 213 | </div> |
| 203 | -<div class="col-md-12"> | |
| 204 | - <p class="text-center"> | |
| 205 | - <?= Html::submitButton( | |
| 206 | - 'Отправить', | |
| 207 | - [ | |
| 208 | - 'class' => 'send-form btn btn-lg btn-template-primary', | |
| 209 | - ] | |
| 210 | - ) ?> | |
| 211 | - </p></div> | |
| 214 | + <div class="col-md-12"> | |
| 215 | + <p class="text-center"> | |
| 216 | + <?= Html::submitButton( | |
| 217 | + 'Отправить', | |
| 218 | + [ | |
| 219 | + 'class' => 'send-form btn btn-lg btn-template-primary', | |
| 220 | + ] | |
| 221 | + ) ?> | |
| 222 | + </p> | |
| 223 | + </div> | |
| 212 | 224 | <div style="clear:both;"></div> |
| 213 | 225 | |
| 214 | 226 | <?php ActiveForm::end(); ?> | ... | ... |