Commit 13ad65b4a47ae585ee0aca32ce26057de4e762a1
1 parent
5df25c5c
Правка футера 2
Showing
5 changed files
with
201 additions
and
8 deletions
Show diff stats
1 | +<?php | ||
2 | + | ||
3 | +namespace common\models; | ||
4 | + | ||
5 | + | ||
6 | +use artbox\core\models\Feedback as CoreFeedback; | ||
7 | + | ||
8 | + | ||
9 | +class FeedBack extends CoreFeedback | ||
10 | +{ | ||
11 | + | ||
12 | + public $reCaptcha; | ||
13 | + | ||
14 | + public function rules() | ||
15 | + { | ||
16 | + return [ | ||
17 | + [ | ||
18 | + [ | ||
19 | + 'name', | ||
20 | + 'email', | ||
21 | + 'phone', | ||
22 | + ], | ||
23 | + 'required', | ||
24 | + 'on' => self::SCENARIO_DEFAULT, | ||
25 | + ], | ||
26 | + [[ | ||
27 | + 'reCaptcha' | ||
28 | + ], | ||
29 | + \himiklab\yii2\recaptcha\ReCaptchaValidator::className(), | ||
30 | + 'secret' => '6LcmYmcUAAAAACVi_73RmSAIjJlw4BCgQpfUsrPs', | ||
31 | + 'uncheckedMessage' => 'Please confirm that you are not a bot.', | ||
32 | + 'on' => self::SCENARIO_DEFAULT, | ||
33 | + ], | ||
34 | + [ | ||
35 | + [ | ||
36 | + 'name', | ||
37 | + 'email', | ||
38 | + ], | ||
39 | + 'required', | ||
40 | + 'on' => self::SCENARIO_FEEDBACK, | ||
41 | + ], | ||
42 | + [ | ||
43 | + [ | ||
44 | + 'phone', | ||
45 | + 'name', | ||
46 | + ], | ||
47 | + 'required', | ||
48 | + 'on' => self::SCENARIO_CALLBACK, | ||
49 | + ], | ||
50 | + [ | ||
51 | + ['email'], | ||
52 | + 'email', | ||
53 | + ], | ||
54 | + // [ | ||
55 | + // [ 'phone' ], | ||
56 | + // 'match', | ||
57 | + // 'pattern' => '/^\+38\(\d{3}\)\d{3}-\d{2}-\d{2}$/', | ||
58 | + // ], | ||
59 | + [ | ||
60 | + [ | ||
61 | + 'name', | ||
62 | + 'phone', | ||
63 | + 'email', | ||
64 | + ], | ||
65 | + 'string', | ||
66 | + 'max' => 255, | ||
67 | + ], | ||
68 | + [ | ||
69 | + [ | ||
70 | + 'message', | ||
71 | + ], | ||
72 | + 'string', | ||
73 | + ], | ||
74 | + [ | ||
75 | + [ | ||
76 | + 'status', | ||
77 | + ], | ||
78 | + 'boolean', | ||
79 | + ], | ||
80 | + [ | ||
81 | + 'returnUrl', | ||
82 | + 'safe', | ||
83 | + ], | ||
84 | + ]; | ||
85 | + } | ||
86 | + | ||
87 | +} | ||
88 | + | ||
89 | + | ||
90 | +?> | ||
0 | \ No newline at end of file | 91 | \ No newline at end of file |
composer.json
@@ -38,7 +38,8 @@ | @@ -38,7 +38,8 @@ | ||
38 | "kartik-v/yii2-widget-datepicker": "@dev", | 38 | "kartik-v/yii2-widget-datepicker": "@dev", |
39 | "yiisoft/yii2-jui": "^2.0", | 39 | "yiisoft/yii2-jui": "^2.0", |
40 | "skeeks/yii2-assets-auto-compress": "*", | 40 | "skeeks/yii2-assets-auto-compress": "*", |
41 | - "zyx/zyx-phpmailer": "@stable" | 41 | + "zyx/zyx-phpmailer": "@stable", |
42 | + "himiklab/yii2-recaptcha-widget": "*" | ||
42 | }, | 43 | }, |
43 | "require-dev": { | 44 | "require-dev": { |
44 | "yiisoft/yii2-debug": "~2.0.0", | 45 | "yiisoft/yii2-debug": "~2.0.0", |
composer.lock
@@ -4,7 +4,8 @@ | @@ -4,7 +4,8 @@ | ||
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", |
5 | "This file is @generated automatically" | 5 | "This file is @generated automatically" |
6 | ], | 6 | ], |
7 | - "content-hash": "327786678167aec639aac10434a84c27", | 7 | + "hash": "2f688f9614eac03da72eef7df04c6d22", |
8 | + "content-hash": "3a33f40efa994f6a041392840080911f", | ||
8 | "packages": [ | 9 | "packages": [ |
9 | { | 10 | { |
10 | "name": "2amigos/yii2-tinymce-widget", | 11 | "name": "2amigos/yii2-tinymce-widget", |
@@ -1090,6 +1091,50 @@ | @@ -1090,6 +1091,50 @@ | ||
1090 | "time": "2017-03-20 17:10:46" | 1091 | "time": "2017-03-20 17:10:46" |
1091 | }, | 1092 | }, |
1092 | { | 1093 | { |
1094 | + "name": "himiklab/yii2-recaptcha-widget", | ||
1095 | + "version": "1.2.1", | ||
1096 | + "source": { | ||
1097 | + "type": "git", | ||
1098 | + "url": "https://github.com/himiklab/yii2-recaptcha-widget.git", | ||
1099 | + "reference": "cc8a023bf51db3b40f1b8532cd94fc00c532edf5" | ||
1100 | + }, | ||
1101 | + "dist": { | ||
1102 | + "type": "zip", | ||
1103 | + "url": "https://api.github.com/repos/himiklab/yii2-recaptcha-widget/zipball/cc8a023bf51db3b40f1b8532cd94fc00c532edf5", | ||
1104 | + "reference": "cc8a023bf51db3b40f1b8532cd94fc00c532edf5", | ||
1105 | + "shasum": "" | ||
1106 | + }, | ||
1107 | + "require": { | ||
1108 | + "yiisoft/yii2": "~2.0.11", | ||
1109 | + "yiisoft/yii2-httpclient": "*" | ||
1110 | + }, | ||
1111 | + "type": "yii2-extension", | ||
1112 | + "autoload": { | ||
1113 | + "psr-4": { | ||
1114 | + "himiklab\\yii2\\recaptcha\\": "" | ||
1115 | + } | ||
1116 | + }, | ||
1117 | + "notification-url": "https://packagist.org/downloads/", | ||
1118 | + "license": [ | ||
1119 | + "MIT" | ||
1120 | + ], | ||
1121 | + "authors": [ | ||
1122 | + { | ||
1123 | + "name": "HimikLab", | ||
1124 | + "homepage": "https://github.com/himiklab/" | ||
1125 | + } | ||
1126 | + ], | ||
1127 | + "description": "Yii2 Google reCAPTCHA widget", | ||
1128 | + "keywords": [ | ||
1129 | + "captcha", | ||
1130 | + "google", | ||
1131 | + "recaptcha", | ||
1132 | + "widget", | ||
1133 | + "yii2" | ||
1134 | + ], | ||
1135 | + "time": "2018-07-03 13:34:52" | ||
1136 | + }, | ||
1137 | + { | ||
1093 | "name": "hiqdev/yii2-asset-icheck", | 1138 | "name": "hiqdev/yii2-asset-icheck", |
1094 | "version": "1.0.2.5", | 1139 | "version": "1.0.2.5", |
1095 | "source": { | 1140 | "source": { |
@@ -1491,7 +1536,7 @@ | @@ -1491,7 +1536,7 @@ | ||
1491 | }, | 1536 | }, |
1492 | "dist": { | 1537 | "dist": { |
1493 | "type": "zip", | 1538 | "type": "zip", |
1494 | - "url": "https://api.github.com/repos/kartik-v/yii2-widget-datepicker/zipball/9110ecce9deb59dc116fe6c3dd6df5d7eb439a3c", | 1539 | + "url": "https://api.github.com/repos/kartik-v/yii2-widget-datepicker/zipball/39e0e71277d0f115341e118a2b879a0dfcbd01c3", |
1495 | "reference": "9110ecce9deb59dc116fe6c3dd6df5d7eb439a3c", | 1540 | "reference": "9110ecce9deb59dc116fe6c3dd6df5d7eb439a3c", |
1496 | "shasum": "" | 1541 | "shasum": "" |
1497 | }, | 1542 | }, |
@@ -1600,7 +1645,7 @@ | @@ -1600,7 +1645,7 @@ | ||
1600 | }, | 1645 | }, |
1601 | "dist": { | 1646 | "dist": { |
1602 | "type": "zip", | 1647 | "type": "zip", |
1603 | - "url": "https://api.github.com/repos/kartik-v/yii2-widget-select2/zipball/690ddac32f6796f63b8317783f26e89ca26fa94a", | 1648 | + "url": "https://api.github.com/repos/kartik-v/yii2-widget-select2/zipball/d08a5b302fe04216bd04290f0e99e26386801a37", |
1604 | "reference": "690ddac32f6796f63b8317783f26e89ca26fa94a", | 1649 | "reference": "690ddac32f6796f63b8317783f26e89ca26fa94a", |
1605 | "shasum": "" | 1650 | "shasum": "" |
1606 | }, | 1651 | }, |
@@ -2080,7 +2125,7 @@ | @@ -2080,7 +2125,7 @@ | ||
2080 | } | 2125 | } |
2081 | ], | 2126 | ], |
2082 | "description": "PHPMailer is a full-featured email creation and transfer class for PHP", | 2127 | "description": "PHPMailer is a full-featured email creation and transfer class for PHP", |
2083 | - "time": "2014-05-14T07:04:18+00:00" | 2128 | + "time": "2014-05-14 07:04:18" |
2084 | }, | 2129 | }, |
2085 | { | 2130 | { |
2086 | "name": "phpoffice/phpexcel", | 2131 | "name": "phpoffice/phpexcel", |
@@ -3062,6 +3107,53 @@ | @@ -3062,6 +3107,53 @@ | ||
3062 | "time": "2016-12-20 13:26:02" | 3107 | "time": "2016-12-20 13:26:02" |
3063 | }, | 3108 | }, |
3064 | { | 3109 | { |
3110 | + "name": "yiisoft/yii2-httpclient", | ||
3111 | + "version": "2.0.4", | ||
3112 | + "source": { | ||
3113 | + "type": "git", | ||
3114 | + "url": "https://github.com/yiisoft/yii2-httpclient.git", | ||
3115 | + "reference": "720e3c9bdda260abffe61babfe39b91c4308ac4c" | ||
3116 | + }, | ||
3117 | + "dist": { | ||
3118 | + "type": "zip", | ||
3119 | + "url": "https://api.github.com/repos/yiisoft/yii2-httpclient/zipball/720e3c9bdda260abffe61babfe39b91c4308ac4c", | ||
3120 | + "reference": "720e3c9bdda260abffe61babfe39b91c4308ac4c", | ||
3121 | + "shasum": "" | ||
3122 | + }, | ||
3123 | + "require": { | ||
3124 | + "yiisoft/yii2": "~2.0.0" | ||
3125 | + }, | ||
3126 | + "type": "yii2-extension", | ||
3127 | + "extra": { | ||
3128 | + "branch-alias": { | ||
3129 | + "dev-master": "2.0.x-dev" | ||
3130 | + } | ||
3131 | + }, | ||
3132 | + "autoload": { | ||
3133 | + "psr-4": { | ||
3134 | + "yii\\httpclient\\": "" | ||
3135 | + } | ||
3136 | + }, | ||
3137 | + "notification-url": "https://packagist.org/downloads/", | ||
3138 | + "license": [ | ||
3139 | + "BSD-3-Clause" | ||
3140 | + ], | ||
3141 | + "authors": [ | ||
3142 | + { | ||
3143 | + "name": "Paul Klimov", | ||
3144 | + "email": "klimov.paul@gmail.com" | ||
3145 | + } | ||
3146 | + ], | ||
3147 | + "description": "HTTP client extension for the Yii framework", | ||
3148 | + "keywords": [ | ||
3149 | + "curl", | ||
3150 | + "http", | ||
3151 | + "httpclient", | ||
3152 | + "yii2" | ||
3153 | + ], | ||
3154 | + "time": "2017-06-23 09:36:13" | ||
3155 | + }, | ||
3156 | + { | ||
3065 | "name": "yiisoft/yii2-imagine", | 3157 | "name": "yiisoft/yii2-imagine", |
3066 | "version": "2.1.0", | 3158 | "version": "2.1.0", |
3067 | "source": { | 3159 | "source": { |
@@ -3265,7 +3357,7 @@ | @@ -3265,7 +3357,7 @@ | ||
3265 | "theme", | 3357 | "theme", |
3266 | "yii2" | 3358 | "yii2" |
3267 | ], | 3359 | ], |
3268 | - "time": "2017-05-22T11:24:30+00:00" | 3360 | + "time": "2017-05-22 11:24:30" |
3269 | }, | 3361 | }, |
3270 | { | 3362 | { |
3271 | "name": "zyx/zyx-phpmailer", | 3363 | "name": "zyx/zyx-phpmailer", |
@@ -3309,7 +3401,7 @@ | @@ -3309,7 +3401,7 @@ | ||
3309 | "phpmailer", | 3401 | "phpmailer", |
3310 | "yii2" | 3402 | "yii2" |
3311 | ], | 3403 | ], |
3312 | - "time": "2014-05-14T20:30:24+00:00" | 3404 | + "time": "2014-05-14 20:30:24" |
3313 | } | 3405 | } |
3314 | ], | 3406 | ], |
3315 | "packages-dev": [ | 3407 | "packages-dev": [ |
frontend/config/main.php
@@ -28,6 +28,12 @@ | @@ -28,6 +28,12 @@ | ||
28 | 'csrfParam' => '_csrf-frontend', | 28 | 'csrfParam' => '_csrf-frontend', |
29 | 'baseUrl' => '/', | 29 | 'baseUrl' => '/', |
30 | ], | 30 | ], |
31 | + 'reCaptcha' => [ | ||
32 | + 'name' => 'reCaptcha', | ||
33 | + 'class' => 'himiklab\yii2\recaptcha\ReCaptcha', | ||
34 | + 'siteKey' => '6LcmYmcUAAAAAASKWf3qnHXJCg9vGfJfDefY9TzW', | ||
35 | + 'secret' => '6LcmYmcUAAAAACVi_73RmSAIjJlw4BCgQpfUsrPs', | ||
36 | + ], | ||
31 | 'user' => [ | 37 | 'user' => [ |
32 | 'identityClass' => 'artbox\order\models\Customer', | 38 | 'identityClass' => 'artbox\order\models\Customer', |
33 | 'enableAutoLogin' => true, | 39 | 'enableAutoLogin' => true, |
frontend/views/site/contact.php
@@ -11,6 +11,7 @@ | @@ -11,6 +11,7 @@ | ||
11 | use yii\helpers\Html; | 11 | use yii\helpers\Html; |
12 | use yii\bootstrap\ActiveForm; | 12 | use yii\bootstrap\ActiveForm; |
13 | use yii\web\View; | 13 | use yii\web\View; |
14 | +use himiklab\yii2\recaptcha\ReCaptcha; | ||
14 | 15 | ||
15 | MapAsset::register($this); | 16 | MapAsset::register($this); |
16 | $settings = Settings::getInstance(); | 17 | $settings = Settings::getInstance(); |
@@ -168,7 +169,10 @@ JS; | @@ -168,7 +169,10 @@ JS; | ||
168 | ] | 169 | ] |
169 | ); ?> | 170 | ); ?> |
170 | </div> | 171 | </div> |
171 | - | 172 | + <?= $form->field($contact, 'reCaptcha')->widget( |
173 | + \himiklab\yii2\recaptcha\ReCaptcha::className(), | ||
174 | + ['siteKey' => '6LcmYmcUAAAAAASKWf3qnHXJCg9vGfJfDefY9TzW'] | ||
175 | + ) ?> | ||
172 | <div class="col-sm-12 text-center"> | 176 | <div class="col-sm-12 text-center"> |
173 | <?= Html::submitButton( | 177 | <?= Html::submitButton( |
174 | '<i class="fa fa-envelope-o"></i> Отправить сообщение', | 178 | '<i class="fa fa-envelope-o"></i> Отправить сообщение', |