Commit 19235acaabf11aa98d58b1f3658ec09d6a950de3

Authored by Timur Kastemirov
1 parent 0f67e06b

mailing and phone validator

composer.json
... ... @@ -34,7 +34,8 @@
34 34 "artweb/artbox-core": "@dev",
35 35 "artweb/artbox-weblog": "@dev",
36 36 "artweb/artbox-webcomment": "@dev",
37   - "modernkernel/yii2-photoswipe": "*"
  37 + "modernkernel/yii2-photoswipe": "*",
  38 + "udokmeci/yii2-phone-validator" : "dev-master"
38 39 },
39 40 "require-dev": {
40 41 "yiisoft/yii2-debug": "~2.0.0",
... ...
frontend/controllers/SiteController.php
... ... @@ -128,6 +128,13 @@
128 128 } else {
129 129 $model = new Feedback();
130 130 if ($model->load(Yii::$app->request->post()) && $model->save()) {
  131 +
  132 + $pattern = '/([a-zA-Z0-9\._-]*@[a-zA-Z0-9\._-]*)([;\s,:]*)/';
  133 + $replacement = '$1; ';
  134 + $emailStr = preg_replace($pattern, $replacement, $settings->email);
  135 + $emailStr = mb_substr($emailStr, 0, -2); // remove last "; " 2 symbols
  136 +
  137 + $emails = explode("; ", $emailStr);
131 138  
132 139 $mailer->compose(
133 140 'feedback',
... ... @@ -136,19 +143,21 @@
136 143 ]
137 144 )
138 145 ->setFrom('artbox@domain.com')
139   - ->setTo($settings->email)
  146 + ->setTo($emails)
140 147 ->setSubject(\Yii::t('app', 'Feedback'))
141 148 ->send();
142 149  
  150 + $alert = "<div class=\"alert alert-success\">
  151 + <h3>Success</h3>
  152 + <p>
  153 + Success text
  154 + </p>
  155 + </div>";
  156 +
143 157 return [
144 158 'success' => true,
145 159 'message' => 'Success message',
146   - 'alert' => '<div class="alert alert-success">
147   - <h3>Success</h3>
148   - <p>
149   - Success text
150   - </p>
151   - </div>',
  160 + 'alert' => $alert,
152 161 ];
153 162 } else {
154 163 return [
... ...
frontend/models/Feedback.php 0 → 100644
  1 +<?php
  2 + namespace frontend\models;
  3 +
  4 + /**
  5 + * Created by PhpStorm.
  6 + * User: timur
  7 + * Date: 09.11.17
  8 + * Time: 14:50
  9 + */
  10 +
  11 + class Feedback extends \artbox\core\models\Feedback
  12 + {
  13 + const SCENARIO_WRITE_US = "write_us";
  14 + const SCENARIO_APPOINTMENT = "appointment";
  15 +
  16 + public function scenarios()
  17 + {
  18 + $scenarios = array_merge(
  19 + parent::scenarios(),
  20 + [
  21 + self::SCENARIO_APPOINTMENT=>[
  22 + 'name',
  23 + 'phone',
  24 + 'date',
  25 + 'time',
  26 + 'service',
  27 + 'url'
  28 + ],
  29 +
  30 + self::SCENARIO_WRITE_US => [
  31 + 'name',
  32 + 'email',
  33 + 'phone',
  34 + 'message',
  35 + 'url'
  36 + ]
  37 + ]
  38 + );
  39 +
  40 + return $scenarios;
  41 + }
  42 +
  43 + public function rules()
  44 + {
  45 + return [
  46 + [
  47 + [
  48 + 'name',
  49 + 'phone',
  50 + 'date',
  51 + 'url'
  52 + ],
  53 + 'required',
  54 + 'on' => self::SCENARIO_APPOINTMENT,
  55 + ],
  56 + [
  57 + [
  58 + 'name',
  59 + 'email',
  60 + 'phone',
  61 + 'url',
  62 + ],
  63 + 'required',
  64 + 'on' => self::SCENARIO_WRITE_US,
  65 + ],
  66 + [
  67 + [ 'email' ],
  68 + 'email',
  69 + ],
  70 + [
  71 + [
  72 + 'name',
  73 + 'date',
  74 + 'phone',
  75 + ],
  76 + 'string',
  77 + 'max' => 255,
  78 + ],
  79 + [
  80 + [ 'url' ],
  81 + 'url'
  82 + ],
  83 + [
  84 + [ 'message' ],
  85 + 'string',
  86 + ],
  87 + [
  88 + [ 'status', ],
  89 + 'boolean',
  90 + ],
  91 + ];
  92 + }
  93 +
  94 + }
0 95 \ No newline at end of file
... ...
frontend/views/site/comment/artbox_comment_item.php
... ... @@ -30,7 +30,7 @@
30 30 <div class="user_name" itemprop="author">
31 31 <?php
32 32 $nameField = $display_name;
33   - echo $model->username . ' (' . Yii::t('artbox-comment', 'Guest') . ')';
  33 + echo $model->username;
34 34 ?>
35 35 </div>
36 36 <?php
... ...