Commit fb400cd66d705c0e00f69fbbb2b7795f5e5c4438

Authored by alex
1 parent 92d8f167

добавил логику для работы с desctop/tablet/mobile версиями ссылки "Program of the event"

composer.json
... ... @@ -18,6 +18,7 @@
18 18 "minimum-stability": "RC",
19 19 "require": {
20 20 "php": ">=7.0",
  21 + "alexandernst/yii2-device-detect": "0.0.12",
21 22 "artweb/artbox-core" : ">0.0.10"
22 23 },
23 24 "require-dev": {
... ...
composer.lock 100755 → 100644
... ... @@ -4,7 +4,8 @@
4 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5 5 "This file is @generated automatically"
6 6 ],
7   - "content-hash": "20c2db805fdbbc718dc7c57c39800648",
  7 + "hash": "163dd69cbf4410df8959165e28efb09e",
  8 + "content-hash": "075f417c5bcd78cfc58694977cf459e9",
8 9 "packages": [
9 10 {
10 11 "name": "2amigos/yii2-tinymce-widget",
... ... @@ -64,7 +65,55 @@
64 65 "yii 2",
65 66 "yii2"
66 67 ],
67   - "time": "2017-06-09T14:12:14+00:00"
  68 + "time": "2017-06-09 14:12:14"
  69 + },
  70 + {
  71 + "name": "alexandernst/yii2-device-detect",
  72 + "version": "0.0.12",
  73 + "source": {
  74 + "type": "git",
  75 + "url": "https://github.com/alexandernst/yii2-device-detect.git",
  76 + "reference": "ae9557fb9b04abf8ad9ed8cf7e1b5daa7bdf10ec"
  77 + },
  78 + "dist": {
  79 + "type": "zip",
  80 + "url": "https://api.github.com/repos/alexandernst/yii2-device-detect/zipball/ae9557fb9b04abf8ad9ed8cf7e1b5daa7bdf10ec",
  81 + "reference": "ae9557fb9b04abf8ad9ed8cf7e1b5daa7bdf10ec",
  82 + "shasum": ""
  83 + },
  84 + "require": {
  85 + "mobiledetect/mobiledetectlib": "~2.8",
  86 + "yiisoft/yii2": "*"
  87 + },
  88 + "type": "yii2-extension",
  89 + "autoload": {
  90 + "psr-4": {
  91 + "alexandernst\\devicedetect\\": ""
  92 + }
  93 + },
  94 + "notification-url": "https://packagist.org/downloads/",
  95 + "license": [
  96 + "GNU General Public License v3"
  97 + ],
  98 + "authors": [
  99 + {
  100 + "name": "Alexander Nestorov",
  101 + "email": "alexandernst@gmail.com"
  102 + }
  103 + ],
  104 + "description": "Yii2 extension for Mobile-Detect library",
  105 + "keywords": [
  106 + "desktop",
  107 + "detect",
  108 + "device",
  109 + "extension",
  110 + "mobile",
  111 + "phone",
  112 + "tablet",
  113 + "widget",
  114 + "yii2"
  115 + ],
  116 + "time": "2017-08-07 16:37:25"
68 117 },
69 118 {
70 119 "name": "artweb/artbox-core",
... ... @@ -125,7 +174,7 @@
125 174 "BSD-3-Clause"
126 175 ],
127 176 "description": "Artbox core extension",
128   - "time": "2018-05-21T12:55:30+00:00"
  177 + "time": "2018-05-21 12:55:30"
129 178 },
130 179 {
131 180 "name": "bower-asset/amcharts",
... ... @@ -537,7 +586,7 @@
537 586 "markdown",
538 587 "markdown-extra"
539 588 ],
540   - "time": "2017-07-16T21:13:23+00:00"
  589 + "time": "2017-07-16 21:13:23"
541 590 },
542 591 {
543 592 "name": "container-interop/container-interop",
... ... @@ -568,7 +617,7 @@
568 617 ],
569 618 "description": "Promoting the interoperability of container objects (DIC, SL, etc.)",
570 619 "homepage": "https://github.com/container-interop/container-interop",
571   - "time": "2017-02-14T19:40:03+00:00"
  620 + "time": "2017-02-14 19:40:03"
572 621 },
573 622 {
574 623 "name": "doctrine/lexer",
... ... @@ -622,7 +671,7 @@
622 671 "lexer",
623 672 "parser"
624 673 ],
625   - "time": "2014-09-09T13:34:57+00:00"
  674 + "time": "2014-09-09 13:34:57"
626 675 },
627 676 {
628 677 "name": "egulias/email-validator",
... ... @@ -679,7 +728,7 @@
679 728 "validation",
680 729 "validator"
681 730 ],
682   - "time": "2018-08-16T20:49:45+00:00"
  731 + "time": "2018-08-16 20:49:45"
683 732 },
684 733 {
685 734 "name": "ezyang/htmlpurifier",
... ... @@ -726,7 +775,7 @@
726 775 "keywords": [
727 776 "html"
728 777 ],
729   - "time": "2018-02-23T01:58:20+00:00"
  778 + "time": "2018-02-23 01:58:20"
730 779 },
731 780 {
732 781 "name": "firebase/php-jwt",
... ... @@ -772,7 +821,7 @@
772 821 ],
773 822 "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
774 823 "homepage": "https://github.com/firebase/php-jwt",
775   - "time": "2017-06-27T22:17:23+00:00"
  824 + "time": "2017-06-27 22:17:23"
776 825 },
777 826 {
778 827 "name": "fortawesome/font-awesome",
... ... @@ -820,7 +869,7 @@
820 869 "font",
821 870 "icon"
822 871 ],
823   - "time": "2016-10-24T15:52:54+00:00"
  872 + "time": "2016-10-24 15:52:54"
824 873 },
825 874 {
826 875 "name": "google/apiclient",
... ... @@ -879,20 +928,20 @@
879 928 "keywords": [
880 929 "google"
881 930 ],
882   - "time": "2018-06-20T15:52:20+00:00"
  931 + "time": "2018-06-20 15:52:20"
883 932 },
884 933 {
885 934 "name": "google/apiclient-services",
886   - "version": "v0.67",
  935 + "version": "v0.68",
887 936 "source": {
888 937 "type": "git",
889 938 "url": "https://github.com/google/google-api-php-client-services.git",
890   - "reference": "32f65995935033e40cc94d4f484905b38eb039f8"
  939 + "reference": "f218f5697aa753fa031a09a14ed56a5a438070e4"
891 940 },
892 941 "dist": {
893 942 "type": "zip",
894   - "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/32f65995935033e40cc94d4f484905b38eb039f8",
895   - "reference": "32f65995935033e40cc94d4f484905b38eb039f8",
  943 + "url": "https://api.github.com/repos/google/google-api-php-client-services/zipball/f218f5697aa753fa031a09a14ed56a5a438070e4",
  944 + "reference": "f218f5697aa753fa031a09a14ed56a5a438070e4",
896 945 "shasum": ""
897 946 },
898 947 "require": {
... ... @@ -916,7 +965,7 @@
916 965 "keywords": [
917 966 "google"
918 967 ],
919   - "time": "2018-08-25T00:23:06+00:00"
  968 + "time": "2018-09-03 00:22:49"
920 969 },
921 970 {
922 971 "name": "google/auth",
... ... @@ -963,7 +1012,7 @@
963 1012 "google",
964 1013 "oauth2"
965 1014 ],
966   - "time": "2018-08-27T19:47:35+00:00"
  1015 + "time": "2018-08-27 19:47:35"
967 1016 },
968 1017 {
969 1018 "name": "guzzlehttp/guzzle",
... ... @@ -1028,7 +1077,7 @@
1028 1077 "rest",
1029 1078 "web service"
1030 1079 ],
1031   - "time": "2018-04-22T15:46:56+00:00"
  1080 + "time": "2018-04-22 15:46:56"
1032 1081 },
1033 1082 {
1034 1083 "name": "guzzlehttp/promises",
... ... @@ -1079,7 +1128,7 @@
1079 1128 "keywords": [
1080 1129 "promise"
1081 1130 ],
1082   - "time": "2016-12-20T10:07:11+00:00"
  1131 + "time": "2016-12-20 10:07:11"
1083 1132 },
1084 1133 {
1085 1134 "name": "guzzlehttp/psr7",
... ... @@ -1144,7 +1193,7 @@
1144 1193 "uri",
1145 1194 "url"
1146 1195 ],
1147   - "time": "2017-03-20T17:10:46+00:00"
  1196 + "time": "2017-03-20 17:10:46"
1148 1197 },
1149 1198 {
1150 1199 "name": "hiqdev/yii2-asset-icheck",
... ... @@ -1216,7 +1265,7 @@
1216 1265 "iCheck",
1217 1266 "yii2"
1218 1267 ],
1219   - "time": "2016-03-30T10:59:26+00:00"
  1268 + "time": "2016-03-30 10:59:26"
1220 1269 },
1221 1270 {
1222 1271 "name": "hiqdev/yii2-asset-pnotify",
... ... @@ -1278,7 +1327,7 @@
1278 1327 "pnotify",
1279 1328 "yii2"
1280 1329 ],
1281   - "time": "2015-09-09T15:16:38+00:00"
  1330 + "time": "2015-09-09 15:16:38"
1282 1331 },
1283 1332 {
1284 1333 "name": "imagine/imagine",
... ... @@ -1336,7 +1385,7 @@
1336 1385 "image manipulation",
1337 1386 "image processing"
1338 1387 ],
1339   - "time": "2017-05-16T10:31:22+00:00"
  1388 + "time": "2017-05-16 10:31:22"
1340 1389 },
1341 1390 {
1342 1391 "name": "intervention/httpauth",
... ... @@ -1389,7 +1438,7 @@
1389 1438 "http",
1390 1439 "laravel"
1391 1440 ],
1392   - "time": "2017-06-28T17:37:25+00:00"
  1441 + "time": "2017-06-28 17:37:25"
1393 1442 },
1394 1443 {
1395 1444 "name": "kartik-v/bootstrap-fileinput",
... ... @@ -1442,7 +1491,7 @@
1442 1491 "progress",
1443 1492 "upload"
1444 1493 ],
1445   - "time": "2018-08-30T02:05:20+00:00"
  1494 + "time": "2018-08-30 02:05:20"
1446 1495 },
1447 1496 {
1448 1497 "name": "kartik-v/yii2-krajee-base",
... ... @@ -1493,7 +1542,7 @@
1493 1542 "widget",
1494 1543 "yii2"
1495 1544 ],
1496   - "time": "2018-08-29T02:57:02+00:00"
  1545 + "time": "2018-08-29 02:57:02"
1497 1546 },
1498 1547 {
1499 1548 "name": "kartik-v/yii2-widget-colorinput",
... ... @@ -1547,7 +1596,7 @@
1547 1596 "widget",
1548 1597 "yii2"
1549 1598 ],
1550   - "time": "2016-01-14T11:15:49+00:00"
  1599 + "time": "2016-01-14 11:15:49"
1551 1600 },
1552 1601 {
1553 1602 "name": "kartik-v/yii2-widget-datepicker",
... ... @@ -1601,7 +1650,7 @@
1601 1650 "widget",
1602 1651 "yii2"
1603 1652 ],
1604   - "time": "2018-08-29T12:10:45+00:00"
  1653 + "time": "2018-08-29 12:10:45"
1605 1654 },
1606 1655 {
1607 1656 "name": "kartik-v/yii2-widget-fileinput",
... ... @@ -1656,7 +1705,7 @@
1656 1705 "widget",
1657 1706 "yii2"
1658 1707 ],
1659   - "time": "2017-05-25T20:12:30+00:00"
  1708 + "time": "2017-05-25 20:12:30"
1660 1709 },
1661 1710 {
1662 1711 "name": "kartik-v/yii2-widget-select2",
... ... @@ -1709,7 +1758,59 @@
1709 1758 "widget",
1710 1759 "yii2"
1711 1760 ],
1712   - "time": "2018-08-17T07:47:43+00:00"
  1761 + "time": "2018-08-17 07:47:43"
  1762 + },
  1763 + {
  1764 + "name": "mobiledetect/mobiledetectlib",
  1765 + "version": "2.8.33",
  1766 + "source": {
  1767 + "type": "git",
  1768 + "url": "https://github.com/serbanghita/Mobile-Detect.git",
  1769 + "reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102"
  1770 + },
  1771 + "dist": {
  1772 + "type": "zip",
  1773 + "url": "https://api.github.com/repos/serbanghita/Mobile-Detect/zipball/cd385290f9a0d609d2eddd165a1e44ec1bf12102",
  1774 + "reference": "cd385290f9a0d609d2eddd165a1e44ec1bf12102",
  1775 + "shasum": ""
  1776 + },
  1777 + "require": {
  1778 + "php": ">=5.0.0"
  1779 + },
  1780 + "require-dev": {
  1781 + "phpunit/phpunit": "~4.8.35||~5.7"
  1782 + },
  1783 + "type": "library",
  1784 + "autoload": {
  1785 + "classmap": [
  1786 + "Mobile_Detect.php"
  1787 + ],
  1788 + "psr-0": {
  1789 + "Detection": "namespaced/"
  1790 + }
  1791 + },
  1792 + "notification-url": "https://packagist.org/downloads/",
  1793 + "license": [
  1794 + "MIT"
  1795 + ],
  1796 + "authors": [
  1797 + {
  1798 + "name": "Serban Ghita",
  1799 + "email": "serbanghita@gmail.com",
  1800 + "homepage": "http://mobiledetect.net",
  1801 + "role": "Developer"
  1802 + }
  1803 + ],
  1804 + "description": "Mobile_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.",
  1805 + "homepage": "https://github.com/serbanghita/Mobile-Detect",
  1806 + "keywords": [
  1807 + "detect mobile devices",
  1808 + "mobile",
  1809 + "mobile detect",
  1810 + "mobile detector",
  1811 + "php mobile detect"
  1812 + ],
  1813 + "time": "2018-09-01 15:05:15"
1713 1814 },
1714 1815 {
1715 1816 "name": "monolog/monolog",
... ... @@ -1787,7 +1888,7 @@
1787 1888 "logging",
1788 1889 "psr-3"
1789 1890 ],
1790   - "time": "2017-06-19T01:22:40+00:00"
  1891 + "time": "2017-06-19 01:22:40"
1791 1892 },
1792 1893 {
1793 1894 "name": "mrclay/jsmin-php",
... ... @@ -1839,7 +1940,7 @@
1839 1940 "jsmin",
1840 1941 "minify"
1841 1942 ],
1842   - "time": "2015-03-30T15:04:42+00:00"
  1943 + "time": "2015-03-30 15:04:42"
1843 1944 },
1844 1945 {
1845 1946 "name": "mrclay/minify",
... ... @@ -1901,7 +2002,7 @@
1901 2002 ],
1902 2003 "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",
1903 2004 "homepage": "https://github.com/mrclay/minify",
1904   - "time": "2017-11-03T21:00:15+00:00"
  2005 + "time": "2017-11-03 21:00:15"
1905 2006 },
1906 2007 {
1907 2008 "name": "mrclay/props-dic",
... ... @@ -1953,7 +2054,7 @@
1953 2054 "di",
1954 2055 "di container"
1955 2056 ],
1956   - "time": "2016-02-10T18:59:20+00:00"
  2057 + "time": "2016-02-10 18:59:20"
1957 2058 },
1958 2059 {
1959 2060 "name": "natxet/CssMin",
... ... @@ -2000,7 +2101,7 @@
2000 2101 "css",
2001 2102 "minify"
2002 2103 ],
2003   - "time": "2018-01-09T11:15:01+00:00"
  2104 + "time": "2018-01-09 11:15:01"
2004 2105 },
2005 2106 {
2006 2107 "name": "noam148/yii2-image-manager",
... ... @@ -2049,7 +2150,7 @@
2049 2150 "widget",
2050 2151 "yii2"
2051 2152 ],
2052   - "time": "2018-06-08T17:29:40+00:00"
  2153 + "time": "2018-06-08 17:29:40"
2053 2154 },
2054 2155 {
2055 2156 "name": "noam148/yii2-image-resize",
... ... @@ -2095,7 +2196,7 @@
2095 2196 "resize",
2096 2197 "yii2"
2097 2198 ],
2098   - "time": "2018-02-18T19:23:04+00:00"
  2199 + "time": "2018-02-18 19:23:04"
2099 2200 },
2100 2201 {
2101 2202 "name": "phpseclib/phpseclib",
... ... @@ -2187,7 +2288,7 @@
2187 2288 "x.509",
2188 2289 "x509"
2189 2290 ],
2190   - "time": "2018-04-15T16:55:05+00:00"
  2291 + "time": "2018-04-15 16:55:05"
2191 2292 },
2192 2293 {
2193 2294 "name": "pimple/pimple",
... ... @@ -2237,7 +2338,7 @@
2237 2338 "container",
2238 2339 "dependency injection"
2239 2340 ],
2240   - "time": "2018-01-21T07:42:36+00:00"
  2341 + "time": "2018-01-21 07:42:36"
2241 2342 },
2242 2343 {
2243 2344 "name": "psr/cache",
... ... @@ -2283,7 +2384,7 @@
2283 2384 "psr",
2284 2385 "psr-6"
2285 2386 ],
2286   - "time": "2016-08-06T20:24:11+00:00"
  2387 + "time": "2016-08-06 20:24:11"
2287 2388 },
2288 2389 {
2289 2390 "name": "psr/container",
... ... @@ -2332,7 +2433,7 @@
2332 2433 "container-interop",
2333 2434 "psr"
2334 2435 ],
2335   - "time": "2017-02-14T16:28:37+00:00"
  2436 + "time": "2017-02-14 16:28:37"
2336 2437 },
2337 2438 {
2338 2439 "name": "psr/http-message",
... ... @@ -2382,7 +2483,7 @@
2382 2483 "request",
2383 2484 "response"
2384 2485 ],
2385   - "time": "2016-08-06T14:39:51+00:00"
  2486 + "time": "2016-08-06 14:39:51"
2386 2487 },
2387 2488 {
2388 2489 "name": "psr/log",
... ... @@ -2429,7 +2530,7 @@
2429 2530 "psr",
2430 2531 "psr-3"
2431 2532 ],
2432   - "time": "2016-10-10T12:19:37+00:00"
  2533 + "time": "2016-10-10 12:19:37"
2433 2534 },
2434 2535 {
2435 2536 "name": "rmrevin/yii2-fontawesome",
... ... @@ -2481,7 +2582,7 @@
2481 2582 "font",
2482 2583 "yii"
2483 2584 ],
2484   - "time": "2017-01-11T14:05:47+00:00"
  2585 + "time": "2017-01-11 14:05:47"
2485 2586 },
2486 2587 {
2487 2588 "name": "skeeks/yii2-assets-auto-compress",
... ... @@ -2538,7 +2639,7 @@
2538 2639 "skeeks",
2539 2640 "yii"
2540 2641 ],
2541   - "time": "2018-06-07T10:04:05+00:00"
  2642 + "time": "2018-06-07 10:04:05"
2542 2643 },
2543 2644 {
2544 2645 "name": "swiftmailer/swiftmailer",
... ... @@ -2597,7 +2698,7 @@
2597 2698 "mail",
2598 2699 "mailer"
2599 2700 ],
2600   - "time": "2018-07-13T07:04:35+00:00"
  2701 + "time": "2018-07-13 07:04:35"
2601 2702 },
2602 2703 {
2603 2704 "name": "tedivm/jshrink",
... ... @@ -2643,7 +2744,7 @@
2643 2744 "javascript",
2644 2745 "minifier"
2645 2746 ],
2646   - "time": "2017-12-08T00:59:56+00:00"
  2747 + "time": "2017-12-08 00:59:56"
2647 2748 },
2648 2749 {
2649 2750 "name": "tinymce/tinymce",
... ... @@ -2689,7 +2790,7 @@
2689 2790 "tinymce",
2690 2791 "wysiwyg"
2691 2792 ],
2692   - "time": "2018-08-09T09:17:07+00:00"
  2793 + "time": "2018-08-09 09:17:07"
2693 2794 },
2694 2795 {
2695 2796 "name": "tubalmartin/cssmin",
... ... @@ -2742,7 +2843,7 @@
2742 2843 "minify",
2743 2844 "yui"
2744 2845 ],
2745   - "time": "2018-01-15T15:26:51+00:00"
  2846 + "time": "2018-01-15 15:26:51"
2746 2847 },
2747 2848 {
2748 2849 "name": "yii2tech/ar-linkmany",
... ... @@ -2793,7 +2894,7 @@
2793 2894 "relaton",
2794 2895 "yii2"
2795 2896 ],
2796   - "time": "2018-02-09T14:02:04+00:00"
  2897 + "time": "2018-02-09 14:02:04"
2797 2898 },
2798 2899 {
2799 2900 "name": "yii2tech/ar-position",
... ... @@ -2842,7 +2943,7 @@
2842 2943 "sort",
2843 2944 "yii2"
2844 2945 ],
2845   - "time": "2017-11-01T10:56:01+00:00"
  2946 + "time": "2017-11-01 10:56:01"
2846 2947 },
2847 2948 {
2848 2949 "name": "yii2tech/ar-variation",
... ... @@ -2896,7 +2997,7 @@
2896 2997 "variator",
2897 2998 "yii2"
2898 2999 ],
2899   - "time": "2018-04-09T08:43:38+00:00"
  3000 + "time": "2018-04-09 08:43:38"
2900 3001 },
2901 3002 {
2902 3003 "name": "yii2tech/filedb",
... ... @@ -2944,7 +3045,7 @@
2944 3045 "static",
2945 3046 "yii2"
2946 3047 ],
2947   - "time": "2018-04-09T08:12:49+00:00"
  3048 + "time": "2018-04-09 08:12:49"
2948 3049 },
2949 3050 {
2950 3051 "name": "yiisoft/yii2",
... ... @@ -3044,7 +3145,7 @@
3044 3145 "framework",
3045 3146 "yii2"
3046 3147 ],
3047   - "time": "2018-03-21T18:36:53+00:00"
  3148 + "time": "2018-03-21 18:36:53"
3048 3149 },
3049 3150 {
3050 3151 "name": "yiisoft/yii2-bootstrap",
... ... @@ -3104,7 +3205,7 @@
3104 3205 "bootstrap",
3105 3206 "yii2"
3106 3207 ],
3107   - "time": "2018-02-16T10:41:52+00:00"
  3208 + "time": "2018-02-16 10:41:52"
3108 3209 },
3109 3210 {
3110 3211 "name": "yiisoft/yii2-composer",
... ... @@ -3158,7 +3259,7 @@
3158 3259 "extension installer",
3159 3260 "yii2"
3160 3261 ],
3161   - "time": "2018-07-05T15:44:47+00:00"
  3262 + "time": "2018-07-05 15:44:47"
3162 3263 },
3163 3264 {
3164 3265 "name": "yiisoft/yii2-httpclient",
... ... @@ -3205,7 +3306,7 @@
3205 3306 "httpclient",
3206 3307 "yii2"
3207 3308 ],
3208   - "time": "2018-02-13T15:11:30+00:00"
  3309 + "time": "2018-02-13 15:11:30"
3209 3310 },
3210 3311 {
3211 3312 "name": "yiisoft/yii2-imagine",
... ... @@ -3253,7 +3354,7 @@
3253 3354 "imagine",
3254 3355 "yii2"
3255 3356 ],
3256   - "time": "2018-02-22T11:57:06+00:00"
  3357 + "time": "2018-02-22 11:57:06"
3257 3358 },
3258 3359 {
3259 3360 "name": "yiisoft/yii2-jui",
... ... @@ -3299,7 +3400,7 @@
3299 3400 "jQuery UI",
3300 3401 "yii2"
3301 3402 ],
3302   - "time": "2017-11-25T15:32:29+00:00"
  3403 + "time": "2017-11-25 15:32:29"
3303 3404 },
3304 3405 {
3305 3406 "name": "yiisoft/yii2-swiftmailer",
... ... @@ -3349,7 +3450,7 @@
3349 3450 "swiftmailer",
3350 3451 "yii2"
3351 3452 ],
3352   - "time": "2018-04-24T23:17:42+00:00"
  3453 + "time": "2018-04-24 23:17:42"
3353 3454 },
3354 3455 {
3355 3456 "name": "yiister/yii2-gentelella",
... ... @@ -3407,7 +3508,7 @@
3407 3508 "theme",
3408 3509 "yii2"
3409 3510 ],
3410   - "time": "2017-11-12T16:49:22+00:00"
  3511 + "time": "2017-11-12 16:49:22"
3411 3512 }
3412 3513 ],
3413 3514 "packages-dev": [
... ... @@ -3468,7 +3569,7 @@
3468 3569 "gherkin",
3469 3570 "parser"
3470 3571 ],
3471   - "time": "2017-08-30T11:04:43+00:00"
  3572 + "time": "2017-08-30 11:04:43"
3472 3573 },
3473 3574 {
3474 3575 "name": "bower-asset/typeahead.js",
... ... @@ -3576,7 +3677,7 @@
3576 3677 "functional testing",
3577 3678 "unit testing"
3578 3679 ],
3579   - "time": "2018-08-01T07:46:24+00:00"
  3680 + "time": "2018-08-01 07:46:24"
3580 3681 },
3581 3682 {
3582 3683 "name": "codeception/phpunit-wrapper",
... ... @@ -3619,7 +3720,7 @@
3619 3720 }
3620 3721 ],
3621 3722 "description": "PHPUnit classes used by Codeception",
3622   - "time": "2018-08-28T23:24:24+00:00"
  3723 + "time": "2018-08-28 23:24:24"
3623 3724 },
3624 3725 {
3625 3726 "name": "codeception/stub",
... ... @@ -3649,7 +3750,7 @@
3649 3750 "MIT"
3650 3751 ],
3651 3752 "description": "Flexible Stub wrapper for PHPUnit's Mock Builder",
3652   - "time": "2018-07-26T11:55:37+00:00"
  3753 + "time": "2018-07-26 11:55:37"
3653 3754 },
3654 3755 {
3655 3756 "name": "codeception/verify",
... ... @@ -3685,7 +3786,7 @@
3685 3786 }
3686 3787 ],
3687 3788 "description": "BDD assertion library for PHPUnit",
3688   - "time": "2017-01-09T10:58:51+00:00"
  3789 + "time": "2017-01-09 10:58:51"
3689 3790 },
3690 3791 {
3691 3792 "name": "doctrine/instantiator",
... ... @@ -3739,7 +3840,7 @@
3739 3840 "constructor",
3740 3841 "instantiate"
3741 3842 ],
3742   - "time": "2017-07-22T11:58:36+00:00"
  3843 + "time": "2017-07-22 11:58:36"
3743 3844 },
3744 3845 {
3745 3846 "name": "fzaninotto/faker",
... ... @@ -3789,7 +3890,7 @@
3789 3890 "faker",
3790 3891 "fixtures"
3791 3892 ],
3792   - "time": "2018-07-12T10:23:15+00:00"
  3893 + "time": "2018-07-12 10:23:15"
3793 3894 },
3794 3895 {
3795 3896 "name": "myclabs/deep-copy",
... ... @@ -3837,7 +3938,7 @@
3837 3938 "object",
3838 3939 "object graph"
3839 3940 ],
3840   - "time": "2018-06-11T23:09:50+00:00"
  3941 + "time": "2018-06-11 23:09:50"
3841 3942 },
3842 3943 {
3843 3944 "name": "phar-io/manifest",
... ... @@ -3892,7 +3993,7 @@
3892 3993 }
3893 3994 ],
3894 3995 "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
3895   - "time": "2018-07-08T19:23:20+00:00"
  3996 + "time": "2018-07-08 19:23:20"
3896 3997 },
3897 3998 {
3898 3999 "name": "phar-io/version",
... ... @@ -3939,7 +4040,7 @@
3939 4040 }
3940 4041 ],
3941 4042 "description": "Library for handling version information and constraints",
3942   - "time": "2018-07-08T19:19:57+00:00"
  4043 + "time": "2018-07-08 19:19:57"
3943 4044 },
3944 4045 {
3945 4046 "name": "phpdocumentor/reflection-common",
... ... @@ -3993,7 +4094,7 @@
3993 4094 "reflection",
3994 4095 "static analysis"
3995 4096 ],
3996   - "time": "2017-09-11T18:02:19+00:00"
  4097 + "time": "2017-09-11 18:02:19"
3997 4098 },
3998 4099 {
3999 4100 "name": "phpdocumentor/reflection-docblock",
... ... @@ -4044,7 +4145,7 @@
4044 4145 }
4045 4146 ],
4046 4147 "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
4047   - "time": "2017-11-30T07:14:17+00:00"
  4148 + "time": "2017-11-30 07:14:17"
4048 4149 },
4049 4150 {
4050 4151 "name": "phpdocumentor/type-resolver",
... ... @@ -4091,7 +4192,7 @@
4091 4192 "email": "me@mikevanriel.com"
4092 4193 }
4093 4194 ],
4094   - "time": "2017-07-14T14:27:02+00:00"
  4195 + "time": "2017-07-14 14:27:02"
4095 4196 },
4096 4197 {
4097 4198 "name": "phpspec/php-diff",
... ... @@ -4129,7 +4230,7 @@
4129 4230 }
4130 4231 ],
4131 4232 "description": "A comprehensive library for generating differences between two hashable objects (strings or arrays).",
4132   - "time": "2016-04-07T12:29:16+00:00"
  4233 + "time": "2016-04-07 12:29:16"
4133 4234 },
4134 4235 {
4135 4236 "name": "phpspec/prophecy",
... ... @@ -4192,7 +4293,7 @@
4192 4293 "spy",
4193 4294 "stub"
4194 4295 ],
4195   - "time": "2018-08-05T17:53:17+00:00"
  4296 + "time": "2018-08-05 17:53:17"
4196 4297 },
4197 4298 {
4198 4299 "name": "phpunit/php-code-coverage",
... ... @@ -4255,7 +4356,7 @@
4255 4356 "testing",
4256 4357 "xunit"
4257 4358 ],
4258   - "time": "2018-06-01T07:51:50+00:00"
  4359 + "time": "2018-06-01 07:51:50"
4259 4360 },
4260 4361 {
4261 4362 "name": "phpunit/php-file-iterator",
... ... @@ -4302,7 +4403,7 @@
4302 4403 "filesystem",
4303 4404 "iterator"
4304 4405 ],
4305   - "time": "2018-06-11T11:44:00+00:00"
  4406 + "time": "2018-06-11 11:44:00"
4306 4407 },
4307 4408 {
4308 4409 "name": "phpunit/php-text-template",
... ... @@ -4343,7 +4444,7 @@
4343 4444 "keywords": [
4344 4445 "template"
4345 4446 ],
4346   - "time": "2015-06-21T13:50:34+00:00"
  4447 + "time": "2015-06-21 13:50:34"
4347 4448 },
4348 4449 {
4349 4450 "name": "phpunit/php-timer",
... ... @@ -4392,7 +4493,7 @@
4392 4493 "keywords": [
4393 4494 "timer"
4394 4495 ],
4395   - "time": "2018-02-01T13:07:23+00:00"
  4496 + "time": "2018-02-01 13:07:23"
4396 4497 },
4397 4498 {
4398 4499 "name": "phpunit/php-token-stream",
... ... @@ -4441,20 +4542,20 @@
4441 4542 "keywords": [
4442 4543 "tokenizer"
4443 4544 ],
4444   - "time": "2018-02-01T13:16:43+00:00"
  4545 + "time": "2018-02-01 13:16:43"
4445 4546 },
4446 4547 {
4447 4548 "name": "phpunit/phpunit",
4448   - "version": "7.3.2",
  4549 + "version": "7.3.3",
4449 4550 "source": {
4450 4551 "type": "git",
4451 4552 "url": "https://github.com/sebastianbergmann/phpunit.git",
4452   - "reference": "34705f81bddc3f505b9599a2ef96e2b4315ba9b8"
  4553 + "reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898"
4453 4554 },
4454 4555 "dist": {
4455 4556 "type": "zip",
4456   - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/34705f81bddc3f505b9599a2ef96e2b4315ba9b8",
4457   - "reference": "34705f81bddc3f505b9599a2ef96e2b4315ba9b8",
  4557 + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
  4558 + "reference": "1bd5629cccfb2c0a9ef5474b4ff772349e1ec898",
4458 4559 "shasum": ""
4459 4560 },
4460 4561 "require": {
... ... @@ -4525,7 +4626,7 @@
4525 4626 "testing",
4526 4627 "xunit"
4527 4628 ],
4528   - "time": "2018-08-22T06:39:21+00:00"
  4629 + "time": "2018-09-01 15:49:55"
4529 4630 },
4530 4631 {
4531 4632 "name": "sebastian/code-unit-reverse-lookup",
... ... @@ -4570,7 +4671,7 @@
4570 4671 ],
4571 4672 "description": "Looks up which function or method a line of code belongs to",
4572 4673 "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
4573   - "time": "2017-03-04T06:30:41+00:00"
  4674 + "time": "2017-03-04 06:30:41"
4574 4675 },
4575 4676 {
4576 4677 "name": "sebastian/comparator",
... ... @@ -4634,7 +4735,7 @@
4634 4735 "compare",
4635 4736 "equality"
4636 4737 ],
4637   - "time": "2018-07-12T15:12:46+00:00"
  4738 + "time": "2018-07-12 15:12:46"
4638 4739 },
4639 4740 {
4640 4741 "name": "sebastian/diff",
... ... @@ -4690,7 +4791,7 @@
4690 4791 "unidiff",
4691 4792 "unified diff"
4692 4793 ],
4693   - "time": "2018-06-10T07:54:39+00:00"
  4794 + "time": "2018-06-10 07:54:39"
4694 4795 },
4695 4796 {
4696 4797 "name": "sebastian/environment",
... ... @@ -4740,7 +4841,7 @@
4740 4841 "environment",
4741 4842 "hhvm"
4742 4843 ],
4743   - "time": "2017-07-01T08:51:00+00:00"
  4844 + "time": "2017-07-01 08:51:00"
4744 4845 },
4745 4846 {
4746 4847 "name": "sebastian/exporter",
... ... @@ -4807,7 +4908,7 @@
4807 4908 "export",
4808 4909 "exporter"
4809 4910 ],
4810   - "time": "2017-04-03T13:19:02+00:00"
  4911 + "time": "2017-04-03 13:19:02"
4811 4912 },
4812 4913 {
4813 4914 "name": "sebastian/global-state",
... ... @@ -4858,7 +4959,7 @@
4858 4959 "keywords": [
4859 4960 "global state"
4860 4961 ],
4861   - "time": "2017-04-27T15:39:26+00:00"
  4962 + "time": "2017-04-27 15:39:26"
4862 4963 },
4863 4964 {
4864 4965 "name": "sebastian/object-enumerator",
... ... @@ -4905,7 +5006,7 @@
4905 5006 ],
4906 5007 "description": "Traverses array structures and object graphs to enumerate all referenced objects",
4907 5008 "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
4908   - "time": "2017-08-03T12:35:26+00:00"
  5009 + "time": "2017-08-03 12:35:26"
4909 5010 },
4910 5011 {
4911 5012 "name": "sebastian/object-reflector",
... ... @@ -4950,7 +5051,7 @@
4950 5051 ],
4951 5052 "description": "Allows reflection of object attributes, including inherited and non-public ones",
4952 5053 "homepage": "https://github.com/sebastianbergmann/object-reflector/",
4953   - "time": "2017-03-29T09:07:27+00:00"
  5054 + "time": "2017-03-29 09:07:27"
4954 5055 },
4955 5056 {
4956 5057 "name": "sebastian/recursion-context",
... ... @@ -5003,7 +5104,7 @@
5003 5104 ],
5004 5105 "description": "Provides functionality to recursively process PHP variables",
5005 5106 "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
5006   - "time": "2017-03-03T06:23:57+00:00"
  5107 + "time": "2017-03-03 06:23:57"
5007 5108 },
5008 5109 {
5009 5110 "name": "sebastian/resource-operations",
... ... @@ -5045,7 +5146,7 @@
5045 5146 ],
5046 5147 "description": "Provides a list of PHP built-in functions that operate on resources",
5047 5148 "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
5048   - "time": "2015-07-28T20:34:47+00:00"
  5149 + "time": "2015-07-28 20:34:47"
5049 5150 },
5050 5151 {
5051 5152 "name": "sebastian/version",
... ... @@ -5088,7 +5189,7 @@
5088 5189 ],
5089 5190 "description": "Library that helps with managing the version number of Git-hosted PHP projects",
5090 5191 "homepage": "https://github.com/sebastianbergmann/version",
5091   - "time": "2016-10-03T07:35:21+00:00"
  5192 + "time": "2016-10-03 07:35:21"
5092 5193 },
5093 5194 {
5094 5195 "name": "symfony/browser-kit",
... ... @@ -5145,7 +5246,7 @@
5145 5246 ],
5146 5247 "description": "Symfony BrowserKit Component",
5147 5248 "homepage": "https://symfony.com",
5148   - "time": "2018-07-26T09:10:45+00:00"
  5249 + "time": "2018-07-26 09:10:45"
5149 5250 },
5150 5251 {
5151 5252 "name": "symfony/console",
... ... @@ -5213,7 +5314,7 @@
5213 5314 ],
5214 5315 "description": "Symfony Console Component",
5215 5316 "homepage": "https://symfony.com",
5216   - "time": "2018-07-26T11:24:31+00:00"
  5317 + "time": "2018-07-26 11:24:31"
5217 5318 },
5218 5319 {
5219 5320 "name": "symfony/css-selector",
... ... @@ -5266,7 +5367,7 @@
5266 5367 ],
5267 5368 "description": "Symfony CssSelector Component",
5268 5369 "homepage": "https://symfony.com",
5269   - "time": "2018-07-26T09:10:45+00:00"
  5370 + "time": "2018-07-26 09:10:45"
5270 5371 },
5271 5372 {
5272 5373 "name": "symfony/dom-crawler",
... ... @@ -5323,7 +5424,7 @@
5323 5424 ],
5324 5425 "description": "Symfony DomCrawler Component",
5325 5426 "homepage": "https://symfony.com",
5326   - "time": "2018-07-26T11:00:49+00:00"
  5427 + "time": "2018-07-26 11:00:49"
5327 5428 },
5328 5429 {
5329 5430 "name": "symfony/event-dispatcher",
... ... @@ -5386,7 +5487,7 @@
5386 5487 ],
5387 5488 "description": "Symfony EventDispatcher Component",
5388 5489 "homepage": "https://symfony.com",
5389   - "time": "2018-07-26T09:10:45+00:00"
  5490 + "time": "2018-07-26 09:10:45"
5390 5491 },
5391 5492 {
5392 5493 "name": "symfony/finder",
... ... @@ -5435,7 +5536,7 @@
5435 5536 ],
5436 5537 "description": "Symfony Finder Component",
5437 5538 "homepage": "https://symfony.com",
5438   - "time": "2018-07-26T11:24:31+00:00"
  5539 + "time": "2018-07-26 11:24:31"
5439 5540 },
5440 5541 {
5441 5542 "name": "symfony/polyfill-ctype",
... ... @@ -5493,7 +5594,7 @@
5493 5594 "polyfill",
5494 5595 "portable"
5495 5596 ],
5496   - "time": "2018-08-06T14:22:27+00:00"
  5597 + "time": "2018-08-06 14:22:27"
5497 5598 },
5498 5599 {
5499 5600 "name": "symfony/polyfill-mbstring",
... ... @@ -5552,7 +5653,7 @@
5552 5653 "portable",
5553 5654 "shim"
5554 5655 ],
5555   - "time": "2018-08-06T14:22:27+00:00"
  5656 + "time": "2018-08-06 14:22:27"
5556 5657 },
5557 5658 {
5558 5659 "name": "symfony/yaml",
... ... @@ -5611,7 +5712,7 @@
5611 5712 ],
5612 5713 "description": "Symfony Yaml Component",
5613 5714 "homepage": "https://symfony.com",
5614   - "time": "2018-08-18T16:52:46+00:00"
  5715 + "time": "2018-08-18 16:52:46"
5615 5716 },
5616 5717 {
5617 5718 "name": "theseer/tokenizer",
... ... @@ -5651,7 +5752,7 @@
5651 5752 }
5652 5753 ],
5653 5754 "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
5654   - "time": "2017-04-07T12:08:54+00:00"
  5755 + "time": "2017-04-07 12:08:54"
5655 5756 },
5656 5757 {
5657 5758 "name": "webmozart/assert",
... ... @@ -5701,7 +5802,7 @@
5701 5802 "check",
5702 5803 "validate"
5703 5804 ],
5704   - "time": "2018-01-29T19:49:41+00:00"
  5805 + "time": "2018-01-29 19:49:41"
5705 5806 },
5706 5807 {
5707 5808 "name": "yiisoft/yii2-debug",
... ... @@ -5748,7 +5849,7 @@
5748 5849 "debugger",
5749 5850 "yii2"
5750 5851 ],
5751   - "time": "2017-12-05T07:36:23+00:00"
  5852 + "time": "2017-12-05 07:36:23"
5752 5853 },
5753 5854 {
5754 5855 "name": "yiisoft/yii2-faker",
... ... @@ -5795,7 +5896,7 @@
5795 5896 "faker",
5796 5897 "yii2"
5797 5898 ],
5798   - "time": "2018-02-19T20:27:10+00:00"
  5899 + "time": "2018-02-19 20:27:10"
5799 5900 },
5800 5901 {
5801 5902 "name": "yiisoft/yii2-gii",
... ... @@ -5848,7 +5949,7 @@
5848 5949 "gii",
5849 5950 "yii2"
5850 5951 ],
5851   - "time": "2018-05-02T22:05:25+00:00"
  5952 + "time": "2018-05-02 22:05:25"
5852 5953 }
5853 5954 ],
5854 5955 "aliases": [],
... ...
frontend/config/main.php
... ... @@ -13,7 +13,7 @@
13 13 'id' => 'app-frontend',
14 14 'homeUrl' => '/',
15 15 'basePath' => dirname(__DIR__),
16   - 'bootstrap' => [ 'log' ],
  16 + 'bootstrap' => [ 'log' ,'devicedetect'],
17 17 'controllerNamespace' => 'frontend\controllers',
18 18 'container' => [
19 19 'singletons' => [
... ... @@ -141,6 +141,10 @@
141 141 ],
142 142 ],
143 143 'components' => [
  144 +
  145 + 'devicedetect' => [
  146 + 'class' => 'alexandernst\devicedetect\DeviceDetect'
  147 + ],
144 148 'request' => [
145 149 'csrfParam' => '_csrf-frontend',
146 150 'baseUrl' => '',
... ...
frontend/views/layouts/main.php
... ... @@ -145,19 +145,26 @@ JS;
145 145 <?php foreach ($pageCategories as $category){?>
146 146 <li>
147 147 <?php
148   - if($category->id==4){
149   - echo Html::a(
150   - $category->language->title,
151   - '/pdf/Kyiv_-_EM_and_9th_Forum_-_OverviewHyper_MASTER_07-5_Clean.pdf',
152   - [ "target" => '_blank',]
153 148  
  149 + if($category->id==4){
  150 + ?>
154 151  
155   - );
  152 + <a href="/pdf/Kyiv_-_EM_and_9th_Forum_-_OverviewHyper_MASTER_07-5_Clean.pdf"
  153 + target="_blank"
  154 + <?php if(\Yii::$app->devicedetect->isMobile()){
  155 + ?>
  156 + download
  157 + <?php
  158 + } ?>
  159 + ><?=$category->language->title?></a>
  160 + <?php
156 161 }
157 162 else
158   - {
159   - echo Html::a($category->language->title,'#');
160   - }
  163 + {?>
  164 + <a href="#" target="_blank"><?=$category->language->title?></a>
  165 +
  166 + <?php
  167 + }
161 168 ?>
162 169  
163 170 <ul>
... ...