Commit 7c514320101ae98e0f10c73c20eacdaaa482e77c
1 parent
0ed9dcdf
Share basket
Showing
8 changed files
with
555 additions
and
158 deletions
Show diff stats
1 | +<?php | ||
2 | + /** | ||
3 | + * @var \yii\web\View $this | ||
4 | + * @var string $url | ||
5 | + */ | ||
6 | + use yii\bootstrap\Html; | ||
7 | + | ||
8 | + echo Html::tag('p', \Yii::t('app', 'User shared with you basket, to view follow the link down below:')); | ||
9 | + echo Html::tag('p', Html::a($url, $url)); | ||
0 | \ No newline at end of file | 10 | \ No newline at end of file |
composer.json
@@ -37,7 +37,8 @@ | @@ -37,7 +37,8 @@ | ||
37 | "kartik-v/yii2-widget-colorinput": "*", | 37 | "kartik-v/yii2-widget-colorinput": "*", |
38 | "kartik-v/yii2-widget-datepicker": "@dev", | 38 | "kartik-v/yii2-widget-datepicker": "@dev", |
39 | "nodge/yii2-eauth": "~2.0", | 39 | "nodge/yii2-eauth": "~2.0", |
40 | - "skeeks/yii2-assets-auto-compress": "*" | 40 | + "skeeks/yii2-assets-auto-compress": "*", |
41 | + "zyx/zyx-phpmailer": "@stable" | ||
41 | }, | 42 | }, |
42 | "require-dev": { | 43 | "require-dev": { |
43 | "yiisoft/yii2-debug": "~2.0.0", | 44 | "yiisoft/yii2-debug": "~2.0.0", |
composer.lock
@@ -4,20 +4,20 @@ | @@ -4,20 +4,20 @@ | ||
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": "05e52a3942b2da7e252a6d47a295317c", | 7 | + "content-hash": "f5d818fe2726a09810a6587656444937", |
8 | "packages": [ | 8 | "packages": [ |
9 | { | 9 | { |
10 | "name": "2amigos/yii2-tinymce-widget", | 10 | "name": "2amigos/yii2-tinymce-widget", |
11 | - "version": "1.1.1", | 11 | + "version": "1.1.2", |
12 | "source": { | 12 | "source": { |
13 | "type": "git", | 13 | "type": "git", |
14 | "url": "https://github.com/2amigos/yii2-tinymce-widget.git", | 14 | "url": "https://github.com/2amigos/yii2-tinymce-widget.git", |
15 | - "reference": "d58bad3ede450f86acd475fb4ecda982b980132b" | 15 | + "reference": "4f519e37774ef231e4b4d6046854d5638548c8e0" |
16 | }, | 16 | }, |
17 | "dist": { | 17 | "dist": { |
18 | "type": "zip", | 18 | "type": "zip", |
19 | - "url": "https://api.github.com/repos/2amigos/yii2-tinymce-widget/zipball/d58bad3ede450f86acd475fb4ecda982b980132b", | ||
20 | - "reference": "d58bad3ede450f86acd475fb4ecda982b980132b", | 19 | + "url": "https://api.github.com/repos/2amigos/yii2-tinymce-widget/zipball/4f519e37774ef231e4b4d6046854d5638548c8e0", |
20 | + "reference": "4f519e37774ef231e4b4d6046854d5638548c8e0", | ||
21 | "shasum": "" | 21 | "shasum": "" |
22 | }, | 22 | }, |
23 | "require": { | 23 | "require": { |
@@ -64,7 +64,7 @@ | @@ -64,7 +64,7 @@ | ||
64 | "yii 2", | 64 | "yii 2", |
65 | "yii2" | 65 | "yii2" |
66 | ], | 66 | ], |
67 | - "time": "2015-03-28T21:53:43+00:00" | 67 | + "time": "2017-06-09T14:12:14+00:00" |
68 | }, | 68 | }, |
69 | { | 69 | { |
70 | "name": "bower-asset/amcharts", | 70 | "name": "bower-asset/amcharts", |
@@ -82,10 +82,7 @@ | @@ -82,10 +82,7 @@ | ||
82 | }, | 82 | }, |
83 | "type": "bower-asset-library", | 83 | "type": "bower-asset-library", |
84 | "extra": { | 84 | "extra": { |
85 | - "bower-asset-main": "./dist/amcharts/amcharts.js", | ||
86 | - "branch-alias": { | ||
87 | - "dev-master": "3.18.5-dev" | ||
88 | - } | 85 | + "bower-asset-main": "./dist/amcharts/amcharts.js" |
89 | }, | 86 | }, |
90 | "time": "2016-01-04 17:22:55" | 87 | "time": "2016-01-04 17:22:55" |
91 | }, | 88 | }, |
@@ -105,10 +102,7 @@ | @@ -105,10 +102,7 @@ | ||
105 | }, | 102 | }, |
106 | "type": "bower-asset-library", | 103 | "type": "bower-asset-library", |
107 | "extra": { | 104 | "extra": { |
108 | - "bower-asset-main": "./dist/amcharts/amcharts.js", | ||
109 | - "branch-alias": { | ||
110 | - "dev-master": "3.13.0-dev" | ||
111 | - } | 105 | + "bower-asset-main": "./dist/amcharts/amcharts.js" |
112 | }, | 106 | }, |
113 | "time": "2015-01-28 07:40:20" | 107 | "time": "2015-01-28 07:40:20" |
114 | }, | 108 | }, |
@@ -1818,16 +1812,16 @@ | @@ -1818,16 +1812,16 @@ | ||
1818 | }, | 1812 | }, |
1819 | { | 1813 | { |
1820 | "name": "mrclay/minify", | 1814 | "name": "mrclay/minify", |
1821 | - "version": "3.0.0", | 1815 | + "version": "3.0.1", |
1822 | "source": { | 1816 | "source": { |
1823 | "type": "git", | 1817 | "type": "git", |
1824 | "url": "https://github.com/mrclay/minify.git", | 1818 | "url": "https://github.com/mrclay/minify.git", |
1825 | - "reference": "e904f2e1ae5e893f942e07a4860b6c47393844f1" | 1819 | + "reference": "6a5b09a00e089bdf3e14d545fadd1525abac5e61" |
1826 | }, | 1820 | }, |
1827 | "dist": { | 1821 | "dist": { |
1828 | "type": "zip", | 1822 | "type": "zip", |
1829 | - "url": "https://api.github.com/repos/mrclay/minify/zipball/e904f2e1ae5e893f942e07a4860b6c47393844f1", | ||
1830 | - "reference": "e904f2e1ae5e893f942e07a4860b6c47393844f1", | 1823 | + "url": "https://api.github.com/repos/mrclay/minify/zipball/6a5b09a00e089bdf3e14d545fadd1525abac5e61", |
1824 | + "reference": "6a5b09a00e089bdf3e14d545fadd1525abac5e61", | ||
1831 | "shasum": "" | 1825 | "shasum": "" |
1832 | }, | 1826 | }, |
1833 | "require": { | 1827 | "require": { |
@@ -1837,7 +1831,7 @@ | @@ -1837,7 +1831,7 @@ | ||
1837 | "mrclay/jsmin-php": "~2", | 1831 | "mrclay/jsmin-php": "~2", |
1838 | "mrclay/props-dic": "^2.2", | 1832 | "mrclay/props-dic": "^2.2", |
1839 | "php": "^5.3.0 || ^7.0", | 1833 | "php": "^5.3.0 || ^7.0", |
1840 | - "tubalmartin/cssmin": "~2.4.8-p5" | 1834 | + "tubalmartin/cssmin": "~4" |
1841 | }, | 1835 | }, |
1842 | "require-dev": { | 1836 | "require-dev": { |
1843 | "firephp/firephp-core": "~0.4.0", | 1837 | "firephp/firephp-core": "~0.4.0", |
@@ -1876,7 +1870,7 @@ | @@ -1876,7 +1870,7 @@ | ||
1876 | ], | 1870 | ], |
1877 | "description": "Minify is a PHP5 app that helps you follow several rules for client-side performance. It combines multiple CSS or Javascript files, removes unnecessary whitespace and comments, and serves them with gzip encoding and optimal client-side cache headers", | 1871 | "description": "Minify is a PHP5 app that helps you follow several rules for client-side performance. It combines multiple CSS or Javascript files, removes unnecessary whitespace and comments, and serves them with gzip encoding and optimal client-side cache headers", |
1878 | "homepage": "https://github.com/mrclay/minify", | 1872 | "homepage": "https://github.com/mrclay/minify", |
1879 | - "time": "2017-04-03T20:50:53+00:00" | 1873 | + "time": "2017-06-08T19:33:53+00:00" |
1880 | }, | 1874 | }, |
1881 | { | 1875 | { |
1882 | "name": "mrclay/props-dic", | 1876 | "name": "mrclay/props-dic", |
@@ -1979,16 +1973,16 @@ | @@ -1979,16 +1973,16 @@ | ||
1979 | }, | 1973 | }, |
1980 | { | 1974 | { |
1981 | "name": "noam148/yii2-image-manager", | 1975 | "name": "noam148/yii2-image-manager", |
1982 | - "version": "1.2.5", | 1976 | + "version": "1.2.6", |
1983 | "source": { | 1977 | "source": { |
1984 | "type": "git", | 1978 | "type": "git", |
1985 | "url": "https://github.com/noam148/yii2-image-manager.git", | 1979 | "url": "https://github.com/noam148/yii2-image-manager.git", |
1986 | - "reference": "a1ceb0c856bd839c1c48edca0163221775aaf624" | 1980 | + "reference": "4f4568e40f461b6f5c6bcebbc1e56b0906319b47" |
1987 | }, | 1981 | }, |
1988 | "dist": { | 1982 | "dist": { |
1989 | "type": "zip", | 1983 | "type": "zip", |
1990 | - "url": "https://api.github.com/repos/noam148/yii2-image-manager/zipball/a1ceb0c856bd839c1c48edca0163221775aaf624", | ||
1991 | - "reference": "a1ceb0c856bd839c1c48edca0163221775aaf624", | 1984 | + "url": "https://api.github.com/repos/noam148/yii2-image-manager/zipball/4f4568e40f461b6f5c6bcebbc1e56b0906319b47", |
1985 | + "reference": "4f4568e40f461b6f5c6bcebbc1e56b0906319b47", | ||
1992 | "shasum": "" | 1986 | "shasum": "" |
1993 | }, | 1987 | }, |
1994 | "require": { | 1988 | "require": { |
@@ -2024,7 +2018,7 @@ | @@ -2024,7 +2018,7 @@ | ||
2024 | "widget", | 2018 | "widget", |
2025 | "yii2" | 2019 | "yii2" |
2026 | ], | 2020 | ], |
2027 | - "time": "2017-05-18T15:12:11+00:00" | 2021 | + "time": "2017-06-11T09:21:10+00:00" |
2028 | }, | 2022 | }, |
2029 | { | 2023 | { |
2030 | "name": "noam148/yii2-image-resize", | 2024 | "name": "noam148/yii2-image-resize", |
@@ -2172,6 +2166,59 @@ | @@ -2172,6 +2166,59 @@ | ||
2172 | "time": "2017-04-09T20:23:01+00:00" | 2166 | "time": "2017-04-09T20:23:01+00:00" |
2173 | }, | 2167 | }, |
2174 | { | 2168 | { |
2169 | + "name": "phpmailer/phpmailer", | ||
2170 | + "version": "v5.2.8", | ||
2171 | + "source": { | ||
2172 | + "type": "git", | ||
2173 | + "url": "https://github.com/PHPMailer/PHPMailer.git", | ||
2174 | + "reference": "d3802c597bff8f6c2ccfa3eab2a511aa01b8d68f" | ||
2175 | + }, | ||
2176 | + "dist": { | ||
2177 | + "type": "zip", | ||
2178 | + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/d3802c597bff8f6c2ccfa3eab2a511aa01b8d68f", | ||
2179 | + "reference": "d3802c597bff8f6c2ccfa3eab2a511aa01b8d68f", | ||
2180 | + "shasum": "" | ||
2181 | + }, | ||
2182 | + "require": { | ||
2183 | + "php": ">=5.0.0" | ||
2184 | + }, | ||
2185 | + "require-dev": { | ||
2186 | + "phpdocumentor/phpdocumentor": "*", | ||
2187 | + "phpunit/phpunit": "4.0.*" | ||
2188 | + }, | ||
2189 | + "type": "library", | ||
2190 | + "autoload": { | ||
2191 | + "classmap": [ | ||
2192 | + "class.phpmailer.php", | ||
2193 | + "class.pop3.php", | ||
2194 | + "class.smtp.php" | ||
2195 | + ] | ||
2196 | + }, | ||
2197 | + "notification-url": "https://packagist.org/downloads/", | ||
2198 | + "license": [ | ||
2199 | + "LGPL-2.1" | ||
2200 | + ], | ||
2201 | + "authors": [ | ||
2202 | + { | ||
2203 | + "name": "Jim Jagielski", | ||
2204 | + "email": "jimjag@gmail.com" | ||
2205 | + }, | ||
2206 | + { | ||
2207 | + "name": "Marcus Bointon", | ||
2208 | + "email": "phpmailer@synchromedia.co.uk" | ||
2209 | + }, | ||
2210 | + { | ||
2211 | + "name": "Andy Prevost", | ||
2212 | + "email": "codeworxtech@users.sourceforge.net" | ||
2213 | + }, | ||
2214 | + { | ||
2215 | + "name": "Brent R. Matzelle" | ||
2216 | + } | ||
2217 | + ], | ||
2218 | + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", | ||
2219 | + "time": "2014-05-14T07:04:18+00:00" | ||
2220 | + }, | ||
2221 | + { | ||
2175 | "name": "phpoffice/phpexcel", | 2222 | "name": "phpoffice/phpexcel", |
2176 | "version": "1.8.1", | 2223 | "version": "1.8.1", |
2177 | "source": { | 2224 | "source": { |
@@ -2851,29 +2898,34 @@ | @@ -2851,29 +2898,34 @@ | ||
2851 | }, | 2898 | }, |
2852 | { | 2899 | { |
2853 | "name": "tubalmartin/cssmin", | 2900 | "name": "tubalmartin/cssmin", |
2854 | - "version": "v2.4.8-p10", | 2901 | + "version": "v4.1.0", |
2855 | "source": { | 2902 | "source": { |
2856 | "type": "git", | 2903 | "type": "git", |
2857 | "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", | 2904 | "url": "https://github.com/tubalmartin/YUI-CSS-compressor-PHP-port.git", |
2858 | - "reference": "9c640e5d2d6fe1eac2167ff138b8b0ce39475d03" | 2905 | + "reference": "1c7ae93cf6b392d4dae5c4ae18979918413af16e" |
2859 | }, | 2906 | }, |
2860 | "dist": { | 2907 | "dist": { |
2861 | "type": "zip", | 2908 | "type": "zip", |
2862 | - "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/9c640e5d2d6fe1eac2167ff138b8b0ce39475d03", | ||
2863 | - "reference": "9c640e5d2d6fe1eac2167ff138b8b0ce39475d03", | 2909 | + "url": "https://api.github.com/repos/tubalmartin/YUI-CSS-compressor-PHP-port/zipball/1c7ae93cf6b392d4dae5c4ae18979918413af16e", |
2910 | + "reference": "1c7ae93cf6b392d4dae5c4ae18979918413af16e", | ||
2864 | "shasum": "" | 2911 | "shasum": "" |
2865 | }, | 2912 | }, |
2866 | "require": { | 2913 | "require": { |
2867 | - "php": ">=5.0.0" | 2914 | + "ext-pcre": "*", |
2915 | + "php": ">=5.3.2" | ||
2868 | }, | 2916 | }, |
2869 | "require-dev": { | 2917 | "require-dev": { |
2870 | - "cogpowered/finediff": "0.3.*" | 2918 | + "cogpowered/finediff": "0.3.*", |
2919 | + "phpunit/phpunit": "4.8.*" | ||
2871 | }, | 2920 | }, |
2921 | + "bin": [ | ||
2922 | + "cssmin" | ||
2923 | + ], | ||
2872 | "type": "library", | 2924 | "type": "library", |
2873 | "autoload": { | 2925 | "autoload": { |
2874 | - "classmap": [ | ||
2875 | - "cssmin.php" | ||
2876 | - ] | 2926 | + "psr-4": { |
2927 | + "tubalmartin\\CssMin\\": "src" | ||
2928 | + } | ||
2877 | }, | 2929 | }, |
2878 | "notification-url": "https://packagist.org/downloads/", | 2930 | "notification-url": "https://packagist.org/downloads/", |
2879 | "license": [ | 2931 | "license": [ |
@@ -2895,7 +2947,7 @@ | @@ -2895,7 +2947,7 @@ | ||
2895 | "minify", | 2947 | "minify", |
2896 | "yui" | 2948 | "yui" |
2897 | ], | 2949 | ], |
2898 | - "time": "2017-04-04T14:38:03+00:00" | 2950 | + "time": "2017-05-16T13:45:26+00:00" |
2899 | }, | 2951 | }, |
2900 | { | 2952 | { |
2901 | "name": "yii2tech/filedb", | 2953 | "name": "yii2tech/filedb", |
@@ -3300,6 +3352,50 @@ | @@ -3300,6 +3352,50 @@ | ||
3300 | "yii2" | 3352 | "yii2" |
3301 | ], | 3353 | ], |
3302 | "time": "2017-05-22T11:24:30+00:00" | 3354 | "time": "2017-05-22T11:24:30+00:00" |
3355 | + }, | ||
3356 | + { | ||
3357 | + "name": "zyx/zyx-phpmailer", | ||
3358 | + "version": "0.9.2", | ||
3359 | + "source": { | ||
3360 | + "type": "git", | ||
3361 | + "url": "https://github.com/SDKiller/zyx-phpmailer.git", | ||
3362 | + "reference": "2032706c35a345f875c4acf310600098a37ca469" | ||
3363 | + }, | ||
3364 | + "dist": { | ||
3365 | + "type": "zip", | ||
3366 | + "url": "https://api.github.com/repos/SDKiller/zyx-phpmailer/zipball/2032706c35a345f875c4acf310600098a37ca469", | ||
3367 | + "reference": "2032706c35a345f875c4acf310600098a37ca469", | ||
3368 | + "shasum": "" | ||
3369 | + }, | ||
3370 | + "require": { | ||
3371 | + "phpmailer/phpmailer": "v5.2.8", | ||
3372 | + "yiisoft/yii2": "*" | ||
3373 | + }, | ||
3374 | + "type": "yii2-extension", | ||
3375 | + "autoload": { | ||
3376 | + "psr-4": { | ||
3377 | + "zyx\\phpmailer\\": "" | ||
3378 | + } | ||
3379 | + }, | ||
3380 | + "notification-url": "https://packagist.org/downloads/", | ||
3381 | + "license": [ | ||
3382 | + "BSD-3-Clause" | ||
3383 | + ], | ||
3384 | + "authors": [ | ||
3385 | + { | ||
3386 | + "name": "Serge Postrash aka SDKiller", | ||
3387 | + "email": "jexy.ru@gmail.com" | ||
3388 | + } | ||
3389 | + ], | ||
3390 | + "description": "PHPMailer integration for Yii 2 framework", | ||
3391 | + "keywords": [ | ||
3392 | + "email", | ||
3393 | + "mail", | ||
3394 | + "mailer", | ||
3395 | + "phpmailer", | ||
3396 | + "yii2" | ||
3397 | + ], | ||
3398 | + "time": "2014-05-14T20:30:24+00:00" | ||
3303 | } | 3399 | } |
3304 | ], | 3400 | ], |
3305 | "packages-dev": [ | 3401 | "packages-dev": [ |
@@ -5412,16 +5508,16 @@ | @@ -5412,16 +5508,16 @@ | ||
5412 | }, | 5508 | }, |
5413 | { | 5509 | { |
5414 | "name": "symfony/polyfill-mbstring", | 5510 | "name": "symfony/polyfill-mbstring", |
5415 | - "version": "v1.3.0", | 5511 | + "version": "v1.4.0", |
5416 | "source": { | 5512 | "source": { |
5417 | "type": "git", | 5513 | "type": "git", |
5418 | "url": "https://github.com/symfony/polyfill-mbstring.git", | 5514 | "url": "https://github.com/symfony/polyfill-mbstring.git", |
5419 | - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4" | 5515 | + "reference": "f29dca382a6485c3cbe6379f0c61230167681937" |
5420 | }, | 5516 | }, |
5421 | "dist": { | 5517 | "dist": { |
5422 | "type": "zip", | 5518 | "type": "zip", |
5423 | - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/e79d363049d1c2128f133a2667e4f4190904f7f4", | ||
5424 | - "reference": "e79d363049d1c2128f133a2667e4f4190904f7f4", | 5519 | + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f29dca382a6485c3cbe6379f0c61230167681937", |
5520 | + "reference": "f29dca382a6485c3cbe6379f0c61230167681937", | ||
5425 | "shasum": "" | 5521 | "shasum": "" |
5426 | }, | 5522 | }, |
5427 | "require": { | 5523 | "require": { |
@@ -5433,7 +5529,7 @@ | @@ -5433,7 +5529,7 @@ | ||
5433 | "type": "library", | 5529 | "type": "library", |
5434 | "extra": { | 5530 | "extra": { |
5435 | "branch-alias": { | 5531 | "branch-alias": { |
5436 | - "dev-master": "1.3-dev" | 5532 | + "dev-master": "1.4-dev" |
5437 | } | 5533 | } |
5438 | }, | 5534 | }, |
5439 | "autoload": { | 5535 | "autoload": { |
@@ -5467,7 +5563,7 @@ | @@ -5467,7 +5563,7 @@ | ||
5467 | "portable", | 5563 | "portable", |
5468 | "shim" | 5564 | "shim" |
5469 | ], | 5565 | ], |
5470 | - "time": "2016-11-14T01:06:16+00:00" | 5566 | + "time": "2017-06-09T14:24:12+00:00" |
5471 | }, | 5567 | }, |
5472 | { | 5568 | { |
5473 | "name": "symfony/yaml", | 5569 | "name": "symfony/yaml", |
@@ -5769,7 +5865,8 @@ | @@ -5769,7 +5865,8 @@ | ||
5769 | "kartik-v/yii2-widget-select2": 20, | 5865 | "kartik-v/yii2-widget-select2": 20, |
5770 | "bower-asset/amcharts": 20, | 5866 | "bower-asset/amcharts": 20, |
5771 | "bower-asset/pnotify": 20, | 5867 | "bower-asset/pnotify": 20, |
5772 | - "kartik-v/yii2-widget-datepicker": 20 | 5868 | + "kartik-v/yii2-widget-datepicker": 20, |
5869 | + "zyx/zyx-phpmailer": 0 | ||
5773 | }, | 5870 | }, |
5774 | "prefer-stable": false, | 5871 | "prefer-stable": false, |
5775 | "prefer-lowest": false, | 5872 | "prefer-lowest": false, |
frontend/controllers/SiteController.php
@@ -14,11 +14,14 @@ | @@ -14,11 +14,14 @@ | ||
14 | use artbox\order\models\SignupForm; | 14 | use artbox\order\models\SignupForm; |
15 | use artbox\weblog\models\Article; | 15 | use artbox\weblog\models\Article; |
16 | use common\models\Settings; | 16 | use common\models\Settings; |
17 | + use frontend\models\ShareBasket; | ||
17 | use nodge\eauth\ErrorException; | 18 | use nodge\eauth\ErrorException; |
18 | use nodge\eauth\openid\ControllerBehavior; | 19 | use nodge\eauth\openid\ControllerBehavior; |
19 | use Yii; | 20 | use Yii; |
20 | use yii\base\InvalidParamException; | 21 | use yii\base\InvalidParamException; |
21 | use yii\bootstrap\Html; | 22 | use yii\bootstrap\Html; |
23 | + use yii\helpers\Json; | ||
24 | + use yii\helpers\Url; | ||
22 | use yii\web\BadRequestHttpException; | 25 | use yii\web\BadRequestHttpException; |
23 | use yii\web\Controller; | 26 | use yii\web\Controller; |
24 | use yii\filters\VerbFilter; | 27 | use yii\filters\VerbFilter; |
@@ -50,7 +53,8 @@ | @@ -50,7 +53,8 @@ | ||
50 | 'verbs' => [ | 53 | 'verbs' => [ |
51 | 'class' => VerbFilter::className(), | 54 | 'class' => VerbFilter::className(), |
52 | 'actions' => [ | 55 | 'actions' => [ |
53 | - 'feedback' => [ 'post' ], | 56 | + 'feedback' => [ 'post' ], |
57 | + 'share-basket' => [ 'post' ], | ||
54 | ], | 58 | ], |
55 | ], | 59 | ], |
56 | 'eauth' => [ | 60 | 'eauth' => [ |
@@ -298,14 +302,14 @@ | @@ -298,14 +302,14 @@ | ||
298 | Yii::$app->getUrlManager() | 302 | Yii::$app->getUrlManager() |
299 | ->createAbsoluteUrl('site/login') | 303 | ->createAbsoluteUrl('site/login') |
300 | ); | 304 | ); |
301 | - | 305 | + |
302 | try { | 306 | try { |
303 | if ($eauth->authenticate()) { | 307 | if ($eauth->authenticate()) { |
304 | // var_dump($eauth->getIsAuthenticated(), $eauth->getAttributes()); exit; | 308 | // var_dump($eauth->getIsAuthenticated(), $eauth->getAttributes()); exit; |
305 | $identity = Customer::findByEAuth($eauth); | 309 | $identity = Customer::findByEAuth($eauth); |
306 | Yii::$app->getUser() | 310 | Yii::$app->getUser() |
307 | ->login($identity); | 311 | ->login($identity); |
308 | - | 312 | + |
309 | // special redirect with closing popup window | 313 | // special redirect with closing popup window |
310 | $eauth->redirect(); | 314 | $eauth->redirect(); |
311 | } else { | 315 | } else { |
@@ -316,7 +320,7 @@ | @@ -316,7 +320,7 @@ | ||
316 | // save error to show it later | 320 | // save error to show it later |
317 | Yii::$app->getSession() | 321 | Yii::$app->getSession() |
318 | ->setFlash('error', 'EAuthException: ' . $e->getMessage()); | 322 | ->setFlash('error', 'EAuthException: ' . $e->getMessage()); |
319 | - | 323 | + |
320 | // close popup window and redirect to cancelUrl | 324 | // close popup window and redirect to cancelUrl |
321 | // $eauth->cancel(); | 325 | // $eauth->cancel(); |
322 | $eauth->redirect($eauth->getCancelUrl()); | 326 | $eauth->redirect($eauth->getCancelUrl()); |
@@ -418,4 +422,33 @@ | @@ -418,4 +422,33 @@ | ||
418 | ] | 422 | ] |
419 | ); | 423 | ); |
420 | } | 424 | } |
425 | + | ||
426 | + public function actionShareBasket() | ||
427 | + { | ||
428 | + $response = \Yii::$app->response; | ||
429 | + $response->format = $response::FORMAT_JSON; | ||
430 | + $model = new ShareBasket(); | ||
431 | + if ($model->load(\Yii::$app->request->post()) && $model->validate()) { | ||
432 | + $result = $model->send(); | ||
433 | + return $result; | ||
434 | + } else { | ||
435 | + return [ | ||
436 | + 'success' => false, | ||
437 | + 'msg' => \Yii::t('app', 'Email is not set.'), | ||
438 | + ]; | ||
439 | + } | ||
440 | + } | ||
441 | + | ||
442 | + public function actionGetBasket($items) | ||
443 | + { | ||
444 | + /** | ||
445 | + * @var \artbox\order\models\Basket $basket | ||
446 | + */ | ||
447 | + $basket = \Yii::$app->get('basket'); | ||
448 | + $itemArray = Json::decode($items); | ||
449 | + foreach ($itemArray as $variantId => $count) { | ||
450 | + $basket->set($variantId, $count); | ||
451 | + } | ||
452 | + return $this->redirect('/checkout/index'); | ||
453 | + } | ||
421 | } | 454 | } |
1 | +<?php | ||
2 | + /** | ||
3 | + * Created by PhpStorm. | ||
4 | + * User: yarik | ||
5 | + * Date: 12.06.17 | ||
6 | + * Time: 11:21 | ||
7 | + */ | ||
8 | + | ||
9 | + namespace frontend\models; | ||
10 | + | ||
11 | + use yii\base\Model; | ||
12 | + use yii\helpers\Json; | ||
13 | + use yii\helpers\Url; | ||
14 | + | ||
15 | + class ShareBasket extends Model | ||
16 | + { | ||
17 | + public $email; | ||
18 | + public $url = 'site/get-basket'; | ||
19 | + public $from = 'artbox@artbox.dev'; | ||
20 | + | ||
21 | + /** | ||
22 | + * @inheritdoc | ||
23 | + */ | ||
24 | + public function rules() | ||
25 | + { | ||
26 | + return [ | ||
27 | + [ | ||
28 | + [ | ||
29 | + 'email', | ||
30 | + ], | ||
31 | + 'email', | ||
32 | + ], | ||
33 | + [ | ||
34 | + [ | ||
35 | + 'email', | ||
36 | + ], | ||
37 | + 'required', | ||
38 | + ], | ||
39 | + ]; | ||
40 | + } | ||
41 | + | ||
42 | + public function attributeLabels() | ||
43 | + { | ||
44 | + return [ | ||
45 | + 'email' => \Yii::t('app', 'Поделиться корзиной'), | ||
46 | + ]; | ||
47 | + } | ||
48 | + | ||
49 | + public function send() | ||
50 | + { | ||
51 | + /** | ||
52 | + * @var \artbox\order\models\Basket $basket | ||
53 | + */ | ||
54 | + $basket = \Yii::$app->get('basket'); | ||
55 | + $data = $basket->getData(); | ||
56 | + if (empty($data)) { | ||
57 | + return [ | ||
58 | + 'success' => false, | ||
59 | + 'msg' => \Yii::t('app', 'Basket is empty'), | ||
60 | + ]; | ||
61 | + } | ||
62 | + $dataArray = []; | ||
63 | + foreach ($data as $variantId => $item) { | ||
64 | + $dataArray[ $variantId ] = $item[ 'count' ]; | ||
65 | + } | ||
66 | + $dataString = Json::encode($dataArray); | ||
67 | + $url = Url::to( | ||
68 | + [ | ||
69 | + $this->url, | ||
70 | + 'items' => $dataString, | ||
71 | + ], | ||
72 | + true | ||
73 | + ); | ||
74 | + if (\Yii::$app->mailer->compose( | ||
75 | + [ 'html' => 'shareBasket' ], | ||
76 | + [ | ||
77 | + 'url' => $url, | ||
78 | + ] | ||
79 | + ) | ||
80 | + ->setFrom($this->from) | ||
81 | + ->setTo($this->email) | ||
82 | + ->setSubject(\Yii::t('app', 'Shared basket')) | ||
83 | + ->send() | ||
84 | + ) { | ||
85 | + return [ | ||
86 | + 'success' => true, | ||
87 | + 'msg' => \Yii::t('app', 'Email successfully sent.'), | ||
88 | + ]; | ||
89 | + } else { | ||
90 | + return [ | ||
91 | + 'success' => false, | ||
92 | + 'msg' => \Yii::t('app', 'Email cannot be send.'), | ||
93 | + | ||
94 | + ]; | ||
95 | + } | ||
96 | + } | ||
97 | + } | ||
0 | \ No newline at end of file | 98 | \ No newline at end of file |
frontend/views/checkout/index.php
@@ -6,6 +6,8 @@ | @@ -6,6 +6,8 @@ | ||
6 | * @var \artbox\catalog\models\Product[] $topItems | 6 | * @var \artbox\catalog\models\Product[] $topItems |
7 | */ | 7 | */ |
8 | use artbox\core\helpers\ImageHelper; | 8 | use artbox\core\helpers\ImageHelper; |
9 | + use frontend\models\ShareBasket; | ||
10 | + use yii\bootstrap\ActiveForm; | ||
9 | use yii\bootstrap\Html; | 11 | use yii\bootstrap\Html; |
10 | 12 | ||
11 | $formatter = \Yii::$app->formatter; | 13 | $formatter = \Yii::$app->formatter; |
@@ -136,33 +138,86 @@ | @@ -136,33 +138,86 @@ | ||
136 | <!-- /.table-responsive --> | 138 | <!-- /.table-responsive --> |
137 | 139 | ||
138 | <div class="box-footer"> | 140 | <div class="box-footer"> |
139 | - <div class="pull-left"> | ||
140 | - <?php | ||
141 | - echo Html::a( | ||
142 | - Html::icon('chevron-left', [ 'prefix' => 'fa fa-' ]) . \Yii::t( | ||
143 | - 'app', | ||
144 | - ' Продолжить покупки' | ||
145 | - ), | ||
146 | - [ 'site/index' ], | ||
147 | - [ | ||
148 | - 'class' => 'btn btn-default', | ||
149 | - ] | ||
150 | - ) | ||
151 | - ?> | 141 | + <div class="col-xs-12"> |
142 | + <div class="col-xs-12 col-sm-9"> | ||
143 | + <?php | ||
144 | + $shareBasket = new ShareBasket(); | ||
145 | + $shareBasketForm = ActiveForm::begin( | ||
146 | + [ | ||
147 | + 'action' => [ '/site/share-basket' ], | ||
148 | + 'options' => [ | ||
149 | + 'class' => 'share-basket-form', | ||
150 | + 'data' => [ | ||
151 | + 'title' => \Yii::t('app', 'Shared basket'), | ||
152 | + 'msg' => \Yii::t('app', 'Basket successfully shared.'), | ||
153 | + ], | ||
154 | + ], | ||
155 | + ] | ||
156 | + ); | ||
157 | + ?> | ||
158 | + <div class="col-xs-12 col-sm-4"> | ||
159 | + <?php | ||
160 | + echo Html::label( | ||
161 | + $shareBasket->getAttributeLabel('email'), | ||
162 | + Html::getInputId($shareBasket, 'email') | ||
163 | + ); | ||
164 | + ?> | ||
165 | + </div> | ||
166 | + <div class="col-xs-12 col-sm-6"> | ||
167 | + <?php | ||
168 | + echo $shareBasketForm->field($shareBasket, 'email') | ||
169 | + ->textInput( | ||
170 | + [ | ||
171 | + 'placeholder' => 'email@email.com', | ||
172 | + ] | ||
173 | + ) | ||
174 | + ->label(false); | ||
175 | + ?> | ||
176 | + </div> | ||
177 | + <div class="col-xs-12 col-sm-2"> | ||
178 | + <?php | ||
179 | + echo Html::submitButton( | ||
180 | + \Yii::t('app', 'Ok'), | ||
181 | + [ | ||
182 | + 'class' => 'btn btn-primary', | ||
183 | + ] | ||
184 | + ); | ||
185 | + ?> | ||
186 | + </div> | ||
187 | + <?php | ||
188 | + $shareBasketForm::end(); | ||
189 | + ?> | ||
190 | + </div> | ||
152 | </div> | 191 | </div> |
153 | - <div class="pull-right"> | ||
154 | - <?php | ||
155 | - echo Html::a( | ||
156 | - \Yii::t( | ||
157 | - 'app', | ||
158 | - ' Оформить заказ ' | ||
159 | - ) . Html::icon('chevron-right', [ 'prefix' => 'fa fa-' ]), | ||
160 | - [ 'checkout/info' ], | ||
161 | - [ | ||
162 | - 'class' => 'btn btn-success', | ||
163 | - ] | ||
164 | - ) | ||
165 | - ?> | 192 | + <div class="col-xs-12"> |
193 | + <div class="pull-left"> | ||
194 | + <?php | ||
195 | + echo Html::a( | ||
196 | + Html::icon('chevron-left', [ 'prefix' => 'fa fa-' ]) . \Yii::t( | ||
197 | + 'app', | ||
198 | + ' Продолжить покупки' | ||
199 | + ), | ||
200 | + [ 'site/index' ], | ||
201 | + [ | ||
202 | + 'class' => 'btn btn-default', | ||
203 | + ] | ||
204 | + ) | ||
205 | + ?> | ||
206 | + </div> | ||
207 | + <div class="pull-right"> | ||
208 | + <?php | ||
209 | + echo Html::a( | ||
210 | + \Yii::t( | ||
211 | + 'app', | ||
212 | + ' Оформить заказ ' | ||
213 | + ) . Html::icon('chevron-right', [ 'prefix' => 'fa fa-' ]), | ||
214 | + [ 'checkout/info' ], | ||
215 | + [ | ||
216 | + 'class' => 'btn btn-success', | ||
217 | + ] | ||
218 | + ) | ||
219 | + ?> | ||
220 | + </div> | ||
166 | </div> | 221 | </div> |
167 | </div> | 222 | </div> |
168 | 223 |
frontend/views/layouts/_basket_modal.php
@@ -5,6 +5,8 @@ | @@ -5,6 +5,8 @@ | ||
5 | <h4 class="modal-title callback text-center" id="Login"> | 5 | <h4 class="modal-title callback text-center" id="Login"> |
6 | <?php | 6 | <?php |
7 | use artbox\core\helpers\ImageHelper; | 7 | use artbox\core\helpers\ImageHelper; |
8 | + use frontend\models\ShareBasket; | ||
9 | + use yii\bootstrap\ActiveForm; | ||
8 | use yii\bootstrap\Html; | 10 | use yii\bootstrap\Html; |
9 | 11 | ||
10 | echo Html::a( | 12 | echo Html::a( |
@@ -189,6 +191,55 @@ | @@ -189,6 +191,55 @@ | ||
189 | <!-- /.table-responsive --> | 191 | <!-- /.table-responsive --> |
190 | 192 | ||
191 | <div class="box-footer"> | 193 | <div class="box-footer"> |
194 | + <div class="col-xs-12 col-sm-9"> | ||
195 | + <?php | ||
196 | + $shareBasket = new ShareBasket(); | ||
197 | + $shareBasketForm = ActiveForm::begin( | ||
198 | + [ | ||
199 | + 'action' => [ '/site/share-basket' ], | ||
200 | + 'options' => [ | ||
201 | + 'class' => 'share-basket-form', | ||
202 | + 'data' => [ | ||
203 | + 'title' => \Yii::t('app', 'Shared basket'), | ||
204 | + 'msg' => \Yii::t('app', 'Basket successfully shared.'), | ||
205 | + ], | ||
206 | + ], | ||
207 | + ] | ||
208 | + ); | ||
209 | + ?> | ||
210 | + <div class="col-xs-12 col-sm-4"> | ||
211 | + <?php | ||
212 | + echo Html::label( | ||
213 | + $shareBasket->getAttributeLabel('email'), | ||
214 | + Html::getInputId($shareBasket, 'email') | ||
215 | + ); | ||
216 | + ?> | ||
217 | + </div> | ||
218 | + <div class="col-xs-12 col-sm-6"> | ||
219 | + <?php | ||
220 | + echo $shareBasketForm->field($shareBasket, 'email') | ||
221 | + ->textInput( | ||
222 | + [ | ||
223 | + 'placeholder' => 'email@email.com', | ||
224 | + ] | ||
225 | + ) | ||
226 | + ->label(false); | ||
227 | + ?> | ||
228 | + </div> | ||
229 | + <div class="col-xs-12 col-sm-2"> | ||
230 | + <?php | ||
231 | + echo Html::submitButton( | ||
232 | + \Yii::t('app', 'Ok'), | ||
233 | + [ | ||
234 | + 'class' => 'btn btn-primary', | ||
235 | + ] | ||
236 | + ); | ||
237 | + ?> | ||
238 | + </div> | ||
239 | + <?php | ||
240 | + $shareBasketForm::end(); | ||
241 | + ?> | ||
242 | + </div> | ||
192 | <div class="pull-right"> | 243 | <div class="pull-right"> |
193 | <?php | 244 | <?php |
194 | echo Html::a( | 245 | echo Html::a( |
frontend/web/js/script.js
@@ -126,12 +126,22 @@ $(function() { | @@ -126,12 +126,22 @@ $(function() { | ||
126 | .parents('.product-row-basket') | 126 | .parents('.product-row-basket') |
127 | .data('id'); | 127 | .data('id'); |
128 | showLoader('#basket'); | 128 | showLoader('#basket'); |
129 | + showLoader('#basket-modal'); | ||
129 | var xhr = basket.remove(id); | 130 | var xhr = basket.remove(id); |
130 | xhr.done(function() { | 131 | xhr.done(function() { |
132 | + if ($('#basket').length) { | ||
133 | + $.pjax.reload({ | ||
134 | + container: '#basket', | ||
135 | + fragment: '#basket', | ||
136 | + timeout: 5000, | ||
137 | + async: false | ||
138 | + }); | ||
139 | + } | ||
131 | $.pjax.reload({ | 140 | $.pjax.reload({ |
132 | - container: '#basket', | ||
133 | - fragment: '#basket', | ||
134 | - timeout: 5000 | 141 | + container: '#basket-modal', |
142 | + fragment: '#basket-modal', | ||
143 | + timeout: 5000, | ||
144 | + async: false | ||
135 | }); | 145 | }); |
136 | }) | 146 | }) |
137 | }); | 147 | }); |
@@ -150,13 +160,15 @@ $(function() { | @@ -150,13 +160,15 @@ $(function() { | ||
150 | $.pjax.reload({ | 160 | $.pjax.reload({ |
151 | container: '#basket', | 161 | container: '#basket', |
152 | fragment: '#basket', | 162 | fragment: '#basket', |
153 | - timeout: 5000 | 163 | + timeout: 5000, |
164 | + async: false | ||
154 | }); | 165 | }); |
155 | } | 166 | } |
156 | $.pjax.reload({ | 167 | $.pjax.reload({ |
157 | container: '#basket-modal', | 168 | container: '#basket-modal', |
158 | fragment: '#basket-modal', | 169 | fragment: '#basket-modal', |
159 | - timeout: 5000 | 170 | + timeout: 5000, |
171 | + async: false | ||
160 | }); | 172 | }); |
161 | }); | 173 | }); |
162 | }); | 174 | }); |
@@ -187,86 +199,88 @@ $(function() { | @@ -187,86 +199,88 @@ $(function() { | ||
187 | }.bind(this)); | 199 | }.bind(this)); |
188 | 200 | ||
189 | $(document) | 201 | $(document) |
190 | - .on( | ||
191 | - 'click', '.wishlist-rm, .wishlist-add', function() { | ||
192 | - var button = $(this); | ||
193 | - $.ajax( | ||
194 | - { | ||
195 | - url: button.data('url'), | ||
196 | - type: "POST", | ||
197 | - data: { | ||
198 | - 'variant': button.data('variant'), | ||
199 | - 'product': button.data('product'), | ||
200 | - 'user': button.data('user') | ||
201 | - }, | ||
202 | - success: function(data) { | ||
203 | - button.replaceWith(data.button); | ||
204 | - new PNotify( | ||
205 | - { | ||
206 | - title: 'Info', | ||
207 | - text: data.message, | ||
208 | - type: 'info', | ||
209 | - styling: 'fontawesome' | ||
210 | - } | ||
211 | - ); | 202 | + .on('click', '.wishlist-rm, .wishlist-add', function() { |
203 | + var button = $(this); | ||
204 | + $.ajax({ | ||
205 | + url: button.data('url'), | ||
206 | + type: "POST", | ||
207 | + data: { | ||
208 | + 'variant': button.data('variant'), | ||
209 | + 'product': button.data('product'), | ||
210 | + 'user': button.data('user') | ||
211 | + }, | ||
212 | + success: function(data) { | ||
213 | + button.replaceWith(data.button); | ||
214 | + new PNotify({ | ||
215 | + title: 'Info', | ||
216 | + text: data.message, | ||
217 | + type: 'info', | ||
218 | + styling: 'fontawesome' | ||
219 | + }); | ||
212 | 220 | ||
213 | - } | ||
214 | - } | ||
215 | - ) | ||
216 | - } | ||
217 | - ); | 221 | + } |
222 | + }) | ||
223 | + }); | ||
218 | 224 | ||
219 | $(document) | 225 | $(document) |
220 | - .on( | ||
221 | - 'click', '.wishlist-delete', function(e) { | ||
222 | - e.preventDefault(); | ||
223 | - var button = $(this); | ||
224 | - $.ajax( | ||
225 | - { | ||
226 | - url: button.data('url'), | ||
227 | - type: "POST", | ||
228 | - data: { | ||
229 | - 'product': button.data('product'), | ||
230 | - 'variant': button.data('variant'), | ||
231 | - 'user': button.data('user') | ||
232 | - }, | ||
233 | - success: function(data) { | ||
234 | - if (data.success) { | ||
235 | - $.pjax.reload({container: '#wishlist-products'}); | ||
236 | - new PNotify( | ||
237 | - { | ||
238 | - title: 'Info', | ||
239 | - text: data.message, | ||
240 | - type: 'info', | ||
241 | - styling: 'fontawesome' | ||
242 | - } | ||
243 | - ); | ||
244 | - } | ||
245 | - } | 226 | + .on('click', '.wishlist-delete', function(e) { |
227 | + e.preventDefault(); | ||
228 | + var button = $(this); | ||
229 | + $.ajax({ | ||
230 | + url: button.data('url'), | ||
231 | + type: "POST", | ||
232 | + data: { | ||
233 | + 'product': button.data('product'), | ||
234 | + 'variant': button.data('variant'), | ||
235 | + 'user': button.data('user') | ||
236 | + }, | ||
237 | + success: function(data) { | ||
238 | + if (data.success) { | ||
239 | + $.pjax.reload({container: '#wishlist-products'}); | ||
240 | + new PNotify({ | ||
241 | + title: 'Info', | ||
242 | + text: data.message, | ||
243 | + type: 'info', | ||
244 | + styling: 'fontawesome' | ||
245 | + }); | ||
246 | } | 246 | } |
247 | - ); | ||
248 | - } | ||
249 | - ); | ||
250 | - $(document).on('click', '.sort-cat>a', function(e){ | ||
251 | - $(this).parent().toggleClass("active"); | ||
252 | - return false; | ||
253 | - }); | ||
254 | - $(document).on('click', '.sorter li a', function(e){ | ||
255 | - var sortclick = $(this).text(); | ||
256 | - parentsort = $(".sort-cat a span"); | ||
257 | - pstext = $(parentsort).text(); | ||
258 | - mainlink = $(".sort-cat a").attr('href'); | ||
259 | - newmainlink = $(this).attr('href'); | 247 | + } |
248 | + }); | ||
249 | + }); | ||
250 | + $(document) | ||
251 | + .on('click', '.sort-cat>a', function(e) { | ||
252 | + $(this) | ||
253 | + .parent() | ||
254 | + .toggleClass("active"); | ||
255 | + return false; | ||
256 | + }); | ||
257 | + $(document) | ||
258 | + .on('click', '.sorter li a', function(e) { | ||
259 | + var sortclick = $(this) | ||
260 | + .text(); | ||
261 | + parentsort = $(".sort-cat a span"); | ||
262 | + pstext = $(parentsort) | ||
263 | + .text(); | ||
264 | + mainlink = $(".sort-cat a") | ||
265 | + .attr('href'); | ||
266 | + newmainlink = $(this) | ||
267 | + .attr('href'); | ||
260 | 268 | ||
261 | - $(parentsort).text(sortclick); | ||
262 | - $(".sort-cat>a").attr('href', newmainlink); | ||
263 | - $(this).text(pstext); | ||
264 | - $(this).attr('href', mainlink); | ||
265 | - $(".sort-cat>a").click(); | 269 | + $(parentsort) |
270 | + .text(sortclick); | ||
271 | + $(".sort-cat>a") | ||
272 | + .attr('href', newmainlink); | ||
273 | + $(this) | ||
274 | + .text(pstext); | ||
275 | + $(this) | ||
276 | + .attr('href', mainlink); | ||
277 | + $(".sort-cat>a") | ||
278 | + .click(); | ||
266 | 279 | ||
267 | - $(location).attr('href',newmainlink); | ||
268 | - return false; | ||
269 | - }); | 280 | + $(location) |
281 | + .attr('href', newmainlink); | ||
282 | + return false; | ||
283 | + }); | ||
270 | 284 | ||
271 | // Price slider | 285 | // Price slider |
272 | $('.price-inputs input') | 286 | $('.price-inputs input') |
@@ -371,14 +385,54 @@ $(function() { | @@ -371,14 +385,54 @@ $(function() { | ||
371 | $('.vcovers') | 385 | $('.vcovers') |
372 | .perfectScrollbar({wheelSpeed: 0.5}); | 386 | .perfectScrollbar({wheelSpeed: 0.5}); |
373 | 387 | ||
374 | - $(document).on('click', '.sidebar-menu .form-group .hiddens-button a.btn', function(){ | ||
375 | - $(this).parent().parent().find(".hiddens").toggleClass("active"); | ||
376 | - $(this).text(function(i, text){ | ||
377 | - return text === "Ещё" ? "Скрыть" : "Ещё"; | 388 | + $(document) |
389 | + .on('click', '.sidebar-menu .form-group .hiddens-button a.btn', function() { | ||
390 | + $(this) | ||
391 | + .parent() | ||
392 | + .parent() | ||
393 | + .find(".hiddens") | ||
394 | + .toggleClass("active"); | ||
395 | + $(this) | ||
396 | + .text(function(i, text) { | ||
397 | + return text === "Ещё" ? "Скрыть" : "Ещё"; | ||
398 | + }); | ||
399 | + return false; | ||
378 | }); | 400 | }); |
379 | - return false; | ||
380 | - }); | ||
381 | 401 | ||
402 | + $(document) | ||
403 | + .on('beforeSubmit', '.share-basket-form', function(e) { | ||
404 | + $.post($(this) | ||
405 | + .attr('action'), $(this) | ||
406 | + .serialize(), function(data) { | ||
407 | + }); | ||
408 | + new PNotify({ | ||
409 | + title: $(this) | ||
410 | + .data('title'), | ||
411 | + text: $(this) | ||
412 | + .data('msg'), | ||
413 | + type: 'info', | ||
414 | + styling: 'fontawesome' | ||
415 | + }); | ||
416 | + this.reset(); | ||
417 | + return false; | ||
418 | + }); | ||
419 | + $(document) | ||
420 | + .on('submit', '.share-basket-form', function(e) { | ||
421 | + $.post($(this) | ||
422 | + .attr('action'), $(this) | ||
423 | + .serialize(), function(data) { | ||
424 | + }); | ||
425 | + new PNotify({ | ||
426 | + title: $(this) | ||
427 | + .data('title'), | ||
428 | + text: $(this) | ||
429 | + .data('msg'), | ||
430 | + type: 'info', | ||
431 | + styling: 'fontawesome' | ||
432 | + }); | ||
433 | + this.reset(); | ||
434 | + return false; | ||
435 | + }); | ||
382 | }); | 436 | }); |
383 | function showLoader(container) { | 437 | function showLoader(container) { |
384 | $(container) | 438 | $(container) |