From b4b4472a2336a8fd2bd47b3ff9523560f84d85b8 Mon Sep 17 00:00:00 2001 From: Thibault GUILLAUME Date: Thu, 17 Sep 2015 12:57:44 +0200 Subject: [PATCH] putain de module de merde --- modules/dashactivity | 1 - modules/dashactivity/CHANGELOG.txt | 6 + modules/dashactivity/Readme.md | 37 + modules/dashactivity/config.xml | 12 + modules/dashactivity/config_fr.xml | 12 + modules/dashactivity/dashactivity.php | 530 ++++++++ modules/dashactivity/gapi-logo.gif | Bin 0 -> 946 bytes modules/dashactivity/index.php | 35 + modules/dashactivity/logo.gif | Bin 0 -> 1018 bytes modules/dashactivity/logo.png | Bin 0 -> 1759 bytes modules/dashactivity/translations/fr.php | 46 + modules/dashactivity/translations/index.php | 35 + modules/dashactivity/views/index.php | 35 + modules/dashactivity/views/js/dashactivity.js | 156 +++ modules/dashactivity/views/js/index.php | 35 + .../templates/hook/dashboard_zone_one.tpl | 176 +++ .../views/templates/hook/index.php | 35 + .../dashactivity/views/templates/index.php | 35 + modules/dashgoals | 1 - modules/dashgoals/CHANGELOG.txt | 8 + modules/dashgoals/Readme.md | 37 + modules/dashgoals/config.xml | 12 + modules/dashgoals/config_fr.xml | 12 + .../admin/AdminDashgoalsController.php | 48 + modules/dashgoals/controllers/admin/index.php | 35 + modules/dashgoals/dashgoals.php | 528 ++++++++ modules/dashgoals/index.php | 35 + modules/dashgoals/logo.gif | Bin 0 -> 1054 bytes modules/dashgoals/logo.png | Bin 0 -> 2025 bytes modules/dashgoals/translations/fr.php | 43 + modules/dashgoals/translations/index.php | 35 + modules/dashgoals/views/index.php | 35 + modules/dashgoals/views/js/dashgoals.js | 166 +++ modules/dashgoals/views/js/index.php | 35 + .../dashgoals/views/templates/hook/config.tpl | 74 ++ .../templates/hook/dashboard_zone_two.tpl | 74 ++ .../dashgoals/views/templates/hook/index.php | 35 + modules/dashgoals/views/templates/index.php | 35 + modules/dashproducts | 1 - modules/dashproducts/CHANGELOG.txt | 3 + modules/dashproducts/Readme.md | 37 + modules/dashproducts/config.xml | 12 + modules/dashproducts/config_fr.xml | 12 + modules/dashproducts/dashproducts.php | 586 +++++++++ modules/dashproducts/index.php | 35 + modules/dashproducts/logo.gif | Bin 0 -> 964 bytes modules/dashproducts/logo.png | Bin 0 -> 610 bytes modules/dashproducts/translations/fr.php | 49 + modules/dashproducts/translations/index.php | 35 + modules/dashproducts/views/index.php | 35 + .../templates/hook/dashboard_zone_two.tpl | 123 ++ .../views/templates/hook/index.php | 35 + .../dashproducts/views/templates/index.php | 35 + modules/dashtrends | 1 - modules/dashtrends/CHANGELOG.txt | 10 + modules/dashtrends/Readme.md | 37 + modules/dashtrends/config.xml | 12 + modules/dashtrends/config_fr.xml | 12 + modules/dashtrends/dashtrends.php | 338 ++++++ modules/dashtrends/index.php | 35 + modules/dashtrends/logo.gif | Bin 0 -> 973 bytes modules/dashtrends/logo.png | Bin 0 -> 1386 bytes modules/dashtrends/translations/fr.php | 33 + modules/dashtrends/translations/index.php | 35 + modules/dashtrends/views/index.php | 35 + modules/dashtrends/views/js/dashtrends.js | 85 ++ modules/dashtrends/views/js/index.php | 35 + .../templates/hook/dashboard_zone_two.tpl | 79 ++ .../dashtrends/views/templates/hook/index.php | 35 + modules/dashtrends/views/templates/index.php | 35 + modules/graphnvd3 | 1 - modules/graphnvd3/CHANGELOG.txt | 4 + modules/graphnvd3/Readme.md | 37 + modules/graphnvd3/config.xml | 12 + modules/graphnvd3/config_fr.xml | 12 + modules/graphnvd3/graphnvd3.php | 180 +++ modules/graphnvd3/index.php | 35 + modules/graphnvd3/logo.gif | Bin 0 -> 924 bytes modules/graphnvd3/logo.png | Bin 0 -> 629 bytes modules/graphnvd3/translations/fr.php | 9 + modules/gridhtml | 1 - modules/gridhtml/CHANGELOG.txt | 6 + modules/gridhtml/Readme.md | 37 + modules/gridhtml/config.xml | 12 + modules/gridhtml/config_fr.xml | 12 + modules/gridhtml/gridhtml.php | 183 +++ modules/gridhtml/index.php | 35 + modules/gridhtml/logo.gif | Bin 0 -> 998 bytes modules/gridhtml/logo.png | Bin 0 -> 855 bytes modules/gridhtml/translations/fr.php | 10 + modules/gridhtml/translations/index.php | 35 + modules/homefeatured | 1 - modules/homefeatured/CHANGELOG.txt | 4 + modules/homefeatured/Readme.md | 37 + modules/homefeatured/config.xml | 12 + modules/homefeatured/config_fr.xml | 12 + modules/homefeatured/css/homefeatured.css | 73 ++ modules/homefeatured/css/index.php | 35 + modules/homefeatured/homefeatured.php | 272 +++++ modules/homefeatured/img/arrow_right_1.png | Bin 0 -> 93 bytes modules/homefeatured/img/index.php | 35 + modules/homefeatured/index.php | 35 + modules/homefeatured/logo.gif | Bin 0 -> 597 bytes modules/homefeatured/logo.png | Bin 0 -> 1486 bytes modules/homefeatured/translations/fr.php | 33 + modules/homefeatured/translations/index.php | 35 + modules/homefeatured/upgrade/index.php | 35 + modules/homefeatured/upgrade/install-1.1.php | 9 + modules/homefeatured/upgrade/install-1.2.php | 9 + modules/homefeatured/upgrade/install-1.6.php | 9 + modules/homefeatured/views/index.php | 35 + .../views/templates/hook/homefeatured.tpl | 66 + .../views/templates/hook/index.php | 35 + .../homefeatured/views/templates/hook/tab.tpl | 25 + .../homefeatured/views/templates/index.php | 35 + modules/homeslider | 1 - modules/homeslider/HomeSlide.php | 151 +++ modules/homeslider/Readme.md | 37 + modules/homeslider/ajax_homeslider.php | 47 + modules/homeslider/config.xml | 12 + modules/homeslider/config_fr.xml | 12 + modules/homeslider/css/homeslider.css | 91 ++ modules/homeslider/css/index.php | 35 + modules/homeslider/homeslider.php | 1078 +++++++++++++++++ ...30fa323743162aca4deb4ede8eb36a_slider2.png | Bin 0 -> 344951 bytes ...cc18ece2117eaef7cfe6c2b1417042a_slider.png | Bin 0 -> 351892 bytes modules/homeslider/images/gray_next.png | Bin 0 -> 682 bytes modules/homeslider/images/gray_pager.png | Bin 0 -> 1425 bytes modules/homeslider/images/gray_prev.png | Bin 0 -> 657 bytes modules/homeslider/images/index.php | 35 + modules/homeslider/images/sample-1.jpg | Bin 0 -> 75494 bytes modules/homeslider/images/sample-2.jpg | Bin 0 -> 103484 bytes modules/homeslider/images/sample-3.jpg | Bin 0 -> 59244 bytes modules/homeslider/index.php | 35 + modules/homeslider/js/homeslider.js | 62 + modules/homeslider/js/index.php | 35 + .../homeslider/js/jquery.flexslider-min.js | 5 + modules/homeslider/logo.gif | Bin 0 -> 1139 bytes modules/homeslider/logo.png | Bin 0 -> 1209 bytes modules/homeslider/translations/fr.php | 64 + modules/homeslider/translations/index.php | 35 + modules/homeslider/upgrade/index.php | 35 + modules/homeslider/upgrade/install-1.2.1.php | 24 + modules/homeslider/upgrade/install-1.2.3.php | 9 + modules/homeslider/upgrade/install-1.3.2.php | 9 + modules/homeslider/upgrade/install-1.3.4.php | 9 + modules/homeslider/upgrade/install-1.3.7.php | 9 + modules/homeslider/upgrade/install-1.3.8.php | 42 + modules/homeslider/upgrade/install-1.5.0.php | 60 + modules/homeslider/views/index.php | 35 + .../admin/_configure/helpers/form/form.tpl | 81 ++ .../admin/_configure/helpers/form/index.php | 35 + .../admin/_configure/helpers/index.php | 35 + .../templates/admin/_configure/index.php | 35 + .../views/templates/admin/index.php | 35 + .../views/templates/hook/header.tpl | 8 + .../views/templates/hook/homeslider.tpl | 48 + .../homeslider/views/templates/hook/index.php | 35 + .../homeslider/views/templates/hook/list.tpl | 76 ++ modules/homeslider/views/templates/index.php | 35 + modules/pagesnotfound | 1 - modules/pagesnotfound/CHANGELOG.txt | 3 + modules/pagesnotfound/Readme.md | 37 + modules/pagesnotfound/comment.gif | Bin 0 -> 413 bytes modules/pagesnotfound/config.xml | 12 + modules/pagesnotfound/config_fr.xml | 12 + modules/pagesnotfound/index.php | 35 + modules/pagesnotfound/logo.gif | Bin 0 -> 898 bytes modules/pagesnotfound/logo.png | Bin 0 -> 1125 bytes modules/pagesnotfound/pagesnotfound.php | 218 ++++ modules/pagesnotfound/translations/fr.php | 26 + modules/pagesnotfound/translations/index.php | 35 + modules/productpaymentlogos | 1 - modules/productpaymentlogos/CHANGELOG.txt | 4 + modules/productpaymentlogos/Readme.md | 37 + modules/productpaymentlogos/config.xml | 12 + modules/productpaymentlogos/config_fr.xml | 12 + .../img/17fc454569a83223b99490afed0bd20d.png | Bin 0 -> 8088 bytes modules/productpaymentlogos/img/index.php | 35 + modules/productpaymentlogos/index.php | 35 + modules/productpaymentlogos/logo.gif | Bin 0 -> 280 bytes modules/productpaymentlogos/logo.png | Bin 0 -> 1940 bytes .../productpaymentlogos.php | 194 +++ .../productpaymentlogos/translations/fr.php | 19 + .../translations/index.php | 35 + modules/productpaymentlogos/views/index.php | 35 + .../views/templates/hook/index.php | 35 + .../templates/hook/productpaymentlogos.tpl | 34 + .../views/templates/index.php | 35 + modules/productscategory | 1 - modules/productscategory/CHANGELOG.txt | 4 + modules/productscategory/Readme.md | 37 + modules/productscategory/config.xml | 12 + modules/productscategory/config_fr.xml | 12 + modules/productscategory/css/index.php | 36 + .../productscategory/css/productscategory.css | 52 + modules/productscategory/img/index.php | 36 + modules/productscategory/img/thumbs_left.gif | Bin 0 -> 201 bytes modules/productscategory/img/thumbs_right.gif | Bin 0 -> 197 bytes modules/productscategory/index.php | 36 + modules/productscategory/js/index.php | 36 + .../productscategory/js/productscategory.js | 54 + modules/productscategory/logo.gif | Bin 0 -> 1071 bytes modules/productscategory/logo.png | Bin 0 -> 515 bytes modules/productscategory/productscategory.php | 317 +++++ modules/productscategory/translations/fr.php | 22 + .../productscategory/translations/index.php | 35 + modules/productscategory/upgrade/index.php | 36 + .../productscategory/upgrade/install-1.4.php | 33 + .../productscategory/upgrade/install-1.5.php | 35 + modules/productscategory/views/index.php | 36 + .../views/templates/hook/index.php | 36 + .../views/templates/hook/productscategory.tpl | 62 + .../views/templates/index.php | 36 + modules/producttooltip | 1 - modules/producttooltip/CHANGELOG.txt | 3 + modules/producttooltip/Readme.md | 37 + modules/producttooltip/config.xml | 12 + modules/producttooltip/config_fr.xml | 12 + modules/producttooltip/index.php | 36 + modules/producttooltip/logo.gif | Bin 0 -> 359 bytes modules/producttooltip/logo.png | Bin 0 -> 1053 bytes modules/producttooltip/producttooltip.php | 283 +++++ modules/producttooltip/sample.gif | Bin 0 -> 30852 bytes modules/producttooltip/translations/fr.php | 32 + modules/producttooltip/translations/index.php | 35 + modules/producttooltip/views/index.php | 36 + .../views/templates/hook/index.php | 36 + .../views/templates/hook/producttooltip.tpl | 40 + .../producttooltip/views/templates/index.php | 36 + modules/sekeywords | 1 - modules/sekeywords/CHANGELOG.txt | 3 + modules/sekeywords/Readme.md | 37 + modules/sekeywords/config.xml | 12 + modules/sekeywords/config_fr.xml | 12 + modules/sekeywords/index.php | 36 + modules/sekeywords/logo.gif | Bin 0 -> 1013 bytes modules/sekeywords/logo.png | Bin 0 -> 2036 bytes modules/sekeywords/sekeywords.php | 240 ++++ modules/sekeywords/translations/fr.php | 29 + modules/sekeywords/translations/index.php | 35 + 241 files changed, 10959 insertions(+), 13 deletions(-) delete mode 160000 modules/dashactivity create mode 100644 modules/dashactivity/CHANGELOG.txt create mode 100644 modules/dashactivity/Readme.md create mode 100644 modules/dashactivity/config.xml create mode 100644 modules/dashactivity/config_fr.xml create mode 100644 modules/dashactivity/dashactivity.php create mode 100644 modules/dashactivity/gapi-logo.gif create mode 100644 modules/dashactivity/index.php create mode 100644 modules/dashactivity/logo.gif create mode 100644 modules/dashactivity/logo.png create mode 100644 modules/dashactivity/translations/fr.php create mode 100644 modules/dashactivity/translations/index.php create mode 100644 modules/dashactivity/views/index.php create mode 100644 modules/dashactivity/views/js/dashactivity.js create mode 100644 modules/dashactivity/views/js/index.php create mode 100644 modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl create mode 100644 modules/dashactivity/views/templates/hook/index.php create mode 100644 modules/dashactivity/views/templates/index.php delete mode 160000 modules/dashgoals create mode 100644 modules/dashgoals/CHANGELOG.txt create mode 100644 modules/dashgoals/Readme.md create mode 100644 modules/dashgoals/config.xml create mode 100644 modules/dashgoals/config_fr.xml create mode 100644 modules/dashgoals/controllers/admin/AdminDashgoalsController.php create mode 100644 modules/dashgoals/controllers/admin/index.php create mode 100644 modules/dashgoals/dashgoals.php create mode 100644 modules/dashgoals/index.php create mode 100644 modules/dashgoals/logo.gif create mode 100644 modules/dashgoals/logo.png create mode 100644 modules/dashgoals/translations/fr.php create mode 100644 modules/dashgoals/translations/index.php create mode 100644 modules/dashgoals/views/index.php create mode 100644 modules/dashgoals/views/js/dashgoals.js create mode 100644 modules/dashgoals/views/js/index.php create mode 100644 modules/dashgoals/views/templates/hook/config.tpl create mode 100644 modules/dashgoals/views/templates/hook/dashboard_zone_two.tpl create mode 100644 modules/dashgoals/views/templates/hook/index.php create mode 100644 modules/dashgoals/views/templates/index.php delete mode 160000 modules/dashproducts create mode 100644 modules/dashproducts/CHANGELOG.txt create mode 100644 modules/dashproducts/Readme.md create mode 100644 modules/dashproducts/config.xml create mode 100644 modules/dashproducts/config_fr.xml create mode 100644 modules/dashproducts/dashproducts.php create mode 100644 modules/dashproducts/index.php create mode 100644 modules/dashproducts/logo.gif create mode 100644 modules/dashproducts/logo.png create mode 100644 modules/dashproducts/translations/fr.php create mode 100644 modules/dashproducts/translations/index.php create mode 100644 modules/dashproducts/views/index.php create mode 100644 modules/dashproducts/views/templates/hook/dashboard_zone_two.tpl create mode 100644 modules/dashproducts/views/templates/hook/index.php create mode 100644 modules/dashproducts/views/templates/index.php delete mode 160000 modules/dashtrends create mode 100644 modules/dashtrends/CHANGELOG.txt create mode 100644 modules/dashtrends/Readme.md create mode 100644 modules/dashtrends/config.xml create mode 100644 modules/dashtrends/config_fr.xml create mode 100644 modules/dashtrends/dashtrends.php create mode 100644 modules/dashtrends/index.php create mode 100644 modules/dashtrends/logo.gif create mode 100644 modules/dashtrends/logo.png create mode 100644 modules/dashtrends/translations/fr.php create mode 100644 modules/dashtrends/translations/index.php create mode 100644 modules/dashtrends/views/index.php create mode 100644 modules/dashtrends/views/js/dashtrends.js create mode 100644 modules/dashtrends/views/js/index.php create mode 100644 modules/dashtrends/views/templates/hook/dashboard_zone_two.tpl create mode 100644 modules/dashtrends/views/templates/hook/index.php create mode 100644 modules/dashtrends/views/templates/index.php delete mode 160000 modules/graphnvd3 create mode 100644 modules/graphnvd3/CHANGELOG.txt create mode 100644 modules/graphnvd3/Readme.md create mode 100644 modules/graphnvd3/config.xml create mode 100644 modules/graphnvd3/config_fr.xml create mode 100644 modules/graphnvd3/graphnvd3.php create mode 100644 modules/graphnvd3/index.php create mode 100644 modules/graphnvd3/logo.gif create mode 100644 modules/graphnvd3/logo.png create mode 100644 modules/graphnvd3/translations/fr.php delete mode 160000 modules/gridhtml create mode 100644 modules/gridhtml/CHANGELOG.txt create mode 100644 modules/gridhtml/Readme.md create mode 100644 modules/gridhtml/config.xml create mode 100644 modules/gridhtml/config_fr.xml create mode 100644 modules/gridhtml/gridhtml.php create mode 100644 modules/gridhtml/index.php create mode 100644 modules/gridhtml/logo.gif create mode 100644 modules/gridhtml/logo.png create mode 100644 modules/gridhtml/translations/fr.php create mode 100644 modules/gridhtml/translations/index.php delete mode 160000 modules/homefeatured create mode 100644 modules/homefeatured/CHANGELOG.txt create mode 100644 modules/homefeatured/Readme.md create mode 100644 modules/homefeatured/config.xml create mode 100644 modules/homefeatured/config_fr.xml create mode 100644 modules/homefeatured/css/homefeatured.css create mode 100644 modules/homefeatured/css/index.php create mode 100644 modules/homefeatured/homefeatured.php create mode 100644 modules/homefeatured/img/arrow_right_1.png create mode 100644 modules/homefeatured/img/index.php create mode 100644 modules/homefeatured/index.php create mode 100644 modules/homefeatured/logo.gif create mode 100644 modules/homefeatured/logo.png create mode 100644 modules/homefeatured/translations/fr.php create mode 100644 modules/homefeatured/translations/index.php create mode 100644 modules/homefeatured/upgrade/index.php create mode 100644 modules/homefeatured/upgrade/install-1.1.php create mode 100644 modules/homefeatured/upgrade/install-1.2.php create mode 100644 modules/homefeatured/upgrade/install-1.6.php create mode 100644 modules/homefeatured/views/index.php create mode 100644 modules/homefeatured/views/templates/hook/homefeatured.tpl create mode 100644 modules/homefeatured/views/templates/hook/index.php create mode 100644 modules/homefeatured/views/templates/hook/tab.tpl create mode 100644 modules/homefeatured/views/templates/index.php delete mode 160000 modules/homeslider create mode 100644 modules/homeslider/HomeSlide.php create mode 100644 modules/homeslider/Readme.md create mode 100644 modules/homeslider/ajax_homeslider.php create mode 100644 modules/homeslider/config.xml create mode 100644 modules/homeslider/config_fr.xml create mode 100644 modules/homeslider/css/homeslider.css create mode 100644 modules/homeslider/css/index.php create mode 100644 modules/homeslider/homeslider.php create mode 100644 modules/homeslider/images/1859944e6530fa323743162aca4deb4ede8eb36a_slider2.png create mode 100644 modules/homeslider/images/3481f960bcc18ece2117eaef7cfe6c2b1417042a_slider.png create mode 100644 modules/homeslider/images/gray_next.png create mode 100644 modules/homeslider/images/gray_pager.png create mode 100644 modules/homeslider/images/gray_prev.png create mode 100644 modules/homeslider/images/index.php create mode 100644 modules/homeslider/images/sample-1.jpg create mode 100644 modules/homeslider/images/sample-2.jpg create mode 100644 modules/homeslider/images/sample-3.jpg create mode 100644 modules/homeslider/index.php create mode 100644 modules/homeslider/js/homeslider.js create mode 100644 modules/homeslider/js/index.php create mode 100644 modules/homeslider/js/jquery.flexslider-min.js create mode 100644 modules/homeslider/logo.gif create mode 100644 modules/homeslider/logo.png create mode 100644 modules/homeslider/translations/fr.php create mode 100644 modules/homeslider/translations/index.php create mode 100644 modules/homeslider/upgrade/index.php create mode 100644 modules/homeslider/upgrade/install-1.2.1.php create mode 100644 modules/homeslider/upgrade/install-1.2.3.php create mode 100644 modules/homeslider/upgrade/install-1.3.2.php create mode 100644 modules/homeslider/upgrade/install-1.3.4.php create mode 100644 modules/homeslider/upgrade/install-1.3.7.php create mode 100644 modules/homeslider/upgrade/install-1.3.8.php create mode 100644 modules/homeslider/upgrade/install-1.5.0.php create mode 100644 modules/homeslider/views/index.php create mode 100644 modules/homeslider/views/templates/admin/_configure/helpers/form/form.tpl create mode 100644 modules/homeslider/views/templates/admin/_configure/helpers/form/index.php create mode 100644 modules/homeslider/views/templates/admin/_configure/helpers/index.php create mode 100644 modules/homeslider/views/templates/admin/_configure/index.php create mode 100644 modules/homeslider/views/templates/admin/index.php create mode 100644 modules/homeslider/views/templates/hook/header.tpl create mode 100644 modules/homeslider/views/templates/hook/homeslider.tpl create mode 100644 modules/homeslider/views/templates/hook/index.php create mode 100644 modules/homeslider/views/templates/hook/list.tpl create mode 100644 modules/homeslider/views/templates/index.php delete mode 160000 modules/pagesnotfound create mode 100644 modules/pagesnotfound/CHANGELOG.txt create mode 100644 modules/pagesnotfound/Readme.md create mode 100644 modules/pagesnotfound/comment.gif create mode 100644 modules/pagesnotfound/config.xml create mode 100644 modules/pagesnotfound/config_fr.xml create mode 100644 modules/pagesnotfound/index.php create mode 100644 modules/pagesnotfound/logo.gif create mode 100644 modules/pagesnotfound/logo.png create mode 100644 modules/pagesnotfound/pagesnotfound.php create mode 100644 modules/pagesnotfound/translations/fr.php create mode 100644 modules/pagesnotfound/translations/index.php delete mode 160000 modules/productpaymentlogos create mode 100644 modules/productpaymentlogos/CHANGELOG.txt create mode 100644 modules/productpaymentlogos/Readme.md create mode 100644 modules/productpaymentlogos/config.xml create mode 100644 modules/productpaymentlogos/config_fr.xml create mode 100644 modules/productpaymentlogos/img/17fc454569a83223b99490afed0bd20d.png create mode 100644 modules/productpaymentlogos/img/index.php create mode 100644 modules/productpaymentlogos/index.php create mode 100644 modules/productpaymentlogos/logo.gif create mode 100644 modules/productpaymentlogos/logo.png create mode 100644 modules/productpaymentlogos/productpaymentlogos.php create mode 100644 modules/productpaymentlogos/translations/fr.php create mode 100644 modules/productpaymentlogos/translations/index.php create mode 100644 modules/productpaymentlogos/views/index.php create mode 100644 modules/productpaymentlogos/views/templates/hook/index.php create mode 100644 modules/productpaymentlogos/views/templates/hook/productpaymentlogos.tpl create mode 100644 modules/productpaymentlogos/views/templates/index.php delete mode 160000 modules/productscategory create mode 100644 modules/productscategory/CHANGELOG.txt create mode 100644 modules/productscategory/Readme.md create mode 100644 modules/productscategory/config.xml create mode 100644 modules/productscategory/config_fr.xml create mode 100644 modules/productscategory/css/index.php create mode 100644 modules/productscategory/css/productscategory.css create mode 100644 modules/productscategory/img/index.php create mode 100644 modules/productscategory/img/thumbs_left.gif create mode 100644 modules/productscategory/img/thumbs_right.gif create mode 100644 modules/productscategory/index.php create mode 100644 modules/productscategory/js/index.php create mode 100644 modules/productscategory/js/productscategory.js create mode 100644 modules/productscategory/logo.gif create mode 100644 modules/productscategory/logo.png create mode 100644 modules/productscategory/productscategory.php create mode 100644 modules/productscategory/translations/fr.php create mode 100644 modules/productscategory/translations/index.php create mode 100644 modules/productscategory/upgrade/index.php create mode 100644 modules/productscategory/upgrade/install-1.4.php create mode 100644 modules/productscategory/upgrade/install-1.5.php create mode 100644 modules/productscategory/views/index.php create mode 100644 modules/productscategory/views/templates/hook/index.php create mode 100644 modules/productscategory/views/templates/hook/productscategory.tpl create mode 100644 modules/productscategory/views/templates/index.php delete mode 160000 modules/producttooltip create mode 100644 modules/producttooltip/CHANGELOG.txt create mode 100644 modules/producttooltip/Readme.md create mode 100644 modules/producttooltip/config.xml create mode 100644 modules/producttooltip/config_fr.xml create mode 100644 modules/producttooltip/index.php create mode 100644 modules/producttooltip/logo.gif create mode 100644 modules/producttooltip/logo.png create mode 100644 modules/producttooltip/producttooltip.php create mode 100644 modules/producttooltip/sample.gif create mode 100644 modules/producttooltip/translations/fr.php create mode 100644 modules/producttooltip/translations/index.php create mode 100644 modules/producttooltip/views/index.php create mode 100644 modules/producttooltip/views/templates/hook/index.php create mode 100644 modules/producttooltip/views/templates/hook/producttooltip.tpl create mode 100644 modules/producttooltip/views/templates/index.php delete mode 160000 modules/sekeywords create mode 100644 modules/sekeywords/CHANGELOG.txt create mode 100644 modules/sekeywords/Readme.md create mode 100644 modules/sekeywords/config.xml create mode 100644 modules/sekeywords/config_fr.xml create mode 100644 modules/sekeywords/index.php create mode 100644 modules/sekeywords/logo.gif create mode 100644 modules/sekeywords/logo.png create mode 100644 modules/sekeywords/sekeywords.php create mode 100644 modules/sekeywords/translations/fr.php create mode 100644 modules/sekeywords/translations/index.php diff --git a/modules/dashactivity b/modules/dashactivity deleted file mode 160000 index df8eefd8..00000000 --- a/modules/dashactivity +++ /dev/null @@ -1 +0,0 @@ -Subproject commit df8eefd8a7289658acbb2171d08853ccf5158ed6 diff --git a/modules/dashactivity/CHANGELOG.txt b/modules/dashactivity/CHANGELOG.txt new file mode 100644 index 00000000..d04c1aae --- /dev/null +++ b/modules/dashactivity/CHANGELOG.txt @@ -0,0 +1,6 @@ +2014-04-22 18:58:15 +0200 // Changelog updated +2014-04-16 14:41:07 +0200 // Add link for Total Subscriber +2014-04-14 15:17:25 +0200 [-] MO : Dashactivity - Improvement #PSCSX-582 +2014-04-07 14:20:47 +0200 [-] MO : dashactivity - FixBug #PSCSX-1467 online user +2014-03-24 15:21:03 +0100 / MO dashactivity : ps_versions_compliancy added +2014-03-20 14:32:23 +0100 Initial commit diff --git a/modules/dashactivity/Readme.md b/modules/dashactivity/Readme.md new file mode 100644 index 00000000..02845584 --- /dev/null +++ b/modules/dashactivity/Readme.md @@ -0,0 +1,37 @@ +# + +## About + + + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the dashactivity project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/dashactivity/config.xml b/modules/dashactivity/config.xml new file mode 100644 index 00000000..0249ec3c --- /dev/null +++ b/modules/dashactivity/config.xml @@ -0,0 +1,12 @@ + + + dashactivity + + + + + + 0 + 1 + + \ No newline at end of file diff --git a/modules/dashactivity/config_fr.xml b/modules/dashactivity/config_fr.xml new file mode 100644 index 00000000..91d02c29 --- /dev/null +++ b/modules/dashactivity/config_fr.xml @@ -0,0 +1,12 @@ + + + dashactivity + + + + + + 0 + 1 + + \ No newline at end of file diff --git a/modules/dashactivity/dashactivity.php b/modules/dashactivity/dashactivity.php new file mode 100644 index 00000000..477b4e86 --- /dev/null +++ b/modules/dashactivity/dashactivity.php @@ -0,0 +1,530 @@ + + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +if (!defined('_PS_VERSION_')) + exit; + +class Dashactivity extends Module +{ + protected static $colors = array('#1F77B4', '#FF7F0E', '#2CA02C'); + + public function __construct() + { + $this->name = 'dashactivity'; + $this->tab = 'dashboard'; + $this->version = '0.4.7'; + $this->author = 'PrestaShop'; + $this->push_filename = _PS_CACHE_DIR_.'push/activity'; + $this->allow_push = true; + $this->push_time_limit = 180; + + parent::__construct(); + $this->displayName = $this->l('Dashboard Activity'); + $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); + } + + public function install() + { + Configuration::updateValue('DASHACTIVITY_CART_ACTIVE', 30); + Configuration::updateValue('DASHACTIVITY_CART_ABANDONED_MIN', 24); + Configuration::updateValue('DASHACTIVITY_CART_ABANDONED_MAX', 48); + Configuration::updateValue('DASHACTIVITY_VISITOR_ONLINE', 30); + + return (parent::install() + && $this->registerHook('dashboardZoneOne') + && $this->registerHook('dashboardData') + && $this->registerHook('actionObjectOrderAddAfter') + && $this->registerHook('actionObjectCustomerAddAfter') + && $this->registerHook('actionObjectCustomerMessageAddAfter') + && $this->registerHook('actionObjectCustomerThreadAddAfter') + && $this->registerHook('actionObjectOrderReturnAddAfter') + && $this->registerHook('actionAdminControllerSetMedia') + ); + } + + public function hookActionAdminControllerSetMedia() + { + if (get_class($this->context->controller) == 'AdminDashboardController') + { + if (method_exists($this->context->controller, 'addJquery')) + $this->context->controller->addJquery(); + + $this->context->controller->addJs($this->_path.'views/js/'.$this->name.'.js'); + $this->context->controller->addJs( + array( + _PS_JS_DIR_.'date.js', + _PS_JS_DIR_.'tools.js' + ) // retro compat themes 1.5 + ); + } + } + + public function hookDashboardZoneOne($params) + { + $gapi_mode = 'configure'; + if (!Module::isInstalled('gapi')) + $gapi_mode = 'install'; + elseif (($gapi = Module::getInstanceByName('gapi')) && Validate::isLoadedObject($gapi) && $gapi->isConfigured()) + $gapi_mode = false; + + $this->context->smarty->assign($this->getConfigFieldsValues()); + $this->context->smarty->assign( + array( + 'gapi_mode' => $gapi_mode, + 'dashactivity_config_form' => $this->renderConfigForm(), + 'date_subtitle' => $this->l('(from %s to %s)'), + 'date_format' => $this->context->language->date_format_lite, + 'link' => $this->context->link + ) + ); + + return $this->display(__FILE__, 'dashboard_zone_one.tpl'); + } + + public function hookDashboardData($params) + { + if (Tools::strlen($params['date_from']) == 10) + $params['date_from'] .= ' 00:00:00'; + if (Tools::strlen($params['date_to']) == 10) + $params['date_to'] .= ' 23:59:59'; + + if (Configuration::get('PS_DASHBOARD_SIMULATION')) + { + $days = (strtotime($params['date_to']) - strtotime($params['date_from'])) / 3600 / 24; + $online_visitor = rand(10, 50); + $visits = rand(200, 2000) * $days; + + return array( + 'data_value' => array( + 'pending_orders' => round(rand(0, 5)), + 'return_exchanges' => round(rand(0, 5)), + 'abandoned_cart' => round(rand(5, 50)), + 'products_out_of_stock' => round(rand(1, 10)), + 'new_messages' => round(rand(1, 10) * $days), + 'product_reviews' => round(rand(5, 50) * $days), + 'new_customers' => round(rand(1, 5) * $days), + 'online_visitor' => round($online_visitor), + 'active_shopping_cart' => round($online_visitor / 10), + 'new_registrations' => round(rand(1, 5) * $days), + 'total_suscribers' => round(rand(200, 2000)), + 'visits' => round($visits), + 'unique_visitors' => round($visits * 0.6), + ), + 'data_trends' => array( + 'orders_trends' => array('way' => 'down', 'value' => 0.42), + ), + 'data_list_small' => array( + 'dash_traffic_source' => array( + ' prestashop.com' => round($visits / 2), + ' google.com' => round($visits / 3), + ' Direct Traffic' => round($visits / 4) + ) + ), + 'data_chart' => array( + 'dash_trends_chart1' => array( + 'chart_type' => 'pie_chart_trends', + 'data' => array( + array('key' => 'prestashop.com', 'y' => round($visits / 2), 'color' => self::$colors[0]), + array('key' => 'google.com', 'y' => round($visits / 3), 'color' => self::$colors[1]), + array('key' => 'Direct Traffic', 'y' => round($visits / 4), 'color' => self::$colors[2]) + ) + ) + ) + ); + } + + $gapi = Module::isInstalled('gapi') ? Module::getInstanceByName('gapi') : false; + if (Validate::isLoadedObject($gapi) && $gapi->isConfigured()) + { + $visits = $unique_visitors = $online_visitor = 0; + if ($result = $gapi->requestReportData('', 'ga:visits,ga:visitors', Tools::substr($params['date_from'], 0, 10), Tools::substr($params['date_to'], 0, 10), null, null, 1, 1)) + { + $visits = $result[0]['metrics']['visits']; + $unique_visitors = $result[0]['metrics']['visitors']; + } + } + else + { + $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' + SELECT COUNT(*) as visits, COUNT(DISTINCT `id_guest`) as unique_visitors + FROM `'._DB_PREFIX_.'connections` + WHERE `date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" + '.Shop::addSqlRestriction(false) + ); + extract($row); + } + + // Online visitors is only available with Analytics Real Time still in private beta at this time (October 18th, 2013). + // if ($result = $gapi->requestReportData('', 'ga:activeVisitors', null, null, null, null, 1, 1)) + // $online_visitor = $result[0]['metrics']['activeVisitors']; + if ($maintenance_ips = Configuration::get('PS_MAINTENANCE_IP')) + $maintenance_ips = implode(',', array_map('ip2long', array_map('trim', explode(',', $maintenance_ips)))); + if (Configuration::get('PS_STATSDATA_CUSTOMER_PAGESVIEWS')) + { + $sql = 'SELECT c.id_guest, c.ip_address, c.date_add, c.http_referer, pt.name as page + FROM `'._DB_PREFIX_.'connections` c + LEFT JOIN `'._DB_PREFIX_.'connections_page` cp ON c.id_connections = cp.id_connections + LEFT JOIN `'._DB_PREFIX_.'page` p ON p.id_page = cp.id_page + LEFT JOIN `'._DB_PREFIX_.'page_type` pt ON p.id_page_type = pt.id_page_type + INNER JOIN `'._DB_PREFIX_.'guest` g ON c.id_guest = g.id_guest + WHERE (g.id_customer IS NULL OR g.id_customer = 0) + '.Shop::addSqlRestriction(false, 'c').' + AND cp.`time_end` IS NULL + AND TIME_TO_SEC(TIMEDIFF(\''.pSQL(date('Y-m-d H:i:00', time())).'\', cp.`time_start`)) < 900 + '.($maintenance_ips ? 'AND c.ip_address NOT IN ('.preg_replace('/[^,0-9]/', '', $maintenance_ips).')' : '').' + GROUP BY c.id_connections + ORDER BY c.date_add DESC'; + } + else + { + $sql = 'SELECT c.id_guest, c.ip_address, c.date_add, c.http_referer, "-" as page + FROM `'._DB_PREFIX_.'connections` c + INNER JOIN `'._DB_PREFIX_.'guest` g ON c.id_guest = g.id_guest + WHERE (g.id_customer IS NULL OR g.id_customer = 0) + '.Shop::addSqlRestriction(false, 'c').' + AND TIME_TO_SEC(TIMEDIFF(\''.pSQL(date('Y-m-d H:i:00', time())).'\', c.`date_add`)) < 900 + '.($maintenance_ips ? 'AND c.ip_address NOT IN ('.preg_replace('/[^,0-9]/', '', $maintenance_ips).')' : '').' + ORDER BY c.date_add DESC'; + } + Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); + $online_visitor = Db::getInstance()->NumRows(); + + $pending_orders = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'orders` o + LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (o.current_state = os.id_order_state) + WHERE os.paid = 1 AND os.shipped = 0 + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + + $abandoned_cart = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'cart` + WHERE `date_upd` BETWEEN "'.pSQL(date('Y-m-d H:i:s', strtotime('-'.(int)Configuration::get('DASHACTIVITY_CART_ABANDONED_MAX').' MIN'))).'" AND "'.pSQL(date('Y-m-d H:i:s', strtotime('-'.(int)Configuration::get('DASHACTIVITY_CART_ABANDONED_MIN').' MIN'))).'" + AND id_cart NOT IN (SELECT id_cart FROM `'._DB_PREFIX_.'orders`) + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + + $return_exchanges = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'orders` o + LEFT JOIN `'._DB_PREFIX_.'order_return` or2 ON o.id_order = or2.id_order + WHERE or2.`date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" + '.Shop::addSqlRestriction(Shop::SHARE_ORDER, 'o') + ); + + $products_out_of_stock = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT SUM(IF(IFNULL(stock.quantity, 0) > 0, 0, 1)) + FROM `'._DB_PREFIX_.'product` p + '.Shop::addSqlAssociation('product', 'p').' + LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON p.id_product = pa.id_product + '.Product::sqlStock('p', 'pa').' + WHERE p.active = 1' + ); + + $new_messages = AdminStatsController::getPendingMessages(); + + $active_shopping_cart = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'cart` + WHERE date_upd > "'.pSQL(date('Y-m-d H:i:s', strtotime('-'.(int)Configuration::get('DASHACTIVITY_CART_ACTIVE').' MIN'))).'" + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + + $new_customers = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'customer` + WHERE `date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + + $new_registrations = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'customer` + WHERE `newsletter_date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" + AND newsletter = 1 + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + $total_suscribers = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'customer` + WHERE newsletter = 1 + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + if (Module::isInstalled('blocknewsletter')) + { + $new_registrations += Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'newsletter` + WHERE active = 1 + AND `newsletter_date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + $total_suscribers += Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue( + ' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'newsletter` + WHERE active = 1 + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + } + + $product_reviews = 0; + if (Module::isInstalled('productcomments')) + { + $product_reviews += Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT COUNT(*) + FROM `'._DB_PREFIX_.'product_comment` pc + LEFT JOIN `'._DB_PREFIX_.'product` p ON (pc.id_product = p.id_product) + '.Shop::addSqlAssociation('product', 'p').' + WHERE pc.deleted = 0 + AND pc.`date_add` BETWEEN "'.pSQL($params['date_from']).'" AND "'.pSQL($params['date_to']).'" + '.Shop::addSqlRestriction(Shop::SHARE_ORDER) + ); + } + + return array( + 'data_value' => array( + 'pending_orders' => (int)$pending_orders, + 'return_exchanges' => (int)$return_exchanges, + 'abandoned_cart' => (int)$abandoned_cart, + 'products_out_of_stock' => (int)$products_out_of_stock, + 'new_messages' => (int)$new_messages, + 'product_reviews' => (int)$product_reviews, + 'new_customers' => (int)$new_customers, + 'online_visitor' => (int)$online_visitor, + 'active_shopping_cart' => (int)$active_shopping_cart, + 'new_registrations' => (int)$new_registrations, + 'total_suscribers' => (int)$total_suscribers, + 'visits' => (int)$visits, + 'unique_visitors' => (int)$unique_visitors, + ), + 'data_trends' => array( + 'orders_trends' => array('way' => 'down', 'value' => 0.42), + ), + 'data_list_small' => array( + 'dash_traffic_source' => $this->getTrafficSources($params['date_from'], $params['date_to']), + ), + 'data_chart' => array( + 'dash_trends_chart1' => $this->getChartTrafficSource($params['date_from'], $params['date_to']), + ), + ); + } + + protected function getChartTrafficSource($date_from, $date_to) + { + $referers = $this->getReferer($date_from, $date_to); + $return = array('chart_type' => 'pie_chart_trends', 'data' => array()); + $i = 0; + foreach ($referers as $referer_name => $n) + $return['data'][] = array('key' => $referer_name, 'y' => $n, 'color' => self::$colors[$i++]); + + return $return; + } + + protected function getTrafficSources($date_from, $date_to) + { + $referrers = $this->getReferer($date_from, $date_to, 3); + $traffic_sources = array(); + $i = 0; + foreach ($referrers as $referrer_name => $n) + $traffic_sources[' '.$referrer_name] = $n; + + return $traffic_sources; + } + + protected function getReferer($date_from, $date_to, $limit = 3) + { + $gapi = Module::isInstalled('gapi') ? Module::getInstanceByName('gapi') : false; + if (Validate::isLoadedObject($gapi) && $gapi->isConfigured()) + { + $websites = array(); + if ($result = $gapi->requestReportData( + 'ga:source', + 'ga:visitors', + Tools::substr($date_from, 0, 10), + Tools::substr($date_to, 0, 10), + '-ga:visitors', + null, + 1, + $limit + )) + foreach ($result as $row) + $websites[$row['dimensions']['source']] = $row['metrics']['visitors']; + } + else + { + $direct_link = $this->l('Direct link'); + $websites = array($direct_link => 0); + + $result = Db::getInstance()->ExecuteS(' + SELECT http_referer + FROM '._DB_PREFIX_.'connections + WHERE date_add BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'" + '.Shop::addSqlRestriction().' + LIMIT '.(int)$limit + ); + foreach ($result as $row) + { + if (!isset($row['http_referer']) || empty($row['http_referer'])) + ++$websites[$direct_link]; + else + { + $website = preg_replace('/^www./', '', parse_url($row['http_referer'], PHP_URL_HOST)); + if (!isset($websites[$website])) + $websites[$website] = 1; + else + ++$websites[$website]; + } + } + arsort($websites); + } + + return $websites; + } + + public function renderConfigForm() + { + $fields_form = array( + 'form' => array( + 'id_form' => 'step_carrier_general', + 'input' => array(), + 'submit' => array( + 'title' => $this->l('Save'), + 'class' => 'btn btn-default pull-right submit_dash_config', + 'reset' => array( + 'title' => $this->l('Cancel'), + 'class' => 'btn btn-default cancel_dash_config', + ) + ) + ), + ); + + $fields_form['form']['input'][] = array( + 'label' => $this->l('Active cart'), + 'hint' => $this->l('How long (in minutes) a cart is to be considered as active after the last recorded change (default: 30 min).'), + 'name' => 'DASHACTIVITY_CART_ACTIVE', + 'type' => 'select', + 'options' => array( + 'query' => array( + array('id' => 15, 'name' => 15), + array('id' => 30, 'name' => 30), + array('id' => 45, 'name' => 45), + array('id' => 60, 'name' => 60), + array('id' => 90, 'name' => 90), + array('id' => 120, 'name' => 120), + ), + 'id' => 'id', + 'name' => 'name', + ), + ); + $fields_form['form']['input'][] = array( + 'label' => $this->l('Online visitor'), + 'hint' => $this->l('How long (in minutes) a visitor is to be considered as online after their last action (default: 30 min).'), + 'name' => 'DASHACTIVITY_VISITOR_ONLINE', + 'type' => 'select', + 'options' => array( + 'query' => array( + array('id' => 15, 'name' => 15), + array('id' => 30, 'name' => 30), + array('id' => 45, 'name' => 45), + array('id' => 60, 'name' => 60), + array('id' => 90, 'name' => 90), + array('id' => 120, 'name' => 120), + ), + 'id' => 'id', + 'name' => 'name', + ), + ); + $fields_form['form']['input'][] = array( + 'label' => $this->l('Abandoned cart (min)'), + 'hint' => $this->l('How long (in hours) after the last action a cart is to be considered as abandoned (default: 24 hrs).'), + 'name' => 'DASHACTIVITY_CART_ABANDONED_MIN', + 'type' => 'text', + 'suffix' => $this->l('hrs'), + ); + $fields_form['form']['input'][] = array( + 'label' => $this->l('Abandoned cart (max)'), + 'hint' => $this->l('How long (in hours) after the last action a cart is no longer to be considered as abandoned (default: 24 hrs).'), + 'name' => 'DASHACTIVITY_CART_ABANDONED_MAX', + 'type' => 'text', + 'suffix' => $this->l('hrs'), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + $helper->id = (int)Tools::getValue('id_carrier'); + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitDashConfig'; + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'DASHACTIVITY_CART_ACTIVE' => Tools::getValue('DASHACTIVITY_CART_ACTIVE', Configuration::get('DASHACTIVITY_CART_ACTIVE')), + 'DASHACTIVITY_CART_ABANDONED_MIN' => Tools::getValue('DASHACTIVITY_CART_ABANDONED_MIN', Configuration::get('DASHACTIVITY_CART_ABANDONED_MIN')), + 'DASHACTIVITY_CART_ABANDONED_MAX' => Tools::getValue('DASHACTIVITY_CART_ABANDONED_MAX', Configuration::get('DASHACTIVITY_CART_ABANDONED_MAX')), + 'DASHACTIVITY_VISITOR_ONLINE' => Tools::getValue('DASHACTIVITY_VISITOR_ONLINE', Configuration::get('DASHACTIVITY_VISITOR_ONLINE')), + ); + } + + public function hookActionObjectCustomerMessageAddAfter($params) + { + return $this->hookActionObjectOrderAddAfter($params); + } + + public function hookActionObjectCustomerThreadAddAfter($params) + { + return $this->hookActionObjectOrderAddAfter($params); + } + + public function hookActionObjectCustomerAddAfter($params) + { + return $this->hookActionObjectOrderAddAfter($params); + } + + public function hookActionObjectOrderReturnAddAfter($params) + { + return $this->hookActionObjectOrderAddAfter($params); + } + + public function hookActionObjectOrderAddAfter($params) + { + Tools::changeFileMTime($this->push_filename); + } +} diff --git a/modules/dashactivity/gapi-logo.gif b/modules/dashactivity/gapi-logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..73538897c3f9e492c73b65239e7ab0e306fc044c GIT binary patch literal 946 zcmZ?wbhEHb6krfw_|5BDwE#T_fGm&VAiQ;WV%E%~`V@aKlWpPRydZjb)CukgqA`M)nO z_;YK+@0;iTeR}%u%ZGp8zWn?7@&B*S|9}1b{|AVE|Ns9VZ1X5F8Uh0x0*XIb7#SG; zGw6Wa0m>5$9Q_RcIb}RHEO6lE5Ymd75zy?=CLn6pGvmS`4sH&$Ad|vFENs1;!Wt4k z7aZXfP?w9^qfpd%noos;Wro59Mt5OBF@uZ=4_R0l8JRf#6g*<#6qb>45O|o#5U}vS zhYW{8!eP$I>RcAQS^;SRjBI&%Pk-sZ2xk;>@(}nSvMO?O&h1IH-qY6|;3|C`W^iJ9 If&+s!09B}n6951J literal 0 HcmV?d00001 diff --git a/modules/dashactivity/index.php b/modules/dashactivity/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashactivity/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashactivity/logo.gif b/modules/dashactivity/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..322d832c6f41fdb731adad9682155cad0edcb79b GIT binary patch literal 1018 zcmZ?wbhEHb6krfw_|58h&jsjTm-EuWBDH94nh zZesoHyqXEc^%E-U7p7(Ix>j=jePgmqL%MfcPesG@;)cl;&9lqe=T&vhuWwuD)4Cw6 zb6sHfrl6(AB3GS_T6aEfa`M^8`tq=vSs z%^g#k`zKAFIKOw&)M=BZOrJh$_RQJyXU>^7Yi;kejZL$*wawe!J7>YdZ6`Z-pX=Lm zZsPu%4PB@1HC_L-o;!PxOwvq5Zt|c z4+!qxe*gpzA3l2Y==t;KFJ8QO`RdiXckkYR`0(-L$IqWXfBE_q99N?Rl|w-BCkrD3 z!+!=Hkh!2d!N75y;XkL0$A$$Cj?F?^F*5=#?00D6QuK1!sO0L>%EQWZy4bi2c}vIH2NI7Oq5Z8*@Nbe7Xan_pKWA%U4g zIQzzl0OMwsg;QIE1S}Mo8v7Iqd-nV&IC$R6fr)8J!$oB_0UghIcXl33Po2-GYgF># zz`^69szIA>tl;kGXX4~hi&*jDFxMoF(1H^igMaidI6eKoj^d-1Q`0R=|2;gpIGum~ i<-9JQOrxjXyjEQ~SJ literal 0 HcmV?d00001 diff --git a/modules/dashactivity/logo.png b/modules/dashactivity/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a20203ad96c34b68d0deec06672cb43259e44123 GIT binary patch literal 1759 zcmV<51|a!~P)!0C86rYimXu{lUDsqYRCPTEBj5m9trpIEo_Y2cEG%3h76mcJ!7eBUb_kIW10h7b z_c-S;Gjh(T3Mz`KAR;6YL=qx`Bw^>yS)PCHR}^tA^0;*?#)tuz=NCAB{Kte47@HoV zcUN%EG1?iTTvZ&7_IR^zJI7Ev(pwd>8bj^C%5qIsWoR_Aa;HR88JQ?pzSZM}7ha?& z3WDD#zPOn#%b5@(XWn{?^B3kA-PgsgZzF^TLk}(yZtcW}NMm-9aCax308=+`cV-Y# z^5hlLN7G1^$lI<`UY?|`O2U1MJih;X47XdT2)-z`2B10Py{9=_(#lH|(-kxV-bZ|A z1=ox?7s%twxWZ!uZ0r^xD5gptxs5~cqA zTC3~BRC5zV*TZg3Q-nyMfTbCnFEER^yW4Si5MXHr(~M1I?B+CDCvv68)d}`|c^6Z| zflD7=1#^f9n)4?+VOB*_>L-*6NffCQni471q$JdJO(kx-4BwEH+Dy?*ArdZ(OG}S}^2m zK6qyV)h0d(buXf7)OC$)2|#rnK;N#Bl*o0B^MP2^ zMEZ4}vr*k_@YtbmaQ3}(bgu*;VA-LI4Gb_D*k+J3%=Y@7)D$*JJWH#%;MYNAwND4I zc^!OcAGy(Gq_Gca_Wx3J6loV=eOucFmZ6yH0k4s>qFMSNHo6<8+6M^?edmY#`eFqa zFEd;CtpPmt*rWX6r9a{aFP3v|V|$Nd?R#*8CVc-mh$$%xnl}MZ#p(ouvWwey@zZY| z!+_uZ<+ZH=Jp1#X(Qdc@W6@FTDzCi$BQy)53AK$jo23sROCNwa&*|mFVx_D_V_lG} ztxNOspGozomHiybLY-@569YDAWR}wU*{xE^8+qblQ54?HuJyXz*_oM{b-KOx8{4_{ zMEZAembA;eXZs-#O-Pna0CWIg15_{&mXAYs5IAf==cP!Xy64`L303n4hbdG8(I z2IHFp@ZP)4dashactivity_0369e7f54bf8a30b2766e6a9a708de0b'] = 'Tableau de bord de l\'activité'; +$_MODULE['<{dashactivity}prestashop>dashactivity_02b5205ddff3073efc5c8b5b9cc165ba'] = '(du %s au %s)'; +$_MODULE['<{dashactivity}prestashop>dashactivity_14542f5997c4a02d4276da364657f501'] = 'Lien direct'; +$_MODULE['<{dashactivity}prestashop>dashactivity_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; +$_MODULE['<{dashactivity}prestashop>dashactivity_ea4788705e6873b424c65e91c2846b19'] = 'Annuler'; +$_MODULE['<{dashactivity}prestashop>dashactivity_914030b0a079e4eec3b3f5090c0fc35a'] = 'Panier actif'; +$_MODULE['<{dashactivity}prestashop>dashactivity_78fa968db0e87c6fc302614b26f93b5d'] = 'La durée (en minutes) durant laquelle un panier est considéré comme étant actif, en fonction de la dernière modification enregistrée (par défaut : 30 min).'; +$_MODULE['<{dashactivity}prestashop>dashactivity_47b8a33a5335cce8d4e353c4d1743f31'] = 'Visiteur en ligne'; +$_MODULE['<{dashactivity}prestashop>dashactivity_b13a895857368f29e5e127767388b0ab'] = 'La durée (en minute) durant laquelle un visiteur en considéré comme actif en fonction de leur dernière action (par défaut : 30 min).'; +$_MODULE['<{dashactivity}prestashop>dashactivity_6ad366c171531a83ffbc5625e159f340'] = 'Panier abandonné (min)'; +$_MODULE['<{dashactivity}prestashop>dashactivity_8f1f252cfd3cbbcba7a2325f12e3dbc4'] = 'Durée (en heures) au delà de laquelle un panier est considéré comme abandonné après la dernière action enregistrée (valeur par défaut : 24 h).'; +$_MODULE['<{dashactivity}prestashop>dashactivity_c760237f74bcc7e3f90ad956086edb66'] = 'h'; +$_MODULE['<{dashactivity}prestashop>dashactivity_a5493eb7cba36f452249d093e7757adc'] = 'Panier abandonné (max)'; +$_MODULE['<{dashactivity}prestashop>dashactivity_45e9c82415a3bee4413485c6bcb4347f'] = 'Durée (en heures) au delà de laquelle un panier cesse d\'être considéré comme abandonné après la dernière action enregistrée (valeur par défaut : 48 h).'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_91b1b529580f2bb429493a51a1af932b'] = 'Aperçu de l\'activité'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_f1206f9fadc5ce41694f69129aecac26'] = 'Configurer'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_63a6a88c066880c5ac42394a22803ca6'] = 'Rafraîchir'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_254f642527b45bc260048e30704edb39'] = 'Paramètres'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_edfc5fccc0439856b5bd432522ef47aa'] = 'Visiteurs en ligne'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_962b7da7912bc637b03626e23b5832b5'] = 'Dans les %d dernières minutes'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_7aaacf26dbf7d8929916618bb57d81f8'] = 'Paniers actifs'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_24042b0e4b783724dac4178df4db5d68'] = 'Actuellement en attente'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_7442e29d7d53e549b78d93c46b8cdcfc'] = 'Commandes'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_247d96cbab5bfc79dff10eb2ce6d8897'] = 'Retours/Échanges'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_54e85d70ea67acdcc86963b14d6223a8'] = 'Paniers abandonnés'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_1c4407dd95b9ef941d30c2838208977e'] = 'Produits en rupture de stock'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_a274f4d4670213a9045ce258c6c56b80'] = 'Notifications'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_a644e8cd597f2b92aa52861632c0363d'] = 'Nouveaux Messages'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_56d4e9a4c8e9f47549e8129393b3740f'] = 'Revues de produits'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_e539ae01694149c9e12295fe564a376b'] = 'Clients & Newsletters'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_8471314b4a53476fbf2379d9a0f7ac28'] = 'Nouveaux Clients'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_d833d1b3c98b980090f79ad42badcf9f'] = 'Nouveaux Abonnements'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_e42bc03dcf18091455cb8a06ce1d56e9'] = 'Total des Abonnés'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_e7935ae6c516d89405ec532359d2d75a'] = 'Trafic'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_1a4aeb4ca6cd736a4a7b25d8657d9972'] = 'Lien vers votre compte Google Analytics'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_d7e637a6e9ff116de2fa89551240a94d'] = 'Visites'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_945f170a18e4894c90381a3d01bdef8b'] = 'Visiteurs Uniques'; +$_MODULE['<{dashactivity}prestashop>dashboard_zone_one_0fcff541ec15c6ed895d5dec49436488'] = 'Sources de Trafic'; + + +return $_MODULE; diff --git a/modules/dashactivity/translations/index.php b/modules/dashactivity/translations/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashactivity/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashactivity/views/index.php b/modules/dashactivity/views/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashactivity/views/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashactivity/views/js/dashactivity.js b/modules/dashactivity/views/js/dashactivity.js new file mode 100644 index 00000000..06681d91 --- /dev/null +++ b/modules/dashactivity/views/js/dashactivity.js @@ -0,0 +1,156 @@ +/** + * 2007-2015 PrestaShop + * + * NOTICE OF LICENSE + * + * This source file is subject to the Academic Free License (AFL 3.0) + * that is bundled with this package in the file LICENSE.txt. + * It is also available through the world-wide-web at this URL: + * http://opensource.org/licenses/afl-3.0.php + * If you did not receive a copy of the license and are unable to + * obtain it through the world-wide-web, please send an email + * to license@prestashop.com so we can send you a copy immediately. + * + * DISCLAIMER + * + * Do not edit or add to this file if you wish to upgrade PrestaShop to newer + * versions in the future. If you wish to customize PrestaShop for your + * needs please refer to http://www.prestashop.com for more information. + * + * @author PrestaShop SA + * @copyright 2007-2015 PrestaShop SA + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +function pie_chart_trends(widget_name, chart_details) +{ + nv.addGraph(function() { + var chart = nv.models.pieChart() + .x(function(d) { return d.key }) + .y(function(d) { return d.y }) + .color(d3.scale.category10().range()) + .donut(true) + .showLabels(false) + .showLegend(false); + + d3.select("#dash_traffic_chart2 svg") + .datum(chart_details.data) + .transition().duration(1200) + .call(chart); + + nv.utils.windowResize(chart.update); + + return chart; + }); +} + +//TODO unify this with other function in calenda.js and replace date.js functions +Date.parseDate = function(date, format) { + if (format === undefined) + format = 'Y-m-d'; + + var formatSeparator = format.match(/[.\/\-\s].*?/); + var formatParts = format.split(/\W+/); + var parts = date.split(formatSeparator); + var date = new Date(); + + if (parts.length === formatParts.length) { + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setMilliseconds(0); + + for (var i=0; i<=formatParts.length; i++) { + switch(formatParts[i]) { + case 'dd': + case 'd': + case 'j': + date.setDate(parseInt(parts[i], 10)||1); + break; + + case 'mm': + case 'm': + date.setMonth((parseInt(parts[i], 10)||1) - 1); + break; + + case 'yy': + case 'y': + date.setFullYear(2000 + (parseInt(parts[i], 10)||1)); + break; + + case 'yyyy': + case 'Y': + date.setFullYear(parseInt(parts[i], 10)||1); + break; + } + } + } + + return date; +}; + +Date.prototype.format = function(format) { + if (format === undefined) + return this.toString(); + + var formatSeparator = format.match(/[.\/\-\s].*?/); + var formatParts = format.split(/\W+/); + var result = ''; + + for (var i=0; i<=formatParts.length; i++) { + switch(formatParts[i]) { + case 'd': + case 'j': + result += this.getDate() + formatSeparator; + break; + + case 'dd': + result += (this.getDate() < 10 ? '0' : '')+this.getDate() + formatSeparator; + break; + + case 'm': + result += (this.getMonth() + 1) + formatSeparator; + break; + + case 'mm': + result += (this.getMonth() < 9 ? '0' : '')+(this.getMonth() + 1) + formatSeparator; + break; + + case 'yy': + case 'y': + result += this.getFullYear() + formatSeparator; + break; + + case 'yyyy': + case 'Y': + result += this.getFullYear() + formatSeparator; + break; + } + } + + return result.slice(0, -1); +} + +$(document).ready(function() { + if (typeof date_subtitle === "undefined") + var date_subtitle = '(from %s to %s)'; + + if (typeof date_format === "undefined") + var date_format = 'Y-mm-dd'; + + $('#date-start').change(function() { + start = Date.parseDate($('#date-start').val(), 'Y-m-d'); + end = Date.parseDate($('#date-end').val(), 'Y-m-d'); + $('#customers-newsletters-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format))); + $('#traffic-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format))); + }); + + $('#date-end').change(function() { + start = Date.parseDate($('#date-start').val(), 'Y-m-d'); + end = Date.parseDate($('#date-end').val(), 'Y-m-d'); + + $('#customers-newsletters-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format))); + $('#traffic-subtitle').html(sprintf(date_subtitle, start.format(date_format), end.format(date_format))); + }); +}); \ No newline at end of file diff --git a/modules/dashactivity/views/js/index.php b/modules/dashactivity/views/js/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashactivity/views/js/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl b/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl new file mode 100644 index 00000000..9cd86fcd --- /dev/null +++ b/modules/dashactivity/views/templates/hook/dashboard_zone_one.tpl @@ -0,0 +1,176 @@ +{* +* 2007-2014 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +
+
+ {l s='Activity overview' mod='dashactivity'} + + + + + + + + +
+
+
{l s='Configuration' mod='dashactivity'}
+ {$dashactivity_config_form} +
+
+ +
+
+
{l s='Currently Pending' mod='dashactivity'}
+ +
+
+
{l s='Notifications' mod='dashactivity'}
+ +
+
+
{l s='Customers & Newsletters' mod='dashactivity'}
+ +
+
+
+ {l s='Traffic' mod='dashactivity'} +
+ +
+
+ diff --git a/modules/dashactivity/views/templates/hook/index.php b/modules/dashactivity/views/templates/hook/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashactivity/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashactivity/views/templates/index.php b/modules/dashactivity/views/templates/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashactivity/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals b/modules/dashgoals deleted file mode 160000 index 028d5974..00000000 --- a/modules/dashgoals +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 028d5974aec14efd911526dac6239a02a246bda5 diff --git a/modules/dashgoals/CHANGELOG.txt b/modules/dashgoals/CHANGELOG.txt new file mode 100644 index 00000000..ed42389c --- /dev/null +++ b/modules/dashgoals/CHANGELOG.txt @@ -0,0 +1,8 @@ +2014-04-22 18:58:17 +0200 // Changelog updated +2014-04-09 16:43:28 +0200 // Fix undefined index +2014-04-03 10:12:32 +0200 [-] BO : FixBug #PSCSX-1534 - Illegal offset type +2014-03-29 12:04:59 +0100 // Update dashgoal version +2014-03-29 12:03:02 +0100 [-] MO : Dashgoals - FixBug #PSCSX-1352 - Undefined dashgoal char value +2014-03-29 11:00:18 +0100 [-] MO : Dashgoals - FixBug #PSCSX-1413 - Wrong dashgoals stats +2014-03-24 15:21:10 +0100 / MO dashgoals : ps_versions_compliancy added +2014-03-20 14:32:25 +0100 Initial commit diff --git a/modules/dashgoals/Readme.md b/modules/dashgoals/Readme.md new file mode 100644 index 00000000..27310e95 --- /dev/null +++ b/modules/dashgoals/Readme.md @@ -0,0 +1,37 @@ +# Dashboard Goals + +## About + +Adds a block with your store\'s forecast. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the dashgoals project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/dashgoals/config.xml b/modules/dashgoals/config.xml new file mode 100644 index 00000000..70800ec6 --- /dev/null +++ b/modules/dashgoals/config.xml @@ -0,0 +1,12 @@ + + + dashgoals + + + + + + 0 + 1 + + diff --git a/modules/dashgoals/config_fr.xml b/modules/dashgoals/config_fr.xml new file mode 100644 index 00000000..91c7999d --- /dev/null +++ b/modules/dashgoals/config_fr.xml @@ -0,0 +1,12 @@ + + + dashgoals + + + + + + 0 + 1 + + \ No newline at end of file diff --git a/modules/dashgoals/controllers/admin/AdminDashgoalsController.php b/modules/dashgoals/controllers/admin/AdminDashgoalsController.php new file mode 100644 index 00000000..c8ce3232 --- /dev/null +++ b/modules/dashgoals/controllers/admin/AdminDashgoalsController.php @@ -0,0 +1,48 @@ + + * @copyright 2007-2015 PrestaShop SA + * @version Release: $Revision: 13573 $ + * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) + * International Registered Trademark & Property of PrestaShop SA + */ + +class AdminDashgoalsController extends ModuleAdminController +{ + public function ajaxProcessChangeConfYear() + { + $year = (int)Tools::getValue('year'); + Configuration::updateValue('PS_DASHGOALS_CURRENT_YEAR', $year); + $months = $this->module->setMonths($year); + + $this->context->smarty->assign( + array( + 'currency' => $this->context->currency, + 'goals_year' => $year, + 'goals_months' => $months, + 'link' => $this->context->link + ) + ); + + die($this->module->display(_PS_MODULE_DIR_.$this->module->name.DIRECTORY_SEPARATOR.$this->module->name.'.php', 'config.tpl')); + } +} diff --git a/modules/dashgoals/controllers/admin/index.php b/modules/dashgoals/controllers/admin/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/controllers/admin/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals/dashgoals.php b/modules/dashgoals/dashgoals.php new file mode 100644 index 00000000..181a3c4c --- /dev/null +++ b/modules/dashgoals/dashgoals.php @@ -0,0 +1,528 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class DashGoals extends Module +{ + protected static $month_labels = array(); + protected static $types = array('traffic', 'conversion', 'avg_cart_value'); + + protected static $real_color = array('#9E5BA1', '#00A89C', '#3AC4ED', '#F99031'); + protected static $more_color = array('#803E84', '#008E7E', '#20B2E7', '#F66E1B'); + protected static $less_color = array('#BC77BE', '#00C2BB', '#51D6F2', '#FBB244'); + + public function __construct() + { + $this->name = 'dashgoals'; + $this->tab = 'dashboard'; + $this->version = '0.6.6'; + $this->author = 'PrestaShop'; + + parent::__construct(); + + $this->displayName = $this->l('Dashboard Goals'); + $this->description = $this->l('Adds a block with your store\'s forecast.'); + $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); + + Dashgoals::$month_labels = array( + '01' => $this->l('January'), + '02' => $this->l('February'), + '03' => $this->l('March'), + '04' => $this->l('April'), + '05' => $this->l('May'), + '06' => $this->l('June'), + '07' => $this->l('July'), + '08' => $this->l('August'), + '09' => $this->l('September'), + '10' => $this->l('October'), + '11' => $this->l('November'), + '12' => $this->l('December') + ); + } + + public function install() + { + Configuration::updateValue('PS_DASHGOALS_CURRENT_YEAR', date('Y')); + for ($month = '01'; $month <= 12; $month = sprintf('%02d', $month + 1)) + { + $key = Tools::strtoupper('dashgoals_traffic_'.$month.'_'.date('Y')); + if (!ConfigurationKPI::get($key)) + ConfigurationKPI::updateValue($key, 600); + $key = Tools::strtoupper('dashgoals_conversion_'.$month.'_'.date('Y')); + if (!ConfigurationKPI::get($key)) + ConfigurationKPI::updateValue($key, 2); + $key = Tools::strtoupper('dashgoals_avg_cart_value_'.$month.'_'.date('Y')); + if (!ConfigurationKPI::get($key)) + ConfigurationKPI::updateValue($key, 80); + } + + // Prepare tab + $tab = new Tab(); + $tab->active = 1; + $tab->class_name = 'AdminDashgoals'; + $tab->name = array(); + foreach (Language::getLanguages(true) as $lang) + $tab->name[$lang['id_lang']] = 'Dashgoals'; + $tab->id_parent = -1; + $tab->module = $this->name; + + return ( + $tab->add() + && parent::install() + && $this->registerHook('dashboardZoneTwo') + && $this->registerHook('dashboardData') + && $this->registerHook('actionAdminControllerSetMedia') + ); + } + + public function uninstall() + { + $id_tab = (int)Tab::getIdFromClassName('AdminDashgoals'); + if ($id_tab) + { + $tab = new Tab($id_tab); + $tab->delete(); + } + + return parent::uninstall(); + } + + public function hookActionAdminControllerSetMedia() + { + if (get_class($this->context->controller) == 'AdminDashboardController') + $this->context->controller->addJs($this->_path.'views/js/'.$this->name.'.js'); + } + + public function setMonths($year) + { + $months = array(); + for ($i = '01'; $i <= 12; $i = sprintf('%02d', $i + 1)) + $months[$i.'_'.$year] = array('label' => Dashgoals::$month_labels[$i], 'values' => array()); + + foreach (Dashgoals::$types as $type) + foreach ($months as $month => &$month_row) + { + $key = 'dashgoals_'.$type.'_'.$month; + if (Tools::isSubmit('submitDashGoals')) + ConfigurationKPI::updateValue(Tools::strtoupper($key), (float)Tools::getValue($key)); + $month_row['values'][$type] = ConfigurationKPI::get(Tools::strtoupper($key)); + } + + return $months; + } + + public function hookDashboardZoneTwo($params) + { + $year = Configuration::get('PS_DASHGOALS_CURRENT_YEAR'); + $months = $this->setMonths($year); + + $this->context->smarty->assign( + array( + 'colors' => self::$real_color, + 'currency' => $this->context->currency, + 'goals_year' => $year, + 'goals_months' => $months, + 'dashgoals_ajax_link' => $this->context->link->getAdminLink('AdminDashgoals') + ) + ); + + return $this->display(__FILE__, 'dashboard_zone_two.tpl'); + } + + public function hookDashboardData($params) + { + $year = ((isset($params['extra']) && $params['extra'] > 1970 && $params['extra'] < 2999) ? $params['extra'] : Configuration::get('PS_DASHGOALS_CURRENT_YEAR')); + + return array('data_chart' => array('dash_goals_chart1' => $this->getChartData($year))); + } + + protected function fakeConfigurationKPI_get($key) + { + $start = array( + 'TRAFFIC' => 3000, + 'CONVERSION' => 2, + 'AVG_CART_VALUE' => 90 + ); + + if (preg_match('/^DASHGOALS_([A-Z_]+)_([0-9]{2})/', $key, $matches)) + { + if ($matches[1] == 'TRAFFIC') + return $start[$matches[1]] * (1 + ($matches[2] - 1) / 10); + else + return $start[$matches[1]]; + } + } + + public function getChartData($year) + { + // There are stream types (different charts) and for each types there are 3 available zones (one color for the goal, one if you over perform and one if you under perfom) + $stream_types = array( + array('type' => 'traffic', 'title' => $this->l('Traffic'), 'unit_text' => $this->l('visits')), + array('type' => 'conversion', 'title' => $this->l('Conversion'), 'unit_text' => ''), + array('type' => 'avg_cart_value', 'title' => $this->l('Average cart value'), 'unit_text' => ''), + array('type' => 'sales', 'title' => $this->l('Sales'), 'unit_text' => '') + ); + $stream_zones = array( + array('zone' => 'real', 'text' => ''), + array('zone' => 'more', 'text' => $this->l('Goal exceeded')), + array('zone' => 'less', 'text' => $this->l('Goal not reached')) + ); + + // We initialize all the streams types for all the zones + $streams = array(); + $average_goals = array(); + + foreach ($stream_types as $key => $stream_type) + { + $streams[$stream_type['type']] = array(); + foreach ($stream_zones as $stream_zone) + $streams[$stream_type['type']][$stream_zone['zone']] = array( + 'key' => $stream_type['type'].'_'.$stream_zone['zone'], + 'title' => $stream_type['title'], + 'unit_text' => $stream_type['unit_text'], + 'zone_text' => $stream_zone['text'], + 'color' => ($stream_zone['zone'] == 'more' ? self::$more_color[$key] : ($stream_zone['zone'] == 'less' ? self::$less_color[$key] : self::$real_color[$key])), + 'values' => array(), + 'disabled' => (isset($stream_type['type']) && $stream_type['type'] == 'sales') ? false : true + ); + + if (isset($stream_type['type'])) + $average_goals[$stream_type['type']] = 0; + } + + if (Configuration::get('PS_DASHBOARD_SIMULATION')) + { + $visits = $orders = $sales = array(); + $from = strtotime(date('Y-01-01 00:00:00')); + $to = strtotime(date('Y-12-31 00:00:00')); + for ($date = $from; $date <= $to; $date = strtotime('+1 day', $date)) + { + $visits[$date] = round(rand(2000, 5000)); + $orders[$date] = round(rand(40, 100)); + $sales[$date] = round(rand(3000, 9000), 2); + } + + // We need to calculate the average value of each goals for the year, this will be the base rate for "100%" + for ($i = '01'; $i <= 12; $i = sprintf('%02d', $i + 1)) + { + $average_goals['traffic'] += $this->fakeConfigurationKPI_get('DASHGOALS_TRAFFIC_'.$i.'_'.$year); + $average_goals['conversion'] += $this->fakeConfigurationKPI_get('DASHGOALS_CONVERSION_'.$i.'_'.$year); + $average_goals['avg_cart_value'] += $this->fakeConfigurationKPI_get('DASHGOALS_AVG_CART_VALUE_'.$i.'_'.$year); + } + foreach ($average_goals as &$average_goal) + $average_goal /= 12; + $average_goals['sales'] = $average_goals['traffic'] * $average_goals['conversion'] / 100 * $average_goals['avg_cart_value']; + + // Now we can calculate the value for every months + for ($i = '01'; $i <= 12; $i = sprintf('%02d', $i + 1)) + { + $timestamp = strtotime($year.'-'.$i.'-01'); + + $month_goal = $this->fakeConfigurationKPI_get('DASHGOALS_TRAFFIC_'.$i.'_'.$year); + $value = (isset($visits[$timestamp]) ? $visits[$timestamp] : 0); + $stream_values = $this->getValuesFromGoals($average_goals['traffic'], $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['traffic'] = $value; + $stream_values['real']['goal'] = $month_goal; + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['traffic'] = $value; + $stream_values['more']['traffic'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = $goal_diff; + elseif ($value > 0) + $stream_values['more']['goal_diff'] = $goal_diff; + + if ($value == 0) + { + $streams['traffic']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['traffic'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + + $month_goal = $this->fakeConfigurationKPI_get('DASHGOALS_CONVERSION_'.$i.'_'.$year); + $value = 100 * ((isset($visits[$timestamp]) && $visits[$timestamp] && isset($orders[$timestamp]) && $orders[$timestamp]) ? ($orders[$timestamp] / $visits[$timestamp]) : 0); + $stream_values = $this->getValuesFromGoals($average_goals['conversion'], $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['conversion'] = round($value, 2); + $stream_values['real']['goal'] = round($month_goal, 2); + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['conversion'] = $value; + $stream_values['more']['conversion'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + elseif ($value > 0) + $stream_values['more']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + if ($value == 0) + { + $streams['conversion']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['conversion'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + + $month_goal = $this->fakeConfigurationKPI_get('DASHGOALS_AVG_CART_VALUE_'.$i.'_'.$year); + $value = ((isset($orders[$timestamp]) && $orders[$timestamp] && isset($sales[$timestamp]) && $sales[$timestamp]) ? ($sales[$timestamp] / $orders[$timestamp]) : 0); + $stream_values = $this->getValuesFromGoals($average_goals['avg_cart_value'], $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['avg_cart_value'] = $value; + $stream_values['real']['goal'] = $month_goal; + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['avg_cart_value'] = $value; + $stream_values['more']['avg_cart_value'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = $goal_diff; + elseif ($value > 0) + $stream_values['more']['goal_diff'] = $goal_diff; + + if ($value == 0) + { + $streams['avg_cart_value']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['avg_cart_value'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + + $month_goal = $this->fakeConfigurationKPI_get('DASHGOALS_TRAFFIC_'.$i.'_'.$year) * $this->fakeConfigurationKPI_get('DASHGOALS_CONVERSION_'.$i.'_'.$year) / 100 * $this->fakeConfigurationKPI_get('DASHGOALS_AVG_CART_VALUE_'.$i.'_'.$year); + $value = (isset($sales[$timestamp]) ? $sales[$timestamp] : 0); + $stream_values = $this->getValuesFromGoals($average_goals['sales'], $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['sales'] = $value; + $stream_values['real']['goal'] = $month_goal; + + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['sales'] = $value; + $stream_values['more']['sales'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = $goal_diff; + elseif ($value > 0) + $stream_values['more']['goal_diff'] = $goal_diff; + + if ($value == 0) + { + $streams['sales']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['sales'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + } + } + else + { + // Retrieve gross data from AdminStatsController + $visits = AdminStatsController::getVisits(false, $year.date('-01-01'), $year.date('-12-31'), 'month'); + $orders = AdminStatsController::getOrders($year.date('-01-01'), $year.date('-12-31'), 'month'); + $sales = AdminStatsController::getTotalSales($year.date('-01-01'), $year.date('-12-31'), 'month'); + + // We need to calculate the average value of each goals for the year, this will be the base rate for "100%" + for ($i = '01'; $i <= 12; $i = sprintf('%02d', $i + 1)) + { + $average_goals['traffic'] += ConfigurationKPI::get('DASHGOALS_TRAFFIC_'.$i.'_'.$year); + $average_goals['conversion'] += ConfigurationKPI::get('DASHGOALS_CONVERSION_'.$i.'_'.$year) / 100; + $average_goals['avg_cart_value'] += ConfigurationKPI::get('DASHGOALS_AVG_CART_VALUE_'.$i.'_'.$year); + } + foreach ($average_goals as &$average_goal) + $average_goal /= 12; + $average_goals['sales'] = $average_goals['traffic'] * $average_goals['conversion'] * $average_goals['avg_cart_value']; + + // Now we can calculate the value for every months + for ($i = '01'; $i <= 12; $i = sprintf('%02d', $i + 1)) + { + $timestamp = strtotime($year.'-'.$i.'-01'); + + $month_goal = ConfigurationKPI::get('DASHGOALS_TRAFFIC_'.$i.'_'.$year); + $value = (isset($visits[$timestamp]) ? $visits[$timestamp] : 0); + $stream_values = $this->getValuesFromGoals($average_goals['traffic'], $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['traffic'] = $value; + $stream_values['real']['goal'] = $month_goal; + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['traffic'] = $value; + $stream_values['more']['traffic'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = $goal_diff; + elseif ($value > 0) + $stream_values['more']['goal_diff'] = $goal_diff; + + if ($value == 0) + { + $streams['traffic']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['traffic'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + + $month_goal = ConfigurationKPI::get('DASHGOALS_CONVERSION_'.$i.'_'.$year); + $value = 100 * ((isset($visits[$timestamp]) && $visits[$timestamp] && isset($orders[$timestamp]) && $orders[$timestamp]) ? ($orders[$timestamp] / $visits[$timestamp]) : 0); + $stream_values = $this->getValuesFromGoals($average_goals['conversion'] * 100, $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['conversion'] = round($value, 2); + $stream_values['real']['goal'] = round($month_goal, 2); + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['conversion'] = $value; + $stream_values['more']['conversion'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + elseif ($value > 0) + $stream_values['more']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + if ($value == 0) + { + $streams['conversion']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['conversion'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + + $month_goal = ConfigurationKPI::get('DASHGOALS_AVG_CART_VALUE_'.$i.'_'.$year); + $value = ((isset($orders[$timestamp]) && $orders[$timestamp] && isset($sales[$timestamp]) && $sales[$timestamp]) ? ($sales[$timestamp] / $orders[$timestamp]) : 0); + $stream_values = $this->getValuesFromGoals($average_goals['avg_cart_value'], $month_goal, $value, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['avg_cart_value'] = $value; + $stream_values['real']['goal'] = $month_goal; + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['avg_cart_value'] = $value; + $stream_values['more']['avg_cart_value'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = $goal_diff; + elseif ($value > 0) + $stream_values['more']['goal_diff'] = $goal_diff; + + if ($value == 0) + { + $streams['avg_cart_value']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['avg_cart_value'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + + $month_goal = ConfigurationKPI::get('DASHGOALS_TRAFFIC_'.$i.'_'.$year) * ConfigurationKPI::get('DASHGOALS_CONVERSION_'.$i.'_'.$year) / 100 * ConfigurationKPI::get('DASHGOALS_AVG_CART_VALUE_'.$i.'_'.$year); + $value = (isset($sales[$timestamp]) && $sales[$timestamp]) ? $sales[$timestamp] : 0; + $stream_values = $this->getValuesFromGoals($average_goals['sales'], $month_goal, isset($sales[$timestamp]) ? $sales[$timestamp] : 0, Dashgoals::$month_labels[$i]); + $goal_diff = $value - $month_goal; + $stream_values['real']['sales'] = $value; + $stream_values['real']['goal'] = $month_goal; + + if ($value > 0) + $stream_values['real']['goal_diff'] = round(($goal_diff * 100) / ($month_goal > 0 ? $month_goal : 1), 2); + + $stream_values['less']['sales'] = $value; + $stream_values['more']['sales'] = $value; + + if ($value > 0 && $value < $month_goal) + $stream_values['less']['goal_diff'] = $goal_diff; + elseif ($value > 0) + $stream_values['more']['goal_diff'] = $goal_diff; + + if ($value == 0) + { + $streams['sales']['less']['zone_text'] = $this->l('Goal set:'); + $stream_values['less']['goal'] = $month_goal; + } + + foreach ($stream_zones as $stream_zone) + $streams['sales'][$stream_zone['zone']]['values'][] = $stream_values[$stream_zone['zone']]; + } + } + + // Merge all the streams before sending + $all_streams = array(); + foreach ($stream_types as $stream_type) + foreach ($stream_zones as $stream_zone) + $all_streams[] = $streams[$stream_type['type']][$stream_zone['zone']]; + + return array('chart_type' => 'bar_chart_goals', 'data' => $all_streams); + } + + protected function getValuesFromGoals($average_goal, $month_goal, $value, $label) + { + // Initialize value for each zone + $stream_values = array( + 'real' => array('x' => $label, 'y' => 0), + 'less' => array('x' => $label, 'y' => 0), + 'more' => array('x' => $label, 'y' => 0) + ); + + // Calculate the percentage of fullfilment of the goal + $fullfilment = 0; + if ($value && $month_goal) + $fullfilment = round($value / $month_goal, 2); + + // Base rate is essential here : it determines the value of the goal compared to the "100%" of the chart legend + $base_rate = 0; + if ($average_goal && $month_goal) + $base_rate = $month_goal / $average_goal; + + // Fullfilment of 1 means that we performed exactly anticipated + if ($fullfilment == 1) + $stream_values['real'] = array('x' => $label, 'y' => round($base_rate, 2)); + // Fullfilment lower than 1 means that we UNDER performed + elseif ($fullfilment < 1) + { + $stream_values['real'] = array('x' => $label, 'y' => round($fullfilment * $base_rate, 2)); + $stream_values['less'] = array('x' => $label, 'y' => round($base_rate - ($fullfilment * $base_rate), 2)); + } + // Fullfilment greater than 1 means that we OVER performed + elseif ($fullfilment > 1) + { + $stream_values['real'] = array('x' => $label, 'y' => round($base_rate, 2)); + $stream_values['more'] = array('x' => $label, 'y' => round(($fullfilment * $base_rate) - $base_rate, 2)); + } + + return $stream_values; + } +} diff --git a/modules/dashgoals/index.php b/modules/dashgoals/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals/logo.gif b/modules/dashgoals/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b57dfb1cd2194d2947811219f8019c0d458ad58d GIT binary patch literal 1054 zcmeH`=T8#>0LAY*OmS32h7w091qXxKhk{5jIEV(~ z2mv$!6%61+1iYej(_VYM>$TScz4p4Yfoa#mW&0!0$>XG zqts^Lz%%e*D|omaOnV8YzXFeTfP$`IVapO>OUUt-uMI9l zgNra`0m&?+m_<(JB{%c3*RODBcCkJ5yg2NFm|Gy>UF-`hQgDk@E6T{oQhn4_JgUma zze(|{oEg`j3vawQUGpyYUQh88xcI5A`Auhe6IA_LUDKht*A6{+Eqm}rez!wY^UiR; z6E1s8m32DmAYA;hTin+plXWZPJxaxUNU0F__p4Qq8kWLpF|6*@!55tHEtIgTlexPmY#38UIT?0Ok+2^s0cn7_nA-9hj@eU39$kAcj=m<47 zVw)IqOpZGz$6cR44NrX;oBA^Tcj5o}uLeTDGC%;B0iu2bzdr%6z5z3S0r=_^USehR zyd%@2cN&wbIpO}Fnl!xf+L(RGrB`-Vglrr0`E7!ch}g~h>-pA_g!0A7rp5k`uO%y% z>~hG~bHlb*uFL!pm~>kxS(aD}-l5%#vf@N54=(k4*bZK+;{>k(GB)y{(lrA9clY|x zS+%h_>b8anj))yu_5@Gmo@NkOajHVWbw-EV*r&cgMFQz|mzfUQ3PCA_TE literal 0 HcmV?d00001 diff --git a/modules/dashgoals/logo.png b/modules/dashgoals/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1b66625010c9b300e1e8552a8f44f3063026dfaa GIT binary patch literal 2025 zcmVmC`00009a7bBm000ie000ie0hKEb8vpPQ&^nK(s$ZgUC5tWzERn1_8>!%*3s$%Zp!3ka9Mya)k}gvZJ{6tEY4>d z1j>m90qVY)fLit1;yTqJ$van9=E2}J^Oo+VOcC8fB|P@0GVVVnb*w=dq!C z78`ywLjD3rauY|GX_d!^EfffR}jD%cTBGn3=cb&N=do%dy@iM-A zyo!#aH3i%}N8n{ap#AkJg#dvI0{fzZfN8HEo4R~BdS1em=w2a^O?ixml8sSld#;sCGr#XdRhju4itHWc3cCIlL^d00>^`}_ zG85C?Um&BI&w8UMBC1B7+)BL@%a%v(tS9*X0M_Y%1GwHP+- zkBGJV)I;4D8mpHh=YRh&5qSPOjL&`o+1w`{mkD+yq&9y?u9 zT&_C(;736{Znt6|pwYz7Z4?|ABAW%?O@8o$Wj6c6h;KMNfY!Kht zdy%@I5ZwofKr}oFLvw%-~JiDIP?%_9`Ex}`T zyY=pkKfMUk)BW)KtOy6}2>5NH4BCsPl?L2?C{LAxKOzgaYcs$1V5FsU4V+zX+D+0% zT-3cJ2&58Twfm1@*fs#ePx>%s9}(Rv1jZEtEU_lD2$q9sr6^zmv4Fm6?Dj7m;IIj- z0dL#ofN7@Ai%jsZP)bf!$AiV$mkMtedS0}O}3;+w@+NM{>-x5 zx4aurfJNB2b#Pv}?;aWvVUtx;&pJ6l(qAIregSUU)(6+*NGk!lU`XP)A~ALP$nR*z z`yxt_)aKrR0M=HG-F{D(M@c#@YzVw#=P2I4bX^BeQRtlfXq2Sy*Sr7Pu0G)b2Iny( zVjdVsdMhg+B&OQmqnfKLBy#=RW{I2~)c2fM?V{a>&1M@+1kSQQbZ`XkUmW3wMo7Zs5I7N*KQQnC$>Bv_5j!?*?{5KrXzu`g-ceP4yC5((Ti7bz12Uh?9+*}ows`#nI;p&7Y%r2~;~qOs z^iGO|)86--+O;-wmYqBQcW^e}nciW&d!BtV?#=73Az!boLa7+iB|h5g73ONA8H-Hk zM}>0zd#_vZ+j9t)2(D{n)y z#4nt&DUS)~IlXA&QF-=LdRQ(iB@*tE9x`{TADRc?aa;7@Nhc*D;FZ^0M0`4zis3pd z(LCQne<8O&r-2SDpe?}tcLZkHx4$(2ug9WGPp=>1Q8%r9_ReQ|ty=1wo}z7-jw9RM#UDRCUKVQakW(ZiET`2{!`Z+-t8EX?IQ^BI4=RAeP&aYpeW z!KV~oGyI%-J)^LUUBz|l6*wH%;A@gvE0#N(4$!v;g?#jj{hP+8^HeS@=Q6zi5mH0a zj|nEg2Swvmv$b@rx|}-}hP&&`*Yn})HJ1tGdFAMvav(^1?^pl0N84%PZvK5XEsM^R zabJGTs{Jn?J|NR{!;zeFk_^R3rV-$unFImL9Itx9t>g1A$1)#P#?CRP00000NkvXX Hu0mjfUKrb{ literal 0 HcmV?d00001 diff --git a/modules/dashgoals/translations/fr.php b/modules/dashgoals/translations/fr.php new file mode 100644 index 00000000..1e999197 --- /dev/null +++ b/modules/dashgoals/translations/fr.php @@ -0,0 +1,43 @@ +dashgoals_50698c5b8ffaf2b7dd089898a244a668'] = 'Tableau de bord des objectifs'; +$_MODULE['<{dashgoals}prestashop>dashgoals_14089da5dd6132b674d9829b136efff9'] = 'Affiche un bloc avec les prévisions de votre boutique.'; +$_MODULE['<{dashgoals}prestashop>dashgoals_86f5978d9b80124f509bdb71786e929e'] = 'Janvier'; +$_MODULE['<{dashgoals}prestashop>dashgoals_659e59f062c75f81259d22786d6c44aa'] = 'Février'; +$_MODULE['<{dashgoals}prestashop>dashgoals_fa3e5edac607a88d8fd7ecb9d6d67424'] = 'Mars'; +$_MODULE['<{dashgoals}prestashop>dashgoals_3fcf026bbfffb63fb24b8de9d0446949'] = 'Avril'; +$_MODULE['<{dashgoals}prestashop>dashgoals_195fbb57ffe7449796d23466085ce6d8'] = 'Mai'; +$_MODULE['<{dashgoals}prestashop>dashgoals_688937ccaf2a2b0c45a1c9bbba09698d'] = 'Juin'; +$_MODULE['<{dashgoals}prestashop>dashgoals_1b539f6f34e8503c97f6d3421346b63c'] = 'Juillet'; +$_MODULE['<{dashgoals}prestashop>dashgoals_41ba70891fb6f39327d8ccb9b1dafb84'] = 'Août'; +$_MODULE['<{dashgoals}prestashop>dashgoals_cc5d90569e1c8313c2b1c2aab1401174'] = 'Septembre'; +$_MODULE['<{dashgoals}prestashop>dashgoals_eca60ae8611369fe28a02e2ab8c5d12e'] = 'Octobre'; +$_MODULE['<{dashgoals}prestashop>dashgoals_7e823b37564da492ca1629b4732289a8'] = 'Novembre'; +$_MODULE['<{dashgoals}prestashop>dashgoals_82331503174acbae012b2004f6431fa5'] = 'Décembre'; +$_MODULE['<{dashgoals}prestashop>dashgoals_e7935ae6c516d89405ec532359d2d75a'] = 'Trafic'; +$_MODULE['<{dashgoals}prestashop>dashgoals_233d48e63da77b092da350559d2f8382'] = 'visites'; +$_MODULE['<{dashgoals}prestashop>dashgoals_3bb1503332637805beddb73a2dd1fe1b'] = 'Transformation'; +$_MODULE['<{dashgoals}prestashop>dashgoals_71241798130f714cbd2786df3da2cf0b'] = 'Valeur du panier moyen'; +$_MODULE['<{dashgoals}prestashop>dashgoals_11ff9f68afb6b8b5b8eda218d7c83a65'] = 'Ventes'; +$_MODULE['<{dashgoals}prestashop>dashgoals_9ac642c5ef334ea05256563f921bb304'] = 'Objectif dépassé'; +$_MODULE['<{dashgoals}prestashop>dashgoals_7c103c9bbbaecee07ca898ed65667cbf'] = 'Objectif non atteint'; +$_MODULE['<{dashgoals}prestashop>dashgoals_eb233580dc419f03df5905f175606e4d'] = 'Objectif :'; +$_MODULE['<{dashgoals}prestashop>config_254f642527b45bc260048e30704edb39'] = 'Paramètres'; +$_MODULE['<{dashgoals}prestashop>config_e7935ae6c516d89405ec532359d2d75a'] = 'Trafic'; +$_MODULE['<{dashgoals}prestashop>config_e4c3da18c66c0147144767efeb59198f'] = 'Taux de transformation'; +$_MODULE['<{dashgoals}prestashop>config_8c804960da61b637c548c951652b0cac'] = 'Panier moyen'; +$_MODULE['<{dashgoals}prestashop>config_11ff9f68afb6b8b5b8eda218d7c83a65'] = 'Ventes'; +$_MODULE['<{dashgoals}prestashop>config_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_89c1265be62d3ba835a3d963db5956b0'] = 'Prévisions'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_f1206f9fadc5ce41694f69129aecac26'] = 'Configurer'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_63a6a88c066880c5ac42394a22803ca6'] = 'Rafraîchir'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_e7935ae6c516d89405ec532359d2d75a'] = 'Trafic'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_3bb1503332637805beddb73a2dd1fe1b'] = 'Transformation'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_8c804960da61b637c548c951652b0cac'] = 'Panier moyen'; +$_MODULE['<{dashgoals}prestashop>dashboard_zone_two_11ff9f68afb6b8b5b8eda218d7c83a65'] = 'Ventes'; + + +return $_MODULE; diff --git a/modules/dashgoals/translations/index.php b/modules/dashgoals/translations/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals/views/index.php b/modules/dashgoals/views/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/views/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals/views/js/dashgoals.js b/modules/dashgoals/views/js/dashgoals.js new file mode 100644 index 00000000..4894db2e --- /dev/null +++ b/modules/dashgoals/views/js/dashgoals.js @@ -0,0 +1,166 @@ +var dashgoals_data; +var dashgoals_chart; + +function bar_chart_goals(widget_name, chart_details) +{ + nv.addGraph(function() { + dashgoals_data = chart_details.data; + + var chart = nv.models.multiBarChart() + .stacked(true) + .showControls(false) + .tooltipContent(function(key, y, e, graph) { + if (graph.value == 0) + return ''; + + if (key == 'sales_real') { + var result = '
' + graph.series.title + '
' + formatCurrency(parseInt(graph.point.sales), currency_format, currency_sign, currency_blank) + '
(' + formatCurrency(parseInt(graph.point.goal), currency_format, currency_sign, currency_blank) + ')
'; + if (graph.point.sales > graph.point.goal) + result += '+'; + else + result += ''; + result += graph.point.goal_diff + '%
'; + return result; + } else if (key == 'sales_less') { + if (graph.point.sales > 0) + return '
' + graph.series.title + '
' + graph.series.zone_text + '
' + formatCurrency(parseInt(graph.point.goal_diff), currency_format, currency_sign, currency_blank) + '
'; + else + return '
' + graph.series.title + '
' + graph.series.zone_text + '
(' + formatCurrency(parseInt(graph.point.goal), currency_format, currency_sign, currency_blank) + ')
'; + } else if (key == 'sales_more') + return '
' + graph.series.title + '
' + graph.series.zone_text + '
+' + formatCurrency(parseInt(graph.point.goal_diff), currency_format, currency_sign, currency_blank) + '
'; + else if (key == 'avg_cart_value_real') { + var result = '
' + graph.series.title + '
' + formatCurrency(parseInt(graph.point.avg_cart_value), currency_format, currency_sign, currency_blank) + '
(' + formatCurrency(parseInt(graph.point.goal), currency_format, currency_sign, currency_blank) + ')
'; + if (graph.point.avg_cart_value > graph.point.goal) + result += '+'; + else + result += ''; + result += graph.point.goal_diff + '%
'; + return result; + } else if (key == 'avg_cart_value_less') { + if (graph.point.avg_cart_value > 0) + return '
' + graph.series.title + '
' + graph.series.zone_text + '
' + formatCurrency(parseInt(graph.point.goal_diff), currency_format, currency_sign, currency_blank) + '
'; + else + return '
' + graph.series.title + '
' + graph.series.zone_text + '
(' + formatCurrency(parseInt(graph.point.goal), currency_format, currency_sign, currency_blank) + ')
'; + } else if (key == 'avg_cart_value_more') + return '
' + graph.series.title + '
' + graph.series.zone_text + '
+' + formatCurrency(parseInt(graph.point.goal_diff), currency_format, currency_sign, currency_blank) + '
'; + else if (key == 'traffic_real') { + var result = '
' + graph.series.title + '
' + graph.point.traffic + ' ' +graph.series.unit_text+'
(' + graph.point.goal + ' ' +graph.series.unit_text+')
'; + if (graph.point.traffic > graph.point.goal) + result += '+'; + else + result += ''; + result += graph.point.goal_diff + '%
'; + return result; + } else if (key == 'traffic_less') { + if (graph.point.traffic > 0) + return '
' + graph.series.title + '
' + graph.series.zone_text + '
' + graph.point.goal_diff + ' ' +graph.series.unit_text+'
'; + else + return '
' + graph.series.title + '
' + graph.series.zone_text + '
(' + graph.point.goal + ' ' +graph.series.unit_text+')
'; + } else if (key == 'traffic_more') + return '
' + graph.series.title + '
' + graph.series.zone_text + '
+' + graph.point.goal_diff + ' ' +graph.series.unit_text+'
'; + else if (key == 'conversion_real') { + var result = '
' + graph.series.title + '
' + graph.point.conversion + '%
(' + graph.point.goal + '%)
'; + if (graph.point.conversion > graph.point.goal) + result += '+'; + else + result += ''; + result += graph.point.goal_diff + '%
'; + return result; + } else if (key == 'conversion_less') { + if (graph.point.conversion > 0) + return '
' + graph.series.title + '
' + graph.series.zone_text + '
' + graph.point.goal_diff + '%
'; + else + return '
' + graph.series.title + '
' + graph.series.zone_text + '
(' + graph.point.goal + '%)
'; + } else if (key == 'conversion_more') + return '
' + graph.series.title + '
' + graph.series.zone_text + '
+' + graph.point.goal_diff + '%
'; + + }); + + chart.yAxis.tickFormat(d3.format('.1f')); + dashgoals_chart = chart; + + d3.select('#dash_goals_chart1 svg') + .datum(chart_details.data) + .transition() + .call(chart); + + $('#dash_goals_chart1 .nv-legendWrap').remove(); + + nv.utils.windowResize(chart.update); + + return chart; + }); +} + +function selectDashgoalsChart(type) +{ + if (type !== false) + { + $.each(dashgoals_data, function(index, value) { + if (value.key == type + '_real' || value.key == type + '_more' || value.key == type + '_less') + value.disabled = false; + else + value.disabled = true; + }); + } + dashgoals_toggleDashConfig(); +} + +/* Refresh dashgoals chart when coming from the config panel + Called from /js/admin-dashboard.js: toggleDashConfig() */ +function dashgoals_toggleDashConfig() +{ + d3.select('#dash_goals_chart1 svg') + .datum(dashgoals_data) + .transition() + .call(dashgoals_chart); + nv.utils.windowResize(dashgoals_chart.update); +} + +/* Calculate Sales based on the traffic, average cart value and conversion rate */ +function dashgoals_calc_sales() +{ + $('.dashgoals_sales').each(function() { + var key = $(this).attr('id').substr(16); + var sales = parseFloat($('#dashgoals_traffic_' + key).val()) * parseFloat($('#dashgoals_avg_cart_value_' + key).val()) * parseFloat($('#dashgoals_conversion_' + key).val()) / 100; + if (isNaN(sales)) + $(this).text(formatCurrency(0, currency_format, currency_sign, currency_blank)); + else + $(this).text(formatCurrency(parseInt(sales), currency_format, currency_sign, currency_blank)); + }); +} + +function dashgoals_changeYear(xward) +{ + var new_year = dashgoals_year; + if (xward == 'forward') + new_year = dashgoals_year + 1; + else if (xward == 'backward') + new_year = dashgoals_year - 1; + + $.ajax({ + url: dashgoals_ajax_link, + data: { + ajax: true, + action: 'changeconfyear', + year: new_year + }, + success : function(result){ + $('#dashgoals_title').text($('#dashgoals_title').text().replace(dashgoals_year, new_year)); + var hide_conf = $('#dashgoals_config').hasClass('hide'); + $('#dashgoals_config').replaceWith(result); + dashgoals_calc_sales(); + if (!hide_conf) + $('#dashgoals_config').removeClass('hide'); + $('.dashgoals_config_input').off(); + $('.dashgoals_config_input').keyup(function() { dashgoals_calc_sales(); }); + dashgoals_year = new_year; + refreshDashboard('dashgoals', false, dashgoals_year); + } + }); +} + +$(document).ready(function() { + $('.dashgoals_config_input').keyup(function() { dashgoals_calc_sales(); }); + dashgoals_calc_sales(); +}); diff --git a/modules/dashgoals/views/js/index.php b/modules/dashgoals/views/js/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/views/js/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals/views/templates/hook/config.tpl b/modules/dashgoals/views/templates/hook/config.tpl new file mode 100644 index 00000000..a404e7ff --- /dev/null +++ b/modules/dashgoals/views/templates/hook/config.tpl @@ -0,0 +1,74 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +
+
{l s='Configuration' mod='dashgoals'}
+
+ + + + + + + + + + + + {foreach $goals_months as $month} + + + + + + + + {/foreach} + +
{$goals_year}{l s='Traffic' mod='dashgoals'}{l s='Conversion Rate' mod='dashgoals'}{l s='Average Cart Value' mod='dashgoals'}{l s='Sales' mod='dashgoals'}
+ {$month.label} + +
+ +
+
+
+ + % +
+
+
+ {$currency->iso_code|escape} + +
+
+
+ +
+
\ No newline at end of file diff --git a/modules/dashgoals/views/templates/hook/dashboard_zone_two.tpl b/modules/dashgoals/views/templates/hook/dashboard_zone_two.tpl new file mode 100644 index 00000000..1e1c97d7 --- /dev/null +++ b/modules/dashgoals/views/templates/hook/dashboard_zone_two.tpl @@ -0,0 +1,74 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +
+ + +
+
+ + {l s='Forecast' mod='dashgoals'} + {$goals_year} + + + + + + + + + + + + + +
+ {include file='./config.tpl'} +
+
+ + + + +
+
+ +
+
+
\ No newline at end of file diff --git a/modules/dashgoals/views/templates/hook/index.php b/modules/dashgoals/views/templates/hook/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashgoals/views/templates/index.php b/modules/dashgoals/views/templates/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashgoals/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashproducts b/modules/dashproducts deleted file mode 160000 index b9c3c7c4..00000000 --- a/modules/dashproducts +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b9c3c7c440ac6ae7b2e67003ce89d4e3b6c881ff diff --git a/modules/dashproducts/CHANGELOG.txt b/modules/dashproducts/CHANGELOG.txt new file mode 100644 index 00000000..7f0dafb5 --- /dev/null +++ b/modules/dashproducts/CHANGELOG.txt @@ -0,0 +1,3 @@ +2014-04-22 18:58:19 +0200 // Changelog updated +2014-03-24 15:21:15 +0100 / MO dashproducts : ps_versions_compliancy added +2014-03-20 14:32:28 +0100 Initial commit diff --git a/modules/dashproducts/Readme.md b/modules/dashproducts/Readme.md new file mode 100644 index 00000000..7e3cd259 --- /dev/null +++ b/modules/dashproducts/Readme.md @@ -0,0 +1,37 @@ +# Dashboard Products + +## About + +Adds a block with a table of your latest orders and a ranking of your products. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the dashproducts project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/dashproducts/config.xml b/modules/dashproducts/config.xml new file mode 100644 index 00000000..4ce32814 --- /dev/null +++ b/modules/dashproducts/config.xml @@ -0,0 +1,12 @@ + + + dashproducts + + + + + + 0 + 1 + + diff --git a/modules/dashproducts/config_fr.xml b/modules/dashproducts/config_fr.xml new file mode 100644 index 00000000..4fa91fb0 --- /dev/null +++ b/modules/dashproducts/config_fr.xml @@ -0,0 +1,12 @@ + + + dashproducts + + + + + + 0 + 1 + + \ No newline at end of file diff --git a/modules/dashproducts/dashproducts.php b/modules/dashproducts/dashproducts.php new file mode 100644 index 00000000..552fed41 --- /dev/null +++ b/modules/dashproducts/dashproducts.php @@ -0,0 +1,586 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class DashProducts extends Module +{ + public function __construct() + { + $this->name = 'dashproducts'; + $this->tab = 'dashboard'; + $this->version = '0.3.3'; + $this->author = 'PrestaShop'; + + $this->push_filename = _PS_CACHE_DIR_.'push/activity'; + $this->allow_push = true; + + parent::__construct(); + $this->displayName = $this->l('Dashboard Products'); + $this->description = $this->l('Adds a block with a table of your latest orders and a ranking of your products'); + $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); + } + + public function install() + { + Configuration::updateValue('DASHPRODUCT_NBR_SHOW_LAST_ORDER', 10); + Configuration::updateValue('DASHPRODUCT_NBR_SHOW_BEST_SELLER', 10); + Configuration::updateValue('DASHPRODUCT_NBR_SHOW_MOST_VIEWED', 10); + Configuration::updateValue('DASHPRODUCT_NBR_SHOW_TOP_SEARCH', 10); + + return (parent::install() + && $this->registerHook('dashboardZoneTwo') + && $this->registerHook('dashboardData') + && $this->registerHook('actionObjectOrderAddAfter') + && $this->registerHook('actionSearch') + ); + } + + public function hookDashboardZoneTwo($params) + { + $this->context->smarty->assign( + array( + 'DASHACTIVITY_CART_ACTIVE' => Configuration::get('DASHACTIVITY_CART_ACTIVE'), + 'DASHACTIVITY_VISITOR_ONLINE' => Configuration::get('DASHACTIVITY_VISITOR_ONLINE'), + 'DASHPRODUCT_NBR_SHOW_LAST_ORDER' => Configuration::get('DASHPRODUCT_NBR_SHOW_LAST_ORDER'), + 'DASHPRODUCT_NBR_SHOW_BEST_SELLER' => Configuration::get('DASHPRODUCT_NBR_SHOW_BEST_SELLER'), + 'DASHPRODUCT_NBR_SHOW_TOP_SEARCH' => Configuration::get('DASHPRODUCT_NBR_SHOW_TOP_SEARCH'), + 'date_from' => Tools::displayDate($params['date_from']), + 'date_to' => Tools::displayDate($params['date_to']), + 'dashproducts_config_form' => $this->renderConfigForm(), + ) + ); + + return $this->display(__FILE__, 'dashboard_zone_two.tpl'); + } + + public function hookDashboardData($params) + { + $table_recent_orders = $this->getTableRecentOrders(); + $table_best_sellers = $this->getTableBestSellers($params['date_from'], $params['date_to']); + $table_most_viewed = $this->getTableMostViewed($params['date_from'], $params['date_to']); + $table_top_10_most_search = $this->getTableTop10MostSearch($params['date_from'], $params['date_to']); + + //$table_top_5_search = $this->getTableTop5Search(); + return array( + 'data_table' => array( + 'table_recent_orders' => $table_recent_orders, + 'table_best_sellers' => $table_best_sellers, + 'table_most_viewed' => $table_most_viewed, + 'table_top_10_most_search' => $table_top_10_most_search, + //'table_top_5_search' => $table_top_5_search + ) + ); + } + + public function getTableRecentOrders() + { + $header = array( + array('title' => $this->l('Customer Name'), 'class' => 'text-left'), + array('title' => $this->l('Products'), 'class' => 'text-center'), + array('title' => $this->l('Total'), 'class' => 'text-center'), + array('title' => $this->l('Date'), 'class' => 'text-center'), + array('title' => $this->l('Action'), 'class' => 'text-center'), + ); + + $limit = (int)Configuration::get('DASHPRODUCT_NBR_SHOW_LAST_ORDER') ? (int)Configuration::get('DASHPRODUCT_NBR_SHOW_LAST_ORDER') : 10; + $orders = Order::getOrdersWithInformations($limit); + + $body = array(); + foreach ($orders as $order) + { + $currency = Currency::getCurrency((int)$order['id_currency']); + $tr = array(); + $tr[] = array( + 'id' => 'firstname_lastname', + 'value' => Tools::htmlentitiesUTF8($order['firstname']).' '.Tools::htmlentitiesUTF8($order['lastname']), + 'class' => 'text-left', + ); + $tr[] = array( + 'id' => 'total_products', + 'value' => count(OrderDetail::getList((int)$order['id_order'])), + 'class' => 'text-center', + ); + $tr[] = array( + 'id' => 'total_paid', + 'value' => Tools::displayPrice((float)$order['total_paid'], $currency), + 'class' => 'text-center', + 'wrapper_start' => $order['valid'] ? '' : '', + 'wrapper_end' => '', + ); + $tr[] = array( + 'id' => 'date_add', + 'value' => Tools::displayDate($order['date_add']), + 'class' => 'text-center', + ); + $tr[] = array( + 'id' => 'details', + 'value' => $this->l('Details'), + 'class' => 'text-right', + 'wrapper_start' => '', + 'wrapper_end' => '' + ); + + $body[] = $tr; + } + + return array('header' => $header, 'body' => $body); + } + + public function getTableBestSellers($date_from, $date_to) + { + $header = array( + array( + 'id' => 'image', + 'title' => $this->l('Image'), + 'class' => 'text-center', + ), + array( + 'id' => 'product', + 'title' => $this->l('Product'), + 'class' => 'text-center', + ), + array( + 'id' => 'category', + 'title' => $this->l('Category'), + 'class' => 'text-center', + ), + array( + 'id' => 'total_sold', + 'title' => $this->l('Total sold'), + 'class' => 'text-center', + ), + array( + 'id' => 'sales', + 'title' => $this->l('Sales'), + 'class' => 'text-center', + ), + array( + 'id' => 'net_profit', + 'title' => $this->l('Net profit'), + 'class' => 'text-center', + ) + ); + + $products = Db::getInstance()->ExecuteS( + ' + SELECT + product_id, + count(*) as total, + AVG(total_price_tax_excl / conversion_rate) as price, + SUM(total_price_tax_excl / conversion_rate) as sales, + SUM(product_quantity * purchase_supplier_price / conversion_rate) as expenses + FROM `'._DB_PREFIX_.'orders` o + LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON o.id_order = od.id_order + WHERE `invoice_date` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" + AND valid = 1 + '.Shop::addSqlRestriction(false, 'o').' + GROUP BY product_id + ORDER BY total DESC + LIMIT '.(int)Configuration::get('DASHPRODUCT_NBR_SHOW_BEST_SELLER', 10) + ); + + $body = array(); + foreach ($products as $product) + { + $product_obj = new Product((int)$product['product_id'], false, $this->context->language->id); + if (!Validate::isLoadedObject($product_obj)) + continue; + $category = new Category($product_obj->getDefaultCategory(), $this->context->language->id); + + $img = ''; + if (($row_image = Product::getCover($product_obj->id)) && $row_image['id_image']) + { + $image = new Image($row_image['id_image']); + $path_to_image = _PS_PROD_IMG_DIR_.$image->getExistingImgPath().'.'.$this->context->controller->imageType; + $img = ImageManager::thumbnail($path_to_image, 'product_mini_'.$product_obj->id.'.'.$this->context->controller->imageType, 45, $this->context->controller->imageType); + } + + $body[] = array( + array( + 'id' => 'product', + 'value' => $img, + 'class' => 'text-center' + ), + array( + 'id' => 'product', + 'value' => Tools::htmlentitiesUTF8($product_obj->name).'
'.Tools::displayPrice($product['price']), + 'class' => 'text-center' + ), + array( + 'id' => 'category', + 'value' => $category->name, + 'class' => 'text-center' + ), + array( + 'id' => 'total_sold', + 'value' => $product['total'], + 'class' => 'text-center' + ), + array( + 'id' => 'sales', + 'value' => Tools::displayPrice($product['sales']), + 'class' => 'text-center' + ), + array( + 'id' => 'net_profit', + 'value' => Tools::displayPrice($product['sales'] - $product['expenses']), + 'class' => 'text-center' + ) + ); + } + + return array('header' => $header, 'body' => $body); + } + + public function getTableMostViewed($date_from, $date_to) + { + $header = array( + array( + 'id' => 'image', + 'title' => $this->l('Image'), + 'class' => 'text-center', + ), + array( + 'id' => 'product', + 'title' => $this->l('Product'), + 'class' => 'text-center', + ), + array( + 'id' => 'views', + 'title' => $this->l('Views'), + 'class' => 'text-center', + ), + array( + 'id' => 'added_to_cart', + 'title' => $this->l('Added to cart'), + 'class' => 'text-center', + ), + array( + 'id' => 'purchased', + 'title' => $this->l('Purchased'), + 'class' => 'text-center', + ), + array( + 'id' => 'rate', + 'title' => $this->l('Percentage'), + 'class' => 'text-center', + ) + ); + + if (Configuration::get('PS_STATSDATA_PAGESVIEWS')) + { + $products = $this->getTotalViewed($date_from, $date_to, (int)Configuration::get('DASHPRODUCT_NBR_SHOW_MOST_VIEWED')); + $body = array(); + if (is_array($products) && count($products)) + foreach ($products as $product) + { + $product_obj = new Product((int)$product['id_object'], true, $this->context->language->id); + if (!Validate::isLoadedObject($product_obj)) + continue; + + $img = ''; + if (($row_image = Product::getCover($product_obj->id)) && $row_image['id_image']) + { + $image = new Image($row_image['id_image']); + $path_to_image = _PS_PROD_IMG_DIR_.$image->getExistingImgPath().'.'.$this->context->controller->imageType; + $img = ImageManager::thumbnail($path_to_image, 'product_mini_'.$product_obj->id.'.'.$this->context->controller->imageType, 45, $this->context->controller->imageType); + } + + $tr = array(); + $tr[] = array( + 'id' => 'product', + 'value' => $img, + 'class' => 'text-center' + ); + $tr[] = array( + 'id' => 'product', + 'value' => Tools::htmlentitiesUTF8($product_obj->name).'
'.Tools::displayPrice(Product::getPriceStatic((int)$product_obj->id)), + 'class' => 'text-center', + ); + $tr[] = array( + 'id' => 'views', + 'value' => $product['counter'], + 'class' => 'text-center', + ); + $added_cart = $this->getTotalProductAddedCart($date_from, $date_to, (int)$product_obj->id); + $tr[] = array( + 'id' => 'added_to_cart', + 'value' => $added_cart, + 'class' => 'text-center', + ); + $purchased = $this->getTotalProductPurchased($date_from, $date_to, (int)$product_obj->id); + $tr[] = array( + 'id' => 'purchased', + 'value' => $this->getTotalProductPurchased($date_from, $date_to, (int)$product_obj->id), + 'class' => 'text-center', + ); + $tr[] = array( + 'id' => 'rate', + 'value' => ($product['counter'] ? round(100 * $purchased / $product['counter'], 1).'%' : '-'), + 'class' => 'text-center', + ); + $body[] = $tr; + } + } + else + $body = '
'.$this->l('You must enable the "Save global page views" option from the "Data mining for statistics" module in order to display the most viewed products, or use the Google Analytics module.').'
'; + return array('header' => $header, 'body' => $body); + } + + public function getTableTop10MostSearch($date_from, $date_to) + { + $header = array( + array( + 'id' => 'reference', + 'title' => $this->l('Term'), + 'class' => 'text-left' + ), + array( + 'id' => 'name', + 'title' => $this->l('Search'), + 'class' => 'text-center' + ), + array( + 'id' => 'totalQuantitySold', + 'title' => $this->l('Results'), + 'class' => 'text-center' + ) + ); + + $terms = $this->getMostSearchTerms($date_from, $date_to, (int)Configuration::get('DASHPRODUCT_NBR_SHOW_TOP_SEARCH')); + $body = array(); + if (is_array($terms) && count($terms)) + foreach ($terms as $term) + { + $tr = array(); + $tr[] = array( + 'id' => 'product', + 'value' => $term['keywords'], + 'class' => 'text-left', + ); + $tr[] = array( + 'id' => 'product', + 'value' => $term['count_keywords'], + 'class' => 'text-center', + ); + $tr[] = array( + 'id' => 'product', + 'value' => $term['results'], + 'class' => 'text-center', + ); + $body[] = $tr; + } + + return array('header' => $header, 'body' => $body); + } + + public function getTableTop5Search() + { + $header = array( + array( + 'id' => 'reference', + 'title' => $this->l('Product'), + ) + ); + + $body = array(); + + return array('header' => $header, 'body' => $body); + } + + public function getTotalProductSales($date_from, $date_to, $id_product) + { + $sql = 'SELECT SUM(od.`product_quantity` * od.`product_price`) AS total + FROM `'._DB_PREFIX_.'order_detail` od + JOIN `'._DB_PREFIX_.'orders` o ON o.`id_order` = od.`id_order` + WHERE od.`product_id` = '.(int)$id_product.' + '.Shop::addSqlRestriction(Shop::SHARE_ORDER, 'o').' + AND o.valid = 1 + AND o.`date_add` BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'"'; + + return (int)Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql); + } + + public function getTotalProductAddedCart($date_from, $date_to, $id_product) + { + return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT count(`id_product`) as count + FROM `'._DB_PREFIX_.'cart_product` cp + WHERE cp.`id_product` = '.(int)$id_product.' + '.Shop::addSqlRestriction(false, 'cp').' + AND cp.`date_add` BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'"'); + } + + public function getTotalProductPurchased($date_from, $date_to, $id_product) + { + return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' + SELECT count(`product_id`) as count + FROM `'._DB_PREFIX_.'order_detail` od + JOIN `'._DB_PREFIX_.'orders` o ON o.`id_order` = od.`id_order` + WHERE od.`product_id` = '.(int)$id_product.' + '.Shop::addSqlRestriction(false, 'od').' + AND o.valid = 1 + AND o.`date_add` BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'"'); + } + + public function getTotalViewed($date_from, $date_to, $limit = 10) + { + $gapi = Module::isInstalled('gapi') ? Module::getInstanceByName('gapi') : false; + if (Validate::isLoadedObject($gapi) && $gapi->isConfigured()) + { + $products = array(); + // Only works with the default product URL pattern at this time + if ($result = $gapi->requestReportData('ga:pagePath', 'ga:visits', $date_from, $date_to, '-ga:visits', 'ga:pagePath=~/([a-z]{2}/)?([a-z]+/)?[0-9][0-9]*\-.*\.html$', 1, 10)) + foreach ($result as $row) + { + if (preg_match('@/([a-z]{2}/)?([a-z]+/)?([0-9]+)\-.*\.html$@', $row['dimensions']['pagePath'], $matches)) + $products[] = array('id_object' => (int)$matches[3], 'counter' => $row['metrics']['visits']); + } + + return $products; + } + else + return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT p.id_object, pv.counter + FROM `'._DB_PREFIX_.'page_viewed` pv + LEFT JOIN `'._DB_PREFIX_.'date_range` dr ON pv.`id_date_range` = dr.`id_date_range` + LEFT JOIN `'._DB_PREFIX_.'page` p ON pv.`id_page` = p.`id_page` + LEFT JOIN `'._DB_PREFIX_.'page_type` pt ON pt.`id_page_type` = p.`id_page_type` + WHERE pt.`name` = \'product\' + '.Shop::addSqlRestriction(false, 'pv').' + AND dr.`time_start` BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'" + AND dr.`time_end` BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'" + LIMIT '.(int)$limit); + } + + public function getMostSearchTerms($date_from, $date_to, $limit = 10) + { + if (!Module::isInstalled('statssearch')) + return array(); + + return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT `keywords`, count(`id_statssearch`) as count_keywords, `results` + FROM `'._DB_PREFIX_.'statssearch` ss + WHERE ss.`date_add` BETWEEN "'.pSQL($date_from).'" AND "'.pSQL($date_to).'" + '.Shop::addSqlRestriction(false, 'ss').' + GROUP BY ss.`keywords` + ORDER BY `count_keywords` DESC + LIMIT '.(int)$limit); + } + + public function renderConfigForm() + { + $fields_form = array( + 'form' => array( + 'input' => array(), + 'submit' => array( + 'title' => $this->l(' Save '), + 'class' => 'btn btn-default pull-right submit_dash_config', + 'reset' => array( + 'title' => $this->l('Cancel'), + 'class' => 'btn btn-default cancel_dash_config', + ) + ) + ), + ); + + $inputs = array( + array( + 'label' => $this->l('Number of "Recent Orders" to display'), + 'config_name' => 'DASHPRODUCT_NBR_SHOW_LAST_ORDER' + ), + array( + 'label' => $this->l('Number of "Best Sellers" to display'), + 'config_name' => 'DASHPRODUCT_NBR_SHOW_BEST_SELLER' + ), + array( + 'label' => $this->l('Number of "Most Viewed" to display'), + 'config_name' => 'DASHPRODUCT_NBR_SHOW_MOST_VIEWED' + ), + array( + 'label' => $this->l('Number of "Top Searches" to display'), + 'config_name' => 'DASHPRODUCT_NBR_SHOW_TOP_SEARCH' + ), + ); + + foreach ($inputs as $input) + $fields_form['form']['input'][] = array( + 'type' => 'select', + 'label' => $input['label'], + 'name' => $input['config_name'], + 'options' => array( + 'query' => array( + array('id' => 5, 'name' => 5), + array('id' => 10, 'name' => 10), + array('id' => 20, 'name' => 20), + array('id' => 50, 'name' => 50), + ), + 'id' => 'id', + 'name' => 'name', + ) + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + $helper->id = (int)Tools::getValue('id_carrier'); + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitDashConfig'; + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'DASHPRODUCT_NBR_SHOW_LAST_ORDER' => Configuration::get('DASHPRODUCT_NBR_SHOW_LAST_ORDER'), + 'DASHPRODUCT_NBR_SHOW_BEST_SELLER' => Configuration::get('DASHPRODUCT_NBR_SHOW_BEST_SELLER'), + 'DASHPRODUCT_NBR_SHOW_MOST_VIEWED' => Configuration::get('DASHPRODUCT_NBR_SHOW_MOST_VIEWED'), + 'DASHPRODUCT_NBR_SHOW_TOP_SEARCH' => Configuration::get('DASHPRODUCT_NBR_SHOW_TOP_SEARCH'), + ); + } + + public function hookActionObjectOrderAddAfter($params) + { + Tools::changeFileMTime($this->push_filename); + } + + public function hookActionSearch($params) + { + Tools::changeFileMTime($this->push_filename); + } +} diff --git a/modules/dashproducts/index.php b/modules/dashproducts/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashproducts/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashproducts/logo.gif b/modules/dashproducts/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b69fb2c8259deeea75017f8e52876f94cd90c963 GIT binary patch literal 964 zcmZ?wbhEHb6krfw_|5dbiTQbXB_$;;#nW6$rn!_&bE%l-Shk3v_dmmg z{|uAN8?{xi(`&#>@6!{Yx8OaC*h_;1{J$f)U%QOhBt_CrRUhm5)o z8TA}8>N{jS;gDm)!sPzV$Q$@Ou358q{mvzuc5d9b zam$u1+qP}nyLWHvvO}$F4^3QiXyUp<6E_@Mzw_|=J%@qd=FOXT?%cU|@7|+FkDfhy z_U6r-ckkYP`0(M=r%#_hfBygfKiDgy#ApbR76OVtSr{1@{xj%+w1M&j1II#!|C}-& z8y+0sm$NB(a3Ha{jYrZTMndAS6Dyanic7mC`00009a7bBm000ie000ie0hKEb8vp*_Mtbez_$i^{@x;A0d$<1-kxmoVnB@XT>_k^3_rhgk* zI=;Su#j_5LMgyA7=B=WgmWB1}3ru+fK+|fq*pJ%nHp_pOs6o4EraXb07YKzyfL{h= zG8vX7Nn%+I+SPM`STqVYs}*v&9Ls*cpJg>@SI-6RVg?0zDiDc8z$}XJBb#M;b!CNR zHE37=eFcL%aPI{^ClcUtIw7CWv%D1yvaAN}>c2}^uh*ekt+GE8np&;KvKq8&a0z=Z zkV>V%=kr0aSY$aa%PgxwyZY}ERw@-J6bev3J7f9h=_$)<(5@R7FiUGtDwUvIF5fEJ zDZ1B`3(#YM9wtNK6VQ5-pj}39xh1s7dAK*|H7B80+yZ*Zy+HGvI|)OpMdgRd#na4a wI~p@je;X4On7S}_G1dashproducts_6655df4af87b2038afd507a33545a56d'] = 'Tableau de bord Produits'; +$_MODULE['<{dashproducts}prestashop>dashproducts_4a528e24be5aca96e8a15b256efe1f31'] = 'Ajoute un bloc avec un tableau de vos dernières commandes et le classement de vos meilleurs produits'; +$_MODULE['<{dashproducts}prestashop>dashproducts_2ea989f83006e233627987293f4bde0a'] = 'Nom du client'; +$_MODULE['<{dashproducts}prestashop>dashproducts_068f80c7519d0528fb08e82137a72131'] = 'Produits'; +$_MODULE['<{dashproducts}prestashop>dashproducts_96b0141273eabab320119c467cdcaf17'] = 'Total'; +$_MODULE['<{dashproducts}prestashop>dashproducts_44749712dbec183e983dcd78a7736c41'] = 'Date'; +$_MODULE['<{dashproducts}prestashop>dashproducts_004bf6c9a40003140292e97330236c53'] = 'Outils'; +$_MODULE['<{dashproducts}prestashop>dashproducts_3ec365dd533ddb7ef3d1c111186ce872'] = 'Détails'; +$_MODULE['<{dashproducts}prestashop>dashproducts_be53a0541a6d36f6ecb879fa2c584b08'] = 'Image'; +$_MODULE['<{dashproducts}prestashop>dashproducts_deb10517653c255364175796ace3553f'] = 'Produit'; +$_MODULE['<{dashproducts}prestashop>dashproducts_3adbdb3ac060038aa0e6e6c138ef9873'] = 'Catégorie'; +$_MODULE['<{dashproducts}prestashop>dashproducts_2aed3d711270a6ed67d21ec2d7cd4af8'] = 'Total vendu'; +$_MODULE['<{dashproducts}prestashop>dashproducts_11ff9f68afb6b8b5b8eda218d7c83a65'] = 'Ventes'; +$_MODULE['<{dashproducts}prestashop>dashproducts_9e79098315622e58529d664b9a8b3cf8'] = 'Bénéfice net'; +$_MODULE['<{dashproducts}prestashop>dashproducts_ed4832a84ee072b00a6740f657183598'] = 'Vues'; +$_MODULE['<{dashproducts}prestashop>dashproducts_2c04f1ad7694378897b98624780327ff'] = 'Ajoutés au panier'; +$_MODULE['<{dashproducts}prestashop>dashproducts_ce4ee01637f4279d02d0f232459dc9a4'] = 'Achetés'; +$_MODULE['<{dashproducts}prestashop>dashproducts_37be07209f53a5d636d5c904ca9ae64c'] = 'Pourcentage'; +$_MODULE['<{dashproducts}prestashop>dashproducts_1eb18ea1d018abef5759cef60ddc289b'] = 'Vous devez activer l\'option "Enregistrer les pages vues pour chaque client" du module "Récupération des données statistiques" afin d\'afficher les produits les plus vus, ou utiliser le module Google Analytics.'; +$_MODULE['<{dashproducts}prestashop>dashproducts_cf5f3091e30dee6597885d8c0e0c357f'] = 'Terme'; +$_MODULE['<{dashproducts}prestashop>dashproducts_13348442cc6a27032d2b4aa28b75a5d3'] = 'Rechercher'; +$_MODULE['<{dashproducts}prestashop>dashproducts_fd69c5cf902969e6fb71d043085ddee6'] = 'Résultats'; +$_MODULE['<{dashproducts}prestashop>dashproducts_38fb7d24e0d60a048f540ecb18e13376'] = 'Enregistrer'; +$_MODULE['<{dashproducts}prestashop>dashproducts_ea4788705e6873b424c65e91c2846b19'] = 'Annuler'; +$_MODULE['<{dashproducts}prestashop>dashproducts_85bf7474324d7d02725e4dca586afcd9'] = 'Nombre de "Commandes récentes" à afficher'; +$_MODULE['<{dashproducts}prestashop>dashproducts_735b8c7f6d50b4c6f818deeab3cdea4a'] = 'Nombre de "Meilleures ventes" à afficher'; +$_MODULE['<{dashproducts}prestashop>dashproducts_14d24dddc4c67abf8364b980b2ccd5a2'] = 'Nombre de "Produits les plus vus" à afficher'; +$_MODULE['<{dashproducts}prestashop>dashproducts_f1ee1eaab342241138d45f35f4d8466a'] = 'Nombre de "Meilleures recherches" à afficher'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_3e361ce73ecabd6524af286d55809ed7'] = 'Produits et Ventes'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_f1206f9fadc5ce41694f69129aecac26'] = 'Configurer'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_63a6a88c066880c5ac42394a22803ca6'] = 'Rafraîchir'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_254f642527b45bc260048e30704edb39'] = 'Paramètres'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_fd3458547ef9c3a8bd0e1e1b4ef2b4dd'] = 'Commandes récentes'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_d7b2933ba512ada478c97fa43dd7ebe6'] = 'Meilleures Ventes'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_be5006eb5af9ab6dbca803f8d3065bbc'] = 'plus vus'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_1eb5e5713d7363e921dd7f5500b6d212'] = 'Meilleures recherches'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_3d23ac9ab254a9f1014c3a859b01bcfc'] = '%d dernières commandes'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_82f0f8d535196ce2a6ea16652d981f94'] = '%d meilleurs produits'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_5da618e8e4b89c66fe86e32cdafde142'] = 'Du'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_01b6e20344b68835c5ed1ddedf20d531'] = 'jusqu\'au'; +$_MODULE['<{dashproducts}prestashop>dashboard_zone_two_1daaca459ce1e6610e0b97a9ad723f27'] = '%d mots les plus recherchés'; + + +return $_MODULE; diff --git a/modules/dashproducts/translations/index.php b/modules/dashproducts/translations/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/dashproducts/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/dashproducts/views/index.php b/modules/dashproducts/views/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashproducts/views/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashproducts/views/templates/hook/dashboard_zone_two.tpl b/modules/dashproducts/views/templates/hook/dashboard_zone_two.tpl new file mode 100644 index 00000000..b53f6181 --- /dev/null +++ b/modules/dashproducts/views/templates/hook/dashboard_zone_two.tpl @@ -0,0 +1,123 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
+
+ {l s='Products and Sales' mod='dashproducts'} + + + + + + + + +
+ +
+
{l s='Configuration' mod='dashproducts'}
+ {$dashproducts_config_form} +
+ +
+ + +
+
+

{l s='Last %d orders' sprintf=$DASHPRODUCT_NBR_SHOW_LAST_ORDER|intval mod='dashproducts'}

+
+ + + +
+
+
+
+

+ {l s='Top %d products' sprintf=$DASHPRODUCT_NBR_SHOW_BEST_SELLER|intval mod='dashproducts'} + {l s="From" mod='dashproducts'} {$date_from} {l s="to" mod='dashproducts'} {$date_to} +

+
+ + + +
+
+
+
+

+ {l s="Most Viewed" mod='dashproducts'} + {l s="From" mod='dashproducts'} {$date_from} {l s="to" mod='dashproducts'} {$date_to} +

+
+ + + +
+
+
+ +
+ +
+
diff --git a/modules/dashproducts/views/templates/hook/index.php b/modules/dashproducts/views/templates/hook/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashproducts/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashproducts/views/templates/index.php b/modules/dashproducts/views/templates/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/dashproducts/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashtrends b/modules/dashtrends deleted file mode 160000 index 12d4a293..00000000 --- a/modules/dashtrends +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 12d4a2932c0fca927d3b807e3e91a0678b6316db diff --git a/modules/dashtrends/CHANGELOG.txt b/modules/dashtrends/CHANGELOG.txt new file mode 100644 index 00000000..02d661f1 --- /dev/null +++ b/modules/dashtrends/CHANGELOG.txt @@ -0,0 +1,10 @@ +2014-04-22 16:25:49 +0200 // dashtrends: Better translatability. +2014-04-14 14:51:09 +0200 [-] MO : Dashtrends - FixBug #PSCSX-1742 +2014-04-03 10:17:09 +0200 // fix date +2014-04-01 16:33:15 +0200 [*] MO : Dashboard trends - FixBug PSCSX-1517 +2014-04-01 15:48:49 +0200 [-] MO : Dashtrends - FixBug #PSCSX-1527 - Wrong date +2014-03-31 16:50:35 +0200 // Missing correct color on dashtrends init +2014-03-31 16:47:09 +0200 // Fix dashtrends init +2014-03-29 14:14:48 +0100 [-] MO : Dashtrends - FixBug #PSCSX-984 - Set units for all graphs +2014-03-24 15:45:38 +0100 / MO dashtrends : ps_versions_compliancy added +2014-03-20 14:32:31 +0100 Initial commit diff --git a/modules/dashtrends/Readme.md b/modules/dashtrends/Readme.md new file mode 100644 index 00000000..4a40509e --- /dev/null +++ b/modules/dashtrends/Readme.md @@ -0,0 +1,37 @@ +# Dashboard Trends + +## About + +Adds a block whith the evolution of your stores main numbers along with a graphic. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the dashtrends project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/dashtrends/config.xml b/modules/dashtrends/config.xml new file mode 100644 index 00000000..3bb094ae --- /dev/null +++ b/modules/dashtrends/config.xml @@ -0,0 +1,12 @@ + + + dashtrends + + + + + + 0 + 1 + + diff --git a/modules/dashtrends/config_fr.xml b/modules/dashtrends/config_fr.xml new file mode 100644 index 00000000..563b61ea --- /dev/null +++ b/modules/dashtrends/config_fr.xml @@ -0,0 +1,12 @@ + + + dashtrends + + + + + + 0 + 1 + + \ No newline at end of file diff --git a/modules/dashtrends/dashtrends.php b/modules/dashtrends/dashtrends.php new file mode 100644 index 00000000..2f4328f2 --- /dev/null +++ b/modules/dashtrends/dashtrends.php @@ -0,0 +1,338 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class Dashtrends extends Module +{ + protected $dashboard_data; + protected $dashboard_data_compare; + protected $dashboard_data_sum; + protected $dashboard_data_sum_compare; + protected $data_trends; + + public function __construct() + { + $this->name = 'dashtrends'; + $this->tab = 'dashboard'; + $this->version = '0.7.5'; + $this->author = 'PrestaShop'; + + $this->push_filename = _PS_CACHE_DIR_.'push/trends'; + $this->allow_push = true; + + parent::__construct(); + $this->displayName = $this->l('Dashboard Trends'); + $this->description = $this->l('Adds a block with a graphical representation of the development of your store(s) based on selected key data.'); + $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_); + } + + public function install() + { + return (parent::install() + && $this->registerHook('dashboardZoneTwo') + && $this->registerHook('dashboardData') + && $this->registerHook('actionAdminControllerSetMedia') + && $this->registerHook('actionOrderStatusPostUpdate') + ); + } + + public function hookActionAdminControllerSetMedia() + { + if (get_class($this->context->controller) == 'AdminDashboardController') + $this->context->controller->addJs($this->_path.'views/js/'.$this->name.'.js'); + } + + public function hookDashboardZoneTwo($params) + { + $this->context->smarty->assign(array( + 'currency' => $this->context->currency + )); + return $this->display(__FILE__, 'dashboard_zone_two.tpl'); + } + + protected function getData($date_from, $date_to) + { + // We need the following figures to calculate our stats + $tmp_data = array( + 'visits' => array(), + 'orders' => array(), + 'total_paid_tax_excl' => array(), + 'total_purchases' => array(), + 'total_expenses' => array() + ); + + if (Configuration::get('PS_DASHBOARD_SIMULATION')) + { + $from = strtotime($date_from.' 00:00:00'); + $to = min(time(), strtotime($date_to.' 23:59:59')); + for ($date = $from; $date <= $to; $date = strtotime('+1 day', $date)) + { + $tmp_data['visits'][$date] = round(rand(2000, 20000)); + $tmp_data['conversion_rate'][$date] = rand(80, 250) / 100; + $tmp_data['average_cart_value'][$date] = round(rand(60, 200), 2); + $tmp_data['orders'][$date] = round($tmp_data['visits'][$date] * $tmp_data['conversion_rate'][$date] / 100); + $tmp_data['total_paid_tax_excl'][$date] = $tmp_data['orders'][$date] * $tmp_data['average_cart_value'][$date]; + $tmp_data['total_purchases'][$date] = $tmp_data['total_paid_tax_excl'][$date] * rand(50, 70) / 100; + $tmp_data['total_expenses'][$date] = $tmp_data['total_paid_tax_excl'][$date] * rand(0, 10) / 100; + } + } + else + { + $tmp_data['visits'] = AdminStatsController::getVisits(false, $date_from, $date_to, 'day'); + $tmp_data['orders'] = AdminStatsController::getOrders($date_from, $date_to, 'day'); + $tmp_data['total_paid_tax_excl'] = AdminStatsController::getTotalSales($date_from, $date_to, 'day'); + $tmp_data['total_purchases'] = AdminStatsController::getPurchases($date_from, $date_to, 'day'); + $tmp_data['total_expenses'] = AdminStatsController::getExpenses($date_from, $date_to, 'day'); + } + + return $tmp_data; + } + + protected function refineData($date_from, $date_to, $gross_data) + { + $refined_data = array( + 'sales' => array(), + 'orders' => array(), + 'average_cart_value' => array(), + 'visits' => array(), + 'conversion_rate' => array(), + 'net_profits' => array() + ); + + $from = strtotime($date_from.' 00:00:00'); + $to = min(time(), strtotime($date_to.' 23:59:59')); + for ($date = $from; $date <= $to; $date = strtotime('+1 day', $date)) + { + $refined_data['sales'][$date] = 0; + if (isset($gross_data['total_paid_tax_excl'][$date])) + $refined_data['sales'][$date] += $gross_data['total_paid_tax_excl'][$date]; + + $refined_data['orders'][$date] = isset($gross_data['orders'][$date]) ? $gross_data['orders'][$date] : 0; + + $refined_data['average_cart_value'][$date] = $refined_data['orders'][$date] ? $refined_data['sales'][$date] / $refined_data['orders'][$date] : 0; + + $refined_data['visits'][$date] = isset($gross_data['visits'][$date]) ? $gross_data['visits'][$date] : 0; + + $refined_data['conversion_rate'][$date] = $refined_data['visits'][$date] ? $refined_data['orders'][$date] / $refined_data['visits'][$date] : 0; + + $refined_data['net_profits'][$date] = 0; + if (isset($gross_data['total_paid_tax_excl'][$date])) + $refined_data['net_profits'][$date] += $gross_data['total_paid_tax_excl'][$date]; + if (isset($gross_data['total_purchases'][$date])) + $refined_data['net_profits'][$date] -= $gross_data['total_purchases'][$date]; + if (isset($gross_data['total_expenses'][$date])) + $refined_data['net_profits'][$date] -= $gross_data['total_expenses'][$date]; + } + return $refined_data; + } + + protected function addupData($data) + { + $summing = array( + 'sales' => 0, + 'orders' => 0, + 'average_cart_value' => 0, + 'visits' => 0, + 'conversion_rate' => 0, + 'net_profits' => 0 + ); + + $summing['sales'] = array_sum($data['sales']); + $summing['orders'] = array_sum($data['orders']); + $summing['average_cart_value'] = $summing['sales'] ? $summing['sales'] / $summing['orders'] : 0; + $summing['visits'] = array_sum($data['visits']); + $summing['conversion_rate'] = $summing['visits'] ? $summing['orders'] / $summing['visits'] : 0; + $summing['net_profits'] = array_sum($data['net_profits']); + + return $summing; + } + + protected function compareData($data1, $data2) + { + return array( + 'sales_score_trends' => array( + 'way' => ($data1['sales'] == $data2['sales'] ? 'right' : ($data1['sales'] > $data2['sales'] ? 'up' : 'down')), + 'value' => ($data1['sales'] > $data2['sales'] ? '+' : '').($data2['sales'] ? round(100 * $data1['sales'] / $data2['sales'] - 100, 2).'%' : '∞') + ), + 'orders_score_trends' => array( + 'way' => ($data1['orders'] == $data2['orders'] ? 'right' : ($data1['orders'] > $data2['orders'] ? 'up' : 'down')), + 'value' => ($data1['orders'] > $data2['orders'] ? '+' : '').($data2['orders'] ? round(100 * $data1['orders'] / $data2['orders'] - 100, 2).'%' : '∞') + ), + 'cart_value_score_trends' => array( + 'way' => ($data1['average_cart_value'] == $data2['average_cart_value'] ? 'right' : ($data1['average_cart_value'] > $data2['average_cart_value'] ? 'up' : 'down')), + 'value' => ($data1['average_cart_value'] > $data2['average_cart_value'] ? '+' : '').($data2['average_cart_value'] ? round(100 * $data1['average_cart_value'] / $data2['average_cart_value'] - 100, 2).'%' : '∞') + ), + 'visits_score_trends' => array( + 'way' => ($data1['visits'] == $data2['visits'] ? 'right' : ($data1['visits'] > $data2['visits'] ? 'up' : 'down')), + 'value' => ($data1['visits'] > $data2['visits'] ? '+' : '').($data2['visits'] ? round(100 * $data1['visits'] / $data2['visits'] - 100, 2).'%' : '∞') + ), + 'conversion_rate_score_trends' => array( + 'way' => ($data1['conversion_rate'] == $data2['conversion_rate'] ? 'right' : ($data1['conversion_rate'] > $data2['conversion_rate'] ? 'up' : 'down')), + 'value' => ($data1['conversion_rate'] > $data2['conversion_rate'] ? '+' : '') . ($data2['conversion_rate'] ? sprintf($this->l('%s points'), round(100 * ($data1['conversion_rate'] - $data2['conversion_rate']), 2)) : '∞') + ), + 'net_profits_score_trends' => array( + 'way' => ($data1['net_profits'] == $data2['net_profits'] ? 'right' : ($data1['net_profits'] > $data2['net_profits'] ? 'up' : 'down')), + 'value' => ($data1['net_profits'] > $data2['net_profits'] ? '+' : '').($data2['net_profits'] ? round(100 * $data1['net_profits'] / $data2['net_profits'] - 100, 2).'%' : '∞') + ) + ); + } + + public function hookDashboardData($params) + { + // Artificially remove the decimals in order to get a cleaner Dashboard + $currency = clone $this->context->currency; + $currency->decimals = 0; + + // Retrieve, refine and add up data for the selected period + $tmp_data = $this->getData($params['date_from'], $params['date_to']); + $this->dashboard_data = $this->refineData($params['date_from'], $params['date_to'], $tmp_data); + $this->dashboard_data_sum = $this->addupData($this->dashboard_data); + + if ($params['compare_from'] && $params['compare_from'] != '0000-00-00') + { + // Retrieve, refine and add up data for the comparison period + $tmp_data_compare = $this->getData($params['compare_from'], $params['compare_to']); + $this->dashboard_data_compare = $this->refineData($params['compare_from'], $params['compare_to'], $tmp_data_compare); + $this->dashboard_data_sum_compare = $this->addupData($this->dashboard_data_compare); + + $this->data_trends = $this->compareData($this->dashboard_data_sum, $this->dashboard_data_sum_compare); + $this->dashboard_data_compare = $this->translateCompareData($this->dashboard_data, $this->dashboard_data_compare); + } + + return array( + 'data_value' => array( + 'sales_score' => Tools::displayPrice(round($this->dashboard_data_sum['sales']), $currency), + 'orders_score' => Tools::displayNumber($this->dashboard_data_sum['orders'], $currency), + 'cart_value_score' => Tools::displayPrice($this->dashboard_data_sum['average_cart_value'], $currency), + 'visits_score' => Tools::displayNumber($this->dashboard_data_sum['visits'], $currency), + 'conversion_rate_score' => round(100 * $this->dashboard_data_sum['conversion_rate'], 2).'%', + 'net_profits_score' => Tools::displayPrice(round($this->dashboard_data_sum['net_profits']), $currency), + ), + 'data_trends' => $this->data_trends, + 'data_chart' => array('dash_trends_chart1' => $this->getChartTrends()), + ); + } + + protected function translateCompareData($normal, $compare) + { + $translated_array = array(); + foreach ($compare as $key => $date_array) + { + $normal_min = key($normal[$key]); + end($normal[$key]); // move the internal pointer to the end of the array + $normal_max = key($normal[$key]); + reset($normal[$key]); + $normal_size = $normal_max - $normal_min; + + $compare_min = key($compare[$key]); + end($compare[$key]); // move the internal pointer to the end of the array + $compare_max = key($compare[$key]); + reset($compare[$key]); + $compare_size = $compare_max - $compare_min; + + $translated_array[$key] = array(); + foreach ($date_array as $compare_date => $value) + { + $translation = $normal_min + ($compare_date - $compare_min) * ($normal_size / $compare_size); + $translated_array[$key][number_format($translation, 0, '', '')] = $value; + } + } + + return $translated_array; + } + + public function getChartTrends() + { + $chart_data = array(); + $chart_data_compare = array(); + foreach (array_keys($this->dashboard_data) as $chart_key) + { + $chart_data[$chart_key] = $chart_data_compare[$chart_key] = array(); + + if (!$count = count($this->dashboard_data[$chart_key])) + continue; + + // We calibrate 100% to the mean + $calibration = array_sum($this->dashboard_data[$chart_key]) / $count; + + foreach ($this->dashboard_data[$chart_key] as $key => $value) + $chart_data[$chart_key][] = array($key, $value); + // min(10) is there to limit the growth to 1000%, beyond this limit it becomes unreadable + //$chart_data[$chart_key][] = array(1000 * $key, $calibration ? min(10, $value / $calibration) : 0); + + if ($this->dashboard_data_compare) + foreach ($this->dashboard_data_compare[$chart_key] as $key => $value) + $chart_data_compare[$chart_key][] = array($key, $value); + // min(10) is there to limit the growth to 1000%, beyond this limit it becomes unreadable + /*$chart_data_compare[$chart_key][] = array( + 1000 * $key, + $calibration ? min(10, $value / $calibration) : 0 + );*/ + } + + $charts = array( + 'sales' => $this->l('Sales'), + 'orders' => $this->l('Orders'), + 'average_cart_value' => $this->l('Average Cart Value'), + 'visits' => $this->l('Visits'), + 'conversion_rate' => $this->l('Conversion Rate'), + 'net_profits' => $this->l('Net Profit') + ); + + $gfx_color = array('#1777B6','#2CA121','#E61409','#FF7F00','#6B399C','#B3591F'); + $gfx_color_compare = array('#A5CEE4','#B1E086','#FD9997','#FFC068','#CAB1D7','#D2A689'); + + $i = 0; + $data = array('chart_type' => 'line_chart_trends', 'date_format' => $this->context->language->date_format_lite, 'data' => array()); + foreach ($charts as $key => $title) + { + $data['data'][] = array( + 'id' => $key, + 'key' => $title, + 'color' => $gfx_color[$i], + 'values' => $chart_data[$key], + 'disabled' => ($key == 'sales' ? false : true) + ); + if ($this->dashboard_data_compare) + $data['data'][] = array( + 'id' => $key.'_compare', + 'color' => $gfx_color_compare[$i], + 'key' => sprintf($this->l('%s (previous period)'), $title), + 'values' => $chart_data_compare[$key], + 'disabled' => ($key == 'sales' ? false : true) + ); + $i++; + } + return $data; + } + + public function hookActionOrderStatusPostUpdate($params) + { + Tools::changeFileMTime($this->push_filename); + } +} diff --git a/modules/dashtrends/index.php b/modules/dashtrends/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashtrends/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashtrends/logo.gif b/modules/dashtrends/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..f7d5d7d304b8fb3b7483ca9cfc69ed15afee8a41 GIT binary patch literal 973 zcmZ?wbhEHb6krfw_|5tI4LJs{R-o2s@6GR;+i@Qw~cbg{eG)2OBnuNh*WcSs1|NeF4(1Aw$r$1w`Ju%%j*5s#mi!g_qY`7 z@~B&rc+XGsrLWTCSpCPb<}Wf$J|*e=EHQbK?DRa#>0M38mrBQ`Etw4mU0M#O-0xC- z*st+qiuS)ItG`Y5FPF-^T`B%*(jPa;e%d1UZmrU@6^3sXn0?-^@M){Y*S)$w z_gmcWDSzIQ^0G1g@yfuLyJCJGHT-kh?B4~;|Cg=*U$*~$)b0N%kN+23{-00#bE#nV z`G)_GoBzL901l^7Vi<;i;!hSv28RC(Iv~G+@&p6NDu(}@G9Dl9PjBL2|KxG;kZXSn zOZXIx!bMC+8nrwoNPJ{SoS_@F>yNXdlS@Y*>%oMRhn{wF3MklF2+VlgHl;pp-HVh* ziHF&Ed0E&57cn0f()O5Ga$*9b^M!h|MVAg`hyAB?lS~H|qbZc64-TVD94FbVE=w I(SgAl02?yc+W-In literal 0 HcmV?d00001 diff --git a/modules/dashtrends/logo.png b/modules/dashtrends/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7610358ace9a47f65013b51594950cb149cd6866 GIT binary patch literal 1386 zcmV-w1(o`VP)mC`00009a7bBm000ie000ie0hKEb8vpmLa4I0PU919S!o1JH74o*fMD*>r5~0Ny+L#94#VD?u63 zY{QTIfA1gy0Qwb#0oQ2zZ12;b51O+L5NMwwo=^Z_kco^{6rv1R9C%@!0O>`bmYp9P zd>FthCgw1-M5qQO0sut{8LNnL*~GakX9>grfH?)YJy;mkU<_r?fCxA30Ms1Z6`NNA zflPaL*9yqV&1(SK4d5KK9Hys^T>j6OvVcWq3_4=~Ilp5eD&q$bc-tVNn)-b#CpZ5H zqC?O!0O#g!Z;tt3PS8N^Re|9AGNhds;kb;@V1z;l>k5LkfUE`KLp0il3kVjLSYiP% z&4jzNKmq`Pf(5`f0i*??0R#kuK516VOs&C507(jr?%c43K+84rm)!@y8&8Ib08|Jj z084>&PRhR=Bc1L9C-k?L7L;~B*B90NJuKKJ5Tz6aBRe-9CtyIc9PT-Ie1sW9^#3nt zRy;&kNg@x-0*#s1fe8Se59qx?-F?QdD){A4bR)0<*#ck-5%!Pl+;FOLlrQ8rg@_fm znR(0tP5@|W0RE$AV-4YGpy>MM!F%tSvwU93`b!(*iAs5?_#cUp721pWVl#r(W+FSmwQU*wWWtRq7Cup-qwg>07POM(Uwmy`R}ht zjr4YBN=4Uo9NTSs(4n7H+WEGwdH%(kIO&4QdY-IyY|h6tf~EoqNhmR8I0WF;!3JZn z5i9|MU7e_|@5zo8^BFtksC3ROC|IIuk=?jilP7JZ`%FwFn3?8RJ!?^E5=$)TRkn(jW-`(l24-n8 zR9VfOowb#0KOm?8wbP~W<(2N`r3LrTwBx2Twpqw_&=10N#1E{l>ou!K)s2x#op)*Q z3Q&ugENE@POrpOZ=!YKxe)QH3_%EzT-|Q~fS96w|PFZHIv)xFC;|;G3?(Y*d+RREG z6Ou<^p$jxs+JajP5eHMA-P2mW?-R&AcpC8ZYg@~WmsVn8LHj(q;jv6)xNhc9A;Jlc z)cmL>_iK?pCiKFT9uXM2h7*w|2j=A0tot1pxi-sAsZ`o9Re^|#5OhMQGpfm=VxgF= z7}rj-(x=Y6+ZdhoACs#eK?9+W?P2}?c9iXcIpUJ#DpTc@tMX@{x8i2^NS sJt*4;$~iE)+d62tbUm8rpPF8O1BIW$@bLI+T>t<807*qoM6N<$g4MxpNB{r; literal 0 HcmV?d00001 diff --git a/modules/dashtrends/translations/fr.php b/modules/dashtrends/translations/fr.php new file mode 100644 index 00000000..ef8a4952 --- /dev/null +++ b/modules/dashtrends/translations/fr.php @@ -0,0 +1,33 @@ +dashtrends_ee653ade5f520037ef95e9dc2a42364c'] = 'Tableau de bord des tendances'; +$_MODULE['<{dashtrends}prestashop>dashtrends_f2d0efa68eb71bfd5209abeb9f4b0943'] = 'Ajoute à votre tableau de bord un graphique représentant l\'évolution des indicateurs clés de votre boutique.'; +$_MODULE['<{dashtrends}prestashop>dashtrends_2d125dc25b158f28a1960bd96a9fa8d1'] = '%s points'; +$_MODULE['<{dashtrends}prestashop>dashtrends_11ff9f68afb6b8b5b8eda218d7c83a65'] = 'Ventes'; +$_MODULE['<{dashtrends}prestashop>dashtrends_7442e29d7d53e549b78d93c46b8cdcfc'] = 'Commandes'; +$_MODULE['<{dashtrends}prestashop>dashtrends_8c804960da61b637c548c951652b0cac'] = 'Panier moyen'; +$_MODULE['<{dashtrends}prestashop>dashtrends_d7e637a6e9ff116de2fa89551240a94d'] = 'Visites'; +$_MODULE['<{dashtrends}prestashop>dashtrends_e4c3da18c66c0147144767efeb59198f'] = 'Taux de transformation'; +$_MODULE['<{dashtrends}prestashop>dashtrends_43d729c7b81bfa5fc10e756660d877d1'] = 'Bénéfice net'; +$_MODULE['<{dashtrends}prestashop>dashtrends_46418a037045b91e6715c4da91a2a269'] = '%s (période précédente)'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_2938c7f7e560ed972f8a4f68e80ff834'] = 'Tableau de bord'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_f1206f9fadc5ce41694f69129aecac26'] = 'Configurer'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_63a6a88c066880c5ac42394a22803ca6'] = 'Rafraîchir'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_e537825dd409a90ef70d8c2eb56122a1'] = 'Chiffre d\'affaires (HT) généré sur la période donnée par les commandes considérées comme validées.'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_11ff9f68afb6b8b5b8eda218d7c83a65'] = 'Ventes'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_8bc1c5ca521b99b87908db0bcd33ec76'] = 'Nombre total de commandes passées dans l\'intervalle de dates et considérées comme validées.'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_7442e29d7d53e549b78d93c46b8cdcfc'] = 'Commandes'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_f15f2a2bf99d3dcad2cba1a2c615b9dc'] = 'Le Panier Moyen est une mesure représentant la valeur de la commande moyenne sur la période. Elle est calculée en divisant le montant global des ventes par le nombre de commandes.'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_791d6355d34dfaf60d68ef04d1ee5767'] = 'Panier Moyen'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_4f631447981c5fa240006a5ae2c4b267'] = 'Nombre total de visites dans l\'intervalle de dates. Une visite est la durée pendant laquelle un utilisateur est actif sur votre site.'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_d7e637a6e9ff116de2fa89551240a94d'] = 'Visites'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_7a6e858f8c7c0b78fb4d43cefcb8c017'] = 'Le taux de conversion e-commerce est le pourcentage de visites ayant abouti à une commande validée.'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_e4c3da18c66c0147144767efeb59198f'] = 'Taux de transformation'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_8dedc1b3ee3a92212fb5b5acad7f207f'] = 'Le bénéfice est une mesure de la profitabilité de votre entreprise après déduction de tous les frais de gestion. Vous pouvez renseigner ces coûts en cliquant sur l\'icône de configuration ci-dessus.'; +$_MODULE['<{dashtrends}prestashop>dashboard_zone_two_43d729c7b81bfa5fc10e756660d877d1'] = 'Bénéfice net'; + + +return $_MODULE; diff --git a/modules/dashtrends/translations/index.php b/modules/dashtrends/translations/index.php new file mode 100644 index 00000000..044cb85e --- /dev/null +++ b/modules/dashtrends/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/dashtrends/views/index.php b/modules/dashtrends/views/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashtrends/views/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashtrends/views/js/dashtrends.js b/modules/dashtrends/views/js/dashtrends.js new file mode 100644 index 00000000..2e53be60 --- /dev/null +++ b/modules/dashtrends/views/js/dashtrends.js @@ -0,0 +1,85 @@ +var dashtrends_data; +var dashtrends_chart; + +function line_chart_trends(widget_name, chart_details) +{ + if (chart_details.data[0].values.length <= 1) + $('#dash_trends_chart1').hide(); + else + $('#dash_trends_chart1').show(); + nv.addGraph(function() { + var chart = nv.models.lineChart() + .useInteractiveGuideline(true) + .x(function(d) { return (d !== undefined ? d[0] : 0); }) + .y(function(d) { return (d !== undefined ? parseInt(d[1]) : 0); }) + .margin({left: 80}); + + chart.xAxis.tickFormat(function(d) { + date = new Date(d*1000); + return date.format(chart_details['date_format']); + }); + + first_data = new Array(); + $.each(chart_details.data, function(index, value) { + if (value.id == 'sales' || value.id == 'sales_compare') + { + if (value.id == 'sales') + $('#dashtrends_toolbar dl:first').css('background-color', chart_details.data[index].color).addClass('active'); + first_data.push(chart_details.data[index]); + } + }); + + chart.yAxis.tickFormat(function(d) { + return formatCurrency(parseFloat(d), currency_format, currency_sign, currency_blank); + }); + + dashtrends_data = chart_details.data; + dashtrends_chart = chart; + + d3.select('#dash_trends_chart1 svg') + .datum(first_data) + .call(chart); + nv.utils.windowResize(chart.update); + + return chart; + }); +} + +function selectDashtrendsChart(element, type) +{ + $('#dashtrends_toolbar dl').removeClass('active'); + current_charts = new Array(); + $.each(dashtrends_data, function(index, value) { + if (value.id == type || value.id == type + '_compare') + { + if (value.id == type) + { + $(element).siblings().css('background-color', 'none').removeClass('active'); + $(element).css('background-color', dashtrends_data[index].color).addClass('active'); + } + + current_charts.push(dashtrends_data[index]); + value.disabled = false; + } + }); + + dashtrends_chart.yAxis.tickFormat(d3.format('.f')); + + if (type == 'sales' || type == 'average_cart_value' || type == 'net_profits') + dashtrends_chart.yAxis.tickFormat(function(d) { + return formatCurrency(parseFloat(d), currency_format, currency_sign, currency_blank); + }); + + if (type == 'conversion_rate') + dashtrends_chart.yAxis.tickFormat(function(d) { + return d3.round(d*100, 2)+' %'; + }); + + d3.select('#dash_trends_chart1 svg') + .datum(current_charts) + .call(dashtrends_chart); +} + +$(document).ready(function(){ + $("dl").tooltip(); +}); diff --git a/modules/dashtrends/views/js/index.php b/modules/dashtrends/views/js/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashtrends/views/js/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashtrends/views/templates/hook/dashboard_zone_two.tpl b/modules/dashtrends/views/templates/hook/dashboard_zone_two.tpl new file mode 100644 index 00000000..40466de2 --- /dev/null +++ b/modules/dashtrends/views/templates/hook/dashboard_zone_two.tpl @@ -0,0 +1,79 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
+
+
+ {l s='Dashboard' mod='dashtrends'} + + + + + + + + +
+
+
+
{l s='Sales' mod='dashtrends'}
+
+
+
+
+
{l s='Orders' mod='dashtrends'}
+
+
+
+
+
{l s='Cart Value' mod='dashtrends'}
+
+
+
+
+
{l s='Visits' mod='dashtrends'}
+
+
+
+
+
{l s='Conversion Rate' mod='dashtrends'}
+
+
+
+
+
{l s='Net Profit' mod='dashtrends'}
+
+
+
+
+ +
diff --git a/modules/dashtrends/views/templates/hook/index.php b/modules/dashtrends/views/templates/hook/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashtrends/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/dashtrends/views/templates/index.php b/modules/dashtrends/views/templates/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/dashtrends/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/graphnvd3 b/modules/graphnvd3 deleted file mode 160000 index f0865326..00000000 --- a/modules/graphnvd3 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f086532625c0ce03dbdec54c38863d4cf2156802 diff --git a/modules/graphnvd3/CHANGELOG.txt b/modules/graphnvd3/CHANGELOG.txt new file mode 100644 index 00000000..fcbc5c1c --- /dev/null +++ b/modules/graphnvd3/CHANGELOG.txt @@ -0,0 +1,4 @@ +2014-04-22 18:58:39 +0200 // Changelog updated +2014-04-17 11:58:28 +0200 [-] MO : graphnvd3 - Fix 1.5 ps_version_compliancy issue +2014-03-24 15:21:45 +0100 / MO graphnvd3 : ps_versions_compliancy added +2014-03-20 14:33:52 +0100 Initial commit diff --git a/modules/graphnvd3/Readme.md b/modules/graphnvd3/Readme.md new file mode 100644 index 00000000..dab13294 --- /dev/null +++ b/modules/graphnvd3/Readme.md @@ -0,0 +1,37 @@ +# NVD3 Charts + +## About + + + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the graphnvd3 project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/graphnvd3/config.xml b/modules/graphnvd3/config.xml new file mode 100644 index 00000000..53be918d --- /dev/null +++ b/modules/graphnvd3/config.xml @@ -0,0 +1,12 @@ + + + graphnvd3 + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/graphnvd3/config_fr.xml b/modules/graphnvd3/config_fr.xml new file mode 100644 index 00000000..dfc675c2 --- /dev/null +++ b/modules/graphnvd3/config_fr.xml @@ -0,0 +1,12 @@ + + + graphnvd3 + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/graphnvd3/graphnvd3.php b/modules/graphnvd3/graphnvd3.php new file mode 100644 index 00000000..22557ba3 --- /dev/null +++ b/modules/graphnvd3/graphnvd3.php @@ -0,0 +1,180 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class GraphNvD3 extends ModuleGraphEngine +{ + private $_width; + private $_height; + private $_values; + private $_legend; + private $_titles; + + function __construct($type = null) + { + if ($type !== null) + return parent::__construct($type); + + $this->name = 'graphnvd3'; + $this->tab = 'administration'; + $this->version = '1.4'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + Module::__construct(); + + $this->displayName = $this->l('NVD3 Charts'); + $this->description = ''; + } + + function install() + { + return (parent::install() && $this->registerHook('GraphEngine') && $this->registerHook('actionAdminControllerSetMedia')); + } + + public function hookActionAdminControllerSetMedia($params) + { + $admin_webpath = str_ireplace(_PS_ROOT_DIR_, '', _PS_ADMIN_DIR_); + $admin_webpath = preg_replace('/^'.preg_quote(DIRECTORY_SEPARATOR, '/').'/', '', $admin_webpath); + + $this->context->controller->addJS(array( + _PS_JS_DIR_.'vendor/d3.v3.min.js', + __PS_BASE_URI__.$admin_webpath.'/themes/'.$this->context->employee->bo_theme.'/js/vendor/nv.d3.min.js', + )); + $this->context->controller->addCSS(__PS_BASE_URI__.$admin_webpath.'/themes/'.$this->context->employee->bo_theme.'/css/vendor/nv.d3.css'); + } + + public static function hookGraphEngine($params, $drawer) + { + static $divid = 1; + + if (strpos($params['width'], '%') !== false) + $params['width'] = (int)preg_replace('/\s*%\s*/', '', $params['width']).'%'; + else + $params['width'] = (int)$params['width'].'px'; + + $nvd3_func = array( + 'line' => ' + nv.models.lineChart()', + 'pie' => ' + nv.models.pieChart() + .x(function(d) { return d.label; }) + .y(function(d) { return d.value; }) + .showLabels(true) + .showLegend(false)' + ); + + return ' +
+ +
+ '; + } + + public function createValues($values) + { + $this->_values = $values; + } + + public function setSize($width, $height) + { + $this->_width = $width; + $this->_height = $height; + } + + public function setLegend($legend) + { + $this->_legend = $legend; + } + + public function setTitles($titles) + { + $this->_titles = $titles; + } + + public function draw() + { + $array = array( + 'axisLabels' => array('xAxis' => $this->_titles['x'], 'yAxis' => $this->_titles['y']), + 'data' => array() + ); + + if (!isset($this->_values[0]) || !is_array($this->_values[0])) + { + $nvd3_values = array(); + if (Tools::getValue('type') == 'pie') + { + foreach ($this->_values as $x => $y) + $nvd3_values[] = array('label' => $this->_legend[$x], 'value' => $y); + $array['data'] = $nvd3_values; + } + else + { + foreach ($this->_values as $x => $y) + $nvd3_values[] = array('x' => $x, 'y' => $y); + $array['data'][] = array('values' => $nvd3_values, 'key' => $this->_titles['main']); + } + } + else + foreach ($this->_values as $layer => $gross_values) + { + $nvd3_values = array(); + foreach ($gross_values as $x => $y) + $nvd3_values[] = array('x' => $x, 'y' => $y); + $array['data'][] = array('values' => $nvd3_values, 'key' => $this->_titles['main'][$layer]); + } + die(preg_replace('/"([0-9]+)"/', '$1', Tools::jsonEncode($array))); + } +} diff --git a/modules/graphnvd3/index.php b/modules/graphnvd3/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/graphnvd3/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/graphnvd3/logo.gif b/modules/graphnvd3/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..5738da94b57ef509379eca0f4ef9f6c23035337b GIT binary patch literal 924 zcmZ?wbhEHb6krfw_|5#2*bXDq&vyZl!1s@tWjZ&$9p)3E7Y z!>0SKTOYJaT1f{eL z9&9+6z`@07kRg%qu(5?fp2_CJgGml-JRE8(_HZ6bILDyKmC`00009a7bBm000ie000ie0hKEb8vp7F0WPN_9M!-d1qjleM)@NfbowmSiSQ?hXVc&w? zfp(`tHqsGbI$#qru{Ln=-;we8qjV!@1yJHK30vHlj{v~-IG?=T3HFXX)&z*9=G`Cy zcA@~VLz5P7m4f9Y0AEZEAYfY_tVquRUh^bHB|QhY@X{3jTL6WfTY+o!=w6ty{AO9a zete0!wX4X@_>OCzKM4Io?slos%)|Zl=TG(9S@lIMY+SnmkVrxl!yGrR98@C!fJJ=$ zw5~oW4uPA-TN48FrM){fKQ2EhU?%`XC_x8691H0HfJKf8fB```VLAo?j*##n=#7MUnR=xltJ!298^?SjK&nLa-vUPgraphnvd3_a9f70dff230e6fc8e878043486e6cddf'] = 'Graphiques NVD3'; + + +return $_MODULE; diff --git a/modules/gridhtml b/modules/gridhtml deleted file mode 160000 index 862c0e26..00000000 --- a/modules/gridhtml +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 862c0e26dd98f9d2ced42593e1dc3db090fde007 diff --git a/modules/gridhtml/CHANGELOG.txt b/modules/gridhtml/CHANGELOG.txt new file mode 100644 index 00000000..04a0a81a --- /dev/null +++ b/modules/gridhtml/CHANGELOG.txt @@ -0,0 +1,6 @@ +2014-04-22 18:58:41 +0200 // Changelog updated +2014-04-17 11:33:15 +0200 [-] MO : gridhtml - Fix 1.5 ps_version_compliancy issue +2014-04-16 13:26:45 +0200 // Missing closing parenthesis. +2014-04-16 12:30:41 +0200 // gridhtml: mode description translatable. +2014-03-24 15:21:48 +0100 / MO gridhtml : ps_versions_compliancy added +2014-03-20 14:35:17 +0100 Initial commit diff --git a/modules/gridhtml/Readme.md b/modules/gridhtml/Readme.md new file mode 100644 index 00000000..842e1bda --- /dev/null +++ b/modules/gridhtml/Readme.md @@ -0,0 +1,37 @@ +# Simple HTML table display + +## About + +Allows the statistics system to display data in a grid. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the gridhtml project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/gridhtml/config.xml b/modules/gridhtml/config.xml new file mode 100644 index 00000000..bd4474a7 --- /dev/null +++ b/modules/gridhtml/config.xml @@ -0,0 +1,12 @@ + + + gridhtml + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/gridhtml/config_fr.xml b/modules/gridhtml/config_fr.xml new file mode 100644 index 00000000..9c191fe2 --- /dev/null +++ b/modules/gridhtml/config_fr.xml @@ -0,0 +1,12 @@ + + + gridhtml + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/gridhtml/gridhtml.php b/modules/gridhtml/gridhtml.php new file mode 100644 index 00000000..44bc3c78 --- /dev/null +++ b/modules/gridhtml/gridhtml.php @@ -0,0 +1,183 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class GridHtml extends ModuleGridEngine +{ + private $_values; + private static $_columns; + + function __construct($type = null) + { + if ($type != null) + parent::__construct($type); + else + { + $this->name = 'gridhtml'; + $this->tab = 'administration'; + $this->version = '1.2.2'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + Module::__construct(); + + $this->displayName = $this->l('Simple HTML table display'); + $this->description = $this->l('Allows the statistics system to display data in a grid.'); + } + } + + function install() + { + return (parent::install() AND $this->registerHook('GridEngine')); + } + + public static function hookGridEngine($params, $grider) + { + self::$_columns = $params['columns']; + if (!isset($params['emptyMsg'])) + $params['emptyMsg'] = 'Empty'; + + $html = ' + + + '; + foreach ($params['columns'] as $column) + $html .= ''; + $html .= ' + + + +
'.$column['header'].'
+ '; + return $html; + } + + public function setColumnsInfos(&$infos) + { + } + + public function setValues($values) + { + $this->_values = $values; + } + + public function setTitle($title) + { + $this->_title = $title; + } + + public function setSize($width, $height) + { + $this->_width = $width; + $this->_height = $height; + } + + public function setTotalCount($totalCount) + { + $this->_totalCount = $totalCount; + } + + public function setLimit($start, $limit) + { + $this->_start = (int)$start; + $this->_limit = (int)$limit; + } + + public function render() + { + echo Tools::jsonEncode(array( + 'total' => $this->_totalCount, + 'from' => min($this->_start + 1, $this->_totalCount), + 'to' => min($this->_start + $this->_limit, $this->_totalCount), + 'values' => $this->_values + )); + } +} + diff --git a/modules/gridhtml/index.php b/modules/gridhtml/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/gridhtml/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/gridhtml/logo.gif b/modules/gridhtml/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..e9b9215e1dfaa9fd915cd31ce928a0d2e483f95d GIT binary patch literal 998 zcmZ?wbhEHb6krfw_|5*b4X)GWMEwd7{)(mQo4?lv5(YB^lju<~xxs{50+ z+;3U)pncuLj`fdvHa_mz^rU~w(+OLjP2T=|>b8edwm+Y?>*b7HFK6v}J$K*hdHdgV z9&745**^Jn_l$EB=3bbx@bZkMSLe(>@OIhZmn)CFSas~>ilgt>9DlLq*vmD?U#&aw zV%^D?>rTE}bNs`G6E8NLe7WJ|t4*h0Z9emA>zNl@&%WAz?$xgIuXbH{z4zkleV1O} zc=X}+laKeFf4cYl^P^W^p1u9{>cjW9pMJdi{PV+?Umw5y`t!i-JElHl{Qj;0^9caAf-2 zF?G7P7{?w1*3S6-o?RSzo1Qcr;0m6S5cnsE{fsIHi`N7p)>FdjKGQPpczraLaHO54Z|HOy{yd*YJgQ!svZx9lE7TQ9&h(mee~ej@wf@f3e(a;^C zM&ArI`DgRE9+;t9z0>6Fi%Q1XEe}m-O9!~tHU@n1<>(sG7(fWBtZM1siM zqe;fuEg!Osl{a9GV1nEAon8M(6fnt%ZV=t`>yjrGcxXa9yM(^-JK%jAqB}i+md9P6 zM$LgRwe%U1adyv#M7#VBSOy}zG*gV|x*fBBh?;wK$tpZFpi99&aU}bR@-q2qqzHo$)G%@nVU-yweU=lr;{qYDcX((@Pj#S+s`7*Gk#}? z9tFda=M{KpLfi2vxX%moAfVAhZeKAT2MuZ+7?-TVLlfGLJFu8$;11FSEHUs1Kj{xk zUQ*zp32ny_{Ngq(Y?wBHTiztT8(nhl8WrBrz!L60W!eC4jc56^PnVp#Mum4Y5Hq(T z&fuqso)3m4#})aQ`43Cj8q}z@U!!OJdLC_zmqP}%506W3Q{bTqZO0|Vm^MlPjyp-O zhr*ImJK)Q9pvp3^&c8@(+L2@q3;bdrEIFA`8sg6%S7EC hpw=pGdpX^=_zUUgridhtml_cf6b972204ee563b4e5691b293e931b6'] = 'Affichage HTML simple'; +$_MODULE['<{gridhtml}prestashop>gridhtml_05ce5a49b49dd6245f71e384c4b43564'] = 'Permet au système de statistiques d\'afficher ses données dans une grille.'; + + +return $_MODULE; diff --git a/modules/gridhtml/translations/index.php b/modules/gridhtml/translations/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/gridhtml/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/homefeatured b/modules/homefeatured deleted file mode 160000 index cfa60d01..00000000 --- a/modules/homefeatured +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cfa60d018267e810cbda1e5368db1edcfdcecfa8 diff --git a/modules/homefeatured/CHANGELOG.txt b/modules/homefeatured/CHANGELOG.txt new file mode 100644 index 00000000..b8a45ffd --- /dev/null +++ b/modules/homefeatured/CHANGELOG.txt @@ -0,0 +1,4 @@ +2014-04-22 18:58:43 +0200 // Changelog updated +2014-04-07 18:48:47 +0200 // typo +2014-04-07 18:46:31 +0200 [-] FO : Fix css bug #PSCFV-11485 for 1.5 +2014-03-20 14:35:19 +0100 Initial commit diff --git a/modules/homefeatured/Readme.md b/modules/homefeatured/Readme.md new file mode 100644 index 00000000..42d9ae1d --- /dev/null +++ b/modules/homefeatured/Readme.md @@ -0,0 +1,37 @@ +# Featured products on the homepage + +## About + +Displays featured products in the central column of your homepage. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the homefeatured project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/homefeatured/config.xml b/modules/homefeatured/config.xml new file mode 100644 index 00000000..763d1aee --- /dev/null +++ b/modules/homefeatured/config.xml @@ -0,0 +1,12 @@ + + + homefeatured + + + + + + 1 + 0 + + diff --git a/modules/homefeatured/config_fr.xml b/modules/homefeatured/config_fr.xml new file mode 100644 index 00000000..a59b91d0 --- /dev/null +++ b/modules/homefeatured/config_fr.xml @@ -0,0 +1,12 @@ + + + homefeatured + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/homefeatured/css/homefeatured.css b/modules/homefeatured/css/homefeatured.css new file mode 100644 index 00000000..83403f45 --- /dev/null +++ b/modules/homefeatured/css/homefeatured.css @@ -0,0 +1,73 @@ +#featured-products_block_center li { + margin-right:10px; + padding:10px 0; + width:126px; + height:240px +} +#featured-products_block_center li.last_item_of_line {margin-right:0;} +#featured-products_block_center .s_title_block, #featured-products_block_center h5 { + padding-top:5px; + height:30px; + min-height:30px; + max-height:30px; + overflow: hidden; + font-size:12px; + color:#222; + padding-bottom: 0; + font-weight:bold; +} + +#featured-products_block_center .product_image { + display:block; + position:relative; + overflow:hidden +} +#featured-products_block_center .product_image span.new { + display: block; + position: absolute; + top: 15px; + right:-30px; + padding: 1px 4px; + width: 101px; + font-size:10px; + color: #fff; + text-align: center; + text-transform: uppercase; + -moz-transform: rotate(45deg); + -webkit-transform: rotate(45deg); + -o-transform:rotate(45deg); + -ms-transform: rotate(45deg); + background-color: #990000; + transform: rotate(45deg); /* Newer browsers */ +} + +#featured-products_block_center .product_desc { + height: 45px; + min-height:45px; + max-height: 45px; + overflow: hidden; +} +#featured-products_block_center .product_desc, +#featured-products_block_center .product_desc a { + color:#666 +} +#featured-products_block_center .lnk_more { + display:inline; + padding-right:10px; + font-weight:bold; + font-size:10px; + color:#0088cc; + background:url(../img/arrow_right_1.png) no-repeat 100% 3px; +} +#featured-products_block_center .price_container { + margin-top:10px; + padding:0; +} +#featured-products_block_center .price { + font-weight:bold; + font-size:14px; + color:#990000 +} +#featured-products_block_center li .ajax_add_to_cart_button {display:none;} +#featured-products_block_center li span.exclusive {display:none;} + diff --git a/modules/homefeatured/css/index.php b/modules/homefeatured/css/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/css/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/homefeatured.php b/modules/homefeatured/homefeatured.php new file mode 100644 index 00000000..c9be8acd --- /dev/null +++ b/modules/homefeatured/homefeatured.php @@ -0,0 +1,272 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class HomeFeatured extends Module +{ + protected static $cache_products; + + public function __construct() + { + $this->name = 'homefeatured'; + $this->tab = 'front_office_features'; + $this->version = '1.6.4'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + $this->bootstrap = true; + parent::__construct(); + + $this->displayName = $this->l('Featured products on the homepage'); + $this->description = $this->l('Displays featured products in the central column of your homepage.'); + } + + public function install() + { + $this->_clearCache('*'); + Configuration::updateValue('HOME_FEATURED_NBR', 8); + Configuration::updateValue('HOME_FEATURED_CAT', (int)Context::getContext()->shop->getCategory()); + Configuration::updateValue('HOME_FEATURED_RANDOMIZE', false); + + if (!parent::install() + || !$this->registerHook('header') + || !$this->registerHook('addproduct') + || !$this->registerHook('updateproduct') + || !$this->registerHook('deleteproduct') + || !$this->registerHook('categoryUpdate') + || !$this->registerHook('displayHomeTab') + || !$this->registerHook('displayHomeTabContent') + ) + return false; + + return true; + } + + public function uninstall() + { + $this->_clearCache('*'); + + return parent::uninstall(); + } + + public function getContent() + { + $output = ''; + $errors = array(); + if (Tools::isSubmit('submitHomeFeatured')) + { + $nbr = Tools::getValue('HOME_FEATURED_NBR'); + if (!Validate::isInt($nbr) || $nbr <= 0) + $errors[] = $this->l('The number of products is invalid. Please enter a positive number.'); + + $cat = Tools::getValue('HOME_FEATURED_CAT'); + if (!Validate::isInt($cat) || $cat <= 0) + $errors[] = $this->l('The category ID is invalid. Please choose an existing category ID.'); + + $rand = Tools::getValue('HOME_FEATURED_RANDOMIZE'); + if (!Validate::isBool($rand)) + $errors[] = $this->l('Invalid value for the "randomize" flag.'); + if (isset($errors) && count($errors)) + $output = $this->displayError(implode('
', $errors)); + else + { + Configuration::updateValue('HOME_FEATURED_NBR', (int)$nbr); + Configuration::updateValue('HOME_FEATURED_CAT', (int)$cat); + Configuration::updateValue('HOME_FEATURED_RANDOMIZE', (bool)$rand); + Tools::clearCache(Context::getContext()->smarty, $this->getTemplatePath('homefeatured.tpl')); + $output = $this->displayConfirmation($this->l('Your settings have been updated.')); + } + } + + return $output.$this->renderForm(); + } + + public function hookDisplayHeader($params) + { + $this->hookHeader($params); + } + + public function hookHeader($params) + { + if (isset($this->context->controller->php_self) && $this->context->controller->php_self == 'index') + $this->context->controller->addCSS(_THEME_CSS_DIR_.'product_list.css'); + $this->context->controller->addCSS(($this->_path).'css/homefeatured.css', 'all'); + } + + public function _cacheProducts() + { + if (!isset(HomeFeatured::$cache_products)) + { + $category = new Category((int)Configuration::get('HOME_FEATURED_CAT'), (int)Context::getContext()->language->id); + $nb = (int)Configuration::get('HOME_FEATURED_NBR'); + if (Configuration::get('HOME_FEATURED_RANDOMIZE')) + HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), null, null, false, true, true, ($nb ? $nb : 8)); + else + HomeFeatured::$cache_products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 8), 'position'); + } + + if (HomeFeatured::$cache_products === false || empty(HomeFeatured::$cache_products)) + return false; + } + + public function hookDisplayHomeTab($params) + { + if (!$this->isCached('tab.tpl', $this->getCacheId('homefeatured-tab'))) + $this->_cacheProducts(); + + return $this->display(__FILE__, 'tab.tpl', $this->getCacheId('homefeatured-tab')); + } + + public function hookDisplayHome($params) + { + if (!$this->isCached('homefeatured.tpl', $this->getCacheId())) + { + $this->_cacheProducts(); + $this->smarty->assign( + array( + 'products' => HomeFeatured::$cache_products, + 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), + 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), + ) + ); + } + + return $this->display(__FILE__, 'homefeatured.tpl', $this->getCacheId()); + } + + public function hookDisplayHomeTabContent($params) + { + return $this->hookDisplayHome($params); + } + + public function hookAddProduct($params) + { + $this->_clearCache('*'); + } + + public function hookUpdateProduct($params) + { + $this->_clearCache('*'); + } + + public function hookDeleteProduct($params) + { + $this->_clearCache('*'); + } + + public function hookCategoryUpdate($params) + { + $this->_clearCache('*'); + } + + public function _clearCache($template, $cache_id = NULL, $compile_id = NULL) + { + parent::_clearCache('homefeatured.tpl'); + parent::_clearCache('tab.tpl', 'homefeatured-tab'); + } + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'description' => $this->l('To add products to your homepage, simply add them to the corresponding product category (default: "Home").'), + 'input' => array( + array( + 'type' => 'text', + 'label' => $this->l('Number of products to be displayed'), + 'name' => 'HOME_FEATURED_NBR', + 'class' => 'fixed-width-xs', + 'desc' => $this->l('Set the number of products that you would like to display on homepage (default: 8).'), + ), + array( + 'type' => 'text', + 'label' => $this->l('Category from which to pick products to be displayed'), + 'name' => 'HOME_FEATURED_CAT', + 'class' => 'fixed-width-xs', + 'desc' => $this->l('Choose the category ID of the products that you would like to display on homepage (default: 2 for "Home").'), + ), + array( + 'type' => 'switch', + 'label' => $this->l('Randomly display featured products'), + 'name' => 'HOME_FEATURED_RANDOMIZE', + 'class' => 'fixed-width-xs', + 'desc' => $this->l('Enable if you wish the products to be displayed randomly (default: no).'), + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Yes') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('No') + ) + ), + ), + ), + 'submit' => array( + 'title' => $this->l('Save'), + ) + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + $helper->id = (int)Tools::getValue('id_carrier'); + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitHomeFeatured'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'HOME_FEATURED_NBR' => Tools::getValue('HOME_FEATURED_NBR', (int)Configuration::get('HOME_FEATURED_NBR')), + 'HOME_FEATURED_CAT' => Tools::getValue('HOME_FEATURED_CAT', (int)Configuration::get('HOME_FEATURED_CAT')), + 'HOME_FEATURED_RANDOMIZE' => Tools::getValue('HOME_FEATURED_RANDOMIZE', (bool)Configuration::get('HOME_FEATURED_RANDOMIZE')), + ); + } +} diff --git a/modules/homefeatured/img/arrow_right_1.png b/modules/homefeatured/img/arrow_right_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2429b22819b6e8600bcb20f9446ef6f2b192dbe9 GIT binary patch literal 93 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c8!3HGtQ{P+wQYxM q(xAg3-oUwtqruQmR3lB{HWR~5c2C|?iCsEC^$eb_elF{r5}E*kgca5R literal 0 HcmV?d00001 diff --git a/modules/homefeatured/img/index.php b/modules/homefeatured/img/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/img/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/index.php b/modules/homefeatured/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/logo.gif b/modules/homefeatured/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8847824364c22aceb6dbe5c68526a2f50dc2131 GIT binary patch literal 597 zcmZ?wbhEHb6krfwc*ekBUTU;@_3CY9Ce_u|;k|(kUOF4Pqu;-O-?X#3xVZSv?VC%N zF5TDR6jc(DvpMn1nKPGG=BK5l&73)NUcU3e>-)RAyDRP079Uu+q2B4iy*oEg96Y|H zEOu_#w{PEe^@Q{$_}1(zTwCumEh}`-%q-7x*C(GJ^_^;-5M!~U#roClXl2!A0J*=;&!mheMgmL;o3~! zR`=kl7;y;FiNud96g@cyA5 zuc*$5xSHtL#UWFotlr!?zPH6Gc}jB8j?AT{HVgv_6o0ZXvNOms=zv@SiW3I*O%1Y5 z&9X*DEgdcTOjfR)9aff(j)pw_O>RB{v%RMF&lE6paWT}Dljv|W^q6X9W-ljgY}XuQ zI5&u&ot-OGQQ1OW)@i%p&fUAYOoZ7?lmeI7OP)C4&8jXYC9CP=F3ZmOkds|jRQ^`8 z>26LTA?7EXdL5#>ncr%E_#~@p&cPzi&ZZO5(C^wW>#Py5km(R3kGM7y%Zd#wEt~@W d3Qt;J_%*UN?CUhq^_vGHa zvwnO1*VhrIujK6qk3BsaWlw32b8VLZi3&@C9~*jX&)%8#T)*tmXZ(#`%N~8kf$NhQ z0J;mS?tRnuUuH=VRIknL&0sV-7x!`x=nz$A0>Hi6 z^yZ}vx`LpxIIX90n?rZ%9X4hLsK1~3*ec%WmCW_$OJ`ohMUbnIK!Aq8w=bqNbdsL6 z1cf<2`SAMr0IFjlNfA{vC<{UG+RqJj-qaOX52IbUWh7gfC zA-vXgd;bc8I9-YI+WA3Lt8)%SGkV`~Lx;|D1E?aR?AX}1pg=SS+z2WJgmvpz5+QRdas;aa${n*<6`Sc*3>8S!NTy045KZR?$fXN_#?l^6eQh}+!d-`6=j897ui#73GUw1i%O;SxmN~I1wn9}7@f5@uULQwk{$p~99T}@_KzbX zoOpOS7vB9n?%B1A-#+^rcI?>B`?stH_i3p(2C%umGkeUPtgu-Dl3zcvPk$NTb(-ix2nlXh0mwvHi~%GFsYpjZFu-K?ELajn@4NZ- z8+hUP1^RB;%^jaP46RoI;r0i9z{w|_vxl})u6vv$?c%x9|3utCDh_wpxp^h3kOtxG z-v+8WAk~Iw&O6uj&I-`oj>hrh|6tX|_j21O4&oyN^dGzoIA_1rX4@y9pa9x``a0V9 z9J_8^inoQ5$eLYb zw0X}*zd>FaKfS+)&mO%(o=FX1IH0PC3W39Kq4^+!50w4#^-&^Yp? zO<7pBihCbC!qE9sh$dWo_Avi>`F9gjg*$KAa1S@#yPwz|VfRBv`SBy~<2(DhIPi-M zal^f;6JZX3shvFm($61$ar4thKXoQ=zD_K1w2?4y<~VyE`z5YRD}AiRv4i_q^TGXC zk&`vA&~xKX9(>{j%IH57|SZWMWoL>E7XX;^w#+IYQYQ8ZRVeYls}d&2V#ytW8&%BHuiLdYi;cWC1U7DwXl>?8?bu@Ns~U zq*eb%(4cq-1SyeJ>VqX-&xqAtMH@@u@tq$sDDtbg{V0^f@Nb|kK;uUTK9HG}Sd6$k zq5;tqN5`98HINu?1#S@$A%sAeIuCsJ`Bil=FLXK321W(A4(J2k1~jfx${hF?@EXuu o?AvmqhDa9~PepA!U(DhE16e5C`&vY|3;+NC07*qoM6N<$f)4-4rT_o{ literal 0 HcmV?d00001 diff --git a/modules/homefeatured/translations/fr.php b/modules/homefeatured/translations/fr.php new file mode 100644 index 00000000..379b8a0b --- /dev/null +++ b/modules/homefeatured/translations/fr.php @@ -0,0 +1,33 @@ +homefeatured_5d17bf499a1b9b2e816c99eebf0153a9'] = 'Produits mis en avant sur la page d\'accueil'; +$_MODULE['<{homefeatured}prestashop>homefeatured_6d37ec35b5b6820f90394e5ee49e8cec'] = 'Affiche vos produits phares dans la colonne centrale de votre page d\'accueil.'; +$_MODULE['<{homefeatured}prestashop>homefeatured_fddb8a1881e39ad11bfe0d0aca5becc3'] = 'Le nombre de produits n\'est pas valide. Veuillez entrer un nombre positif.'; +$_MODULE['<{homefeatured}prestashop>homefeatured_c284a59996a4e984b30319999a7feb1d'] = 'L\'ID de catégorie n\'est pas valide. Veuillez choisir une ID existante.'; +$_MODULE['<{homefeatured}prestashop>homefeatured_fd2608d329d90e9a49731393427d0a5a'] = 'Valeur non valide pour le champ d\'affichage aléatoire.'; +$_MODULE['<{homefeatured}prestashop>homefeatured_6af91e35dff67a43ace060d1d57d5d1a'] = 'Paramètres mis à jour'; +$_MODULE['<{homefeatured}prestashop>homefeatured_f4f70727dc34561dfde1a3c529b6205c'] = 'Paramètres'; +$_MODULE['<{homefeatured}prestashop>homefeatured_abc877135a96e04fc076becb9ce6fdfa'] = 'Pour ajouter des produits à votre page d\'accueil, ajoutez-les simplement à la catégorie de produits correspondante ("Home" ou "Accueil" par défaut).'; +$_MODULE['<{homefeatured}prestashop>homefeatured_d44168e17d91bac89aab3f38d8a4da8e'] = 'Nombre de produits à afficher'; +$_MODULE['<{homefeatured}prestashop>homefeatured_1b73f6b70a0fcd38bbc6a6e4b67e3010'] = 'Indiquez le nombre de produits que vous voulez voir affichés sur la page d\'accueil (par défaut : 8).'; +$_MODULE['<{homefeatured}prestashop>homefeatured_b773a38d8c456f7b24506c0e3cd67889'] = 'Catégorie des produits à afficher'; +$_MODULE['<{homefeatured}prestashop>homefeatured_0db2d53545e2ee088cfb3f45e618ba68'] = 'Choisissez l\'ID de la catégorie des produits que vous souhaitez afficher en page d\'accueil (par défaut "2" pour "Accueil").'; +$_MODULE['<{homefeatured}prestashop>homefeatured_49417670345173e7b95018b7bf976fc7'] = 'Afficher aléatoirement les produits phares'; +$_MODULE['<{homefeatured}prestashop>homefeatured_3c12c1068fb0e02fe65a6c4fc40bc29a'] = 'Activer si vous souhaitez que les produits phares soient affichés aléatoirement (ce qui n\'est pas le cas par défaut).'; +$_MODULE['<{homefeatured}prestashop>homefeatured_93cba07454f06a4a960172bbd6e2a435'] = 'Oui'; +$_MODULE['<{homefeatured}prestashop>homefeatured_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non'; +$_MODULE['<{homefeatured}prestashop>homefeatured_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; +$_MODULE['<{homefeatured}prestashop>homefeatured_ca7d973c26c57b69e0857e7a0332d545'] = 'Produits phares'; +$_MODULE['<{homefeatured}prestashop>homefeatured_03c2e7e41ffc181a4e84080b4710e81e'] = 'Nouveau'; +$_MODULE['<{homefeatured}prestashop>homefeatured_d3da97e2d9aee5c8fbe03156ad051c99'] = 'Détails'; +$_MODULE['<{homefeatured}prestashop>homefeatured_4351cfebe4b61d8aa5efa1d020710005'] = 'Afficher'; +$_MODULE['<{homefeatured}prestashop>homefeatured_2d0f6b8300be19cf35e89e66f0677f95'] = 'Ajouter au panier'; +$_MODULE['<{homefeatured}prestashop>homefeatured_e0e572ae0d8489f8bf969e93d469e89c'] = 'Aucun produit phare'; +$_MODULE['<{homefeatured}prestashop>tab_2cc1943d4c0b46bfcf503a75c44f988b'] = 'Populaire'; +$_MODULE['<{homefeatured}prestashop>homefeatured_d505d41279039b9a68b0427af27705c6'] = 'Aucun produit mis en avant à l\'heure actuelle.'; + + +return $_MODULE; diff --git a/modules/homefeatured/translations/index.php b/modules/homefeatured/translations/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/upgrade/index.php b/modules/homefeatured/upgrade/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/upgrade/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/upgrade/install-1.1.php b/modules/homefeatured/upgrade/install-1.1.php new file mode 100644 index 00000000..9b752e38 --- /dev/null +++ b/modules/homefeatured/upgrade/install-1.1.php @@ -0,0 +1,9 @@ +registerHook('addproduct') && $object->registerHook('updateproduct') && $object->registerHook('deleteproduct')); +} diff --git a/modules/homefeatured/upgrade/install-1.2.php b/modules/homefeatured/upgrade/install-1.2.php new file mode 100644 index 00000000..a0477698 --- /dev/null +++ b/modules/homefeatured/upgrade/install-1.2.php @@ -0,0 +1,9 @@ +registerHook('displayHomeTab') && $object->registerHook('displayHomeTabContent') && $object->registerHook('categoryUpdate')); +} diff --git a/modules/homefeatured/upgrade/install-1.6.php b/modules/homefeatured/upgrade/install-1.6.php new file mode 100644 index 00000000..609bcbaf --- /dev/null +++ b/modules/homefeatured/upgrade/install-1.6.php @@ -0,0 +1,9 @@ +shop->getCategory()) && Configuration::updateValue('HOME_FEATURED_RANDOMIZE', false); +} diff --git a/modules/homefeatured/views/index.php b/modules/homefeatured/views/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/views/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/views/templates/hook/homefeatured.tpl b/modules/homefeatured/views/templates/hook/homefeatured.tpl new file mode 100644 index 00000000..e7dd2a77 --- /dev/null +++ b/modules/homefeatured/views/templates/hook/homefeatured.tpl @@ -0,0 +1,66 @@ +{* +* 2007-2014 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + + + + diff --git a/modules/homefeatured/views/templates/hook/index.php b/modules/homefeatured/views/templates/hook/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homefeatured/views/templates/hook/tab.tpl b/modules/homefeatured/views/templates/hook/tab.tpl new file mode 100644 index 00000000..b2b00944 --- /dev/null +++ b/modules/homefeatured/views/templates/hook/tab.tpl @@ -0,0 +1,25 @@ +{* +* 2007-2014 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +
  • {l s='Popular' mod='homefeatured'}
  • \ No newline at end of file diff --git a/modules/homefeatured/views/templates/index.php b/modules/homefeatured/views/templates/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/homefeatured/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider b/modules/homeslider deleted file mode 160000 index ff8c888a..00000000 --- a/modules/homeslider +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ff8c888a33696ec42a384576eafea18508bc73bf diff --git a/modules/homeslider/HomeSlide.php b/modules/homeslider/HomeSlide.php new file mode 100644 index 00000000..ddfc0ac6 --- /dev/null +++ b/modules/homeslider/HomeSlide.php @@ -0,0 +1,151 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +class HomeSlide extends ObjectModel +{ + public $title; + public $description; + public $url; + public $legend; + public $image; + public $active; + public $position; + public $id_shop; + + /** + * @see ObjectModel::$definition + */ + public static $definition = array( + 'table' => 'homeslider_slides', + 'primary' => 'id_homeslider_slides', + 'multilang' => true, + 'fields' => array( + 'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => true), + 'position' => array('type' => self::TYPE_INT, 'validate' => 'isunsignedInt', 'required' => true), + + // Lang fields + 'description' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml', 'size' => 4000), + 'title' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255), + 'legend' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml', 'required' => true, 'size' => 255), + 'url' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isUrl', 'required' => true, 'size' => 255), + 'image' => array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCleanHtml', 'size' => 255), + ) + ); + + public function __construct($id_slide = null, $id_lang = null, $id_shop = null, Context $context = null) + { + parent::__construct($id_slide, $id_lang, $id_shop); + } + + public function add($autodate = true, $null_values = false) + { + $context = Context::getContext(); + $id_shop = $context->shop->id; + + $res = parent::add($autodate, $null_values); + $res &= Db::getInstance()->execute(' + INSERT INTO `'._DB_PREFIX_.'homeslider` (`id_shop`, `id_homeslider_slides`) + VALUES('.(int)$id_shop.', '.(int)$this->id.')' + ); + return $res; + } + + public function delete() + { + $res = true; + + $images = $this->image; + foreach ($images as $image) + { + if (preg_match('/sample/', $image) === 0) + if ($image && file_exists(dirname(__FILE__).'/images/'.$image)) + $res &= @unlink(dirname(__FILE__).'/images/'.$image); + } + + $res &= $this->reOrderPositions(); + + $res &= Db::getInstance()->execute(' + DELETE FROM `'._DB_PREFIX_.'homeslider` + WHERE `id_homeslider_slides` = '.(int)$this->id + ); + + $res &= parent::delete(); + return $res; + } + + public function reOrderPositions() + { + $id_slide = $this->id; + $context = Context::getContext(); + $id_shop = $context->shop->id; + + $max = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT MAX(hss.`position`) as position + FROM `'._DB_PREFIX_.'homeslider_slides` hss, `'._DB_PREFIX_.'homeslider` hs + WHERE hss.`id_homeslider_slides` = hs.`id_homeslider_slides` AND hs.`id_shop` = '.(int)$id_shop + ); + + if ((int)$max == (int)$id_slide) + return true; + + $rows = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT hss.`position` as position, hss.`id_homeslider_slides` as id_slide + FROM `'._DB_PREFIX_.'homeslider_slides` hss + LEFT JOIN `'._DB_PREFIX_.'homeslider` hs ON (hss.`id_homeslider_slides` = hs.`id_homeslider_slides`) + WHERE hs.`id_shop` = '.(int)$id_shop.' AND hss.`position` > '.(int)$this->position + ); + + foreach ($rows as $row) + { + $current_slide = new HomeSlide($row['id_slide']); + --$current_slide->position; + $current_slide->update(); + unset($current_slide); + } + + return true; + } + + public static function getAssociatedIdsShop($id_slide) + { + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT hs.`id_shop` + FROM `'._DB_PREFIX_.'homeslider` hs + WHERE hs.`id_homeslider_slides` = '.(int)$id_slide + ); + + if (!is_array($result)) + return false; + + $return = array(); + + foreach ($result as $id_shop) + $return[] = (int)$id_shop['id_shop']; + + return $return; + } + +} diff --git a/modules/homeslider/Readme.md b/modules/homeslider/Readme.md new file mode 100644 index 00000000..a9bc9032 --- /dev/null +++ b/modules/homeslider/Readme.md @@ -0,0 +1,37 @@ +# Image slider for your homepage + +## About + +Adds an image slider to your homepage. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the homeslider project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/homeslider/ajax_homeslider.php b/modules/homeslider/ajax_homeslider.php new file mode 100644 index 00000000..5a1d0d15 --- /dev/null +++ b/modules/homeslider/ajax_homeslider.php @@ -0,0 +1,47 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ +include_once('../../config/config.inc.php'); +include_once('../../init.php'); +include_once('homeslider.php'); + +$home_slider = new HomeSlider(); +$slides = array(); + +if (!Tools::isSubmit('secure_key') || Tools::getValue('secure_key') != $home_slider->secure_key || !Tools::getValue('action')) + die(1); + +if (Tools::getValue('action') == 'updateSlidesPosition' && Tools::getValue('slides')) +{ + $slides = Tools::getValue('slides'); + + foreach ($slides as $position => $id_slide) + $res = Db::getInstance()->execute(' + UPDATE `'._DB_PREFIX_.'homeslider_slides` SET `position` = '.(int)$position.' + WHERE `id_homeslider_slides` = '.(int)$id_slide + ); + + $home_slider->clearCache(); +} diff --git a/modules/homeslider/config.xml b/modules/homeslider/config.xml new file mode 100644 index 00000000..6b04e960 --- /dev/null +++ b/modules/homeslider/config.xml @@ -0,0 +1,12 @@ + + + homeslider + + + + + + 1 + 0 + + diff --git a/modules/homeslider/config_fr.xml b/modules/homeslider/config_fr.xml new file mode 100644 index 00000000..8c9dbf11 --- /dev/null +++ b/modules/homeslider/config_fr.xml @@ -0,0 +1,12 @@ + + + homeslider + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/homeslider/css/homeslider.css b/modules/homeslider/css/homeslider.css new file mode 100644 index 00000000..b6be1ae0 --- /dev/null +++ b/modules/homeslider/css/homeslider.css @@ -0,0 +1,91 @@ +/* @override http://localhost/bxslider_v3_plugin/css/styles.css */ + +/* + * To change the color scheme of slider change each + * background property for each of the five styles below + */ +.bx-window {margin-bottom:20px;} +.bx-wrapper { + margin-bottom:20px; + height:300px +} +/*next button*/ +.bx-next { + display:none; + position:absolute; + top:40%; + right:-50px; + z-index:999; + width: 30px; + height: 30px; + text-indent: -999999px; + background: url(../img/gray_next.png) no-repeat 0 -30px; +} +/*previous button*/ +.bx-prev { + display:none; + position:absolute; + top:40%; + left:-50px; + z-index:999; + width: 30px; + height: 30px; + text-indent: -999999px; + background: url(../img/gray_prev.png) no-repeat 0 -30px; +} +/*pager links*/ +.bx-pager { + position: absolute; + bottom: 20px; + bottom:40px !ie;/* hack ie7 */ + right: 15px; + padding-top: 7px; + font-size:11px; + color:#666; + text-align:center; +} +.bx-pager a { + display:inline-block; + zoom:1; + margin-right: 5px; + padding:4px 0 0 1px; + height:16px;/* 19 */ + width:18px;/* 19 */ + font-weight:bold; + font-size: 11px; + color:#000; + text-decoration:none; + background:url(../img/gray_pager.png) no-repeat 0 -20px; +} + +/* + * End color scheme styles + */ +/*next/prev button hover state*/ +.bx-next:hover, +.bx-prev:hover { + background-position: 0 0; +} +/*pager links hover and active states*/ +.bx-pager .pager-active, +.bx-pager a:hover { + color:#fff; + text-decoration:none; + background-position: 0 0; +} +/*captions*/ +.bx-captions { + text-align:center; + font-size: 12px; + padding: 7px 0; + color: #666; +} +/*auto controls*/ +.bx-auto { + text-align: center; + padding-top: 15px; +} +.bx-auto a { + color: #666; + font-size: 12px; +} diff --git a/modules/homeslider/css/index.php b/modules/homeslider/css/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/css/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/homeslider.php b/modules/homeslider/homeslider.php new file mode 100644 index 00000000..70bec5bd --- /dev/null +++ b/modules/homeslider/homeslider.php @@ -0,0 +1,1078 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +/** + * @since 1.5.0 + */ + +if (!defined('_PS_VERSION_')) + exit; + +include_once(_PS_MODULE_DIR_.'homeslider/HomeSlide.php'); + +class HomeSlider extends Module +{ + protected $_html = ''; + protected $default_width = 779; + protected $default_speed = 500; + protected $default_pause = 3000; + protected $default_loop = 1; + + public function __construct() + { + $this->name = 'homeslider'; + $this->tab = 'front_office_features'; + $this->version = '1.5.0'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + $this->secure_key = Tools::encrypt($this->name); + $this->bootstrap = true; + + parent::__construct(); + + $this->displayName = $this->l('Image slider for your homepage'); + $this->description = $this->l('Adds an image slider to your homepage.'); + $this->ps_versions_compliancy = array('min' => '1.6.0.4', 'max' => _PS_VERSION_); + } + + /** + * @see Module::install() + */ + public function install() + { + /* Adds Module */ + if (parent::install() && + $this->registerHook('displayHeader') && + $this->registerHook('displayTopColumn') && + $this->registerHook('actionShopDataDuplication') + ) + { + $shops = Shop::getContextListShopID(); + $shop_groups_list = array(); + + /* Setup each shop */ + foreach ($shops as $shop_id) + { + $shop_group_id = (int)Shop::getGroupFromShop($shop_id, true); + + if (!in_array($shop_group_id, $shop_groups_list)) + $shop_groups_list[] = $shop_group_id; + + /* Sets up configuration */ + $res = Configuration::updateValue('HOMESLIDER_WIDTH', $this->default_width, false, $shop_group_id, $shop_id); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', $this->default_speed, false, $shop_group_id, $shop_id); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', $this->default_pause, false, $shop_group_id, $shop_id); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', $this->default_loop, false, $shop_group_id, $shop_id); + } + + /* Sets up Shop Group configuration */ + if (count($shop_groups_list)) + { + foreach ($shop_groups_list as $shop_group_id) + { + $res = Configuration::updateValue('HOMESLIDER_WIDTH', $this->default_width, false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', $this->default_speed, false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', $this->default_pause, false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', $this->default_loop, false, $shop_group_id); + } + } + + /* Sets up Global configuration */ + $res = Configuration::updateValue('HOMESLIDER_WIDTH', $this->default_width); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', $this->default_speed); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', $this->default_pause); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', $this->default_loop); + + /* Creates tables */ + $res &= $this->createTables(); + + /* Adds samples */ + if ($res) + $this->installSamples(); + + // Disable on mobiles and tablets + $this->disableDevice(Context::DEVICE_MOBILE); + + return (bool)$res; + } + + return false; + } + + /** + * Adds samples + */ + protected function installSamples() + { + $languages = Language::getLanguages(false); + for ($i = 1; $i <= 3; ++$i) + { + $slide = new HomeSlide(); + $slide->position = $i; + $slide->active = 1; + foreach ($languages as $language) + { + $slide->title[$language['id_lang']] = 'Sample '.$i; + $slide->description[$language['id_lang']] = '

    EXCEPTEUR
    OCCAECAT

    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tristique in tortor et dignissim. Quisque non tempor leo. Maecenas egestas sem elit

    +

    '; + $slide->legend[$language['id_lang']] = 'sample-'.$i; + $slide->url[$language['id_lang']] = 'http://www.prestashop.com/?utm_source=back-office&utm_medium=v16_homeslider' + .'&utm_campaign=back-office-'.Tools::strtoupper($this->context->language->iso_code) + .'&utm_content='.(defined('_PS_HOST_MODE_') ? 'ondemand' : 'download'); + $slide->image[$language['id_lang']] = 'sample-'.$i.'.jpg'; + } + $slide->add(); + } + } + + /** + * @see Module::uninstall() + */ + public function uninstall() + { + /* Deletes Module */ + if (parent::uninstall()) + { + /* Deletes tables */ + $res = $this->deleteTables(); + + /* Unsets configuration */ + $res &= Configuration::deleteByName('HOMESLIDER_WIDTH'); + $res &= Configuration::deleteByName('HOMESLIDER_SPEED'); + $res &= Configuration::deleteByName('HOMESLIDER_PAUSE'); + $res &= Configuration::deleteByName('HOMESLIDER_LOOP'); + + return (bool)$res; + } + + return false; + } + + /** + * Creates tables + */ + protected function createTables() + { + /* Slides */ + $res = (bool)Db::getInstance()->execute(' + CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'homeslider` ( + `id_homeslider_slides` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_shop` int(10) unsigned NOT NULL, + PRIMARY KEY (`id_homeslider_slides`, `id_shop`) + ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8; + '); + + /* Slides configuration */ + $res &= Db::getInstance()->execute(' + CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'homeslider_slides` ( + `id_homeslider_slides` int(10) unsigned NOT NULL AUTO_INCREMENT, + `position` int(10) unsigned NOT NULL DEFAULT \'0\', + `active` tinyint(1) unsigned NOT NULL DEFAULT \'0\', + PRIMARY KEY (`id_homeslider_slides`) + ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8; + '); + + /* Slides lang configuration */ + $res &= Db::getInstance()->execute(' + CREATE TABLE IF NOT EXISTS `'._DB_PREFIX_.'homeslider_slides_lang` ( + `id_homeslider_slides` int(10) unsigned NOT NULL, + `id_lang` int(10) unsigned NOT NULL, + `title` varchar(255) NOT NULL, + `description` text NOT NULL, + `legend` varchar(255) NOT NULL, + `url` varchar(255) NOT NULL, + `image` varchar(255) NOT NULL, + PRIMARY KEY (`id_homeslider_slides`,`id_lang`) + ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=UTF8; + '); + + return $res; + } + + /** + * deletes tables + */ + protected function deleteTables() + { + $slides = $this->getSlides(); + foreach ($slides as $slide) + { + $to_del = new HomeSlide($slide['id_slide']); + $to_del->delete(); + } + + return Db::getInstance()->execute(' + DROP TABLE IF EXISTS `'._DB_PREFIX_.'homeslider`, `'._DB_PREFIX_.'homeslider_slides`, `'._DB_PREFIX_.'homeslider_slides_lang`; + '); + } + + public function getContent() + { + $this->_html .= $this->headerHTML(); + + /* Validate & process */ + if (Tools::isSubmit('submitSlide') || Tools::isSubmit('delete_id_slide') || + Tools::isSubmit('submitSlider') || + Tools::isSubmit('changeStatus') + ) + { + if ($this->_postValidation()) + { + $this->_postProcess(); + $this->_html .= $this->renderForm(); + $this->_html .= $this->renderList(); + } + else + $this->_html .= $this->renderAddForm(); + + $this->clearCache(); + } + elseif (Tools::isSubmit('addSlide') || (Tools::isSubmit('id_slide') && $this->slideExists((int)Tools::getValue('id_slide')))) + { + if (Tools::isSubmit('addSlide')) + $mode = 'add'; + else + $mode = 'edit'; + + if ($mode == 'add') + { + if (Shop::getContext() != Shop::CONTEXT_GROUP && Shop::getContext() != Shop::CONTEXT_ALL) + $this->_html .= $this->renderAddForm(); + else + $this->_html .= $this->getShopContextError(null, $mode); + } + else + { + $associated_shop_ids = HomeSlide::getAssociatedIdsShop((int)Tools::getValue('id_slide')); + $context_shop_id = (int)Shop::getContextShopID(); + + if ($associated_shop_ids === false) + $this->_html .= $this->getShopAssociationError((int)Tools::getValue('id_slide')); + else if (Shop::getContext() != Shop::CONTEXT_GROUP && Shop::getContext() != Shop::CONTEXT_ALL && in_array($context_shop_id, $associated_shop_ids)) + { + if (count($associated_shop_ids) > 1) + $this->_html = $this->getSharedSlideWarning(); + $this->_html .= $this->renderAddForm(); + } + else + { + $shops_name_list = array(); + foreach ($associated_shop_ids as $shop_id) + { + $associated_shop = new Shop((int)$shop_id); + $shops_name_list[] = $associated_shop->name; + } + $this->_html .= $this->getShopContextError($shops_name_list, $mode); + } + } + } + else // Default viewport + { + $this->_html .= $this->getWarningMultishopHtml().$this->getCurrentShopInfoMsg().$this->renderForm(); + + if (Shop::getContext() != Shop::CONTEXT_GROUP && Shop::getContext() != Shop::CONTEXT_ALL) + $this->_html .= $this->renderList(); + } + + return $this->_html; + } + + protected function _postValidation() + { + $errors = array(); + + /* Validation for Slider configuration */ + if (Tools::isSubmit('submitSlider')) + { + + if (!Validate::isInt(Tools::getValue('HOMESLIDER_SPEED')) || !Validate::isInt(Tools::getValue('HOMESLIDER_PAUSE')) || + !Validate::isInt(Tools::getValue('HOMESLIDER_WIDTH')) + ) + $errors[] = $this->l('Invalid values'); + } /* Validation for status */ + elseif (Tools::isSubmit('changeStatus')) + { + if (!Validate::isInt(Tools::getValue('id_slide'))) + $errors[] = $this->l('Invalid slide'); + } + /* Validation for Slide */ + elseif (Tools::isSubmit('submitSlide')) + { + /* Checks state (active) */ + if (!Validate::isInt(Tools::getValue('active_slide')) || (Tools::getValue('active_slide') != 0 && Tools::getValue('active_slide') != 1)) + $errors[] = $this->l('Invalid slide state.'); + /* Checks position */ + if (!Validate::isInt(Tools::getValue('position')) || (Tools::getValue('position') < 0)) + $errors[] = $this->l('Invalid slide position.'); + /* If edit : checks id_slide */ + if (Tools::isSubmit('id_slide')) + { + + //d(var_dump(Tools::getValue('id_slide'))); + if (!Validate::isInt(Tools::getValue('id_slide')) && !$this->slideExists(Tools::getValue('id_slide'))) + $errors[] = $this->l('Invalid slide ID'); + } + /* Checks title/url/legend/description/image */ + $languages = Language::getLanguages(false); + foreach ($languages as $language) + { + if (Tools::strlen(Tools::getValue('title_'.$language['id_lang'])) > 255) + $errors[] = $this->l('The title is too long.'); + if (Tools::strlen(Tools::getValue('legend_'.$language['id_lang'])) > 255) + $errors[] = $this->l('The caption is too long.'); + if (Tools::strlen(Tools::getValue('url_'.$language['id_lang'])) > 255) + $errors[] = $this->l('The URL is too long.'); + if (Tools::strlen(Tools::getValue('description_'.$language['id_lang'])) > 4000) + $errors[] = $this->l('The description is too long.'); + if (Tools::strlen(Tools::getValue('url_'.$language['id_lang'])) > 0 && !Validate::isUrl(Tools::getValue('url_'.$language['id_lang']))) + $errors[] = $this->l('The URL format is not correct.'); + if (Tools::getValue('image_'.$language['id_lang']) != null && !Validate::isFileName(Tools::getValue('image_'.$language['id_lang']))) + $errors[] = $this->l('Invalid filename.'); + if (Tools::getValue('image_old_'.$language['id_lang']) != null && !Validate::isFileName(Tools::getValue('image_old_'.$language['id_lang']))) + $errors[] = $this->l('Invalid filename.'); + } + + /* Checks title/url/legend/description for default lang */ + $id_lang_default = (int)Configuration::get('PS_LANG_DEFAULT'); + if (Tools::strlen(Tools::getValue('title_'.$id_lang_default)) == 0) + $errors[] = $this->l('The title is not set.'); + if (Tools::strlen(Tools::getValue('legend_'.$id_lang_default)) == 0) + $errors[] = $this->l('The caption is not set.'); + if (Tools::strlen(Tools::getValue('url_'.$id_lang_default)) == 0) + $errors[] = $this->l('The URL is not set.'); + if (!Tools::isSubmit('has_picture') && (!isset($_FILES['image_'.$id_lang_default]) || empty($_FILES['image_'.$id_lang_default]['tmp_name']))) + $errors[] = $this->l('The image is not set.'); + if (Tools::getValue('image_old_'.$id_lang_default) && !Validate::isFileName(Tools::getValue('image_old_'.$id_lang_default))) + $errors[] = $this->l('The image is not set.'); + } /* Validation for deletion */ + elseif (Tools::isSubmit('delete_id_slide') && (!Validate::isInt(Tools::getValue('delete_id_slide')) || !$this->slideExists((int)Tools::getValue('delete_id_slide')))) + $errors[] = $this->l('Invalid slide ID'); + + /* Display errors if needed */ + if (count($errors)) + { + $this->_html .= $this->displayError(implode('
    ', $errors)); + + return false; + } + + /* Returns if validation is ok */ + + return true; + } + + protected function _postProcess() + { + $errors = array(); + $shop_context = Shop::getContext(); + + /* Processes Slider */ + if (Tools::isSubmit('submitSlider')) + { + $shop_groups_list = array(); + $shops = Shop::getContextListShopID(); + + foreach ($shops as $shop_id) + { + $shop_group_id = (int)Shop::getGroupFromShop($shop_id, true); + + if (!in_array($shop_group_id, $shop_groups_list)) + $shop_groups_list[] = $shop_group_id; + + $res = Configuration::updateValue('HOMESLIDER_WIDTH', (int)Tools::getValue('HOMESLIDER_WIDTH'), false, $shop_group_id, $shop_id); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', (int)Tools::getValue('HOMESLIDER_SPEED'), false, $shop_group_id, $shop_id); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', (int)Tools::getValue('HOMESLIDER_PAUSE'), false, $shop_group_id, $shop_id); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', (int)Tools::getValue('HOMESLIDER_LOOP'), false, $shop_group_id, $shop_id); + } + + /* Update global shop context if needed*/ + switch ($shop_context) + { + case Shop::CONTEXT_ALL: + $res = Configuration::updateValue('HOMESLIDER_WIDTH', (int)Tools::getValue('HOMESLIDER_WIDTH')); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', (int)Tools::getValue('HOMESLIDER_SPEED')); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', (int)Tools::getValue('HOMESLIDER_PAUSE')); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', (int)Tools::getValue('HOMESLIDER_LOOP')); + if (count($shop_groups_list)) + { + foreach ($shop_groups_list as $shop_group_id) + { + $res = Configuration::updateValue('HOMESLIDER_WIDTH', (int)Tools::getValue('HOMESLIDER_WIDTH'), false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', (int)Tools::getValue('HOMESLIDER_SPEED'), false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', (int)Tools::getValue('HOMESLIDER_PAUSE'), false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', (int)Tools::getValue('HOMESLIDER_LOOP'), false, $shop_group_id); + } + } + break; + case Shop::CONTEXT_GROUP: + if (count($shop_groups_list)) + { + foreach ($shop_groups_list as $shop_group_id) + { + $res = Configuration::updateValue('HOMESLIDER_WIDTH', (int)Tools::getValue('HOMESLIDER_WIDTH'), false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_SPEED', (int)Tools::getValue('HOMESLIDER_SPEED'), false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_PAUSE', (int)Tools::getValue('HOMESLIDER_PAUSE'), false, $shop_group_id); + $res &= Configuration::updateValue('HOMESLIDER_LOOP', (int)Tools::getValue('HOMESLIDER_LOOP'), false, $shop_group_id); + } + } + break; + } + + $this->clearCache(); + + if (!$res) + $errors[] = $this->displayError($this->l('The configuration could not be updated.')); + else + Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules', true).'&conf=6&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name); + } /* Process Slide status */ + elseif (Tools::isSubmit('changeStatus') && Tools::isSubmit('id_slide')) + { + $slide = new HomeSlide((int)Tools::getValue('id_slide')); + if ($slide->active == 0) + $slide->active = 1; + else + $slide->active = 0; + $res = $slide->update(); + $this->clearCache(); + $this->_html .= ($res ? $this->displayConfirmation($this->l('Configuration updated')) : $this->displayError($this->l('The configuration could not be updated.'))); + } + /* Processes Slide */ + elseif (Tools::isSubmit('submitSlide')) + { + /* Sets ID if needed */ + if (Tools::getValue('id_slide')) + { + $slide = new HomeSlide((int)Tools::getValue('id_slide')); + if (!Validate::isLoadedObject($slide)) + { + $this->_html .= $this->displayError($this->l('Invalid slide ID')); + return false; + } + } + else + $slide = new HomeSlide(); + /* Sets position */ + $slide->position = (int)Tools::getValue('position'); + /* Sets active */ + $slide->active = (int)Tools::getValue('active_slide'); + + /* Sets each langue fields */ + $languages = Language::getLanguages(false); + + foreach ($languages as $language) + { + $slide->title[$language['id_lang']] = Tools::getValue('title_'.$language['id_lang']); + $slide->url[$language['id_lang']] = Tools::getValue('url_'.$language['id_lang']); + $slide->legend[$language['id_lang']] = Tools::getValue('legend_'.$language['id_lang']); + $slide->description[$language['id_lang']] = Tools::getValue('description_'.$language['id_lang']); + + /* Uploads image and sets slide */ + $type = Tools::strtolower(Tools::substr(strrchr($_FILES['image_'.$language['id_lang']]['name'], '.'), 1)); + $imagesize = @getimagesize($_FILES['image_'.$language['id_lang']]['tmp_name']); + if (isset($_FILES['image_'.$language['id_lang']]) && + isset($_FILES['image_'.$language['id_lang']]['tmp_name']) && + !empty($_FILES['image_'.$language['id_lang']]['tmp_name']) && + !empty($imagesize) && + in_array( + Tools::strtolower(Tools::substr(strrchr($imagesize['mime'], '/'), 1)), array( + 'jpg', + 'gif', + 'jpeg', + 'png' + ) + ) && + in_array($type, array('jpg', 'gif', 'jpeg', 'png')) + ) + { + $temp_name = tempnam(_PS_TMP_IMG_DIR_, 'PS'); + $salt = sha1(microtime()); + if ($error = ImageManager::validateUpload($_FILES['image_'.$language['id_lang']])) + $errors[] = $error; + elseif (!$temp_name || !move_uploaded_file($_FILES['image_'.$language['id_lang']]['tmp_name'], $temp_name)) + return false; + elseif (!ImageManager::resize($temp_name, dirname(__FILE__).'/images/'.$salt.'_'.$_FILES['image_'.$language['id_lang']]['name'], null, null, $type)) + $errors[] = $this->displayError($this->l('An error occurred during the image upload process.')); + if (isset($temp_name)) + @unlink($temp_name); + $slide->image[$language['id_lang']] = $salt.'_'.$_FILES['image_'.$language['id_lang']]['name']; + } + elseif (Tools::getValue('image_old_'.$language['id_lang']) != '') + $slide->image[$language['id_lang']] = Tools::getValue('image_old_'.$language['id_lang']); + } + + /* Processes if no errors */ + if (!$errors) + { + /* Adds */ + if (!Tools::getValue('id_slide')) + { + if (!$slide->add()) + $errors[] = $this->displayError($this->l('The slide could not be added.')); + } + /* Update */ + elseif (!$slide->update()) + $errors[] = $this->displayError($this->l('The slide could not be updated.')); + $this->clearCache(); + } + } /* Deletes */ + elseif (Tools::isSubmit('delete_id_slide')) + { + $slide = new HomeSlide((int)Tools::getValue('delete_id_slide')); + $res = $slide->delete(); + $this->clearCache(); + if (!$res) + $this->_html .= $this->displayError('Could not delete.'); + else + Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules', true).'&conf=1&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name); + } + + /* Display errors if needed */ + if (count($errors)) + $this->_html .= $this->displayError(implode('
    ', $errors)); + elseif (Tools::isSubmit('submitSlide') && Tools::getValue('id_slide')) + Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules', true).'&conf=4&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name); + elseif (Tools::isSubmit('submitSlide')) + Tools::redirectAdmin($this->context->link->getAdminLink('AdminModules', true).'&conf=3&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name); + } + + protected function _prepareHook() + { + if (!$this->isCached('homeslider.tpl', $this->getCacheId())) + { + $slides = $this->getSlides(true); + if (is_array($slides)) + foreach ($slides as &$slide) + { + $slide['sizes'] = @getimagesize((dirname(__FILE__).DIRECTORY_SEPARATOR.'images'.DIRECTORY_SEPARATOR.$slide['image'])); + if (isset($slide['sizes'][3]) && $slide['sizes'][3]) + $slide['size'] = $slide['sizes'][3]; + } + + if (!$slides) + return false; + + $this->smarty->assign(array('homeslider_slides' => $slides)); + } + + return true; + } + + public function hookdisplayHeader($params) + { + if (!isset($this->context->controller->php_self) || $this->context->controller->php_self != 'index') + return; + $this->context->controller->addCSS($this->_path.'homeslider.css'); + $this->context->controller->addJS($this->_path.'js/homeslider.js'); + $this->context->controller->addJqueryPlugin(array('bxslider')); + + $config = $this->getConfigFieldsValues(); + $slider = array( + 'width' => $config['HOMESLIDER_WIDTH'], + 'speed' => $config['HOMESLIDER_SPEED'], + 'pause' => $config['HOMESLIDER_PAUSE'], + 'loop' => (bool)$config['HOMESLIDER_LOOP'], + ); + + $this->smarty->assign('homeslider', $slider); + return $this->display(__FILE__, 'header.tpl'); + } + + public function hookdisplayTop($params) + { + return $this->hookdisplayTopColumn($params); + } + + public function hookdisplayTopColumn($params) + { + if (!isset($this->context->controller->php_self) || $this->context->controller->php_self != 'index') + return; + + if (!$this->_prepareHook()) + return false; + + return $this->display(__FILE__, 'homeslider.tpl', $this->getCacheId()); + } + + public function hookDisplayHome() + { + if (!$this->_prepareHook()) + return false; + + return $this->display(__FILE__, 'homeslider.tpl', $this->getCacheId()); + } + + public function clearCache() + { + $this->_clearCache('homeslider.tpl'); + } + + public function hookActionShopDataDuplication($params) + { + Db::getInstance()->execute(' + INSERT IGNORE INTO '._DB_PREFIX_.'homeslider (id_homeslider_slides, id_shop) + SELECT id_homeslider_slides, '.(int)$params['new_id_shop'].' + FROM '._DB_PREFIX_.'homeslider + WHERE id_shop = '.(int)$params['old_id_shop'] + ); + $this->clearCache(); + } + + public function headerHTML() + { + if (Tools::getValue('controller') != 'AdminModules' && Tools::getValue('configure') != $this->name) + return; + + $this->context->controller->addJqueryUI('ui.sortable'); + /* Style & js for fieldset 'slides configuration' */ + $html = ''; + + return $html; + } + + public function getNextPosition() + { + $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' + SELECT MAX(hss.`position`) AS `next_position` + FROM `'._DB_PREFIX_.'homeslider_slides` hss, `'._DB_PREFIX_.'homeslider` hs + WHERE hss.`id_homeslider_slides` = hs.`id_homeslider_slides` AND hs.`id_shop` = '.(int)$this->context->shop->id + ); + + return (++$row['next_position']); + } + + public function getSlides($active = null) + { + $this->context = Context::getContext(); + $id_shop = $this->context->shop->id; + $id_lang = $this->context->language->id; + + return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT hs.`id_homeslider_slides` as id_slide, hss.`position`, hss.`active`, hssl.`title`, + hssl.`url`, hssl.`legend`, hssl.`description`, hssl.`image` + FROM '._DB_PREFIX_.'homeslider hs + LEFT JOIN '._DB_PREFIX_.'homeslider_slides hss ON (hs.id_homeslider_slides = hss.id_homeslider_slides) + LEFT JOIN '._DB_PREFIX_.'homeslider_slides_lang hssl ON (hss.id_homeslider_slides = hssl.id_homeslider_slides) + WHERE id_shop = '.(int)$id_shop.' + AND hssl.id_lang = '.(int)$id_lang. + ($active ? ' AND hss.`active` = 1' : ' ').' + ORDER BY hss.position' + ); + } + + public function getAllImagesBySlidesId($id_slides, $active = null, $id_shop = null) + { + $this->context = Context::getContext(); + $images = array(); + + if (!isset($id_shop)) + $id_shop = $this->context->shop->id; + + $results = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' + SELECT hssl.`image`, hssl.`id_lang` + FROM '._DB_PREFIX_.'homeslider hs + LEFT JOIN '._DB_PREFIX_.'homeslider_slides hss ON (hs.id_homeslider_slides = hss.id_homeslider_slides) + LEFT JOIN '._DB_PREFIX_.'homeslider_slides_lang hssl ON (hss.id_homeslider_slides = hssl.id_homeslider_slides) + WHERE hs.`id_homeslider_slides` = '.(int)$id_slides.' AND hs.`id_shop` = '.(int)$id_shop. + ($active ? ' AND hss.`active` = 1' : ' ') + ); + + foreach ($results as $result) + $images[$result['id_lang']] = $result['image']; + + return $images; + } + + public function displayStatus($id_slide, $active) + { + $title = ((int)$active == 0 ? $this->l('Disabled') : $this->l('Enabled')); + $icon = ((int)$active == 0 ? 'icon-remove' : 'icon-check'); + $class = ((int)$active == 0 ? 'btn-danger' : 'btn-success'); + $html = ' '.$title.''; + + return $html; + } + + public function slideExists($id_slide) + { + $req = 'SELECT hs.`id_homeslider_slides` as id_slide + FROM `'._DB_PREFIX_.'homeslider` hs + WHERE hs.`id_homeslider_slides` = '.(int)$id_slide; + $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($req); + + return ($row); + } + + public function renderList() + { + $slides = $this->getSlides(); + foreach ($slides as $key => $slide) + { + $slides[$key]['status'] = $this->displayStatus($slide['id_slide'], $slide['active']); + $associated_shop_ids = HomeSlide::getAssociatedIdsShop((int)$slide['id_slide']); + if ($associated_shop_ids && count($associated_shop_ids) > 1) + $slides[$key]['is_shared'] = true; + else + $slides[$key]['is_shared'] = false; + } + + $this->context->smarty->assign( + array( + 'link' => $this->context->link, + 'slides' => $slides, + 'image_baseurl' => $this->_path.'images/' + ) + ); + + return $this->display(__FILE__, 'list.tpl'); + } + + public function renderAddForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Slide information'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'file_lang', + 'label' => $this->l('Select a file'), + 'name' => 'image', + 'required' => true, + 'lang' => true, + 'desc' => sprintf($this->l('Maximum image size: %s.'), ini_get('upload_max_filesize')) + ), + array( + 'type' => 'text', + 'label' => $this->l('Slide title'), + 'name' => 'title', + 'required' => true, + 'lang' => true, + ), + array( + 'type' => 'text', + 'label' => $this->l('Target URL'), + 'name' => 'url', + 'required' => true, + 'lang' => true, + ), + array( + 'type' => 'text', + 'label' => $this->l('Caption'), + 'name' => 'legend', + 'required' => true, + 'lang' => true, + ), + array( + 'type' => 'textarea', + 'label' => $this->l('Description'), + 'name' => 'description', + 'autoload_rte' => true, + 'lang' => true, + ), + array( + 'type' => 'switch', + 'label' => $this->l('Enabled'), + 'name' => 'active_slide', + 'is_bool' => true, + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Yes') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('No') + ) + ), + ), + ), + 'submit' => array( + 'title' => $this->l('Save'), + ) + ), + ); + + if (Tools::isSubmit('id_slide') && $this->slideExists((int)Tools::getValue('id_slide'))) + { + $slide = new HomeSlide((int)Tools::getValue('id_slide')); + $fields_form['form']['input'][] = array('type' => 'hidden', 'name' => 'id_slide'); + $fields_form['form']['images'] = $slide->image; + + $has_picture = true; + + foreach (Language::getLanguages(false) as $lang) + if (!isset($slide->image[$lang['id_lang']])) + $has_picture &= false; + + if ($has_picture) + $fields_form['form']['input'][] = array('type' => 'hidden', 'name' => 'has_picture'); + } + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + $helper->module = $this; + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitSlide'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $language = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->tpl_vars = array( + 'base_url' => $this->context->shop->getBaseURL(), + 'language' => array( + 'id_lang' => $language->id, + 'iso_code' => $language->iso_code + ), + 'fields_value' => $this->getAddFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id, + 'image_baseurl' => $this->_path.'images/' + ); + + $helper->override_folder = '/'; + + $languages = Language::getLanguages(false); + + if (count($languages) > 1) + return $this->getMultiLanguageInfoMsg().$helper->generateForm(array($fields_form)); + else + return $helper->generateForm(array($fields_form)); + } + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'text', + 'label' => $this->l('Maximum image width'), + 'name' => 'HOMESLIDER_WIDTH', + 'suffix' => 'pixels' + ), + array( + 'type' => 'text', + 'label' => $this->l('Speed'), + 'name' => 'HOMESLIDER_SPEED', + 'suffix' => 'milliseconds', + 'desc' => $this->l('The duration of the transition between two slides.') + ), + array( + 'type' => 'text', + 'label' => $this->l('Pause'), + 'name' => 'HOMESLIDER_PAUSE', + 'suffix' => 'milliseconds', + 'desc' => $this->l('The delay between two slides.') + ), + array( + 'type' => 'switch', + 'label' => $this->l('Auto play'), + 'name' => 'HOMESLIDER_LOOP', + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ) + ), + 'submit' => array( + 'title' => $this->l('Save'), + ) + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitSlider'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + $id_shop_group = Shop::getContextShopGroupID(); + $id_shop = Shop::getContextShopID(); + + return array( + 'HOMESLIDER_WIDTH' => Tools::getValue('HOMESLIDER_WIDTH', Configuration::get('HOMESLIDER_WIDTH', null, $id_shop_group, $id_shop)), + 'HOMESLIDER_SPEED' => Tools::getValue('HOMESLIDER_SPEED', Configuration::get('HOMESLIDER_SPEED', null, $id_shop_group, $id_shop)), + 'HOMESLIDER_PAUSE' => Tools::getValue('HOMESLIDER_PAUSE', Configuration::get('HOMESLIDER_PAUSE', null, $id_shop_group, $id_shop)), + 'HOMESLIDER_LOOP' => Tools::getValue('HOMESLIDER_LOOP', Configuration::get('HOMESLIDER_LOOP', null, $id_shop_group, $id_shop)), + ); + } + + public function getAddFieldsValues() + { + $fields = array(); + + if (Tools::isSubmit('id_slide') && $this->slideExists((int)Tools::getValue('id_slide'))) + { + $slide = new HomeSlide((int)Tools::getValue('id_slide')); + $fields['id_slide'] = (int)Tools::getValue('id_slide', $slide->id); + } + else + $slide = new HomeSlide(); + + $fields['active_slide'] = Tools::getValue('active_slide', $slide->active); + $fields['has_picture'] = true; + + $languages = Language::getLanguages(false); + + foreach ($languages as $lang) + { + $fields['image'][$lang['id_lang']] = Tools::getValue('image_'.(int)$lang['id_lang']); + $fields['title'][$lang['id_lang']] = Tools::getValue('title_'.(int)$lang['id_lang'], $slide->title[$lang['id_lang']]); + $fields['url'][$lang['id_lang']] = Tools::getValue('url_'.(int)$lang['id_lang'], $slide->url[$lang['id_lang']]); + $fields['legend'][$lang['id_lang']] = Tools::getValue('legend_'.(int)$lang['id_lang'], $slide->legend[$lang['id_lang']]); + $fields['description'][$lang['id_lang']] = Tools::getValue('description_'.(int)$lang['id_lang'], $slide->description[$lang['id_lang']]); + } + + return $fields; + } + + protected function getMultiLanguageInfoMsg() + { + return '

    '. + $this->l('Since multiple languages are activated on your shop, please mind to upload your image for each one of them'). + '

    '; + } + + protected function getWarningMultishopHtml() + { + if (Shop::getContext() == Shop::CONTEXT_GROUP || Shop::getContext() == Shop::CONTEXT_ALL) + return '

    '. + $this->l('You cannot manage slides items from a "All Shops" or a "Group Shop" context, select directly the shop you want to edit'). + '

    '; + else + return ''; + } + + protected function getShopContextError($shop_contextualized_name, $mode) + { + if (is_array($shop_contextualized_name)) + $shop_contextualized_name = implode('
    ', $shop_contextualized_name); + + if ($mode == 'edit') + return '

    '. + sprintf($this->l('You can only edit this slide from the shop(s) context: %s'), $shop_contextualized_name). + '

    '; + else + return '

    '. + sprintf($this->l('You cannot add slides from a "All Shops" or a "Group Shop" context')). + '

    '; + } + + protected function getShopAssociationError($id_slide) + { + return '

    '. + sprintf($this->l('Unable to get slide shop association information (id_slide: %d)'), (int)$id_slide). + '

    '; + } + + + protected function getCurrentShopInfoMsg() + { + $shop_info = null; + + if (Shop::isFeatureActive()) + { + if (Shop::getContext() == Shop::CONTEXT_SHOP) + $shop_info = sprintf($this->l('The modifications will be applied to shop: %s'), $this->context->shop->name); + else if (Shop::getContext() == Shop::CONTEXT_GROUP) + $shop_info = sprintf($this->l('The modifications will be applied to this group: %s'), Shop::getContextShopGroup()->name); + else + $shop_info = $this->l('The modifications will be applied to all shops and shop groups'); + + return '
    '. + $shop_info. + '
    '; + } + else + return ''; + } + + protected function getSharedSlideWarning() + { + return '

    '. + $this->l('This slide is shared with other shops! All shops associated to this slide will apply modifications made here'). + '

    '; + } +} diff --git a/modules/homeslider/images/1859944e6530fa323743162aca4deb4ede8eb36a_slider2.png b/modules/homeslider/images/1859944e6530fa323743162aca4deb4ede8eb36a_slider2.png new file mode 100644 index 0000000000000000000000000000000000000000..17d9cf9e94848e2640c4cad5c2d59ff7aec567eb GIT binary patch literal 344951 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
    LQXYK+nuR-Pv3Tx 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

    @rm48}!V55J9Zb#ja`H%(uik$z)AlHAtsw0( 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%0Db)O2< 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%0Ar<0qCrIMGzP4sda=^?vpVTQ!JamGMO%jU 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

    4GWxa)2N5Nb#n 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ⅅnnK6+~YmD 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 literal 0 HcmV?d00001 diff --git a/modules/homeslider/images/3481f960bcc18ece2117eaef7cfe6c2b1417042a_slider.png b/modules/homeslider/images/3481f960bcc18ece2117eaef7cfe6c2b1417042a_slider.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5838bd8f23f8f8d479e0c1edcaedbe54307bc9 GIT binary patch literal 351892 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

    laNbc*7KqgnQtJ|-H=#xY|j}7Xix^+eXUASt? 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�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

    b8-zyz`UN5eRIM4i%~t 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 P00000NkvXXu0mjfsZp?C literal 0 HcmV?d00001 diff --git a/modules/homeslider/images/gray_next.png b/modules/homeslider/images/gray_next.png new file mode 100644 index 0000000000000000000000000000000000000000..3552a60d598625622f22fc4665d122deca818a24 GIT binary patch literal 682 zcmV;b0#*HqP) zyK7TX9LGNgtyRS0AVqwwItYrJTk!!7HH0*$Sp+9f&_#pbQUXn1NTDhPk%M$_YI`D* z;!s49E+RrP`Uf}^TaYX^2}scp9U{%+-gBS7?Q-tt-t+o>KSJTC!wiw+Bf8jeN z*7SDoi=qcU!EJ7G-1$Yec)>HhX@_qx#~}8qFsEnT-~q>(;WY;=__!_z)yHR- z|29ao0t{1RzvbVjg}T5e_Bw`|jPVeF1crWB{HjoQcxsy%1<+)ZEW56KQmB`VSobu~ zlm@aXmgsYgz7lGQjK`6T=^21*nnlOr)`cqXc8_}%n9xngUT2YmT_ZK2wm23Mt_oEo z9dX(lLamU9xM3xsCdfxTss*90@YZD@$R)WZR6py{uV<{rfI+@;G-ONuq2VU*>N zVQ^Q^w`1rr_d=jXXF4MgySl80n4PRz2XpXXw|N;*oCHbu-B@ zM_j;PtTL_3UakT-MS>wN?p}@^KC;HD{^k&!32aHZ?FaioXmNaoJX?!dxDcUV*d@Lz}qRo=V$C7de zpy+N%6Tp(P2}L(cngEuxz*S*9JuYVSFsJ^%m! literal 0 HcmV?d00001 diff --git a/modules/homeslider/images/gray_pager.png b/modules/homeslider/images/gray_pager.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3054d2af31a6ccc4a42694c2e635c6fb3516ef GIT binary patch literal 1425 zcmV;C1#bF@P)viGRa(Kw+u>)6h#CPkrpdYl|q3S z=0A&L$z;jqgHDJAR0Hkst@)|0t}Z}Zqji_%?9buAkGY6tOG`y^xom2e^*xC;>;8=9KYM zd#A0fZL1f>G$RK-fHsIy}t|y7>7v_+?iL6$u)g8N~yJ4nCzm`Jgo=i@N zYkA%w^FelDrFCcOPVj_XU+w~BwvrXnIBjoM_Ca%Vb9K_TB=D4NpKaqti5mumg@viC zEb`Q;Q$NRVj)&QhydxRp3OOs}VoTD{&~Pp$CI)81mMvRADwTp#spKMEa`x=mrgiJq z!EA_&i-XkERFKQ%-*VGLw9(Pg_OP%p@PsvM)l-GAfnIpW6VWC?g|dC@3fh zJRvkR6r!S{SXl=;-f)J7!C?3?BqW6N_xFdH5EvK;!NI{05fMQv6pGDk@H>N+9i2|6 zyDAci7(YKhmZkFdcD3mDJkgzHlVN`Tv@z$F%uaX*k#5S1smpT7ktL1aaME{N~a^S0U zYA`)~n$C&IBnzJ0lx>(Wuhlb_)f97QJuv;7fEm~U%%BvQdzsJa;Q}2stn&V!j5e?2 z;HR+U+07IUZC*uT8PLB61AS{XvKDAd6wr4z0zHrl^u26gM%2%!k%|rOvKuQLBH`2P zU)19_Ob*I#1_5mj2l{pb(1TehEGMav>PXjVvH`br*mNw1>|4c9eSt7ND}cKGAyBs@ zKn?B#didl&kd>6cuxJK!bRy&Psv z0Fb6|An#-VIduFFhivV`p8RtYUH;%P#+5K(-VWs55}3GK8oqL0Pv1#?6`V+*};Y z%04ys>c6*N7QM7z7J^3@0>N&K2mAH($83`2HUO!5+P?Acu{HtB91)DQhl0H;0siet zZ*Zh-5u)ffo^G{W5;0?!{NUBFvH%z}goEu$+~{CWqu4EIk;;+IoZB}2doVSAJOZ%& zCIVY)5dEk#OUmCP&f~-;!|jM}xFgSEy(nO87ni|wyl4^IAGRxU`1^y)afJ24GFJFH zpU+ugxuxp|{gc*&$1g4j7_0|ZMlXuVC#{=%@SkM<-k9q==+^VT9DL?rZ<_Up3@N+O zbNTeZm6I197?jr@7&6-ju2whp^xE00000NkvXXu0mjfqSLe! literal 0 HcmV?d00001 diff --git a/modules/homeslider/images/gray_prev.png b/modules/homeslider/images/gray_prev.png new file mode 100644 index 0000000000000000000000000000000000000000..743d6978584ac87261b7fbcf2688fba2286edb4d GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^azJdu!2%?2#~u=4U|@>yba4#vIKFi1?raf9ndA1t zi&zxJbNL*P9}GFP!sCxXN<&mT+epO zHJBjqPvc7TH}#k@&lT+{!v8kR3ixh0ybOE@K}J^%m! literal 0 HcmV?d00001 diff --git a/modules/homeslider/images/index.php b/modules/homeslider/images/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/images/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/images/sample-1.jpg b/modules/homeslider/images/sample-1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4553a626e1458da17074f803031316970b7a253 GIT binary patch literal 75494 zcmb4qXHXMN)Nbg#g#glPfY6(O2ue2zJp`n8kQO=$Ql$4zLPr5Z=tyrOB2D@Wp$9}d z(v+%#sGr}Rxj*jDdv<4bW_QooXXebDdG_p{zsr9&0E}>5m@a^b2mm1Z*8qQ40a^eO zV&ebp|Ah2kC!-`IBPAuHrl2IJq@|{%rKP5!p<`fXq@xGY)6g)oG69)EEG#T^jBM;| zAa-UJ7SR71AtL#w^G}P6j2c8oLkIf*mcRV~CQ71y5*iXB0RS-*5eXB~-ys0^Kb)i_ z{|op33MnxO895OJC4lPRvI!%Ah?ta=^xqT-`M-gjf{2&|KuX3$4&;}mVAe1ZaP+4H z$wgyJ5j-x;k#4Vjl#ef|<8Q&Bar zt0-c$m>gQvcTrrM61f7KA%NDdg@*=tz9J=@1rQ@-0s)LQ^&cY~D<`dF*abr#3wdDS z+Q9r|a~v;hQfaP@)&gM|!=-7^8Py+~Lx6U%#)g!R49eE}?PV=;xKCv; z^!m+ZCVRXTC}I2qZ|%_Uth(jtua8y;LKHavt0E6J$N1^`OIj(v69O3 z59R$JA2q@0UQn@y!6g|;q=wquq~8Zwx}Hx-lg>bGP? zNfF5?6!Yq2yMzetUu$0S*~h}>=GO)^;U7yL z=X`mo)9B-bDCOHC)(q6q!~J4qfrIIQIk1yERpSZsNOhs#j;}(Hb^P>eB-cZIEV%B+ zFXU3XAI}PieG+#)3T)g-R~E2kPlAZ4+-Vw{YQbV^4-p36+;gio^NJVx4HEXqs+*;u z1-ilLc-m`buiZnyLF6yph_kG#6c}hS!nmNiRRo$FBGY}1ZQDNhS?tPJGZDHBP#sOa z<>r@!`cK=uMm26tP_p-Vs{HYPG`w)_;ccK1CVq>-p;Skf{h^vs8c=e=7Yyo!Mb~C0 zi)AqVcu!)HdHE1$?9u8z!y8DRK~2TiL}VwhA+*Z5FZ-T|%y!4brV0&xUp6m9AkP9y zA=^>=4G46o)ZwH1(Ea*18v%p@g% zB@5XlDqU23TgqkYwOdZfzJSpm7uC~4MSHPH^C?818n39(gZ+gcswwV%SAEvTkMwQo{IT2dqpoo%$hJ+EwE zaUF7?%~oTRcF#bAdzyRk^7@Q-^LY3h#<+=RlJut&Q$Ur$mO5&H?>-r%NqsJawi(3E zb{65-37(61`qc@h9~1s|keM#71G)|n%|y(M&POw0*e~OX?{K`4Ida)0jRigb9T8A% zj7Yy)m%j7$3j#rCNE%j-r)2@`RkeAj+M3zm=c#Xo8X|jmBZeUnPt*OA#CCPm#ceM$ za9m-AQsHk$JyUhW5UnZDSFUsHCX`Yu;#hN9Q1SCk2%W-`gt?R%wUmEOnLip8ocp-agvF|K|4) z#GDj@di>ypODK1wNyQm2hpesu3PpuG$f;#V4n>JhsxF-IRx=8ebZdc>xL?H7Ov>$E zr?UYA&U3bqEzm!Vu=nGV@~WC23jF28YqsFwDU~KaS{mPBW>DeXO5MM=_i3cwN!-|b zc)4B{Cvuv=qrdsrOTw+c=5r%TLUQynxQ1TI1xH=}D(&!$*YJBP|8g1mWFLLm&f^Ng znQN}wtb(twsWy7WHVj}pwU~D;r>}!kQq4T5ZoKPv#%+8;MH%?t1K{Y6kI72o3hb{l zjR#o6p?uGlpo5dmjuQyHZ?$n(oAph2kgbdR4fLhBqyA&j(XuTuuhh~Y#ln1EIB@x} z(ycRP9Tba#rdk)grk(3Xq&7fhjvTZ*+4qir>M4N~>|w&TG!Du~lV!}> zVw(pvS$1id%@upeF9yTO_ z0er_vef>8e{#HBOhwZ*+q7 zd&fU;RFyGF!maE=MNQgobSz!QtZE}purA*?spu#~lS^n7%fh|A5|uo7_VK*t~cJTmkWmmPy;#1)&gJVq3frv5;1 zG?7$(;}~xphQEB^zXG|J@4{a2On^=5vz%wZ;W#IX1SzOh`N2eZuYX{h!oIslJgnk+ z_}Emp!34C^dch!Ouwim`_J6oopu8rmd!!!UIe$ zJA?rgIxHfhepZX5IX-t&KQn}o7*=#G=$0FJov1IY{?gG5{;t_RD-=+qrV7Yj7xqu2 zv8*ebgzJNA>fC~Bc4}5ai;0}th~=s+EIpce{FV(S#`AfB-TaBn-2s2dd`t=EiDC)4&uyCuStJF$<3+SyhAZgKmO_e{kGDY7P%DFtOd3FaqVP| z$1_*(I!**~ifA$<(Pa6$&u$XFI9f7?bC(P6xzN58^hdog1=Z#W*EsJl=nr7X@Q@U+ z{2dH7UKtys`EEwkf+mIpcbx<#5fxX7%sye!*}4nqRsF3APd5oR)H6d~_G_`5zL)%u zN>U;uz1LFpA+T+&D~xj^g{!1pt=CjTgF|@XUifq|ksrFwK!RAeAD}=iuMAUp?G$M( zdB-zRf8g>jz`wG|!hz8yVga&*d))26Z?@(CB%qS{oFKgVbYHanKa&}4?@~KNq}j(^ zUZ2pnuee&P?R?AApQZh-X!0Qs@b7ecRWsEb>7~#{A?G?1(}Jzi^!7IF@x?y&3KtO3 zUG16?ao3AhyjZ+9o_^x9Csr%)O0Nute`z*A_8f;+c}MhTw+Z^$Ni);E6nFNBUG<0L zVII}X=SSp*uw63jXYHS_s70)KX(hM)H}lqBY57elGk0X$*GyJ3&zyJ-k=STfhZW(( zkardHrXQE!8jQ}vY78L!4s@5)bGF)?U^VFn9HI0WnM0q%Z-vw_HtI=5?lECp%!+BxpQo{&xZMqy7 zsF&~-*c8K(3eml_5@n_@yHs3EM%x2J& zUwb)SWzZ*WWcAe|<0cg=tJT$_!1!WKdks`3*1RI%;kYjROlUZMDIP zse_Yh^q!D^Rz_>SVR6mgQt3B+2I)9`o|$mQdrv0eTOgp>zK)N49(urGoy1)IL{0-x zy6wJ|g6Ht)XE6B2b&%T z!*?KlWzUNQULJ9s8CM&a@4qT8i3l|Ht#9~fql8F4bj-^5YB8!4Ogj?NSe0ITSdBzS zHOaM0jq>A|ZbjK{KASQUu?kxAir(|C&LZf%&As{1mLl+E4}q!6TV_Ys*^O})%pui; zKM6=CKe9K=q8?NHM;F>{7sq_GxyR|HVm;j$bI2E= zukwjVO67*TBtPF&cU*5eE=!}iQ|k>>wa=Z`Z>_C46!S^X+Hnh{#AY^k$wYmN-{-N) zNp-tV=fK(Li}5x1A9K*f#|{BF}vWb8o*|}3omPTL3owF*!;%r-$`lr)I8p*(5+~5 zvYV<-`O^&qV%C4fafiUnvtID&BRu<2Ss9}O!tUKk&8!1WadA+FzjbD})O^o8>$ndm z%`JDo8U>mz=PzIr6G~u_FwX5r4atG$Dt7iUMZ9yYG+?1jm8a-+==1IMTy|^P=UuY! zo^(CJ(v{R{wW;K#G>})bimwMJ8vovGgRc>0e!M+6z1>h@5J@Fio#t$agt#t_s@UDR zmwUt{M8g1&|7w_}2ZKlTYJ-PK7HJ&^9+jBY(&aS7VKrN$+h_@S>g&8jk0KlmNWX_% z9Xo?Lui{Gi7=t*26Uip&b0UqmxSE?Eiq>h!^Ve18v;7?Ue4M`KpK9_6*5k3bR%M;?#RsVS8yzC7H!_14-{q>tx-giZ({Y)d07z&X7CUvi>Ad>ff`iqrs74cRaG3HrNgqFsI3K7 zucXRWwL-C6s8Wi2U z)Pbx38db-*mP&`@y`x+kJ}8&O>B0UhjLQ3On04HM$``A;UR9Pd6!%tNpG~s(dwMj# zseW7qvJL(EU1!`_-(d67Z4B1sl~#?eX+)B&Lt$_L@T6fO#Jbz|Em25X<<`9?NoK>N zt9m1{1_p&ipc}^C4EAThbovxgft%+8o(AVC+br`t`g)ndPsHyY+)nskkEi~3Zo5Eb zJC81TYr_wj|BhG5UwIUNyjdjYPiEN|?Bm+j`{~M5Qi3}?ue|)YRHb0sO7$&^euSh* zfq>C^jMT~049F;T^4R(Pm%BP9wFqd<#IIZ<&_rQ&q*nf)<9&(&jnk+yg*l6r8Z#D< zJQrbyaMF|?Q>uwXwgy#;_$mBpX1;G^T5BpszVW1E2lvb3H{Z2b6pfasqIJ?9_wu1%5^NVtHQtL#t`BheH_-J&YI-Mr$LOm@M zDZOEXT!MjXZrscZ!-56ig0qIVhw`Yr{l+5Q*xFw%Mo2g0`=&}^V>BzlV=T4(R4XJz8O z|29h=ib$}wD_+1DqmX|jfTao;_=DIRsByqr|7JF$#Rv;cU#K( zQ*z@gG{JPzW`eTg(B6;U3kSmYf+*Yyzj39cF_f3C5Ci{t5 zG9XnM^v0x{?- z_r$dM*s;l{+xsD#48`~LVYZ$*Kh6gaHNERxl{#?!*{G}ZPaj^mQNqkXk%w< znQ8VEhIPF1;Gh2jScnfqVJ0mnIP7Z3R_$FkUxtO<{as-<$VHmCe4w0Rz$fn?u%j;oHF~1fe;i#bav)nhi?nh!SZ$UD9po9Liie;1>!;8>-Po2# zA1zXZ9{+&Obtk-{=R15<@1P=C{vL~L(t<*oIDaHVgy;X=48i$QO?O46MX))N1R@uB z(=wD}jljK!4Zc<{Oak=#OjX<1L(5&bWgl?%H5(0eWdk>2>Z~a1%yPzAf*I;Pdu<=@ z?~B@f`p0edq=mk}zLU$Wcx1>m^2fjWXaae3qrG-K61Zi4Ms1$Y#mA^0)I8{Uk6rlu z0W|O6{g4kIWCavg4Uqm^Z(vj{lYYWz)N3yIk*J{+iH<7zck!E*;?F4e8%50f7KVHjSK~*(4|Z8u0hvj^UqGXs zj6S(C%Y99GdfUcR7Ad$(YN*HRW>XL>;DB+1sKi68jt)YQL+zTiTf%Pg$~LEp>MfeO z(GU^`#q^0d50hi|_-Z33$Ygq@59d!z7W#8@N6$41Xi>*7J)50{B~^{;z>jMhTX(ZJ z^i{bZzj9kApP1QkeRpG0IVEf>rT>76y60A#=2(4Pg?rm!Tl$IB1Hmfrf`VPOUOnro z;waX}R*98wb$Tg->s=K~UQSozeudq1od3y~Sn+SB3ziX{EPr>=Ut1DTeoKu*$wj$; z5egZ@k}H+W`N+sQlJpIYIP;{QO!rf8-o=;(kB9|A{%+PK!YrutDMv*Uss^ZOE(U8ws- zpuMas_Fj-8UR}(ja|pIf*=+XHBw4gA+PJv#Jw%`#MAmZ`p15iJN%+%N!I7cD*?-}K zdQ5HZh&0UbN}lmcB~v83DeiZ{7E>uTm~Tb+M=vQB(jIb4dgO?w$+Ofl%vv#>VBJ?~ zD(Q2siBC3Pc_CPLrWA4#JpNsl%t)f%?feUf&E!S3WYH z=YYZpH`;?c6d^?H$oF`ltC7WB$>J~kHaXA3 z)98i(`UQPkygnw71JcSE^2IiXvh=chmbB%>gXL*;8V7V)rc{&q^w=*dkFor4&H`WS zwG#q|zYC|m1{ohiB7m*0Dd!7C2+yxUpL<>f?Zjh>!U3z7$*jWt&AsN<&rBAnwZ=&T zL1<=b3~Thg604hnv1f{TDZk|5b9PN(%%SztlztV5+KEEac1@V^)kUgY3-g4TCwwZ! zK8{aq;wW2=RR%}1t$wZI!5q0-o@AP{BGOXnL~Q3woMbF-TIb15XuBn__F8OaqkOM_ zBpq~v;(;pPqr1?^Pm|2JKYkop?aWKvse%TaAR0(zp*9s-UDRkFecB85 z%rNc2`a^{TyL>pafA3xW*Jd;EayRRX=kezmMK>BWP>#%Tj{hPg>03G!u*DYNXyZg{ ze>*g3+}EmZ`s}W#E4S)$l}JL)t(i+-78T6KU6CHMJYd0gQ%-p zfAc9G=8Q-x6ciVZvxtt&m+^8)m-JO;N_-^MzfK81CZcY0d%-js(T*1Dx5m?;cGo`F z%YdSaeGErp$Uz!(Ir}ot94UI} z>q=Kv;}edZS_npUhSZts`P0zEI#(1j) zq%AG^vw3>C2gT8~q-w4e-D$2VVUmVGpj%hE=B^_Pq#E@|v@b6`Fm{SX zG~LJx_mraRDzEgjOk)DMC?Ux zqz50+&UA$t=I5hxy&+gv_4Was_UmG=&o#1BQ+ZZTI=KG(ZohM|Ih>&vY4mJv={Hw; z!o$GoxJ=@(_}|h^VP0*-w#5Tl>dvK zFY2u=0C8~jNIK<8Pbz)$0}57%m~QfAmD{7-cZyKNW02kM0tS{w@48oe6cbpl!xWtB+U_J+JAGgn;}dsveU;iaI1NLFGM7mj zeBrW$P#fv~XRP{zG?sAza`42?rhY4B*>B&|QQby}FtXUgGP62h*pYFG;&~=v`ctmH z-OVU*NQo^P{{vzfe@xkRnA;^lSCS*A4r-8=d0Qj?X!G3o%L~DEqKFoj()(8l1vlK! zj!%YaAAxqBoC-@6$(a=;3BX&TFjPmGUwJj#5O{S2!_Zwo#@jhEGchh;_4sD5xzX)C zg{|VM1w-Ev(`n9<~Sp32vX72~hzM9Pd3`Syz4NkjGyFe6KStlqxaU$y`;lp;hvd)kyLu8Q5RYgr!(+bVq%g{A>c0n z^3&}7riiU`;fFUnddi>Q)hH_VjhyONN>b_K_G^+>$XO>MA2LA~%sZ3Z|2+|w=<9VM zJ98RZg)%j>|1_IhQfo(f*(<9><>94tCKYodu1=U1IASU@jIo)b+)(|ua#^L9B#~z% zk89hdR>11vTUEBh6AmsY%l78`I*4aXjsBH2dhaqL_?t&Q3%C}^Zb*Z+N_Jte&*dp( zh+6a9LUYa^3F3G2vJO+$$Q~1Z+*Z7oHARji(Ta7UsrE;l<>`Wjx#GF957k~Cz-HF> zZ?r96{RrkB&(zcUb9fPl;l2^3%PZ&0Lf%y)b>C#acH#Wit&9qzAE2qir)~&gZ-$P7 z5(x7|2MqCT{VJ<7I!e!3_2!clgeHoMfkBJ>%|n^u#7kUb1&wB~CVYPutxf1bFndce zw?OLLQN@c~mog^B05PJb-xv5V*IM5`Q?o_?MTX|fS5K%+>youHnleMY_q5`?UL0_=JX_gH*3xg#Ox4SGY8U;X zCY|MtJ$f3o0^!T9d>sJ(MUxa{K!zJ<>pB!fHtVd~P=0(RBv$yJMMl114Rms13R-I` zeyYsXlHNo1`po)gXGg-lZO&g3?McG6MHQA(V*8>NwAI%_=?|e_(@YX}ypmN%2DrZ* z(xG3KAlaf^3*Z-h|AICh##jDMxhlcq1*+7DjXXRo;PqaD)b|%d^CD|{2(eO17$WXX zTE*(8`@c!O0)2LVZ4aVSF0cACtQUi^qix}`R?wg z6U<78yw*QgY#Hmh1P1ZdY_1cdR>#)i4>$5ftN8A@(G-Ok z&^nIJm9I29+BNBMJ*;J>eN!&TlD;D@x=mb^txZ(OB8agfi@ekkT>V63Vq9&M!rF^I z-Ed~hG=!*3XFOhuetg-Z9)?a=Y~#Z+p~_YTwFPDn`m|dN^@b_~!S~g@s0^lGiF#sE z-BXN>ztKrRO!&UQGot=|6Iyk5MN_!8zA!w63WoF($;ONAQ6T8atg+nU4H;*5Qm<|_ z@JDTPl3EV!OgQkI?3d_R0#vCZ|r#Ni`+yq50 zY*K$;h%&RlJmJhih9W%&n)Cw)GIff~GM%p8BYmz;uUN^Qd6mwn*M<8{ZWH)I*-@{F zHAas#C@!qS)sufQMJ8CeOo3^qr*9^}Rh@Jslf3_$#(F7%QZm-O=jT0jq-}(mrSM zd;_-46wY{YA{VB{7-5fgq@J}k^E#W*Ktrr=kW~9~7OupXzY$uh{ts1@BMD-=R zrl4VOu$XQ{be9@G9fv8BEcp(Ke>l~CVo_Y~n0O0Qd_Yr&w2klt?1{Kjb#_aprW@io z^2t5!KTSo(ZBS{3E~%07h;33+Qg@MyBl`<6r0Yu*yFf{k(3JN|19u6cGs7Y_toNR` z8dg8ypl=3?*06unY{_tZ;3WRSx%bEeRb2cH3zXTpt#gEl%~iIi;IC)`zS`}&tzy_2 zi>obSS#Q8P^sF2tf{ob5ol8>p2%|5~RwgcPHo-*m)z7+9HCLX(8~9~bDBV2TVTUh< z`dqBrZ?zU@x^-9+V3v0?Pa8OsL62+NL*0b47D}|_=|Nz#&ggi<{G2iW z0k`j$((nyxUD_w?+c&heW^!s@UFoJi@m08)HBb9{v9^EBLRWj!RrCop>9kE1RJ2Y( zI2o3I#h^}8#mMYWRaoHJ3+xu5C6YgwNULFNpBVLaI`n=c=}+Kg1J+*0vF1p=j>z-`%Jq?YO#!$PrrXZDb3 z1`BR=I}$j&(B**epvknh=HpNL)Z|mKtjc(*Yn7mZ%(Y26Ht_;`si1wG^qD&B&mh@m zNbdZxj;>RH;Y5BYWr&`>;7C^aX#+*$+mrG|<=4v(Qz2P7wT`gDm~n!Yo31U$vWsiR z$b1Pce$C4AhdpDkqAi*IFfDgc6L=PBIg+PYK=0WW+h?;=%$dp3;C{hgb~e?2tZBX7 z4Wurg(9?&=l?Ob7BT1w{44W#R4->Isc9vhgsy-V=-_uH~)b_bcAgw{N3Fl25H4zQ{ z8gv?CC9+fa!&E-+alqqQ5m)2m2EW*ChII)nz58h3s37-Ij0I9CJSOkW97fah!c|A} zwOO&Bq>o`!!p9-&JigC+uYp$|@p)0y@RGISVQN%O)f&Ihvd5dP#O;{yLU~vJO=2YJ z(874t8nnAf%N=^N{Ayaf6&T%8w&#&Hu+g=Z#9Laio?<#j#cH^n z!i1y{?%R%1!4yO=kXB4F%xMmiFmi-w!|K zmN^Szd^OFP=TOfgsq))V4p^zZCt~XhJeC7A&5fV(k}dH?ehsh`{X8zlWiur>=&d2M zMfs>_x0&;kI^_x#0s+#g&ko~hdhdA)+IiEubA^ceU_}BoP-iODAjMW+GkOOdP@bVh z?o7N@a+*_3ZoA=q;11M%iX+H@|5<*M27VrGwFO~9`fUiGAI6I=mM!;as zE()3Eiv$xxtrT`2BQz_d7R4cYO*10lAEBk#LsoLFll1OAt!jK7cpd{|iX9(?Y4B#UtMI20muS#k%_m9m6it ztw1I9hx_La3K-XU$Ua;r(MjOt!P}IpM*6(<)6Nf$C}l)lQnr(4{}t06D32zPw_`+X zA!qDNLGrirfV+LKwy?`d2!H!td$|v|K38jtTYtD?Q7~)cKDXme5Bc^1sBGDyU~y!7 zQLaj-C%nw&M`z>dIRYf*l$P)8tBj=oV@$o!7<1}9;LXQo{M?Hzoy8g6{J=jhHM=b= zui~l9ws-Ycg#_uj`Xu? zqS&8^TsO(Oc{}8Z3%^PWy!qp&n3ZL{E!#amu)C*;l=9tWB6qQmaNM~c*w@$06+)M% zpbBNZuc1F>KTt_?nQ~;x9>n26swBr4$XOgZz;y?i%9GN30GNirOei*w`OIshshW<~ zISQ-Es@!W+Tc*lso~b0MP)6W#07)C)QVmqga5h#6iBM-78UwOg+jeiF3#Pq;mC@gh zqW%Va7)`bZ!EAWeH_dMNL*>gRa)Nq_OKkg)2i1lvjh3d zY=QilLta(TR#>VzN>xb(kI1b^ zx~-UyR1mfq%i_F}t*u_5u(<05UGi_ zno!HyDU+tQu=C?pN}r84;E%G}H2@**Xkiu>h@R)6d-Vinrn_6}27z4?c0CA`6ngS1 z)G;}9uezCH7k+5s&qp; zTy0U=Bm4f<&4Wh2Dnb~o^L`=bX$?eNwe3q`d}Wr|EnoHWO)O{jq({QR}KR(`R8k^Xg#t z&a2j!BD=46nSHO6&)@oc?OuPlEKcepa6SA$Ukis_*Y4^IZzd~Pi+(ZqPI2AxQDvLK zSHj3V!o32|r0?{D+GgfI-}_`FTrU#eD0p87`}XRkT44eXGb**OWV=Ib6FeH1YQ7>} z($>m?*_SQHS*7Ry0vJr!xg~idOg`mK4nH!5==q3NUhH3dNgqvnGO{uh_DOqe6UVv| z%FHr`ooL$xgGK2j*%1{W%1QMmmBEjhYdV{A0q|i^p;)|F5N~jirz3r*jCwa+-(aeS zG4ZbO5FLs$H!a-a^}_*3t++m{2Q>cg1Hi62ZjtXe>uzQd{d@t-_XQ!=y!jgvbsA#d z+J=4q#_#bPb6bp(4 zRFVZ) z$<+Z9dZkA+qs^&M7&A1OHcmCnN6hW`s9@~K81Tk)|ouj_p!IamDHPpJrqzD~mn3Z}O78vQMm_ zyQ3I|w>CEHDSwQ=WBrW1t$mXwyk7WEzUC8i2l9DPG{!tKsje#F4;ZQ6Q6`T)o0#O^M5~m^ zhxB}_%4?p2hCRI|)r-FR^>)eALHJPfhhW#2^1X+mk9!m`btY@;vI=>7KCAs9=5px9 zVX-d=-EzCEm~UMw6U?vhMGJaU#Im>e4ztdEL;^DXsIh=9dHy`WL!F-k+vF zv>tvLf!5<6W)4nIX{eq4eC#dIZc>nsW8LisLw!X7%z+UM|Cw@_36i3V1)q?8g2E;O z1KIPv-{KHuM(#W*KUOhpIm>&M?FsYPLwRds2FGT#t-k=UhIX9>e8KjlYFr4LB^cl7 zBGi_xs@|mrY&XXWAcJ}Mkn#Webz>8@S)eXSfG)O3}JF2F0+4m z>U|-x^z^pGlVtz)2Z&6guw#Bj^mIHwKUrOIo$PWtWyjgaCByq$Z|Cm+`R~KM0Yoai zyYu6I|IRosb#=kR)#f5@@Jk)(oa3GP?t3w|a3rQJQ-@gnfb(%`RB>?}-DVOaQ$eJxDk$N<73Y$And&tp4N zWTnO zluOpVyO=9FIJ*8YKhNtkRvYx`P|mPcPbvAs&qs}eZ|t%=PuV&;C`NqRMLlDR<+fss zCkb$Q<`rvRb?1GsJnKVvspIzr%t#)l(ttJvM!pfFvPPLbawo$cgv__r%Xnv292&?h zUZ@G&2&yiwM8)m>yYxzjjU2ekUdDPI{m~b`p_t|)p;X;U0czDR`GB>d_x%Ctn zz$=jBF95W_dZ8z(LXVrBQ2wp8=&@Dpz34pM{~a-1Gt8j+OWWn1?#(@LE6CYD@f_ zXHhwpU;h?cKf8EnFx&h1Oq%U+8b~YWz=1pJ{v$mD>{NoC>xT%#_XfqR%MT)Th z#jwjzxw?vdluE+DZ`afj>yqmeQkM0Fk4D?s&|(#(UH84ki!92yBN|Vuk$nqAYIZ%i zZCfIK)(EW%q%aUvdT(2iXW=tM6k>+f7MD4ycj%%8vg-_~pjm=t@GOx%8nmkp5BznJ zQdU|8$BA2Vx0^llOEH^vz!2Dr);a2InQjRR4dfvd_+&!_C3CY zEww2YahU$&N@Wu0m`ztTg?7;T>N7?c>?;v7256fsltx4j2IVgQ=w3s&COn8W+i9w1 z3TRB2Lm%zCEAY!p#>K7me}h7*$Qn@u${cZx7HyN8>|jn?=E7>;68>5fRDW@f)38L^ zD1oy;z|69t%9Lg8hLzBh{dHyzEt!!sLFrKe)u*ZB=}toTtQoqi%f#aYZ@l-ICfV_MkYV*n-&6dA_abwO09``?b zIzG3=!ux)*6=(u{I|973{{l>yru)_{nB-_TZidPpb&DCgCCXL$7RyAuK1Am8Te$SP z1bx4ok|7%Dx^Ft!t;ZJ~^s>+PGFiw7I#;J5i~&`XB0F(Tua zv!~mQ0h4i z`?{I>ghs7IW~uc7T~SVX*AuaeB)F&9N)}10r(rq7=qHNUhfxg)ONR}W`0a7j;{59R z6E*fen=Ed>$A%jC;6mj_lz#8s$2Xe|6 zAC`D#dKEt23T{>k0?lM2@6KiIWHN%b>U#=IL#eU}Cb*m^h z+d+jE@()yEDt`fJ$`g8(vsdKXpPgx$;&$tD=9URBZ>tqnyQeT(9{$u;^zpu~3X8n&Cc*L#gqDg_R9P ztl*c9PT+COHSY}$0c?LUNuF}0ay`T~SyY+f(AJf?1^fL7+B-c?o2cP6jHnpV;d-l) z+RW~>B#{d1AUq!|8C;Z04(@6KDkYnHNXVe?DO5`RQq1*wWziK^pGG}d9GozPck;K0 zbPI5il@xm|hpj=iqzC>>GyMiqU2Ag|MV0wbcF8hvcvWNQG}8BvU!{A7NV6-uxFNv% z2*l;TWaX43D*}j#q@bJzHoS3oM(V!aK~NMSm%aOtesQm)rYFw|)fXskr5R&ZN@bTA z)@H+c6k=}HLq{%!EnHi+swSM>jzWEpYl|U;IX%>fp@IKCD{MR@iEA-5bpquGdV=>V zT{%Jx!QEjy@DfFFHDW{T4NbxR^Sl0z<^YDg*FqZ^2zVJq6)Z7IJ(#-BfX>GFlyEI+h}g%QpFcm~ZB^z{KBeT77G z-!Ax}mWz^!XD|&c|GCHB{{VYHgum61*BflFTU;oUup-CiL?&){fP^TawI~d&pypM) zk~ANuTgJ1fR584xZcWq^hp?Q7D3!lB@|`FHsmo!17R1FKzrM(#VV3BO_v)I z@+m~r*|Ew{%CoE_okNag7SsW}F+%zj<(qdCRZ&Vxm}S&CR#J0`cGdzVTOgim>-;(k z+T#9~F{I{k1nw`XPBBHB2&W+-Q&p8*mr_TK;0MCk0?F#LYjrVAMK%0n{{Yxi_{rwm zc|pf%(#!X!Us=@W<)-esqi?%Sz_*CTe~E^_VylfUH~QwA2P^K(?!6xnfw^O8}zkai?_Mv11>T&B;<%_HJv#JQo~$8Vf& z_ugGawyG4VW*&WD1xyuXQE2K%oO87)#&OEK9V`-3#_^gTjx=Re=5UKkXmZ$HT{%zj zl{BxeP-BZRuLRne#??VelrpkSWJ;SK4?L$b@{WL9Y2H4R*Raz#oH(4Vu5MCm-sIHk ziV_^iQc|@Gkd>uHCqvNNNawexEwx&z({a}tiAC;U!YvXSIszGW1(BmlGM zp0VHcY#6DeDX}c-b6@aZ%GUkkT;gsL)2NLmW@1strsh@|l$2qsy*BaLwvabbJw||P zNC3xs7qnp|Qe2pG{{Z9hw=7dt@$7T&4Dbxc5%Gm14@xEJlD9Ls%S?xspa`-8E;A`g zvOpwtB!CHv540x*@lOOEr^#2`lnJSq7KUUV<~Gh#eqHZ-fJbrIo#VPajD4M2;XJKZ z7F3&;Rd#WuHXLZ(wr}yJqtzqe&-jjVG$J`K+nW==i1?h`y8i(5wDz*JgRvz?G5mmo z4OFvgBBAc{_V4=s$0Iff;?vG8d6irEwz&E$zm1&7lpO#cC@|6H(%Kv?_!sc_h0n?d zEm-OKLCCpl!k`jAh;@#+!ByM=#um!*ttBcQ3}w56a0EWEr#>xw5>cZtDLT?5`} zq12xWMU)Ri+6H?GKGTIWQ_?ao=v6N={#OxwKv1@Z*3u+!%PuhbXIgblI?I5xQ?OOO zD|a0t5^hyWns|hj-DH&!a!vQVSDT^F-A$VlmvIT?4%)$_CrfV#Qg5eNb(p~UAZu+S zCBOSY3q`-AB%`Do0|(QvF_13~7WLZ35L-8bm;{fMEgFDMo{{cZ>G?)doS?*QG8wg@ z^bmZZf@~uQS>0$N({t-eu|ODQ_*XqaY5tO5ia#VAWj6R8yMZ&&Ona9*+`WB{Un#-Z_ z2z*VUWF#M;irO9|B;TYM!?}U$@`|{Y-qA2aZfT*1rJHF03w)pko#m9=3msxbx0_n8 zdkQPnC>AOw`*NNh+tn`suBRW%_4Fg`=PR0Q4?ly+_Q8%haH`$tIO96p(OW{^?|BU2i)0n%G) zVYd&(a7E*xutfpt^W3HnEtCLVeM3ZlQ{^1(Mnk8hhjw9f$5gs=QmrlJu5qK0wA_%8 zrES{j5vV<@X$Z$0JFVdaAbQB;?f!qj(FD7K}1 z7F@%|?ksfx4ZkSldTu?T(zvr)#I=gMGIXg%mrhuD3M;#b&zi#dua_VLTat9Nb782L zj-wvjv(jPF$1VxveY$+kF{f~bLS~amt5-1!FuavalHByfnxB?;Pzh~qt5qbMDGIWN z<1o~8hqK?Xo-LyB9)pXfs}j_@bsl}W*>@e6A?d(_ah0M;N>n%)y08e zO}8L;Z`(+v@e73*daCt3Gjfk2K_bgxw-(wL~0_icV>uGVa2vSJB z``$Ur7gAVmZDv&*ph>z@v~~3PcdBSkvku=nDm4owlYXOksZF4*%%p01MW&(mNeLpt zA_F1UFK)5Xi=%~=UjPi#*4WGvPox`3M1@Nb%1YEGjD)$$kpBQLIzc_h(^$PQ-7^c} zDcYR+a~!;eY@3xjp>PMKu6&|^j3rlXrd^z-%}cHH1+*M&rAr556TZHXBau$~0(f36 zuCKda=jLu)b%ayHo+DuTl-$!zQ)VTfndYPdLXgVtf(P+k7Vn$NIr+(CIZT$BLcBy| zbr$#*KTt)F)JE*%-X#j*<^#j?%DyC~Ftp7AtEr?dAOx$iHvFSV)1An&l5E=iDhIcJ zlq*TO<5HhqpQCif`$KGVI76pjlWAJ|P$3%Y4@yltCh}ipMJ}TEAnpjU{EdueZH`N- z2XyWs`V~0U>oO8aAu5`fM7Sj70Ib+t^wh@Ya*H+?$CcSNO0y+eMJzWmg|_#+a$RWT z$)lDfD9S8%8(c=f!je&=|Yn3@by!bqZwWJEPQ|!xd>#?44Rg<#O2yx zA$b+?AlQvT5R8$FSNj)?pF@1oxRJu@TP>z*9XmLL-M(0rTXq)FL9`?y+5xFHzNRAQ zeWj%)-78 zCQwv0&+!mKhPvsvjq63GNmAvK)i#pdGC{CO_jz#3XivxlByFiN%9QcPvwuJIJ}{GY z!Nvywam$G7mVDuNsVnI_T$w{fB$0kwYc^`cix85(=8IPjJ(nG+hbFNeBbS?%Q>982 zbQc842FeO~%~fM@atMw2TC6>fs!O5JONgTc6xA^kXTlpl6ug>_jykJlQ=;f>Uc{=_ zv$r7Jl(TZu>>^%Sgoc}8k>PD1Xp!h5vd=1|NN0!jAaKSFpkP@vvqGfG)7F%7%*s#{ z`qSA?TK4i59#CWNDOy~gST$^{>uvu4C|wPGs!oGm@a|!o z_l#uCs&(^%RB^C0wXS2tkaoS!!>ki6Ah#^DrN?MFnFJsl4mvcqiCsmKmZOf5knr2haB z@*9)TMTY{gmgg(Yn*yP?DoQoHI1P|(FP?ReetYs0z|Qi(N%<)$ShT9%suGi@~6 zZ;aWzVIV7Bx`=le;Cw&C8Zv44hM2`cgsVF$Q2WVOKl{elx)tfaTgG3TOr3sc6QZ0t ze24XkNpy4ED!B;Ulh!#{)o_iIZ+7!k%y4#gijsyGU8qQ;We-tnE;8^>^DyC3N%KJ- zkTwg3tXO&x)U;~k|@~a&mhQ%~Y659h8+=OZiC5-R)!OVU*?ODJVIc3Lq=Eixw1qnN6Qs zs+6f}oRiI#+(U`+BKs{QSb`3|ap@-7R*n`ZMpCJCWoSqhG8PkY=?yn1r8p9Vg}8P| zJ9_pJW2sT3sq+~bOLGjU1tGzGN2TGG8A?h*5*tPCLO>URzl%lQK53px1vW)3pn~Wd z_fhKuHbW=~AT2|3M&=h$=2^$XE-jXdLYxRC2qgG(D`9(SdtM`i!p`mHJ>W$WPnt#N zJY=fLj0~Xd3k4&jJm(3qRA-cakh0*mfI?KiIDimSVcId28$$Iz(iWDib=DvTf;(Ks zOMh5&kqC9b5<~(Fsj@bNgbjaa%ANpr=?tyyd*7^Dm;w=Kc_zb42nDySbr7$3vC{D= zg2^;Yi);0SDeT(bBYovphf=b!tPQkFvE@wVI+$7~GYbQ8+6GcWw}$VK*d1b0WPB1u z{K>Y^%bNPbEjU&Fu)sJ4ms0G>@LGf^6Il*NeY(H4l7idUpE)@>3AtvBSH#(lN2-B9ezatVdtGdUo@kzvs zf^j5T;Y3~ymwzA@+q_0Lq~CFF(DE03w2bXo(pgi$k#Yi|)+Z8`4!)5Y?#gfv7}5}B zTt=XUT=cwBkO^ldLdu9%`v?Wp2m1Wsw&fP1;yQU4C8>P3Cto-nIugjoT2n-b!d@xR zU+D(SG_7ne(@U8bN`DlknVm zLvJ9YWho;4;>B1ZP(r)Jq@2160lm*sAVyd!Be3XtM6`=Z1t5!GposYbB_t_4%({zt z#m13JN`eK3o10$o7fO>0a3qkHkS?Nn4$;zl8sMu>%S+-sM95~6QXH0&aO*MDEq}?> z4!)6>E@h54BTgJL$mt2-_X#HPGTNxr7VSQYHYseECVZP66a2^Jc-}SY{WAg3OuT}n zX%fvO*)AOJDBGfMsXa+Cpnavit{CBKEYqlnZf10XlE_d`EOa_-BbBK9T&(d*eyLT( zmA9xkDwu$}r0lp0eQI6#aGYNTM7ir# zZ|m6`!-yWzn3c>YRKyI@SXLgDeaRHoXWtDsH8Fc~rQ6j`tPc{bERlPtX&gyX#S@s4 zsQlE^#aY}_q+fNOzqh1HaZ`%UaTaPqUQS3*u&o`FEl8rF(zMDod#OuT<8^1mwVhN? zU?Tm%pJv*YHlH=zM

    z!c^wbIO9{TErr!ndzRTG3!^AeQpUo-YO9XU4K^JV9G?yT zqBHAq>Ymstg6zLPb9nnN(BuyeYRkmbr|PWNn?p=do}@i8+tP@+FKCRUsY>vWpet4;wBa0^HhY>q)*w+wuyoZtjnpQlFF>54A%&;1lS83#@s7qRMaV@CQ6Q! zB`vG_w$zX;l%O3F-K+(=Y&ypq`$W~4sCz;NgLAA=1o032Z7a$*9;W!6^jA1@2yNPM_G*xCPQ?4nwXHptUN{~X5 zwHw^0HiT_qp^e3hakX>)9-b(sNy@bI1sutVkfMOJl!8&#_s}1la$=z4ac`%iJuag> zRO62hIJoiGhH9)A#YQSGftWH+#0jzq=u;a_HBmPx7jOaV8X}`eYY|T_YN$g~3Slia z;|LP=Qch6rU&gCxme#S}@wPCuhqzD}mQ>5Lr2@tGkPuWo1Pm>wNWtw4SmRQHr|JI4 zyhfv$M^kg&HN9cd9{7rg{;{#KF&-jpL~9zl{_%b9znnR)L}~dd7>3RzY4rsBuNsFC zQ3Bj5P$@~hfg5?4+!Zv8mpwHHdq%m%a}6@u#q}TWSm|JO!ZhYd$CF56mK4&00zzy^ zCM)RsvNgFH#fucorRP?wSy`f|H#Qmy1L85+f^8m8D@t4&>xI0YV-3|K~-GZn3_T5wCjuUBqU!rJ;~T~07jLfV`}CQeb?z#C#1`Q z&L9w^FV!bcoJ3afHB%GJ7iu$(Oe*)b$sZvZ7LrRdn`(}Xy{C!kmL(Uv?Z@2pa(Gl{ z+*omMT#~nzNiM6ZiR%J2z5YKlMgkpX7%_JG5aczYZ@i)qbdW^rv# zC2jc9g0yBr`hYVfLdSa$ddAH5cAxjzcQDRGDv4QW)Z`^*MrPZX$_uTeUinm%uWMMg zzM?0o)M+ePg=un=(&>E;(52==g1Lfew5=*%EbW{ln{@Oy8g$oOFQ8B0x|Sf6sHHAU zU>dV3mr{p?)IBk=BV4L&YfvL%tH&+m-;ZnRzdv(Ai%i<}ZVb|;@dS+XZdRxh4<{q@ z)H%Z{UFF{}a3{iD2_#&6e6XQnq6X}xaF+=;?(a;+~tb7pA3C%$9jc(qdGb zB}1lUD(Fz@;pu4S%Os`T*&JzgBr@|S-&V;=TWtc?0U#4#It@fE3QB^M1@3;Zq^Fwn z*#h@>Qa|NPXP1y^sp@SC7)MSzLWn*PG_X6wYSxC%);HUvIY?b!H2biLwo zza=Y!aC)&eC8;$0215*~>8}R%(TB=mp%GL8r%Pk)lWvG6FCHSd= z(~4-0B(z<6T&7``lrto)H|fyoY(ys`l8cl_;@IY+H^D!HC=}Uz7}TQBiRoITzImdw z==vQ+iby>&s@9HU_GICV?*;4pM#9sT2cJzcw3JB8y5T8Aijkd{P?Mm}m4I#4By^44 zz+6o+Rl={*ruCSkx*0;cmQ`|_`HK+`@gkCm9AQJmXh2FQSXB;nKy^2ASx3=9#DAPb zoSscS14q_DcQ!iYW6Oo$HEnrMJFo3*mNaQ!-=RFrvj3Aa#{85!qFnl>bmj;*VvhR3Mu z0jrI2blJXK-6mF@G?eNp0c|P7{{Sk80b310Jt5I@XlL}#B%g)N8e`fI2v+LTbt#+& zR(6Y05}`8;7s?x-xl)#p3A0N`umoE*?0d%oO*b%^w-GoUM8XtO;vNSwRef#`So&Fu zy{ULvK#+AVO0H(0<<;)&r<#&_-D5&MV~IGgj&OcGs!mSHQ06GJYgtkqX+dGlcUU_8 zG!fnQd&?EFapTnH`$iF(Qr%53F#8dI2O=XRQ8BcrrK~0XjwhF zM3kd~#>V#-ymln594ID+YZ--A&~U_69SUd2;o z)fE+HI-O&RqmoU@y0P-l2yl_cA$EtX4ZzdZ8!0#c07%FR1Se4e@W-bq$m$K7%ck3=~aNf(Nlqw>A`=O`|;1vhi!Ua@l2_j-~^7?3b|@fnJ*`QP#;FAVT@n+{91|m!R~* zfk`*q#AB(NbR%jSNW2B}C{w0P6!ZfJ$$r;&Mt^ z2y80;E}n5oxdgjj~f=^@Q~gK-A5wDIk-kuv;@L zbwqUU5vZ9$y4dv~K~mExNV0W1-qA`diByFUKQjw#IB(&Go1IQf$8PYoRMLUrBHe^i zf)W}lU5=eMi7IrHNh15-and1EQA4>!z%d}i_y7yo#ab;M2?^SIP1FxaiRY<>*(8f; zZt*0k%qLa6)R3z zP*$Lgc8Pb?mqm(nzfO@QOKGN1lVEM21}5r7)OjT^9vqm(mB~6gK!+#YOuhE9N%1S> zo1c_*FSK?r{{Vuxe>AyDg6WM)Gm*726PSRT1dPK&pp9AV%Ot9vKboH?yL8DlD>2wD z!<8fHng;f~qP2_Y;#K;r)TbqU!^lWbUYit>KC#8s$xkG4%cY~ydn+5=xhs6X)1kt+ zwo4M!q<`XS!w<}}IO$4i3s_clWzAqOaF8#pt)UT8ny5bfyK-FR`=VSghI1UD!U9UI z-oOj?(hr=a83)(y?eC? zvXJnaB}f5dTi9$bwWEY7n5uSeok*j);WX-E-f@;eu+Hkjmb3iE$rtRA8-}k)sJp|~ zD@;qM(-?6HTk0SMERo?)e>-g)olco#$fue0e0)7W$=lH6#<8^s+e+{E)3sTm@$;z_LL$O0JV}a~$EpOklnzdsN}6>XJR$n&n-W zTWP>7%S{ETDNz6gC?H&(q!_+?S@CuGiaO-cEhj3M(uQ7bm8E>k0Jhrjf#3?v>a{me zMf3n3SHPI4VGM0StR-vy$21o6m(+y#s z>2lGg>AWaSCDhE%JZEOc?mMX-ouWn81c)dG{V%jwF%@aHQm_;hePdbHu_6#uRI#n$ zPi8k!D4tzIx$+5$DhWA>P#Rt}%}!(~M&#Rl;JitRn;F!n0#XI+OloXd#A#_XxRkmH zBFO`D8u3C|9|uM-SYvVz#h8h?RH!9ZP`JJ0OJaOa&n{VaLFsMbyi1K$Jf#fQNmhdK zL8w$!Fr^#m+B^7gZCspvR;zar=nqq#Q;SoIF$Cc&B$M@m=9Z^O188B!%WYhXX&nTp z;Yse~hMiVrh7cjj}?W+z2jN?J7T%4H^vGS^Y1N5tTu@kRHa!Z@CsVadzH3R zukl{-)Cs{781vdXsZ?8Pn55C@tkK>IH%gwFLylM;g(z1|j`7CL{k*boqgVO$IvCdI zug}g6%{?kAt}RU{2h`G;T2_)0wDoPyw$#}E6R7G4)p~oiigORk6Dd)Wb2}N&iKlD= zn{bT^7M%^Z7Epq)!-{^G+9sUm)Fd-W%`A&4PBuX11Nd_ct3UHWvn+<(FQHy51gt1r zl=+dpw~l3-Dv0_;NK{&R)F8B_kW|vQLamiaK7=33ycD2Rlcj(?;0c5ZOyQes5QSY2 zhK=(laI1AAUr}+|A9ir1I$2>t;PfN7gSoKnLr+|0%yhrf0e$d|tW0`g^1Gkj@fA4e z4U$f`+9Fmh@H+hQ3IHWbzT|X^zYZ`PmC1&xb$`32rC-_Q$g-wXHaz2;6e{LtyKoMT8f?w<1&_Kwm(sbm%;+I6mrOvYf+oE24*( zHZjC5`%2Wklrb#D8m&)NQI{t}6LKy%T1pZ>`IIOFW0ZqySoPWw3~gj_inzi@|nxocfGIhxZ0U}Om13r8H8}zoeg6Y!C zw%aAPioWcCvv5v;l064lrtx2Z4DnKo>L%TCUepQ)NoB0FBJ! zq0}~1qnBNJM@)M@;ln|~a}{S2Q9D+$PLxv`8Ztad;)RjskCsiH`$>!)`W` zG=^>{MV0{sMnt$9bc0JaJ3~uANzyNNQ>zDBE<4^DKu7}p zBLE!Zuk8SVOr;~r99x+ZEFg5BIL*&;Z34Lg;1cGA!E9RQz;uE@V|$%C z!>!$53tag|Y%O6KY!shAID`t8WFp4iFF2c)b+Fh3ULg>&JmKp(m#~CMSW}`==bBIh zZkI44jUWq!dJW)oEnxVCqYf!c7D=_@sx(H#^FvFw=>)Yk$^cwi1WRPx5N z%0;c|cmkPFcOpr>$5@bdrc{w}mhgvmT~!#DXoXugq6iF>_^r2CT|Bht3RbEyGQ^T5 z8z5LkTP~3b+}>qnP|^w#%|4JttYEjO$Ym;3#mRwLms3yw?-!@`g+ZQwRCE3wrc&6FfkczH8E4d!YyPAzKR!jA$+;>n5E(Q zxrU{4f(R;3`sx0$xcCZlaMn<1mz@2*Gnm)@(sWf+@V!B#BI;9QC(B6T<^KTcr7oMl zlhkM)+3k;7{tuk5lu1RoLX zH;-Ko4i;OpVk?L8lTzF$6tbku;#zv#oLUHRT>k)nahqh=Wk5hk>$%=Kf7-^2CxZBI zOT&~_160a-kt%!%L0ygW5H}>;libFp!uY9~+NTGq_;(G@)#R`p3AI+6W?ZM1u=!h# zUv(g6&7Rh|w!-nfeW~#O0NeN#`mC}aT$-{?G^Z_PC0g7R=tYh6yl}Ny8r0%a>2LM3 zxuM7XnYGoY`+wQM*!LE_i|g*rz29AcQnUnsG)T|@2EavkDJ>|GaeTM)-}*)!7J0y} z!jJ0<$X1kuo0F}h&?J(id6wLrv$FkzeW9uNN$Kn@h$oXMr&!A%`|7e)W#;AIq19IJ z9cPF*{{V;OnpibP6adpBfP)_&tP!TEAl!Pz=ZEqO#PrNo?8N)%dXr9Wa#;adEc?T4 zs4D#eR!ngD$s ziYXV&L&dr3l9l(RAn9cFid5ZdZlbknvQGNNnn#9DILcggdRqHhA66D-o^pY84z`Vv zc%j5ZWR9aRn;}SCtLp@)8$d=_+=H#U#oB5`AOUMcb5v04q>ys?LzK)?#QG4Dw6#1z z3Dc>xN7j-X1p`}Yc)vL;mL%?!go{SHuDf?!H@$(h7)x^%mI@IoOIBs5?r$DK6tyKN zNm|rw5|MIF))0|$2U8DAp>8~swn|(i1SlI=^wu<^o^9+M!i7_KUBoPBT9(e5XljE> zZ#B~GP4^O&l&BvUDZJZUU0zYI>WWL z*l0B8DwRog6KmC-TF~1{8eFI2Cg(+s?HYDok392JQ%PaNB`U+Od(u##hk_P_tw>QC zgq0@nh&I!6?lq*E+HTt1_{ZMLOiRnlGMcszol6rfB|blPQCqF89)(Wk?hll6oVgs( z4xo!iTdx7tI6+dPVmTEV%pHuRQ%IT$%HpM7c^6@81cZ=W)hD1TN!B?wrB8B=Q<;)< z6gw>Hno#UgZ3)xLGQGVz{{WGhqSIDiDJ$pT>6)WULscpp$eLs!HdBQzCCjMyNlM7_ zG4zK9N=dONGgw5qU}85@SyF(w1=i3&ByDScWxY57p*r?;I;vu1wg8gE`{c}H%Q2L>_(okhg}w_{7ss9CW{oStjpqg#~W~RY78Mu zZ6@I_HQ*}wp-8`yVnO+ow1O6}l#k}xE108{9jDDUgmYV)LKU1?WnIvG`iNU|jo!ra z+(v~iSd{kH{oXk=&5fYZ~7a)acP@gFnvi#5umkgRBWR*%pQy>dp5fid&a)YxgRLD1xhdvb46R&uwAqrXqTF zU8gAxG~-SHp))c{5<%=YKa^82_ZcXY^w|fdYOFI*BsTj~4rC~CI~}Y7lW#5J@a1Zd zl%d2_q_VmK(vs?ItM%Rt9mcG*@wiKvk@WT|Q?8Xv)e_ozwJ6vY^-;WX{{XjV0%YqH zie@rIy5|)n;BIs{vPnlp5;Y)pj=PhdlbJ?#9cbmf>Yl6Xucd`DxNNj}$PH zM472HlV-s8grj_&90R&ezL$<0G#ZBtvApFmN^(|ql{fbIwV%-6~{&2jQ{NWV1)>`SCRc3lqK+B_B>l*abOK z?e3Fcg(mt~*zLaCz}TOP>ZVIfa~}=M%h-m=HwriKsQ2}abHxeCTqVScrVgpiKTDpJ z%P~xzO0q4yyFd&Zo^{3_xdPF`Wk7A2Fc%e&$d?mDSSg_|3AjnK2H z8;izVIC-qH+xhBrvM6owF~@hvvSSWDNY2uiGRw%An|nKMN{gYyn_l49jJ~_aDPo$+ zYLhE*{{X&q#b;BB*TrG6-q6Kny;P8xo2SmO^ql)EEX*@7oU3hM>Im-@(7TiRnDp2% zLkjYqTT`o+e=F<|&bQXu#$A0uMF}>(g;9o+WoExfI}G9JtWSt(^ob;MCg-LREXd!) zrCR=jQ}T^XrOPm-d>tk1qro z{&1G)a#jerVgb3@0(HCVeS7zbH?Bp9fSzSmI(|`jzfo;hKoj}K1<3R54lSby78lYS zOE3}+yGCpy1lvf$QlPD%fXY>v+7t%2*vGQ>x6%|yBWrp<0qaM!+i1up!}o-b3BA6N z06AiGwZvpKmuORJJ9H50QR;8hMO&Z)kVfO_7`4n48zhly!oA#RPM;_nf(nKT&rt*h zEJen!_CSzr4z|*iJ9O46yD@ATPS{YVta_D^^k(enK8V{@`N$GoAq&A|pZf+qc&Q;gc#fpVCjQ~9$ z<`9s8U>49+q1^X^Szm}>VWr`6EQ=hHQd%C7mzmBzH3k7g9!^sH?R>OAeAiu zow{imo=|N%8yHn{Lob41l(ClUR=3&&cnwNc0rQAU(37(i^a9j>_2CR zdHgM=xNUX2G5-MSsD9C&CsTy=CBzT_>S5jk$|_5R6eKK+kyQQV7HrAq+}`Et>a+v)|9zS za{R$fn|jtZ>LMqGRMAq!RB1&ds5?H>Y8Ji0aX++rTv4>4>HQ8CFWen({3u?aMlrCtW&xE$SToO(6^VT-+2k5eOUJr2z)vql36V&k1k?{mC zn3W{|04dP=q(+!=&SI`_8$$+AYdBwq?C}Ck!tDxbuBr`EPy$8LmfmS<>0(I$^drtP zYI%ZJPSt+5UsG<5N;!8m#XI>mSM;(JsZ%c5&0R-@UZY61;R!+SEvI!7E(}3p8CIC6 znW?aZS6P0359 zCCX|}OsdK>w$W9@6y&s2LUQS-N!#Zgf5Z+SVad|zl9Wv)&~15b6aN5D^p0ZUWd-~? z@ebMM3A$ZLz5RPf0|s?D(mh10CN0StrRGw%LPobcn3I&Gq|2#!NXy@0^MI12&Q2w^ zTe^w(t#AZv2B^qpnw2ZWpqrk8I$0;Sj&>Yd+h(w@pi9d<5)NRFy9m^kW#;Bw+{W6+ zQ)zFSl<0PiJ5zG&bG74kpQW5lb4pZ2fzlR(V|xNNv?U;QgLo|8JDCII*n!<9S zw4!;Sup8KtI+l#_ViT4c>7cvfebIORVONW6z+f>LtLAxiNiEPM+=30g_tXzLCW z@#=GpoJzp+OJkLa=oogS)lOm362!&Sf*ww{1!*22HdeN@b9GUZd)Gvnw*;cRuerFe z<_2pSa2a?OvXW*QmzbbU6078zmsV7`l6qY%x}PP-&MaQc@^J-8nyX>Dw4Z6Ybm=}o9&qjZ9~1xaDE?XC_0m-aso*sa&9;2p$FDFC)x86 z%we2QDM^`g{{SzoN~N|-tJj>-P)483fTZ7Jl_EB4Ag2$PA}}`|PNA>V)VfoO$^(fg zSiScPNrvX$=91=ot~Y#(P|yqPd#AXF`G(wFt4$#*bDHWK4I~vC=f8)k+i2)68Ssg! zDjBNRnM3sw1B}Y6#F>7@T@=5_M;fc4p~=3bTZbGnn8fyXGp2BbD{KzyUWcm5aM}==z5Jm z-QhHvZ`sNyVOiypZW=n}J-?(cy_***sEfwUriDD+X{Pf^p+Pf=Bm5$5n2#f467*@s zA+pVu-z{DQq~=PJtw9I2@OVL69Y_MH)A zATL7vlC^1Lxk&Jzltmj);rk8U)1JS-`!>A3A*s?8%#oUXrFkz;q+2K)Zp0MXa)rFh zsa}MX>XY6n^3vr}=}5l1X9KVMFcRemQ;d>t=hxOV$~5f`jFgp05xi7k%Ix5+IJG@A zNJEaQ#FU+{=taI_Hixn9Jog+|HHGF}31+O;b^?$805I6SzG=<$jd18Hravh0u}#r? zU&3_<>l7IppT=Q&VzND41nLScN2m{+8@aI}&YIp?t0~hS$-X>;C`}ZWS*R zaNd`XDJ+v%!fux5OJ5r4&mR#ZsBOTNc?BvspM`vOso?39u{i4Hsq4`|s_I9YZyifj z_JW(o7^-wuCmH3`TJg~mutAsjR*-|KPN!2GSH&C_a0WW7Q4%jI)128ggK)WZ_?tKM zHa=j-Lk(q54ps3-E?y>Nm8LXq=-=H7klx&`T4l(Yc^DY3phaWo|sg za<(DERXizMo1|7Gou^c#94)^r__C6JaC#A;1};1);%!HU*p^;>hf1Zw!F7dSD#!Kn ziEcV^VV*GJd3utiTa^;*22!hdlrMV|)L&?380Nv3!|RT^`g{v&WrJ0Z#`kC4di+go zEXhowmuuWuddEro67byAu`N#*Ott-*l8<(lDjUqWok;%xl^6d2s7E@n{h>%o0mwFu zxxxN2RX9fU(q&sr-7ad%nUiqXEki)Go{9tNG>sYDoE&0v;T3ky@NoenCA0O#7V~~^9_j^<#?q+m2mLtk^IAdINFajoNupaCH2%$6PFB?O(K5FJhS zj3o*>7$hR&UXhT2acGtb80A}Y3kbHx9w`yvk=g)HBxw#L*y#ub>jbxN z`#_0F=po>&qgbQlp(Mz-wa1hm%2EcZyg{a5qfFnNEfd8gSi+nb)ijCDQc1n9@`O0b z06G97HM)rg+n7_cs#+`sqLjnA9+_boa{+FeKq_S<`9sEGZg_RHW0s?@PVmKOQ{)+K zgr4FOcGGw$wqYu2+x+2*Kn4vc>-y;#$Zl>2&Iq)4q!jNHaRzN`X{W4bCT*>6C|@UA z!qCcxLjuTQ39@$7!^j5Oh`^U|MAnaOskdlQx#&^!C*VZT#*t1X-X#67Vl_v#&eCeiB>54XVjkCL+(=0i(NJr?G)Tzhyx;$ zH-_Am$Tz=jB35mH)qv0ryTFcWo7>9qYXe9HD@$p$u3prBdfE{i42!a;cl_o9rUT zFHf1BYz;y35r^>e@~(@6^AMElfzB=R9WI2j!VRDrgJt2Idc=&I3R7Sx-ow0k^r0gr zfNcR0t3)GDDYXQoYueE25raApAZ&_JBjRhP$& z&C)f!ewwNVADFAU+fxlPf~OgE;M%hFBdO`2)-)w=j1`G$iA5H5wwOr@L#SvH4enA2 z9wh$&%mI$U;-vl!!#Gl6V--qDPslWUGOsX~7W>1YlsxOjPih&mUlV6 z*RcTnt`Ev3`1y=ciEHJFb!KIil1Mrezv&vvS%R>)2FMpCJDOZg=~O4(8a3IH)$WHi zU#dFijlR(gH%Vq*QS{ACy4gz7lX2ST);Qw3I`qP3CLAShyK+_5<_MZ~PLQRkO0epG zC>EJsla;8uFHmGTPMT=2`+#`ZQPmD4?{ugOkHnIp8Z_EyX<<-SbM;!MsgjHG$G4$d zX|n8^j)3 z{{UFtxj9WV>4BsZc)i{fTW*2tn>Byf$cH97_9sdB@^Jn~~IiAtAr*mKNY5mQ*86}x1bbt19RW@kN zQPV9toUgL#<(^HyyLcbSC|vr3-W4W=%glrV61L64lc61q9mEP~!`SiFxB#C(V84^@ zbySw!%b*UV+Wto1ADl-xr!>k^r+GJr>K<<5`9Wyr2l_`!(^y6n!c8Sg0nC?C zCjBFxIK7BnsLD)BwPls)Z~Db>=E;{bzEJq`rMHN#hb?0%rA)YNGNf#fZ)nz)G}-4s zu>k2CV-?|v_GOg!yEs}mH_CP!#;Trd8I`9{I>)lXPCOnTTNx?&ks8}dPy`PT@g1Wi zWj)}qNXMr{3L=1 zBVv*X1RcZxgaUQf)(Z^x8USBqn{$>69U-l-`S{)LP1` zpGAbMbSW{&9@K_&7Cj@2A8odtL#m?A$+S=QS(Zu6qx`OwDM|iNlh!I+1mlGF1hF#S zJlWb5`Ac<5YDgUB#q6{aba6M(>2Yv$F}Jwo#GD((yeCtr;W?+(RC-wns8J{7xexux z%+%rtQA>ph&f0(^?GO|hAN}I|yAGsB zJxXx`N7*BawK@dU<1RB=molbJ;%=FyLVebGXKb#pv^Kr2q~BboG=~#7tv8CQ6H_L2 z*Ou#{ZaZri4fY;ZHUcoh4qX>gWTgE`Ok<8*ezN@I>w0eRIKu4bGMwxtxU zRw*exQl#`y>N@WZ&Q@BbDOnyb9JgTYIHo&TWz?I9_5fZs2kjO z9S;2>+en#U)#oMBjz~Th$twh@w8(&Xr4n`oVBFuRt2*lfI%JiA6N_f=SmzOdOPTC=M`=b&n}&XX|yJ$i?u2!H2Jn%H^}M<2g7^i zBPj>WM#!9(YN0PKxukuaHP}}EdOry3=BNVqKBDA@3#Q4D7VjO+_OkrspU>ErkzEIP$teNxIKPRsWB@`Zof2@ftA-*;sDsD_6GiN z+&xO_Dg?Q?tW6Z~|;jn{Z;#v)d=DlEb!*6;Dl zI!%&)2Mbm2Inq>+ojBE zl-~GD(WGaL7Rkrf-_+$N9|=htoukr5?geEEu?ELbU{_Wb;s)tDf)4Q^NMky|wbD9A zUGR=Xd1T)?4$K!hEz4)rw$QRu=sH21wau+9wl~|-BW2lBnbo?2wTXE&IEV85Ifb)% zMtM>-CuFq}YHE#9VfjZ^%gneI+S@v%V`3w?_*0GC$JkX9a}24O##UwDR$C#(fC*B3 zh#>hG;i-8y*EHJEcH2nrYYy?y{>{}IlURZ2HXT~&?zE>LX-4TvhRPj}NayM*tb7*- zMy&$Fr=&1iMfDdjN`X4=Of_OO@qD8lg`?*WUE?E9(lKu+SlT@~z&s7_ta|6Pd!%Cj z0QZPPJIA3RM%qV-h(UL`^NfKAPQATh)alwFEcJo6Zz#z&jN~>qgoIz~0I86u&SU3j z$Y|aiOGC5^Al0MRH@pxT7q}4O7|gApZbSxbk_P172y7B;c87TZBI8&=NxiKUZom~R zhKA<-q30IZHc08D3e!qf@cLLvZGB0FKBd#(WSic@L%cS$5_HxIE$JC85z~H$QN8CwS{d++~WOU;t)cAF=`oMnR z*WB>NGC1&_labp z38sRb0PPk^Ji8&(`sgAZGDI%@1WVI~M-$MCM3+J?rpur(l(LgxFB30HH89nbkYbG` zQGJ9YAw(qVb%|!N65D4`J6`dQQEl2b#%ig9)a690>OwRdhz(Td9r0y42vMn~W@l4% z6S<4U0$y5rT`4I^BTYr(?psxhj8xqam}-;*fn_<0K?Bw{bvjrkSRE1-s~ue@V9Pzs>S^)qIV0MBwNS=b`jLQXO%~mGY!b7& z%fKlk$pJP|>Q4G32(P(9o8koulfxVxJxQIAsbWAxifDzIxhthDnT5?Noj_W z9wUD*%QWdTWR#*_7FDXw#BATZz=ZEdU$z(pQ*d>qQYV|)6T^g4WUP>PqL5vswh9MA ze1*&#S3^$9QzT^CP|nF)uBiCkJLWew78+aYtXApKX02{3OKX-&tU?uXl6SS^X?rU1 z6`mIH^9a`_-sDo%HSQDc8`(0`1C+HJe-2>3^2WKTDW}R_VH~Dbl=up>Syll=A2YAc z0+&czr6)i|t{`N_vcbY#8Y>AnNlA7$e;XtpGgyk5G(YniRY~v^JE6q_N0qhuMJif* z-(;AY77pdibl>=g`|BGE7&kFm!`N39zT)3=6H^vuU044AjhAs!?}B#JA*KHSo;8I8 zC`-&sWz~n3Vb~pitY*Rg0L?E?`hRn)sFv)zy?^a}i3OA;)VP99p+eeQu?9P{+0%%! z{8GZw>`Y}if}LjP2jYD{h3}rn%z4KMOG~Li#)b1GRvw2@8(V<*ilKlp$RIb{r+S4MX?5hjd{KaqU4Mb5pWK;eoD_}0F* z-22oZ1+K~PkN5M9$HfY~m1>_aF-VziVX5ZAn{*4C9mlBa6FeW``*dnyn0TpgyrQC| z3tl|7D^{b`o{?l&H0o07YYroD%3flGS$zs^ve{5+uMLH|pE%-vDPX3sW0L4u%Q-ab zi%UUQ2x&ca-&1S(N7FoQNi|94m`h1pXctxeW9N^xy;&1{ZL3q5HfD;;H1HF!a3?#K z?c!a!d@%cG-_NuyOSy$1IgN*S^#_nL z%5SCM^dl%F!Ps*QRIv=-y3^#}oP27grQ0qkBH&!4Y6Zv_HX4m!y1gI%9YJn!1WfPC zQTTSyf!BD6tDw`XD)UX0uHFU=4iDb3lq#P z#l~0Ms3%L@0#2I6PaR?^RdW+mCh+ws$_)i`uS`f%-g}(6Hry!tqQArjTLas8$v8Z- z+c@$3f88@=ax8J(2ha2W07lpLjmHxlM&eaQuU42dQ>?g&M`l^JLcl8JWw-F8<gy>%_*TB#zCtSX|D*cFxoZ5cXrZD4(0XGKVb%#+hg_HtRR87c6PJYrVPqn1uTBpoN=n?a+XF(I8{6|So_E!bioOS1_i0H5 zy8A$Yv?V8BjcUrD%)q!^OO>8f!pA-GY~fk4JqYxPIa*tof{|2~m$GI`5aS(ev?wV* zp!&j4(vvb@LtM7pN?qlh#r`cj-WPpQsV0(T?TU+HR3Va~n_DPE!vM|7sH9vS(sbz+ zS~*O^V#-cXE@EMIg;M4iWgss4EhAHC!#KW(+l}{TisQ!*YALCs7*Jh)T4W(DPMKE} zgm6xVN?4VeQqYyQ zq?-ke2qXPtkoe1oTBhT`+bJ0ymTk>CYDeuI9X#WiY?`_`+L%id@gVBXi@=sED%L;_bm?prI zMen~)q*+Biq1@L(sm81oEbbhpa;-0lYY^s1g$te&+XX9nms0!ZeM=n&Kh|&M7RQM_)XN0;vM4QOQl`ri-PT{=_Ng2 zY(IwAPN>Vwr35qqxgysDMY@$HR;SWPN>TTK+irwHb7b^1VTF6Zilc-&5IhLJok1Pr ztav5E)Zttt%-g|U{{T=(dBRdbLO%*@e6{(-SApCc`)DH))|v~F&Hb8HU*Z&<)IWqC zolJBijQ1Zn=1(J+1LaplQk$^W=EHbsvPrnKNjTM$easGS3Dfh6CM@}&boGxCBi14@ zl%2$Sqt70^W3QAbH>@Z(XoL^}ym+9K4}^T7Sq1IZ1(mU&EG-KH@UoB%gl8!>{i0Y5 z3!ULnM4(s=eB%jTVdBy)S1QOhXt2zQbVsI5>KJrp+lz6&!j0HHg5o-gs(ISc}mPOKSy^I{i45y*>0xM}2 zQEY%yYE`vR^@dd1O~Ke!eZ^uN2va(X#G~wlXe@03x&~_} zXtH)zs2`Z4t?VI%uR66qIC)a;ENGud!*ur)Y*Vm+R+xg)2(Z+`*jL zE5)o#%S*6N{S0hrsaE~jK}Sn?gmVwIJ}pii!^ogYx=i(M z;liETl}Yi7{{S(vf9j05W8zIj>14P@%`Z>Iva;MJsT@T)H8)Ykl~k#2T$LGla*|X} zMDq=R+fAU{IXuP@_G!fvp~qXC#(0gX7ErK~T#%AMb;3#1g6pj&<3dtLlteqi>h>(* zG?p@!Opp9OMs0FVG^wDOlIK5CmaVR3x`2^;nA|k4VqPZkQk74es69=?va%HEc^YJt z<0@=&f^#U8gLJ5@scI(WN>M&TsXW*s>C3-APSn1Jc;U>}?Yvi4$6t&3oQ*KDrK`E^ z2x$PNYEiOKHtKwYbT&Bl4C4L|X>YSdlf+WV*F6?>E~>--0LxZYenvDcUWZY`lkUh> zsq<91)M&YR##GYN@=%S?&5tj*?87W`hca9Nf=BZDK?!}sZx(M@WDUB)z`dciEGksq zb+sWJ%%o*O{6}Cuv16W{47%i+QXFN4g|y)}Hn)grroDgV5nGgTGU;0EO31Qp)6NfS zogcz;G?07TX>oYhlnDi@ezLrpCBy&^ns57v>n~*tHY+~L z+-^d0W)l(*Wl+EOX+g#dQN;-`#)4X-R1S>4aVEThI?}>Rj zclLtgrzk^Y60J$;Vq=}U4>DsLuULb?Nt&pc&m-mtpm`oujyYpuMtawR&}b4PiNd zwx?>+j?*8mIK(dEreqV z46{-WVzfTgtw9np*^$mcAy2SJ#h^>5QMk5>(kc?O5~-&tzj`5I!21Ahn`m$RCqQl1 zExahl&0s3!Qxv-}lT~V6a`G%KwJ16r9H;E0k;_nN!laXMY)0|Xo$YjUp|;hVuBRhJ zncxhrGNnnsg{rt>qN;zt${dbO$~dKR(x(w_Vw=hmNhL>1$2&{P)cC!RS&?pjRk_*a zto!9r@WWRCsHw%;!uGK4ND(t5SFB>J15d#Cew{NpBP_MeO}~2~$CQ+KoK^CmBO=Ag z)EkfpCKyzX9>EfXRwt$LC1E5K(5b7uq7|q9rQz|~!tJ2yZE`$7A`$S@UE6dsB$Vm) z;>m;VbiN*xQIRW6rOSs6O0ztbCF=Y9%O+Y|Ou+#;E|l9Tx|FLBBUekbRMN_lQWkEM z-Yiu~y0$8tZlhLoI9pFHURf=KGc4ZWw$L;}e1}tVNhFy0sS=xgy5|V-}LG1#7FR0QiP`%;IWh*kn zH0k6fSwtbU%zgrpp`wRF{LwEdCeUi0hZze?6D~AOubB%3p#EYhlGNE*%4%L`LeL>= z2I@iXwEqAPOvC3E96wZQUTKLchG}M8%A`2np=Qm9bA zC#8sJsB+4HRl<9Ai>4ZNxkhHEl-iU~*_Ur7>2<(BzmQI2@*U!*El7HC#IlU23pZ1% zHbCxFdVjk`l1R3~S(HH`rh&>zKr1IwrEjSqZ?FJDr^=y`vV5Ir%{)g6c0NJ(+>l19STwV=AvoS0#^Rm;!I*=hb2 zUgbDHJC)^)hQ(km`i+W!EG zX)-f|B1Ed6x}>Yc+Wlu>9>tpuc#^tjcX@JhUZUtd!o~u*gfn<#n&zUP$=OC({1_Vb5}8yoMQT zmct=F1gHD5J{0;|4-!g#UDk*xYQ$x}grC|EVo_+jXhBj^bynu*UEvC8QmayslC%T8 zh(ALa+^l6$r}137l=u0j_e!~H>8C>xEV$b_=9WfPY?W_#zT^5wzOwMj0C^d2*z_@^ zS*uJnDx&bRrInDN-&JjB=wtK5$3G;CZBrG@;VxB1R$c+z#W z%X8+v$>l#PwUspLla#0(Z)lpvb*YExEl48kedTD^TSBM6Ts21wsx&!95=6Y! zEtM%>{{S$AguV4vzc_ppamhvXf53_E$rjf|UvNqeKMRzWYI0n-;zC{W_NRtjY$mK<8h()|GQj)=u_PD|pfJnI0K zS_+n!%eZYqz{fLM;-}%qhfL^cEyZM)G||-<8OnUt3Zl$X-9yq2N~KM$yAV&}+pcTg z4}Aa=XyDu_$2?QO8IdVY3{_|a_ZgX{P2427m1wrsHA0GhM%sw%o*MBMLyDL(OA*th z-j!wYq%K|Y;%&s6DL2_b9f;l&EKU(#hIvbLpQ$|H0Nbg7igO#mPN(K!j#`ex^Mr)? zsAWLDw>={qk1IiCv+|5(xX{O_+H`Rq9}rNhs_fH8-l8R$r?S}8enKIYIHb4WBtuG{ zS=6kbE5h1rWv<1LA%yRgc7!=P!zSX!-6FK)>d4UPyb9#W&M$qSZ3g-$W-CESvQuqh z7HWH4RcIaAlC;QOF_b%;byd4F{4&@Cw}5xP%7@^@dQb%$jOoXaEKe zm%8nxh2p<1@J+80vh@%Jt>hw&7EZ}_QdFP-xjIDME|gZVNX-yZE-A&Ni{3V77p1A? zpeZN3BP6z~G~$N$K0I-cCdu&n!w4P`Z=`zz$}`9wA%2Dom|jL0ww%Vb7U`W|UAKY4PK52htUmLr znfGSSp{9dK9#<;;RA7}Q7f3B(X-bQ&sV%r*l_BGVFXmeqZgW1@$V79-R} z-nGN$B!>>>C7b89ifO(Cm5=>OU0W_9=Rj|e+xdhE#u{?z_@+@#=I6almFH(#R<3Jk zOnFjOY-Y<~zOs?-@=c|| zGUIpnol;6#LPoc6t7JtAa#5-@>y-7jiEnjLYmkxf6q{x5VQUEHq)$B2m0J$D!_ucS zF0!J9Al~_chM?c5i5YBdU6y@Lnw#&qvzbO@^K%oqC08fw8D*tzZgG81jvaEx9kO1Z zpSS3BMi{2IGnQe&nYAk6JN4etuqEVDqJZ7bm$1~I>$Gviw;Qosn;f=gB+xp4WKN&7 z4*viYao#0yGDxpf7N<^(NvJRlhw=en2IQLo7^k4iH*QHIuaDZ;F{)8*{SMKa#Q1** z%$DjCsWYi*Q!0~}vyUaD0;Ra5-@uRoB}yQC>?57HhwTqq;%aJAGOxQ#!tOhfs#|Ly zI?_lX$JJm~N%2_dG!~6Syg>6bSLih03MXDelk;Q5 z>j=z=8dV-#l{YGdD#&G_+^JfdT}mXKOl!90*~^nk2|lb-vv^&nRvK=-I^M}~*O_3S zJfSMLPQ45lC5vb@aD_=>Hm4?&W6i8iE%XC$ZW~BQ?lt{&irq?{?INKuB>lPa?kT4N zP3)wb5%mTcX{Ea2TWtzj)NGU_T$9*CcG@$!w8{KIkE{5aTiqvW3QatGG7^alOQ&z} z(O`ZQ?|p}10%6)&ots6Ga1MzB^MndI*(2UO4ij!yZ(r#f69-WnX@ofHQ~}iF)mnBP z_C8Q)L2wkD-zHNdEg>vaw-U9dM5F?%j;b114SU6YYC&_d6EpdFRK^ZPJn#V}XYePw zyo7A(CJlEQ&P=}Qy~__%T2$3WeZ^T4vgx(Sw^D2X8j^a(rs6I*7{;dCax8tHhol0T zrpP2)mfij}{{Rz;-AW{$ogq<`x?fSVjYi+lf~nRXs+M`{=JFBBL#iKmqz{EEKZ@G| zb+(t#L~#QCM1FB8hVb=671m{`bh%Yd&b~=YN&Xaqr71_ELO~?-0K@fZIZ8W@Hq^o= zrb4V)5u--Zu>Ay1pmkN^#csOO=O^OgM7OVBXzKI;7hM#>klar5a6)M*!5Rd%5{fP|#W zA*q?C($hsN&6%rQk~(w|s;c;opIOF;l{G0wP^Bd$(BLRSK(>}A&+?6=_9B$KB9$jK zJjAnnrj{AxHGjl&xoh7`SQDnu+>vTAO$f%+r6yQt;i^kYPr#6mO ziVWZkNjEE71W_vPW_9y>%e!-B`Wx8CLd~jXR|Qt8l?NFPqFGI}#J$K0UxZypReV|t z05vhDzxYC$y%jvP6t5+LA|@3F87cQEoykfsA7iL5FE-e6S>(RblbAS*6s;D~NjpRC z%d({e6sXv1VZNKjjo=n7ou)YE0Ie)BH7-i&vkxlX3;3JYdul{)R%dy<(4=zKgOn#W zgm)dpbF$-j<+YmOHI^z!t72M8CR->-B}p2KS~=q$P!)&q6vN6ElX)fgFSY*wXzCYQ zQGHiV_XL9)bJ{YGF+GB1U6O3A^E}+EhT}vo_9Xg&-W{gM)YM-_4A|4g<=q+|h4OOv zzl=D1PdX*3QuEEa^UEF*q@2iZ`vRo^HS>;$_PWDAY4G8?$`N^rOzK{9O;X#w6^~5W z3|A)jUm-%kQq<`b01JHQULO;$bzT1ePS%Zy!^-14Rlt=TD~LRGB}ytGzxGq0{) zHXE4Z+)<0F*v`7D)naXPldcisIwiD?kc8}%j>0A#Gt}gHXVI~F^&iv0VvkgfsM=h_ z_=GvL+NWMin1O>)x0~(xU?h-Lx}8e04I{){h`7F zL}Vl$u%$D7qND{`P506h;nP@oQpD>XGPfO~5NtdUK)vG%b1>UTT4lhv(1=)OCj~UzqZV3k<@-9=C^4VY~|iBEuy= z7Vx0izT0(z966G0`A3>SSsHxc5NJykbhoS&+>krL4NEO#SX$6ia^xMXVy%+KS*N1F zkUZe#QrkyiuF>Lhqz^8TrkO5n6=4lxU?2@XkWyzz*5G-=Y*QArr1XLXAC;t1nH=V$+P3a1-2-i|4RZ5JPjE~!mYh+wqWJzC<~RmGZ`4Eb_&Aa9r+BxB zkiQL-M&%Z(4Ps)OOL5hw!*F^YFx)e`nK!}Rn|EyOoYF1smz14>h>%D?%PkbXc%NqZD~ zOVcr?52SGRuerV1*HC-FG@-jxHnXc&_ zOOwQJu8_py?3;D&V6<6UE2f1cey|l$KqT$7a+eXY%c-V##Z^q5HS$zORO~v(&m3Vl z@6}nC&Bm;GXv&&p=re1*yaaaNK^!NDk0xGW!ga`1e>-U%FJ#BwpQ|c69WF<`0q zB?sbcK>R|byF|rvG{@a8za-mCICA9)P;ECz9fj;YBJ;qR2PWIB&P*gZBOy(lOF?b( z0-aMuK_MWE9SXA>q-E3{qKm{zsIBAdMNl6M)cek-$t7mP>1f>iF{Uwx{gv^(dU2-M zcCh-SWM&-EQw1wR6w*SOAlmC)(CSZwg={X2t*mK2u9xaJ8c!>0qP9~wi&d1vyd=Q* zF&CJ`5^6Y-ZfrOJmNQKtwJw3VSVB;xo7fTn8WRwB@_v<8tKsJ6Cl&5e%{ePIGa|rH zN<-^bc2k%oUmfk6eQ&H%93@IBH!4=7o}~3KT>3InDF(!5OXmLo{{V8|v@tP7MZ!rOm+x(A!r+>Gc_srp;6m^4MuhX@C^-_Oon)ZFQ?; zk6)GIR$ml5OQ22Bsg1WTncXL+!bpB)yAQa{e+xGmvVaPXs=a^>)iHfmuSJrhyEV$A zNvoK}Hdz6tQst~%DIXfh8m(78a0Ha9rsfjTN>P2*vtW_bn2BFd-(*Np6x}%wR9vxJ zVAs)3rB3rZRvEB@hbME=bh2m7T_BVc(XfJ2mO0Bcxz>}@ zoBsf&Xz6j4t1m6>cLBDSD)wxqbNI6(SaCO#!%}ltf?-Ewrd^dO7xi$qK5;s-Bog%A^G*{=cVqtJCEb zIPL9l4#TW%Dd|>asd7>%B#ePdN>gtZy?+tg)7Bo?n5*Qi(&=lcRNE79IM>gr9dYtsuLqjr1fnE`F!<_Cx`I$OBPoosMKjEY85%x158V> zf~6@()1c~L7o9FCZn&bQDCSa?sU*i&VXCyBv4;(wn0d50#@taT6ozzJ!?H^Nx1ac4 zP&tZs7ftP!8vg*Z1sHPQ<+DHk0BN~Tguf`KW7>R|vo$sBElZznbBL4D%9pOxrE;k< zEI6MOn`+!FgJqFzH0onOtwqHZ9pK5ACo5BL&P+Ju!|ym;b@xe9mZEM{Pf}qDmgSLs z_lH6oS1#XnDs$fW;R0Lzn95U`K_V8fiadpK_TSDKLd!M{S1S=nAv@+G*X|5%I$HA~ zqnrbO#%@y@Qw5%8A!TdT4T7Vk`WV{MWed97Rg^p;{{WmPBC}2>!Fy*Y7f~p%xVg9c zyhzI_PTJN}d4>Hg6uC*45R_$fudj&TNVj3>g}mZGJ`j=O9b+7o8)EI7Qx4}CYNalP z6aAG%At!qb+kCAY=ZY~hXOTGZZIbiu+$m`UCA22M?cVXzI4!~N?W8Njq7XsreJvb! zh{%}6v($+;l>SNQB_-Qh&Q$&B13|nmN|T(dey&b1jT>KpbOchV)3}x9lB)uiNdr}P z{XUU-l0mFa6)0RQ@f}UIggGdhO){T{Wi6Ib2~@!w729u?zgV+TDQJ~tC1fC~-Xd&m z3&}ffUZvq3u~^q`zc5^BE~jafS}S8QntR@s2Kf*)zxj{l6Lh)~8J9@Qps=`t9Hpjf z5w3Y!w$m-LjeM?uSeXeDtN?a8gGUcb`)Kt{lJ{KEb z;WzR++8Dt2`OHUBa|_p=Zd(>ecv~p}D4sz702ROHx5SKdfQRZ>l-p{ zNGM`q78W;9=rrEZizH==bo!fdN;xBIp-E+xOipPf<8B*LU875?a$-hk zIJrdb;%rht?nE;b;^w0+jJ|u0Hz@T>gB)(9$#H`Mv0uZ_H!#fbZNL(5%UfzW+dYUT zIWD_GnV?QNCo+PE016S(d>O(xtB2S|thwoBG~C*kGKyl2%W6sumE=vVe61Yqi19Su zFs#2*oU&YW_)w8xfzcv5nl-V@6kWx1IJ(-DW0Fdw`xk5!@J%_Jn-Y;9Lw%YtIx#m2 zBp7jJb5xb8Ma!LXj}j04Cf_Le*M*i^r!%dNQLJ_cv3@2)b&B-~(_=XHDP<6V#Mh|jXE9+~+CRC)_-;j<|>NxqZT_i(GS-rJ_ z(I{1?Qw}PgZF_0nJtd>hvNVEKwvggkyc#5rXn8UU2_6^?lc*9|2^)OjDo6wUAh%`K zk+tAQ5K?Vu76G-U<4D3=H{Lv@W%7i3z!!@UF|q*{f&!CkTk8>i^aZtt+nYcmSgimp zcD9y=?Wde4-y0;DZF7mdLJCmKs6y6KY)QYQI@{9TeCz#t-AD_2-8l#(|5 zp-t0u*RM#DmXjHOcny#lnR1|XguX0DvGfrz+^_VHE=f1kT=_*e5QSz)xNHFz?-FcM zcCZ&POH8E)T|`MT<87o|*xD-O%P810avYT0_k%#2Qs5%wTckYP@4TN4&zw_hFK8iXY?J5KG49D;!{rP#!;5iQ z{!u3_FO+IxbOMc$h@*hAp|?UhL5)gfx90`8pn?4%q`s`y2|qrNEwcM!hZvGcSiSvV z_GHt22LAw@2-?UaOGKoL=xsqt)muX3+CyTMkIT{&=me)j(k3M6E$13*=N^@wO01E; zoJ`6t`va_Hl$o*+h)S!^T$q#WG1aa#RM499T?F?-)wOEs>8sFO-8Z4VP+Vl{;$ zODRUeFzcu)y~ctnhyyaR(JDI#uGcE9(L{{YH>pUx}EeNC+j1f-;eB|zAujfg!6)Z9mpT_Lps zuU)VH{&DJ(NmA%=n{C3B4Jg?wt$ElnjJe|euO^q65gvzDRvij}{6cmyM_9H{`j!DGTbU!M#(yOh@0z9Iw z)YHubr4FbhY>=%7%V>ArT~P`u@prI>>2%T4K|<_qt5)?6(xp@vP7X}EW!Tln(h`70 ziBLBmJBY;VJejLlq!5(=M{)gc4a=yo>n_ z&M^Fqih^6p78aGBnahADptNgkrjd)VSNTlvJg5a0NJq(yYl! zPWebvgRrtkTZjFcr4X(m&Q(?vrfBqO+1$zKc|{3O^95J=L|+7J(=@DF{W*-Q6{%Mw zxh@Y2u4O81C$K6Rf6W(uA5+H;u+JK19u^EpvrCockfOCrFEU6_7AGaueKguJtZpM_>JieBn)0Al0rwh|hI7v}b$-ej2E>l>|>5dUnaMO+D5_9iNu*7jTse_bUHW2D_sP-06xznU3rZN!}#u)^1*i&SIrEAd;X#@Rc~V+fX}= zzOY|ZRdi*lLlmNw!Fh^RIoVd1QL1w5^6Id5a$Ol6lse)}bBVIau~N{MfK7q9`@?OAa~13s@ugvfOge-F zDQi=D08Ya-`oJ`5yR%gMb2JNuDx`)^Rgf&XrhYEtO^;YiyV3Hz8_)v3`>k@ zl=`&O(iCO5S3fwyGbx4=2~x%M9R<#s>l;&z(m(K@3wTe1+CghAC3WebtqFQ@!l7~G z(i{55sh~(sR8c1&%0#+no=mV>5Od7uT2fJd+U>USy}hxi#oj+m(i#Z}l9G{-X($&5 zmckN0?X96wf8L7uztfN8tQBID`7h7V)z}9PeW97s3R-NXMCb_{X@2DTX&0(q9+}2? zu3DK)OOL8yVF^&Wt}XGC(L4D-w3=e%>8h7)2xwZ)I`TdMoqQ+pb=XHmaDJ0d;Qkkv z#yEj;;;UCb`DB{jNKkK4%u;u`=r8AZrfl04uDyoh#k!OFn^A@+Udj9|saEFP4$dF~ z+X^;Z%lRyub^%H^C!p$M=5{#76&!hrYE{~_!lr5y&nf3zJxMzcAS@$s`&04Se~NXf zSsri{`6PH*ZA7Oz-1(h_&bmf|uZgwPZ z8Re*_Hptrj;pWoYcPbpkjg!!N#I**Ls?ALad}cyYTv9KT6pLwokV>UwjuDYut16mW zKfN9wB=s?Cr&NQ-|UkBKK+4=6QMw%TyE22_mz9R>P)pb45mLk>9Bxo?|KIHjg( zNyN3t%r!Jqt(j0IJ^JtcBIkzOJm$()kgHnV2#rHdopF?;rv4LhlhQ8OQn-;c*eVIn zp}E`A5t1Aagw>q~gM*T_31?NCA_!3@*LdZ(UY5e#U&eJQ_H(yMotk|uD11sT9H4*I zchUr}yNar}Ayo zuOwRa{tJH&_?;t(W|b!|BQZ~?DTK~meM%-}3RQ}dq$=B;tTc<@f z`%EI7>;S_+Jioe&jV(zxB|v~dAf3kJNOZ9$IznNU#up=aHHz^JlMPCVIcLfe0$fzW z6S=S_LVi%>x^V>Rb3HslK_rAsB#ZSMY6YX8_%p?dwll}lbV|cgYL=R5-d`yTN`t9I z(r=jdG1BzxKP+BKRKk;xZkJXsr(Jv6GUbPa>7!OWiz>K?Q#0t7DOAM5fFFs(8~Me0 zy-b>zsLMQ2G7^$Pj#kzZliJ2FE@8A4f*)aQsYj2p@bs<9bAoSAOePdVfn;gz?gB8ruD`|N&8I=Iw zM~N&fog7a~7}=H|)Z^VBd40^7r~N)nuibxRs46o&iZNL}B$At*Nf-R!%qWrWPBKVa zZrxy=bw8v-)nyYsBEpzhP*Re#*xV^9(&F7ViHZY0;2LK6PPYT6q;Rs*g(J5F*S=G7JIBqclL(ip)LLu%w&tE~AM%B$2>N9>nP$-8S_!qzhT2*_ZerRZu;wSJ zQ&u8I6sZIJPJ?IUzBPZXv)KB7x+f;XrMYw4hV#4X8 z>T{CGOR7je3W&TgSXJ~F`NPweZRKTACi}ofV_p9MDBzn9o{Y&2?el`fqDpOOkxZya z)IwC8rqSrE;F0D{DZYXkc%`$v8t_otXp5Rk;B^BTedLtd(HSrTwHv_>r9$v3!M~gl zcVN#A3vfwZzz>r6C+jti^SZFng&}70TK$9O6)Co=e&)xsT@fzN-F5C zUg0+#p@%7JYzw5?HVR}Aqp-YT>Pj5hFjiJi1$H&RA$hDd^n)d(&TB=f`URFqNFI9iJ4ajUe*vZX+uaUI}a$sb72IKE$In-kB^mdStM1T z<<=yU@>?2d+{7(5VGBm22qI>1Aq3_C4(8EHG$xV@ny3^a!8f_kn1@|WQv)ctM!AWI z+4{n!R$F4~Hrzw3Nx0Jvy*BC@WwzAgi*Z2-Z2(YpI@DH$Dvo$Iofm ztPxk7!uU}LMNUt_Jy&@le(vD_mf1njr~)pvUdKQ*ym7sHxjl(0vo$J|+w=3&3e4oh z%Y|!M>2)1rVS7W?=oM}%;wh{#RBo?Io_!Nbnq?{o=ac~IP))NWEEAh!eIr(=YCli+ z{`HSdr^Os_O)go;%Qq=BCdS?ExBLG9d%|-0->2>UOgWVI)E}w8^}o_EMw)HY{rX0s zBT7g=Kll1V6|YU<)g+&v@BWa2o7w>cp*Jw#O~@O^g_1V3EwPnA^$`F$mq13*;oG*c zlD`N~VomzS0fGVPDYt3!lJipQQ%|tsU2SPLDN;?rA21?nt&Z!p*$L?>$@RG_JvQ9z z%U}Q$iA6 z5V~Hi%`HF!m?qhRtz>~~iw=;t?-pL`BWzTtP!=D&deDa#VQ%qt!BGwpwP~~;Mx{Ac zs52^$4s&&{e5o6ldkj!q#1%&6l5(~NcNf(u^7B0+*IzQYJqwbiuu(rUkcF%)tlRpS z7tMDc9Co)pgmy2jHc-tvQ^3n94dfQ^+oqerICh$3utqXls!APtoYKTrmlCe z-*f07It2l5&!MukJ2<^f^$m^5J;;elZ2Bto3}q_O`;$R=rfyP@c}_O6P5b3K4NO*4 zl@@mV%x?uv&eO478fJO9sp&cr8=WjR2`FhQ1t~x_(5Yzy%~8F0<3hxk%Zk%@#f&ds zr_-k!ZNRFHCTXzH$^Zp?pppif-&^k$ju_#$akSnHr8Q5MYG$)ir%HS47UsIx9QV13 zxxQ4g&;Zzgy|s?__LP0f&kT!FOLe8oI+p-K*4PywCAJy~X#m+-6QIrUb%XLNG{ft3>f)3(xi^RDBC>yViPcHL_-Cgkmp3%GmU9)7Ns9&n;hrhtwQSKa zjRK>Hsv*8=*{3y_wB7BUYBov}b8N~WUMl@{j-~cf;Vv}d76`Z~Q;VrCe?EXuO)#Z> z)Ur@JxT3TE{!qzvOFko~Xm()$FG1nxAaI-Sv^>r}%0iq@m+u!$5YiH<<*LM~u-*Fu zbNYc52{dd~`9;$RG(@E1g5DLLHZ6sD!!`VsC4RV9PCNBpnGP zUNX~eI2uikR3}T`#wDqA*Cu8_BPtRG;xoPxsXJvteo<1c-NY0EEDq4@n~q65m5Zng z1CxJPzv5adAEPZ#l*J zBba|n52R$p8p}8EHszJ!f_}fBxp(440%S8Zv;;QuD?*xks3AM)-&mziR!$`0<|n49 zw26k-dd7z0P9K@T_}O(S7Rdv zgW-9#cw9yQ06!xP#VyNg>MJyMz00F1+$o#;Gl}?SVL*;t@-!N6ar?)0IZ$<(hY*zH zNG9tiOUDgiDgjnDqrW3Kz^An`+{v1rc{2Q_lA)M6nCPH1u)c1Q)O9{HVTl=zTP{uF zNszUG%#(I)!O-S5Na@}wse_!AB57oy7rD{08Lv7XAx;O72Eycv?YHj|B)vGuL6yvt za&tMB-J_nB#T;3RWo6!>$jf2rS3=rLi~IKqQld3c@Pl#CMSaR1Bd^UoiiLimIJ*Fz zW2y-n>){46{{T;YT^jsN zh8#nt)UvIyF8$V&=t>Ub=wq}fRW#4fd%_&%Ht67dq|HOPgL>E0Ux0v~WKfndRf5r^MPv=N<7}Q;Lw91OgVq_VhYO4e{-SwTtP7 z_bY1m@(TX|yeHW%rqMm5zqFsk0!=nTFQFg^*xVMP97)BjEl({Mn_WevIF$bY17|vk z@&PfeMvpp9%?wovx!|$RJ|@!-CDm_p4^W_r2hcb9eqRF2F_MKT00hD z-0qbVdy;j5LH=t)?xyE>VNIOh5cSEj|*G|#a3GnLzJ4;$lsj!WVA)Kl?H1fthz>~|4dG~L z-$ldc*E1ay^Z34f9meKfi5I3UEEU(G1rDfE_!*Xr}4Pd4y4z>Zy64JEABzTey zx%`REvm-b&%oF7PJKH4kje-?pqD|MEt!yPG!>M z_kd|KD{*4t$?e)M5=|umH#e|_$&8FZsS63n%>|UYjsjaA#GAav*61FbL1IOSYCK zGyofU!e=hbd>4Brn;wysnmIeu;Uw$n5QFjz`^5aS zT~_K-`NC&c&7GKCfXw2JhpB>SfhMTRmuokf!R*OJ3~P^ zjrt9587BUbGlb}7zgS{eq^X3SW5j<2_Vp&i=LY+RDaq0{Hx8&~m4=<0EGctyXfK4{ z@DG6`Z`|({+HF1cR*gbto+p0uGmSj5fT4X;aj(oq(t3TmG=kdY{{U!o0<5>nfo&6R zz+0`NKMqP7#PSyU%TmcYl5c*%jqSW-j#jrx_dAaSe2`C+NO28PG#n1qQdW}1CURkn zisUzIlclfaZr3*?#nqD`5AYtHV!`bJRBxA0r?T#J zx3~jMHMsKDF~aBA!jf2SZO&tE%+(li_fX+%p$b?*vWLU>Wb5k!3HVluF*!% z_G96la}?p)b|#m_58=Z`T+Fnb!ex@Q1>7X0k`y&YVd6>J*G}=b_|b_m{u!duo~q+4 zH!{P>b=Ji7Eyf&JCn{9FU4n?tRt8Wmf!GLthO<QdfT zQi2W0)jES~Ytl3qwI31F_CE zJa_JD{wHxJw~OfXnq@`#Rmw>?>&+rrYBp1rCi%My0B_%Y<6MCc&&(H{vDVNzPzfs5 z(di=<6;V9&S%6qp}lm=1qXq$81eG zh5e5(i&PpM+xV9mAuDaknT3|vmr}J-kj{Zb{{Rsr=r)Z@?884Tz|2_v7ZklUh3obI z0CzIe&Lk>IW>-ZaJitZLr6`i1PN6$kf_Jp^$1f2)iG&AMl3iQrbg4GE(>3gN(%N~) zHzb~H%NzH4{LY3bELfgJ?|#Oc$6QIR<0<)?jYeg|Gca>GZwObVqgpuXmg!MBjsE~R zo~cZ!d6JfvjY!I&uz@7#b5n1D$spLO%h2f^IHeUx!6xMGkt;cgzj#An6%-vWv>#Gr zOE{!lDL~r5?Gfn(PC+UX%9Iz8BKM271gq1Mqblfib0JDoY%+qiJgWc#K>3cta};OY zEH-kF612_R(k}cBr~RdjR@#n;m2t}@%!)R(?0VQ6k=83GNwV-)B$2jhvI!Ebp~eDM zY*aS@^&cpnVni~MR-C$QZFAc3B}|bGxYKq@0`39J`oibfZN)mXrz*+6e>mpKcFweM zsH-5WYd+*#It7brEoj%%vSf_u7qHlQMc)vR%O#_8ok02kA_cI@+bCVZP`XcJ4#&bX zO>^+o10)R25I9lRg;tNYFQ+eAeO2)ZPaDR9ZerdJnzmb#oai{A40E1+%MYoeZ%VK4< zEP$040U(Q7@tHE#BVlxE(m>X1SdvZWlB$_@KPLF&ZB zyM+@{;$S6NlD~wDc7?AuL9+7o0B3}<%v6Y&U}jChNf)sZYoXz}87am9VF@TfD!B8D zB{rikU!}J^(z7@RDc!f|e6RaMZy~nadBT9KjB2Y54!@L9Sggxa5?q*ZXz`r49#;ob7Ml75 zq=IEzH(Sd9o9qUrBb&&HNvCg$}S5_y}I~ggZS?@9^yo_x_|k3R?=*GpAr2; zcFhBbxPGsTXRymP7F?~!Bp2lfAdd(p-4$z#+i2q+Indpd;;m`NQd7&HTVPx8SY|~=&F;A0eq$Ld@hSG$Aph!RfM*U;xj(!z($j2o`>XzDpx zi9&&v`Vnzx24-Xpdclvf04M7aa|pMmtQe$HP4r+B6ILg@M!z<@=?6@p6SlpeClW2U z(j1JkZonOzSib(S(q`77=h`22A$=_aDF7I`L6@FY&al~!qQ_Wt(kx7tp~oDJ6EXh094P zdc?5NCm>n?Tx)IORgOYM>14WZwN^ zRLZ3zaC^o?x;qG>l3fcseMmGmP;R8=J4Re(!*Ua-+R;9VMwY7!4)G}|M-Gn&09&jF zkuE}@-$P!iQO6gm4~w{hMHnPqL;WK4Gf8e-T|fdpaThf#jJCM66_UX5xb-QMO7}&n zDA0F?o2s}Cf`~qGC0CSfzlAp*u?pOqi(QhFbOUHi(K#*0|E~B&97@DY5m0 z$#O9;@J08ri8^r$IaI8sAR7)S^@E!#wZS45(CEmsHUoO+)2JtSI!2<{R;R6mRT^6F zs)@H=@nEJ(6}FWf4&=sZMJ}eeO5X*Qsl*Xup@N%2Ui9w~(vlgJ2|6B;ILkq#fChj@ zb7EFysbG*TcylLz&I)O1xBJo-rtj1kt&If8I>U2nC}m1W*UAkH>uqjfVnD2GvF{eN z2g)c@EX~hMlmx28_q5o&JE3s0@7XzeNrD=$1!mOh4Ac-U;7q!e=cVjlho!PCp zy^ZFu7YeZrWwi#UkjJ~po9oYXv&k!;VroUTeo95a5cY8?RI-vmWl`+^gs9O$f5a1x#oS^xQ4!vQ8 zr%R2F#Ce+!(mEH2d_<|sVWwo4G{o!k&Z+0uFw1VK(vT34wexWe`-_*;|V(uw~Fr zjdKd}{LZJW3P^^T+33jEXvMG6GA($8MMidy3!Nj;VjdCWtaxc?!8eFQ#OrwRI&ZIN z#qAy>f2>r5oh$}vRe6$|tCX2^D3UBzYl$?l*84@*1y>zgYn7OJWtnD= zA-nX=e525tz{wXVQZ#927-YF3^HhBy%>mDvFLpY`ds(KU(~L)4inWVjiY<7}ZR+>%0KwOM!^M@@Vj zsLqv-FQ=qgaF|VRi1>C@KrORA%8C`BAS*Gs{{SwrsnduA1DNdF!lmjxDLKtvb1dAt+L;6_i{HX<&Md1Y2<(UF!BQ zsZ4VM+*|8Al2zqy`w#0COj9n3V`^K2#;`eUsGFz$Z8SZA`Sy(3Y)ceU??ts)URgKV z%46Rdjgi8R24Y?+w5hr)GR`5VLuo|I!LZ_ouSzCrk{rTa(G-Vb9u z8|?4F$_^HpnneCGpOQ@dK{B%_%P6;eNow{|a|DraZDVp`+KjTtA0p+M^!VeFUT%XF zUuB$qj5utJ6^~oP)QTjjE>mZV!e(KWll~HcvJu@HU$k>C6!>w7y`Sn0Q>r+%hk}q* zE{RfIR$Y&UW5c9uz9eHjVK-Q56y()XxrG#=r z01;sM_vV=dBBY5|661o`)mnvZ`E-om5Uv$hA0DNm03k zbBOpwqr@9}_KXA{NPsZn)Uus)5qRMI;G=N|4Nf|&jIMn$&L8D)6d%+@N?u(BS67S5 zFI*<4n*RV4aE&x0FjYmj6qF5;*egH%F-h?kV=#WWWHWcF(2L#6f;`gi7{BNWR|H*qG=gW zvTVJ8Hj6qZ9c@!dQjkzpax~Zh5g4VpTun%Q43HgUXGynh&HhlhaLdhF4#Bc6Qz}Yr zvz}6D6qJ#0lhI#WLAaJ{+@vZiLK32>L%x{}lq@2x!wgUzsfujxhG8S_*U?5SnDK(# zg;XeLT6Cb3eGafBpNUL~-aAHka9kWd!z(ETYLzI=O|Ah@*XSbGER63cs9YrG>!ecn zdY}Hzu*tfRvdY}en?rRd{I`o-q~Zj$!-aYwI;!xTp7Z(t03$K)-7ACjSubd* z+*%UT6ap1Chf0Sr*PLi2P1}5-K%HWh?KMwH#ML>lokAs?Qipp19ZE@ZPFc{Ojij4t zrk9R?<9wj3Nn*915oTK|f0rN!`o|+no>R`HF3P^=Pg8<1!qhvq{>MF~+|sQiTrJgr zZ_`_t`!6m6sq$vu{JTg00AP=dRK=hQ|^oB~nI@}*f? zM#Fya$z9J_axyjq<0kuQ1Gvhyu)Ilj>LcD8>lU)ML^Cd{?GqHqM5(|`VGZUw2tGv| zvNZX{B+DdQsgzdSmj=)sMv77mh4+bCG{_AAPs$B_NO&IRFz#wcMM5%(u4X8U3b+vT ztu<&Gi<9LSb0XV^L1PZJPC)!3(8rWlfyquxn#bWkNOVd#Ex*n#LY9(l2A+_mQ_vIn zZ3}r*EU^4af@K|W=su9(l5`Dpi!hfO7)Nnwn+N zU^VRzEw;5cNI#@T&Pxorfw%7ihtw3|${C)j7hERf4$&Co?ZMVC@<>s>up`oC&@3!^ zYY&W4Mp;R|SQSu}Bob~3fLNI2C=`vl2$w}QYEkC+hpZ0eIXuFYAdoiGXliIvx5(=g z>zKMyfpO;&EU>3gE}Ik58>G=+Tfg1f{{UFIQ}EesAi25RLMJs5*zw9_46QEU5QBdq z60A_&a9k%Z{KC;?mXK|LQUF8}W(#S`iz?gc86H;p8>59TrERP}tiw3~58;Uchng1n zzD5rY61$ZC(DN$Hr0RV<;cidVV#g8@>S9~)wu`IG#EmRJm?cTQg|B#=W>GGi|LWB3~R- zp2HOW9#>_XQXi!99JsZKK?>i^BySVG(z1%K;)xgK8)f=r;#TB?=_1M+zOL6G5(xT7 zcN?tHmu8y%8Io%8Nt3f zlua;@*eMoL0MG${pRM(XJRv@bXH*mpRh1GG)L(0Uk?cbAZ$6^gIR=1sA1&jlx6R4U zx{aV}tyS8@*>%7Yl;{!<<@1Qi$JE`yH(IsRr~1c|zFTEPUt0iRCzs4oQHFF}3T#19 zQ6$Ut-+^@vMcn52ExW#{iY6>BGbVpk3% ziKVy=f)ID=U=}48GLlEan_Tw1Nl1h+9c8}~)NBuUbp{KR%PJpIDVg);Q>(C6=H0xZ zIO3|NQ%|O%=?FkmqcHf6w$sYc?Au6|afD>$lp!}tP4(QLIHy%-J@&HV?{r^Fp3t^xh`$ zBZ*Vf?yXq@Wx@&XbqkLxff9b}LL&bFxn;W!N+MPFmg|Karn!!*#F7crq^oqB0(ZIF ztZV#PTvc|m^WcEUHfMv)6RQQid#C6Gf zJu3~==u)Yjm&I~a^f6ADcqk-FPB5X!c&uE4fR%y?Hy4d1O2t?=hqDZdZWm)3*3zMp zYPwcsL!Zeiix)N9IU`M?$%vcwfa8IaMM8~<>T(RWr(~(})bl4JEZR~@Q*5Lqv;YCt z*E?LovMuVL9~b%ijK~1_q?J0^Rri6__mT+W(WlCl$I28z+a%p$Wo?2W| zOt>cI;YuUSS~RvU_K&U9YAczMezyG2Gnwzz`Sm{ORjrsdiy=B&x$}wzM*`ytSKd!i z>N2^4Rh`z<0SXsMznIiSE38i=!sBjVu3&$7Fu{#35GR`>eDEf*U#MaU=O-#Nj?PTD ztjl%PT&VYel1VrEK_!KhlBUgugxVPf%G%;InK^v1H@Stjb+8xd9=CI04>q9Plm(AM zV1#p45KZj04F_o79>=&cK_Yq@Q2xuGL-7l;GJlK7ZcFVS(lzHgBPe9{n(pZv2a~G|ytE*3}2}PAr zS{C3J%oTfH+eNDq$tkJDuGa-ZJ(-q*PTaEpPG@B_97jpU)q!S{{Vp+mwBR>p}42kCDkx9m90t%H#=!~ zftIP1^FRt&UC)a^m~yc^%#+G-`Hp*>)n`Dk2msq|usua=nsVP{rN-2fP_(FSKS+^8 zl)2zbbaV=BGOo&sCQ~*Pm7w&^vGR?fjMxgg#QrjX)q~$Lt7cKlL>E&}_4bjbkW+oE27~DyZb|8h zx74zfyPy~7IsyLoFgmu`N5p9pg{2{+B##jqk*%T`)>Y0c1Os~#e^`-At|fqnGZks# z2|E2h-jEGN(%1@FEu@>?$3bXP8CFA2HI>R7!+|AI^Qb^tO~sZ92)9n3NYeZ)rL6Hx z$u?4LIO}R`^#Md&M%1d*#H|>WtC?k?^e);32UBmQ;=RJkT2sfWfUq9!^vu9X9S*k# z{L!W|+m3%GFK+CRUlsZGI*p5_oY?*i039PxaTZy(6N-{Wg5_PgNZ-MD+Z6Z7kxrn3 zZ+O)_RhmSUmL+jtAGx`gUBO2G0Gx0%_u|t0AC;rK zuHs3ae^2f+Vl11TU~*Im*3g$9Qf?qp;_so3JsOio9vQ&2?r+}k=h^|WYlG(%)y$B4 z$Asoo>VC1?*m1X#b2Ek25>227Reg=mlrX9E-%|~)Z3n1}DA2as9?z!w#y#K*K&zPt zW38Z9CO5GpL7)FA{kjK5j#&8BL4uKQScNOFD-B`EMV5yDYb{zAChD& z4Itps6VfxvL)17Mlv>-`_lYKER->+-aMKBF3z7(e+EYpb_Jp%kBGT#@!pQ)UZzwIY zbT$wxMF8$TuunArT%Dm3GzKBtB#T1Ql&E-&L(El>&Gp(M-^6w#C05s@Rb!JX=NR=Z zDnmnD*NEw`(t#HqUQu3hyr&1n44R6Z-2DtOV`x*&9>jx*DP6(8k%flUF`%&nqyW>| z?XO<3XQHr`HZZ2AIc+BOKm%gp5`dB za9UV-;I20%oPp=mM69kK1y@>i>>^HDn1n2ouD9E0o|Tqm2?a-9#w#qIh2e>HWOXuv z+iE&n&ew_Ga!X8`Bnx+hiS}i|2~GU(13gl4?Gs=;gdw*srnI9J2|spITiu$O(E<+~{ISiaJmRmp)=AS(8ds z4S|Qb1fTSUxmeW{0K}G15|ro-;MB_z+<8Oo%ih=1l&mK%*sQp*vhRG#DI3HK6B z?emGE(pxt+hLloHfLp9Yz(=`v_lHv0fov!ZmPtOaa#N>mBLD#k z2L66fYy#Uz8)|%_A0JbfQNUQDQ5VlKNStXW%&@ye$1>gF(p!BTrw4&xp?~tISpG!C z;_0R>qvt;qBvCuT>NMl7GA0tk3sXU|6dO>=Kwn&|LV|^~(kc@e``$Qu<7rz4uJT14 zQc4ObLm?@TwemT+@+BnW-BS;pqA zy8yP&#ph$RMNZ7A*KMgDyG5?6X_iiFDI;<}f66K|eg~CpBcT^)#U)(^9a2C5+sv2+ z#f$Za-&jH}tQ6`%N;g-s_p`daqVaW7 zp7m(ZX;g`1P0mcV$2rx7uOeG)5)u@3H&L(v=ws-{HNrHG9eXh1+$}<2%TeiAQhHs4 zEapG=fB15L{{Yc3$jz5_N>7Au#SN;@j*a{Y?PylV(i&v=6X_0(Bdl}G zr1{2r!hcv)Kp7gFMD_?}rB>XWeP~Nm>1St3R)C*^Kpe}?K_g9&bU#R}{n3#3uh6d`<^ZpAykm7nQ*Zl5P|~IrhMNSf#RMb` z?oEg53@BPtB4lvfk;;MHBNGNU%S?H2rM`%P36AuO9SC^;zu zbCg^5ib+OS-B=$97Wu)8ZC|OUBH1ckizQZh3ooq)F#}6!bJ8ifk25v(zVR}mR)wen zQd4`8xrkMyf?zRu8Nbs6^@u-?f^c8$@6sJuRF3(85))T;t%P4gy1s|ibPJb#?{ zvX9Jd8b(dB?8*QavAK=AhUDd|l;ul2`)oUu6ct+c>2CXN3dpT>p_rd9i}{-~4OS?a zZc!B62PEAk$+n9#)%U_3nwSMz76St-Shoj(@{xtYP}7_c1W@j2y{vq-H7eu^Mls#r2ND;q1iy7Y`=0#Cnr- z8Zb#jw3F_szG(oGasVz)VtbRY=^V`NSeld{^4ZbHwkz&T2Cy zNOfGmw4T>CI*X2@@`}}G7|u-0Ou02P%yH`lruWPS*Yn;skF?(zFy=0sZc_u%o1|0I z;atXBIN%y+FX6cW_uss8sU=FfwLWpw$8w64l{1@_?UvZPM8!h7;uS30vc=pl7APV?HtWp-u5H4qJvR$Hk70M*1#&xK#Y`yv@A9j@pO%GBgCeF zDg`(4KeSq@*uGMro3^oXbr%=)jzqCaJ&vl9U>Jg&9nG0O8}#Xq1D^Nx91LoxS=wSn#~{WIfy_0AH$8Ds&Q(c zcn+5EH~OgkBUxdJ3C=CmryTaMf6EJ z2)4@T2RrI?J_p5=w&dGkr&@K!)B*Qdq=g?l6$||$>h*d|y>}*Nz8 z>l~1bG?|iC7ztW+%$~4SGPPczG}@%uIZMW0~{Vy4%rc!p9qB@5aO&u=HdYFKG|Ch0{{Kx^=(-=NYNnyN6{2`Z@-6A9t;OHS%h00Z?V z6PYODaYmgr%QBPs{(h$WrnVDHZ7Dt*onuRJ;&{taYv6*P>}@oY-#UQ(jBUzes$yA8 zgP$dVzW20ge`yjGL7aB_lPr=4{L0=q+ExAaXIocm3xAysdco)a06RiXzA+z2J&&i% z?+723BwkLhGSCB{R#krHK5SuisA2|y7X?B-gnJRs7qGT6ktF@aQMZyiXKu&;0H!-S z?ug)Ny~cC{=u(LQYYlQ2{>(`%c?fG>(Z;h~A3WZwh5R2_3EGm$urUaS)=uUg&Q9^^ zcG2f-kxb&1)coOo^0Ie;8_-io17cu0_3)o*+2R+TThoy#Ph^-RInLC*=_=w(G}YNr|d;9Jyjsyc$s{ZbFe% zboDVMPn>bXWp#sPs7>V_5qLEegf(K2K2WD5F-4El&SekO#oCkMLJwO-N=95Zp?xC3 zEmUq@0VL`_ILDWshTJVjsXI42%WQ$#A%#^r&HKO=3esG-Nh1AXFWxS_;*rP4BPW-h z3u-6YDH%_T)*Vddag-a6$|?c#-1dVd9U)0pWAcdc(H2tHhScxEFY6Ar!>Bd@-?)b9 zuZ4kP2#W-&P_zq=7wH+F2Dq!_Vo57bP@&U!mz5qMb%xT=H_Aqx;HhSE5KWI*TVt05 zgE>eWUJOoK4U9(*4}1AWec+G9Xr);RETeq|p+#VSTf}-MJpNGX9nGNL2SNm?Ikmhb zBIF1_US0l>w%ob5eT+a3Ap}E!MiQaW#&2u+zzO0s-{}g(u0GsO&hH{*{ z#!`B8goP5KBN^^Ci=vF;pKfji&&$>w;&lawCS>LilvfyK7c#CS1g2=)@F-X){uK-C zsNbJ zq@6pMiE&QLJhq%ln{~AmEw!YjNl@GnbqC186yn|9J6{xY+kFKs#XhZVZ#cmyZ*LL& zp|SFWn|j0mvb^VA`$s{08}K8c z@MnVc?lt0M(}$b`d))dL!8Tr5T8?EX+?cL$fb+O9#1w1d z!?XVY{))e(N=hh@L_~2#+`J^midRfOKmP#w>y9=#a*@)KK0UN9+DYvWg;)?x;kL!) z+w)9iC#P8TCj@h}Whb;CE54p^ur+`I)c^*aH!)?bFx@wYSap=>{Z49Pec{Z%g&%a? z(l*mR`s>?BtU9YSrGae@=gKX-PH;0+qSF$hQB0%C%h;4yD5sdKWfry9*5|p3&zU4L zJSNJ3F(X2&{e@5yh+z)Qwl2b))h(;|?bME*dcZ97DoY7V;TamAIb zM5w5pN!}0_&1rhrm0stpGs!Nsodf}GK`?|kq*#7X#OtYRVe$^8OK}QSfKHe7fF_&B z>DcSjTf_42Ah?w%<+g?~G^Wc(FU5VJK1lgM%^MPv@Tgno2fXUnPLq^LCfS#i>@H$9 z-M5Jud8DyC%Zo`;P=Jyxc%TtEg77_i63>ZhO(pt_%eF!i+I%4SorH9j58&4ict$1a zoLj|ctkl5fH-xa!E+xIq<|Z^vw$VRWyZak`kBQ}`+mw?N?l#yj%dqb)Nd$}Lwxnn* zM%LCWd_dvf3+i(fC9N|Q>9j3*nQ#{t($1+$P4eYYzr-^FZVk5NWz|0s<93qt>UHty zqM)X^e`8-_&ua`NMU^82V2L_Z((Vk*=2f^XZ}93Yeo@VsTOOHs}G=34`%6$r*Qm$eL{HIupeTkY|hnA(F0B%!p^${CK!?+5c zG?mG52*|uF0DfPTez%RUGewf0p-a6jQEIO9Z3Mdeb{y+|FQvU>6r`a2evIfrIj)uU zvbBeCjMK<0E@I}|6Zu{%{8z_L;mj{O@OS%5h~%=N(Q6jC^cO!U^-7$oJm7gg7Vodp zG{+k;FWVKFX#_6qN~1c*^Qdj|AFMYXD9ToaWz6A?uH?@SaidhWTVSj1z#4<7J>z4{ z(J0u#vho5YX9ypB&>lbehwmK4Ci>+R6oO*$g|XX`E~P3Y3+t?Ho;LZ9Q=1H&ZI?pz zR>6~0qIr#y**ZFnQht3REK^V%2`K{h->#9d@UAwNs>=o@6x)bWZK%9R)UX_tSQjK* z3^}?`Mbm%UGx&}!q&ve;n40Oibjr&c08U*~)*6(eBulhQB&?@H+AULR^)E z&PEe$n@)-Rh5m85@WLCHO)avOW*oFO4{_9eV-|Sr#G~BlX{Ea>lKC4=^rlu}!jWv+ zgBlmwiRH6Pry&EuFyJm*a#E9P{Y+JO@5D@1gt+1iwMF(NS!P(s$s`in?WhdEj-;zK z{!wf8r#bMo3H1(BiDA*6Ju(5HV;Zm%_Miq;*wAP=;3TAu`f8}&Bf4k9&y;-#dRdFixXnRCUT1K1G!6x zSM`pLwRuinmHAH6T29}jCnOS3EePe0IN@2Y&zNX&0F8t?ml18EG$5NDVbq~UJxe^< zA(%d+{Ru!Sq7{A;1UWB5 z@ed8mK4;dGv@H|PC~f&fwn{-w(oz5bT)|CH!ic(lW-%u+qwyvUcB7Fx0SaxFR5>q7 zX#s2`liR&c@gmAn-Ll#%rmC>3>kCa?WLRDUP4z69YD=J4g9}sTU4D^LRZ;utcrH?+ zjk$w5HwH&&MVG5l${B%^MRb3 zStlqffkoWtxBK!`E>sPnB6K*TWnTS+SL8YG+cHT{ZqYErsb_uQHAUks#FHw%r${X% zUf}+419^bc=>;dlVhk;!%rOfGePP6ugWSN4r0zHKf{>C$$+vi@2Lq&orQ;(q?RdgL z>9jaE>i~z6NE&Sl_^n~5cuKTR(SYH1QhMODJxG%BpD#zYY4%) z)L!BqQo@yCuU@-;@LPyjo@FdkFg75XaYolwJ;u@xnw9_`GaLJb{=n6#_u8Gu^){%| zcM3GBV~Kug!P!m=p`q!R`3>W^o}Y2u7PYK@IlK;C&9;!~`$H_%M}n}@K|6eqm}>}8 z@I3}zi9n|_NuB7?Ht|BzD;Q* zz-+53JAC3NiYhYPC&y0MD<&VG(_jAp4zc^h(=J%(AZ%eSXYe*Bl^`phN1kfk?=0jt z56#J0E)R{3kL=A3$pSEwsf0EE0HtF6P%rCfP&$sjaqKAb!?WApI88AlADk(mi=N%K?&zHSN+Q zT`2)dT2zbJ|hH#>%9h+DYRhh$Am$R^hdep7X#_RN(hQGH{e@h&%^mpvxUmN3Qby6K zXK^IV$tOf#qD6!l?M<4jpkcO*l*ViOqJOw?XX47A@R#H~CLmpE%TTdN8>L%=9SBEk zXv30QrD*e$Za7McjNo16!C|NF_RtltK$iirG?5 z<5-ZV)KMtX8}TD8&GPj-#CnEQ9W^k{VtVW65GB%?H0;4T<_kAX&cgAtuqG&$WrIbn zN+P98D$ItLd$LaD3L2*W07%mKefJq#s!F^$Mx664yTluCIoIGyi(0sJZ*2r-gU zmL=!rKXYVb9FqRu5;Z+bjx_N|n03Y!^+1AHWhwB5k-0qp-ZV_h@6_iXo0?g6Vda+` zS?Ww}-ZAh+t{ltCRHUXIc1B`j-PX(csihQ>k`>e&5v*&WNhnHO12R-E8ZjtV=yx*a zc{gpJVl51ikO=gL6u=-6;a1?m?y#o1ToJS-mPN`IEKaE>tUS&=N5qpfmr@Figl?P* z#Dq*CEV%Yn>6DXb(hkaJIaj|$S{iA`>5l~=N=O?JVRM3-3Z%QTc(2{vxOE|DShkx*;*iY7 zBH?Vq5=5qTri#!Jp&>sS2a=Ku6U6K|igq!j)f-RTPXdxp@quF*;cV)ulhe|rAo5@4 zC(Ipf8)rS()R$vCBeNrmHO?B8L(U5e1t~g?f;UATWgl+S+)*i(Ou`f49|*m_c&t^h z!xSDMnI^mvGiwu4{XuDZ+T*bVe4@!J)4XY4Yzi8ruuT?hHnM?H<*8>-32fWzV;jQ? zRDJr5E_0<|i=?GGsB|RyMK9V#ueNwKiCA zvA4<+5q)hQU7a-O`JCM_m1vuMp!O(=U9X{wD{?Ki2AaVwu#~FS)6P93k-|_b&CmcF zN0&yo;fq^rqzhZ?3-?4hvV5Ui!?hIj((FZ(^@7=_6!g>di!y1cJ420AM^O`bHjoWT zk)TWz#XZ7yI(3UYtt}vUhR|vy8cFy^$`bMpSeq+M(NyRefiOa_xKP;Z7O8fdMxbj3 zAt+F_w}m{9u=RykB@p2>q}@W^R)QMB$RJraF>i6S3+WCql^R+Hi6HnfDx(V#rdvWC z!pCBmx$}WKC-Q;24&N#bn=Pfdayi8vLRWLLQRIY>R{Ps z0u^gs{i0dCGV!*W`b31D7g|&a7yY46A{iWS(13PKTo7(f-C@aEaa!)Ak|NSD`hf=5 z=><1KAZ@RdE#%;8#m$f{vKqI90ooi7fGli1VqNM&l1-DLfzwDOS0m;GF2*>pKY8Vl z2VI0lm|+S)76$O@O^)N|6)R)uwYG-^?YGJrK?xSVhrBwK zB=z0^Oq7i}!VSn40v+Ze+8(izQElK57hjwxTpuV}%5=7-8CueiKo^U30q0!^HrVzM z$(lF0>j+-D@8=CI0PatmSt7PLx#A74coo@;sHoU_#ukmhHonj^h$7e40UH!wKnCXK z{;<-XAB5Tvpf}nQP080`&_N}!)SKGptUivLz^F!GOc2R}Td5}~q<{g^B${YWG~~Yg z_SVn+Nh$r}B3k#q=Mz-bhUVE?wo1}Z)EHu5XT?VwQ!R#;ET+jqhhj88q&2i#IID+T z!hB1{6jugSQ|l8<0k?!YqLcpsNfA@Ldnmg}o^`5pENVdO4kImyB-|gYHM+FeLf7|U zBI8~Ah%^H8faZlG2V?q>1UkBVROXhDi=e#d%zRqdrLqoDe-_|H6cKLGIeCeE3<7zA zUT%En)51y+0!8htlXFUa*-0ha{{S#)lKTx_{{Y@)@h9OuFXUoR5%8A~VGJuRR-Te#p@%0IX)H%c znM~Z1sz2fL6Ywwp0LySCW3)~2d<=1w0m<-x6VxehRcTTRtVzo-W}ifwg4WwMxmiZ} zY!A@ETsVDH%ttLwcC4xsH5q<=Iu(*EmJQI*Od8Gbd4NnNO_Hr`yjh zGTN=omU#n3w6SF+N!!A-5I`{gGs7}CeH8p{gVL&o2&y_+GIQ2>bm@RIIZvAYA_lFw zr!f{#vVwrR@mB`aD|`*1V~UiN#GO)!I*c~ArqEL4+@?hqP`iPd#tKx}P~D<{bw;{} z2;&#ENYYFNH2@tw@2zBt*>l=s}ijtMruo# zX|Aj8)TL%qCw^Mh+#QMBSin#ps zzeveS7MrBxQ0d+qv_P3s%8kzP;6dC*HZhCZAOmG5M81Pj^oxxF^wec?hf+Cb#dG2w zc8U=iTo`&%Y3WDO>nh0NO~LK!+(a#BP~c7(H1xE*I$U~2`NHhU(qt1Y zCfGtW1f*z4(_2Qoz?klp#Ox1DnUZa}YMiqum702pV465#I676STJ_Tv|$0 zhY)PEkzx#VwCN~qM=w&_$+?y~l{hrE$_4Wq3qY!+Ddv;{a+}>MH_*aqmELPjw(&g1 z?k{WHMD0FhiK63extT>q$yVkxnfPUKl?Ro{bHeb@gAch*FSTQ;he$5JNGV!o8XBF* zhGb`gd@o#E@ezF@bwz#*g?^s46`4DTn!|Y3p+I;R+)|PVB?rnSy~VlKvo-;^z5JpI zdWvjTgpi@BBcu)`!w)N=yC{5Cl&Uz?&_HR$BbNGBKmhb3T_bB@+*2u1ZJ<__XW2Qr z+S(u5IL=grJIg9E(+5PXd@J%XWy5%)e-F+pl;H|(TC%r3FClozlTM}Xnqirz$<#bl zqqj4|#7-v4dO~pzf-X*7kK}(S))ZI0!xkY{Jh`U81a&{`#iI&i#<4WKy*_;<*&3s2 zmvJi7D*JlE>-Zjb3RI<(lsPpZ*s>qXbt3y_1NDq?doLWinx?l@;!NT>FSThD`l2oG zRNUxM%VWz{{{T%7&MQ&}?o{D9lHe&RP`Ebh>lUg-QLnQf4yThcvMtgx}IKt5+6u6S`=>aMpR&DUY(W+bfnp-pPz{Es)emf@Fo)ZG~G$43NU zf)z6D?czxNBXRJqqKZcmaD3uPLR+g!tn|~EkbhXySYqr;@uu=VCt-3?J?|VWY8$5)%Kg z#UV;dhf$}LStRL=Ap^oAJhIT};l8CtQh>E;Q@41Vmcyti1wciWsT2*9tQ5?ix{F#e z%PVGx;z+8lh7z9$wYtFn0AmubhA(N83cikhJ@V60Zj6+GZ58oZHX?@3 z78{Y)`$Uws9zrc-#lTZipTi4Gl17%&7UtPy6jqZ&09b(yJ40`Bk@FF4Qwc(L7l?|R zp`;%D;*L!hQL?_|n+zLR2zphPR-gb#^or$TwUN`}hp07PbII{*3GrJW;c#4-r6E@E z=>;Z|fDeWWrj)wMPVpk9tepfl+Z9AAsmM>^jF~hMptK(1P2rP!b+iBx&d4LMhD?fY za6XWGsw+0McuT2WV!$K)(FxRnX!cZ~Xh*C_864UZc=y? z>~w~Vs=?Po+AKg<2^)Q2Qu?#pUcwA=UBv^u2B|lY2BgK+6_tx+@B2gE@)NnV2BusV z%&Q*Pj3Fa1R)mf35`le##O2P0{!scR)JC^}Q0h~l0v$`rRl-HV+tvdiBGaM4dmo%E zyb>>RVVQQ+q>ReeA5^MVl0uF8`NdxZ>NW3xt6NxgygZ4ZPepWriv=sxY0@8Qfs~u; z=LOIQRIJ}f@c}9BZyrU^2m6@^}VbCj3JAYlX$r zA36QK@Io;E03IhQtdNGW1wLM+Q*ZG_*>m%3ADnYV?O`85fAJE-Ezj`#2;vl^2kG@E zWE@vg+wB#ke3sAWA3l%>a9CX5X!ROd?!zC@;%ALye-j}_`bU#>t3YoGWtEUfNBu$` zW?e})TJrfOHkr$gFKN1G4RAb~17X>rGd}XI<0P*tZf~#`(!$#B6m%s{Xq1(D2%f9e z*II6#iH4d=WM$JT$ZQZY4yNZ*0OvV!i`%f%@`b`KE1!?5*F(=zDo^OoWOOk)++d7u;n4CI)t>c9G#~=98zXcoFEMi^|1!! zBoTPpUe26lo}pKt!vd)N9&vLCT_SyR3d=9J3>2G;iVDkpG_+&QJkayw=(?k3EO@2l zpI6+`SWg+%aGKRWMVw10br~LIX-loVlWi8-fl9U;h}@Vx<0pZYi!d_fkvBM{$>P2r z%_lsCU7)WEtToo+{t$DvMr05Lg_GKAhj>z{hv`_#n&%u&Anj7$5RdP;r9fTwDQ?LQ9n{s zI9C%>vA+-I=4EAN<{O-rWp0r(Pjw_5icq#>gP>5{XnMuZ9eYDmaW@zxc#%(RQtOQ= ziKHcxLK5R?NKi=MD#m-F_VE!AH5myytuj`>NLXpP#)zG#u$2KW@IEUOrHCOz)b@>M zQBs(6qymzaYmE&GI$nQ!Q`D-H{{U&rO1Aeg43!TM0O||xMK4q>R+i|!%!B-CZZ!fvU1<iR^YTytdI>#tV62 zMCWf?l9+@Or~BFyu#EH(=zu+V_Lq-Z;=(hO#3Abvm{&p8F>4DQ40_!^ApnK{0E0NK zyfunc%jBhrK+PrFgZl}DauluM)&j>D#@s(m|=t77{BYXT!$;|>_%imcqk>Y6Q0 zyI@pYHy&||PnIx~vu>jlrxjgJUZ15YrKRRB60Nnh&uC=0>J+65rR4a6m7;+f?l+0d zS0OirYY$VNN}Xf?p>v@dr9k>`5F%;CC?u>Dq}#-LM`b%!jyvJgFAAG#r$}MMs_Jnz zK1%b3e$4lPIYcFCMVGCwVR8Az8Mj}QQkzQbFK|M%zj&0V)@CJU67m+1m2TNyhq%-0 z6|X?<^(?f6fTq+G0vriaLFuiC{{VfU_vKQcoXRCDD;j7AP-3Rk{J?O6v<*Be2_%DY z<@vi|Qk+O?CO0{U+nPaAlekKBHz4Q);?>P{#Sxj%r6_6=6WZN-!1HoSn@Uo$t1Clwr^9ohA3MZMpCDQuA)TY7fS|VA zA$CyC0*1;4`}#*)@M|7Fh^TBy*95e}9Y_t&G)>dpDn{h_h~su?=wWKQ&=!+$pyIVR z*I^sKfpu{t)5|j|WipCe;qdatROPt@0j|gE73^Wo;f?iT?ohop;(PH5nz(NFrsX)R&ucBaApaNdxsyW9t^VZ)+?sS*ClMrRtIs z6HTcSb55f(a|pRg)nj`lCn(o*w$Tg3!1f!cVb{>=m_+=Eb-d`xkgMFIF8N45DCDJ) zH5n>rQZj{HUj%I-#4W{47WE_}I3!s~i%P1EG~153Y>nMY?UW5kKUjlhiFc^7^HS+k zM==jJq3|mAKD)&SirCEWTCiPE zR`5O>pBf3OWV5#QX)!bCnAhIV6%$tAW(R!knraz7s8W&t0PT%}caJGm!PR|EMwX(w zPxofVC1t1&I7P+1V&c?;Y1{xz7~3dELG+Ds%-D$INUh0GR*Pt2Sro#QYCe%N(i5Px z5E)9e%cLR6v8p5=yDcfuS{*|xHWrDmbQapsku8^`Qp->*w7D@P#F!&nN11FU3ZRFfONH?Dr^ps zg7^dah(eyt5P?dkAz{uZfo*+tJtwzS|< zMdMQ7N}n|d0PPz_Q072|#6;CFg&-@YklL9CVFV?y4<$Nj7br*jo%a#$PEisip}5nm zG~*ef5{Ua)?FtGYL#vlJv?G#zF9d>ba{{^)PS+lgcx(%5V+AAr@c`A4YEHXaF_2h- zFKCimDN;$WBgzW5W7S&|}E#(#l)RK{;B(xSywmqOW8X|xR78(K47!JBua0&TD!sJq`orEMI4IYpz zltr!Or~p%zi(5%vsfPJN+7NFEE?nL-oD^LB34#>Rg`&a+TYv-G&J74kk#ZrY8cns+ zv;x3wx-*g2&OE10$m!Qe$q5S6(i(MRVZ1`TWY$2yeHz!Cj58Phhdc#anoEo^ll7H4Eq^XUhB$mQe{MwQ8iumgMsH=+Z zYmPkd-fxT?9pNWf7d z*9XXJ{*miWAoy7~vH1wdP*Sx0FaD6oUri0X@A*bS(_Z~g?GOXR>)zcrF(Zd@1l|(F zRI2QQ=307}Hq7e|qy;GpZDC-5bm`V2im#_npp2zjcz%fxA3QQAPR;klNhQnHU&Jia z+oDtPRLj%yQcF@*W)=d{6O}|?#FC+Z307ZCQzcS*nTe!kn{>-Q)9F0a>yyMa`ELWx z;u)#DKR}akgv-*Kn3rJ*P&&BjacU!QPGB$8BwJ`?EA1B>DOOi*0Zpw6#|Iegf1aOV z^PcHiIzQV|nKMe3!Y?{n%Q~roex?(ni;f7XesVKcB`oc) zhwN+)8e*ns6Ekwtjuq10NLrfG%UVsq*S*v)(^#ltDVFA{(@JS&ZI=#3D{?wtbG{&c@vemIQb*?<2_ZVFl`)6jvL+v7A0Tc0 zW0R6H!gb*#o4L%~OR6_e#S4%Ut5K)jg5$`@Rj#^r>|%kD#5$lJX*MJb+mEDe{xRU{ z{wJ!UVnUeceWetsA39qOB32CV(mb>3B zQ-7QvnPPQ^rHi9GuaU7O&8@M}L9a_oINK{sv#uogd~Pb;VN$p@sW61R+^$VED_8<2 zWw6CoT`jXTxp9}rmoZkJT0)$o>Rmr-N$(~4P8O3`ph`uRrE;cW-(X{V7_ zrZm*7z_91d6s1Wf--MHE6Vf2%a2pO)Tw%xDZM9ihnXtEOZ)n&woHanCu%L>1rbtSb z`V~EtcUL28~oSK$p$=Ua6lgcv81gI99 z2}(gybJ*C6l9b%qHkY)e4cf&LlTl+)AWmeYSY$hq>86paxMZ11RaSC(UQwx2P;TtD z*dT49Zg(dxZB6x#qLQFB#0nd<^`yAdlFr->2(opK9-?j;RJzxx*Tod^@^Ef1#(08< zPoy(Qo^`Y;pn#@=bMuK7N<9v`MQ7S(tR^^#ElFw2?NenD%t$u@<@lHL0>U=d2NbF= z5+*3sK*Q4#Q-Or@tV>Sb$acrnYv&qI+7}AU;hr$n)bLT4s3=a$y06BCXnuqd9V{*{ zI#t=fozas!mw?^%X?&{x0CrVr=PM{s(_LcCAm&!Wj^f>7vmtMHP3^zZC#4+9k>?xo z9Q=GAOZ|A)bHx7UZa;FS`fYWx~nf%Z$YBhu+cloMqOQWi`7MRk>DRS(N`Bl@1l3E z_kHejzuzi3HH;( z!NN5S;p5^H0f~r+fP{p^q?BaDBorisgk&`26qHod)YQae&*+{}(NR)UQ~i$; z46LU!Pp5EjfKR6&ze_ zJWMQn3;+S}X^c0O$* z2Pgn`rEk91RV8oB*H!J_d`YUZ2v6yCtJZV*-L>Jh;f(mpPR-VxPXCb|ZZObW)7L0J zjn04N0-+vO&)K910~=x#tejdGalB}f{Z?={eUV5e|KLR8Z`@Fl`#R+{h}&G41NY;9Jmy`ac1lQoN!kiB$9K15^$8yowNzO32Nysl9x_nOfB9LA@Q*LNOeGn| z>-ELowyElu$C6U%g6M9?b_lvkJL5m>UeXU{`~$5~M?yfi(7)k1Y!VumyjlG2fNt$q(=B}#=84S;gO<23sNnZI$T z42oLsFU_RMJGuF{4A3!BsEa;!n&Y-v-3t-87tfyJRc~`&dp1QKe{-%DoX^a`hS4n#XXoWM&P9mAv_v15kIlR3bxvToMc3$3PVpXbDYvIg@M^^~ zRYwK^*M#xXFVlP%Md#EC+ON+zz$r&2>z-`}SD1wz0#-fq`#WH@23njD5KFdAVd>S_qzgf)a^U2& zNZWsHiVyj`0f}!o6`<5Y=k`RYz5Gemz3#!@9pBQw#Ud5R@#Nm(N`yvMGf}_xgGN_^ zXtt~Fs#|(K+@j}le3X~&XWDb108=;nrE0FV9%cL4iS%<$n0^@os z8QAas))}$JqmL(>cvTUa*u|art2Ql@3dZ^4HE73XU2;>8-ysfXv|M1&KMkkH{ zlEkUHSyb!zOhf&Pr~6Owax!5&m;C5xB*v`%6-*sHk2$g=lQVxXm4Q|q8ttN<&9RW0 z6aQY#@J>1xK7z^%|DVv?eeu7c7mq~?kh)(gaQ z;;a14wuisF+ROS5I-il%o&%~JrElJqfzy=qY26doPZ1?un9+^GI%n^;%4c3J8g&X? z%mV3T&;XW-iopL&=9uCe3BTcRV6}eaUOQTDG9Dq7rv_w;f2-> zHz5x+xzdn%R~!_whL*%!$lgebAAf_KUpAg`kJ0_YUl+BH!ON zU3ARirjb7vj(5Q0<@T{k+NFDudto* zxyAgzBSw4j6s+PQ=9=Fq{^NBb#l%N981}86EjLNq*?-1ntWwhRR@2i{JY#26!f3M! zXYSFHA4MAoQd;$3C`3=u=`WKSES>2RvPnJIeIh><90r8pZZxdGfWQr~+#|q6bLM-2 z^MN61qpQ)HaUw9Lv(!Au=@`s#);C%cB1`$DGM$UcAb zTs?kH&SH@vU016zk&KR^Lix@FxkyCNo6j!;jXTtOv~D$Y&eoGUJu5!T25Wo#wK?jxkMaxqWnpj)Un&-HxoZ$Ugitobz+`kaNKui-?&oxLZR4SrnKEkkAT2t!yp4GPYy4V_g$4Ll~_;-y(wVYd~$Sh9ec0gQc=Bt zAd-C4HsTSGy}MT-(Twhkj{_^VPeGq#VYFOkT3Iv{G+fv#Xglt z9g^H{Z$2D$4HnLb{dG81ijUZn-E3wX=_$?>4hvlDZ&RFzem=m9wOYKG5)Wr%If*xt z>i5~kAw1IHGmtDotfeHY3(e<1`aqIJEiW+WFvA0B)(X$@_Ozkre8>P+{lvt{WFb}i z!P)6WU*+HKX*a1Cy@WpId21Z#IbG^z9c9M?$zn{ApCvC^RBgUuuQqGBVUzI6Na~42 z%{6U_pPDrs(a8c6I8^|!>MVWzwOdG5M)}2Q&a?xClvs^ziuu4I_gq40&?s)x_uRy( zU0hc>!kzL?Eb=%!_-_tAEb4NYLXC&JJzSi^kQf6l;n|}hRYX*6`?|d05XTnB<~`f@ zE71;lC0|&tw%^1~KRk{t7nwsGLvMHcTHs&}u;Cmc41lw5j_M%zcgW{VJQ zg(dKpddYf)CWv4}vt}^Sa=tVbj`*+^sUfzT-e~(?EbCZ(duX;Os_USDTGC2|_pfPx z_xe~NRjDoG+hHy8IrqXQ#=0YLmbntNOhF0+G*hwf+xMs-2rFWLFzcJs6`D4Yl=r?Y z{ec?n;#I&}ZCFfePZt!ZV8>bk`msqS`0r?Ca!W9JT8E6b4RW1VG3Y72nU=0CsXV6R z`XOdAC*TzS&(tjs35ZyK3Z6EeR=aDSp@ET6xZiVk7MD-|eQ?y$o!ypHKZn)1QLGKR z7sotDtY_M_#ro*NC9hDfgbOL-{!+$oiO-dmr>`a(FI?$rE3H~YP_MJ>g%dUsim zUNW=^#T^9$9?N_*o7=p5H_t_Md0VO0W<7Xqe~AIxHx;@8j$ZRrliI6p{ECfgYjQNb zxGa(XsFc>chS<>xW|kVLOr5?rI6tAYEA{-<5jI_0r)c-<)oR5d?s%_C8}W2v)JIQ2 z(WD(orb-Kc#W?-HW*kPdA9x(;Mifsi(pD{WH^@>>bo@E0-ir9Yj&|=pwGdGf$n2xl zdjx#rEQS<%)@-pB&6OstR$|g zzwf2LBrdsDI*U2XI1=n;-$`v@;p401|EXZw%|M4%|2*rV92T#u>_A8~&M4^Qu2eCN z&KhUmY2M_yo;~0vCTAW^7~D0Y{`HXFtA#w^cqQ!Ko!>kHX3VK3CmfKNR4}=g^p}bM zN%pzIoBh;We$lzx+^B`kcBD33EsAz z!bOzIq4^3HB&vB)| zQtIeCCD`WoQryhYF{Xuc<~?K)I09nfa7gXHtW-*H=)cpjPutas$tuv_g(D#1Tdb+e zT-5tkkh7KtxK<^XSGLUS4~Dfb6ROL*2=v5wbk(TH(FwcA-E4mdqh^G=(>JQ|Za-a$ zG>(D<6o~665xwwksz86ZEvv2}6UHHX7dz;CBRD`JU9OCo zJ1hO3K#^qv{~j=!_z0j<>a_Churzhy`=tDf$30RcIRa7g6d9mCz5FF-sKz=AG1J?( z&9h?dDd%oqVX-p?`DqtMw-$gEWb3Qc(RWv?Rrf*LvQ{Fjyd+CxwpC_ki0I< zKh1otOH{ACsEmS%{7d&}T2kE-=$BZ8Ya#fqH)*jGLg|uqSh8z_YfW-X_xftZi|bCG zEO!j(NHUYdJ4Y|@^%7>eXm4j!edZ0`%6@4)pvo*WH>(h-p-=1;{qZ)NiS(Xv)B*K3 zBr^4QZELfZZaPC7(I}3Ug}v6P|Ez<#w0Y5kKI4~9YMFp$8-J$TC1RmkJD|IbgzaaQ z55+%hE>=!H+I}(Tn}A)zoGop&woZZtH-r|1O;eZA(V3HXQI;qQ{>_Es>PVf`)FKa+ z<@fWiTW+!f$~cup>$x`T?z3wRm%1fCZJR8wm$q%;N&^aR59e+c0{kJoBLLci%U*La zhm35n)%GTDjJK>TsX8>8J)Gajl!v6Yx=R%dY@d}%vA%4+Skd zT4CYAqCNwnm7`L^~74neyJ{l^R!1HTi-Qzu{x-yp>!7YWn&UBcIw`ToIwlv zn7IQ+nk4qS|5n=&z~D*P-mnNUM|dI-E6}bD^Eb?GnNI^k2xoxY^Cvry1+AW zHFuwWPJ<`5CGyvAOnWGKx!>SMO(k1(;eUOU{vxL37&E_p-v!}j#xhW6yBG&FPh_fqi{cItSi z^j;Dhps2cu$C=n$0Z4s*x_6Ya2LKT?9-fOPgyRwvQUPr0SDX7x54OZA^_q-7aS>7# zk+S_s2%W;2@-TkSvV!@(#?etXq>46U?79v;-Pbnm@eu3W7RdW5A;qkQgJx+So5iMHMx&5s@-u=vI9%Jr_YXI&~+* z9qi-VX*+e2>XfBsRVbhG2>HWoH7(5LORoMaJ9aP0YNK3O9ql`A=+v5XF{Xmto@$e$ z*zQud7>&xp-Lc|}&TFwOU)~jHv?KTydNJM_55-sJ9b^qC=H5^Uj3Lh}G@5voLlYjD z&Jpqm03UB)K4F~F0Nh5N6S*H^9b;$>3pIOm3i_td7=- zo5h&WA8Bwl0#820KB3c7^IuA4{R(1*(k))mcC0WlXMj`yFP@)G zuPrV>9fm$7%aAjlzh@~HN*IdF1fo$jhZx`|#H_Z$!u_|y)IZ#lhNJb-|(QbXx>Q(+{xEfHnvD(X+ME2KDe2F8Cm zyYPX5nQ*iH_A2y;YP&@ae{OP0F69HbYkAK{QL!Bssv|C zTHR0q@7irx7@VNB<26_|kG-|Yqzd|BlH9r3^0QB%NhG~;?oiwrAm8ZyW}3i5vqcTZ z3(Mk63dNTrv}Ps)itF}AmSsOo7d~O^xqoztU_0}=Ej*eB0lkOIIaL@ryic_*_e%5U zoReDx2iriq!s|iRZP#b$Qq}C1lCJMUe(*8K>mHi_abJEtW+Shbt0IO| z0Ja?UPx9ehTeVY~35?#&)xcZwU0f$!PC9_B=-s3tc{ET>WY6+_G_a^E8wssRR>zlq zfIC#8=V_xC+|s|DSUdrGsCVnzW;{C++>a_SSh~1*gYN-|H9yE?OYR4B7#=%;PJ}P$ zgE(xtNm**WP2$Q6e&#*=a#w*kXtb6#SmJ6aH8uFo@+f5aAE}w|$NzQRkik86Ok@&N zh%O|G*XMI+p=;fDVos4%@SMmf3>EN zWxOEG0TM~TeHWeRaMd{T%jS|LBxfNof_6RsjLo(^^?P!cG)5*9cl zY7u>91KH9QVd@#`$D$h)`FG{V%C>+ct&$S?y?pqAr43}geY(`@f@hiwA+(ai6QK$*T^4iyYYAbaT z_glSd1A28tWqihR(Y(b-mUpSNH*Gcx{;SCgH^-OK2XQsKID{B_;SlvKqKyF2 zY^DSTa_CUK_$#U(gp0h6$4*oHgWKXgSLzfK1YIVw)pzk%C(aLlYV6EQXb=rU&yu{b zYwql2NtA;wyJ~HscCnx>Q}jGm6Fv=$@9dts_pC23`#k_l<{UFi9a2dC4YX>;*X9zYsG&n8Qc#s<{#_{g94XvvEx?IpB_Beh zlcg~_I2aQ?0(J=Aj8i--zuY>a>GnD*d^t8R);GX6SYBbf&g}IslWE?uiIG0Y|O@a zvFQDeyo`QVI6X5WKH!6$@o=)I^m#8N<@}%vRh_L>qp;w0rzq@6o3hIv;c6539i~S1hqxOq?XGMDKv}5vaEgraK1F5!pVY#sA zBUz4Rt;)|2vnpOKeRwl1jxzpJ7^3+4nL%R}M(~mN$FO-Qg4%r%;pPH@*SUW7UgdoCw48QXQ|q_uI`V;2(-*uZ zVx6V`c%?@J&qJa&v29~uR8pe;6qXP@M$>k zz3SkRGN>cNband@lk;(E9>0`;O>6yqO+tYjD&T$k>z1MwykWrSrC|0iMRoGv55pcI zYR1pr7!TW~FWL6aQY6Gku?Gmz)ok zpZY9@^E)z{A}_pQYxKEW3z1Bn)}A2FL~j(Yhc2TEijTUt!No zbQ?=yalC#^shY_4RL!pCD;}cmvXJ-}z6qR%#tZ*$PT_e>Y*PszvNSqbW{d*_v4rY| z`Wn{yOr8$zbMt1vDA&;&UowZNUz=iwpn5ow>X-B;@FUsdVNfV^x@(lHQ@0}RfO4sg zjga8au-3;Q(=PB=5MrZ3kZZ)nlE>jCU%_#nHmedes`S}^90CV>IhfQ> z*Y1=R0?A(lmJT_lQ`DAJ3d+_$4GlM^(|Z_ zuhyuUwF^&lam7#jUz0up;N_&=mLDMkgnq6|Am3<&p7&EF=rXv|t6GSF6xgy*@tmje z_d29rhiPLByI6L`F&_q{+*hDdOk^0Ew9_pn6r7QW%ufwzr8Bsutvv9dGQRF$T$9}_)yOKh z0zyWPcu$;phzB~WZ~7>?J%f5>y=Z*AAEvyV^einJha7vJzr-OPk&ZaTqGf5>RWRSU zm%PK_B5la@k>owTH4Ivvme1hR7GBtcLRUdj_hD@)$;ok7h=ugpRM@JL%|l&YebRMM z?ga#~_->!L-$v%YY^g=1 zvyU$UrwqMEXa`&(yiLRVF?KY@Y@gUtp@-WP0tucKt&qYAD7=C0v{A?zz z%7rE?dViOvv-H0c5ky#9>7H&%fYwgMSM*7Axxa$pYJ1=C_J0k~nD%*t0w;j~tzosG z>fgS%vEc@;PCZW-*kcYES}SCf7_*(5H?WpcXfvBhQOaNM+v0(@>$(sdoqy+pI^gfc zxK{Q8T-OfUkAK+p;xDW&;h9w@xOXu-t0AJCaOY3y=UF!jo9Y<%+g>voA+XmRjsLf+ zM%XW-hxc^jgC<*M|4mFj!`Cu&?wa+gX+05&e99nxoNE)3kk97LY~>#|n!<5Il`1Dq z0(H|kwTN@M7PE;T99U8>N**e-PJ#C00D?GjQs_68cdH`c=hd+RBF`d1!6RR`}Z@swjFq*=$7*iwQeq&2Nx;kgavcHUr zVaPCEu#Fy)kRG~(mdwn%=dt-jqOX!mMiZMu(^S|zi6|$*E&1#352B3YC-%O=^M185`xe}f01?38s>#QMV#U(os7 zIjAJwGSbRGawX*$oR0|1x`;sceo6@{976w&O+^?{hc`+lDo1n;bgvtCRJ@B0dQN&m@nu)0%or(GttxiYUd=nl2sJOZPV37 zKO+IOqq$QGRRXTOex!MeW3{ZsVXcz z9c@#7R!zR&@| z8IjNieElPpuQtQQf4=Tg6A;jK8(?EtDeaVQwCbB#wDS6~zi68tEq=%?1}_X?Nmbzv zhiQwCA!<6*g>v|`VQwvcx=3eUKbZ*S&aTk3j|vuI%G=e`&~ZTTNedXbH~3$P{^ZA8BBD`R>e8*6u@*^;&@#{i#0}e|kzHt`4W1 z!gb|?OVAzU%MX?6>6)qPb>L}8uyLUK?FzoOxEWS*8C5vjhvx37=@p}?2PCD&vo+62IY^MVnF4F+B5AB5D-_v zk$&bfwba@5v3~k>g|c1!W&_yY*Q_L`cf#AWkIz(JjFB(r+##LZJdC#^2SZ$13B>Fa z*hfHH0oNBJUmi|6EBu|5T;M5IZwqjxG42;zok?^x)k)+FeE-xCqZaJcrQ>;CG^ocV zimC3|>0tx!#=?er`0!!>ctHh zVV|?{;r>s+k?~ZeWMO1QaeZ99n1|;Ua?NlqS$(ly#hGn-uhOQ^)py`K3=a%+Qpb+jmnGQiu}9xHIbflg%o9E4S0uYp0TToY+!?} zUOI@dKZ8~!WY=Dhhw<)C|LO`W5pUSd--TWekE*k<%p;SP-;4_YOk9Zgjd7!20Tar7 zdolbL*R$1uXN`sj!B+FC61(zy>Lg}9)T(>O8~cSNeVOcMPvlwA(+U^`Oo*d` zOM7ikG^j@tNq%i0ys?#iy`LJ2HvCJ`aRrJ)pWRgoQn&7RiEwxZ0X~%XU_D7H<(2s& z3uFYqN$}WJjgpLh^#*+eun{472P6*hMZ0A8bVpJUC$@-~q{<1YK5W zJ7-VO`1kv%#)sN8`EkZgNWR<`Xr?Ka($p)sGdxq!snH~OAp(-MXPlAk1Zy~iFqVFe zu^vy&>RGgVPkXR3wnGz_J;0CR`|^}=Otz^;b=`%@kd-2i8YigomPdfp!`UZPC)P*b zWN2~*WmK1%PGH(Cvo+kBgxjx$OguUnPpn95UR|#hHteT*^tVZ-bA$t9ku|K8dpRuj z`XyU$LoMF5x(-ynjOf!@wn=29KS+}!U*XhRJwL7LT=<4`=FXm=fayAW>NJ$#yRJU*I%4pMaHOX<5T0N?uPPrMvHaJ0W+ZS9(9|$dJT=v3z7gb!%pQn#5G` zIwWDjIC>q{g&KU8G*&DqO`d(F6^{%L>8HIlRzWp>{GzjqU-NCj#oW?hF$Bpd=;=vo zvhP~GHH&_Rh$M|lM1QJ$SK>UeY718)ep6X@AwY+=6{xmXP*Y3i=0%nS2|Us zrleaxrw>g?kmdLHb1~lU70OZ1H1Ox-Vf5#D?pY|8eOt4ov*Q7)qlx|@IVJyc*ng>Y zcaHr1ucT)vf-QKZfZ8q4!UsN5-SmBR@;R7kf) zCh$W0L+Jw`n%XZHl;BEZ6p8m?A-Hpb%3o9ryw=CNDEnC#|f<7)<|J zB2u+{N|ck+l5*Dg%T8bljggm^__df;_hQAzt$9*==w=+rk=s5`VdL}t?HMlN4k(&Y zkg30y)w;ZO9HZ3TTF-tFx<2C9Og6WeOF9g`BnbFC)Os{*(82v|aw6>x5eL;&kn1ID zwa{NWCvC$`w;jF-_#APundM>fPScJ+1BmtADL&hD7nTt>om_o+3MP?-6~JyLtt%Zz z+8435df8-KAiJ@XOX=C{P18qiZyHD)j9>)p@Sl9}pcikN9Q_d1U9xBss8Th>IoWt_ z1szw;2kLaF-t7-CIw}TA(4@i4ryH_NoeHmEGZX!;t)o1sPJkL=8oI8jfKnRdTGIrq zOwtbi+>oopOo>5HwTrLkFt24>J1aWI(_d>2>AWX(SxOeC?C*6T3qtMWzeiO;sdKVL z9|27yP)$)xhf;X_&ZWsn6?_^B^wGf;I=tg!cAXsT3qTFQ1dPi1yg=3VqFl^;s%cwd z9Vi9!iR6 zgIto$oc?01p)Dy{Xqwznm%@$>PZzFHW!zLxQb(uoEH@AOPoIluHX9zp4{JWEANxme zCZRuV9QRi>>c!yltorLnjK4R^dQ- zCHaubH&xB>TAp+%wC{BOCS4>U_ap0lbc1 zi-FC!F1RHGq>Go-DZJpmtIs?VW^*^g=MQ_4Qq-DDbo$W5M&>0FZ;;_$;?x6UTuXF) z9}yi9|8`iI0zz%m!g{HAJwPR`lb%VYJOLO@qB?8^ns)0gpQD7`!3);`3QhDEVzuxj z^KC8no~6J1hh|q;P2MK8%vlQMO#W-+Pkb_kVNIsE>#8#beY5F|K>{g-$)`9ln%@IS z_{HuCG^ZC9B4bGN*N)7Yi%rX4JDhzP1)hYuN%@-_Aq&n<4MJ=5+S5H4`myqTmlAF& zkW6Fd6YfolA9gushvfA`N$1m7IdvHUa{tkBG3{-yqSppl*hT+xJ)5U@bJdzu$j?|3 zlxZw-!3Pa>tpDRlsLJ2-@}S^)9u)nm)I&h@7Q6;1_%#5yl04?>uf=?xFOl%EZa zG7I(j>J0KZGEqsNfT^^S|NL?+l+yjD$inKYtn>lbSMO`30rhH3dwh_-a`>oSN9Uioj z{JewkA6>g+up?z#?r(W_7iMqrgX9P{rwX~r6%abvU^Um1_WYZ;LZe3!&Orn zx#6c3m~$SPHdw1r^K729N0b|pDYTU?BvsQ}6UMZ`T3@2B_HZcVXKSCMr*)Kev3olL zJEea+k{K-s1bjX_$z+yQBWiBF!@cvTCW#C(J(kDP$|fg3 zA!awk4l_3v#-JOgXIXUvCL506S>v0xov!Hikis~!#FNT7rb4jvy;*q>|0NJs1Tdm-n!$;-utqL z;N468IjmZ+^Uf0t^a_qtaC8VoAK4>@SC#WJT8d&sVoOxntUwx0guEu)y285hJqVqo#(A_8$LwYJ6*fnWY^0x!=Tns>u{lBpkT)dP+!FTfwVSKe}% zxT(kbo|u;R|)H)HgvMOOzlrvRsELOv~||27-dEMixnW@7hARV1(wL3uZJ2@ z#($<Emc@CmQ)49i4x9KkcDqJ7b#HjLhE8| zNmaK0v>iO$muB`BBo|DW}(-=$_NnVpkSGG2} zZtCh6{dz4)@Pr@vcheqZWI8Ilj_=&CGffVLo!#G?;(mvm@F^RokG%r%U7+9IhU}qR z#qW1zYS&@azg@k1C=D(T#rDddH*p#ffxvt6MGF@-__8K#1HF{=9IeJVv0vlS^+)ZjyPay7>^#+Ux)X|{ic=9boYVl1JP!+gZ! z3SrcV|8O+43Z&|&it(7XS?Bhn`gkRBhE;Qp@j1q+_ve?}TeucXIoxa7hH<53brp^w z(jA6Lv{$IL_?g1QzO)xVD?7nmQlnx;;3op1ZTYKwFCGLz=jAuF*U@rLf`GX`fH9eG zTca-iQl6)GKf}@f3qXHvqCs<@Yv08!I-G2_#XePd+~m$d(@}d?JF^wrTW-#DV7>He~2!Gl&Ol#O{|z=j-6Ms zzt`3LqMQy8QVGt(OAKpr@h%L?YoqHGc|CQe?5)BytQc~~w@@%$_6;yFIv>{_3EI~f zcHn0y=JSorVv9~Yh1-P3GY5^&R%y9kj|S)17Ar3-R{OJvg~O9|)isuyIqft$9iW(s z2TC}}Td(p{SbgNrKKn~@_yk>+RYfP~Ed)V~dsmD!yP2KBnaF>>;vDqGj@1``FEiN1 zas+CL)0&`;C%PkXj=g%SF}s}WF~@cwxgZY86-ZUB_}6`X$$ipyQ!9-+xAdzGT3NbA z!SwZKQM~aDj9muZoV-upA#}g4Nau0^@@EIC2(@|y<#Wj>QX_>H@2d(#E0{v_X@1#& zFdLC5Oax%7$*eg`X}yH`P^#Bt-Z2sp&DBLa&;7mVT!`LzxyNlR{r!&>$FwK%a$k@i zbw25R)7s=9uf`8oMt=+cZD)5t6>I*P&-1Zx%plU;(ZCIczN&MFXDoh8StBai855Kj z1WY@2VLx%deeIk~yZy+caGp)=7kT5r>~bK|P8&j?zrrQ2qpg*IdK-0<$oHvH?^q3% z7x0>RNI}27rpPuNkLh7*V&25?(;_rqCb^U-B41;^tt?+c`iA5-s<&(2N`6*hGLc&KV7n3S7;N$=o%ADr zxpg~LzH$y#(GxD3 zFqxXN*y|>r6QPdD=3k^^b64J_N#M1^zbwoJh_XEB3d0&$^Bv&DVhuBe=z> z*w{HlaRRJ6t_%(y80%71KOI$E6ll5q@ zx0^RoYy&ZRajCO0F-df^tj88CJ@7V>uM+*A*OD|fKJ9IOixOA3Gb^Jj@I>sQ%Wdrg zm=)(W2i8|kq50Y0%}YN>bg+N0G*blZITPqVy)_gxQB6MN^fhUD7;*B8K#l{Ri@uBY zqe37W@L8+!*S&R?as#PJHNSd$@cA%(lFZDF<6$kz>^O2(X%0rln+O;u+N2mh#0b4? zow==jYHp3?Fz9~jjQNPo8KU0v@%VO%b1yGq7NQ?JVbnq$o^ou(vh&VSWuhXsnp!M+ z{rZVRd^RK~ft7~YXj?8uLY4Zm)IFE5ZXYIR9Ng%X<@rGG;Q=_UTH*Y*(pq<`@x;2> z=dJ7vWTWqg6?kNL;0JsptzSz>6VDn__wM96#UWx$$~jE1*gkDB6C6rlR+w(bGw5en zY+A7mN(z?&YNl?ZH`jJfnESxl1(1ge|$6p39n4knD0)A4V#EO`JB+*l22Y z=|@4Zb)+q>_qV;fv^<+8!Cuk~sg+k^JlQs;=C- zRpoTBM@c4}@qTb^pI|lf4SyDlE*@mpCbVRZ$Q7qIV;KWsVaG=ejCNBEx_}E^a7*#@ z9SfV-n*T9@IQ$LzdYMV_E~(FwN;aO^g&Ek#x{W8Vt%Ao^vz;&W3+D*d51_BU9IhmK z!`XL!|D~BXDl0Gqc>}e&gY+|R0Wn^X1_g6+)P#Dzy2CkHT4Fpjqd1Mor?Wiz0*n0z z)YS)r2TWp=uYM#S(5rmbfZnM-)B!4`DJd)775a)Rc#zvY zH6BPG-h*7FG^pE>c~GM!T7->Aewod|At3h|tZX-6%Y}KuhmVm^^*jAT?&ron)DjED zDo?w&6se2kvgB$%t8GcfMkzL1uDK<}cFCzRWd8sxED@hMtq#aIvoa*aOK2Y9Q(j@W8^{9~p$@%;U~xpDIk}t@NTu#G zj;s$Yu9;GNP{sRInlW`!L%1Kk27OpHK@8OAwzMU{7Eg-OUFW@HzXq|1-CU&eQQTQI zidB(bA9Y|F++J&1Rn2WuHwx4S6+p)HsL(}SfJpBwB?I;EP#t|iIPFs=V`p#BP}Pm((fW$n z9mT1|ANHa!RvN+isECh)&NJq=1@!nm$IWXLp7X#Up7aKC!BI6W$yq@M^HA9f&Pbq@ zyEWPLRpDS~y&Q_#G7oc{QmBwnv4hWinkydSq$F+`=OgV*%rQtuuR?G9Ap~XuN0038?iVDh<2tI3nT|oBF9nCXd=1z&vp(_U+ zt5a}NydDO8R*@?t05e1*I-CMW6_$b7s5F@4A3iH|h<#2(Yf!{Q8M&b@l z3|m8}g(v~f891zfCTeNHsiHRuLud*2f1Anub4x04IPk#0$23a*rwzf?J;73nvU^ap z6sbx*$iXC>S64`vk&90u3wa@Zv;C^-(e{L;fZ#~yfr_VeND^+Wwg=}{FGk(H?XE0Lu@oZVac&!18h0hQXI>&=$g??p8rl zue`5witbcR61+rQXG?$_D0@bE0=dK0DVNKX_W+3h0Mj;dl#oJI`scstQo_0XsOilv zA3YYt-(Mp~-0BzxC|1)VLxH3aM{ql+XB~xWYt#!~xI)k&K)M9B9C0@3JD)~JKg&=B zSo60vK&r=Vx@lmi*LQzc{YnUF*0C4q{Gl!mLc4gQS~JrJF8aYUr?37NWvEUrE7nIB zB}P!;zB`UaRh}_jc|9~7d!}&1)MRq&Me%0PwwZAoz1py#kAvIx@%z>B=@ZJH!b4*r z7zV2U07Z1(qPbjNcKc^~)Z-Sq5|auvtwYr6ePv>Tp| zlp9XvhWM@_*KpNjZrK%3BwU2W`ysXz+jAsm^1kpN%4GuuUQcRyDJiZ!flW#uFft?(h_(j8(a!JxtNAE9oq=Bdrbaro&(qAG%1*b04dAjZEdv z_Zt0sy3TSN$QHq;o7rY*y`bO>gOEu8<2fICt!{DdIzj6U<=q&WB5NN|LLDo5DzZk$ zJodrCuU=|^AG>)%r?FyczMejl+gF0q_{pn-(8`a#`+{{V0x*91s+ z{{X5L>_YPCB`O>qe1l!5rLX5!=|~SR8_*Pzl#UWg2qL(gf~n4e0*Q5C50VN00NSbP z6H=07e-LTH4Sj#XlYKVSwdW}Z18TPs`}wBJOD-ubEL@mzOGr|Zgq`Ub!9XY4RgVDi znooT|5U`+kjI4G!%^87qbxk3qtu7R0O(kdH!C zv`OlX+1{*^&yF~*=k)2u=cTkOloY2J`_~K1xSNctT(_Msyq8Yrltw@&gzx~suEq31 z_T0$vm%JRMApX_ldgbz_d;b82JDicx_FX9yw4}D!0cYKTjQ+H4Kc|o!Sy^BW-OYQZ zq$IWg#%a>r;9k-{DDRr{V@)30jS#I`E)+zJFoA)N)hh7Q7WicifSmr>qNYwO+D^5y@8xF5=y9DGEw?Dq4>N_NM1rM?VKAY_&AA1{IhEU@6XVQ8f$zREZl- z!Z2wj+v{D9MYXq>cr6&<=lv^79=%&tbYkCeW1$W6l*rCV{eDGJxYag4!%G29aw1RMl@^thsYw~+csQe4e_z49#zTp9 zAw+fu{VH6k@na~ug`jgi?Lq?!g4-**BJW8aWih4 z3caOA-~LhBsp+?p&VO4T7`T+=*yci`KBsp{afCGLH{`Da0Oztv9y^S2L~L@{x5$c_ z+t@^8XKMi}DM&d88Q`8zdW#Y&7V?=#y*WJ~anF!P>D%|L8|vFGPbswQ+x)~A8wwft zDOU%%ucA+ukCJiXtZCE+OgmJz!v(tQ2e?7{_XE^uhApZcAf)8VZR&SwFE>iS;;l)LWEe}Cl zm}qIhT?;~wB{&6280XC(`lqQSqHUJ(ZcVyXmDuG>tf08zf7{kVf#4D270nyB67Q}> zgX^}PYf{=Q+UDIVG^V7sh?3iElGa)N=~fJcgeqT{ZY zcM=G!%h{shp)JD5Ny?8ur3_pYw5@|92fk>L%T9%>0Vj-#!b;Mm?j40>FOxWBOsfa6 z9xGeRNp)OSmgR(?kbSB7q0U_}wP5j|igb*bdiSj3xwTtsQWfpywW(NjBymgvW2z$u z;L$5{o5m<E7Qa$ZU&;FmhqUP)N*OLN;(B!f;uT2$WC#$3K6H z*4p>>;Qo~*fw@QRNMqD6Ijmf3XwGr^)S#e&&nBZtbSPk)liG!hkqaZM=k}@WyM$wL z2mL5|m4y?5TN`(d)XddH#j6KB^I1n$^^cl{w@SQnYdG%|A2a|QO45YNEYVnWOk$QyPGqQe?QAzuy{dNfS!Z-f_TaKgH zE4S}mTWDn~Z3zGlJ6A3GXutls(I*RO{+>SI^Ib7&pS9c*gTTjn^Zi_^bb7vn9m2=R zT2?gRlBD%B@;gzd{WF0!2#)L~R)hT|0RHu-OWoRS2?`^FyiacIK}j!)h5w1RsjcEQAc>_Z892 z`5{zS_N@xdm5`KW2<#D(MKD`nq8`+=ke3fQ9Ac(lrlJdZQ2>L$`81b(^(rQeK$9gs zSCxX>SpWgx)TJamG0C#kl@ZDIHzN>I;?s(xrCVLMNS6a@qZO+vXnD_n+P+WmDFX(pPYFkczWIUdK z_Nw~h{4Lti3JElC`xuT3K8 z3v%MbLXi;)%2G~op7r_ZcWqY9Npp{Y97LxG3*c@GIL&^kda9<(caoBkp8~%v{Y7kl z$5&zr=1YM80R2X~eFWU)D?I-I#UP=M6h@lMa@kad)5bR}U?*;P{qRmJD@?MKkhCH0 zk0GZMkgx6Jcc_gOA~;gP-IA4g3a^r-#B?~4LUWAyA7fs*^WRY1sZP!eEp8RM2=*Zb zDQphk-ntL?ebov?7X8EdOWBO~^IYWyN@Oiet#7!D1C7`pZ|zoJq4yQQ)N`$l`$LV1 zEuFyU2M3YIkzAgp9I>;~^f`VWWc|<3Eg7s5;t-MP~4 zb4?+nA`_THX-Mpm_dMph8(7#hRK4yCgE4YAS#R2-`c~Z&KSyb#mj3`565L9L3upl& z?ag(3Nhw;>D7`f03UPJyA$ncuUFtQdFs_$5bD2W7A#x5%Mlt)V_) zx|YMdoG2V-xyM^t#q#uHIFa5XU%fz?^<)f z7NNAA?kOYf;1lH6qv?}Z#aldISvbkAZjiZj(+$LYy39u5u!I1I92qGCy1!biuNPJ> zH}v!u)r`?v0@P2vN4l%eP<>ju>*vB7Nw!+lIAJ`gL;mFt_7u3pfgO-`tB%8NKec=K zamp&^+4CNwJS6zz>)f*2klc$)jl0y5gluUUDZuZ@92|Z7)9r?AM^O>wu$0M<5iLCG zU&&EJo6zYPAdo$~Pim_);Y9m%r57Ga4R1qf9H@it1zrFdKYFt?_L5!KOMW0@HkC0f zH0$eeC6a}B+ zuW9agV%|g(zthU>#KD7{< znzzvF!X#8IBw;%?l<*P=BabGWH1yZID`$y2Pq^D$2g`R zTJF}LQ8ZnTRNJ~O+!%N8+kzW$OHMX!O3w&$Et8I3m6CjbLM?Jkz;RmMu3Yi&kMCJepc8Xa;O$@|vW=Wlw~J>)61aywTp zHu;rxKo>~gSZ*E;E60_UR)W8FE4Yg#Zq02#DyYq?BBrx<)>!J;FFlbX_1&MRwxsMdu7njtbs$*fhutkK`%ymdGgn++HR zah%q*8u*h~um1povH`7J;=RTOO<+`WSp$>vS(wD*HR6@eHIW}Rtc<96paWxPJ*r6I zJQ~#6LPy``wj%)69LT31rFgZ9^-AKSJm%g7F^tLG$HjQte3My6_Yp)9Z7v{fJf8He z&UgM-M>NO{o=4Ar{Lu!}k$@@;VT}E#i)5UC;(?Ll zjP7T5ngw)hgq-*BOpC~EUlao9f0lE}`JsC=7uaN}?bzV=%^78!AdGY3pfUq$`*#&Q z$-_Vn6^t6p#;~2Hq&9YDqa|4%HL)td?Kv+OQ+OPXdvS zjVk2VsVC;KCzDwN-i?I$MB~k7$tga6de%q-vHdH=xC#5vuuwq0OMkE4qOD^mo@>QO z+?;mBM0NZh)|ggr9R2z2Lv8~oSVC}ceAJaoOKCVcQSC!yJH0AB$Hg$Eg{EUBc92!{ ztTz3!12H3Hl9KRRw`6%6Gnz}8tFAZO`kHFYl{XoJ?@l-*1H1DnUBYvUfAoeMddJi4 zL8qB{wyuoa1g22(w)GIU@r0kTPiipFr!##uhRo}XV%qK>@~U-(hf+5yfTEtmIR5qJ zP5e2#N7F%kd{CNuq`zff;Gr}!PH zfNG+FcUx&lB>lmo>|eTw+rJ+qnxe~RJh3jxI{M_}7HKn3(%$H&ctQqA1Cz(;TmkEb zt<`?7PF<%*+>s7rj}EklT`eu9v(C)&59l+B{T8+s-Dk2?amYN-n~s99szJCvZ?~}F zIaH@xN(lb|_KjLSsUm!mP9FaNx%usBv`*2HqFJ4|+%B%Pu4PVAmZOq51oA-V&zjZf zb9$c1>O`2DhU8|>dg0Y!U0wTGCyj~zl;a-S?7P3E5Uy9huRRqsGIG+AP@ld>7^ral zGPT&Rj!%gKFImt30FG!SMPK&r{{Y2jCeuxJJepMfiw4guxfusIAY=CUt#{jpL6sU1>`W=JS1_)id)uKPMl?=9{D59Maq>870Hz^srrCn!dK@fp5ANok626-wQbGN zpq=lm=i`%;n(U8PbqQ)DrxD2jr6c5%f&Qkr@_UeNmpQCUYpW$MEG!1|?$3OaUdQ3F zq~v&CjLzI(yaLxHAt9s$ly@Otn0?6kHRI3kWFUm6I3Jgjj(@#m@}jLvRCJcfQbH56 zoO#Ll?OP&1Q}UyQgVAw8C0+jjdiIZ+R?QLJC@NV<%2YU4Y<=mwKweF!SXrbkOrf`4 zEV!f}b`~+u+c-6gnrXOkA40Qxbp22J05(bzXtN#EfrtN-|>&;Ioi1RL%xM+STd+HRR;X;YV++=b)=AugU zV^%K7ah)eq!fsS0I@1gUq!+dwrvwm2d{ws3tlBY10qZ@vlaF#7i_Y({?~3sH>!V>j zml(Fgen12z5u*Zr+??a~t6V&N{{TbP_*ojc<^GHN*+O1DAk^{9&!oC4^jeICp|+zh zFFH;N0<(mGIn6ZsC!+mZ=_Sj|M(tK6RJA1%U*6+`#?%kX`jc0Vl-5_hV6^UF!GccU z7LZm)z#axF!JOvHZ_^~5s!t@Ie@YU`9yMQox#fC^RJg`%{?+}8y_-r|WBIA~sP65I z6XJ(XXQz{ljNlqMdzaF1w~~^R{i$Z>bVE!X$AObvF^#bt>N^*2(!(*`=aMn|*9mLs zU-37n`hs8}we>8L=wZP*Gv+@K$<3&m1(mgcfTtGV&fwF00rC4$ChP^JDNY|~PV}Y4 zfI@yqqb*zCDrJ!2LJkym5S1+F$?%cKH94zVS39Pb{{Rz~k}{>N1ScG4e{Z)H>T*1e zAd5Tcg(Gs7l(u|ek)GMBD@#R@a9U9fMYSQ2xl2(EC28Igl#|@#k&U1n(rx0(^hBlS zAhyzu7L_A#9|{NO2ATBR(WND)ROUWfHE!iMye zDG8FJ$RQxCC}%jvMN^Y?KjJJrsghvFa606Lsw`cO2Oak;r=Q49J*PN5t8b@wRc8_ZYjSBIj?PRT5=B&O^})5q$Q~)XFUULipIJYfKcTNs_$ecICYB+-wH&K~M8o9+zBA&T=uXX- z7SgPceYx>K97x`*eAM}`sG#Gw>q8Xb2O0kWO2WOJYECQU5>^MA(iRBky>Em%k`tQ4 z2d%O4IUXxJizNui=B7kzV`JvDTo;t%y>pG*0hd$(6#`O}Mt{OiV39|()=O4L`qz#O zR-&vN(E;&JRam%!2Njqmym;VNMjOf zlqTlz1!bOV1anwA;KBH&p^uz&0p6mi!s7dID*&>ilV0Zv82O`OHXO7@E~`K9OwnN_ zvF@NYHO1v^|ntv+8`No?aBjM5~P6v!a(4{B%v zNZj56N`*;|=jFvg3-;qRCOWd5XC|sD(va_J5U>dJN`MW zX?8(tl^pZ>*4H>EwksA;1DHN*bByOCA08=N3h306j!k>j+B?=kI}^|Mtq$Y0YZ{FD zo^$52Q=v)t&&@&$#zF7ez7Cp3ypD~FP{`-aW`*uNb5PXa-g&K&+`;%CHK-(o=kHNn zcsJX(+P9Shj}$&?yPoG1djY*N!jebN+M+)s4tH{XYAU1z`KU5v5}Xc2GA7wA*`%u< ze-)`xcI5v6r4BA&_cf*0i6PA*%!!jgC(`TJDse!tWJ)Wnd^^wB99!|de7wT>blRf5TI2}+tujOAq??)`damNJx>z4FRvAMw4 zszt(MvYELjYC4C8)Sf^{@#eZyO7j+{A@NKIH`uAo#3dJe~O@lw+{URF8G<@d0b}!q(Gm2JRQfhEp6IrG)O=3b>J6?B;eK?%=sbDy~&SFE8Fm9wYQLoHr3uifAHPy8JH zCsbWj(|w#+|;kch|pNRARv@c#hQX4~meN1&C&}+k+U{pY2}(#OU{A+2!I4y{9%LV9Ir_CRrXeZmPX<_R zVb>O+pK4A`a*gWZ-RAo~dwEN8A5(}*xI0g5{rgu}Yg=ntgHl@U&h1z&y&yKV1f_d$ z03`4{)m!SXrUDhUtIQS)N$Hmslg3g`2_1<8L`Cw2bB+yJp5A4s!MTS2$0BqllhxfA6L{_m@nGjGA+tG zl*0K_N6tRpE7O&pUNu`MPQ5nzV=PjYCMmDRUh4|OwbPlWHm zb~BkRyguW>`_w&0rCHUl%vaL-$AVP<04e&PrEdQKR?0|L?;KP0zS4`lV%vZzD)6D2 z;(tazh>LchEyr7i4B`2rKCW~B0BQcAU1y_xNQUzWNmxq0ax3QLj##C}X!>|$j%f0O zvQ@+QcCp>vF1;C?oRfk70E*vf{v7Pq^@Xt1U`LYB%`}~V6{d;m1#$U-^IB8td?cUo zl0Gw5P6$?}$#FD8c8176NCSYNaf%aoN?1yXP$TbOTzyi8wu*X*1aq8$RaUz7V&4sw zj=FQ)tXNcjX`H!pIef4qYB^8bVYwnnDpHA13O%VF+{@ou zzorO6T5}Ibc{`GvauO5d=AZR~(G`%AJ*mpok>F?l0JSLT*6uI9(Td_BzOY?Oj;AFf z#sJ`xoC@}Eep@_0QTeDj7fwmNGbTc(p{R`I*A(iK%WG*U0clC@rIjfmC>-)h?M0zl zOv{Y>bSERhi3lV4uk+SBQWddXxGNbRM>HLnjwULRF6t!O-Eq+5GS0*ThXPRO2b7b~ zY#b*CAk#!8Nkydo9~s6iLC%x1B%=)#gO0=8ql^rA;MLun=@IWyZfUZmiHK9oEemlA zbsJkHIYO3!@JItRGfA?iB3nWkOYFQ*PN#`jkP$?ace&VU^Cwf$MJq&Fq3RoRLJ*}SP6X)WJ+5@D^R@pY&6}a7b zY)IVEVZ#<6amJhv5?mvKH#dxY8jTWLFk;-di4*#`=_LpS*ARuLCD4B=5;CLmXjGRY zIR)3zIc%r~LuG~vh8K{(aNr~W2X0BGJ0z(VJ2F{n8Xt{!>Nu$ZKq^Q;=$8IK3f+;| zo_tb_TYioDpu{WVkTo<_Hp1F4A9>b8FSdt~#?*tgX$e?!83(p0ItI47`hR_X12Y|R z`E0m!8EGj(Ly2u(;(CDOsjx`%?%>hCPT01{zigWtI_1o5)|iJWXFK|d3R04zg#@>d z3GjIBLp?~eTde-1YM56R-C`Wepi){w6!>XDv;?*k21y8ULxaF0;-b>z(EFfguMb8Z zq+MNVGtixQw(GIp9EGW{r4W4QAkuAyU{mJ@+fF~kAJeN=Ti$7-*M8W-Us}S3^|m^B z!np?k58A7{OPv=7Jbctr(jz@hmi?kTPQ*%-GEbTdsG>KOl=Fe&zO-DnusIpWYL9b} zr&?J#DnAtHy{ZO9XC(K*?fOv%SwdP-&+kLwJ=4fnCmwjI4@vpk>N)X`QJXf{b+2byEIqiZ6Sy$%&_cx(ip?@^{) z8c`!W(0hcE9z5d|E%(+{lA>x#q#l?~MDP`mb5S0a7L${j9;e9|&3V+wBj&VmsO)De z(SxpKRT!Pe&1`h@TF^#wRS@|+8krqf$NN-OkOpfe90660K~ash9sUJ;9_`4jPb_1O zYXFAf=Zw}M{8!8T-)h)|?i50J7mCa*W1eeTl0mP5q7x?$M{0<^70-I!rFX3>#_9$# zPasw<9E$Y{*(1=+H!cseOeAY}!>8p>5 z#qsU{c>e%Oh^GQc&-bc|7BV`C7~s(9%G|O3_2UwF#%n~UcN3G7O8WyerNB-Haq~o2 z*tF#1BfSi18E~A`v|%S1z$eWk?8`^8wzrUc6Y&z=v8hWgHX|r%|L$vQcn@ z$9mG@zD`AKK*-K3T%eR8N>YMS2Xn=4g&|2^K^Zjx_d#uBkP>(#-~m@xrJutFvh_*? zi?W-IrL^m4+%DJF+-)z9mQV)g0P?OA_p4RkMm;_BPR8ulB_mhfgFvbI$V!-yg^%#s zjmSqo)S{#2qdc*XWg!VkoO;cY?R120_RC$uYY-hm%+{kQvW0`&tBsuCjtyTr7gDzR z8dyHp+YX~Y1a|$62=yb^8B?s&bn{QL&8wu8H*RB=npWVVl#C6bDj6JLb`-Vg?@`?| z8dP$j(RIeKe#$ui07~V~`NNY(rRi4*aYsbNx}^EQ@&}46#lb38ci<>?s*VPu*Z^=8 zAO3MiqH1=qGUf>!4A+q;(eFY@mN2;-<0L4aGI2%iQi;j@zH)wQy|-PE^1$D?W~>Vw zmR7WGP$|f$q|+-ZXwj%NN!84MDJpHz${feLKebf4r_!%ct%R-;zPYX08_6VBR#_!O zZKRhAU>?c<4F1%>nUID!Z21@+tEnaKN;&dl{FaUjO|#Y5`Doh`q;?8DyL_5v(;k^> z+ooK;J|VKcT#mxAyX;8k71uMS!h9=f9F8{%K-BlPV7A~vKvoV&?^;fgU-cQMrrBD} zwkF8aQP7|pY+xllfTXQka59P9tmA=4FW3J7sda8CUcvsgSZbY59s?3(NM0FfJCt+% zfculhPASRgNi`L0TY4Yj8s-G8g~s7JhE${}v6K0>`}odCqk7LxCiADAi0OL@`qqk) z{_tE^puhMisE=9Im(chBfr(cxtOk~VuAx9lGV1F%m104OyrwvS% z$+t5ad+)AeVne@8HXiwGryQuMBV&mHK#X93eAjO(l3vG)FPS&)etk`hs8bzjM{#X? z2^?U9-loQq>2XRfloC!>2mAf0qt&fCbnd*I*3ejdhf##%li!aV(xOn5s|Yy3&O93W zH2Fm{z^55erFjxiFqI)n0Ye>!+x<;@HG7btoB*SQ^N!jgpdgIv`f&1A1zZptU7(uRIjRMmpw+@u4z6Xa8jHbdZcuNNi=LG*nF zKT$l2>}h}1EkighC~!6p0F#_j^~Bt7DkfaF9m(WpiX|QxNCXeq)Yjvt;8H4GA*7`L z05byHtSCZ~NbTQ_^wSn9BeG5~K&^4Y0RRzST%`t?IXLnwTayJSqPz75X!^FlbIzd|CAQR~ zkOncp{{YP~FHl7m#XSzvxl*?5C&)IKUs(@&2^k24$ApC8av2-3|qpSz+L(R#lvp9>@S=pMgp2 zS|;4ux4AW`5Uoxn#}@om1uf(uz}mKFjHO&-jPp#;bo*ATORY$Nm`}C24oHX!-Y#UM zHoTl6Cn_IsKGf_;=&&K*?YiPpEy2&AlF52YE=zBwvhv$)4}_ip{{RWR4*ZkmsB6uo zy*F}NwmJNliWY>Vo|1p1MEoArd&{>?z1l(}DBNR*7row!Tnk>tP?d!z-|cO%5sosA z+~$+DO}TG7HH(9CT$1S@^G*U*zTqK%2Ol+~ph;h1geRRbnrYl!@IA^%$=k5xRjqr1?a$NY-R;IqsF5!Z&6yodHnk^z zuq}kE8DsJ<8QcjYpB%H5NW4;L59?o~_v@#ontRj*DTf=jGAx%S_uztq?0jdqR(Y;? zjPUCW4hNd=oiFL8v;HB!hX}1(`4Z+zHMF zFdL#Y*Fu-aKWf1*;UlsAYBZODUwYCXbgEC>x%kli7GiYsGN4MbIyBKByeeiMztPm1s}a+ztc5>@<)mc2d%4` z*m>r)wmy5-;y9vYYEpAp0h9Yy(wt}QT8Ez00(gFY)vvJlt%~!Waaz`_B-TJ9xJsAy z@m`@hueS49B;hAN=~z?HJ(>9x5!Ca=NGszX6%|U}vGem;ge7ltZZZAn^Kw0%@+oc^ z!RLxD!n5rjX(h3dCS&PZF`Q62N(xs8BvE-0R8UTQP*uw@8D1g4*vi!_Nt*tZ8$NU)L9a;<_2&-*0uF~gHc^@DP!i10fpkYNcizt zsb~KHy=aKE^u{^nq`HDq4`EY%jo{Mbxk3AJL(7FK2Nk{L0C^exIH=E%2l~^ljG3PO z`2w(UL=W1qZQOI@8p&>MC)a!qYD2DetF_M&gnB;1AxqU(>(gt4I2KDm}+v z+}qVUiX4X4jX7v}Dq=dZyKI7g#lh|ev}2sn{VAoO{{RgBnRQ$UdsbcX_>1Mx(z1mT zW2IR3p#Xq+1xo!Zne~UNmpx2+Qj{G&<&-+w0@CvNTGFwOZ~)0CwRyA6Ch7-vED5es zIz!d}0OEe%DQ?HNtSzKC0oVhIODXT{QQOJjZS9KWZ&JNhe^EZAK8HFgeNU7Z%FwR~ z0C!IwC>`?o)*Snilwc-7%c)564;ki=Bsn)$U*XzqZ8>wgTpUXbFxdlo^MEn-9Fz7m zabmY@tmL4n8ZLK-B`s%qO84Y^w zK0ze*?Mt65TsXvkO$jWC$PIF^mr}5drG7ErG?h9``*VdVN|l4&tzv++oNz~)0e-Zl zdzZ7max2YK_dTZ?65#7+q7W8J4tWVZ>Bi6Mv1=ai4l&=gC(p8@l>w3Q@k`U9G}$0! zDjyWwV$I2-{{Xjo++(DFJtPr~D0cnoTb{ZhLk34V@4C5l`3gwFTsR+kA0}#$l7674 z6h0bY_`FW7N3JMW21-?&=Q*GkuTxu|2rmUAzE2g(*Bx2-dQQg{>i!1;ku@i&*R{5` z*^(k4@%*IaNB2MbRq^^sWO_OBdf4Mu&Xv|)s=>ChRP>av(e|Vh%8!5mv7&NxdUyD5b=?8Si zow&e$Z%<8J?jk+3Kxtw^BC|C=^#hFsr6^D<+l3IL_r-mwE(>Nnh!6y)7>fmlKMj)M zjELoGDZ@%vD=7&hJ@6>wHcNrBM~`*W1AO_vQFaloO9nE+vX|O#aZ{=*Deg)$OWKm` zF3c|A>#`ncb5!a-9>OKYQ%c#Cvz+WJY!Q*<_^wsAW_=vJ>*O`6`yNAWj)30QTIDAP zzdVmMQ^`|pwp;@N11BevJClm*8+E0-%vCCD48GK<0ieprL2-E{TR{iLR5|ChQU0^& z8%~;vxi*&;xZhH?w-OYP1_ci_{)u{DXSLhy`ilPm35&)0 zVq29C(>NDk+ZZPZeo7O}htz+=U~$MMpFfHz`bz7if8mW)siiTh+Xl zklSS}#zN9@(@s=4?_Beuy;Icwomk&->wE3G>qQpZi}97UE+}maB>75zDWo~+byD7S z=iPbd)?9W=%Oy`N@>HcB=DL!1vzqN2ml@St8f>LW+m(QngM|^uBn**(`U-_^g(1?W zHmNHkjmbDU?NaTLol?KUE;fJ2q7V90bSNRj^wo2EGnn?qn4O_tq3nM2T=<$exe50h zBe7U&Q%$KUQkI1cz^OY9QWgeXU=J=O{zq7Jckk) zacLQGBr9@H{{ZrS)T=hu?YYtvq!cWW6b>+G#%e&8Hv?-dNP#h3H$i=}pyFFd*s_!T zDjXl0chmZZsFah!yrlOOqO>}o9dQXHs23K1J;%0q`(v7vmfni;Pt%svg_Jn7xRM4i z0LOnl^UY5r6xPSZk-_M-p-rvu<@QoVcXz1pJ!LMAYyCyL?ivp_2W^;KT@uLRF3KEn^`g z#(!FTSnfpf0Pd{g#t5mb*=^Rg;U)MG+n!^zhGfP` za7ZB@*S3?i5_7v8alr9jndNK|BTzc~L929Sx`x0)-BT%TJrwW?){;p4{F9FLJ(#nj zp_jiFgu<4G3#~B6^M0WZ>{1j?PV5j+qky0f#Yk=Rupe2Qp1M&CHs%mi(n1!W%Yd)& zwjB4*HSE1dX0=LfG36iz%FuChd^M5i^ zDN-CkUJz6f%2u>xI8P%K*LA-pdn)?q&_0!>mdi2&u06MnpeJ@!k;w{Kz&YelJ2tJ; z8`@LfQuCc<6vJ&D6t>!cASFR69bTa9c-jxRQv;W~bm(Ebb-|S=G=sCI1b0$1>=^D+ zNh7vTlR=pj4Z-x=bxq(DyxLAy$ZTObIL=SO9q~{0AqjJ0wJASW3DT8HN?bzT+uWfG z$x4Ef2*!N!D!I9(HvL<1*xRnfanhs%!iXL@`_ao&@7q~a)?RU@kL6H6*|>~t$C7y! zR;?0?raoG2jkPj$#om;a+fntYVe)r}Rl|5al7`c_Bl`-oy&lxJnYu?&#ncalS!A~J z0qF6vexV6M-U$OaLPDGW052*8d8$iLYH4ig+1B}GVQ#n?OjlACq6Xc{Li6qz;Dh!Y zRk`TQ%VqAUFl|7(Xqgz+ns9 z^-|dAAqP7E2PGu#1aN<9wkcFnvN<8P=;e=Je}Fs1?^;UKKA+8osP_j$kJ|1oDYDAR z%9MvW$~@qVf_&8v>M!us>L;Y|-kEx`eNC~H?sj#xW#*gD$siHjbBg_4ONlBV9OJ(| zs~ItxmmS6*X%8~sDO+wNDJmZX9^#qei|CTb*Jt7N{VRm|WyI`p0B%Nef<}4%^sfAX z5>9KlKaaoR(k`Bt6IkhMVxvQlg(l$4cK-mB+S80E06n=G{d`vkOmrY9C1F_dDh*bd zTfLebk-2!!1I1>C4$*;;Ls@jK&U<*GC<)p-QnV`B+AO=ZBE2g2XC|W|X0`$`_o=ws zI+LVkF3cxrN=~qJbX5#q!)-5ZNYXYp-$f5%`m)g8!=kyh&q$f)Gx_pe=ZkSh#x_pL@Zpx}4SVx{EPu&i^&^Y^c`+aoqeNJ@6{jc9#Se@(tP@Pp7LJeyiV}1(7iPp%Wn=RX2BRPqccV9_5wio6 zLBhG_irO_Efr`j>IU=#mdIy>&K3^jkNhLg*&O^&XUGYIB$suGbJf6mpZHD|2 zr9Yg|H{8Oz;8fYNa-sp^g*>dD`9A`#D>Cbx6XK&f{{XuKjMu6-9Qmm30#(O~)F^HX z`2Y?8qKkZVxiq^8>=B;=i5E8`C%q#>rfHP%Jc0e|NKthsC&fmX;oNhcD`Wzvh(b`M z6W<Xb?`=fS54ew1r_<(OS9nmYAxwyYAFaiWzWKzAwfM+cBT)R!SH z#&JwZVfeBV0aFqhQ)>YBJ5&M3-k1!E{{Xljnu;AG&uWnR`~B#8*R+w_@AFtwH(n|q zYJT)L(x!b?)o&u{A?SK?-q&7p%wa2E!)a2zsXj?PfU4zc#(bx~e$~;Qiri<}Js5sv zv4%dnM7c|0$wY=ik^*J`dR4u3=#D?);V+$z5f6R zFm)7IuljkaV#|!D7G5`0sl1Qq=RJy42Ti>7Ndw#F*+&EXngV*2Eia+?H z)Y7gGJlivoA%@!x65OPg-B#=sDX;0=308hZb3UVQ@Ox-+NDQGlYh#0c?2Xw;A3yo7 zh5jHeZ(Nv=4yYelyjsgCnI}Rvh%O`8Vsvb&f)_a=Zw!4gX*7J7z zk`$>7l}Bv}-j(49R}T*PK21#2jx!t7=#L=nVthwq0l#ny8FeW?3cyh##zjr_0L?%$ zzdAH~^`7+}Fq3j_P)fx4=~0aPxZAce0QLcZFbCd%Noq#3^uF1Awlx`7dtq)Gcc8<9GvP_U0%Y{P$2jZ}GjOR1X z)`>_w^V_u{U+jwtB`N;^?N>ySjf>onc^uN! z*4)#{BmtA)(?(QoDU?Oh(6pqGk_qjKUzuxLDJpY0@G9TD+go6jD}V=M;MH@fT|yA0 z5=Jw{cH@^R|!ZQn)g9^Ya>-^W*c-MC9qv}3pm0D`jURtY3XlE zB()UXuFV#d`$fdZaATy{KbY06>E?lmy)Ns}nUipjad{#4?T8;x!Uwx~QT~yE!gIl{ z$!AcFMDpG)PUJ(;nj58WirPitwG8<3!qKLI!l`eC!tv8l#iAU4IT#K4mjd4KWB(FZq=No&P z(HBo!EDc*38e(Rc)A3qU&D;#NxMEI8JK1frazPvLvMbJVZ)Zo)*K}Q{PRm2@F?Q1O z8-er|+lrr4uD;ux^jUAR0!eR@a%!E|cXy{;-H9!b)Y$DNJM!OmdfjMkJIc>&pK-zO znse28_D`RY^>{sf_`*oei-b ze2=F~sTeLPD>(%z8*`j;s=heV=E+U}016y5)O){2sTMJc(IOB-mkrG}0SamKow(`| z@Ox9Gn@8Dg*Gr4H0M+K_9hA8yW9+5S+l~{r`5=2i=L# z6>EKa;x7QYm6iVhEx-T?9A})0tnRn8Tqntn#8)4=%v-C9>Sn2KHjF^C8O>5&u=-nLu-N6#vfG^w!>{mcqp8Wgyx48*||QL zM!=@iHTJra5az`OmcqgdF9Vb*S>a9bf+?Z5qrVX@KJ*yVA6Z+Ewt^9bt14ut`i}4l zKu;O(NiHz-ONteQxR*jyem?p5rn_Nv*M6mk8+joOC^&JQp+w-5`BpLh)a?;kW|gVP z%0X=sn<`S0dd*=uPkbxq?c#_-xx0`QNvRWEY(x#L%64L(amglAqolN}+!mi9Wd3iS zDRKFoCsbQoYfkI{g=AyxQj{-cp*I~3{{T`$WouYUKqQ>_s1Pm^B_dRa2rjUN1g+&A zsr!A%s1VYdgjagOT@?%{B;!B58jq-LOreG(Hrws&4XL&fxkzuvw0X$QEFr{fljWeC zh_@6*Q;y$Ud7_QwFj5A^ZU7*tjO`$waIIIZI*{4vO}Wi%spi{D$_#|^I%~ig+md$= z^5%;htm&>xlDky)<0c?~rl(tFDq(5}Lx~4HP?dK|c^Mh3ZWmka-sK4rT7=7!+e%}| zRFosEQn0}*?gF=CIlwhUNrPl*i!5obINhRDScXGsYBTHVyB!^TDJoInLkUpr{YgG6 zb1~Cvi89!@P~$x7t|^qHZd(N^T0lE|W0T{t74_#($!haAuGH7$spU2d*HFS6c$BhM zr3~dESyl(z#cGK*^A_PHwji*}sF36?qtA7E3rQ`W-SVJu+VKSF1i~a1>=!}{U_(mO0u+2)CXh90y@y+ zrKeVeq^tsz>~Ne6=RAONJk^DxwBr->__w_KUs&QDlp_pX1pS@ikSa$28mhSUk|2*`H<)`(G0uqD2CVL8F==A9!# zwTpu{8*EF6hj3XDw#HO|-T=yrK>q+G9B^@2HkA}=_FH-rRohu*7O2l9pwUuVY`xd( zd~I3eD0xc1YOor4E)k5SSp13@HO_V|L1(|}#4y7Wl_gu&r$=r;zyYU#FVKHl(>bD zAxS;Cug+ip07x(J^$SEygQ>Lcm5XfCj<8vFMX`;YIR#nE{_aWalZ<$;(DlBUR~02H zM0LLEN=nvLmxeLz9PK@U?Vj}_;RTz`t;lojtj&t@2T~lQrNojBN(ek3vF-X$e>Ryq zy;~6}fHtIIo=f-PTrnM;UHQ{rsBX!1m(<^ynHg5zJZ6>2C1|3Jx@A!0tPpei(fu?&sq7J- z{L=odvrf|Y`S!{2BtekFrwqwuO)FvLD%yMzQ#7^L=$&kiPsS;vzFRbB@!HmNbD$0}w-SKEEHp+zMn zD+f6psg$i+160eh@%$M2iEE654n>OZbPR`N+9J-_`vB*UaN4uM?T*z*qT+{{N|H!V zY-5mffKisSBOE1x@cEJ4oQ|$jCVIYn~adO-Q7m;*(xZK9uNloR7Y1 zpgjWgA$pyQE%N(tw^}T-I+Gf=$dR&b$}2p$wp#xHCtD#lwE3NK(FfGv?l{w>tG};QY`tiW~*HHR( z{3OW`?b7d8R->gz4!;?M9-=`R*^|aW$0Pey^`|ubi%IpOTEk7cgeA9BjF)zfKqnu+ z-n_q8_|6ndAP`q#D~`U-9{UDxR448N97y?p4HQ(#+`X9ZED<7a~;eD6W>00AHRAL zd2YtIQyRFmrN>Kqew(;9;1<1yK1>5k=X1M>wA zHl;x2J&tOm{vdycsEyffH~k5Al`Y2<+SR5ewwB5oT7pzkk^;sGf%C!dT_a$y!_p9~ z+IGmNzMj<)rdWv?K?=%HO4fy_VM+>7_WuA^74Ldag_0{KH+}{6xu*U}D)Lgl#2Oz} zor$t7_Xgc**Ho6@lpTIUdq?vSkLgOe_V7XRRAbf@-SsR5r|N?&r7j?;d)C=;BWgzg zI+5qd&2$f}cE)YiK$hDO9)3)zLNvmsq)A$nl{vf<(pkqXoB{bjT)VEv zSt|s4U0`6LWGew)d(@}8Fr54%4bC;HOMJBvaf9k%P6O_Y{{T67j~Vvo#Ywvv3!0;= zGJCRHk#TSfd#x(@vutQ9Ny=LKe1DCDoxpeElKmEY@nv6ZkGQq2Gl~rv0I>3-x=`>@ z9CuqyWMle`J6znDX25W>dAMAoGT?S}=F;1irqrKlb+nKlDo`iek~39>pfMlR79u|` zwp50QaF4+8w=E5xFYRo}=7s=0DKd?nm(`QSpSb zSIez|{WxClZ;E+&&FM6@kQg@*nN$z zD;OgR2mL8$R5`RO2ag1Ksikb`Z$eI@yeZ1UuylH`3&e_Ku=Ev5LdioK}> zdt6`1B!H3glSw)YK*;q!Ut2W$30j$T^r~Xf!EQJ?TE5=UK>M2ReL)J{4HlMPG1`XT z{Q62+>NvC#n|U&8S9#q{)8a8E?CEjL`^>5d;;t zm2fkHl#mX2Ii^TZqsNgAamD83n|uPzzIC;QwveSPZiti&Aw&d$y+YdKuJ;0AW_Y4sUWdxzYDGI=V@k3ty`to z>@6dEYEVi?MI&|w7nK}m1DcuZrQ%On^njmga1)W7=Bp1)G+fBqQVjHIlw704arsv} zefh$-}lt*z}FfGHc6;7SgB zoP_wR%W~klMB}B&o>`Os0PB65rlZuim-POciX23lEir{maZ11pqz*?MkO@3utT?u- zAE&knw%9OLrlCj(VNW!UrOEV>xoUaEk|U=W!biKF)mx2q15etK_;Zh0*)Ex`wI!7$ z_mW8sHnpB3wgwa%K-_c56;C|~1~Le6lpJJd zIIoj(=`8_7x5x@o4>->w?ZtadKL?hklGu5RG>f+M#ECNK`U*gg5tTYnuLWdOYptGk zoq47%Q6xcq&`3;{i+jGqJ?hzu>P@1<^!84xR@RWpRrO1V?1svS;R$KACwJXyB%g{4 z>OP{kPt)jP9l{mSx0V9gZI@Ybmj@|uHt8ikMpAHSq-Q^29&>UgTGK70pqOcGPdM2A zVp2{wpOoi=MeQ?8m=7eZhFU?}gybh6`;4hmJE5Ql`W1qe;`_TFeen)8w>tt^ouN?&oXq$NmD z!33n|8-j2M!KJ&aP?aIYGLV-y9i@c(2>Aa1PxYorw^tQyG9#uVDGZj7+F9BXoD2dv zBR-MDrb;*_kBX0{UC2V=1m zJ<>{_%GOpp5{}ph%`jXn$#MheoV&ZXCbvGmypx4B(gdV5p2`X-QaK*ngG$F;SZuQv zL5~(BmxC}=p$XRsT3ISrQAZt&k2NyoXHBII^lXi_IoFOHZ~0}w z>mg0FkduMbRva1a$gFEKpJHlL&#eV>n_4%vmPvg`ZEoSUxDq?{at?9M1z`MW@gCk8 zVaD5ksQY1VW#hOU6%oeMo(c2Z(B~!JH3Wt&Wy`hEQWVPwVRBY_iBQ5DN=F3=bnQs& z6_Ze6SY;O6W#*LMxhZ)cQ-BnV?iuZZQ<2`Wk!R_*6>^<$auQ*_m!imR_R|<rj(ovbK8ScV?bihZoDB&5@EY+eMp@Z-lAG{YXmrsGq|U^lm-R{1}P3rxhzDC z`L?CEB%Z4>bH?V+xd8c5_JBS~_@mmuJEiS6hUQIm)Ph?};mnn+B|TKBNa1A)P)W$a z@!FTMh<=`1<4AJYXEpV1zCs;b$6arg6(p%8D&red&M}n%j8=ZHwQzq-M7g3o#|ujl z-eK21pfs#y3JV>Ff}aFewhdJlEWBHxiK;>{+m{P+-zv%hUes#t zsIC71R>YVHTdlV#{t~CkvJ~-9QOH(uGmMWFcj<&ZE7!R4n?boe-%SCfI=0z$MFAjj z@twyX6q4H-I$Jt&%cx{2F2Rirab`-4mzljs||jRdFgM@)d%0#?vkHsw}h284%c(r9+g`Kq10~ z@Qf#bbN%YlwQAcZsG126-J6pt5SG(dLgaNa<*Cq;Q0P)QNCbjN#z%TuUQ4$82dBq+ z(uh}y_sh$TPM;mPjNhCMt^)S$>22eJLC@>OOI^m}7wWE0$5I4*iLRmSt;pN)Bl&&7 zY=EFfK^df0Y!cI_Q)<85{{RxdHrk(yB4QHb1xW0+0Q~tu2Pct6X2ezE+ZJpIJ0~=u zE*0hpY1bP=jbUu`R-jflpV(!R|cMyxnPehPSTjh=f?!C|V^ZEP*(!N0f-E841rMk_SF1 zlcI8k=(K%r^y+7-zLwv#t-AE?oS$)Ep^J-23oS1>!3VleApME2#jQ=~hOW|Dg5hS7 z9vhFsc}%Twt}H1EAom2QAKM&uuiH%{tC4+-%Y8?aD6p6IKGqbZpE(?7{@mnMVXyxH zg#9nB^@Ym*?UvZ5XDKeNOGXr>Y)B;FcO(-=UpC^1DAVI6akNl2kD8hq;)cX?7#Z_K zQ0Cw`u6Nngk9GmvR7pV~9~Ci94mB-S}8tcd60yxW>`XPtAJ-q_-! z?EzIOrEN|;&@wfxTUFk@>hW466T6DkSAmKkv(+!%`qpi$Bvyj20=Ke~d{zOuUB304 zRFyoOf30Ak6M^=rR-_jn?dFG&`52+2jN=s=WB4kfp^lpXV+Rx-OGQr<;+1WdA*n?3 z^I5WxZo!)_-bd=?YwPy+C_L#F3^nEVXp*QWBq`TtqgUHH4{sS5!{yc=$A(rl2=51iVQA zZAd)eeW{8bk-5QUP2$^Xa&!`d8c$6*$UO1)1PbPIzJ}tG*ke&z{W;dUMTs}ajM*-4 zxD@rq)fZu9#Vcq_gR#%YKQ%#mrRh!I((C%-%t4cDbwlXxjUe=22P6P{1%cf)eJRI@6^)Zq+qI>V^=i~MnWj5Zm_xdLYpI7C5Ghle zlHvD)Fny@+fCh6~IT#*4W0$0jWQVH#o z;;rvbeIL^LgITd~()Xy>%_!09t}KTXm(s1IhKRs8&OYFGt0&V<4)xnf>MLHNyiJnK z$GQr){ZigU00>u24!Accf_t3c04bAg(JJDtoFi}|GtMPMASaSdTKY@)XTRTU5cM9R zpKsEdUEr5olR5l68BjP{Q;Y(Apal?4;a3Ku{tcl1Ad8K<{^P1`^g3bAVLdgWDhg5* zvDlHuapsu4Ti38G5?oY?TN-VJH5wd*?}WE|G?lag-;<1E&JT*DnvY;#GtpIPeNk-C zu`V|#Hr~C`*0y6?qsx$^v7*@pXbC57;z?JWp2HNosWp`5#p2~^oWx@K3%4g*X>Khc zKqRQ7XFF0)kJl8T8`4c`)~1_!ylI=?^*guQ+HT5@or+@Wt$)= zhTj1n$y3Ey+@-H}GtS%!q9JI9trtlUXS5rc3FXIq0PvR*aG*Zf^H(pZx|Re>ev|bI zGt45wfGqDS3yV@<&1)ecge(lF+HiTtYT4>WpLf(0!Pk0u=rP#3Tl((Xq^qMYOYH@9 zTuWmh`%}2{Y+RsY<87*pMM+E%U_oaO@ z)h=0ET*=m$6Xh_O5G^jsNs}lkB|rp@#{>QTDxuc0WidVbb;=XaCo-bjjXshHQ0_ht ze-zPjOdl+Y$lTQxkvFYA5VSLw|_tzU7qOSJt7WftVJlwtCp<%W_nat}Ej zziNDvRFR_wwj%1dY}^sKU59Lr)PW+`6$RChl9U6SeY{hI$s$B{_q&a#0b7rAj%dw? z(DyEI9=z&V59!+{NiRlPTIx9^MO=FiWQ=p3NHrc@R@n8j!SusOM2T|r$^`jVi85na zo_<}rWQ@sVDMd|`qyh>^a|b-|0HMC8>iL%mNxjO{uj-uzD(n9M4>DH>(khRsjRjDxJJfU-nkf`p2sc38^jh^kLKqqcN1Ddrb zdcS7T7aO3`x_N_aQj+`9QnMMS)RsXGAt$lgpbC#FAZL+Ff5m366jn&o8hcAywH>x@ zn3-pfrreDh({8-7E{Kn{h4o~T6r?)00>A{F!~`D{kF32;iKt>joFm+xcj?_~LKu#x zo|A;-AwYgb3=Ag&0DY*YzxAU+{{Y2KYP(b!cOdHl!8=Yi{i~rg#*WjhYs=m3_&4ZtoneXcq)L<>x4P?! zB%!tPrvX}t!jwQGy>Z=v*JWPrZ)lrD%Z&KaI&vas zDlC&KNw>7pf_|i{ZfmJ=ZM}Bw?_Js}jFy^;kLRnX2wGNEo}fRJ&f-;#JVht@2C^!J1#4BIg;(N2Tl~Y zSWjI+CwN&rwlY1c12mrRsj?wDhuO61dwg}U>nWLXQk5rgj(6(Qkf5(8+D!(!rFZxbhuV;-=KJr9R+B zKPVLOrnODiTS1QW7>c_vqyz|Y)LTd?$Wp_Y7;peKr#Ml~a>lRJ@+LaeZe-Xq#ek$TrBe-cC_eQU3%goS-l%8yB71AZ_&amH$s^rAe85sJ$Z zx5=88Lar_W3DqS>`EECZwbOzUqvw-XZn~89*YRj^WiIBJQsb^eI&g^2M?%mE>%5>6 z@IBN)CyaNhSJT8PjdOChupmY1+}%=^5U1O4jzdqN{{V-caG)#Oi_<)J;JEG2LQ@mv zLsL=bM|n})S|AxxA*PyYbiQ6LV+roDD+@pqd1ek>Loj+RqxL~`UJ6i6yz z&{R_Tvw}A9p8Ql;bDTCNiXXbnbrO2N^3jkd!%tU~?FZc$e{wujp{ZDlaV{BhVmBZT zgsXgI8+4VGpXIXN+$HjODm>KKMX1&?^Hxa7wQ6ZHtxmToHuw zAtZB-GfxlBjVt2I!bESy?XE?BN|@a9a;1GiDo9ke$3>PL{-lRmc#QTAV!1Zpv!T62 znQtH>B%mfRgkS`2Bq<*pC>}obe)>(Tp1yidWRVC9oS|(}5e{O2L(pGWP~N& zJQ4S*i};$;3ARa1(mKf&$!ke;j2DvT3Ww@AH1Lg2gZ%=hQM5{#D7wgz738Fp_U9+| zr8};pn%YlMyn)X2{C~Y_wA|M8HdGQ+Hi9u$_o5z?FJInc+-9%^t}C5KGmxiLo>GC1 z-zK*e9?rRB`E0kpgAYt4*etg_WqxJoGp402u^D_VnBhT1)dBO#$9xaHTbGB>ok4N9 zwCW6xr?y9q>;M-z)|b?HH0VF!rNW#fcnRH*X{ys1aBU4GEvqSz(ws|p_Mt^veDVec zenlb9xXF!jdDmYrh2*4L$RAxm#XJj8}tOnIQZ;(Ae111iSib`mgo{KAM> zm1npia+Ph=a}x0^vvX~O){i+(dzoV@NW#)NBxeWhQ+JIt2nM2?@Q)bH;Kl^m?B z#){eC6r`ke6nPa?PSo-t-{dCB)ABB|oF*z0ARd@niQI5FSIIxMN%couO<*@?wZ>p2 z^rqbflr2RuTH~k?PheHS&&S1C-k$m>)tWVhi<;RtS&ptt<&pxON&xo!r~#b+0Hr#L zgn7@%j!shH61}&2J$TfTq)WfP z;F=Y!b(~E!&ZxPybKe#OcJ0Nuj0GvDa1@dAxkyIRbBr33%Q2GMqhcelu9M7S=LzfE6 zdq*};O$?E>rhazYprF{y%pY8Mgs?YUr z)2QB*>iO0vvkTUV<9t7;_PBzQ2+8broDBWyshF;_t+=3DK1Fh zlz6Tz6>hkgGg3(kPV#x|zdKLZ(d*MJ#+xD7VQ6ExQj@hua0dsHI5`}AQSCeEjpJ8` zBz4+>9ViYJtY>g19mfKrYMncA&=()UCp+~mlf9L;>OwcDZOV^6GBKK(^;jp9;YLZz z*gxrW#~;L$T93G6PF^Ce91p8X)`pg}rP%ExNC{JWLu*!Wrjo6y?U9l^)H}?lq=;+k zGShB1g}Q=D-%?ys6jp*yPX#9f10x6er~_9wZ7M)RNlccMLQ1W0NTb49eKGj z?ggh<=t(J3l&9N9^p#^MQj&SvM;>bAya#O>h8vL49m64%pbnXh9ZEvL$yVY9O0mGl zY9R|zKPoF>HujorDoe|HO4659oF8ZyB!WJED?K>Gh|D4?QtrY~rxMGFDR+~|{{Sh$ z!N)xFMBleEwj#71M1so+N&adHZAjeOkdO!YR0h-TJ?ef(-2zjqQv>Q6nQL5Sxzi20 zqL82tNKns(4lp=49jaWdP85VV7-^-YrqTjn>_VIv2+ES?MnE8}cPAhU)HK3k&v7NC zw)}J!*2dK>Xj4NA_7Uv~LbK1FYcZx9XH6pFnJESGgu!LSrF~_gN*f96FccI) zHih3t$=aIL4aJz~l+w@&V<}8Jl*P#Q6f1bj(z4(?fk^}$=9QkjLyIjZdwPmz zYMdYq*#$=!CnFf*k2|7Uwr*jUjOC4nHQqa(AYe*zuWxi9NIr~%IlU>J6U12#Hg4>b~=?vv-N)Jn?z#V}{vjZ6< zAL$sY;M;B%NG!>9%XFvxi)F+mTT}?_PBY`2Q5`9&?iQKQiXN99GURUz zM0=d)a+EiNx4)h-LQ6wLH#QUZ_qBz&m(+`dDGKPi@`mt+-Co2TjFqQ$5_8)gF-{(l zN}Z}TtP6`slL^SOS^A}wf?IHVlpIpNcAkDJvevrUt0$@2mFVesGa=BXB}i~B#;}Bf zm6U(^4)5+>T&{$o=t@*OH^_S^??J9GJlc>O8)r{GDsLe$oml`hYD3uSD5 zLfT5%aO^2~D}^aP<|K@KRZV-kzoPBhYh5(;s@VrjIOJ=ybJ$xmE)d-*Lu~aEl9V>J zdr))99x28|WLxbTlS#Q3qXjRb=+I$lc_uQ{kP?;W10)xf>3Vs(YK-pfnY z)}#_=EFI;BSahWiD1pcz91(-XJ=*o0nOC6_!5;R_&4}oAVr0IFEsz1r2`UKp5C|&I zz~ZpGUagvfQFdy-6ba=G$ag4fj!F~RCmw#)FVib#p0QhPsD~Cq4Mw;~S|V;Ea^&|| zQSOpJARfko$fW3B8#H=(aP5E;9b5h>ScNQ?0M_7V>u$wsDmAAXi+X zYiUTpS3LLmsxs!pTdY*bDU83NUiCdTK32l9;Rld-BOv|h^G{wLn`ManX5Em(h}@S_ z_`<(ToYUKnLdpvv`TH6ok>Hv!8XA<5#Sv~Y0O2)|T3SC9Co4BVON3(5vIPxv6ZfWx z2utZX=7P+P)8tb{fr1oytT*F7?O8d=HK|RnleFXJs!Yf$Cbs}mj`bC@@2SNkq>ZGC z0b3#~-o9%Eqs?vFLe6;oYZn#|6hK8M3+Mf6Tz3X>P@EV!uNrWLf!eb&4>cFA201@! zKW4Iqh${a8S{bJj9eo@7Q}Q6;vcBUSVxr|*ETX$2Eh+9m!g$3+O}#IYym#%zOP3so z;aMY|YuK_BR1%&>IW&#CDMT0S1;93re)XhAawF((9lMHgh(oGMN^%l8t+H)RycV!B zrFO+`K%i7@LG+EGw1Sh{gXXM#5jOJ}SguxO&6he{x1&g8N!ZIkfE)I9$-yM|#%WJa z`d6s60@E%Ho!4OalH!uuG4qmpRkZh`a}%X(%a?m@#x0Z6KdlMP`-VVLSK}BR!J%6b z$$26(c^a=$TrG_{>#!SWy5y8$Nol^J4y?FG_<=y}PseIlyWKrKVl$7kK3q8u0Re<}k|oGSzSaGG5(-l(s-hxZs}MvsLb%Z$@c- zH*vip?qjY}zM3>kyPa7u0R;gpIl)>~IXUb&%`9na!&d9ad6YPbp|mioT4IIu5*^$W zou~4tBRKnFi*ywpN{fqFU!T%9d-GCd%2Zc$@`#LG>bkkEklGqZ{;_~Ce0#Eaq&9V| ze@y)_x9WSnp|(kq%v*Bj0I?CUfRwB#=L*gSPhu*^iLC5;_gui!vSHhuN8!p_dr$<2 zLX(B1vE8J$al4(_BOFy%>3*iZ>8tI+#d~Rm==jb))xy~}5dLNspp~8f0GU`yNgM-D zrN1BaO-EGwF!a;b?Op26sNaTZN1t}i+Lb0n+1&I{1~Lfq&JqWcliHm%hLdXRt|4j2 z?nsBDmow@mDW;JiN|05(O>W6j8z=gE0yy}m$MkKG*qe)|)Qv2gx|>#P(bC!i#!6N~ ze<(S|duFI9FUqveiyp;)G2*!>Mv%7w>z$Nm>Q;)mYK?0v zLQI&M)@D$t43=W=5qDuoK|)6hC$T4xD-9PK@YUI<*WC#vP@_eD*ly5RaVvETMhX(& z^b?cY%|H65t*(}h3v9dT+tWylA4Dm$SpjYp?b??fSs4Ie7eQdnXzVwWwbW4W4a9?OYD;Nj=%@66GD1{C%{*24Qd6}_$DD&yow7Z|k0g{731tz8xgVW|c}T9Bjy<4w8UK_uff z(l*~jZQA!w>o`|kQ1G$d9Gs%O&^MEdD0wNsyI)FChL@XCrER_N2vs5&DMB zI^L;JvB@G2kSS}u^f!#aCXSZ__l+T*s1)b&A@ zlof=jJM-;Ga|a{3j~*$j)E4yoJ8rAf7aL8*H|v_2ThCqs*A=M-J( zlS-)28m8Z`E*Ba0Cg9!e>`0E>%d<&eQRiI*y&M8i>uEqi$sA;Pp*nB)h}CS|?~(6H zO~dHskECl*pcv5}j6cTCa@tk_;1hzNMJ%~XZ?cJdGnVyUp`6a4n7Q_*?VnHvZK+Pi z&;oWSp&hdw-t_`j;TOM0ZQkJZ1vLB zXpgMlYAjf`XE$$!El`DgeK@|f?`eLnLX}D_bWqggLw4z=NqCm^4 zl=25CX_4TJ0-`+Ery0kBmq#;;>SrL5(g*)fQW!TBBbgq_(G>!ECai4p6YABP#3=td408Ppi=r z>P$ylh;90Hi*Sz)-xML%AtVpZ+hc>jjo+;@>JL_->f2qO)o*j91()Qy=TSu|SahIm zK?gWbOcVbArxoG)$W5tDuKGQnLpHKT7q1~?-xCkol znIoapTg6_~n90V_Qj`vS^IPt7BI+1UB0ahHr$%us^<0p&hFl99Ln#CRzh^s+E97T} zpBXP}{{Y`w{l2Hz#$1)AL)O}=&86=D0Eb4p$ubn_S4nPl8)j33Yl=f>gS+z|gIaE~ zRQ$9~eaUiJO40Q2<*%e(Eu;KZ{DhuB^Fyvz+c>&Mko~omudtkPO~`$+rF8)JfA&0q zN_U+{I$U>^C2Dqbk9YG~Dlrld^s6}MJ}b8#9%?k5*4zI8731rF)a0IC7j<7x^YtU& zo?Yp=jy6Q+-ceI{2dKTPNLC2!GNFO?HP+sYTAK9o+i8bAYK*w(`fj7~1L3@m3Q^AN z@(ITrkzB3lew4WSjju$MxDjZzsRi(Xv~E0O;N*9%(bO@Y^EsB`vMzGCr7q zR8)@+aH2r+PAlC|_)$iS#5`}!#>8?w&;ThPty$wvI)m?6p z65w^_mF`P6^MZhs<0=Dh%}~&nA`h!~K^eKIfhrR(wx)8+1Sk`k30LK8_Q3qS(?`$g z{{RG6g8P9kS``(E5$>0#5)k2ixd}vwspt8MSoXYu{V7T9;)Jn$j=Q+HL%vI9MBbb; za+1&g08g5LRqT$@;SY{eoN{wh7`4KYYO!0VBHku!6A^2S`u_ms0zc})+3n8a2};Sx z9l5L-faJONJGffpxXVT}kNs<9iKz)V1F|ALla4v(H8-J<0ydtAn><){`&Or2vJAkc ztHvwSnW~ewW#ej>s*A%Z2`}Hz0?fsmhU0-oZ~6VcH)(Fdn>$KpJmzUzN6_ua?rv) zmfHgMP`*dUG|lRz zzw!M!aEP9op|Fpnid<1r*7y!Ku&{X>11Q40g^H&A6}WvDsWZf#eS#dKv=mi_ia8@N*_ z4@vE>>IN;48BbC}u86=6*&Jk={Q>m<07}Ku7D#s1*Zi31*!e&JuO8(u?sI`$*Zd{= zZTM@KO+zo-?^($9*zThNC0y=Tf~~dGk4jCmPhK7fk<|@tLu`Ou>NvEcYDejl`c}x( zm}Ms7qJy`4vTg8I>&kVukt*DUs@^(}xRp4Rq;2ubo6r4;KQ&uTzB?WGZv22Z#}#Brx^3sXtGa}aP<}YbE$5+OmYhS>SdsLWho#ho_;B()KN(JWjn6tJ}>SSz-n5oOt$ii*mOM{@LYFs_c@Nh zX9kq77i)4Ji>ItMi-DUBw;$a!6gaf2-@Vmm*xEtDM;W5gZL_tU)|!|0S=jIh~S zZS4{K#JmXikOvgiYV_TmRAE?cZ%TO%Wmh*@e=SJfeW`iR^PW|(9ssVTQPU#ZcF`Bo zpGTT@J2&g&q%LFZz_v2Bl%%On9nKZw`gQ`4d}lS&X>aLu3&FLrSYqCYkHe0V^qB9y z@aVV|+h`k-KU7-%K-qNa&{7>0)4~`*B(i{j@f9%MN%O{xFL&0k=J1e@f&hY z!bA55GNxQpuH_>qCj|&3_DE30R@#?3x>c?UpG&Q_Q*)f$RDjpN1)cu@ISN1k{qs%t zsE$iZu0n1+Tai;1$e)R2L2*zrrIZ7V>};#`Jkpkwl8s|vzG@h)F@BES<^!mX+nolN z5r@(iRCvk)m4H911LA~#@)`RUqzFwL?ZK&yF)}-mZSz};73DKM#09CP7ZK%xd#AzY^Z!RUNNs!;OK#3P?f6&S|?<+o#(ui;7v4^X*8N5n7G) zBuI{fAuhJlW4e$KN^{%IBeS9G*6*WC$Cm|xB&HJ$OD;H!WaU5%tYr7>GhA7HPA^Yi z5&r-s-{0Ts*@x3)^$qY}@D;XR(+P$hMZu*d^(D5-Mijypo|}%K_a_7>qwIbve2r5P znUR#$*e&;5RA@wuwB(0}wBJ*(17SOkIp7a9>H2^E zLFw_sgrffdr~I5bzXQ)XbBvPx{{Y~xeLdAsueK=cy)H$bW5E#Hiqw^sA5(c#h;(oO zSR(_l#%teIzYTH?!KAQJOv?6 zAY*fVGEaPWIl-ly#h&eMTu98@QrHin$I%^RqCwk+!a~0)LH8f;UQ}}8o_~pnzj}K6 z{=cc~ym=#w;pAUS?B)5bshLhNqNKROjzYN3IVAo00~E(%ikG8?+$JI%fGO%E%r*&pQu9vvbWYDWH{T3jum zD%}9SKtaE-xHjMufRKM`hIO+y52tcWD64Ih?rlMk-tDJgE8C65Bic?fMN3Ytgv^&? zq7q9;E9o?sa2W&LwF)GhX9u3+gG?#xMkmK=YYJ`TEyf5+SdyaPbUHGXD?apu5>?I* z6_TzKqB2}9HLd=_6$&T^>TddqSDGj=jwH-D0AxX|t**%3D6a@aNl_$OAYP7#CGjEX__W`(VE8Fck z=aI%KhVc|Qlqtlx>OmV+qrp-~xa9ZA{{VVajL4CzqDBb}G(jpp5rL3N_y(RLO}1NU zW9w~EeyuSV6u1db)QmduM$+y(ptzn7>BSy~mW}cQy+)m!($TU&bs+2kX;W$ha0ps~ zKV;HWhMcn$&136UqVuQe9&D_kXi9O^1aK5d+kxc zgHn-X&!#2>onL&@s%$5(DN)3wIh3g?Ae5^EAo4y371(~4T;l0(PUE`6)1b$3pqH6Y zNDB{OE zhg8`ZD&2yRM}TWT#T(HYe%k`$C8<|?d^OuAy3i>z)P({bDL<84i9B#>p=VM)ZgDPY zmmwK!pg~%4gy8;vkiWm}L3O^Wn{_c%^Xgm7r)N=J%5$D-GIgV&M|O1Ple@KjQ9@O? z1D(gY&yz+qUY%2R^*Grif#RrtN44OD<|Mj1`6HU?OD>^@sNcrJl~k27Q?%_I z^&(~B-*8ijQAk3&p2nK=@2Ky-)R=EbTSiC)N?F~tWAdncVy&yUr;r|KscobuziOp* z_LFMV>ZC$YNJl(W=Zo90Mt07O(>m;5ElG4KZ>0YKEG5N%gyKhh{1eU(9qVj6rPdPx znN!|j;H47Z)BaFYNFLrh5!$(9M*4!}B|8QS)JAutaaiSjDzD8>45eq_fN&_b#_^py+snn1= z5nn+{LIyaZtb}9(OVCBeEQQxHM;W6F)4$0ZM|w2NO^?fr*3PEUjN-GCV4*=eP_6Dp z2ilHB(;+PnXvG<6_D2UBs&i{9WQ2|@a%?Io6`lGDVy#0Tr2$Gx)wB*xJ?fh?(%jyU z-|txIzfLaKrc)*rx%cCjLqAZI{{Sp3kT6x-$mXh~sGCi(G}{)mfCl1g=5+i0@K4(n zbxHJc>u2coUbi~?%S%z?Gbky^4rdBOX~(#yx%d=LXQl2~TXD<0>wTs=N?Q`1crBvh zjuPJF=L#eq^*54=C?ch?KwA#B3J)FW-4Bx3N`5(~YsaD&dmW@*8g?Dl7;L)hkets< z1MqoJ^N~vHgdjBAq@_+coykBM!1*+nZpTe{1jz-~kc1y{myY!%5EC6cQaSxR(@ve3 zyT!mpG9ua`G|H7J&!!G7#Bc%t`6Sa5dT&qMo?K+1%RHc*M}5`%A6LqO@At=Q7qHzG z>nK!or6l1>Jd;dTI1AKw2CeK6HzcXoGmVX;WlBG_1h_+*&CW~{71!m*QA*ok1!s>V z9y?V147nEAw+%q+%*Tg?+tSRCq4f?cx-*ftA8<$MLF==AgT>QQ#n!hgEtwKrgJfIA z5@WNy1$Z1KcTW@P;*wCpkUNzO5O6pn#TWH{{<_q~G~=Ok`#J)^tuLykrFXeAot(wK&{AadlArpDQQ9&HKI~&S z6{}NOv}Uu38rdUJ+#=neAx$wTB^hP4oRvB|FK=%D0Hp^>)95RE5wx6{KB8S33y-$h zZIrP80M(G=NqKFQgtFN8DZ-qS{U`%97g1T$YK3ouYo8k2)Cs>%mGUHQ8QX_OK~7J6 zk_9{5teSl`nAZCYyR>+A`JeM0IL)x^=Ynz9L!{#b@K0@|f+!xS&{19uqS%RTF%ia| zRA(+D3tF(H^omEZL!RRtXBD*GiYGuA*C#ZZCH@k%E_KA0rmAQ2&`^|+q80}9Cj%#* zNY9!?*WRqkdK>oHjJbV?$3fQDJ@qMV=ds=ZBoILfIr;NP^~7sD_90rVGH0ssCPmau_`$ik03&&Fvh)mWezE@bm*9mlYWT=1urr=YbNdcZ(6^iAf)q=y(Lr4K(B4ZE(1KiG3?Oem zmwD$I85GkZ;}=-V`g`1{S6ydt`b1mjU1Y76*a%QAH6-ZL(xSb=9e4mGqWY zqlS3GcuvxIJ}Y0P{+1t1G@M;Ss%-ALsHUu@9j@+xS+}@_kX%s&?puK8zXKdn-nn=+ zZoHPxqxB(|QvIaHG6`u-N50&UzoUL&Pzr6vQg}kJ2qVGblC`(1R$FDR+Y)>WW!3wG zJsA+$A?UyjYGA>8(Cfbi3htkUnY@VCVk&W9=p5&2^d{ns4D{9K9!U;3DEPC@!XqdMsk|i0| zK`t{s+qCqEkzo8K%&^xucZlj^DJE>1eKx0xDM1IE)?Y)@(13o>nEd$ zkE>eM-lc0f7Y%{eW1{F|E!fFk6sV6Cdmdix#TZEl1A&?it9^PpA4^)sO4Vo7e}Qk8zC&m;lwbN z6%S&`AqfDe6n{}r_!YkEZPDJU+Sm-gZZ|va#cQ~mrs&F2n+i$-LI%L603Pn#0p6-@ z0imRNtnKF6Xl6Zv;)xGjL{j2fVU#6B!k0>pLO96@>=D|6hwe7m*T~McsWIa@^pD(F za7d2OD#{X)k?sl};0HTSd)2-Yi)t^RbH32)cJ$)Iq~P77>lyQ3kWxb~+X_l0#ZVzE z;PTS=NGH#6Ncx>nEE+-WI@QhTwpS#s=!h#|sca;+0#JuD?_TZ+A9~MTYCT7NdNil{ zCfOXLf70O!={JCPc_TcID!O-82wIsk8R$)f*5=wvB(wu1TnytOT=)2^Zm_(h`lXfbLx>2`#84S>5~Cx5t~|Ylq~-Mm~)X^7?y7ueceSF0ha9SH5rKgK0*j7 zD^X7b?kB%+s#?6>-oDClQ4oOPR!SRJD^Tx|=Ap>dG9uZfTHv+xsF$(Hs#qJGQhX1A zo`1DzMafg_cs>u5dMub%ms)v?oH#}@zm|ZQu9nlh4DY}^XO4UkQf?PkOcsnX=hdl4 zsw7D&OO6xy$@%l}DxHI>8jO`9U-M9{rEM=bBz~VYA-zWpZ**7^k-d58Ax8= zt$8^;3v#;a@7(sW`uM2T{r<(Zr(x@jZL4j%V#bzbUFSYxvKe@7T2wOOLa~t09I0Pw zzHWd1j?4Uw2`zDT{0X}8uX7ft?d-R_6P&TVUhuLzEb)=s2O&rJC-lGM3BuZ_~qo*YbDOf5T0+j=g zoK@4SG?RMgMNP7}(IvKAay*Apa~Eg|XUevuOt*w`7GK@%%N6dN1k|nA$ zJSaG%5Aio7{!%l|bwhD28mY^KmBftu>5!DUGTA8#c&!8yhX)6CNbkEj!R<-h}tsz)2Kq&TaSsULyfw`L?#T! zc_mST$PK(kGD*cOUT@Zv*q>eH_P43!GV^yf1lL<}OX0WB&Kt%#4ilf&pxLjgfc3{s zTpPXI?yqJq;mjmQi#cv2?O-SY^y&)9QA)ko?^W)y)Ylt3X|k&2C5Kokk0Q-)jGc`P zU;^REbx9{2+f?}0_<`gxc$W7@G%Ns~n~a5S=&Qn%k_}hd z{_4h}vR&0|mm^X{>is%eC+XOOH9t6k|)fw9F~ZV%vB|q>$>6 z>siVk45?(LMOencx9v%Oqu-=nqoH@XFWzqLbvMt9(``jjZA#t=NJ({JD{LI6IZp)9 zjCN+qqStqOM*4+hzB1dfV!JURPcnCJ%C@?8p2vAvJf5 z_N7}U6Dm895MM$Eh#gX8>>a3rgY3*Giz?u6|fp9SX*RdEMpsi z@y8!LQ9HWXivSlNTqah_MaztADQ%~6N?TG7Agi)??UP$uj=!Ot*=60~k+qaK0VgAJ zkWY^E65%B*s`BG=*i&ppYErH!Na`U$f}pt#j1CeGzz1wsC6pjuCB=(yn<{Q%NN`7L z<#dcfnQ^2#TM<+TW3$?L#uZg2rFrX2MpZm64f$w@r(rhed8=csbrIHV@qp+9DL!*n z9qKw?ZX1z{4Zm=QE<8e3wZ@PZQ6&p~3Le7eyo~lE1GQ3KwrVJvX;=9XoI;%IJ92nD zqO!LX6ymm%$Y?D?YIz?NyKa#2(z37gn%4fO^%D1ZgKifFTa>opN4PCTtTp~3GC?jl zP?e}B*BWhi9i1UI`YE0D?-e%!nWzyjk!NmDZ-}_71aj6oxpL@e=@rOp55!DYtZBpOC^_3lyuPhmxMkijAf8L;5jDGY&L0DNkFA!7d=JS<0MVbF-2$lZxk* zoS5lR0^vSnYeDM26`RJQnv%-x@f5V>^Z^ZOAN0#@@7}-D$)){SdJ3B|L{l1DqP)X46)7JuY3MWwqIswKDpl+0??LyDj+A019znj5d&xLQW1&O&~7u z_1?MY%{I$$lMdGEZ<3VA0DVe$8?(m;oDO&t)2yWb0K%GfeVu=d#Ez@1^6|Pn7VM<2 zY23>4P83!%f)B{5HNq?3uqvB>u*)7$)YlfSalyO3w5<%seey$1?Eo~`PI91l%D5m@ zS9Oinz?hP?3sA&V!&<{ST&coT2>`g_hB3iT-UuMn8x(ggmMJQ?ZnjA1h;dE5;LE>L zkaiSfoxl;e@;i)C-8AGhX5C0N1SNgMD~qn|bT_o$ya z%2VF|0GeOR^-HeL&^3>uB57Yf^$^>$WZKd}LLwf-m_9&<% zgn@+`6y#ST#YL$fTV zGM8?SOnFQ$6h@Sd%!MHC1mrC(kJQn7FVyNd_jMgd8uEv3Mj}M0%3(rOob=!MMxH9q>gx6Ka zC0m#!PAjH1mZWY79^cKLM{GiqJvSW|)z04*bmWG5D4!((GA)fV@eQ{vDgI$m$WAt% z-2Bwje3GxH_w(<{9K$4TOP~;QoErM; z75EIom8+g+0hZ#KS%}iyZF@!&)Etn!j~_KY?&P@ozSyKhi>b9M=yAnc8ed8bmdFRG z5WExqZ?828F3Km>Z${On?9y)*2r?XHD?ptEHGaZ;h!7$r{SC;^I=+Duku#$ zWWk)Z1B(pxzW-La?$tBOg2uy(B}7)5>f9 zWxOByZUT|V-|s~gYL-UTwCWUuj07v%G4Y=sc(1Z(`9Z2ZqjDCdJrp`Z5bI}gQU3rj z2*)HRiiY)=u-ut3Sd6%8UqmPBQb-uwk74(1ALhn0#%L1b%#NIA< zN1bqBt+f9DJ`>mgI8*@7W5>sOI~PF+T4Y`>4MBp+CC!!7OmN$Z3E!N$pbi4E0T}V( ziQX>1PZAtf17)V!yq7l$T3l|Bp~6(54VKl@BQoB zoZ~6S(j8|iaFr!04XHT-#_Pv^(HsAI4l zg-Fp5V>5e(q=w%uypmGxN=e#Q4U-oP3{}tK8Y9y+FRMV2WJpGrjoj zlqE|`dES(s+07ljdY2u`bf$9KKsM7oX3iAqQOHUAa%ytfc+wUwdcCOE6BH<+NjN)| zRM_jhjl#&fj zF>`th+KSoVw?E=Bxp2~2eI*#|m1dPC>tm`KB?~D^yQaAlLth_p)T!4AZ?-d6WrtNT z18pTG3LaBa%HReq(ZA)qTf(nn$ zIjMi~b({Rn58PKT#gpw7;*oKxJ4$TuKWbRH+197`pnlX&B!{;EuHQ6ehS2EA9Qg*j zZjLcXu;UE=ToK%g#hDHh?e9(xz-`3-QBa(;B^-qQ^iv2jJjIXA-m;SV%1V>Z+N7%8 z*p6yT7T&T?irNJNtx{ZiK?+VO>faEdk&)k;RT0w}^yFaXnxWiCWg|U>24obmS*`Q0 zO$&y8iKMCbQjwCdk)6MM?ARiq7K8Pe)uQO3L0=8F>RG z4jwY0x7i}C5SG)D%87Gx zX;F1w3EVgw{{W>;yc>S3wz)rQVqL8vQV`yKqvyBvRXHWsS$WqTK|&Usq2QnjPk;5s zD&Nz0m~gbrSuv2Sv+g&&?_yK~ir@qKQF_>|11*=?5p0j&6LF6g?5TZp$$4Zc;s!cu zPh|o-Vwtrp`M0ewT9t1^ZA9WzDr6-kJvAM^#T1i}tYah(9qJ~xgKd{#v|M7nZ-F*G zTzS{o;5YIc{{S|4$f{E1A^9@o%!f5@lr*_Zkf#)fomO$v8Rs5Aqu#y6Nj>`(W|tJNeO5yAx-ZGC1-fR z#s?H9N8Fu_Fx+DaC}I+WZ=k<|k7nWza7i7%T6xtPvcZ1PlA>E+#)WWGe^RCz_87=s zLz|J?dBE-8B9<$|G@jEp>ibTTvPDjyxJi~1d2~%wvf%0|L9m{ZojKct;~_)8G_ibj zn`OE!@95dOY3A7yLYoRxn^S^XeFP+_Be7b0j2hoDx;R{{W`qGs*|Z=9gd85q3WO*O4|tUQuPZO6j+SB!va}Djp7h zN+*6q8<}lz7KSD|rL?H5BsSDuatBYq+s1oUf2n^Ex$JPX*=dD_%40XvN9uFtoh07I zdRh$Hy+yf3egxU`3jU!$rAOQYXgKLB9_0Bs9MihBL`m9HQs_(Fshgdt4hfN!7Frrx zG7;|Fhc=zg1RNBe{EjM@usq-5k|VztJBe)yP}&lHK|ddACu~TAEw|LuPB#(2nG8C- zWRh@k-yCN(Sw@|$3YvOk`Il)8C+Tgn8;u!DLPT}Dg)|5!dQzi~c*w_aIp&`~hp4)0 z%c!q9p77jR15U$Ch>Ce6w)5oR$$YCJDo%ZYKd*WbrtTJtJ?~CPmeTGBxHzEeGLVHN zsAmKWenHst!2pVMv0Ux`r`zt9OT+MV=9P9&@|d=?8Gh%pI6^Wo56fh9ZrG&hYib=+jot1c#l@I`wY0oJ_n~>= zJa!%^3=L&Db@$@jXc^*tv?BUXYTEAml}*YDOlaOg<}9_n>|j~wn=)<)e6~ca^VU)QIN=g z+LzMSS{+4TD{xMEJ@fHXc=%ggvWfHYp|4(CUA5jn;e9z`Y3mN(#Fc)Sw9Jz8`~Lti z$R!v_;~^ty^GJT9*`B)SJ!PlttiiTPdQ)NfYa}7WrC~>51KLT(cxgaNY}dHfyj_mu!@jIJoju3W}F0DH}%RD{52+w;1hJ=B2*e^;*T!?>)(HM~)ndRM+!& zEkkooE4K(Z01gOEWp&ihCfh8rqFWw8X55&{eV__d>K#&w7N6-MI3-8EYraX!na>wm z1Z%lhT`#HUK$hyhzowu0fSsXj5D38XFmaC*lWkKG<3~$M34LK(l&lc3k%WQp1s>Eh z3zi#sQ;fLU9eAbW9m@_Y1w%dd=N>zXAEi*c-NoLF1;W2=n6I@f?W?B}LRH^DO}TdBszD$@NURsnVV9xayYTnk8Q4 z9N>MbIGdc3k$jboE>P&3ru5{!XMc@ux5aW?mzA}s>;k2{uL(#1l77G%w(Wnx=cwAU z{W{vaVbSnmAuFAAz3*x}L0kkONf~v2WcKVxsXxQ5;r%4`powmBEsIs&t-{}Hz0Qul zqyks`)v!SJ64@hne%Li|T>WMB33_7Rq;9s?8J6SQ*!(R@b*_>Z^y+7-ynBF7@&P9~ zC%qqORHME>67>ilcUCQl{VTBE9r%2Cw4Ndj1JUm z(v%50vOL+SGGWhY#{U2cksvr$jC<0o91cIWYLIJ6NW5zM(xSqBHxH(HbEG*ip|X~^ zX)S@=?d3zhPARj~yPfg-uAfDg$(xX%9`|;n+CHmtn?NqzNk2=-TLvJYoDs)7RY$$93!B7bf9Q%TjNG7X)Nj*woxe|2! z$xg_Vw5zJf3obGM+?AzX)#EuGiN$U_<7>eDsnhaxe4TMIhhH+I1tudYn-%M%6VYMB zs|8(FIZ@}7?av_dN8t+JGoLK$+%lYq;AOGgcitA zPB_OH&uZp&ilmu)-Zedz_i$=G%GIgumsu@xmbVwX2(AZiO0qk-OQ`)oA&rh!` zyCoXd>8GMYNlnIN=x(r=0R$;%Dj3dxqrZwhST_dQ_`F2RnI)!_lAmLW zDoJKKl0Z2~B%V9wzd&Nyqv?xOOEeJ`#x1il9U0CK=5gaQh?_5zpTvfRBbH9d$@I_L!w zWaTb3zFJ7ZPH?2-{GeCUCG>*i#*XB+BNUhVEB^qSN=k;*1bGL!_yVC?V}@o$xVpCP ztoGwDo{RL$ zYx1LcaBeB&YzDbE_=mbS_3}-Sv-HXT0F$;fzy)0-B>mO6gF~ zY=buWWVczDsP11;7G8<1rs-hkX$wD^-A>14eR7NQ#`F51kQXt84@pfJ2Y73Ln z(ir?UJI!G%A;jRNwo}R5&gBf^rC#-eu3TZvZs|5{w$Ae7Ickk=OKF_rZF>nHn6lD9 z2^kxdK&t-nCQaL*d}_iYp#?6qx~ubWDh)w zH|lyBxlfez2j^Uwa`P;vRQ$HK-cp)v&Vo-N3fghT08T|Y=?f$F#b4Qo>?@oIZd>gR z#Zm(dGUI>FlHpmwS!raI9()1XtKV1NUCzlJ=Ny?m4t1olbXr47eYH5JeZO>M4ERcg z42|TQueC#BN)gy@#Ow0QP1_uD-F<10gtZ}*sh!`Kesh-w+>zU#G-B;>vPcsFA4buDc~M<0v6(Y(Bl9k+W)+0o%9$4Qi2hvCG%i z=~w9P#ePkhs5*LNtCvxCRE4Pl=Mvc|C1_R#PEJlhB7*)D^Qwn3cA91!<02#0?KKv1 zAGc0z)v2dK8%Z5AzYbwp^Ti%!@pX@?rbo6(iu4FJ#IY>`IyPBcFJ%mjUF&ErXG@cNBRwYF3^{IfHwT?u*oltGoR-wv@z7ggzNt7#co0?3 zW0U5z+cl-jRk?S)TCCA+ccVQm>f3o**Cs<{-)k%_8EADdK zRW_}}IHmq&3=fh!R-3|^ou%%~&I`1|df=ua+Z|*j(J&OH&bII6l)iC-eWgbr)O{(Y zrdTa^PJ~u1Hp{dpWmumeYKshd4^{gPspG1rZ}cv%4wy*A+^; zG^=~e%u9%f96(E*R$5;qEhrcxfTau(nmDA?t#_}#``@1+no^5Tql&#k(5le-j&p22 z$%b7avS=`q_z_lW2G68%2d9RO17m+ z{{Sgbw*`Fcl5sS;|Hv0^z&7MfWY*J zc<Z3p{Oya=-{Ebev1sGpi))$&?;a+Z(* zB;?k5b;in0a5G1hM?+P!Ehg$LQ^MAcK5S$%qtzBs9uGKU%p7|v@%R*>^$ zDjw>3Ig!0Hic&LKs^*tl+mJqJTdcf-rtnk;VklC&jJ@tBHM$De;}53ed~^EN!jg>O zb3&~0(n?ZJKU!f@&{7E)$Hfa8fYKu_A zpg?ZNBFCiSt+8ZNEv`8FaHic^I4-zHb?)y-UaaX`QUko})i-O}nO-D5l;vl;g~e@z{E-k=YR012w+)raL+ zRXX2lf`mn3O+7MHa-=1&@;FFGViG_*lgB4ChQgqWgm#%q!)td6ZM7>rbG1XtNEGd_ zZ-~939I1D8y>FD@5fU2(4M$6P!TB4#xaO*&l!11Mx*k-hQSLKu1}|D9bhM>323`sW z+NJgjBgIbA7QH!hw#uJ)hblxiWF@%vW}PiGtc}HMR(Ebm zDdagKGRWAys^pyhQI5p+tAAd@k7jn#nD4%TrqtsBw4}6LP{??=KR36GA0m=*ae5vy zO;MEHG3m6o#B46Y{{YneL|HPVt@I_dgS%)vZE;v5JftR+Y`&e|H9h5WBwN#`(E3-@ znK26Ksh~2KNIZm`jzt{wa!f0}rn$$tL1z5(P@H`UkbmiNhN=Q8P(S+k1_dgUAoLx3&Rb?G(v^K);GE9dalWA?D zw^QyerQ9J2X(xn&NhJNg^lBd69TEd=$96l8HkD7@;$1_?Dg4MM@)Yr$9%%Nub`^>v zcZ&;ex2I#axX4S)fBVc`+$n23x>10zd}5{g5$UTBIds+c_-MK5*l^2GAW7Z-0Mw;- zE~Pz-Ng4CWt!i<$H|1rYYLv*(cIXysT0abWF>-s)Lp!BP1SzNYoNgV*KWeWovVNTo z!g?%sT6C^TR?EYGP@j5ANB5^)d+O3I&bZyJ*JVR7Qp<7TG*lZ_&8lR1`tyf!PC-{YfbemO=f7H_Tp`1k zaBA}wdof!qPn;WCmKHJ7LI4BW20h)YDI(*f?h<3(tZ!R{XArg?lFtZhHof+1iW>bWMrFq()813<0X|&NgO6W$?x5;u|gEX-P+k`+Eh1W(? zDNZD%S;uuJJBg#-oNDykwH40KKG+o0pQuA~92;ddFL1+rdv=r9CT^c zt%%o`9eaP!KG##FA3ZRTPvmzhB$3VqG3%Es8f_N`txP%iL25LaF(PI83UsJt3C|?& z0N@6R~=f7@FYR>cn_*X`!V%d4RYd^u` zeJZZ^w6Mg1I#I~bb zW834Q0WBnta){&*IOn}nU&M?tbM-RyWzcM{-E6XyT&F(a-5faT3x#I@tEe)2csQtG z%{fKIzub9aN=c%;^yN}DuC1SHyjsyccPMWO-FA|P7mO6RRs9J_0bTMc&C@=c*z|ss zT)4V?#I?n_wGqqX1jv4JIS#Fsa8!hhJ z%`y2YKp&Bw08u}iwRSxHVQFn}Cq+vQ+TCC-6544l0)+Ft;~PhTkBUsP<9pE2ZqlQk zZx_uwX|ZZ2A;zAY^^PZA4chF(NBM;8L(Qaf&*f8U8Nny-RerVgn){%Yr?oB8JUgA4 z=!qN9wFr%?s)~7gcl_Qe)j2 zZNzSmEm3-?D(7Z6-RGXwr3>6c8B?hjWv1h66Yj6B^tNtmLQ{E+E)N7mPTn4Er&EKG z&hOmQ6dCQX$5t$va+;3WaV;+rI+r=DRDPyYbPc?kDz-RF=+a#i*J044tbQMenV zl}2tX_&rz9WZIQ*wr&=z4a#lF4V|MI#?JmIPMFd6Z9}TkiPK;^XjFyXZ;xABdAFAH zAt^^mE98Y8h#omV6s;+Z2JCsz--YxR)wpD87?Gt(YD(Pv$t*T_4HJ@2ek$$sBThuM zXvE&^k=xsOlG}!RG8Xz`!Hj~Y#^w8pi;6)h@^VjMSt{9^@LE%rt0j)=-M%>fMY-L8 zds4L&DUbtuamU=(y>wr>UFK1Gku*RXpYo)Z#(#tNZTq30z!#eN9IzLFrGY6+mnu5@0MG< zV)TiP!n?(T!sg$#xO2#xZj{{V;o0CKZdRk3<^(mf$((-wBqZ-|Bd z8yXVOUUF2&7wy~;{Y2oeC)$h(v?anVd2}q5v~ARv@1Sw}O}*P$zoHwn+Ycy~p}|T> z>N$?c1mI`$E3m51Q0inswoI|vAD3j078_Gvkq+Oqq`H*#6cm3nht^5?N_){e_Muc+ zOT&v5n-ePUVh)H3W+}sh=R(r-}DZ&ys&oqGb%~CAQ*%~*=QQL_n*Qd^3K~qZB zL3v6%^%dDYwx*y_A~vwTF7*4-pvSnpZIYY%8+Tjj+kI$nz(3*yoT#Xr6?5X1C8{D~ zT%EWz8OV>|Tubsd=0QS2TL65OfPY+hsftwBI%{FLkR>u!kj$AKRkIvn9^ZtK{{YTS zWb}x3;OkLjTiCZNsNik3cW-p9Idqf98&B>&)aW9PvDL>-T4zd-#8CS49puMntmX>B zP~RQ-NY9M^lo!*TFt@!*v00ZnGMTnWa`A9=XB$*i{G=&ewjm*3{{Tt(6_C0`kg1x! zWy(WVL_>WHB(ch{a=AM|;Hc#(2klHAjM}GKG@bWY$r0k;q{jM&e-Qrw4GuVVFwsx- z5zn{Efz5QUk`Lef{{ZNN`J{(PbLQW@He%@Pn>EHw)=cR!E|P~34fdIf9mvcn?5SyWPV7@nx8Vddq7Rz3XW64zr&%G*g9c=4a#?mz zbbuXdD=KiwhZuiQacz|nJB})=^&b-8+%mb*=TDN`J!uL`-F=4I0V`Pl0H${>V2>HD zb+@AF>WW)K>Hy8HcDW!nT1QdDJlIo81w*DtKhz219jWf!sga?V5_D@kn2)IRTe>F_ z5V<8>g4(%BB%B{2srwGNb4cF+YA{M&bwSjT)JoeUY44v09DGybQ_*yusXbR?G~8lZ zMb|H+;1q@I7&ylO`0rjq{33R1SH z^NOghSNNAJq%?4*N$Z=I^XmE0392ci0zvH0Bdqu(Jf6amnD+%J6d(3 z+oX^45CBh}GfbLyO*Lq@Uv$eh2#vnj&aT)Tzs6XQD``FN7DZPxrDA#0Djg)FEL006&0K)=WY z;;V~Zo`I<}Y;6#ytrx9J75C<~8pm>SBMmYC09DYj=fU0IwLL{+QqR2T` z?b9^m8ORp6hZtbEoC39BLB(U>lU^=F(`%RhOMO%8&rS8xy*B*yNA&jl>+ixxmb;hY z&swERj3Y;#B2}K_bi3ubQrm9@9R`){2vV?;uNfpzo1OAYR^3Z}p2JpjDYaRoqU9&3 z>}O+cPEt>O%h;c9Z~^QqUB*gm_6zbDY0p)49j8+CdY2%S79;flNo;2uQm**?$LuS7 z))#HPUYXPvOMa)muISp@x5saCBe+&vcd9%Bl_eNG#(rxkr0?#nJueEH+euPXyBn4L z{r!4uueD4!6pn&!Nx3%_Ekwjtwzg70P$T3W#8)h9-4ioJ++TI4!sEL62t#KpZ=B&? zKGoLxx;c}1L?u4Ei|rvx3AUs)9SGmFf_rXGGxn;>)h#a~@oIStBc|?B;*#pJSI=@s z$n*1GWB5<3_%n=K)Vn@g@lQ$dpyZa<;FcIPDtcizbS$!rbl{{Xc=b57UT@K~}y zma7!oOoD*Jie3RF-R?a0X7GoJ^X93Fi0TP)DmsHGVAQ$&KdByHT3 z4CIn~iuT#0ZgLg6V#HV>VJA+YmwxH znb#P!geBgbzE25CjtS)Fy*$E$^s!Q`ae>Zzno!d^RoK_9symtAXQ&KoQz$2Ix0)U59qh_&#HBzEdHJm@I*UXgl$>C4X%AE1RXyU%XWO67JlBVk ze5Iq*glP!(TOwx3TGBGJ%`eWD-Hoye@S)%uu*pPtWhfa^hjZSlEpVQ+g`i}tj=)uM zK62vv5^IXHM9p8;Q2}{RpS=Ng{#4?K0F3#eZ$Wt+gqqYCd<+zGUbJBd=^kXKCiZ@# zN>h#mfHD#*b-mrIB=CMK2c-1WMmVjlN8Zs|d;P14j)~1FDkVifHH6y=ZY_ni!p~wV zAX3YSMtl5I3r`rakP?zkD4M_#^n|#p>IIbn;wrSSWYC^UUtaHUD>M3is1-6Wo zQg5NHF+)&FLS9lq=d}xlt&7e=N69#;)@uaabE=_QpoE!|UFo4tWF;ReRskRiu%|=P zzJxUUlcqt{`prx@V?cSOeG?eql_v#iQS39v>E5Yc19Vn$Zi-BVB`0ww@}y*+*ijp$ zzVR9dRz%@2^Ge!Ifo=3swtEf2902RY z$8A75mLAGf;Qs(JLGeUwj&#_a(_Yt{Y$df3oE+wvbrs#4t?9=bSt-CE;Cpg1Mm&60 zyE>C;Y{^QQL2Y4Mo=+t{K=?EtxXJ2_@6ZkIWx1uyVmcdXrwEv(C#Fwif;$uO;9<Bd(ued8#)DbCQM=8z zMbmagCT!C7UUpiF63RS;pNgOAm8Ro-)lES#RLlfNY{!m(3R2$Rb71`EIi=ez=^6pC zIrvRI9$`yKZax&G^MH`9NynO{MgFGQZE5x{x7(xxF7*yi;Yu%|hR3@LJ(QvSAdCT9 zF3eB2r%*jM;~Lp;dOVoTzth_tO)Uo`l5kW3J^7`*I`mU`xwiGecKGXxmkMCCrN~p6 z;AC)ooEorf`ku<|iOUQdQZEq{2vf5FQ0rqMZmC%r2N@V7=M^|Un-+gVl`YzDPuVB4 z^|$#f+*l}ixo;y8lHkcrA5(o63jApu9 zUD#~8{?Dh~)vjBtlWoJLA=_MZZaD=(?Llk1%3PP-f`qXVSSdq<3Q?px-1V??BBr-k9+>8W*ISNq#Rr#beqy`q$OA?>AH6^9OeKQ|X z`o%0^Y@r11_UmFktcMA<=yV!ULif*WMGhRF?t_QCJZn&{Y;i#56h zmQJTzEb1Gyzo;oxg>~9!a@b=WHVQ&=NIViVTO~HAWz`jh-b=IfRnJbh8CRP_DiGqt z`h>nDsiCz<+?)iY;OCAx_^TpJyEmw4gDQQ(<6((uZEmw~j8G!PLqiH}v?O87jsf`l z)obb{{kgD}Hrr`x+TNK#af%%5?|J^3}Z*{SbZn@w7^Ls63g;T5&T zZVY6pX-h=yAwY}{2Q?RQj=C)Avc$OR*t4WHbhn3*Yk?VZoNnC1VL^?f2}*DY=NZW- zy;DE&-kvu5vMjq}$dM&WU7k|PU1;seEv)-adw@^QC>`eEd9vP7E(#1LlHy9sP8<=O zkfit9-lASLlMpqWh;pr~itM$f}2Wa9}D<^xx~6E-)XeS zyTy#IqEdu~I0yio_{ZL?FHJp5k*aQM)A6H6x5-R(N^o3~pqPOxE){dim6Z%om$en9 z`*M+evf9;bkm^ETY4(tUR4@yj@s8cQ(9K~Y$92}0)FNnYwj(7j%4C2GfD%%1+z@g5 zeW_)^++!LUU*>MhC)BxewP&S|+}pZGyUDl9YBNvF!cp&cZ&4%00nQI_nnl#Um)aaN zWm@$e$+?iDeL*qyt%ZU4+!7N`ZW~$leFXApB(q%n+!5T99#D%k;ToVR621s z{a2``mzyj`al-4)hcJ+_*;vOrkL)V#^b<{7Y*!~QI(tZ6Z!_UWkhUbg1E@=?N`hT% ztZZ3H0H&&+;WI;9_13e#H>hKqrj)VST)InwWR?rc1oT?mJ=~CYV!DG~`j4u$7p2Jm z0D&$J+L$dxTv!&^Vn@*+V?8sFR5tOC*NVPo<1~{e9mFxB+Vulh`dfasUu}~##r|Sg zOqKS<8|Vn}g<8R4GnptV4u^gsYG- zfHO?~sd~q+EgGgP+F{mhS|KjRY^A#z6se9Wz|*K(#F9u^=XTMwahlPl^>wb_c++wt zTHIZ_L}v`ns!1)l2JEPwe>Y+~(5*XpjbhPr;@oC7>Mr+(C(VZTUJkG_pg8=h&fH*k z6(~1vmy)tdt#}zV{{XCN(Jm_8bDG?nt(J0^DjlvMLPJX%NeMyQj4LWhHO_1G2J>Xs zg|_uPSM-xD?SmQ3$o@i(;)D*{^PlynuTv~nompzR-sDAnpxhF~!)wk;6fhUG@>jI` zxhASqHF2`81-?;*AxmwzXm(=+ti(_$Axg#qNIm=HS4KD{o$Q-+R9QNwUck6|&8MN> z<|a}uHngy~Esdr;L+@x4;b~AO?^YM75iIx38#2?Wo^{A`oMJQ2TfdgM&$y(9Tx}@I zmO?;EhCeQTDK7J3fvxn!+q>~?PHP(@KZvz+h{$KD83%7m{{T{U`T6_My=STw4@+C` zY&xeR+TUj8B)u4x+8cI|l8!=D75gY2)XRK${(}3aW9d$fv0J@3WwP5BS8g{4ZdTRH z2qFd@C~ave_o)OUl6;>O>2Fg{o6L!BuI~otAR$ntr*fk$CkJ8A3C})$YMs)y>F{iN zW;1vB&E4R_L^c>hK{410_c+SEzs%jg8_CXlRgI*h%!6}rZ%mgy%IiTWM5PCQo=)wc zB!Cr+5;^2?Lnh?ij}0V+uTyLS*z1oq$go^r};f{{Z);5H^6nDi|Z5 zBNbcvYoJ%9eO0;I5e>NO3p1ijj*=4Wbt8a01C#yfRFt6Ck(z2rjsBwPx8hsoLx`4w zZPvb%U(02LscuDO$k7^ zZfy6jPO%O7ZQSjw2tQ&9f z679A9w^;KcI#IRvy6OP`0F_Dq059uSHmUS>=X{4T*X-*z1*|apj)kQ!v=6mu@3qu` zGB7jRf!IHXyWPnwL!E4LM0oDHmS&&;w%I8=O7|Qn0y`c>JC-@GnF~^j(;-9kqBQGb zV8oEA@lo#jm*t?mpbsJ9e>m(iGJe(8KAT2WztY_ztAuCZyr!hfG8$e4GPVHApm4l} zBw&s(4h2&FmHz+=HVp}RPN}^JjyoLvQxP0EWu-Qfr9Pq0ZulGuyWq}d=VsEoXS`%h zMA;BqVa?3X>qXk4?nYFM6yq4jCZRP2s0^H+X6uB@Vr^Q1Eh^^oG9*1I$nnb7{D;-i z<&b&WLPxZ5?Vx()*4v%ZdO{t+ef2Pgk40d~Wl3>Z@f4u+sA5u!C|_?zEMF;a^n)t;hW}0gb(e z>Vqnf#d^OY9m?vT=0TA2;fyR2i{{o8q$QE#YOoc?Ii+noV!G-}t5IP@5bhI1Lw1Pq zE01bnOf4>bGJwYA5(y)*6(!qc*H~)%lskNcs&rS|ks*tMl9=`g>uG3P(cS|9karMH zaz_*9DM@kpG6F~;`3f8a@sNN$#~I>})r07bFGI8XRbYc+ zjtoXDB@+v(ZE{>O_H7Op(STlXs|W{#j(gHA!uN1uWzJ>Z`*2f}qeq&9d)FjxTEd^iraei09+)+y&3ZjmSlM^qBqkhDN5RuB4m(}xc>lF)SLnFz^cIK9@(o33->XpDkL{^zXdTzMpH+&_>5rRq1#Qp1b6sRe6)DBwi@)(5e*5>8Tdw6+A za#8{SC<;BBMhWf8lxa#u!8Zm!2rw0g4`2R%PUWq|FC=%!JPtpwuce_8U6F5o9PWW} z#j>T$2}lWOfw<%lkV>}k$L2mNBtXI=LPBEOTAd6iK}?0K`I{N{DN6jsCnGB33HzEU zXvfi(@@0R^&9owXc+9zQYow)^$y=n5lbmt}6P)vtid)q(pT9?gXSPUq$DZO-^yWBW z35nGzE)sBXta460p#0MujZGTgZ;lZvI=TWn?m`4niEiyBETMmV@H{7+^Gl*K*B0q| zzQ=;QWXO*u?KkRHMchqG)d5<$?8LY zO*zr(!nYOeL(eGoUkOr)=Qsl^6IQ;nxp?G}u}DToC%0;*ZZ5esYiS`+99bXDRsvZ79iWdKXXNIDR>pl5 zmC_{mHx}*|=M>cTvl=UkKq^NZkdDA$oD)FV*VB@ZrMf&y(D_29x(c?R>KXC=)qC4? zm(UzZjnRa==#+HthGD5*$N(n6e3S8{T2p1|`}71rf&g)O&YM|lvsNH}#wl@yF_ z7{)XI0Gc;$)kra%a#BNzb7~OGfCy^`IY~TczdkFEKckb4{{V0DdS0K_M(O?jg^2FP z9}5YRx5Co*O>Y8%uy!b@f0QSZ2Xk3Pnu%8hhM9H`;qH|o;~6Sj`dI~XI}Q;#J_x%f5o&2&DpN~KF}FCC4z;a@6YBO6nnk(}3_y(UJw zJsBd9V?<$H*tOLh2qKTud&n&sMjxj$VJ z4wrRlkQ@W~q^O*gBph+Z1yOK)LAObo#8y!s>7preBEx{@(bXgK9OR?~_|J1rwhdu3 z>FyUYQ3;!bBOmGQj^ay59F&zLc2UZ>Ipdn(&*-v2@@w1s>;C|MwVhb~UOB2y?zi{- z3tv`Ci*&SIpm+4P;h#>K$Gwl|rv<)dkBJHM$w5~XK6XZ5TmT%S-5x@76NGA=fT z+qpc-e!lk=5q7OacS@82P(8;LTm5=(c4k|*O1IeM$Br3Y;`H*DCQw>}o%RoefC)Z0 zrdKati|RR7+kKK%+VBTp#K9E-(CjKbGrlw*Hs1 ztKxEZ_viWR=$Gq8`(&lPXt=ssSBAfEr>pu>jH!P4^TNYot z?ZHYCR92!rnc+hxKR!RT3zv6X&7V|yoiWo&NXSY-Cj;PeXj&#IND4_IVE$a!-&Pio z96;Uy%D!vp5;Lp@tMj z)i{t+dmd}_H$mN_Go%}7g(U53$LU=Drd(m7xRtW3^+sdx<*f`mv^U2!RwGl&nCWHJ z1t+nU4rsLbha&jw-y;dp8CrT6F&a)jz#y?a%90{*1Mz*BC5}sQDt5 zlMq|LKu$hQHQH`rsL9>&*wpi7ZBiN->Djwd+#Ym&J7j`;(Aah-90@At^b{8AAZE)YWZZ3nehw)u{}>QmBElk<+$>l0DQwKj&( zf&m%EE2rwtNAx9LEK7qiJ2^ur)doKngA z4IA<|SfV#6;-s7sDpcIs7yQsxl@d}#2Gf^DUSy;wq12vyVA1QEk#k|JoytPF$BJJ8 z-I3$#6|}UVqYV?y57e<3yD2JUgzp~gRBN)D4xudpxbQ`8w?Nt;RnTb}~@HT;VPdph`-I@A^orA|7XgXvBMv|5K z9qBVx-hbsY9I2EP;O#tvMw=)xYOPHUTu4yufqUC3T9UUiw#I(m566naTphU1abiQSG_k#x609k`ztWs`2fbDoYusxz z;ciHgF4~0`+i+ky+oa_rXU2PuC>xVxBK*>$DdyaDdjrtGA5b@BB|v^^-74ii;i^jr zwh0k-x*l4QlZ2-vl?-j$#~tfO8jnD7ExUKA3?ofj)ftu{-{OL)5sJD+TZiTf9r8SQ zsL}5dUR>4_DdOC>Q!U-B9nGllLICVf$rPcZ*_fSNsLO`T-2MXgLj(HU}spxg}EVvq8@u@Uhoj4A;Z;tw& zZTFX#QmldqNA&&Hx&C7c}oFt(~lq`?6BV0sVoxaf%P?-^R4CcR<>kWrO zQicBjit5i~-~+e0%_5^+yFXj~dZ*5b0ZRyV_lDp>;B_(B4A8Ars;23S>(PG{7iJcc z6sDARgshKp72_ZMs?oil~2 z)#FZBJwntLCtbb63AMKYdkb6A09*M_<^+s^_VBC~6u78%Fwrf*&XZ3yBZkf{dgQ_8x33lTn`Cm>mo#kY32i}=M zC3T=VUuRBU^<|pE{k^CbW@FlA!ez#83rSMsg(oY|e4Lu0hozStf2;~wkt!50`43ze z%7kV{PCsGe+m$UyX}e5b9*Kl2FPPGEkCF$T+6kE#_{M(-zX**^Q2^ zeMKoGl?MiJzqj7GxqLRL73t1|mck-2H&I?Ef?J64q@{+#XaFdaj9~ZgnjbgP zXfQ-~wB_}38$#6{Lw95+ava8Tl_X;w^PXrG`_u{WB3mQdq{sROKl|&b}d7~2+tyxG>@g$&0(cuTyIyWEq_u!<+e4I1s(#N&twzZ73jiBF;bK4<&w74 zdqAxht}nVH>!oSAi-#_IDup?d%TiLVKv4MakAqzaa`jHfsxD2&(t3%@VK= zcv@4JSyo6&SG*oUJXbv4U|RGv$T3XECCE}#nO{mf00=?%3=Auk4CIR03q-EbWQ(X} zI@;kVrLdGF;iWA1Q1CJ4lPn>Un;J5ddM=q-&ggCvr_Ds3p|=QqSt}_hT7tW%9zo+2 zsczN~^bLkAYilWfd+{BRr_hb5Qkx)_)RW}y+%drb(#`7j&8;xxv{O0u82SgLEoEQw z=R6!79y@uYo21C>TkQ{8W*fqoCFcO#40D}{K_`_D%lgzKiq$@f%O!MnkEN0z>Kz|7 zy;CMX{9`I1ksUuw8D=6#${RrkKlf&+&r$xnN9!wX+GJ^qoT$i=0y=?QNpjG3?NLC= zbKG&wHR;b+?D{+Kd)@j(nRgg%p{Jw$A5BVEZ*c97aY0-DA$2rcs-24SlH-{!B}+pf zi0!<;VG7%U(;bMeSSdnH@z?BLRMJVCE}p6B`()7V>Dk(ERJP(=lLVKL;`7SLN%pwf z#{-Y;RPEVQ^{$|wd$&GfxE&2fVJSNh!8r+9PI>Ro&0D|5ER^3pJkxiZgulgZmivH$ zi>U{$S|}mhjKvCPa;jh}yR*Qc7~8k10zlMKmmg8~c&Tu}|j zTdEt5&+1VJf_~KDB2=AS0>d)Y}>hT=j89H$)jrTZ*NvhQ%BO3t&iSc)Sd;)$}HOAW+-=@1eSmk9z!!}-*M!TVDM zwj)p!^jVTyC6|S<2zjM8U7i!We&hWvAc8VGj`bf#+~hxNj_b`oH>(**4YugYlC#rw zBR*0+{{XcxN`UZjml}Oc6tZnFlP$iYS1Ah2S%F;eq-8wUhbOvcs=CoFFk6WsnF>*L z<`MKx1tbi)o&7})${^t9zBA2NTGIZ#5bH{0yA3R`2PU66q&8`s~78I$#I!)Jj08FoNrr=wtvP1cgjFl z&jyw<-7%}!1!(mm>Lmi~naONC*4cLj2Sbe&4ysv=$WpfCbB~qLdIaw4p~GQb_ESpVqnVcB;8K0vuE` zCS9&GsmYBfAjePzTjXGWFsHuGdkT#sUb}X;w>fgxF;SXyGjMnYX1nqjP5@~*;Q6U5 zH6qRR2U$k9SSHTAT&FUJt;;W4onP|Ny!%%qwm&X74FZ1Vu+f^CS3MK(Z$K6KXJ0cQk-1GG!_FvBe2>)2f3#w^;=qA$7*KRVU=P_5mr%ZX-G;f zZRZIqNcNYCc>t4)`8lPeyEXWUzFpqgVT8(I?ry^MwQnXOt!rD-6b=N53OM%hls0)+ z9fej>^^}|YkZ!UjUf{PIa+|eDWh{sG0zRfvQVAdSG*67w4MTjFc%5jvCPnS{qrP4I zDfwMS(As-HB_|x`@`LBaS9ewYbI@*4VO^eEHwRrUy)5lb~<(0;n3raR6ebFRr|Fbz2`0f2qQ zOHjvwl^-Nxgd*YfF;y<%8gmV%JG-N~C*C)!3rdLKDET9>I20|%qOynCQ!rz(a4xwp zIO>WJlr|6sLCRClVaVWjCY>O+>=U`FB&ek_oPe0JSBUZyOR7?q=-L47jDP?cDj;|i z#OQ}>pAngl!H0N}Dfki6++M26)Seq24l%vLelc2EHvJ<3+1D$p5aS{=Z>L|-DP}54 z@zewV0Ol_#N_%Y?HKSQxZk9NAL_)f$>;1`SOgQhdoLbo0cZ39w%&g@~?xH{jir&8d z{lU;8Vjt9ZsDj;gX6b9OmK&QsN{Uz1B!?f^fB{j-2}$_-Qhua?A76Tj8`IbfH44EF zQ&r%h$3+4O%)T;ee6Q3GtpTQL&>M4@Fk1;-VDx0Xt< z03kK2(LD_(N@-h-+4%neiA}r7Y}}hG4VGI`+_x64w-9hj{+gdzU1OHo4H{<4&)D5Q4ysQ0U-y1^0qDq#zRCQEkN za3YLDg5wE7<+$R;H<0qskdxg?85K6@?04qaAYAOz{`A(?SwqMgsZ*gmcps2&>oM(02D=O?`S= z-+8j>koXx3jsZ^n;k_LDH6IQ*V9N02ii27~!3CL2MlZQe>aESp< zA(V`qaMCm1+(4>Ju`zUxyK*H*jds5@sgE-mJyoUF5to&`_6a}@Cp?mTQy_r>sY{L_F5Lr6E9+a8 zGyYZ^ZU9Nzk;2l;e3SlVe9<;xE)*xF+vB-$YDtYE-p#qRveH?1+LVV6AabWxPbZ3n z`6=`{{{U9#QFE03*y==m;ig$q0zwiS1dq@Yw0*@^TJJ%@wP}gdON^7TPNBAd+?;{1 zVf_vC$hwNmUdRkLZt$h7y}`M z45Y02KIHM+n(V7!OC$&)n2h{D#FTZjl?Eu<3HIlwr{{mG{dFMN@5ax;l- z03d{^3CZ{41fJZQ6D9^zfH&7^S8-`wH?HJ%WY>Hun>fC#%jE> zYG~8gN&^Z*Y0Hk6Hk2rV!kkFLm(PlDvdndhi`{F4RIEDNh3Gcz%NYO#DYXt(dn9eNG&al2x_+KWF#)4-jt=H3g#GDYhNd3WTI7i11_>(3(P3!PsyV zgn$P*;WTk_&Y=2hfY|Yv7O4^z*?srPz(++tl?|XIa(-zV-)n;b1)uMad7 zTjS#Y0B@)LFY>)?O}cOC`~Cf2{LgaIyNbUHa#~!uu)tc7>)}VDkW_KA+Hx`2`K12< zT1ykI=(9lD&AaK7a52tLxnl(gA3ScwSo&j7Ut~m#?xTktHwlipYlSd4mf8wy$v_{= z3P)vfI2olW3_>pI2~6CZL>V$eNGM8F`CC8({N6x8PJ3hKqv_`;X5{|>hpOuCynj#T zTQp-lTvo699AkackJ_b5S`-{*w+L5)o@i2}9uVSA z1!wLnuKhIB5~o@ONX0;q0*-OTa=w(&cU!f=pxX{IobsY8vppiwO10Zs>Y#;iIsX97 zC#sxcwhv7iF`nC@T)6}-ND3X)tW^1$WvD0(p#T6rJJXlqaqaNBEu?48J5pWt{gwMc zJlBUTmU_w*0k~U`$x^YNdsIXr03I=#fpXNO6(E9h<1_+Rv2l*b$KSmbv=+U?SD39b zl`Uis(9&h&RQ)la8_^LrK;v*;QNz#I3>z~xP zRkOe~aoX<*g&PhWD;`Z&tlT5nn*@*u98@K0cdpVBgc1>&wQ_nQ<*H@S&BR>@2|3Bd zK)&cfab&0?8Rob8e{E9OZAwsA>sAA)NI*aXKQz{oIqBYte#@nmZhNM*`+i96O#@3b z=nKMm`%!zGGSMm{j{J(wH1@*?$jQgePEqHvu7}Hg(Wae3P}b~xaZJ(Wu{{Y&(X{>i zQZ}CjF1V%sUlhj$dzYMh2XkF4pF>a3G`4VnFnkIzrY-1@@}rP2JkqD*WB^ zO!`r;`L3aGwof3F^HGy_s5=8*w8YCj(dXGl`2F&a{i}5(M9~E8OrGVgGEoE5 z$c@K(Jh{%W(gdam4my%IE1vvzG_e-mZ|s*&HUa*$9rxe1rEytWlG#@&@IGY!FR5ioSAq(B9^cxO z(ELj*yf)5H#eB-#M z-2>_cr}1_^x;jktu;VeVttm{s1eEZ!EhK&TIry%Inq65NL0vJee+JZ1W?Wr;FpFVo zx*@EsZ50xfalzU#Q)fw3tw;5jE0b@skfpUCGtxtC5sWB#TC>~jntst9fvq|^?f(D~ z&rAz)TMybFxB#bEQu!nxAIiKA@ zHP3Or$4}@g+O;mJ(HeqdRu|JE*(+m@xU!SAWAdwL{?+EF)VG`Mxz;8@YR4jLs8oWb zm3=`OAt^}X1ad_`S^ofrSsHr!cc|n{@~|9@E>O zG#2p^eX*wO_hwTK5|}GwKad(hRurA%xERhpF;@$ol;7ZbhV{M)+a1JiYIL<_w6-}; zammlxm}mb04paR@wp<&v%bRtQKRKSD!)>WOx;fws@IGpbB2r0aZHJbC2O7pR(I<>{`V zOgZ-1)|jek662|)Ek+cCf)t>m-8+Xk@q#Gj=U+*@+N`a_aj7@a1uAxCKxxtkIR5~+ zjB()Rgrnto3Vs;3b&O zh?eJ80$&`gCmg7xRZ??{gt{i$i{y@l*82I~Cvt7LI$@~pODKsiq_NU}3E^nRZamZt zIj?@YI}syZt=6K_T}$xpQMbC3j!;ssC%CGatz!Y7PusU5@cQmh)=<*alh#{V$j^^~ znp%_UlBHQ>MwMlb?C_(|o>hgkliVNkA2k($%T!b1BInc}QixB@yT}tPcBL1aj};<1 z)J8Di&k9k=;MEtZeN4G(YvlWaQj-R2LOgixByMS>=WlN(oYu`pt*=_TEEeb7+nWi7 z_MkA%#Vp_eT>0P*X;y8T;{~NoQzbDRa0Z-hIYQ#&^ z9>C+AccYdqTlEl}w_Q}BYGo5eS?@CV#!hy-|MHiJgq}ITo z?a|G;&eea@JJA}~^%_x!oOP9@ALAjtq`2le0Xv3hT#H(v$BilXCH8zVZymK)3+TheG&)>lw2$Y6a_X=JB$zrKLV;fS*LVXs<9X1 zA^UTd<+@o!HQ|QX93ip~W0A-2R)$;c5^#N>CFfpCx@jXbQcG?MX8R)j6Ck>_l5oBc z`G_3STVA4F?lYpbXnA&|$7}+w99c-+g_ zOs1I(zQX>UPDqdrO4K}zb{Om`-wrEuCpPplYtLA&nwv?lPPGXUEv`P7rLDzpTgyQ9 z<3E%RPAaQ)u`~QM5tW33P60IEbF#S}1UE*-%6q6%%Fb|}2*=6uQvEa1>|I@%a=5Sz z3v;P&ZsHQ_s|2JI+W=;aTron@(65$BQzTohDY)te7Q>6^rJ&Q;AUVQ#N^#&|^Y^Vf zLQ=out8$-n%Gp72Uzn>KQJvfI)*X)BD36_7~4`+xVXwmTHb%KSo1 zAkyQhF1Dl{h)RLvjQQe{^>Q6|NbIWuOEJ*naZAoJgu0dwWd#5iwD{w7G`xnOv2#lk zWZRr>8fZg2<{CDa?z^w1SGV#6Jf&B6)i)5a+bmn2BTo;V!u^oN;Q*R|piIr_aQT}w4fZ`SB1b3~voWRr48J!|TdG0cS&|%_QM5o>$ zbozsUTx(iOvOd3RU5*Rzh#N{&q1f?-e|qUnL3OvsT$_EtZ@CpnLvBS=2$E%?MD0)s=d988 ztIxC=NrR^)>r~vnqBMJr+FPVtR^txzq{S#5HxPsQT*oRS;;W8ad)gLC*1IUU+P%s9 zU$(7Mnccl5lh~gic|WZZ{6<{$xaHl$Ez*Rx(^6Jdxn*6qC%^uYO_rbF*IFj}<;vG^ zhiB4D+ar9J)Tc@kaH88O8`KYgam{rOlF?cR(%F+B*nIVBUtQtkq{ULxo};Au zTEPC1m3FJogm)H7GL!8TPLci;^#-??mu_iBnX@S>b;;A5Ag2lCK?nLk`Qoo%P3(F* z(WutjHjrC-mhUt=pa$dr$x>Q>wyJGtCf_>MN6oTMu-tjm39$;5wDt zBLt6fkcE4mIXD^4O(0)2+(e#-_NnM;b}cMHg#t;O{pb5ZwjP6p1PAEpH$OMNhGc6oD}ZUeEU z^}h~G{;^@SD1cU@{wsvz9w`kP->zW@(`_XYl(rD-1xzv;83DM>VO1x62wm(Be+o~=ILyNaRZcB5Pt<$c3S07qIJKV<#S2+pn zC>u9Rd(Od=v#et@^X%@LR;8_66^!=JKJUL21S%ZC9oO28ImS@6bV62yo#z+;XM_FK zQ=x`$uLBLF;g^vG)WwU0fPC-$pxq$Sxl+*?i6q{cSpRP%{XKrFf$OJh9e z@5w*;rtKqcivi@R%bayVUA4)q#{4|&Y1P^tR9J!@7a{Vksgk6T+>k;Ndk=TTENHtu+Dw)&^P}En>K#QL zE&Y2TC}z(PF9G!v{#552a&l-D+Wm0Xcjloq%=_K4&QT%QcGd$+enN@Z*vk<=%moc2mV0|Sa>9-_N{fBRy$<@gmPI@hZ{ zsY12HGbic2JnMlgmhpMXl2*KZL&xvN2Z7qJ_p1w^AW!B=O`MpJtYJvWcfs?rWaZNg^bX_^7jA&Yd zBzIQAtyY;0xAilgj1K3N6nRNn$prT~qm`#F5$S!l2q#>hkPX`PY`fZLYB#?VdfR?< z&RZAdl?KZsw-g5Wz~H;Lw`!+iwLe{I5gqoPb|cKId(FFrGE6oYrF_nr>4Ym)ixyQg~tSK*^bUTt;g4eD1pGPc{|Zn^e~48 z1O!_xHowE>LxAb}^h|T=WGWl0Qjn5zKwHlHj(G?bIK3`MQEWdx?qaa~WVacR%X`~U z-k=Tu2ZoY<0V0D$n;JYcEw>=ruM^R_YVFK}{KiN^!0(-@DQtJ-(<>3&b%`?Cm2{9> zmhVw5;SFT8QX9b>gbWaTtyGS}h3VE-;LBUeg&%tZ>RU1&&exncRu8~J-2KR|81;7g zbtkEpMWt-I%nh&*wg<6A0B&juLoLAK2Dyv#=+Q-|1bgo&0G~Iq3XyDMwK@Vszdd6s%<9=Bx)=%5p)+ z-jnr{B`_R50U7@FOmeqO;`MO<0By7zuuBcH*-I#p-wr3NKvwVo@9-+Yhc4wN7+hH? zj{4n0G1jRksOoXKT{?2?GHm?3CaS zyvd2_pfn2J3LvtR6P23=~ca`tgXh-aF9aw;;ckzq@f)+ z?0}!rwP`5sAhy=Rr2V@Jwd@*yqym?PZ>|RnnO@AN7$T^DMZBiUiU`k&4RX;qMt*+P zd+LE2)dgF&=NaJDA*wZecHB}>qvx@s{*kW3A5(o5t@lMEE&@VN&M7(lA=6eCuxZBY zs+yGIfmsJMu{Q9Llbnz9eACC%$pTsLvlQ9l!DOjeQ3KDKS-f15*-}{^Zya9sd9dI=^#i$6N7E&?)0NTB2WF;dV>XLLt=wghqDQ&I8 z!g;}_GkHRk$zgjGgWu+pB88UuQAj=Mmcwn1DkQOVz^!yC;Ckm+Y#Db78Gwx z?3YC)#+(61kWzeCl5_;ib8B)ViF`Ni+C~m3Hrc9^YLNm;Y>G~Zm6j2M}hNN5}R#50mh!w8RJM6*ob8W42;wlVj*Z#%k$ecCCgN& zA^ku`QacmzLMGf5y)AM)Rbrj&tOD*#ZqaN@oj#+Ef$dP>qdbHAP(5RCZQHVBLt0kS znMx8Cj#5DX0N%5@&s&VbEwr~*R2ov-$MXIPzSRg?C+Zu^Ot%?v*jl!i-A)pb$tUmF z(@3KC619b@*FGXq6Rgy?TSs-vu^HsmJEPSm-wM}g)AEY%vR2|!<_cEw&*dr4 z#xO_4K87z^4qH!OuIaiGg4~#;tRaU~JEY?o9ja1~7p6LPS(>5@_M@ij8uJoFG^3>I zT1hJDarsrB6iZurqV=j&dlYw>fp1iHjCVqVePhNFImsvF@m$NOFAvPVL}J}0L|bZ= z(stj!mEi8rAJTk^v2XWyKBB=?*^$1PhBibS)44cLbb>zo_Ms@Gm6><10~Vr%s6AS< zTG_w)gJ^2o5!YXm(-FFoV{i7Q8-_tnF_Dj&hR>kd5*46}U8)|WWw3YLTau=WB>qYBi8N`_h_xj)QHLxVMf{*!+hd+!00FR%Pc}89xD^s+)7orW zS(Oq*Sx+|DY1Wn1*scznjU|9+E~HXIk21wIff()H1GH;)hsdIH$Hel25#j2f_KpR+8=adz##6NL1Hh zO&-JrB@y`q5sYN`CZ2s8w#2vS?QJU37_~%^aYJ!rZAwNe#Y$&xIZY*+M+sOk3SRQG=Pxb8bF0rCN1?MA2>bl(2g%gyM zl>>upqV?0d?Kw`?csO zC^Ew!w#pgdDIRh9(6n4;GiGu#PrBT9$t!KO5Ep~weAN5&Rmh$cgq&qTTSp1U&->7z z6u4}q7~B$0M@gR@5Qvft2SM$L7x+=_chqTd|+h z1|&Bvfi6pENLX-6KJJ@Y9J1gYj~vnup!%URbk%}d;J+OVGRR!CBXZ*u=O}f&`;e~r z!Nz=7Lb+*$CJcGawu#6_^{eR>)+%qjMFkBJmYaKZ@y+JPA4O%tYIlif#47nF~BuG!2B&L+_>6#Y&UaST$cRFWGylm z*cVPc)r&R`sF=iu8)vVY9%StJWq-WBz1HQ+rAs{KZNG9ODH_Bn~r8Gd1*9 zEXGuHqQPQICFXC9t+yF*N+l@?BL&l*NFLsM)njfb7MGI9 z*1E-xgxGK;O?ph08EJEL{HD`$xvd9r&VRydJYgUVQft@Np-X7r?hGd1CL@yE(@(}q zaKFlhOO!cuj^~=L+txovI#kt0hbrwNC}ru)Co?D!lIcuKe0I7~AGf|kVJW}}j~sqtKg>om%?Foy zOg9;6*)un%c~dSlht##6cRar3SOeNWN=kC{*i&giiz&o5LgzY5Cj@>~cxfJS-k?E| z2Hde0JWjNr-t@>53L8QXB!Q8!K6fjV#X5klLj?Uw^aR1gKm0EX&aW)DGa1E`seLCR&u2u z@~0g6Qn>9!T(d@&i4fNkGqIAEkd^&j(xiW#UACv;Je5<@LR$#7%;^YH8+PLIn&_cw zj@l5FfO1Ce;TZhOKcJ?|ExpUMn|;-@c|;}LRN#UDN@N5KbruFTFp@o>^1kQ24vD2& zzOf>^PW0Sx3|aVDEUGB@HJ74f*p#grCI}+{sq^qsmR)P6n4C;qu;8R`3T1 zXE?%ts0>uw_WS$$`Z__IHQA{#ZTEy-FHOSyLB@J=mUE zW{f#W6Bjj1B}j%4rx$~UkWV47qmzzRih}O3k#w~x@T>LW)oo^4*727WEiT}5mEj-s zng`lBDpd#5sgbIsU8K9HV>57w1<15mE-C~y91xrgCH0H}+<<7t3%BF%*bYtfH0co& zPsFueY_|)w*7qgn;0Wnxp`|*aq`fV~oO@C?1gTxP`K5~$f-k9Fqs4f>^6jxu>k(Wz zSxV58z2&U?LWvxG$N+ItwT`!ycDh`xcFBK0 zmWX3wBwQUGHM!O}E*9HAo3K`Rs!LvKmMyDp)oU!nfo_N+##Bbjt~Aj902S4&^0yR9 zutyxxEpO@@@gcC=lbewxwwDQ4|m3JD`SW8OQT9(!yd*R8)jQ2*PD?6>zkvkZD!=6oudQ7ecMoyRCC7a zw>15zvp8w%W49|@X%SU$k2W+AhT4zD_QQvg^T&`dIH5W+#^RFo`P(seMZAV0HwC;Y z=<6e5RN~JCU*au8vT!QGiEK9ID%EPAZMqR!l%$XPXe6PetK^(< zOF433isFe7?eR5id9a?6#020KlaAF8O15dZ@SCu=X==?LTAa4@)TOB@c{z3S z&H~&y!65NNAw3pKT3i1Bguu5&WwkRWY1)*B4pcjmK~W8)cTpyz`VPLMY+I4Kp?3IF znYT+Rl^us+M+8ON&r}bT=Omu$Ry)yYG8%~@IvrwnMhkIdrM>+$ETj+{+x<$&D_JMH zfUPjPvE5;ECO;Zmlb?#jNYH{Xf`U?lq6kV8g5uT5D!`<_Q9VJmSv1SHON_}aMq##+ zcQT~!S0y+d)TO9r?Z*@nZKRE*wo-q@7N}Q1*;s@lr-@6&(u^|zH^lqqQ;4WyCZu%$>$^dl!D3sONK zc(0&P_)t(2(!Ys0Gj2D#@{v+d&me*4_ph33fO!4tQX3fVbMZ-Mvl!oGWh0Jpno`#6 z;@0}HfHvnpsHZ~SGAUnL#az2n%(u$aQU~`G(0@8PJyd_%m*~VRb)EZ*>TWto>J7iA z-ntXhk4rA-k7tp$Ix1bE(wd?|BfBdeJ#MaZ|ceiXGsnfAtTNQ!KEZ=yR498Ict4+ z7)U~P;10v~uBC@ywcPG1lHyXW=OZULt4~k*bpmrJQ4I#LIl$t%u`GCFOS7jgS>%<= zqlMsUJwq|D%v)mHQS6YMSXsg$_90|C;*CQzjK2|bS`qlNNG!TagErbvc zk}B70Ok3?p-nP)34B!q02D|EL(2}Gw6UUKTgT0b@FY=M1LXT!?JIKm;B=K4=Ua7^i zG^Dof<)mW(_Nt%MUs6m)-2QG4U;(O8?MZXgZ>b2}5~GZos)Hx`md?BNvB^tV>lKXP zAt#Ed?t0bfYg4N#$?!O-ZD_Y22~*1VA3ka|+e8qZs8&aj=AF2%!MD(`{;$fFyZh#a z&(;V_WM-yI&~6~9T}+RR(uM0w$cMWGtNp1yNj}Wfmu50GKUK_*-!(qhsS@6Dun)#* zIdI)*`-$STII@%QN8Xv@jI=6~MagH^?Zd|RGx3wfSbB5Sb{6w(pUd-H*x`Bq>u-5`cf{n^`;GksR7VWfDHlE zwn?@tV~w<;-V=)EomutsZsoG2EN<^fil-swxUCnaJon8#MD;O=5u0=B z2e@aGT!r{tn5>16N8XD=zRGShX$s&EH1ow7Z8Jtp?sD;cC<*dA(I`Qr5!4``zlv9h zA>!+3Z?|eX>^GZiIHQs06f#)`(+vcn+yozQ%@S+*VWQr6^Go*qu$fC?$HZz>? z4r`TLdl)%36PH&TO5Q0W#dvpG7tsm;%cjGfiyKsjlctX~M9-kbBagOtP|Dbwhc{R%pho)3VrEO1J>$C$XqeWr*UyxMS(dGVjUM_kU7j;K!H zg=YqW*wm3WZNWBMn^D+TNtL9w{DP36rQ;zP{+#xpcO69`a#*-Iaxs>orL!Cov?VR1 z3}pQM=)k$bb4Y4yn}`j(sSQR(?s_Doo~Ao@z~-x{mv&ffs1BvD!k3l26OsY%{{X!! zrLcFR4DCm9x@u>cj@&ol2Ft20JJVBKWVi|O-+@Q08WC5`lU=wr{IHDl626fU&jrA6 zckz%1lS_97+qOWK!%&(Dw#_ceZD5bAX=(NXPdh=!ZaAln38)y=UY|)+H^P$0Yv|%B zNoqo5G_U3%WOr)^DIMyMtBF55F}h!1dUWi2b-vncshiYw56r`kI@kaNrNVNP+>ijI z2|ly7-O78LfqAl)+mR)(r4)0w-`sQ96Iwk{)=PnO>Gc_(1(wyg1Y|h1_vgAus?mCu z8F{qHj#_F$40l^e3rX^oeB^ejuomF=+2th%PhjWb<1*XMQTWM{HjmL$;~23ZMLS$N?#2$v6A0#;Kl*x?Luvu zhw#h%Nqr>GM0Z^ntkgTJ;*|dzRD?o$8G0f0$Bx zW52aNGg19d^)^16hbqSz)Z8P?TAdP7u;{RxmY+H{{Z5-BLwBjM?;gX8(}=#w}^68 zb#gVyPoW8Wcey~G=^c;hT@$6PPDGHjGbzVo&dG8MnA)Nb=1D)+a65RebbCrLrr4Kp zmirTUQ*A~-{!sZR!4+rdFH;TPQx*xUS}u$-;;q*l45{yepOfI$%DF3#fJ0hj>;9&h zpcf_8y3AFpb790al_x#6@_)T3+P{c9Rk5b+a~oUBGB>X88M1mr@q#<6_W7qhOv4(L z4OyhyL$_ulm&C?Vj-#p0HxKFOj8`N}>OV2^@{%Mt=^Yk{{QHha#|DlVMZj)fi;lfWa-+*C5d;z?J6 zuzXV;t+$y?#koR*cx~knTr5aQ30Bo`rt{eOB8llASZ%jU%X&;l{5E`viFp@iRF$C) zq<%x^2OL!mb<{HT3rP|gLq#VzKt9p)nu`w0GGhz+C}u}d&5Z;sZqMoe0Gg-4i(fH6 ziu@Nx@e_KA+^CQfG)&YCzrX6^gtidD87Nsv_Y$waid9dol5TU?J6A?Vpb3g1#$gLA zp(Jt&ww^ioq?>J_V(1{qLZdp6P_(`>QlbeN`Jpmm%ZoMJdy$A!D&QaGZc z#rP*IlDl3;dwr60*J3|0KGtn?c<;Hq{K3^BYikKfxsid-N`>} zQF-@u&4jevcesgQsS8);ZD9EydWi~bs5bZ7gp?_2+?O0zbfdt>-#Mp>X>3V5XOsF3 z#6yY5l=76~#xOQ=2lt>Mg)pGm%1Tdc(P{D5hc^;Q2}$R`9kKgR!V+XQpmG)M1pbvs zi6ZIrC)8QGZPw#`VPQLp(Xn`09zo9sj=z3;G|MuSi6}-L+O7|eJ+oeKs`SclnmfHd zdR$r6Z~B!YTz8cr`FfI9({v^`9DM{;=evh-+@a&eCfxl}lX9}IFVw}88K4q~C9@VY zBa8sx=BTHx^RA$^Ir&l;YatC}5R>trBZ|TMqw7+ZW3?GOLP33H(yxqs57NBv zgGYbFvckUW7bY^cT#_W)+W@wi%_T_$XZ$4hP|3h1f!uGB7a?mcsK_jYbr$GG&_`mm zU?YzLmLnDt+TJVb&RzmraVKaa;~(jo+bwEbW&KRo*7#T@hKPR&&tgxt89x~`$_X2r zVV0y6Fp%&^Rh0h#C^~>zB=*_|=09^;IySCHQ4YNF8cKiVBqb~Ncg}sS{)3!UNV4R` zQeI{QaiWv4JvWFeRyikkC-%i)9VO$jqPN!X^D@cyW5~h4_}qD+K(LF>HpE95mg~`@ z;VpDnWiN1htK;ptM!ZC}Caz3!_-@>_2GUF)d${la0QnAZ0qiJJRUR;p(o881KO>Z+ zxRRv~_)l|z^MOPyu}Z=gw;q!Gi3(Vb%%JB?gMbyDIPjG5nk?3DktGv9mg1pCVnn1e z+7lH^Th0zhNCPTg1Cl~gGfk1>M!2w9eYis`fCq=*&kTwMH+HiSM$@5Zw zLC{Hvue^q3&axnMu1ZsBMB-XueS@!+ALl%!epC$L_^p!*ZrRJ1ade6F^E!)-B5-gN zp?Oo%)SM?795>^&FUO4U)7dXqD6pCq$DUkw;msl}a!%3EO0uV2Jd(4(@kv){v2_f_ zE#-&cSQ7CpA+;A!rIVhk#b22BKYA)Q%;iXAUEq3$s?_6`lqxf-RESJn7lAEc=d842 zY8n{fC%EIy5xIJoGAtNz?Ghr$xG9u0^rjiCnYk<=jrgam*RlirbT{;RyA`*CJJGE8yMZRVQ{gOz)ht-sc+`Hf7M z8PqmIEu|sT&*o6iu|FzSII9n@YteBh-KSgbQtj6Jfo>DgEkN$};G#Y`T5=9uBM0=U z&n4*%7^SlqQ#9_DVlB#ShZiP!RgDopn*_YMbv#YdHVX2+*rMdj-) z%TkBmk3IWyTN*7Va7;$Fr#&>FARgJre43AT^&0I2T-*G6>r(#!Nm0_6X+j`3w5d_r zBZaS&meaB-5&%ntsYK)QfRy``et4+WlnTa|_19*eknOTO z2fdEQWxNL4Lqu%{J4ZYdjuXJEA5ShM4Kdf9bhXBb8Z2q3ll04QZQg&F5_vun*ud|c zP~9PKhiroxEl4v3!|GP!j>IW%+L6ZGWh|%3Jge`TVOFG4AvZm(LV&~8mt@9aR>Imc zk`S40c_{}w5OLt*m4x4Ozd36~#x&cjuiYh1Xg0)X@tjq?>qn?E^!2JFXx9l}h+UN0A;#Dewo$YBkGg!Q z=O;PFK=EAV>BY6}U8VKY5YU&7=cHrfFUJJ)-CWC8SdONI+~6wW#N-n@K8&R{sE}V@TSi{{S)G*;h4%w@ycag_51eoC?$U>3vuYsafC? z;IAQGZe;}m6)MNoe~Gal!qlqZXA&+O;I${MK^q%*8=j z3E)?sl1_aWNkB`Q?$UP>N8Xq2agh6Dk&{L*Z?GLCdqAa$SC*SmNLc#}(S%wSZ828y zXi;%n6T$I9zv0(iP|7eqaZZfB+@)lz%@}1-nrq#)Sg%Gs9M7>z&8Ee@X>^PfkZYp- zGt`a!J7`GRv|y7|v-48w!dp+<6!W1VJQNg+r#;7tN|~r7Y4v70)RQ`>Qu5rBNauNrL!m|HN0Q9$V!3^(tFbkJw#k+A?$O<6fQO0 zmy(3OkUn^(6k4tG8A{qI3IjY>qvL0lbnJm0kumk92LtA^Lr?X~K_uYgy+{mwB$Vtq z8NtOi*)+>@kf+>PN{=HRE1H`{IJN=0mlJM7D9TiLIIlFNyYTlupe&`(eZ%IZO?5CX z0TMB>D#q^yzPV3gJLpp?N|3LL=TL1nG;yog&8S{#>27T}%Yb*P+UEd5bPUMc`+FSi1%*^ICCOQb%&CXi3FvqJm107S(!CL1D&5RyL-#?I45{;XU$v(;A~h zT(;auN{W19g=%?>M|CAQ9C)k7YFZwMZ6tuRl2Ujz8RexZBREJO{wh36k$4{|S7JO= zhpqA_23l#CRvcJDl+eilp8~9vBLkz#T3edK4um1(YgkD=3q`X}Dk|-Ow0(`YgsImK-_Bgm3Otebq!j6kE&E9oArDy}8F8gMx#!f61;P12 zBR=1n=T~ezmDy1ZKXBDno2-XkO3Zf9&?|I@269uhe^3A(DLIs}5F&k=Q_-A=u(0}0 z(jEtuEj~dWD$dt~{uH;*OlypS#1c-fyJHbc%=9#{-N8oB1yKf_(PL7ZW2~g z^)2I+_XCdj?V9O?ootlSy$D)@{{V5+Z@nU6X}26XbE1ujU(NvSL1r@0c?kA}g>i)+%KeGz0Wu(*)h8`c%_7Nhw58V6l@%o5IDwtOeZN}mjIX1X zQTH}#neRS?F)auxZ3zDW2|d67a%c-T1zYDC5qGkIxgjA#B?=fR&)gGJRdt^>EQsr5 zJmUE;Z1(_uf3U3((9wCQ?pu{L#qLK;t7uY)!f;2BNI$hzX;C+~Xtgc+#@`-Uc^5TB zOxVQ?m8XEPcjZI2O0!MIG^v*xPNA68u^MBbxo?lbiliqP+2H>GS3fmIYi$`bNnGXI zB+YJnw&xKU;)Il`vZm7D%1@7RPDdFOMekJ9oK6p%{L{s8r9f`> zPgkz`#yyFv7%az<+hu`rQV(3Vdj%gnc2y+VZgCkIbr@qqObgUtE!AX)`VZVo>@Loyb8afE0L0$mLn7NiWT1 z6Maw~^(Cgl;38=HhY!?e7!Dweg0H{nLl@SHri_Oa)RvSSZRXD_Nar7@r;ky6B)n)u zHTbo)NlS`TEXzm>X)4A>*GC+7#Vo~aS)mu*TXP-TvnxEILxcL~v7)4_MyGoU>OWKF znby~%g*_2N{$)K7l*vc~2;6wj+<6oaU+QJ+7wzbWY+b6{!8^ArdiQhB*kXrW!oG>t z8BzKt33)N{RH)}XkSJcB6K=N-l8TFHJBzOH0&&=U=AJQ%T$h4w?w^uny6Ln+3`+U{ z(u9;2^VDg;3Q9&f!5q|d-D9x@=R>5S*#IS6?n(2LTJ6(hO1QfP^d+|voza^@GN+Ze z?E@Xj9AH(1@9@3qFZ>%bP$JBz(Md8BXn10B0!J(9f0ymvo$+0|7jI~<7Nw<4NRD!Y zl2Eb79nxsEjn|lQVlrGxUukP394QJ&I8J^%(Cbu)(K<2akL5_()4@3c z@M)c$8K~}4ot12`U8KN6CC6k(jG__}aHSxh%mzQFG#lM9lGh}CdAv&0PFrQUY7wNc z*2kR$5WHZcIQYl*G%)>MuDe8t(Mp|shJw^^ln;#m0D3#4tdI_wzDIGvD7fQphw?^u z5)y=Y$l6IA^O_cju2`-z&AG+8(DGoG+ zpaHa##z)EX{pv8c%$uiSyr|{Ux0EBO9i?m9O1Ay8MQGiMx2tuDuOLxd$?VMdu+ z+gxDlWRk9`2pQ=Ba!HJ8=WU{-d3)f!jhl1 zd-3+D?8shQ-r{4lg{{<}Zb>-pj|25IEr~5R(k{3d2RqY%K;ynEXuKf08(N?fO+mezoB zagptBCnw3J*wS4tlA@_k7WRxbRsi#yazXv5^oiS6!Bfq_hRbD2Vk*E>s`G$&Pi$n= z+M&}Jtq?j*w1j;_l0yYZlFPVG^OO9h)yj$RwQ*ie)eiSn&n>tbaR_$>C&?vTarVtW+5IomPBQ9}q}*LYiAH2fETzBm9mn&Z z0Vx@)OX0&-MRSmx=Bb5hjI2#FA5w}_(Ezw};2)2ZS;BW!YpFs6I1=MUS`-q?Es?uD zz1}iSU3zm#*dnR~hHbHI&A)Il%U5X04@qeQ{{Z3J{Mjds%E!(s!gpAU6j+fXF)vR? zOO8u^A{#`f6h%U~b$R};$~)xJE}_)W zHI1TOw(V+SWuY>??b@X{%V`N$ECC|9ccw9uwlSqv0R7xQcnFBazf73z64hBsq%DhOpT;7rrBwQuB0em4NXaj_# zc=+;bWOyd+a+KWH6C!g^)g{Yg+nQ342n9|$J*WV9&U;kUeacxS$!fT*=_SXl@f&R_ zT({U-+G}|T+KhKsU=lgcda^WzlyU^ukn0xa<$f%|Xt5xrWg#H$mPz+7BLSrGk_BgO z($0dzFuuAHE`~H1t4K?z2?u)14QCC5*t)KG;-Bq|Mq=XzNq*Avt=yedR}!77WT0RM z8^KfWZroJoWYS7n&{Fp&=||s;++L$s7F~7u4=yzC<|yEh9FSATOde8>Gl5B(^IfA$ zY2U6!qjF`XsO~NK5+bKET;H@hpq}G9l9u~+J}8X4tUWVmfpW~N8WLZY?WHfNJ9fn& z{dtpmN{WvJahh4e_RlY!yJhw1?ThgS+Xx=x=i;px`Wem?5z2hf-$E@V*sQv=XLb+m zSLC}>P_5+c0H}AQh7{K(OD1<0MH6zk{{X}7sZJ;)3aqt*H%ymB* z=G(^O&2mn#jQn{{C2AuFfl%U{shttjc^kD3wQ^&NQC1V456um<&wc*@aovO3fkn5u zA$fBrJ*neOSrsKoPk<}XTwsVczq65_+9JNg|i*ksm5aDZmup77MQ>I6*ZGnH(8dMKon-U@hbYV2txt?woO$ z(c4Ne4mmYh#J0a3^s8n^kxh0-mWPH($81*yNpm`4sI;Oh>XJF{#%g;Ot&83X$?-sJ zlEOBrN*MSQ-2&kqU;?0V_oyVSdozy&gymTN)hFnZdyH20pFhP~D%t zXtjL}7w#do0m(^5)pMF-jTGD1&s66fvr7!z9D;$9L?X;ow?R^}2a5FD)t)MBV6n(k z(iPRtJZH^0w{mftYk`Lf6gdP{Xx+%BLXw^Wd(^mk=@8sgE)WyglU&&oOXWJTHT-=Z z>RW@-Bko#`{n$7@C9Rs)b{>i0}f6yLJ^eCZ2lgTsyFGLKEj7H5k*ADx+qL zW}!+RQ*I~#co?Dj$u7E*>nA8aQ_nQLsx6XiQpy$-5D$FwMYL4IdAUJ_DJy_U9n`%<|k@Ue1 z1d@_QLF0^hrafVNGxY`B0l6)_P?t_ZwkLquCzFg~tHn%I+5Z4aNGR{Lk3Tig*0v%f z-*rrvZHt8+N|1y<{I=Xt1%wgG)BgaqCC~K&>3FrS1D$52MNva9GEN)`&Ubt)0teon zn}Ze-kn5iEPat>O*#7?j`%*jB@1T)zLLLtFUECB82mb71f<`m?RMU!1!%eUrjl9T~ z)#BTIVcD(BTTU@O#SW_>0FIJ@?l4E5F00D<}%4GYusLV5NuB_JrEEGwo!@0_0EqDt4YB}_w1He#~CD+_rfDM%x}JRjDW zG{e%bjJ+vLtRX7e90~_<$6@#VDfvk)fhgIlP)3Jg(()U&FqraPZxUUQl#-<9kdyj< zdZ+A?qQP1^OdwqTtT@ESmO>b9Bod{d@ZeC-91)HUUbl@sD*JBe^-&qH;!s?CoDO~m zdZ%@+hMi=6K}j!13kz;bN7;=2VV}w|u@apS=uQMdE^--8{xox&j zxTVeLDJPW-D~$8vl;qk{@@*1&?6QfiIQ!3Jl(B_irCvev`_yDxT)5oO+abk?4+gsF zZ0#hR4CBo<+WjlMO4Tk~-nYq$s4ewnvhmswf2VOj(xIGruAM{4&$$YYM0Jg-ZZnQ0 zK!)9Hdt3v^`4sD+Z>?%n#;{$PEHiCDQY1E|Azdxpq~nZ=u&w$FN@?S7ophHr^*yc` zwz7I{Y|eR4bBf&t-3sY+mkJHhQLU}IQtFz9fTRU-LY0h?Khn9SnlnY?jiRyDx=Qh2 z58dR+OKr|@gsH>4l#}hrK1cx4o@%?s+w${pqtUGjwVQcH=%eckFC*+sVdIg&)kJgTSSZPLm6V zlvU}~47F*CZM>z)YKG?awy*LuM+slZ2NltNirpaS{{T)Ix!dF_>Z{9{l^wSdksoLD zeb1bEu4mP;+Dck6m`YztN>&IvkUS*k&T~)xg|5ve!*jH|mTx3=+7h$VTDkuK3=bet z%NxgN(SJ6}Pt@IEYt%lEUM*qeq62M>%P1wn_+COV<>j&;o6m~ z>;Mt@l%9FV1b+2o=&M8)EVnqbuCGpNX6EIs+yw4JYc89f<%rx4zsQ0!KZ&_NvM4FFM$;+}ID>=7a|l znF%OX)7azS;=AEBE#A&|9xI7w{{RoydnL=%{UmP@pJ7oawxHxz_msba8(u%lyBY2) zv^_%9vZCHD7WA`mi8+KJ#xBa*LYzFPECG$D`CUY?IEl6{{X1^QYFV&-dtweCB-#toY@8E-$(hHNXn7H8O?I%#cfXXi({Yg zzQ_C4kJDPhrA{TXh&W zaTVr}-$6?Y) zTUh#dZ73gW0QbkqCnkl#eYm=MbE_LAu-@j?*qw?15B09}zEypkt<;@#IO`aec()I( zj)vmD8bntZx5rQox)ustJ5L2b;M7Zn?peGtw`Hxx!+4FV#=w!t2?K$iDlUk(!q#>d z;?8iy5nNK*mb1L4aNUo-2tTo`HC4JSII(VBWhp3#kd~Vqy0n}v!=A~<%M}- zhO2cj)zv{$k38vhZIU*mtr}=OgAY{m6f*I+GF~+r{};Qty^43?~(SZeQ1!!NyUak2}cD=;1To1MbaB&JoGYz2NVk14l4jF z;QVA$T#YyU+&11FD5k*La<=;OI7Kwrn1hRdVs`V1^^h6(NZdH(bw zN2m-zP;NXoCo5?kSJW^^#?D9HjlZJHjv<7ExxFe#Z6xh09N;hd57^eRp#s*lrImHv zN*+XQxL8MGcN4W;kHsQ**JHkYAxZ5(<@s&7GEs3zKE|CpQlEg7jw!0e1+_THSpcJy zbp_WLa<%6^G$HC1P{Utl_d$#t;3dN%wK{Ozp@4*y3xwbtV3^Rb5aJ`vmcp(1ElZ zag)tg+J9NcRJIwA_tLno=w4EsebtUf?kT1X-YaY^O@}1B9^O8mavN8S5rS3wSD!ew zrgcT8v@^xONq|gvXnA2ODO}0h9$4q|7ds=lz#P!`Tw9L3^J^Ce7VuN6N>qlEfrOKj z?%Fi{!E(ggx|WB})FwNLFjQ&NXUOH7F24fqyI2`@J=kHJUt0G=ui3U7(UXJRXX~|6nOMViR9?3lY z&+kboQ0gM3n@=*3l?T$~a>R!nh*Fj$yPs-8RCr}1`6ni{QW%ixoZ(1{jsq68WhKX(S8Q!Nl72=j=yBs%pyIkbNo09sq{h8`sd@#?K@vQlr)J{oh+9mn0Y$;w zeBf1G4Xur&cfbG~cNJ!OpjyiUc58xSpF*AS(EJe-=Py+P8g+NG&1 zC#8aLoYa*zUp9LDp?xWH5+$Jk;T&fbbwQfU8+a+>j`h#FC8-fwF1j*v#WCs)bhsAs z*mG&@MQZju`Q()L!g}XiEecaiFJSU(4@uJIrquD;<;)$*=QU4Dx<7Z86txu<906T3 z{4>}SY<;%wHI#+!dR$jCI3$dqa%;f_<6DFppP)-j)yu$2M@bAPB8MkY+k z2mn^=wxE-Deb*A=f)6C;y(!${IO*QC6OPrz41YDVx>89}H{0J!#UOYdD%|w& zusysIYNyh6IWnaKw+T`4T~+CgghqtWSmc3KlTmamcC0sQv=$J6g#MR~E1DO{vU^(xdU+4%CLXdv zmQDy)im|7_gu8pLJX60O)DHDp#4@8cf}imgbDEU3+!nB>O16R9c4|!|+wykBw78|B zc)6{#DU^;!v{O!)dE~_0qD!Dsduhs&;YkE|G}8j`n5==6f=4GEs!L3?Q@xROLeYI` zOgJ*&13K&v zCUl2V_c;xzAT07uF<9vM>`J@MWoh0rHlG#I zEQvZ@lc9FmGH*rF@W&V#9Et$_!+p@Sm3x84KJ{Vh$m~FITRov!9C$Tc+-)J5N|u!$ zbtZ!yGgPLfB5QKl1QyP5p8o)9J%4Uit%hwU>1|BA6R#?4u&^3PKHkFzwsAr%(jU4@ zL{#9Z#{xwe^@CM4dvNIOH$6>SBBdf!mWEW~vB=-#o_|Wp+erbxBu8wzPSx~sT#YX0 zE^B2-DR6x>-kL^Ke1K0oMF+m#BFl#bxJ)ED9lo-gguasusGrHV9rH@kY)vB8)v3#j z$jmnAb)c6|wEP48Ir~?)h>zQxZFbo%mOsV?w?a;YS{^9Q;I~H9dwc$N1f|E&Q57t)C4buDTTOE`90)fg22`?EzZS|x$;pB zr&8OFbhmWE_}WLBqQt8ECCg=!_Mo{=^;SF-w{LB8;g=kg5Ob7r0(=F1yH;@~+g^G^ z+hcE7(%Qp&9!Xo5CsqA>bHa0xpS39JMYk4ch_@bhQzgWyDs8m|0!Bi<0(R8a?pM@Y zl-t(0^B!h6Y_yj)lm+{eq40d-lC-F8SX~-D3fFL@%(*!8A;dh?Mo&!%bv&zg#z5os zr|Hoccj+5$_tdt>ZOINM;O^Mz_nb7+QZl8ao>WP$c~7X)SEyA6Lru(v$w`u&C@Bg` zyQKLZDe~Rwq#`23VYb(Aj$cb~E(rjwZiCBe@6K_G5`^_;QjdbXc3cfXsdWq1wnC7l z@RvyiAe<7Cf2WTB0D2vuEEm9G7Gl=Hkm+ zLLzPcHS*nXx3L-`NN|20ujW3YaI6#KK53%)q@diIfZFaeAU?tjQrk`iDLzKy=k9pO zsy^xJjl)iB)}OMzKMyZ-7a5WiiDNk+D;yK{rsR5?W`V4Vo3_lhL%4JsnBB$j;!@yW z<{12`#sTtcidgbrCFJN*i_-@BkD;XLO+jS1TbTM1=~`7XJLEGf10f0nvB2#~UZmX_ z)(W$xLtAfA7Nxp`D3B4x5>?;0&)b@@{b<+7Wwhz27Z_3=dBZg-Va?((NIOU)fKPAI zx#GcbaB4RllIos@%F+*IFahDNWCh8CAKHw`;*Lz`o4oP_ksI)!eG zlA@(@0SCti6yc3MSJ5vZ$#6x!ngEWYePW` zZ;)DRaU>__O%@wmP zHp_Hk;#IUQOF{d95)waOby`-D2)lO35@WRvTj8uN?b|Rse3MoSEv?^A60|lJ+Y3NZ z7$6lKRbwG8KPlpYhn!yZ9@!+-i>Du3-kjc{0n~lIn}I{@uJmQn7CUU;dw4Ntv7sm` zeB6?Er;PE8f3Nydef5VK^(JRgL?HutTDzqrXa4}7tvoG(EjnSa(q2mDWR#p05HpPU zAN}cfTRHT)p7C;&&R<#z08R>enIMe(4orCDs`6P^e5s*2g2WIBd8Fh0u-!Z=ePf`ibfTXFljHOPe^Cv%;V;D8Q)i5~9%Z;@$meO2TSd}Osk9kN> zxN*)?=fxJbLtzkhN0{m(sD_W#yYE^_1-BCT8-@-B723QfY3%jVOb-)Jvv>@(21^$R z=|hp^HV#;2^c;YtaJ1)vj&N()9-cXKU=D*(rA#GT9cb-Bk@; zGomI8<;z3OqDl*7KA-Ucb-oppf_WVGqhU;{&2nOkqbIl;$Zu5m#n`ah_x3vck%$!#ryqNdlu z$K5<}T~}(;ZCl)G-35=tghtkx1;)CJ$9Wu}$VcV`_S`d46KZ3m7Q$WJ>dWbJH@&2B zml|!cg%2m3)2~xC`UvpFoU?7U>i9`ncG@41Q@I6g+zKt2~2ha zq4wc6hUB(M{z`JM@jk=7B(mRulq<EB74ZW5S#`HmD2wweBF#(abh{yg#CpJCYJ z+oD8F7Le&tOgOS+I7>1l5sjTT!juw`pN@GZqoZ6)dAoZ|$&+PrU|M1+i!*3dy|4jL zc`8;?m5czP%|pFz?nvuU&N&)lbKD=-Pdv*jox#_a0Be ziR?3uKK0v&(@QDKmppOyK5H*n=U*J3Y_z!eYBNMQz582fq@&t~K)^}>7{LDkTCKDm znRfpGHrVS*+K7;xmip8(0VMICoKr52(*kFxnv&4BN>=@;3yh!46_(1ve_&`2@cnyv zyPT+#x{pV2rZzLTXSGSd{WF^O;f^@s)DJ3ibCPl)>HRoeyIbCU1ui9jn&iyg(mU|FjSRZm)F?JfTH9oxk_gG>xldE-1F7{1KtMxe^Zn~) zwb!3k;*i?%Roj|MwXN4Asp6tkX)&g@#+zLt%6SaNgc8{p1I1N3igB4eK_sauI0BgN zw|Nc4Eh8#Y_!YlKdUY=SB?@r|3OOXz?MH0qrri*99+!IOJ*O0cQ=T}kv(V5}VYelJ zmuRKUF`yZ-u$3vWoDAfS^)m5(Of+;-uHVuPaOBI)(mHYDqYZJY;_X3JR^!9NnA(9jNc%c+kuv|!}4EsPTsZ8ltE>58#8-{t~ zy*0u?L6sE#4&Pb~Tw|@y`C`TCJ z;)*@cijp!Cekd%(CPUnNllHDz#kN&F1e?7n+!9sK%?H$anQ)M=e}4kE6$Vj}+yhAZ zkxtIsgahBbbo@>cA;X-7>%Omg;UP#$i5bTg2@I*va`IGYj6Ez+ptTNj%@I|jV$z&< zHRk5^4o9Jn3{W-=j6Olz$vozqEZS`;LPp$v)w#iv+}_w9v##SA+iVo7@*&ZH!e=pW50??n>uQnAOb7f6qyN=xo6!^ u1d^~c+bu?|>0Dq=La~ui3?%|aE9f^;sL2POF;YIT9&u55E3wohfB)Hbsy!S4 literal 0 HcmV?d00001 diff --git a/modules/homeslider/images/sample-3.jpg b/modules/homeslider/images/sample-3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5f73e00b39bb03c9ffd78ca69afda711ba597025 GIT binary patch literal 59244 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 literal 0 HcmV?d00001 diff --git a/modules/homeslider/index.php b/modules/homeslider/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/js/homeslider.js b/modules/homeslider/js/homeslider.js new file mode 100644 index 00000000..0287c175 --- /dev/null +++ b/modules/homeslider/js/homeslider.js @@ -0,0 +1,62 @@ +/* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +$(document).ready(function(){ + + if (typeof(homeslider_speed) == 'undefined') + homeslider_speed = 500; + if (typeof(homeslider_pause) == 'undefined') + homeslider_pause = 3000; + if (typeof(homeslider_loop) == 'undefined') + homeslider_loop = true; + if (typeof(homeslider_width) == 'undefined') + homeslider_width = 779; + + + if (!!$.prototype.bxSlider) + $('#homeslider').bxSlider({ + useCSS: false, + maxSlides: 1, + slideWidth: homeslider_width, + infiniteLoop: homeslider_loop, + hideControlOnEnd: true, + pager: false, + autoHover: true, + auto: homeslider_loop, + speed: parseInt(homeslider_speed), + pause: homeslider_pause, + controls: true + }); + + $('.homeslider-description').click(function () { + window.location.href = $(this).prev('a').prop('href'); + }); + + if ($('#htmlcontent_top').length > 0) + $('#homepage-slider').addClass('col-xs-8'); + else + $('#homepage-slider').addClass('col-xs-12'); +}); \ No newline at end of file diff --git a/modules/homeslider/js/index.php b/modules/homeslider/js/index.php new file mode 100644 index 00000000..044cb85e --- /dev/null +++ b/modules/homeslider/js/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/homeslider/js/jquery.flexslider-min.js b/modules/homeslider/js/jquery.flexslider-min.js new file mode 100644 index 00000000..54f2ca98 --- /dev/null +++ b/modules/homeslider/js/jquery.flexslider-min.js @@ -0,0 +1,5 @@ +/* + * jQuery FlexSlider v2.5.0 + * Copyright 2012 WooThemes + * Contributing Author: Tyler Smith + */!function($){$.flexslider=function(e,t){var a=$(e);a.vars=$.extend({},$.flexslider.defaults,t);var n=a.vars.namespace,i=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,s=("ontouchstart"in window||i||window.DocumentTouch&&document instanceof DocumentTouch)&&a.vars.touch,r="click touchend MSPointerUp keyup",o="",l,c="vertical"===a.vars.direction,d=a.vars.reverse,u=a.vars.itemWidth>0,v="fade"===a.vars.animation,p=""!==a.vars.asNavFor,m={},f=!0;$.data(e,"flexslider",a),m={init:function(){a.animating=!1,a.currentSlide=parseInt(a.vars.startAt?a.vars.startAt:0,10),isNaN(a.currentSlide)&&(a.currentSlide=0),a.animatingTo=a.currentSlide,a.atEnd=0===a.currentSlide||a.currentSlide===a.last,a.containerSelector=a.vars.selector.substr(0,a.vars.selector.search(" ")),a.slides=$(a.vars.selector,a),a.container=$(a.containerSelector,a),a.count=a.slides.length,a.syncExists=$(a.vars.sync).length>0,"slide"===a.vars.animation&&(a.vars.animation="swing"),a.prop=c?"top":"marginLeft",a.args={},a.manualPause=!1,a.stopped=!1,a.started=!1,a.startTimeout=null,a.transitions=!a.vars.video&&!v&&a.vars.useCSS&&function(){var e=document.createElement("div"),t=["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var n in t)if(void 0!==e.style[t[n]])return a.pfx=t[n].replace("Perspective","").toLowerCase(),a.prop="-"+a.pfx+"-transform",!0;return!1}(),a.ensureAnimationEnd="",""!==a.vars.controlsContainer&&(a.controlsContainer=$(a.vars.controlsContainer).length>0&&$(a.vars.controlsContainer)),""!==a.vars.manualControls&&(a.manualControls=$(a.vars.manualControls).length>0&&$(a.vars.manualControls)),""!==a.vars.customDirectionNav&&(a.customDirectionNav=2===$(a.vars.customDirectionNav).length&&$(a.vars.customDirectionNav)),a.vars.randomize&&(a.slides.sort(function(){return Math.round(Math.random())-.5}),a.container.empty().append(a.slides)),a.doMath(),a.setup("init"),a.vars.controlNav&&m.controlNav.setup(),a.vars.directionNav&&m.directionNav.setup(),a.vars.keyboard&&(1===$(a.containerSelector).length||a.vars.multipleKeyboard)&&$(document).bind("keyup",function(e){var t=e.keyCode;if(!a.animating&&(39===t||37===t)){var n=39===t?a.getTarget("next"):37===t?a.getTarget("prev"):!1;a.flexAnimate(n,a.vars.pauseOnAction)}}),a.vars.mousewheel&&a.bind("mousewheel",function(e,t,n,i){e.preventDefault();var s=a.getTarget(0>t?"next":"prev");a.flexAnimate(s,a.vars.pauseOnAction)}),a.vars.pausePlay&&m.pausePlay.setup(),a.vars.slideshow&&a.vars.pauseInvisible&&m.pauseInvisible.init(),a.vars.slideshow&&(a.vars.pauseOnHover&&a.hover(function(){a.manualPlay||a.manualPause||a.pause()},function(){a.manualPause||a.manualPlay||a.stopped||a.play()}),a.vars.pauseInvisible&&m.pauseInvisible.isHidden()||(a.vars.initDelay>0?a.startTimeout=setTimeout(a.play,a.vars.initDelay):a.play())),p&&m.asNav.setup(),s&&a.vars.touch&&m.touch(),(!v||v&&a.vars.smoothHeight)&&$(window).bind("resize orientationchange focus",m.resize),a.find("img").attr("draggable","false"),setTimeout(function(){a.vars.start(a)},200)},asNav:{setup:function(){a.asNav=!0,a.animatingTo=Math.floor(a.currentSlide/a.move),a.currentItem=a.currentSlide,a.slides.removeClass(n+"active-slide").eq(a.currentItem).addClass(n+"active-slide"),i?(e._slider=a,a.slides.each(function(){var e=this;e._gesture=new MSGesture,e._gesture.target=e,e.addEventListener("MSPointerDown",function(e){e.preventDefault(),e.currentTarget._gesture&&e.currentTarget._gesture.addPointer(e.pointerId)},!1),e.addEventListener("MSGestureTap",function(e){e.preventDefault();var t=$(this),n=t.index();$(a.vars.asNavFor).data("flexslider").animating||t.hasClass("active")||(a.direction=a.currentItem=s&&t.hasClass(n+"active-slide")?a.flexAnimate(a.getTarget("prev"),!0):$(a.vars.asNavFor).data("flexslider").animating||t.hasClass(n+"active-slide")||(a.direction=a.currentItem'),a.pagingCount>1)for(var l=0;l':""+t+"","thumbnails"===a.vars.controlNav&&!0===a.vars.thumbCaptions){var c=s.attr("data-thumbcaption");""!==c&&void 0!==c&&(i+=''+c+"")}a.controlNavScaffold.append("

  • "+i+"
  • "),t++}a.controlsContainer?$(a.controlsContainer).append(a.controlNavScaffold):a.append(a.controlNavScaffold),m.controlNav.set(),m.controlNav.active(),a.controlNavScaffold.delegate("a, img",r,function(e){if(e.preventDefault(),""===o||o===e.type){var t=$(this),i=a.controlNav.index(t);t.hasClass(n+"active")||(a.direction=i>a.currentSlide?"next":"prev",a.flexAnimate(i,a.vars.pauseOnAction))}""===o&&(o=e.type),m.setToClearWatchedEvent()})},setupManual:function(){a.controlNav=a.manualControls,m.controlNav.active(),a.controlNav.bind(r,function(e){if(e.preventDefault(),""===o||o===e.type){var t=$(this),i=a.controlNav.index(t);t.hasClass(n+"active")||(a.direction=i>a.currentSlide?"next":"prev",a.flexAnimate(i,a.vars.pauseOnAction))}""===o&&(o=e.type),m.setToClearWatchedEvent()})},set:function(){var e="thumbnails"===a.vars.controlNav?"img":"a";a.controlNav=$("."+n+"control-nav li "+e,a.controlsContainer?a.controlsContainer:a)},active:function(){a.controlNav.removeClass(n+"active").eq(a.animatingTo).addClass(n+"active")},update:function(e,t){a.pagingCount>1&&"add"===e?a.controlNavScaffold.append($("
  • "+a.count+"
  • ")):1===a.pagingCount?a.controlNavScaffold.find("li").remove():a.controlNav.eq(t).closest("li").remove(),m.controlNav.set(),a.pagingCount>1&&a.pagingCount!==a.controlNav.length?a.update(t,e):m.controlNav.active()}},directionNav:{setup:function(){var e=$('");a.customDirectionNav?a.directionNav=a.customDirectionNav:a.controlsContainer?($(a.controlsContainer).append(e),a.directionNav=$("."+n+"direction-nav li a",a.controlsContainer)):(a.append(e),a.directionNav=$("."+n+"direction-nav li a",a)),m.directionNav.update(),a.directionNav.bind(r,function(e){e.preventDefault();var t;(""===o||o===e.type)&&(t=a.getTarget($(this).hasClass(n+"next")?"next":"prev"),a.flexAnimate(t,a.vars.pauseOnAction)),""===o&&(o=e.type),m.setToClearWatchedEvent()})},update:function(){var e=n+"disabled";1===a.pagingCount?a.directionNav.addClass(e).attr("tabindex","-1"):a.vars.animationLoop?a.directionNav.removeClass(e).removeAttr("tabindex"):0===a.animatingTo?a.directionNav.removeClass(e).filter("."+n+"prev").addClass(e).attr("tabindex","-1"):a.animatingTo===a.last?a.directionNav.removeClass(e).filter("."+n+"next").addClass(e).attr("tabindex","-1"):a.directionNav.removeClass(e).removeAttr("tabindex")}},pausePlay:{setup:function(){var e=$('
    ');a.controlsContainer?(a.controlsContainer.append(e),a.pausePlay=$("."+n+"pauseplay a",a.controlsContainer)):(a.append(e),a.pausePlay=$("."+n+"pauseplay a",a)),m.pausePlay.update(a.vars.slideshow?n+"pause":n+"play"),a.pausePlay.bind(r,function(e){e.preventDefault(),(""===o||o===e.type)&&($(this).hasClass(n+"pause")?(a.manualPause=!0,a.manualPlay=!1,a.pause()):(a.manualPause=!1,a.manualPlay=!0,a.play())),""===o&&(o=e.type),m.setToClearWatchedEvent()})},update:function(e){"play"===e?a.pausePlay.removeClass(n+"pause").addClass(n+"play").html(a.vars.playText):a.pausePlay.removeClass(n+"play").addClass(n+"pause").html(a.vars.pauseText)}},touch:function(){function t(t){t.stopPropagation(),a.animating?t.preventDefault():(a.pause(),e._gesture.addPointer(t.pointerId),w=0,p=c?a.h:a.w,f=Number(new Date),l=u&&d&&a.animatingTo===a.last?0:u&&d?a.limit-(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo:u&&a.currentSlide===a.last?a.limit:u?(a.itemW+a.vars.itemMargin)*a.move*a.currentSlide:d?(a.last-a.currentSlide+a.cloneOffset)*p:(a.currentSlide+a.cloneOffset)*p)}function n(t){t.stopPropagation();var a=t.target._slider;if(a){var n=-t.translationX,i=-t.translationY;return w+=c?i:n,m=w,y=c?Math.abs(w)500)&&(t.preventDefault(),!v&&a.transitions&&(a.vars.animationLoop||(m=w/(0===a.currentSlide&&0>w||a.currentSlide===a.last&&w>0?Math.abs(w)/p+2:1)),a.setProps(l+m,"setTouch"))))}}function s(e){e.stopPropagation();var t=e.target._slider;if(t){if(t.animatingTo===t.currentSlide&&!y&&null!==m){var a=d?-m:m,n=t.getTarget(a>0?"next":"prev");t.canAdvance(n)&&(Number(new Date)-f<550&&Math.abs(a)>50||Math.abs(a)>p/2)?t.flexAnimate(n,t.vars.pauseOnAction):v||t.flexAnimate(t.currentSlide,t.vars.pauseOnAction,!0)}r=null,o=null,m=null,l=null,w=0}}var r,o,l,p,m,f,g,h,S,y=!1,x=0,b=0,w=0;i?(e.style.msTouchAction="none",e._gesture=new MSGesture,e._gesture.target=e,e.addEventListener("MSPointerDown",t,!1),e._slider=a,e.addEventListener("MSGestureChange",n,!1),e.addEventListener("MSGestureEnd",s,!1)):(g=function(t){a.animating?t.preventDefault():(window.navigator.msPointerEnabled||1===t.touches.length)&&(a.pause(),p=c?a.h:a.w,f=Number(new Date),x=t.touches[0].pageX,b=t.touches[0].pageY,l=u&&d&&a.animatingTo===a.last?0:u&&d?a.limit-(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo:u&&a.currentSlide===a.last?a.limit:u?(a.itemW+a.vars.itemMargin)*a.move*a.currentSlide:d?(a.last-a.currentSlide+a.cloneOffset)*p:(a.currentSlide+a.cloneOffset)*p,r=c?b:x,o=c?x:b,e.addEventListener("touchmove",h,!1),e.addEventListener("touchend",S,!1))},h=function(e){x=e.touches[0].pageX,b=e.touches[0].pageY,m=c?r-b:r-x,y=c?Math.abs(m)t)&&(e.preventDefault(),!v&&a.transitions&&(a.vars.animationLoop||(m/=0===a.currentSlide&&0>m||a.currentSlide===a.last&&m>0?Math.abs(m)/p+2:1),a.setProps(l+m,"setTouch")))},S=function(t){if(e.removeEventListener("touchmove",h,!1),a.animatingTo===a.currentSlide&&!y&&null!==m){var n=d?-m:m,i=a.getTarget(n>0?"next":"prev");a.canAdvance(i)&&(Number(new Date)-f<550&&Math.abs(n)>50||Math.abs(n)>p/2)?a.flexAnimate(i,a.vars.pauseOnAction):v||a.flexAnimate(a.currentSlide,a.vars.pauseOnAction,!0)}e.removeEventListener("touchend",S,!1),r=null,o=null,m=null,l=null},e.addEventListener("touchstart",g,!1))},resize:function(){!a.animating&&a.is(":visible")&&(u||a.doMath(),v?m.smoothHeight():u?(a.slides.width(a.computedW),a.update(a.pagingCount),a.setProps()):c?(a.viewport.height(a.h),a.setProps(a.h,"setTotal")):(a.vars.smoothHeight&&m.smoothHeight(),a.newSlides.width(a.computedW),a.setProps(a.computedW,"setTotal")))},smoothHeight:function(e){if(!c||v){var t=v?a:a.viewport;e?t.animate({height:a.slides.eq(a.animatingTo).height()},e):t.height(a.slides.eq(a.animatingTo).height())}},sync:function(e){var t=$(a.vars.sync).data("flexslider"),n=a.animatingTo;switch(e){case"animate":t.flexAnimate(n,a.vars.pauseOnAction,!1,!0);break;case"play":t.playing||t.asNav||t.play();break;case"pause":t.pause()}},uniqueID:function(e){return e.filter("[id]").add(e.find("[id]")).each(function(){var e=$(this);e.attr("id",e.attr("id")+"_clone")}),e},pauseInvisible:{visProp:null,init:function(){var e=m.pauseInvisible.getHiddenProp();if(e){var t=e.replace(/[H|h]idden/,"")+"visibilitychange";document.addEventListener(t,function(){m.pauseInvisible.isHidden()?a.startTimeout?clearTimeout(a.startTimeout):a.pause():a.started?a.play():a.vars.initDelay>0?setTimeout(a.play,a.vars.initDelay):a.play()})}},isHidden:function(){var e=m.pauseInvisible.getHiddenProp();return e?document[e]:!1},getHiddenProp:function(){var e=["webkit","moz","ms","o"];if("hidden"in document)return"hidden";for(var t=0;ta.currentSlide?"next":"prev"),p&&1===a.pagingCount&&(a.direction=a.currentItema.limit&&1!==a.visible?a.limit:S):h=0===a.currentSlide&&e===a.count-1&&a.vars.animationLoop&&"next"!==a.direction?d?(a.count+a.cloneOffset)*f:0:a.currentSlide===a.last&&0===e&&a.vars.animationLoop&&"prev"!==a.direction?d?0:(a.count+1)*f:d?(a.count-1-e+a.cloneOffset)*f:(e+a.cloneOffset)*f,a.setProps(h,"",a.vars.animationSpeed),a.transitions?(a.vars.animationLoop&&a.atEnd||(a.animating=!1,a.currentSlide=a.animatingTo),a.container.unbind("webkitTransitionEnd transitionend"),a.container.bind("webkitTransitionEnd transitionend",function(){clearTimeout(a.ensureAnimationEnd),a.wrapup(f)}),clearTimeout(a.ensureAnimationEnd),a.ensureAnimationEnd=setTimeout(function(){a.wrapup(f)},a.vars.animationSpeed+100)):a.container.animate(a.args,a.vars.animationSpeed,a.vars.easing,function(){a.wrapup(f)})}a.vars.smoothHeight&&m.smoothHeight(a.vars.animationSpeed)}},a.wrapup=function(e){v||u||(0===a.currentSlide&&a.animatingTo===a.last&&a.vars.animationLoop?a.setProps(e,"jumpEnd"):a.currentSlide===a.last&&0===a.animatingTo&&a.vars.animationLoop&&a.setProps(e,"jumpStart")),a.animating=!1,a.currentSlide=a.animatingTo,a.vars.after(a)},a.animateSlides=function(){!a.animating&&f&&a.flexAnimate(a.getTarget("next"))},a.pause=function(){clearInterval(a.animatedSlides),a.animatedSlides=null,a.playing=!1,a.vars.pausePlay&&m.pausePlay.update("play"),a.syncExists&&m.sync("pause")},a.play=function(){a.playing&&clearInterval(a.animatedSlides),a.animatedSlides=a.animatedSlides||setInterval(a.animateSlides,a.vars.slideshowSpeed),a.started=a.playing=!0,a.vars.pausePlay&&m.pausePlay.update("pause"),a.syncExists&&m.sync("play")},a.stop=function(){a.pause(),a.stopped=!0},a.canAdvance=function(e,t){var n=p?a.pagingCount-1:a.last;return t?!0:p&&a.currentItem===a.count-1&&0===e&&"prev"===a.direction?!0:p&&0===a.currentItem&&e===a.pagingCount-1&&"next"!==a.direction?!1:e!==a.currentSlide||p?a.vars.animationLoop?!0:a.atEnd&&0===a.currentSlide&&e===n&&"next"!==a.direction?!1:a.atEnd&&a.currentSlide===n&&0===e&&"next"===a.direction?!1:!0:!1},a.getTarget=function(e){return a.direction=e,"next"===e?a.currentSlide===a.last?0:a.currentSlide+1:0===a.currentSlide?a.last:a.currentSlide-1},a.setProps=function(e,t,n){var i=function(){var n=e?e:(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo,i=function(){if(u)return"setTouch"===t?e:d&&a.animatingTo===a.last?0:d?a.limit-(a.itemW+a.vars.itemMargin)*a.move*a.animatingTo:a.animatingTo===a.last?a.limit:n;switch(t){case"setTotal":return d?(a.count-1-a.currentSlide+a.cloneOffset)*e:(a.currentSlide+a.cloneOffset)*e;case"setTouch":return d?e:e;case"jumpEnd":return d?e:a.count*e;case"jumpStart":return d?a.count*e:e;default:return e}}();return-1*i+"px"}();a.transitions&&(i=c?"translate3d(0,"+i+",0)":"translate3d("+i+",0,0)",n=void 0!==n?n/1e3+"s":"0s",a.container.css("-"+a.pfx+"-transition-duration",n),a.container.css("transition-duration",n)),a.args[a.prop]=i,(a.transitions||void 0===n)&&a.container.css(a.args),a.container.css("transform",i)},a.setup=function(e){if(v)a.slides.css({width:"100%","float":"left",marginRight:"-100%",position:"relative"}),"init"===e&&(s?a.slides.css({opacity:0,display:"block",webkitTransition:"opacity "+a.vars.animationSpeed/1e3+"s ease",zIndex:1}).eq(a.currentSlide).css({opacity:1,zIndex:2}):0==a.vars.fadeFirstSlide?a.slides.css({opacity:0,display:"block",zIndex:1}).eq(a.currentSlide).css({zIndex:2}).css({opacity:1}):a.slides.css({opacity:0,display:"block",zIndex:1}).eq(a.currentSlide).css({zIndex:2}).animate({opacity:1},a.vars.animationSpeed,a.vars.easing)),a.vars.smoothHeight&&m.smoothHeight();else{var t,i;"init"===e&&(a.viewport=$('
    ').css({overflow:"hidden",position:"relative"}).appendTo(a).append(a.container),a.cloneCount=0,a.cloneOffset=0,d&&(i=$.makeArray(a.slides).reverse(),a.slides=$(i),a.container.empty().append(a.slides))),a.vars.animationLoop&&!u&&(a.cloneCount=2,a.cloneOffset=1,"init"!==e&&a.container.find(".clone").remove(),a.container.append(m.uniqueID(a.slides.first().clone().addClass("clone")).attr("aria-hidden","true")).prepend(m.uniqueID(a.slides.last().clone().addClass("clone")).attr("aria-hidden","true"))),a.newSlides=$(a.vars.selector,a),t=d?a.count-1-a.currentSlide+a.cloneOffset:a.currentSlide+a.cloneOffset,c&&!u?(a.container.height(200*(a.count+a.cloneCount)+"%").css("position","absolute").width("100%"),setTimeout(function(){a.newSlides.css({display:"block"}),a.doMath(),a.viewport.height(a.h),a.setProps(t*a.h,"init")},"init"===e?100:0)):(a.container.width(200*(a.count+a.cloneCount)+"%"),a.setProps(t*a.computedW,"init"),setTimeout(function(){a.doMath(),a.newSlides.css({width:a.computedW,"float":"left",display:"block"}),a.vars.smoothHeight&&m.smoothHeight()},"init"===e?100:0))}u||a.slides.removeClass(n+"active-slide").eq(a.currentSlide).addClass(n+"active-slide"),a.vars.init(a)},a.doMath=function(){var e=a.slides.first(),t=a.vars.itemMargin,n=a.vars.minItems,i=a.vars.maxItems;a.w=void 0===a.viewport?a.width():a.viewport.width(),a.h=e.height(),a.boxPadding=e.outerWidth()-e.width(),u?(a.itemT=a.vars.itemWidth+t,a.minW=n?n*a.itemT:a.w,a.maxW=i?i*a.itemT-t:a.w,a.itemW=a.minW>a.w?(a.w-t*(n-1))/n:a.maxWa.w?a.w:a.vars.itemWidth,a.visible=Math.floor(a.w/a.itemW),a.move=a.vars.move>0&&a.vars.movea.w?a.itemW*(a.count-1)+t*(a.count-1):(a.itemW+t)*a.count-a.w-t):(a.itemW=a.w,a.pagingCount=a.count,a.last=a.count-1),a.computedW=a.itemW-a.boxPadding},a.update=function(e,t){a.doMath(),u||(ea.controlNav.length?m.controlNav.update("add"):("remove"===t&&!u||a.pagingCounta.last&&(a.currentSlide-=1,a.animatingTo-=1),m.controlNav.update("remove",a.last))),a.vars.directionNav&&m.directionNav.update()},a.addSlide=function(e,t){var n=$(e);a.count+=1,a.last=a.count-1,c&&d?void 0!==t?a.slides.eq(a.count-t).after(n):a.container.prepend(n):void 0!==t?a.slides.eq(t).before(n):a.container.append(n),a.update(t,"add"),a.slides=$(a.vars.selector+":not(.clone)",a),a.setup(),a.vars.added(a)},a.removeSlide=function(e){var t=isNaN(e)?a.slides.index($(e)):e;a.count-=1,a.last=a.count-1,isNaN(e)?$(e,a.slides).remove():c&&d?a.slides.eq(a.last).remove():a.slides.eq(e).remove(),a.doMath(),a.update(t,"remove"),a.slides=$(a.vars.selector+":not(.clone)",a),a.setup(),a.vars.removed(a)},m.init()},$(window).blur(function(e){focused=!1}).focus(function(e){focused=!0}),$.flexslider.defaults={namespace:"flex-",selector:".slides > li",animation:"fade",easing:"swing",direction:"horizontal",reverse:!1,animationLoop:!0,smoothHeight:!1,startAt:0,slideshow:!0,slideshowSpeed:7e3,animationSpeed:600,initDelay:0,randomize:!1,fadeFirstSlide:!0,thumbCaptions:!1,pauseOnAction:!0,pauseOnHover:!1,pauseInvisible:!0,useCSS:!0,touch:!0,video:!1,controlNav:!0,directionNav:!0,prevText:"Previous",nextText:"Next",keyboard:!0,multipleKeyboard:!1,mousewheel:!1,pausePlay:!1,pauseText:"Pause",playText:"Play",controlsContainer:"",manualControls:"",customDirectionNav:"",sync:"",asNavFor:"",itemWidth:0,itemMargin:0,minItems:1,maxItems:0,move:0,allowOneSlide:!0,start:function(){},before:function(){},after:function(){},end:function(){},added:function(){},removed:function(){},init:function(){}},$.fn.flexslider=function(e){if(void 0===e&&(e={}),"object"==typeof e)return this.each(function(){var t=$(this),a=e.selector?e.selector:".slides > li",n=t.find(a);1===n.length&&e.allowOneSlide===!0||0===n.length?(n.fadeIn(400),e.start&&e.start(t)):void 0===t.data("flexslider")&&new $.flexslider(this,e)});var t=$(this).data("flexslider");switch(e){case"play":t.play();break;case"pause":t.pause();break;case"stop":t.stop();break;case"next":t.flexAnimate(t.getTarget("next"),!0);break;case"prev":case"previous":t.flexAnimate(t.getTarget("prev"),!0);break;default:"number"==typeof e&&t.flexAnimate(e,!0)}}}(jQuery); \ No newline at end of file diff --git a/modules/homeslider/logo.gif b/modules/homeslider/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..e0f9ab6c0ab5e1a864be2b78387f5d52a9bc0816 GIT binary patch literal 1139 zcmZ?wbhEHb6k`x$cs_^0#lufIv{fa%Lp`EZJ)%uLqTMjAZDOQqVDXf>8Tv&zY{{`u(n z=O#~`Jq3j3Or1KreW_;5!s~GhFUKyt*1k+Te&OY$g=do%o|`s(R_AiVzSa7DYmBITF94bGjrlqYTuowzM?_73a3Eia3?$E1CxllGZS-e+2}{cZL3 z2i4mjPCjC_X6vN&n>KIQwE4)EtXT(2H*eWC`IPPEt=ryi(R{x}ZS}5`t9PB6eRTT& zEpq?2Yu2Co*>>{#|9y&e=l=iSr}}@NX5Z;=eP_P?->=hm=11R|pWhDHe?MT?clLiD zP{Bd#|A*{1pSr*E)ZMeE7x!HIx%15ZiC6#cJo{kQ)wjFOKG=Qs!J=zdcb|K(=iGw@ z*Y8ff@vr;#|C!hS&${t*?bU~~Zv5YK;r-&95B6RBxZvjhxwrn$yY+AWt^W&d{kw4S z(!$&S=iU3i`0oGd5C6}2_`4{%?Ntf5YSdn_t}A z`0W4IXaDctf3W?<|6Q;D?|buq|C|3$pFG?D_W!e|&kw%;f9U=H&mi#S&)@%l|Nb8Z z#D{?5KfZvX)Z&uF;*9(Pz2y8{2F0H&j9d)=8FUzc0F+A@IQ}vG=hQ4(vfyAdN52T? zr}y(0drnpIn&YwYl8QU;&y+()HZDHiKf~x_<`4b`W_~%l8ivMAsi*n)7$)R&Bp>Dw zRPkA0ad7iO-qUr$RylAQ zPdzK46~8B@(pa5uqEz~`Gn$9fvZTzDW?4*ZPWPWJZZPA^PUiI9yEb(UtiP03oa+(Q zNm`+}MEz`tNi$cb-jWlp9HLrY83`sFXG4tJ1yrN%cDS{23TbSqC^>N^#At$&=Plot zlNPdbibXDB={yr+WmNPgVxRNzepdFL7bg^(&xKeE=)~OEC+p12CaGs1(U6d?HN$t- zrRDcq;`T1{O;{!+;h@04#K_7aprOFv$iT!bVQ|%l%O~_f1GAgKKy_W#` z$g$&}S!>@(l7z(&r8TW)bN`Mvw!a5ZKKRvPzu0o{(AOR)8z5i3TP2ATuK#rd??IkW z%G-N%38w}D-o zfk|K(xMhGka0?g#o+_2gtn2Aw@A(9UCJ~Fnq}5A|p@|}H1DPl99%6*|`wgXX8Q@Rg zAD{u$4Uhm6L6yxHs8qVCba`^h@tXgDmHZCCP5Ssw_L3lI;svdO_t5e}r4nKD1%S~I zEIC1OYX7SD2xm?Z!_$2H!RT?|Bru+$J-mSO(iJAN9N16ocfS0bWZ zaTefx07_K4x+yM!=c^ZJ%2J#}X$ris&R?L|T_W$J03aX+&?$p=;N#%BZ3Vh4QLZ#U zfQl?eL$Q>WidB+sUH~uPpiqLmwm6LFmBk37>>*A}l zCVoY!a_}VJHPycdX-xb<&xT(+oQBwg zat{EI!5R&k&Nri0kWj$28i)x*07-(68+Zz66%6Rkhj+*Fh;&eMe>DRAo35a9tEo4~ z={;Mc_iT-Na~z#pP5-7V=?*Zdod-xk8gnk{oPsP3xhTiWTh5@0aOq4h09#(aiK~HY zrM2TcB!0T>1p!>X+)t!RC{c4=vY-@F$kVE)rY>FFg0DC3mA~_jmYd|2jpr8%kji8= z!Dz-Xk z-Vw)>3kS%GdEbuPkG&1kdVT=!>SO1&?)mYhB;j5s#5cr(zNC(urFYi( zSbyNa=RWk0D>`UTn6o~7(>}I5*ftN7KAVAj@#P^O-e=7TW0_<7xNGPh#Ni{yWEQo=@6MkUu#3MPEM}SxYEX~d>U<_z37C;7(wYifI;~d~W Xn;{`u>QbbN00000NkvXXu0mjfTS7%w literal 0 HcmV?d00001 diff --git a/modules/homeslider/translations/fr.php b/modules/homeslider/translations/fr.php new file mode 100644 index 00000000..62db1f86 --- /dev/null +++ b/modules/homeslider/translations/fr.php @@ -0,0 +1,64 @@ +homeslider_693b83f5eca43e2bb1675287c37ce9e2'] = 'Diaporama (image slider) pour votre page d\'accueil'; +$_MODULE['<{homeslider}prestashop>homeslider_c17aed434289cedd02618451e12c8da6'] = 'Ajouter un carrousel d\'images à votre page d\'accueil'; +$_MODULE['<{homeslider}prestashop>homeslider_3f80dc2cdd06939d4f5514362067cd86'] = 'Valeur non valables'; +$_MODULE['<{homeslider}prestashop>homeslider_a6abafe564d3940cc36ee43e2f09400b'] = 'Diapositive non valable'; +$_MODULE['<{homeslider}prestashop>homeslider_e0ce30bfbf90d2306ecf72f06a83133f'] = 'État non valable.'; +$_MODULE['<{homeslider}prestashop>homeslider_9f79795e050649dc6b8bd0cdc874cbdc'] = 'Position non valable pour la diapositive.'; +$_MODULE['<{homeslider}prestashop>homeslider_5c8bedc4c0c9f42d9b0f14340bbe53da'] = 'ID invalide pour la diapositive'; +$_MODULE['<{homeslider}prestashop>homeslider_14f09fd0804a8f1cd0eb757125fc9c28'] = 'Titre trop long'; +$_MODULE['<{homeslider}prestashop>homeslider_dc89634d1d28cd4e055531e62047156b'] = 'La légende est trop longue.'; +$_MODULE['<{homeslider}prestashop>homeslider_4477f672766f6f255f760649af8bd92a'] = 'URL trop longue'; +$_MODULE['<{homeslider}prestashop>homeslider_62239300ba982b06ab0f1aa7100ad297'] = 'Description trop longue'; +$_MODULE['<{homeslider}prestashop>homeslider_980f56796b8bf9d607283de9815fe217'] = 'Format d\'URL incorrect'; +$_MODULE['<{homeslider}prestashop>homeslider_73133ce32267e8c7a854d15258eb17e0'] = 'Nom de fichier non valable.'; +$_MODULE['<{homeslider}prestashop>homeslider_349097dadf7e6b01dd2af601d54fd59a'] = 'Titre absent'; +$_MODULE['<{homeslider}prestashop>homeslider_a9af2809b02444b9470f97dc66ba57a2'] = 'Pas de légende configurée.'; +$_MODULE['<{homeslider}prestashop>homeslider_0f059227d0a750ce652337d911879671'] = 'URL absente'; +$_MODULE['<{homeslider}prestashop>homeslider_8cf45ba354f4725ec8a0d31164910895'] = 'Image absente'; +$_MODULE['<{homeslider}prestashop>homeslider_7f82c65d548588c8d5412463c182e450'] = 'La configuration n\'a pas pu être mise à jour'; +$_MODULE['<{homeslider}prestashop>homeslider_20015706a8cbd457cbb6ea3e7d5dc9b3'] = 'Configuration mise à jour'; +$_MODULE['<{homeslider}prestashop>homeslider_7cc92687130ea12abb80556681538001'] = 'Une erreur est survenue durant l\'envoi de l\'image'; +$_MODULE['<{homeslider}prestashop>homeslider_cdf841e01e10cae6355f72e6838808eb'] = 'La diapositive n\'a pas pu être ajoutée'; +$_MODULE['<{homeslider}prestashop>homeslider_eb28485b92fbf9201918698245ec6430'] = 'La diapositive n\'a pas pu être mise à jour'; +$_MODULE['<{homeslider}prestashop>homeslider_b9f5c797ebbf55adccdd8539a65a0241'] = 'Désactivé'; +$_MODULE['<{homeslider}prestashop>homeslider_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Activé'; +$_MODULE['<{homeslider}prestashop>homeslider_ced7338587c502f76917b5a693f848c5'] = 'Paramètres de la diapositive'; +$_MODULE['<{homeslider}prestashop>homeslider_792744786ed30c5623dd1cf0c16f4ffe'] = 'Sélectionner un fichier'; +$_MODULE['<{homeslider}prestashop>homeslider_b112d8dc41120e6d28639b7eb825f491'] = 'Taille maximale de l\'image : %s.'; +$_MODULE['<{homeslider}prestashop>homeslider_61c1727eb4c54b859e250c2a76bb40c0'] = 'Titre de la diapositive'; +$_MODULE['<{homeslider}prestashop>homeslider_e64df1d7c22b9638f084ce8a4aff3ff3'] = 'URL cible'; +$_MODULE['<{homeslider}prestashop>homeslider_272ba7d164aa836995be6319a698be84'] = 'Légende'; +$_MODULE['<{homeslider}prestashop>homeslider_b5a7adde1af5c87d7fd797b6245c2a39'] = 'Description'; +$_MODULE['<{homeslider}prestashop>homeslider_93cba07454f06a4a960172bbd6e2a435'] = 'Oui'; +$_MODULE['<{homeslider}prestashop>homeslider_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non'; +$_MODULE['<{homeslider}prestashop>homeslider_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; +$_MODULE['<{homeslider}prestashop>homeslider_f4f70727dc34561dfde1a3c529b6205c'] = 'Paramètres'; +$_MODULE['<{homeslider}prestashop>homeslider_1738daa45f573390d5745fd33ec03fa1'] = 'Largeur maximale de l\'image'; +$_MODULE['<{homeslider}prestashop>homeslider_44877c6aa8e93fa5a91c9361211464fb'] = 'Vitesse'; +$_MODULE['<{homeslider}prestashop>homeslider_11cd394e1bd88abe611fd331887f0c74'] = 'La durée de transition entre deux diapositives.'; +$_MODULE['<{homeslider}prestashop>homeslider_105b296a83f9c105355403f3332af50f'] = 'Pause'; +$_MODULE['<{homeslider}prestashop>homeslider_44f0ca4d7ea17bb667e8d5e31311d959'] = 'Le temps de pause entre deux diapositives.'; +$_MODULE['<{homeslider}prestashop>homeslider_1e6a508c037fc42ef6155eeadbb80331'] = 'Lecture automatique'; +$_MODULE['<{homeslider}prestashop>homeslider_5a3489cc067f89b268b6958bffb98ebf'] = 'Étant donné que plusieurs langues sont activées sur votre boutique, pensez à mettre en ligne une version de votre image par langue.'; +$_MODULE['<{homeslider}prestashop>homeslider_c8a1ed10db4201b3ae06ea0aa912028d'] = 'Vous ne pouvez gérer les diapositives pour un groupe de boutiques ou toutes les boutiques à la fois. Sélectionnez directement la boutique que vous souhaitez modifier'; +$_MODULE['<{homeslider}prestashop>homeslider_432ed99c2e808d79c96f892807d33325'] = 'Vous ne pouvez modifier cette diapositive que depuis ce contexte de boutique(s) : %s'; +$_MODULE['<{homeslider}prestashop>homeslider_6a1ae4ad1018e00dddb16a2ce30a24f6'] = 'Vous ne pouvez pas ajouter de diapositives pour un groupe de boutiques ou toutes les boutiques à la fois'; +$_MODULE['<{homeslider}prestashop>homeslider_7a5c11dddbb2118d08611a1f0678bb91'] = 'Impossible de savoir à quelle boutique associer la diapositive (diapositive %d)'; +$_MODULE['<{homeslider}prestashop>homeslider_298b615220606d42b6ac60269df0d321'] = 'Les modifications s\'appliqueront à la boutique suivante : %s'; +$_MODULE['<{homeslider}prestashop>homeslider_aef3662e6419ddaaa0a31df70e3b6557'] = 'Les modifications s\'appliqueront au groupe de boutiques suivant : %s'; +$_MODULE['<{homeslider}prestashop>homeslider_71063fd397d237e563089c22dd8b69e8'] = 'Les modifications seront appliquées à toutes les boutiques et tous les groupes de boutiques.'; +$_MODULE['<{homeslider}prestashop>homeslider_6a5aa2542c21debccd82b2e0038c3d1a'] = 'Cette diapositive est utilisée par plusieurs boutiques ! Toutes les boutiques qui l\'utilisent appliqueront les modifications faites ici'; +$_MODULE['<{homeslider}prestashop>form_92fbf0e5d97b8afd7e73126b52bdc4bb'] = 'Choisissez un fichier'; +$_MODULE['<{homeslider}prestashop>list_c82324ebbcea34f55627a897b37190e3'] = 'Liste des diapositives'; +$_MODULE['<{homeslider}prestashop>list_ef61fb324d729c341ea8ab9901e23566'] = 'Ajouter'; +$_MODULE['<{homeslider}prestashop>list_379a88861412d686cfaf475c84a24920'] = 'Diapositive partagée'; +$_MODULE['<{homeslider}prestashop>list_7dce122004969d56ae2e0245cb754d35'] = 'Modifier'; +$_MODULE['<{homeslider}prestashop>list_f2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer'; + + +return $_MODULE; diff --git a/modules/homeslider/translations/index.php b/modules/homeslider/translations/index.php new file mode 100644 index 00000000..044cb85e --- /dev/null +++ b/modules/homeslider/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/homeslider/upgrade/index.php b/modules/homeslider/upgrade/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/upgrade/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/upgrade/install-1.2.1.php b/modules/homeslider/upgrade/install-1.2.1.php new file mode 100644 index 00000000..2d3d12ab --- /dev/null +++ b/modules/homeslider/upgrade/install-1.2.1.php @@ -0,0 +1,24 @@ +execute(' + UPDATE '._DB_PREFIX_.'homeslider_slides_lang SET + '.homeslider_stripslashes_field('title').', + '.homeslider_stripslashes_field('description').', + '.homeslider_stripslashes_field('legend').', + '.homeslider_stripslashes_field('url') + ); +} + +function homeslider_stripslashes_field($field) +{ + $quotes = array('"\\\'"', '"\'"'); + $dquotes = array('\'\\\\"\'', '\'"\''); + $backslashes = array('"\\\\\\\\"', '"\\\\"'); + + return '`'.bqSQL($field).'` = replace(replace(replace(`'.bqSQL($field).'`, '.$quotes[0].', '.$quotes[1].'), '.$dquotes[0].', '.$dquotes[1].'), '.$backslashes[0].', '.$backslashes[1].')'; +} \ No newline at end of file diff --git a/modules/homeslider/upgrade/install-1.2.3.php b/modules/homeslider/upgrade/install-1.2.3.php new file mode 100644 index 00000000..7d794bb7 --- /dev/null +++ b/modules/homeslider/upgrade/install-1.2.3.php @@ -0,0 +1,9 @@ +registerHook('displayHeader') && $object->registerHook('displayTopColumn')); +} \ No newline at end of file diff --git a/modules/homeslider/upgrade/install-1.3.2.php b/modules/homeslider/upgrade/install-1.3.2.php new file mode 100644 index 00000000..a376cf2f --- /dev/null +++ b/modules/homeslider/upgrade/install-1.3.2.php @@ -0,0 +1,9 @@ +getLocalPath() . 'img') && !file_exists($module->getLocalPath() . 'images')) + rename($module->getLocalPath() . 'img', $module->getLocalPath() . 'images'); + else if (file_exists($module->getLocalPath() . 'img') && file_exists($module->getLocalPath() . 'images')) + recurseCopy($module->getLocalPath() . 'img', $module->getLocalPath() . 'images', true); + + Tools::clearCache(Context::getContext()->smarty, $module->getTemplatePath('homeslider.tpl')); + + return true; +} + +if (!function_exists('recurseCopy')) +{ + function recurseCopy($src, $dst, $del = false) + { + $dir = opendir($src); + + if (!file_exists($dst)) + mkdir($dst); + while (false !== ($file = readdir($dir))) { + if (($file != '.') && ($file != '..')) { + if (is_dir($src . DIRECTORY_SEPARATOR . $file)) + recurseCopy($src . DIRECTORY_SEPARATOR . $file, $dst . DIRECTORY_SEPARATOR . $file, $del); + else { + copy($src . DIRECTORY_SEPARATOR . $file, $dst . DIRECTORY_SEPARATOR . $file); + if ($del && is_writable($src . DIRECTORY_SEPARATOR . $file)) + unlink($src . DIRECTORY_SEPARATOR . $file); + } + } + } + closedir($dir); + if ($del && is_writable($src)) + rmdir($src); + } +} \ No newline at end of file diff --git a/modules/homeslider/upgrade/install-1.5.0.php b/modules/homeslider/upgrade/install-1.5.0.php new file mode 100644 index 00000000..b8cc9c54 --- /dev/null +++ b/modules/homeslider/upgrade/install-1.5.0.php @@ -0,0 +1,60 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/views/templates/admin/_configure/helpers/form/form.tpl b/modules/homeslider/views/templates/admin/_configure/helpers/form/form.tpl new file mode 100644 index 00000000..d36791cc --- /dev/null +++ b/modules/homeslider/views/templates/admin/_configure/helpers/form/form.tpl @@ -0,0 +1,81 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +{extends file="helpers/form/form.tpl"} +{block name="field"} + {if $input.type == 'file_lang'} +
    + {foreach from=$languages item=language} + {if $languages|count > 1} +
    + {/if} +
    + {if isset($fields[0]['form']['images'])} + + {/if} +
    + + + + + + +
    +
    + {if $languages|count > 1} +
    + + +
    + {/if} + {if $languages|count > 1} +
    + {/if} + + {/foreach} +
    + {/if} + {$smarty.block.parent} +{/block} \ No newline at end of file diff --git a/modules/homeslider/views/templates/admin/_configure/helpers/form/index.php b/modules/homeslider/views/templates/admin/_configure/helpers/form/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/views/templates/admin/_configure/helpers/form/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/views/templates/admin/_configure/helpers/index.php b/modules/homeslider/views/templates/admin/_configure/helpers/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/views/templates/admin/_configure/helpers/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/views/templates/admin/_configure/index.php b/modules/homeslider/views/templates/admin/_configure/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/views/templates/admin/_configure/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/views/templates/admin/index.php b/modules/homeslider/views/templates/admin/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/views/templates/admin/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/views/templates/hook/header.tpl b/modules/homeslider/views/templates/hook/header.tpl new file mode 100644 index 00000000..08579f1b --- /dev/null +++ b/modules/homeslider/views/templates/hook/header.tpl @@ -0,0 +1,8 @@ +{if isset($homeslider)} + +{/if} \ No newline at end of file diff --git a/modules/homeslider/views/templates/hook/homeslider.tpl b/modules/homeslider/views/templates/hook/homeslider.tpl new file mode 100644 index 00000000..3a7b6fb0 --- /dev/null +++ b/modules/homeslider/views/templates/hook/homeslider.tpl @@ -0,0 +1,48 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +{if $page_name =='index'} + + {if isset($homeslider_slides)} +
    + {if isset($homeslider_slides.0) && isset($homeslider_slides.0.sizes.1)}{capture name='height'}{$homeslider_slides.0.sizes.1}{/capture}{/if} +
      + {foreach from=$homeslider_slides item=slide} + {if $slide.active} +
    • + + {$slide.legend|escape:'htmlall':'UTF-8'} + + {if isset($slide.description) && trim($slide.description) != ''} +
      {$slide.description}
      + {/if} +
    • + {/if} + {/foreach} +
    +
    + {/if} + +{/if} \ No newline at end of file diff --git a/modules/homeslider/views/templates/hook/index.php b/modules/homeslider/views/templates/hook/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/homeslider/views/templates/hook/list.tpl b/modules/homeslider/views/templates/hook/list.tpl new file mode 100644 index 00000000..4dc055f1 --- /dev/null +++ b/modules/homeslider/views/templates/hook/list.tpl @@ -0,0 +1,76 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} +

    {l s='Slides list' mod='homeslider'} + + + + + + + +

    +
    +
    + {foreach from=$slides item=slide} +
    +
    +
    + +
    +
    + {$slide.title} +
    +
    +

    + #{$slide.id_slide} - {$slide.title} + {if $slide.is_shared} +
    + + {l s='Shared slide' mod='homeslider'} + +
    + {/if} +

    + +
    +
    +
    + {/foreach} +
    +
    +
    diff --git a/modules/homeslider/views/templates/index.php b/modules/homeslider/views/templates/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/homeslider/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/pagesnotfound b/modules/pagesnotfound deleted file mode 160000 index bff63e86..00000000 --- a/modules/pagesnotfound +++ /dev/null @@ -1 +0,0 @@ -Subproject commit bff63e862fd4117581cea7611482a14f7884b092 diff --git a/modules/pagesnotfound/CHANGELOG.txt b/modules/pagesnotfound/CHANGELOG.txt new file mode 100644 index 00000000..ee309992 --- /dev/null +++ b/modules/pagesnotfound/CHANGELOG.txt @@ -0,0 +1,3 @@ +2014-04-17 11:35:25 +0200 Bug fix (PS 1.5): ps_version_compliancy removed +2014-03-24 15:22:14 +0100 / MO pagesnotfound : ps_versions_compliancy added +2014-03-20 14:35:27 +0100 Initial commit diff --git a/modules/pagesnotfound/Readme.md b/modules/pagesnotfound/Readme.md new file mode 100644 index 00000000..283ab3eb --- /dev/null +++ b/modules/pagesnotfound/Readme.md @@ -0,0 +1,37 @@ +# Pages not found + +## About + +Adds a tab to the Stats dashboard, showing the pages requested by your visitors that have not been found. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the pagesnotfound project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/pagesnotfound/comment.gif b/modules/pagesnotfound/comment.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bc9233ea63c89d52a99494dd0f0735a29a3ec3b GIT binary patch literal 413 zcmV;O0b>4%P)i2vikyMR~)n*keF9=!Gc_n*K2@qsNT?}H4v4a974 z1ArVJApZ0B-@pGKzWw|E^3%Wn&p!V9|K$C@{}12&`+x7vzyG&i{r!LE6~yrB1;;^# zm?0Y=moxPMSn>r>N00000NkvXX Hu0mjf$^yWL literal 0 HcmV?d00001 diff --git a/modules/pagesnotfound/config.xml b/modules/pagesnotfound/config.xml new file mode 100644 index 00000000..aba08128 --- /dev/null +++ b/modules/pagesnotfound/config.xml @@ -0,0 +1,12 @@ + + + pagesnotfound + + + + + + 0 + 0 + + diff --git a/modules/pagesnotfound/config_fr.xml b/modules/pagesnotfound/config_fr.xml new file mode 100644 index 00000000..93045420 --- /dev/null +++ b/modules/pagesnotfound/config_fr.xml @@ -0,0 +1,12 @@ + + + pagesnotfound + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/pagesnotfound/index.php b/modules/pagesnotfound/index.php new file mode 100644 index 00000000..dfbb709d --- /dev/null +++ b/modules/pagesnotfound/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/pagesnotfound/logo.gif b/modules/pagesnotfound/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..c3cbb5dfb45a999ea0ad9003b5aa53dcf9ec7b20 GIT binary patch literal 898 zcmZ?wbhEHb6krfw_|5EBI#)}W~M>>Qw?N|gZCb;)9>3co-QMlm5Lx2^&UO87Vp52@_$+7%3$GOq2ZJ>Ldmb%# literal 0 HcmV?d00001 diff --git a/modules/pagesnotfound/logo.png b/modules/pagesnotfound/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1126fdfa8e18cbfc34dcacdd3cffdbe8b41a78b4 GIT binary patch literal 1125 zcmV-r1e*JaP)ZePu}y~E2rD9ku?-xHn~?x@%ou;77kFiM zqeipDWX?q*8Ji4{BJE%+puj+fD_3T_-doQrKLMP62>60% zJ%_QYqz02`asYdp5fg`8Q9nz%@2r7Yo?A*Y*sad;VTZMbV2# zQCxNeQ_bsu9M_lG8R~jK3aux%zP1c0OzBjnE)3v;!T<-ZA7S1x@;JnKWYeg+e z_q~egmS+K{UtC<}FjpGVnzbQkF|ee&!8ClcYcDXy`@Msr&S!`m1HBv%W}@^!1NK(c z!`-?W=*zwn7gssVm4>vW8L5G|=9g0|u6(c&@EqY%b9wuC1pC(A!Dap*%0hYdaqK(P z2>1DXu1IbmM>)!+hP0#^v>}5SxW{Q*jawrJfsq0hXdoA5FTIWOLvLa7 z>zzP<5T0_WAuVZ2JDdS;>I7S$|%Do>aMrmMZ7M?VuMNOk269XI4&%lyy zn|b)>bA>!YR$zELu_HJ}i1BU6-dKU0P30JCtk3ts1KJ_bT`d+>doa;U8us->F#2JY`|My|8n{l=N{8s76>*000000NkvXXu0mjfJ&Y1{ literal 0 HcmV?d00001 diff --git a/modules/pagesnotfound/pagesnotfound.php b/modules/pagesnotfound/pagesnotfound.php new file mode 100644 index 00000000..e74bd93c --- /dev/null +++ b/modules/pagesnotfound/pagesnotfound.php @@ -0,0 +1,218 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class PagesNotFound extends Module +{ + private $html = ''; + + public function __construct() + { + $this->name = 'pagesnotfound'; + $this->tab = 'analytics_stats'; + $this->version = '1.3.4'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + parent::__construct(); + + $this->displayName = $this->l('Pages not found'); + $this->description = $this->l('Adds a tab to the Stats dashboard, showing the pages requested by your visitors that have not been found.'); + } + + public function install() + { + if (!parent::install() || !$this->registerHook('top') || !$this->registerHook('AdminStatsModules')) + return false; + + return Db::getInstance()->execute( + 'CREATE TABLE `'._DB_PREFIX_.'pagenotfound` ( + id_pagenotfound INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + id_shop INTEGER UNSIGNED NOT NULL DEFAULT \'1\', + id_shop_group INTEGER UNSIGNED NOT NULL DEFAULT \'1\', + request_uri VARCHAR(256) NOT NULL, + http_referer VARCHAR(256) NOT NULL, + date_add DATETIME NOT NULL, + PRIMARY KEY(id_pagenotfound), + INDEX (`date_add`) + ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8;' + ); + } + + public function uninstall() + { + return (parent::uninstall() && Db::getInstance()->execute('DROP TABLE `'._DB_PREFIX_.'pagenotfound`')); + } + + private function getPages() + { + $sql = 'SELECT http_referer, request_uri, COUNT(*) as nb + FROM `'._DB_PREFIX_.'pagenotfound` + WHERE date_add BETWEEN '.ModuleGraph::getDateBetween() + .Shop::addSqlRestriction(). + 'GROUP BY http_referer, request_uri'; + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql); + + $pages = array(); + foreach ($result as $row) + { + $row['http_referer'] = parse_url($row['http_referer'], PHP_URL_HOST).parse_url($row['http_referer'], PHP_URL_PATH); + if (!isset($row['http_referer']) || empty($row['http_referer'])) + $row['http_referer'] = '--'; + if (!isset($pages[$row['request_uri']])) + $pages[$row['request_uri']] = array('nb' => 0); + $pages[$row['request_uri']][$row['http_referer']] = $row['nb']; + $pages[$row['request_uri']]['nb'] += $row['nb']; + } + uasort($pages, 'pnfSort'); + + return $pages; + } + + public function hookAdminStatsModules() + { + if (Tools::isSubmit('submitTruncatePNF')) + { + Db::getInstance()->execute('TRUNCATE `'._DB_PREFIX_.'pagenotfound`'); + $this->html .= '
    '.$this->l('The "pages not found" cache has been emptied.').'
    '; + } else if (Tools::isSubmit('submitDeletePNF')) + { + Db::getInstance()->execute( + 'DELETE FROM `'._DB_PREFIX_.'pagenotfound` + WHERE date_add BETWEEN '.ModuleGraph::getDateBetween() + ); + $this->html .= '
    '.$this->l('The "pages not found" cache has been deleted.').'
    '; + } + + $this->html .= ' +
    + '.$this->displayName.' +
    +

    '.$this->l('Guide').'

    +
    +

    '.$this->l('404 errors').'

    +

    ' + .$this->l('A 404 error is an HTTP error code which means that the file requested by the user cannot be found. In your case it means that one of your visitors entered a wrong URL in the address bar, or that you or another website has a dead link. When possible, the referrer is shown so you can find the page/site which contains the dead link. If not, it generally means that it is a direct access, so someone may have bookmarked a link which doesn\'t exist anymore.').' +

    +

     

    +

    '.$this->l('How to catch these errors?').'

    +

    ' + .sprintf($this->l('If your webhost supports .htaccess files, you can create one in the root directory of PrestaShop and insert the following line inside: "%s".'), 'ErrorDocument 404 '.__PS_BASE_URI__.'404.php').'
    '. + sprintf($this->l('A user requesting a page which doesn\'t exist will be redirected to the following page: %s. This module logs access to this page.'), __PS_BASE_URI__.'404.php').' +

    +
    '; + if (!file_exists($this->_normalizeDirectory(_PS_ROOT_DIR_).'.htaccess')) + $this->html .= '
    '.$this->l('You must use a .htaccess file to redirect 404 errors to the "404.php" page.').'
    '; + + $pages = $this->getPages(); + if (count($pages)) + { + $this->html .= ' + + + + + + + + + '; + foreach ($pages as $ru => $hrs) + foreach ($hrs as $hr => $counter) + if ($hr != 'nb') + $this->html .= ' + + + + + '; + $this->html .= ' + +
    '.$this->l('Page').''.$this->l('Referrer').''.$this->l('Counter').'
    '.wordwrap($ru, 30, '
    ', true).'
    '.wordwrap($hr, 40, '
    ', true).'
    '.$counter.'
    '; + } else + $this->html .= '
    '.$this->l('No "page not found" issue registered for now.').'
    '; + + if (count($pages)) + $this->html .= ' +

    '.$this->l('Empty database').'

    +
    + + +
    '; + + return $this->html; + } + + public function hookTop($params) + { + if (strstr($_SERVER['REQUEST_URI'], '404.php') && isset($_SERVER['REDIRECT_URL'])) + $_SERVER['REQUEST_URI'] = $_SERVER['REDIRECT_URL']; + if (!Validate::isUrl($request_uri = $_SERVER['REQUEST_URI']) || strstr($_SERVER['REQUEST_URI'], '-admin404')) + return; + + if (get_class(Context::getContext()->controller) == 'PageNotFoundController') + { + $http_referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''; + if (empty($http_referer) || Validate::isAbsoluteUrl($http_referer)) + { + Db::getInstance()->execute( + ' + INSERT INTO `'._DB_PREFIX_.'pagenotfound` (`request_uri`, `http_referer`, `date_add`, `id_shop`, `id_shop_group`) + VALUES (\''.pSQL($request_uri).'\', \''.pSQL($http_referer).'\', NOW(), '.(int)$this->context->shop->id.', '.(int)$this->context->shop->id_shop_group.') + ' + ); + } + } + } + + private function _normalizeDirectory($directory) + { + $last = $directory[strlen($directory) - 1]; + + if (in_array($last, array('/', '\\'))) + { + $directory[strlen($directory) - 1] = DIRECTORY_SEPARATOR; + return $directory; + } + + $directory .= DIRECTORY_SEPARATOR; + return $directory; + } +} + +function pnfSort($a, $b) +{ + if ($a['nb'] == $b['nb']) + return 0; + + return ($a['nb'] > $b['nb']) ? -1 : 1; +} diff --git a/modules/pagesnotfound/translations/fr.php b/modules/pagesnotfound/translations/fr.php new file mode 100644 index 00000000..5808c0dc --- /dev/null +++ b/modules/pagesnotfound/translations/fr.php @@ -0,0 +1,26 @@ +pagesnotfound_251295238bdf7693252f2804c8d3707e'] = 'Pages introuvables'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_607cc8b8993662a37cac86032fb071d2'] = 'Ajoute un onglet au tableau de bord de statistiques, affichant les pages demandées par vos visiteurs mais qui n\'ont pas été trouvées.'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_dc3a3db6b98723bf91f924537a630600'] = 'Le cache "pages introuvables" a été vidé.'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_b323790d8ee3c43d317d19aea5012626'] = 'Le cache "pages introuvables" a été effacé.'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_6602bbeb2956c035fb4cb5e844a4861b'] = 'Guide'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_3604249130acf7fda296e16edc996e5b'] = 'Erreurs 404'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_675f1f46497aeeee35832a5d9d095976'] = 'Une erreur 404 est un code d\'erreur HTTP signifiant que le fichier demandé par l\'utilisateur est introuvable. Dans votre cas cela signifie qu\'un de vos visiteurs a tapé une mauvaise URL dans la barre d\'adresse ou que votre site ou un autre site contient un lien mort quelque part. Quand cela est possible, la page source est affichée afin que vous puissiez trouver la page ou le site qui contient le lien mort. Dans le cas contraire, il s\'agit probablement d\'un accès direct, ce qui peut aussi vouloir dire qu\'un utilisateur a mis en favoris une page qui n\'existe plus.'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_a90083861c168ef985bf70763980aa60'] = 'Comment attraper ces erreurs ?'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_4f803d59ee120b11662027e049cba1f3'] = 'Si votre hébergeur autorise les fichiers .htaccess, vous pouvez en créer un à la racine de votre PrestaShop et insérer la ligne suivante : "%s".'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_07e7f83ae625fe216a644d09feab4573'] = 'Un utilisateur demandant une page qui n\'existe pas sera renvoyé vers la page suivante : %s. Ce module note les accès à cette page.'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_01bd0bf7c5a68ad6ee4423118be3f7b6'] = 'Vous devez utiliser un fichier .htaccess pour renvoyer les erreurs 404 vers la page "404.php".'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_193cfc9be3b995831c6af2fea6650e60'] = 'Page'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_b6f05e5ddde1ec63d992d61144452dfa'] = 'Origine'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_64d129224a5377b63e9727479ec987d9'] = 'Compteur'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_4a7a7e7cda40454cee7ec247660f8017'] = 'Aucun problème de type "page introuvable" pour le moment.'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_d8847bc418fc4f5a3e37c2e8390bb9ed'] = 'Suppression'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_b9ae3636d6e672413a163f7cb34beb84'] = 'Vider toutes les mentions "pages introuvables" pour cette intervalle de temps'; +$_MODULE['<{pagesnotfound}prestashop>pagesnotfound_0cf5c3a279c0e8c57b232d8c6bc3f06a'] = 'Vider toutes les mentions "pages introuvables'; + + +return $_MODULE; diff --git a/modules/pagesnotfound/translations/index.php b/modules/pagesnotfound/translations/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/pagesnotfound/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/productpaymentlogos b/modules/productpaymentlogos deleted file mode 160000 index ae366263..00000000 --- a/modules/productpaymentlogos +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ae3662635159155f11ed73c1831cece50be60442 diff --git a/modules/productpaymentlogos/CHANGELOG.txt b/modules/productpaymentlogos/CHANGELOG.txt new file mode 100644 index 00000000..1fa2608f --- /dev/null +++ b/modules/productpaymentlogos/CHANGELOG.txt @@ -0,0 +1,4 @@ +2014-04-17 11:53:57 +0200 // Version compliancy +2014-03-31 12:08:03 +0200 [-] MO : productpaymentlogos : if there is not a link specified in the configuration, no link will be displayed +2014-03-24 15:22:19 +0100 / MO productpaymentlogos : ps_versions_compliancy added +2014-03-20 14:35:30 +0100 Initial commit diff --git a/modules/productpaymentlogos/Readme.md b/modules/productpaymentlogos/Readme.md new file mode 100644 index 00000000..3ce0cd1d --- /dev/null +++ b/modules/productpaymentlogos/Readme.md @@ -0,0 +1,37 @@ +# Product payment logos block + +## About + +Displays the logos of the available payment systems on the product page. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the productpaymentlogos project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/productpaymentlogos/config.xml b/modules/productpaymentlogos/config.xml new file mode 100644 index 00000000..b69b656c --- /dev/null +++ b/modules/productpaymentlogos/config.xml @@ -0,0 +1,12 @@ + + + productpaymentlogos + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/productpaymentlogos/config_fr.xml b/modules/productpaymentlogos/config_fr.xml new file mode 100644 index 00000000..9dccff01 --- /dev/null +++ b/modules/productpaymentlogos/config_fr.xml @@ -0,0 +1,12 @@ + + + productpaymentlogos + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/productpaymentlogos/img/17fc454569a83223b99490afed0bd20d.png b/modules/productpaymentlogos/img/17fc454569a83223b99490afed0bd20d.png new file mode 100644 index 0000000000000000000000000000000000000000..fc567e85dd014a840d9215d71b1cbf71543dbdb5 GIT binary patch literal 8088 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 B2QdHu literal 0 HcmV?d00001 diff --git a/modules/productpaymentlogos/img/index.php b/modules/productpaymentlogos/img/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/productpaymentlogos/img/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productpaymentlogos/index.php b/modules/productpaymentlogos/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/productpaymentlogos/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productpaymentlogos/logo.gif b/modules/productpaymentlogos/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..659aace81c639dac0e3905c1a6d792c94051c20a GIT binary patch literal 280 zcmZ?wbhEHb6krfwIKsf-=jV6k%$dD=_by$!w56rx-o1Op#l_E_J=?Nn%gmWGv$M00 z9zFX0{rhXzuBD}=O`be?_3G8%zkjc(sp;zKVju!2{$ycfXAor20jUMq$-p`_L8Z^< zvP|+Sw&RT*Jyk4@TSSg_^PH{_={e+-(Bu%&5%;9P*wWXeGa)470!wF0!bS%lUSu@dqsemBSV>Nkhb4}ekAst$vC6)liHVDgO^G)qMxcvBKz{=B yM3eS*CPuCqycNtWEHQnvganj1*w}c4+c)qr@Ea)!H}EOdXen{C1npO3um%7GB3L{C literal 0 HcmV?d00001 diff --git a/modules/productpaymentlogos/logo.png b/modules/productpaymentlogos/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e1256c3490e16ba3a6b9a507db5c9e8fd1ed84e6 GIT binary patch literal 1940 zcmV;F2W$9=P)47^6~}*PX6}89w z)y(Ixw97MK8Qq0|L)-w7$CEY1d~RKYZXRESNIGZTk+Cz?Zo z7-OJfg`|bLf8?k!@9Ud0^0CS=#{vKw!`9oN*y#{)7;#t=GRh!GNR@yeG`~n7LTns} zL5yHTFvirH$T4Fgg0mklO~+Bua{}Z0V7f<09a3n7(P0k)8_hGU4ZBenaCrYduJ;df zS9T?c5QrgrU^i%eB@qN6dtf)-E5%rG^X9_GDCL+CI0J1R5Y94u`|Kj?|JX?D=@#QH zYKF1FDDg-;^SWD^XW)K)mmiN`$mIUrw0&+7azq0)=Pj9qc=d!;uqJ=v5Ll^iB8FX; zS$ZER;sMlPHDHr}gsdL}@4#D{O^#p8eStPxpzMX%E2Bl zUb{8H;P=z05!8SYON?iWf1*yL19i-@d4AOX8lA2{SuL>&ALd#Cdom()7DT`(_>>?h zXWo@VlLoBdjANQ{HgR`-b^ziKBlIuW$^|WBR3yZU1!E8~^XYpS0BKtIsH(dSeYBvw$E|JNzv z=ZlQoG7oVPL$9nP%wE8aH(kl!w@=ak=x)lfCkzZNY0G7&cXRE{xAM?$@1yY6)7aiM zCm}+qiEySNwWMugBtT(oo+qxp!5a!j`BDFV$+j>%%ob9>6Hx$r_>-SQIW^e*DV>A-yW z6ts3iTbH4&OHhUOjG;Ya>F5+XGO+X~2g#2tX4&$EJUN)*M5tO*q~cMHPywIqcQJkyKn0pw_NKwv3FQkAMBw*wiQuU$}|n;tgokF`X;W zm~HDj<~#aS2B{VaZMB(O6HS92+=%5K1W}Oq2*mu3~I_CG^~Z zOYOn!PZNYm(w*<}*5FQ7pR$NI50z$JYP=B}ngnm}vGkN{jEqI|oq;u^uroK31AC!zAaw&iV(G zYp%YWt&<716&=$RhzumX=hUFcQk~?%M;@bh*)mr2_3@i~e@DdGp9~-v`Yw}g_d&;N z6i1*~u3$`oz&jiv#YicZ67;U!z>a4}_~ku^S+%l{Z!Ya2nMj~OsZ?g?_IJ4dl`SOG zjdU+Kg+#iUudnT9#Zx!3`P$Q#-@JbCFrW_L=u&18A_CYw6$E6vZC@KfcUFq@G^oNRCtL$Jsclb1r4g zz8^wQ1rGiT#KN+#5&PEx8U&aHECgnMBv1bTEO@Ga^~Nvu?1WSU+v0OJO%0E(KJVsd z=Lrx14M51JXN^GSPj{}}tST7sTyf{dbAk7S&&EQa9moJ_U +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class ProductPaymentLogos extends Module +{ + public function __construct() + { + $this->name = 'productpaymentlogos'; + $this->tab = 'front_office_features'; + $this->version = '1.3.7'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + $this->bootstrap = true; + parent::__construct(); + + $this->displayName = $this->l('Product payment logos block'); + $this->description = $this->l('Displays the logos of the available payment systems on the product page.'); + } + + public function install() + { + Configuration::updateValue('PRODUCTPAYMENTLOGOS_IMG', 'payment-logo.png'); + Configuration::updateValue('PRODUCTPAYMENTLOGOS_LINK', ''); + Configuration::updateValue('PRODUCTPAYMENTLOGOS_TITLE', ''); + + $this->_clearCache('productpaymentlogos.tpl'); + + return parent::install() && $this->registerHook('displayProductButtons') && $this->registerHook('header'); + } + + public function uninstall() + { + Configuration::deleteByName('PRODUCTPAYMENTLOGOS_IMG'); + Configuration::deleteByName('PRODUCTPAYMENTLOGOS_LINK'); + Configuration::deleteByName('PRODUCTPAYMENTLOGOS_TITLE'); + + return parent::uninstall(); + } + + public function hookDisplayProductButtons($params) + { + if (Configuration::get('PS_CATALOG_MODE')) + return; + if (!$this->isCached('productpaymentlogos.tpl', $this->getCacheId())) + { + $this->smarty->assign(array( + 'banner_img' => 'img/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'), + 'banner_link' => Configuration::get('PRODUCTPAYMENTLOGOS_LINK'), + 'banner_title' => Configuration::get('PRODUCTPAYMENTLOGOS_TITLE') + )); + } + return $this->display(__FILE__, 'productpaymentlogos.tpl', $this->getCacheId()); + } + + public function hookHeader($params) + { + if (Configuration::get('PS_CATALOG_MODE')) + return; + $this->context->controller->addCSS($this->_path.'productpaymentlogos.css', 'all'); + } + + public function postProcess() + { + if (Tools::isSubmit('submitStoreConf')) + { + Configuration::updateValue('PRODUCTPAYMENTLOGOS_LINK', Tools::getValue('PRODUCTPAYMENTLOGOS_LINK')); + Configuration::updateValue('PRODUCTPAYMENTLOGOS_TITLE', Tools::getValue('PRODUCTPAYMENTLOGOS_TITLE')); + if (isset($_FILES['PRODUCTPAYMENTLOGOS_IMG']) && isset($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name']) && !empty($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name'])) + { + if (ImageManager::validateUpload($_FILES['PRODUCTPAYMENTLOGOS_IMG'], 4000000)) + return $this->displayError($this->l('Invalid image')); + else + { + $ext = Tools::substr($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name'], Tools::strrpos($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name'], '.') + 1); + $file_name = md5($_FILES['PRODUCTPAYMENTLOGOS_IMG']['name']).'.'.$ext; + if (!move_uploaded_file($_FILES['PRODUCTPAYMENTLOGOS_IMG']['tmp_name'], dirname(__FILE__).'/img/'.$file_name)) + return $this->displayError($this->l('An error occurred while attempting to upload the file.')); + else + { + $file_path = dirname(__FILE__).'/img/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'); + + if (Configuration::hasContext('PRODUCTPAYMENTLOGOS_IMG', null, Shop::getContext()) && + Configuration::get('PRODUCTPAYMENTLOGOS_IMG') != $file_name && + file_exists($file_path) + ) + unlink($file_path); + + Configuration::updateValue('PRODUCTPAYMENTLOGOS_IMG', $file_name); + $this->_clearCache('productpaymentlogos.tpl'); + + Tools::redirectAdmin('index.php?tab=AdminModules&conf=6&configure='.$this->name.'&token='.Tools::getAdminTokenLite('AdminModules')); + } + } + } + $this->_clearCache('productpaymentlogos.tpl'); + } + + return ''; + } + + public function getContent() + { + return $this->postProcess().$this->renderForm(); + } + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'text', + 'label' => $this->l('Block heading'), + 'name' => 'PRODUCTPAYMENTLOGOS_TITLE', + 'desc' => $this->l('You can choose to add a heading above the logos.') + ), + array( + 'type' => 'file', + 'label' => $this->l('Block image'), + 'name' => 'PRODUCTPAYMENTLOGOS_IMG', + 'thumb' => '../modules/'.$this->name.'/img/'.Configuration::get('PRODUCTPAYMENTLOGOS_IMG'), + ), + array( + 'type' => 'text', + 'label' => $this->l('Image link'), + 'name' => 'PRODUCTPAYMENTLOGOS_LINK', + 'desc' => $this->l('You can either upload your own image using the form above, or link to it from the "Image link" option.') + ) + ), + 'submit' => array( + 'title' => $this->l('Save'), + ) + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitStoreConf'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'PRODUCTPAYMENTLOGOS_IMG' => Tools::getValue('PRODUCTPAYMENTLOGOS_IMG', Configuration::get('PRODUCTPAYMENTLOGOS_IMG')), + 'PRODUCTPAYMENTLOGOS_LINK' => Tools::getValue('PRODUCTPAYMENTLOGOS_LINK', Configuration::get('PRODUCTPAYMENTLOGOS_LINK')), + 'PRODUCTPAYMENTLOGOS_TITLE' => Tools::getValue('PRODUCTPAYMENTLOGOS_TITLE', Configuration::get('PRODUCTPAYMENTLOGOS_TITLE')), + ); + } +} diff --git a/modules/productpaymentlogos/translations/fr.php b/modules/productpaymentlogos/translations/fr.php new file mode 100644 index 00000000..976a0a5f --- /dev/null +++ b/modules/productpaymentlogos/translations/fr.php @@ -0,0 +1,19 @@ +productpaymentlogos_1056d03db619b016d8fc6b60d08ef488'] = 'Bloc logos des modules de paiement'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_88fd6d994459806f2dcb8999ac03c76e'] = 'Affiche sur la page produit les logos des solutions de paiement disponibles.'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_126b21ce46c39d12c24058791a236777'] = 'image non valable'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_df7859ac16e724c9b1fba0a364503d72'] = 'une erreur s\'est produite lors de l\'envoi'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_f4f70727dc34561dfde1a3c529b6205c'] = 'Paramètres'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_223795d3a336ef80c5b6a070ae4e0d2a'] = 'En-tête du bloc'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_c7dd01cfb61ff8c984c0aff44f6540e3'] = 'Vous pouvez choisir d\'ajouter un titre au-dessus des logos.'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_89ca5c48bbc6b7a648a5c1996767484c'] = 'Image'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_9ce38727cff004a058021a6c7351a74a'] = 'Lien de l\'image'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_826eeee52fe142372c3a2bc195eff911'] = 'Vous pouvez soit mettre votre propre image en ligne à l\'aide du formulaire ci-dessus, ou mettre un lien vers celle-ci grâce à l\'option "Lien de l\'image".'; +$_MODULE['<{productpaymentlogos}prestashop>productpaymentlogos_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; + + +return $_MODULE; diff --git a/modules/productpaymentlogos/translations/index.php b/modules/productpaymentlogos/translations/index.php new file mode 100644 index 00000000..044cb85e --- /dev/null +++ b/modules/productpaymentlogos/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/productpaymentlogos/views/index.php b/modules/productpaymentlogos/views/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/productpaymentlogos/views/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productpaymentlogos/views/templates/hook/index.php b/modules/productpaymentlogos/views/templates/hook/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/productpaymentlogos/views/templates/hook/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productpaymentlogos/views/templates/hook/productpaymentlogos.tpl b/modules/productpaymentlogos/views/templates/hook/productpaymentlogos.tpl new file mode 100644 index 00000000..56db83f9 --- /dev/null +++ b/modules/productpaymentlogos/views/templates/hook/productpaymentlogos.tpl @@ -0,0 +1,34 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +
    +
    +
    {$banner_title|escape:'htmlall':'UTF-8'}
    + {if $banner_link != ''}{/if} + {$banner_title|escape:'htmlall':'UTF-8'} + {if $banner_link != ''}{/if} +
    +
    + diff --git a/modules/productpaymentlogos/views/templates/index.php b/modules/productpaymentlogos/views/templates/index.php new file mode 100644 index 00000000..9484a53e --- /dev/null +++ b/modules/productpaymentlogos/views/templates/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory b/modules/productscategory deleted file mode 160000 index 9c3c7b99..00000000 --- a/modules/productscategory +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9c3c7b99025b9dbe73e706786584aab73e7dd7f1 diff --git a/modules/productscategory/CHANGELOG.txt b/modules/productscategory/CHANGELOG.txt new file mode 100644 index 00000000..6c3b9a0d --- /dev/null +++ b/modules/productscategory/CHANGELOG.txt @@ -0,0 +1,4 @@ +2014-04-17 12:07:47 +0200 // version compliancy +2014-04-07 13:48:08 +0200 // Update translation (module name) +2014-03-24 15:22:21 +0100 / MO productscategory : ps_versions_compliancy added +2014-03-20 14:35:33 +0100 Initial commit diff --git a/modules/productscategory/Readme.md b/modules/productscategory/Readme.md new file mode 100644 index 00000000..7f0afc82 --- /dev/null +++ b/modules/productscategory/Readme.md @@ -0,0 +1,37 @@ +# Products in the same category + +## About + +Adds a block on the product page that displays products from the same category. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the productscategory project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/productscategory/config.xml b/modules/productscategory/config.xml new file mode 100644 index 00000000..69581793 --- /dev/null +++ b/modules/productscategory/config.xml @@ -0,0 +1,12 @@ + + + productscategory + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/productscategory/config_fr.xml b/modules/productscategory/config_fr.xml new file mode 100644 index 00000000..f0cca79a --- /dev/null +++ b/modules/productscategory/config_fr.xml @@ -0,0 +1,12 @@ + + + productscategory + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/productscategory/css/index.php b/modules/productscategory/css/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/css/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory/css/productscategory.css b/modules/productscategory/css/productscategory.css new file mode 100644 index 00000000..54198aca --- /dev/null +++ b/modules/productscategory/css/productscategory.css @@ -0,0 +1,52 @@ +h2.productscategory_h2 { + margin:40px 0 20px 0; + padding:10px 0; + border-bottom:1px solid #ccc; + font-size:18px; + color:#333 +} + +#productscategory {overflow:auto} + +#productscategory_list { + overflow: hidden; + float: left; + width: 96%; +} +#productscategory_list ul { + list-style-type:none; + margin: 0 0 0 14px; +} +#productscategory_list li { + float:left; + margin: 0 9px; + padding: 0 5px; +} + +@media screen and (-webkit-min-device-pixel-ratio:0) { + #productscategory_list li { + margin: 0 7px; + } +} + +#productscategory_list li a.lnk_img {display:block} +#productscategory_list li a img {border:1px solid #ccc} +#productscategory_list li p.product_name {text-align:center} + +#productscategory_noscroll { + height: 120px; + width: 100%; + margin-bottom: 30px; +} + +#productscategory_scroll_left, #productscategory_scroll_right { + background: url('../img/thumbs_left.gif') no-repeat center; + text-indent: -3000px; + display: block; + width: 9px; + height: 18px; + float: left; + margin-top: 30px; +} + +#productscategory_scroll_right { background-image: url('../img/thumbs_right.gif'); } \ No newline at end of file diff --git a/modules/productscategory/img/index.php b/modules/productscategory/img/index.php new file mode 100644 index 00000000..5c9a7a48 --- /dev/null +++ b/modules/productscategory/img/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/productscategory/img/thumbs_left.gif b/modules/productscategory/img/thumbs_left.gif new file mode 100644 index 0000000000000000000000000000000000000000..2830a5fc8fe7f8ed6e754fe6324c236d2362b76d GIT binary patch literal 201 zcmZ?wbhEHb#mkp3|NHmv+O=ypZ{ECp`}VJ2zwX|>`~Uxc25dm_ zCkrD3g9L*PND^cx1FM^YTHlN>6BbR0SdkL*MnhLr$2vsT`^c2rlbnw%pB$rbcs{G3 qgHU2)TF~+ai>WglQ?gDQ%`@a#&?w8OWhL_9k}4-hV!0va8l^XJch{P^+n=g%iko_ziK z_3G8D4VjryY}zjzsr{|U%Ytn{Q2`|&z}AM{rms_{~2%t#h)yU3=Con zIv^z=I~iD=6c{2?GDFX0%nMmOP1KZA-`exA^nJm_?I284@;~5Z4J@qc!=!siuJS&J5N7EjL_V literal 0 HcmV?d00001 diff --git a/modules/productscategory/index.php b/modules/productscategory/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory/js/index.php b/modules/productscategory/js/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/js/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory/js/productscategory.js b/modules/productscategory/js/productscategory.js new file mode 100644 index 00000000..662bc91e --- /dev/null +++ b/modules/productscategory/js/productscategory.js @@ -0,0 +1,54 @@ +/* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +function pc_serialScrollFixLock(event, targeted, scrolled, items, position) +{ + var leftArrow = position == 0 ? true : false; + var rightArrow = position + 5 >= $('#productscategory_list li:visible').length ? true : false; + + $('a#productscategory_scroll_left').css('cursor', leftArrow ? 'default' : 'pointer').fadeTo(0, leftArrow ? 0 : 1); + $('a#productscategory_scroll_right').css('cursor', rightArrow ? 'default' : 'pointer').fadeTo(0, rightArrow ? 0 : 1).css('display', rightArrow ? 'none' : 'block'); + + return true; +} + +$(document).ready(function() +{ + $('#productscategory_list').serialScroll({ + items: 'li', + prev: 'a#productscategory_scroll_left', + next: 'a#productscategory_scroll_right', + axis: 'x', + offset: 0, + stop: true, + onBefore: pc_serialScrollFixLock, + duration: 300, + step: 1, + lazy: true, + lock: false, + force: false, + cycle: false }); + $('#productscategory_list').trigger( 'goto', 0); +}); \ No newline at end of file diff --git a/modules/productscategory/logo.gif b/modules/productscategory/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8d62638a65520d58e2125ce4e69e66ff9b47f15 GIT binary patch literal 1071 zcmd_p?N1YT0KoBEth2hgfmt?Rkgd)Q(TFjDR+KmG(3Wl^3fAbHLMv@DkSw7z8<@_v zY&;}m7zBnf%b+}zP^!eiB4SJim<^FZS&Ou1cecT0s8uY>r$uwqpMQ`Ed-p{`7J6S!TG7O%p9XelUR~h>*Tp2!db)eMfC^I^~G81@Wh>L_@MO*6U*`DZOxJ7+`u8Dp{%~}*^2vM`a2^GV z`RGCg<~okK6dUu+sIv-lE75=S_>+^sRp;;ld|8Drp9O9cShB?29U};_v^+<6FJjA$ z1YAx$)nT62I{}9DRblYYqpL|0(UZtGW5E>eYsa7dIu_yxq>c0&38ce^Al_#y_`icx zz(TDw5dLmz^+z(`po6WU;36Grqn~#s)_zHZt%-0y8Gb~sPcackC_;uJ6cZf{Makz; za%}@$-$2>ey%#ZZEk;G+)H+H

    PBBUIOYRpjj}R1T!p{ivlVNXcS;c%n2|I#VLSO z7*4U|8j}EQBF-jImH{k-r5KcBVkri2NsLXVxFpFXDLzT?DUwgo9GBu>;dp-2|Ghn2 zdVyZ2G3d0SZz~L6i4@ABQ_!A-;I$nP4;_Rydo>Cqq#%BK2E9<ylMRSHueEsTZ1*#EvR0+TE4TVa6e3~`A zdUpT4wmA$92l5y3olFtps}FaWzI$roP^opp^i`)zz1O9W1| zT+zC$c*2LJXm@Y6_V>eFGv!&U;Ccdu{!Z*-ad-(iugN6AG#m0d4bCY4W4QLzx4&;A`4iwvHwelF{r5}E*} Czt^(> literal 0 HcmV?d00001 diff --git a/modules/productscategory/productscategory.php b/modules/productscategory/productscategory.php new file mode 100644 index 00000000..29e32d22 --- /dev/null +++ b/modules/productscategory/productscategory.php @@ -0,0 +1,317 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class ProductsCategory extends Module +{ + protected $html; + + public function __construct() + { + $this->name = 'productscategory'; + $this->version = '1.7.0'; + $this->author = 'PrestaShop'; + $this->tab = 'front_office_features'; + $this->need_instance = 0; + + $this->bootstrap = true; + parent::__construct(); + + $this->displayName = $this->l('Products in the same category'); + $this->description = $this->l('Adds a block on the product page that displays products from the same category.'); + } + + public function install() + { + Configuration::updateValue('PRODUCTSCATEGORY_DISPLAY_PRICE', 0); + $this->_clearCache('productscategory.tpl'); + + return (parent::install() + && $this->registerHook('productfooter') + && $this->registerHook('header') + && $this->registerHook('addproduct') + && $this->registerHook('updateproduct') + && $this->registerHook('deleteproduct') + ); + } + + public function uninstall() + { + Configuration::deleteByName('PRODUCTSCATEGORY_DISPLAY_PRICE'); + $this->_clearCache('productscategory.tpl'); + + return parent::uninstall(); + } + + public function getContent() + { + $this->html = ''; + if (Tools::isSubmit('submitCross') && + Tools::getValue('PRODUCTSCATEGORY_DISPLAY_PRICE') != 0 && + Tools::getValue('PRODUCTSCATEGORY_DISPLAY_PRICE') != 1 + ) + $this->html .= $this->displayError('Invalid displayPrice.'); + elseif (Tools::isSubmit('submitCross')) + { + Configuration::updateValue( + 'PRODUCTSCATEGORY_DISPLAY_PRICE', + Tools::getValue('PRODUCTSCATEGORY_DISPLAY_PRICE') + ); + $this->_clearCache('productscategory.tpl'); + $this->html .= $this->displayConfirmation($this->l('Settings updated successfully.')); + } + $this->html .= $this->renderForm(); + + return $this->html; + } + + protected function getCurrentProduct($products, $id_current) + { + if ($products) + { + foreach ($products as $key => $product) + { + if ($product['id_product'] == $id_current) + return $key; + } + } + + return false; + } + + public function hookProductFooter($params) + { + $id_product = (int)$params['product']->id; + $product = $params['product']; + + $cache_id = 'productscategory|'.$id_product.'|'.(isset($params['category']->id_category) ? (int)$params['category']->id_category : (int)$product->id_category_default); + + if (!$this->isCached('productscategory.tpl', $this->getCacheId($cache_id))) + { + + $category = false; + if (isset($params['category']->id_category)) + $category = $params['category']; + else + { + if (isset($product->id_category_default) && $product->id_category_default > 1) + $category = new Category((int)$product->id_category_default); + } + + if (!Validate::isLoadedObject($category) || !$category->active) + return false; + + // Get infos + $category_products = $category->getProducts($this->context->language->id, 1, 100); /* 100 products max. */ + $nb_category_products = (int)count($category_products); + $middle_position = 0; + + // Remove current product from the list + if (is_array($category_products) && count($category_products)) + { + foreach ($category_products as $key => $category_product) + { + if ($category_product['id_product'] == $id_product) + { + unset($category_products[$key]); + break; + } + } + + $taxes = Product::getTaxCalculationMethod(); + if (Configuration::get('PRODUCTSCATEGORY_DISPLAY_PRICE')) + { + foreach ($category_products as $key => $category_product) + { + if ($category_product['id_product'] != $id_product) + { + if ($taxes == 0 || $taxes == 2) + { + $category_products[$key]['displayed_price'] = Product::getPriceStatic( + (int)$category_product['id_product'], + true, + null, + 2 + ); + } elseif ($taxes == 1) + { + $category_products[$key]['displayed_price'] = Product::getPriceStatic( + (int)$category_product['id_product'], + false, + null, + 2 + ); + } + } + } + } + + // Get positions + $middle_position = (int)round($nb_category_products / 2, 0); + $product_position = $this->getCurrentProduct($category_products, (int)$id_product); + + // Flip middle product with current product + if ($product_position) + { + $tmp = $category_products[$middle_position - 1]; + $category_products[$middle_position - 1] = $category_products[$product_position]; + $category_products[$product_position] = $tmp; + } + + // If products tab higher than 30, slice it + if ($nb_category_products > 30) + { + $category_products = array_slice($category_products, $middle_position - 15, 30, true); + $middle_position = 15; + } + } + + // Display tpl + $this->smarty->assign( + array( + 'categoryProducts' => $category_products, + 'middlePosition' => (int)$middle_position, + 'ProdDisplayPrice' => Configuration::get('PRODUCTSCATEGORY_DISPLAY_PRICE') + ) + ); + } + + return $this->display(__FILE__, 'productscategory.tpl', $this->getCacheId($cache_id)); + } + + public function hookHeader($params) + { + if (!isset($this->context->controller->php_self) || $this->context->controller->php_self != 'product') + return; + $this->context->controller->addCSS($this->_path.'css/productscategory.css', 'all'); + $this->context->controller->addJS($this->_path.'js/productscategory.js'); + $this->context->controller->addJqueryPlugin(array('scrollTo', 'serialScroll', 'bxslider')); + } + + public function hookAddProduct($params) + { + if (!isset($params['product'])) + return; + $id_product = (int)$params['product']->id; + $product = $params['product']; + + $cache_id = 'productscategory|'.$id_product.'|'.(isset($params['category']->id_category) ? (int)$params['category']->id_category : (int)$product->id_category_default); + $this->_clearCache('productscategory.tpl', $this->getCacheId($cache_id)); + } + + public function hookUpdateProduct($params) + { + if (!isset($params['product'])) + return; + $id_product = (int)$params['product']->id; + $product = $params['product']; + + $cache_id = 'productscategory|'.$id_product.'|'.(isset($params['category']->id_category) ? (int)$params['category']->id_category : (int)$product->id_category_default); + $this->_clearCache('productscategory.tpl', $this->getCacheId($cache_id)); + } + + public function hookDeleteProduct($params) + { + if (!isset($params['product'])) + return; + $id_product = (int)$params['product']->id; + $product = $params['product']; + + $cache_id = 'productscategory|'.$id_product.'|'.(isset($params['category']->id_category) ? (int)$params['category']->id_category : (int)$product->id_category_default); + $this->_clearCache('productscategory.tpl', $this->getCacheId($cache_id)); + } + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'switch', + 'label' => $this->l('Display products\' prices'), + 'desc' => $this->l('Show the prices of the products displayed in the block.'), + 'name' => 'PRODUCTSCATEGORY_DISPLAY_PRICE', + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + ), + 'submit' => array( + 'title' => $this->l('Save'), + ) + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get( + 'PS_BO_ALLOW_EMPLOYEE_FORM_LANG' + ) : 0; + $helper->identifier = $this->identifier; + $helper->submit_action = 'submitCross'; + $helper->currentIndex = $this->context->link->getAdminLink( + 'AdminModules', + false + ).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'PRODUCTSCATEGORY_DISPLAY_PRICE' => Tools::getValue( + 'PRODUCTSCATEGORY_DISPLAY_PRICE', + Configuration::get('PRODUCTSCATEGORY_DISPLAY_PRICE') + ), + ); + } + +} diff --git a/modules/productscategory/translations/fr.php b/modules/productscategory/translations/fr.php new file mode 100644 index 00000000..3680da4d --- /dev/null +++ b/modules/productscategory/translations/fr.php @@ -0,0 +1,22 @@ +productscategory_8a4f5a66d0fcc9d13614516db6e3d47a'] = 'Produits dans la même catégorie'; +$_MODULE['<{productscategory}prestashop>productscategory_1d269d7f013c3d9d891a146f4379eb02'] = 'Ajoute un bloc sur la fiche produit pour afficher des produits de la même catégorie.'; +$_MODULE['<{productscategory}prestashop>productscategory_8dd2f915acf4ec98006d11c9a4b0945b'] = 'Paramètres mis à jour avec succès'; +$_MODULE['<{productscategory}prestashop>productscategory_f4f70727dc34561dfde1a3c529b6205c'] = 'Paramètres'; +$_MODULE['<{productscategory}prestashop>productscategory_e06ba84b50810a88438ae0537405f65a'] = 'Afficher les prix des produits'; +$_MODULE['<{productscategory}prestashop>productscategory_1d986024f548d57b1d743ec7ea9b09d9'] = 'Afficher les prix des produits affichés dans le bloc.'; +$_MODULE['<{productscategory}prestashop>productscategory_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Activé'; +$_MODULE['<{productscategory}prestashop>productscategory_b9f5c797ebbf55adccdd8539a65a0241'] = 'Désactivé'; +$_MODULE['<{productscategory}prestashop>productscategory_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; +$_MODULE['<{productscategory}prestashop>productscategory_f55e0a28b86c2ab66ac632ab9ddf1833'] = '%s autre produit dans la même catégorie :'; +$_MODULE['<{productscategory}prestashop>productscategory_bebb44f38b03407098d48198c1d0aaa5'] = '%s autres produits dans la même catégorie :'; +$_MODULE['<{productscategory}prestashop>productscategory_dd1f775e443ff3b9a89270713580a51b'] = 'Précédent'; +$_MODULE['<{productscategory}prestashop>productscategory_10ac3d04253ef7e1ddc73e6091c0cd55'] = 'Suivant'; +$_MODULE['<{productscategory}prestashop>productscategory_2d0f6b8300be19cf35e89e66f0677f95'] = 'Ajouter au panier'; + + +return $_MODULE; diff --git a/modules/productscategory/translations/index.php b/modules/productscategory/translations/index.php new file mode 100644 index 00000000..044cb85e --- /dev/null +++ b/modules/productscategory/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/productscategory/upgrade/index.php b/modules/productscategory/upgrade/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/upgrade/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory/upgrade/install-1.4.php b/modules/productscategory/upgrade/install-1.4.php new file mode 100644 index 00000000..8784be52 --- /dev/null +++ b/modules/productscategory/upgrade/install-1.4.php @@ -0,0 +1,33 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ +if (!defined('_PS_VERSION_')) + exit; + +function upgrade_module_1_4($object) +{ + return ($object->registerHook('addproduct') && $object->registerHook('updateproduct') && $object->registerHook('deleteproduct')); +} diff --git a/modules/productscategory/upgrade/install-1.5.php b/modules/productscategory/upgrade/install-1.5.php new file mode 100644 index 00000000..27668935 --- /dev/null +++ b/modules/productscategory/upgrade/install-1.5.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ +if (!defined('_PS_VERSION_')) + exit; + +function upgrade_module_1_5($object) +{ + if (!$object->isRegisteredInHook('header')) + return $object->registerHook('header'); + return true; +} diff --git a/modules/productscategory/views/index.php b/modules/productscategory/views/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/views/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory/views/templates/hook/index.php b/modules/productscategory/views/templates/hook/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/views/templates/hook/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/productscategory/views/templates/hook/productscategory.tpl b/modules/productscategory/views/templates/hook/productscategory.tpl new file mode 100644 index 00000000..0d01226c --- /dev/null +++ b/modules/productscategory/views/templates/hook/productscategory.tpl @@ -0,0 +1,62 @@ +{* +* 2007-2015 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2015 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + +{if isset($categoryProducts) && count($categoryProducts) > 0 && $categoryProducts !== false} +

    +

    + {if $categoryProducts|@count == 1} + {l s='%s other product in the same category:' sprintf=[$categoryProducts|@count] mod='productscategory'} + {else} + {l s='%s other products in the same category:' sprintf=[$categoryProducts|@count] mod='productscategory'} + {/if} +

    +
    + {if count($categoryProducts) > 5}{l s='Previous' mod='productscategory'}{/if} +
    +
      5}style="width: {math equation="width * nbImages" width=107 nbImages=$categoryProducts|@count}px"{/if}> + {foreach from=$categoryProducts item='categoryProduct' name=categoryProduct} +
    • + {$categoryProduct.name|htmlspecialchars} +

      + {$categoryProduct.name|truncate:14:'...'|escape:'html':'UTF-8'} +

      + {if $ProdDisplayPrice AND $categoryProduct.show_price == 1 AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE} +

      + {convertPrice price=$categoryProduct.displayed_price} +

      + {else} +
      + {/if} +
    • + {/foreach} +
    +
    + {if count($categoryProducts) > 5}{l s='Next' mod='productscategory'}{/if} +
    + +
    +{/if} diff --git a/modules/productscategory/views/templates/index.php b/modules/productscategory/views/templates/index.php new file mode 100644 index 00000000..5244cdaa --- /dev/null +++ b/modules/productscategory/views/templates/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2015 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/producttooltip b/modules/producttooltip deleted file mode 160000 index b00132b0..00000000 --- a/modules/producttooltip +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b00132b0cfe9c6b65cf1dbf9159b65da3209bec5 diff --git a/modules/producttooltip/CHANGELOG.txt b/modules/producttooltip/CHANGELOG.txt new file mode 100644 index 00000000..ed9122c3 --- /dev/null +++ b/modules/producttooltip/CHANGELOG.txt @@ -0,0 +1,3 @@ +2014-04-17 11:40:09 +0200 Bug fix (PS 1.5): ps_version_compliancy removed +2014-03-24 15:22:23 +0100 / MO producttooltip : ps_versions_compliancy added +2014-03-20 14:35:35 +0100 Initial commit diff --git a/modules/producttooltip/Readme.md b/modules/producttooltip/Readme.md new file mode 100644 index 00000000..bfe4af14 --- /dev/null +++ b/modules/producttooltip/Readme.md @@ -0,0 +1,37 @@ +# Product tooltips + +## About + +Shows information on a product page: how many people are viewing it, the last time it was sold and the last time it was added to a cart. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the producttooltip project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/producttooltip/config.xml b/modules/producttooltip/config.xml new file mode 100644 index 00000000..f43f075b --- /dev/null +++ b/modules/producttooltip/config.xml @@ -0,0 +1,12 @@ + + + producttooltip + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/producttooltip/config_fr.xml b/modules/producttooltip/config_fr.xml new file mode 100644 index 00000000..4e90af30 --- /dev/null +++ b/modules/producttooltip/config_fr.xml @@ -0,0 +1,12 @@ + + + producttooltip + + + + + + 1 + 0 + + \ No newline at end of file diff --git a/modules/producttooltip/index.php b/modules/producttooltip/index.php new file mode 100644 index 00000000..9f6ab7b9 --- /dev/null +++ b/modules/producttooltip/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2014 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/producttooltip/logo.gif b/modules/producttooltip/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d893833a03ad9d2af40d293b861ac0f8862bbc6f GIT binary patch literal 359 zcmZ?wbhEHb6krfwxXQp_mL+lF+0LGw$>D9=yH=k~?e+Wc?ccJ!GglnA_2BKlhE)mK zQ}$nY@^{LH7Vj#9y%!$eeDc0=(WDKR`>W<3pS1D9^LJnW|NnpI)!%csU(MNmb@R#l z&p!NfC{oFv8XMHDzWK_O4M$c*ckb-oopSB@-|QQhYi;z)+{^`*S(8@XrTC$g^`^>j6nya1LP+Lwibu(0uLRj{$oO_ zCK*=jOSmRBIAn<(zH}hzMumCj>7z!4oW3{mm1-m-Ic5|~osrx5&}nV!Jvl=OF#`eT z5Eo7!X|Zq@FF#2q1zA>Bb`Ne*K`wblZ8=^y4P8T4At5m(C3RO(ZhkR7EoXTK4>5Hn b9Wfp4RUVphO!7?gwu zTS!zv7=Sfhx3n@VD!R~1^iWULV;U5JFF_P`d+?>GsIbU_pogLdsi3P@h`=P~yYk zBS$r|KpZ{{jf{>$-@pI_Lm^e@?eB+gV`EUKYlPB!WgBDx4K2~&@UUvh1^q)qpli}Y zaY^ZBSs;M~22db?gVdyNa1a_$;CAtyEt3Su&fnXsDnA996a=u-7YwRO2T06vQp=teu6(>ZNW(!p^% z1V=xxNNp-aMFFz2I2_XkC2Z}v4o&X;EK<9(s|)INN&;wSw%Mi)CJ?*=Z#@TDWCB=- zQwq@Eu^a8k+-SA_6&20d5qtiu^*FS6&$1PuNNu?vc^3XVzFT(xTFb{z%#cJVy4-HC z<6fHZAh zjhUE4_&}1jX;aGGdu0W<5^vf zo+h3=H@{#Pi6QZHvX!B#jskS9Gf-wsXHm>}s$;oGID@Z3yx0;FprxneSFhjLi_hlr znaA<*M69yFStvDZVNnRkV}!sAo|KkyCZFMKQ3I4b=i;SIY%k(9LjAM&_;@Z8D_$xl zLkUg(r|{lY2$sNeCLksoEfCLVMf*ArS%R!Y)>87U<0rE5ejTzJSuTkrabb;E3Avze zzS#Iy-t)Ydsd_#>EFAtF;2qHdYfhdzorQ5d$sntc706;fZju0B0S#ZJ1;|olnIt`> zfT(`0wES~;l7;+pOXmAOhxaG)@fz_$Q47CIbP+}uU; +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class ProductToolTip extends Module +{ + public function __construct() + { + $this->name = 'producttooltip'; + $this->tab = 'front_office_features'; + $this->version = '1.3.1'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + $this->bootstrap = true; + parent::__construct(); + + $this->displayName = $this->l('Product tooltips'); + $this->description = $this->l('Shows information on a product page: how many people are viewing it, the last time it was sold and the last time it was added to a cart.'); + } + + public function install() + { + if (!parent::install()) + return false; + + /* Default configuration values */ + Configuration::updateValue('PS_PTOOLTIP_PEOPLE', 1); + Configuration::updateValue('PS_PTOOLTIP_DATE_CART', 1); + Configuration::updateValue('PS_PTOOLTIP_DATE_ORDER', 1); + Configuration::updateValue('PS_PTOOLTIP_DAYS', 3); + Configuration::updateValue('PS_PTOOLTIP_LIFETIME', 30); + + return $this->registerHook('header') && $this->registerHook('productfooter'); + } + + public function uninstall() + { + if (!Configuration::deleteByName('PS_PTOOLTIP_PEOPLE') + || !Configuration::deleteByName('PS_PTOOLTIP_DATE_CART') + || !Configuration::deleteByName('PS_PTOOLTIP_DATE_ORDER') + || !Configuration::deleteByName('PS_PTOOLTIP_DAYS') + || !Configuration::deleteByName('PS_PTOOLTIP_LIFETIME') + || !parent::uninstall() + ) + return false; + + return true; + } + + public function getContent() + { + $html = ''; + /* Update values in DB */ + if (Tools::isSubmit('SubmitToolTip')) + { + Configuration::updateValue('PS_PTOOLTIP_PEOPLE', (int)Tools::getValue('PS_PTOOLTIP_PEOPLE')); + Configuration::updateValue('PS_PTOOLTIP_DATE_CART', (int)Tools::getValue('PS_PTOOLTIP_DATE_CART')); + Configuration::updateValue('PS_PTOOLTIP_DATE_ORDER', (int)Tools::getValue('PS_PTOOLTIP_DATE_ORDER')); + Configuration::updateValue('PS_PTOOLTIP_DAYS', ((int)(Tools::getValue('PS_PTOOLTIP_DAYS') < 0 ? 0 : (int)Tools::getValue('PS_PTOOLTIP_DAYS')))); + Configuration::updateValue('PS_PTOOLTIP_LIFETIME', ((int)(Tools::getValue('PS_PTOOLTIP_LIFETIME') < 0 ? 0 : (int)Tools::getValue('PS_PTOOLTIP_LIFETIME')))); + + $html .= $this->displayConfirmation($this->l('Settings updated')); + } + + /* Configuration form */ + + return $html.$this->renderForm(); + } + + public function hookHeader($params) + { + $this->context->controller->addJQueryPlugin('growl'); + } + + public function hookProductFooter($params) + { + $id_product = (int)$params['product']->id; + + /* First we try to display the number of people who are currently watching this product page */ + if (Configuration::get('PS_PTOOLTIP_PEOPLE')) + { + $date = strftime('%Y-%m-%d %H:%M:%S', time() - (int)(Configuration::get('PS_PTOOLTIP_LIFETIME') * 60)); + + $nb_people = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' + SELECT COUNT(DISTINCT(id_connections)) nb + FROM '._DB_PREFIX_.'page p + LEFT JOIN '._DB_PREFIX_.'connections_page cp ON (p.id_page = cp.id_page) + WHERE p.id_page_type = 1 AND p.id_object = '.(int)$id_product.' AND cp.time_start > \''.pSQL($date).'\''); + + if (isset($nb_people['nb']) && $nb_people['nb'] > 0) + $this->smarty->assign('nb_people', (int)$nb_people['nb']); + } + + /* Then, we try to display last sale */ + if (Configuration::get('PS_PTOOLTIP_DATE_ORDER')) + { + $days = (int)Configuration::get('PS_PTOOLTIP_DAYS'); + $date = strftime('%Y-%m-%d', strtotime('-'.(int)$days.' day')); + + $order = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' + SELECT o.date_add + FROM '._DB_PREFIX_.'order_detail od + LEFT JOIN '._DB_PREFIX_.'orders o ON (od.id_order = o.id_order) + WHERE od.product_id = '.(int)$id_product.' AND o.date_add >= \''.pSQL($date).'\' + ORDER BY o.date_add DESC'); + + if (isset($order['date_add']) && Validate::isDateFormat($order['date_add']) && $order['date_add'] != '0000-00-00 00:00:00') + $this->smarty->assign('date_last_order', $order['date_add']); + else + { + /* No sale? display last cart add instead */ + if (Configuration::get('PS_PTOOLTIP_DATE_CART')) + { + $cart = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow(' + SELECT cp.date_add + FROM '._DB_PREFIX_.'cart_product cp + WHERE cp.id_product = '.(int)$id_product); + + if (isset($cart['date_add']) && Validate::isDateFormat($cart['date_add']) && $cart['date_add'] != '0000-00-00 00:00:00') + $this->smarty->assign('date_last_cart', $cart['date_add']); + } + } + } + + if ((isset($nb_people['nb']) && $nb_people['nb'] > 0) || isset($order['date_add']) || isset($cart['date_add'])) + return $this->display(__FILE__, 'producttooltip.tpl'); + } + + public function renderForm() + { + $fields_form = array( + 'form' => array( + 'legend' => array( + 'title' => $this->l('Settings'), + 'icon' => 'icon-cogs' + ), + 'input' => array( + array( + 'type' => 'switch', + 'label' => $this->l('Number of visitors'), + 'desc' => $this->l('Display the number of visitors who are currently watching this product.').'
    '. + $this->l('If you activate the option above, you must activate the first option ("Save page views for each customer") of the "Data mining for statistics" (StatsData) module.'), + 'name' => 'PS_PTOOLTIP_PEOPLE', + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + array( + 'type' => 'text', + 'label' => $this->l('Period length'), + 'desc' => $this->l('Set the reference period length.').'
    '. + $this->l('For instance, if set to 30 minutes, the module will display the number of visitors in the last 30 minutes.'), + 'name' => 'PS_PTOOLTIP_LIFETIME', + 'suffix' => $this->l('minutes'), + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + array( + 'type' => 'switch', + 'label' => $this->l('Last order date'), + 'desc' => $this->l('Display the last time the product has been ordered.'), + 'name' => 'PS_PTOOLTIP_DATE_ORDER', + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + array( + 'type' => 'switch', + 'label' => $this->l('Added to a cart'), + 'desc' => $this->l('If the product has not been ordered yet, display the last time it was added to a cart.'), + 'name' => 'PS_PTOOLTIP_DATE_CART', + 'values' => array( + array( + 'id' => 'active_on', + 'value' => 1, + 'label' => $this->l('Enabled') + ), + array( + 'id' => 'active_off', + 'value' => 0, + 'label' => $this->l('Disabled') + ) + ), + ), + array( + 'type' => 'text', + 'label' => $this->l('Do not display events older than'), + 'name' => 'PS_PTOOLTIP_DAYS', + 'suffix' => $this->l('days') + ), + ), + 'submit' => array( + 'title' => $this->l('Save'), + ) + ), + ); + + $helper = new HelperForm(); + $helper->show_toolbar = false; + $helper->table = $this->table; + $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); + $helper->default_form_language = $lang->id; + $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; + $this->fields_form = array(); + + $helper->identifier = $this->identifier; + $helper->submit_action = 'SubmitToolTip'; + $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; + $helper->token = Tools::getAdminTokenLite('AdminModules'); + $helper->tpl_vars = array( + 'fields_value' => $this->getConfigFieldsValues(), + 'languages' => $this->context->controller->getLanguages(), + 'id_language' => $this->context->language->id + ); + + return $helper->generateForm(array($fields_form)); + } + + public function getConfigFieldsValues() + { + return array( + 'PS_PTOOLTIP_PEOPLE' => Tools::getValue('PS_PTOOLTIP_PEOPLE', Configuration::get('PS_PTOOLTIP_PEOPLE')), + 'PS_PTOOLTIP_LIFETIME' => Tools::getValue('PS_PTOOLTIP_LIFETIME', Configuration::get('PS_PTOOLTIP_LIFETIME')), + 'PS_PTOOLTIP_DATE_ORDER' => Tools::getValue('PS_PTOOLTIP_DATE_ORDER', Configuration::get('PS_PTOOLTIP_DATE_ORDER')), + 'PS_PTOOLTIP_DATE_CART' => Tools::getValue('PS_PTOOLTIP_DATE_CART', Configuration::get('PS_PTOOLTIP_DATE_CART')), + 'PS_PTOOLTIP_DAYS' => Tools::getValue('PS_PTOOLTIP_DAYS', Configuration::get('PS_PTOOLTIP_DAYS')), + ); + } +} diff --git a/modules/producttooltip/sample.gif b/modules/producttooltip/sample.gif new file mode 100644 index 0000000000000000000000000000000000000000..ef252d76f61e54b11eb72ce29db0b32064624234 GIT binary patch literal 30852 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 z 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 literal 0 HcmV?d00001 diff --git a/modules/producttooltip/translations/fr.php b/modules/producttooltip/translations/fr.php new file mode 100644 index 00000000..df75a377 --- /dev/null +++ b/modules/producttooltip/translations/fr.php @@ -0,0 +1,32 @@ +producttooltip_4776f7eb5998034f7bbc63b6457d1ff4'] = 'Infobulles produit'; +$_MODULE['<{producttooltip}prestashop>producttooltip_0406dc99f3d31535975fdddf6f4ae4d3'] = 'Affiche des informations sur la page produit : nombre de gens actuellement en train de la parcourir, dernière fois que le produit a été vendu, et dernière qu\'il a été ajouté à un panier.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_c888438d14855d7d96a2724ee9c306bd'] = 'Mise à jour réussie'; +$_MODULE['<{producttooltip}prestashop>producttooltip_f4f70727dc34561dfde1a3c529b6205c'] = 'Paramètres'; +$_MODULE['<{producttooltip}prestashop>producttooltip_6a3f9bbed911bae4ffe5ab84294d7b9f'] = 'Nombre de visiteurs'; +$_MODULE['<{producttooltip}prestashop>producttooltip_5c65d0f105e43f5186c1275fb83a661a'] = 'Affiche le nombre de personnes qui consultent la fiche produit à l\'instant présent.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_6ce86506e83863b6414e760c8406e156'] = 'Si vous activez l\'option ci-dessus, vous devez en premier lieu activer la première option ("Enregistrer les pages vues pour chaque client") dans le module "Exploration de données pour les statistiques" (StatsData).'; +$_MODULE['<{producttooltip}prestashop>producttooltip_00d23a76e43b46dae9ec7aa9dcbebb32'] = 'Activé'; +$_MODULE['<{producttooltip}prestashop>producttooltip_b9f5c797ebbf55adccdd8539a65a0241'] = 'Désactivé'; +$_MODULE['<{producttooltip}prestashop>producttooltip_18522b8438c82ae472267ff57e8db76f'] = 'Durée de la période'; +$_MODULE['<{producttooltip}prestashop>producttooltip_3367d7aeafaae0cfdb8334d6e442a58f'] = 'Indiquez la durée de période de référence.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_946e06ba50194b981f04263795ed1433'] = 'Par exemple, si vous indiquez 30 minutes, le module affichera le nombre de visiteurs sur les 30 dernières minutes.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_640fd0cc0ffa0316ae087652871f4486'] = 'minutes'; +$_MODULE['<{producttooltip}prestashop>producttooltip_788b212e2524ec85463d68861342693c'] = 'Date de la dernière commande'; +$_MODULE['<{producttooltip}prestashop>producttooltip_43e5b083da426132daf3a9fe05362da3'] = 'Affiche la date de la dernière commande de ce produit.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_f6916943428105792f433c337f4e9522'] = 'Ajouté à un panier'; +$_MODULE['<{producttooltip}prestashop>producttooltip_3829b2b4ac783c8e53a25f5cd007224b'] = 'Si le produit n\'a pas encore été commandé, affiche la dernière fois qu\'il a été ajouté au panier.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_7f2a0ec5efa8b7aaa2d814df0d18b722'] = 'Ne pas afficher les événements datant de plus de'; +$_MODULE['<{producttooltip}prestashop>producttooltip_44fdec47036f482b68b748f9d786801b'] = 'jours'; +$_MODULE['<{producttooltip}prestashop>producttooltip_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer'; +$_MODULE['<{producttooltip}prestashop>producttooltip_265e0fd0901e35cae9978e2319b6c32e'] = '%d personne regarde actuellement ce produit.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_858d0bcd440ff0d1cc1e6bd53d4fe9f6'] = '%d personnes consultent actuellement ce produit.'; +$_MODULE['<{producttooltip}prestashop>producttooltip_b2ccdeedefb87a6f4c52b0926b030d65'] = 'Dernière fois que ce produit a été acheté : '; +$_MODULE['<{producttooltip}prestashop>producttooltip_f934c297c7d902f5871edb4a12acbb84'] = 'Dernière fois que ce produit a été ajouté à un panier : '; + + +return $_MODULE; diff --git a/modules/producttooltip/translations/index.php b/modules/producttooltip/translations/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/producttooltip/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file diff --git a/modules/producttooltip/views/index.php b/modules/producttooltip/views/index.php new file mode 100644 index 00000000..9f6ab7b9 --- /dev/null +++ b/modules/producttooltip/views/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2014 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/producttooltip/views/templates/hook/index.php b/modules/producttooltip/views/templates/hook/index.php new file mode 100644 index 00000000..9f6ab7b9 --- /dev/null +++ b/modules/producttooltip/views/templates/hook/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2014 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/producttooltip/views/templates/hook/producttooltip.tpl b/modules/producttooltip/views/templates/hook/producttooltip.tpl new file mode 100644 index 00000000..86ae878b --- /dev/null +++ b/modules/producttooltip/views/templates/hook/producttooltip.tpl @@ -0,0 +1,40 @@ +{* +* 2007-2014 PrestaShop +* +* NOTICE OF LICENSE +* +* This source file is subject to the Academic Free License (AFL 3.0) +* that is bundled with this package in the file LICENSE.txt. +* It is also available through the world-wide-web at this URL: +* http://opensource.org/licenses/afl-3.0.php +* If you did not receive a copy of the license and are unable to +* obtain it through the world-wide-web, please send an email +* to license@prestashop.com so we can send you a copy immediately. +* +* DISCLAIMER +* +* Do not edit or add to this file if you wish to upgrade PrestaShop to newer +* versions in the future. If you wish to customize PrestaShop for your +* needs please refer to http://www.prestashop.com for more information. +* +* @author PrestaShop SA +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*} + diff --git a/modules/producttooltip/views/templates/index.php b/modules/producttooltip/views/templates/index.php new file mode 100644 index 00000000..9f6ab7b9 --- /dev/null +++ b/modules/producttooltip/views/templates/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2014 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/sekeywords b/modules/sekeywords deleted file mode 160000 index b6f8ae26..00000000 --- a/modules/sekeywords +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b6f8ae2634787151d64c26d07a97e6dc18b10c28 diff --git a/modules/sekeywords/CHANGELOG.txt b/modules/sekeywords/CHANGELOG.txt new file mode 100644 index 00000000..3e8c4001 --- /dev/null +++ b/modules/sekeywords/CHANGELOG.txt @@ -0,0 +1,3 @@ +2014-04-17 11:29:22 +0200 [-] MO : sekeywords - Fix 1.5 ps_version_compliancy issue +2014-03-24 15:22:28 +0100 / MO sekeywords : ps_versions_compliancy added +2014-03-20 14:35:49 +0100 Initial commit diff --git a/modules/sekeywords/Readme.md b/modules/sekeywords/Readme.md new file mode 100644 index 00000000..8b371569 --- /dev/null +++ b/modules/sekeywords/Readme.md @@ -0,0 +1,37 @@ +# Search engine keywords + +## About + +Displays which keywords have led visitors to your website. + +## Contributing + +PrestaShop modules are open-source extensions to the PrestaShop e-commerce solution. Everyone is welcome and even encouraged to contribute with their own improvements. + +### Requirements + +Contributors **must** follow the following rules: + +* **Make your Pull Request on the "dev" branch**, NOT the "master" branch. +* Do not update the module's version number. +* Follow [the coding standards][1]. + +### Process in details + +Contributors wishing to edit a module's files should follow the following process: + +1. Create your GitHub account, if you do not have one already. +2. Fork the sekeywords project to your GitHub account. +3. Clone your fork to your local machine in the ```/modules``` directory of your PrestaShop installation. +4. Create a branch in your local clone of the module for your changes. +5. Change the files in your branch. Be sure to follow [the coding standards][1]! +6. Push your changed branch to your fork in your GitHub account. +7. Create a pull request for your changes **on the _'dev'_ branch** of the module's project. Be sure to follow [the commit message norm][2] in your pull request. If you need help to make a pull request, read the [Github help page about creating pull requests][3]. +8. Wait for one of the core developers either to include your change in the codebase, or to comment on possible improvements you should make to your code. + +That's it: you have contributed to this open-source project! Congratulations! + +[1]: http://doc.prestashop.com/display/PS16/Coding+Standards +[2]: http://doc.prestashop.com/display/PS16/How+to+write+a+commit+message +[3]: https://help.github.com/articles/using-pull-requests + diff --git a/modules/sekeywords/config.xml b/modules/sekeywords/config.xml new file mode 100644 index 00000000..a6e0958c --- /dev/null +++ b/modules/sekeywords/config.xml @@ -0,0 +1,12 @@ + + + sekeywords + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/sekeywords/config_fr.xml b/modules/sekeywords/config_fr.xml new file mode 100644 index 00000000..dc9feb5a --- /dev/null +++ b/modules/sekeywords/config_fr.xml @@ -0,0 +1,12 @@ + + + sekeywords + + + + + + 0 + 0 + + \ No newline at end of file diff --git a/modules/sekeywords/index.php b/modules/sekeywords/index.php new file mode 100644 index 00000000..9f6ab7b9 --- /dev/null +++ b/modules/sekeywords/index.php @@ -0,0 +1,36 @@ + +* @copyright 2007-2014 PrestaShop SA +* @version Release: $Revision$ +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); + +header('Cache-Control: no-store, no-cache, must-revalidate'); +header('Cache-Control: post-check=0, pre-check=0', false); +header('Pragma: no-cache'); + +header('Location: ../'); +exit; \ No newline at end of file diff --git a/modules/sekeywords/logo.gif b/modules/sekeywords/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5dd1e7b247369a3f7394fd079fee02bbc954fc9 GIT binary patch literal 1013 zcmZ?wbhEHb6krfw_|57n&Tt@98);%IN-2yKCVs8E7UK3@UCu+D)(es{a z95`Jue1=B!Y|Xg&Rxt}~lIQ9t&o@k+Z?t|jZ+m8<-StN8 zTN4cK&M>;a(DK}5ha)qBkIf0cFvI!k0ury(w|&3f_55}R$c}w= zB>&aXvhPn)zdfw~_N4mzle%dK8>Sy>nsKOk-qDVQ$GVoD=v{GY!m85~*PflS;oP+A z`}^)4oBsNA_qz)dKi}$pdVb;8hfUufwSIrv@cn7y_oq!io_GFu-uwG~>-T5#f4rRX z^Yy%+Zx;T1wffh)HNW0%`0;YjulKwEd|mhZW^M89dJO$Y2X$GI$ zvQs&YQ(l~_@QWvNG1n|5hgU5D6303v6@5(ter$AW;c2s+cSLd#%c)jDzNj-29m*4A zH6;x~CNLzOW@q6kJmC1~u#>o6^p+I|9wi>ImuYw+^D;4oX}XAp&jgJ`)g}hnlBN#{ zLC+ee=|rrXv*MED!B|_DNfRP3DjZ~F7Fbabp-|vHPa`LyLNOwNxw$bp>q5szSH(sK J7G@>}YXFIfOm_eP literal 0 HcmV?d00001 diff --git a/modules/sekeywords/logo.png b/modules/sekeywords/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7262f0b9a2950e11424c0432e3f95199de812763 GIT binary patch literal 2036 zcmV$>79N7vTQc6WA0tssgb;@YZJtew%R$AVoi7Ew9E-4F z6{xJDJ61#zNVvj%1mp zV6@f`%GOBWP9Zcy4UnF5Lq^DoG)DC6AU8}4SeDTI9T!l^Fn%K*ib_X}NE~V03x#A4 zjXR+zw}-swQz)Ab1M+4_&%1*kY@0aQNW5{{eevqT@U;MWKHeUN(Ha*$T%oLW!ENE+ zAc?ipqKCf)BW2q$TIB-GgKFgeYb_jBy=yiZ0aH``tpwfWXMo;BDC<25-WaX(gsR>H zeObGa%C+rvT>A%q$B*9gPYd`)P6k&w4kp}JEHbt?yB zO`k*6L}Q~b#+!Y}>kV-E_>XK_w}64m#y_!{xzUPUke6)3=q&;5j+F}fZN{q#FcAe> zQPHJS_yaNC;tyH+W*WKBkf4&tb>MBAw@XhjgSUPDE+!SqDo4o6c0eur3fW;R!Pt3K z0cIlJGGH(f>UJJ94{InAT*xTbAVK|k&fo_wm!0*rvODX!)Q%stLdMjD;@Uopl<&rP z+aZXLe#i)T%Re(W)tHpurpk=sM>Wbl7FNy?DD?-DF&_+TB+11TZHFKbB@WGhW8)FS#7_M?g z)k!;i<7Smiwv1nz{Gzv|Q%=xgD0;=fbsh=uzz@~5{~7PKBCb(QNN9&tQUrXVZt}r+ zqbJ7d*%+q$cV7Aw{2-gVWXqf|{Uym4Ic4)Kq3F({4p@#mMZ2}(9+vvxfy4#FOe1Ra z20BB5yI1KjY9TbyS}E{@6#Zp!$PBU`AX_#}8egUz6S)PEFCuag@TdfX1v~KQnkzIU z;9i+Cx^q9n-IBdfwnsrVSc>9&KH|?LBkoiZPM-Rf-v0wp`Xv?FT1lA09ArP6{DP;s zQ+6Pccai6hiiz9-kE#xm_dMKX$g>@ATkL?&%MR$Syo!XxBnWc~aN|}tZr zo#*{|TQF4NNL|hk_sbnIP~-qnfE8n4p5BP5{?z+*L*%=yZIPyE3!jPB@Y!gNcnggY zZxiNd-8hfX@c5gbIYE+4;ZAl5jkfbkqdwaV)W+{dHEhXX1#HbMm~jJ$X$X9 zUX~?#;wPV(wc+p3cmJh*Pd#8bovvVHN0Fh!h(I?toCe&#h?-;XFisdfk@NY^!p|9U zzMgzDhRUeXw0IHuZuA%Y6`8uwGexy02`5!`EydKxj%)%CH7Pc;DA^Y%jpkzJ9#H)aw7?gy)^;8`g zOQPuqnFsEd+Eagbq%++UgGKh_`F0|=e39pm1r&ywL0+>T(l4f=@k=Af5>3F~$b#o5 zEEGo=q4_H#NMqh4p2H{zF?mXWStiE<0^fz;`{?0o4uK!#oU;h$-ObBh;Q3=4xja+I zD|SFt@DW8|13J$bBh;RSFb5W0(`GPA%+l}KbrWFqPk8?SOA6Nn z^5RXXkDIQIKw5Y5gBd +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +if (!defined('_PS_VERSION_')) + exit; + +class SEKeywords extends ModuleGraph +{ + private $html = ''; + private $query = ''; + private $query2 = ''; + + public function __construct() + { + $this->name = 'sekeywords'; + $this->tab = 'analytics_stats'; + $this->version = '1.2.4'; + $this->author = 'PrestaShop'; + $this->need_instance = 0; + + parent::__construct(); + + $this->query = 'SELECT `keyword`, COUNT(TRIM(`keyword`)) as occurences + FROM `'._DB_PREFIX_.'sekeyword` + WHERE '.(Configuration::get('SEK_FILTER_KW') == '' ? '1' : '`keyword` REGEXP \''.pSQL(Configuration::get('SEK_FILTER_KW')).'\'') + .Shop::addSqlRestriction(). + ' AND `date_add` BETWEEN '; + + $this->query2 = 'GROUP BY TRIM(`keyword`) + HAVING occurences > '.(int)Configuration::get('SEK_MIN_OCCURENCES').' + ORDER BY occurences DESC'; + + $this->displayName = $this->l('Search engine keywords'); + $this->description = $this->l('Displays which keywords have led visitors to your website.'); + } + + public function install() + { + if (!parent::install() || !$this->registerHook('top') || !$this->registerHook('AdminStatsModules')) + return false; + Configuration::updateValue('SEK_MIN_OCCURENCES', 1); + Configuration::updateValue('SEK_FILTER_KW', ''); + + return Db::getInstance()->execute(' + CREATE TABLE `'._DB_PREFIX_.'sekeyword` ( + id_sekeyword INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + id_shop INTEGER UNSIGNED NOT NULL DEFAULT \'1\', + id_shop_group INTEGER UNSIGNED NOT NULL DEFAULT \'1\', + keyword VARCHAR(256) NOT NULL, + date_add DATETIME NOT NULL, + PRIMARY KEY(id_sekeyword) + ) ENGINE='._MYSQL_ENGINE_.' DEFAULT CHARSET=utf8'); + } + + public function uninstall() + { + if (!parent::uninstall()) + return false; + + return (Db::getInstance()->execute('DROP TABLE `'._DB_PREFIX_.'sekeyword`')); + } + + public function hookTop($params) + { + if (!isset($_SERVER['HTTP_REFERER']) || strpos($_SERVER['HTTP_REFERER'], Tools::getHttpHost(false, false) == 0)) + return; + + if ($keywords = $this->getKeywords($_SERVER['HTTP_REFERER'])) + Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'sekeyword` (`keyword`, `date_add`, `id_shop`, `id_shop_group`) + VALUES (\''.pSQL(Tools::strtolower(trim($keywords))).'\', NOW(), '.(int)$this->context->shop->id.', '.(int)$this->context->shop->id_shop_group.')'); + } + + public function hookAdminStatsModules() + { + if (Tools::isSubmit('submitSEK')) + { + Configuration::updateValue('SEK_FILTER_KW', trim(Tools::getValue('SEK_FILTER_KW'))); + Configuration::updateValue('SEK_MIN_OCCURENCES', (int)Tools::getValue('SEK_MIN_OCCURENCES')); + Tools::redirectAdmin('index.php?tab=AdminStats&token='.Tools::getValue('token').'&module='.$this->name); + } + + if (Tools::getValue('export')) + $this->csvExport(array('type' => 'pie')); + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->query.ModuleGraph::getDateBetween().$this->query2); + $total = count($result); + $this->html = ' +
    ' + .$this->displayName.' +
    +

    '.$this->l('Guide').'

    +
    +

    '.$this->l('Identify external search engine keywords').'

    +

    ' + .$this->l('This is one of the most common ways of finding a website through a search engine.').' '. + $this->l('Identifying the most popular keywords entered by your new visitors allows you to see the products you should put in front if you want to achieve better visibility in search engines.').' +

    +

     

    +

    '.$this->l('How does it work?').'

    +

    ' + .$this->l('When a visitor comes to your website, the web server notes the URL of the site he/she comes from. This module then parses the URL, and if it finds a reference to a known search engine, it finds the keywords in it.').'
    '. + $this->l('This module can recognize all the search engines listed in PrestaShop\'s Stats/Search Engine page -- and you can add more!').'
    '. + $this->l('IMPORTANT NOTE: in September 2013, Google chose to encrypt its searches queries using SSL. This means all the referer-based tools in the World (including this one) cannot identify Google keywords anymore.').' +

    +
    +

    '.($total == 1 ? sprintf($this->l('%d keyword matches your query.'), $total) : sprintf($this->l('%d keywords match your query.'), $total)).'

    '; + + $form = ' +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    '; + + if ($result && $total) + { + $table = ' + + + + + + + + '; + foreach ($result as $row) + { + $keyword =& $row['keyword']; + $occurences =& $row['occurences']; + $table .= ''; + } + $table .= '
    '.$this->l('Keywords').''.$this->l('Occurrences').'
    '.$keyword.''.$occurences.'
    '; + $this->html .= '
    '.$this->engine(array('type' => 'pie')).'
    + < '.$this->l('CSV Export').' + '.$form.'
    '.$table; + } + else + $this->html .= $form.'

    '.$this->l('No keywords').'

    '; + + return $this->html; + } + + public function getKeywords($url) + { + if (!Validate::isAbsoluteUrl($url)) + return false; + + $parsed_url = parse_url($url); + if (!isset($parsed_url['query']) && isset($parsed_url['fragment'])) + $parsed_url['query'] = $parsed_url['fragment']; + + if (!isset($parsed_url['query'])) + return false; + + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('SELECT `server`, `getvar` FROM `'._DB_PREFIX_.'search_engine`'); + foreach ($result as $row) + { + $host =& $row['server']; + $varname =& $row['getvar']; + if (strstr($parsed_url['host'], $host)) + { + $k_array = array(); + preg_match('/[^a-zA-Z&]?'.$varname.'=.*\&'.'/U', $parsed_url['query'], $k_array); + + if (!isset($k_array[0]) || empty($k_array[0])) + preg_match('/[^a-zA-Z&]?'.$varname.'=.*$'.'/', $parsed_url['query'], $k_array); + + if (!isset($k_array[0]) || empty($k_array[0])) + return false; + + if ($k_array[0][0] == '&' && Tools::strlen($k_array[0]) == 1) + return false; + + return urldecode(str_replace('+', ' ', ltrim(Tools::substr(rtrim($k_array[0], '&'), Tools::strlen($varname) + 1), '='))); + } + } + + return false; + } + + protected function getData($layers) + { + $this->_titles['main'] = $this->l('Top 10 keywords'); + $total_result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->query.$this->getDate().$this->query2); + $total = 0; + $total2 = 0; + foreach ($total_result as $total_row) + $total += $total_row['occurences']; + $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($this->query.$this->getDate().$this->query2.' LIMIT 9'); + foreach ($result as $row) + { + $this->_legend[] = $row['keyword']; + $this->_values[] = $row['occurences']; + $total2 += $row['occurences']; + } + if ($total >= $total2) + { + $this->_legend[] = $this->l('Others'); + $this->_values[] = $total - $total2; + } + } +} diff --git a/modules/sekeywords/translations/fr.php b/modules/sekeywords/translations/fr.php new file mode 100644 index 00000000..94c8069e --- /dev/null +++ b/modules/sekeywords/translations/fr.php @@ -0,0 +1,29 @@ +sekeywords_65b0b42febc8ea16db4652eab6f420a4'] = 'Mots clés'; +$_MODULE['<{sekeywords}prestashop>sekeywords_8effa630c1740a748801b881acb90fa6'] = 'Affiche les mots clés qui ont mené les visiteurs jusqu\'à votre boutique.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_6602bbeb2956c035fb4cb5e844a4861b'] = 'Guide'; +$_MODULE['<{sekeywords}prestashop>sekeywords_9ed50bd6876a9273f2192c224b87657b'] = 'Identifier les mots-clés par moteurs de recherche externes'; +$_MODULE['<{sekeywords}prestashop>sekeywords_7acbda50735929f05f6f463e05bc7ead'] = 'Il s\'agit d\'une des manières les plus connues de trouver un site web par le biais d\'un moteur de recherche.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_4ad084c0b816ff9278765a00720caf32'] = 'Identifier les mots-clés les plus populaires saisis par vos nouveaux visiteurs vous permet de voir les produits que vous devriez mettre en avant si vous voulez avoir une meilleure visibilité dans les moteurs de recherche.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_359f9e79e746fa9f684e5cda9e60ca2e'] = 'Comment ça marche ?'; +$_MODULE['<{sekeywords}prestashop>sekeywords_ec2184245585ba979912af9e34d738c6'] = 'Quand un visiteur arrive sur votre site, le serveur web note l\'adresse du site duquel il vient. Ce module analyse ensuite l\'URL, et s\'il y trouve une référence à une moteur de recherche connu, il y trouvera le mot-clé.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_ef79a74a2fd296e19e8cc58cdae91d43'] = 'Ce module peut reconnaître tous les moteurs de recherche listés dans la page Stats/Moteurs de recherche de PrestaShop -- et vous pouvez en ajouter d\'autres !'; +$_MODULE['<{sekeywords}prestashop>sekeywords_dcbcf5d190af87351a16edd5f132c657'] = 'NOTE IMPORTANTE : depuis septembre 2013, Google a choisi de chiffrer ses requêtes à l\'aide de SSL. Cela signifie que tous les outils basés sur les référants du monde (dont celui-ci) ne peuvent plus identifier les mots-clés en provenance de Google.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_16d5f8dc3bc4411c85848ae9cf6a947a'] = '%d mot-clé trouvé pour votre recherche.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_5029f8eef402bb8ddd6191dffb5e7c19'] = '%d mots-clés trouvés pour votre recherche.'; +$_MODULE['<{sekeywords}prestashop>sekeywords_0849140171616600e8f2c35f0a225212'] = 'Filter par mot clé'; +$_MODULE['<{sekeywords}prestashop>sekeywords_6e632566b6e16dbd2273e83d7c53182b'] = 'et minimum d\'occurrences'; +$_MODULE['<{sekeywords}prestashop>sekeywords_9639e32cab248434a17ab32237cb3b71'] = 'Enregistrer'; +$_MODULE['<{sekeywords}prestashop>sekeywords_867343577fa1f33caa632a19543bd252'] = 'Mots clés'; +$_MODULE['<{sekeywords}prestashop>sekeywords_e52e6aa1a43a0187e44f048f658db5f9'] = 'Occurences'; +$_MODULE['<{sekeywords}prestashop>sekeywords_998e4c5c80f27dec552e99dfed34889a'] = 'Export CSV'; +$_MODULE['<{sekeywords}prestashop>sekeywords_7b48f6cc4a1dde7fca9597e717c2465f'] = 'Aucun mot clé'; +$_MODULE['<{sekeywords}prestashop>sekeywords_e15832aa200f342e8f4ab580b43a72a8'] = '10 premiers mots-clés'; +$_MODULE['<{sekeywords}prestashop>sekeywords_52ef9633d88a7480b3a938ff9eaa2a25'] = 'Autres'; + + +return $_MODULE; diff --git a/modules/sekeywords/translations/index.php b/modules/sekeywords/translations/index.php new file mode 100644 index 00000000..a41987df --- /dev/null +++ b/modules/sekeywords/translations/index.php @@ -0,0 +1,35 @@ + +* @copyright 2007-2014 PrestaShop SA +* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); + +header("Cache-Control: no-store, no-cache, must-revalidate"); +header("Cache-Control: post-check=0, pre-check=0", false); +header("Pragma: no-cache"); + +header("Location: ../"); +exit; \ No newline at end of file

    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