'
+ . '
'
+ ),
+ array(
+ 'type' => 'html',
+ 'label' => $this->l('Oferta specjalna dla Produktu'),
+ 'name' => 'RATY_PRODUCT_PROMOTION',
+ 'desc' => $this->l('Kod oferty specjalnej dla Produktu.'),
+ 'html_content' =>
+ '
'
+ . '
'
+ . '
'
+ . ' '
+ . '
'
+ . '
'
+ . '
'
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Minimalna wartość'),
+ 'name' => 'RATY_MIN_VALUE',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Minimalna wartość od której dostępna jest sprzedaż ratalna.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Maksymalna wartość'),
+ 'name' => 'RATY_MAX_VALUE',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Maksymalna wartość do której dostępna jest sprzedaż ratalna.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Salt'),
+ 'name' => 'RATY_SALT',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Kod Salt odtrzymany od banku')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Nazwa płatności'),
+ 'name' => 'RATY_TITLE',
+ 'class' => 'fixed-width-xxl',
+ ),
+ array(
+ 'type' => 'textarea',
+ 'label' => $this->l('Dodatkowy opis'),
+ 'name' => 'RATY_DESCRIPTION',
+ 'class' => 'fixed-width-xxl',
+ ),
+ ),
+ '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 = 'submitRaty';
+ $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 checkCurrency($cart)
+ {
+ $currency_order = new Currency($cart->id_currency);
+ $currencies_module = $this->getCurrency($cart->id_currency);
+ if (is_array($currencies_module)) {
+ foreach ($currencies_module as $currency_module) {
+ if ($currency_order->id == $currency_module['id_currency']) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public function getConfigFieldsValues()
+ {
+ return array(
+ 'RATY_PARTNERID' => Tools::getValue('RATY_PARTNERID', Configuration::get('RATY_PARTNERID')),
+ 'RATY_SUBPARTNERID' => Tools::getValue('RATY_SUBPARTNERID', Configuration::get('RATY_SUBPARTNERID')),
+ 'RATY_MCC' => Tools::getValue('RATY_MCC', Configuration::get('RATY_MCC')),
+ 'RATY_STANDARD_PROMOTION' => Tools::getValue('RATY_STANDARD_PROMOTION', Configuration::get('RATY_STANDARD_PROMOTION')),
+ 'RATY_PRODUCT_PROMOTION' => Tools::getValue('RATY_PRODUCT_PROMOTION', Configuration::get('RATY_PRODUCT_PROMOTION')),
+ 'RATY_PRODUCT_PROMOTION_START' => Tools::getValue('RATY_PRODUCT_PROMOTION_START', Configuration::get('RATY_PRODUCT_PROMOTION_START')),
+ 'RATY_PRODUCT_PROMOTION_END' => Tools::getValue('RATY_PRODUCT_PROMOTION_END', Configuration::get('RATY_PRODUCT_PROMOTION_END')),
+ 'RATY_CATEGORY_PROMOTION' => Tools::getValue('RATY_CATEGORY_PROMOTION', Configuration::get('RATY_CATEGORY_PROMOTION')),
+ 'RATY_CATEGORY_PROMOTION_START' => Tools::getValue('RATY_CATEGORY_PROMOTION_START', Configuration::get('RATY_CATEGORY_PROMOTION_START')),
+ 'RATY_CATEGORY_PROMOTION_END' => Tools::getValue('RATY_CATEGORY_PROMOTION_END', Configuration::get('RATY_CATEGORY_PROMOTION_END')),
+ 'RATY_MIN_VALUE' => Tools::getValue('RATY_MIN_VALUE', $this->changeNumberFormat(Configuration::get('RATY_MIN_VALUE'))),
+ 'RATY_MAX_VALUE' => Tools::getValue('RATY_MAX_VALUE', $this->changeNumberFormat(Configuration::get('RATY_MAX_VALUE'))),
+ 'RATY_SALT' => Tools::getValue('RATY_SALT', Configuration::get('RATY_SALT')),
+ 'RATY_TITLE' => Tools::getValue('RATY_TITLE', Configuration::get('RATY_TITLE')),
+ 'RATY_DESCRIPTION' => Tools::getValue('RATY_DESCRIPTION', Configuration::get('RATY_DESCRIPTION')),
+ );
+ }
+
+ public function checkAmount($total)
+ {
+ $minValue = (float) $this->changeNumberFormat(Configuration::get('RATY_MIN_VALUE'));
+ $maxValue = (float) $this->changeNumberFormat(Configuration::get('RATY_MAX_VALUE'));
+
+ if($minValue > 0 && $maxValue > 0) {
+ return $total >= $minValue && $total <= $maxValue;
+ }
+
+ return false;
+ }
+
+ private function changeNumberFormat($value)
+ {
+ return number_format($value, 2, '.', '');
+ }
+
+ private function getAliorsArticlesListJson($order)
+ {
+ $products = $order->getProductsDetail();
+ $totalShippingCost = (float)$order->total_shipping;
+ $totalDiscounts = (float)$order->total_discounts;
+ $totalWrapping = (float)$order->total_wrapping;
+ // @see https://stackoverflow.com/questions/42981409/php7-1-json-encode-float-issue
+ // json_encode makes float values wrong. This is simple fix
+ if (version_compare(phpversion(), '7.1', '>=')) {
+ ini_set( 'serialize_precision', -1 );
+ }
+
+ $json = ['articlesList' => []];
+ foreach ($products as $prod) {
+ if (!empty($prod['unit_price_tax_incl'])){
+ $price = $prod['unit_price_tax_incl'];
+ } else {
+ $price = !empty($prod['product_price_wt']) ? $prod['product_price_wt'] : $prod['product_price'];
+ }
+ $json['articlesList'][] = [
+ "category" => $this->getAliorsCategory($prod['id_category_default']),
+ "name" => $this->clearName($prod['product_name']),
+ "number" => (int)$prod['product_quantity'],
+ "price" => $this->getRounded($price),
+ ];
+ }
+ if ($totalShippingCost){
+ $json['articlesList'][] = [
+ "category" => 'TKC_USLUGI', // from Alior's docs
+ "name" => 'Shipping costs',
+ "number" => 1,
+ "price" => $this->getRounded($totalShippingCost),
+ ];
+ }
+ if ($totalDiscounts){
+ $json['articlesList'][] = [
+ "category" => 'TKC_RABAT', // from Alior's docs
+ "name" => 'Discount',
+ "number" => 1,
+ "price" => $this->getRounded($totalDiscounts) * -1,
+ ];
+ }
+ if ($totalWrapping){
+ $json['articlesList'][] = [
+ "category" => 'TKC_USLUGI', // from Alior's docs
+ "name" => 'Inne',
+ "number" => 1,
+ "price" => $this->getRounded($totalWrapping),
+ ];
+ }
+
+ return $json;
+ }
+
+ /**
+ * Returns Alior's ID of category based on mapping (see map.php)
+ * @return string
+ */
+ private function getAliorsCategory($shopCategoryId)
+ {
+ $map = require(dirname(__FILE__) . '/map.php');
+ if (empty($map)) {
+ return '';
+ }
+ foreach ($map as $aliorId => $shopCats) {
+ if (in_array($shopCategoryId, $shopCats)) {
+ return $aliorId;
+ }
+ }
+
+ return !empty($map['default']) ? $map['default'] : '';
+ }
+
+ /**
+ * @param $price
+ * @return |null
+ */
+ private function getRounded($price) {
+ $precision = method_exists('Context', 'getComputingPrecision')
+ ? Context::getContext()->getComputingPrecision()
+ : _PS_PRICE_DISPLAY_PRECISION_;
+ if (is_array($this->context->currency)) {
+ return Tools::ps_round($price, (int)$this->context->currency['decimals'] * $precision);
+ } elseif (is_object($this->context->currency)) {
+ return Tools::ps_round($price, (int)$this->context->currency->decimals * $precision);
+ }
+
+ return null;
+ }
+
+ /**
+ * @param $name
+ * @return string
+ */
+ private function clearName($name) {
+ $name = str_replace('|', '', $name);
+ return preg_replace('/[\x00-\x1F]/', '', $name);
+ }
+
+ private function checkCategoryPromotion($product) {
+
+ $categories = Product::getProductCategories($product->id);
+
+ foreach($categories as $categoryId)
+ {
+ $category = new Category($categoryId);
+ if($category->alior_category_promotion) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public function formatDate($date, $expectedFormat = 'j-M-Y', $currentFormat = 'Y-m-d'){
+ if(!$date){
+ return 0;
+ }
+ $date = DateTime::createFromFormat($currentFormat, $date);
+ return $date->format($expectedFormat);
+ }
+
+ private function getPromotion($products) {
+ $todayDate = date("Y/m/d");
+ $promotionsType = [];
+ $isProductPromotionValid = true;
+ $isCategoryPromotionValid = true;
+
+ if(
+ !Configuration::get('RATY_PRODUCT_PROMOTION_START') ||
+ $this->formatDate(Configuration::get('RATY_PRODUCT_PROMOTION_START'), "Y/m/d", "Y-m-d") > $todayDate ||
+ $this->formatDate(Configuration::get('RATY_PRODUCT_PROMOTION_END'), "Y/m/d", "Y-m-d") < $todayDate
+ ) {
+ $isProductPromotionValid = false;
+ }
+
+ if(
+ !Configuration::get('RATY_CATEGORY_PROMOTION_START') ||
+ $this->formatDate(Configuration::get('RATY_CATEGORY_PROMOTION_START'), "Y/m/d", "Y-m-d") > $todayDate ||
+ $this->formatDate(Configuration::get('RATY_CATEGORY_PROMOTION_END'), "Y/m/d", "Y-m-d") < $todayDate
+ ) {
+ $isCategoryPromotionValid = false;
+ }
+
+ foreach($products as $product) {
+ array_push($promotionsType, $this->getProductPromotion($product, $isProductPromotionValid, $isCategoryPromotionValid));
+ }
+
+ $promotion = explode('${sep}', Configuration::get('RATY_' . $promotionsType[0] .'_PROMOTION'));
+ if(count($promotionsType) > 1) {
+ for($i = 1; $i < count($promotionsType); $i++) {
+ $promotionType = explode('${sep}', Configuration::get('RATY_' . $promotionsType[$i] .'_PROMOTION'));
+ $promotion = array_intersect($promotion, $promotionType);
+ }
+ }
+
+ return implode('${sep}', $promotion);
+ }
+
+ private function getProductPromotion($product, $isProductPromotionValid, $isCategoryPromotionValid) {
+ if(is_array($product)){
+ $product = new Product($product['id_product']);
+ }
+ if($isProductPromotionValid && $product->alior_product_promotion) {
+ return 'PRODUCT';
+ }
+ if($isCategoryPromotionValid && $this->checkCategoryPromotion($product)) {
+ return 'CATEGORY';
+ }
+ return 'STANDARD';
+ }
+}
\ No newline at end of file
diff --git a/modules/raty/raty.tpl b/modules/raty/raty.tpl
new file mode 100644
index 00000000..6bc31da8
--- /dev/null
+++ b/modules/raty/raty.tpl
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/modules/raty/raty/alior-kalkulator-guzik.gif b/modules/raty/raty/alior-kalkulator-guzik.gif
new file mode 100644
index 00000000..69380256
Binary files /dev/null and b/modules/raty/raty/alior-kalkulator-guzik.gif differ
diff --git a/modules/raty/raty/alior.gif b/modules/raty/raty/alior.gif
new file mode 100644
index 00000000..38468488
Binary files /dev/null and b/modules/raty/raty/alior.gif differ
diff --git a/modules/raty/raty/config_pl.xml b/modules/raty/raty/config_pl.xml
new file mode 100644
index 00000000..9e680ca9
--- /dev/null
+++ b/modules/raty/raty/config_pl.xml
@@ -0,0 +1,13 @@
+
+
+ raty
+
+
+
+
+
+
+ 1
+ 1
+
+
\ No newline at end of file
diff --git a/modules/raty/raty/controllers/front/index.php b/modules/raty/raty/controllers/front/index.php
new file mode 100644
index 00000000..ea43c084
--- /dev/null
+++ b/modules/raty/raty/controllers/front/index.php
@@ -0,0 +1,11 @@
+context->cart;
+
+ if (!$this->module->checkAmount($cart->getOrderTotal())) {
+ Tools::redirect('index.php?controller=order');
+ }
+
+ //print_r($cart);die;
+
+ $this->context->smarty->assign(array(
+ 'nbProducts' => $cart->nbProducts(),
+ 'cust_currency' => $cart->id_currency,
+ 'currencies' => $this->module->getCurrency((int)$cart->id_currency),
+ 'total' => $cart->getOrderTotal(true, Cart::BOTH),
+ 'this_path' => $this->module->getPathUri(),
+ 'this_path_bw' => $this->module->getPathUri(),
+ 'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->module->name.'/'
+ ));
+
+ $this->setTemplate('payment_execution.tpl');
+ }
+}
diff --git a/modules/raty/raty/controllers/front/validation.php b/modules/raty/raty/controllers/front/validation.php
new file mode 100644
index 00000000..e895ee75
--- /dev/null
+++ b/modules/raty/raty/controllers/front/validation.php
@@ -0,0 +1,44 @@
+context->cart;
+
+ $customer = new Customer($cart->id_customer);
+ if ($cart->id_customer == 0 || $cart->id_address_delivery == 0 || $cart->id_address_invoice == 0 || !$this->module->active) {
+ Tools::redirect('index.php?controller=order&step=1');
+ }
+
+ // Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
+ $authorized = false;
+ foreach (Module::getPaymentModules() as $module) {
+ if ($module['name'] == 'raty') {
+ $authorized = true;
+ break;
+ }
+ }
+ if (!$authorized) {
+ die($this->module->l('Metoda płatności jest niedostępna.', 'validation'));
+ }
+
+ $customer = new Customer($cart->id_customer);
+ if (!Validate::isLoadedObject($customer)) {
+ Tools::redirect('index.php?controller=order&step=1');
+ }
+
+ $currency = $this->context->currency;
+ $total = (float) $cart->getOrderTotal(true, Cart::BOTH);
+
+
+ $mailVars = array();
+ $this->module->validateOrder($cart->id, Configuration::get('PS_OS_RATY'), $total, $this->module->displayName, null, $mailVars, (int) $currency->id, false, $customer->secure_key);
+
+ Tools::redirect('index.php?controller=order-confirmation&id_cart='.$cart->id.'&id_module='.$this->module->id.'&id_order='.$this->module->currentOrder.'&key='.$customer->secure_key);
+ }
+}
diff --git a/modules/raty/raty/controllers/index.php b/modules/raty/raty/controllers/index.php
new file mode 100644
index 00000000..8e6e4410
--- /dev/null
+++ b/modules/raty/raty/controllers/index.php
@@ -0,0 +1,11 @@
+ Store's categories IDs eg. 'TKC_AGDD' => [1, 19, 33],
+ */
+
+return [
+ 'TKC_AGDD' => [],
+ 'TKC_AGDM' => [],
+ 'TKC_AKCAUTO' => [],
+ 'TKC_BIZUT' => [],
+ 'TKC_DZIECIE' => [],
+ 'TKC_EDU' => [],
+ 'TKC_FOTO' => [],
+ 'TKC_INSTRMUZ' => [],
+ 'TKC_KOMP' => [],
+ 'TKC_MATBUD' => [],
+ 'TKC_MEBLE' => [],
+ 'TKC_MOTO' => [],
+ 'TKC_NARZ' => [],
+ 'TKC_ODZIEZ' => [],
+ 'TKC_OGRO' => [],
+ 'TKC_OGRZEW' => [],
+ 'TKC_OKDZW' => [],
+ 'TKC_OPAL' => [],
+ 'TKC_OPROGR' => [],
+ 'TKC_PAKIE' => [],
+ 'TKC_RTV' => [],
+ 'TKC_SPORTREH' => [],
+ 'TKC_SPRZKOM' => [],
+ 'TKC_SYSTEKO' => [],
+ 'TKC_SZTUK' => [],
+ 'TKC_TELE' => [],
+ 'TKC_UBEZ' => [],
+ 'TKC_USLUGI' => [],
+ 'default' => 'TKC_AGDM'
+];
diff --git a/modules/raty/raty/payment.php b/modules/raty/raty/payment.php
new file mode 100644
index 00000000..3a51a063
--- /dev/null
+++ b/modules/raty/raty/payment.php
@@ -0,0 +1,13 @@
+init();
+
+Tools::redirect(Context::getContext()->link->getModuleLink('raty', 'payment'));
diff --git a/modules/raty/raty/raty.css b/modules/raty/raty/raty.css
new file mode 100644
index 00000000..8ec1e6e5
--- /dev/null
+++ b/modules/raty/raty/raty.css
@@ -0,0 +1,13 @@
+/*
+To change this license header, choose License Headers in Project Properties.
+To change this template file, choose Tools | Templates
+and open the template in the editor.
+*/
+/*
+ Created on : 2016-10-18, 11:12:27
+ Author : Kamil
+*/
+
+#module-raty-payment ul.step li a,#module-raty-payment ul.step li span,#module-raty-payment ul.step li.step_current span,#module-raty-payment ul.step li.step_current_end span{
+ font-size: 16px !important;
+}
\ No newline at end of file
diff --git a/modules/raty/raty/raty.php b/modules/raty/raty/raty.php
new file mode 100644
index 00000000..ff76b86f
--- /dev/null
+++ b/modules/raty/raty/raty.php
@@ -0,0 +1,521 @@
+name = 'raty';
+ $this->tab = 'payments_gateways';
+ $this->version = '1.4.4';
+ $this->author = 'LogsHub.com';
+
+ $this->bootstrap = true;
+ $this->is_eu_compatible = 1;
+ $this->controllers = array('payment', 'validation');
+ $this->is_eu_compatible = 1;
+ $this->ps_versions_compliancy = array('min' => '1.7', 'max' => '1.7.6.99');
+
+ parent::__construct();
+
+ $this->displayName = $this->l('Raty');
+ $this->description = $this->l('Moduł do obsługi rat Alior Banku.');
+ $this->confirmUninstall = $this->l('Czy jesteś pewien aby odinstalować ten moduł?');
+
+ if (!Configuration::get('RATY_NAME')) {
+ $this->warning = $this->l('No name provided');
+ }
+ }
+
+ private function createOrderState()
+ {
+ // create new order status STATUSNAME
+ $values_to_insert = [
+ 'invoice' => 0,
+ 'send_email' => 0,
+ 'module_name' => $this->name,
+ 'color' => 'RoyalBlue',
+ 'unremovable' => 0,
+ 'hidden' => 0,
+ 'logable' => 0,
+ 'delivery' => 0,
+ 'shipped' => 0,
+ 'paid' => 0,
+ 'deleted' => 0
+ ];
+
+ if (!Db::getInstance()->insert('order_state', $values_to_insert)) {
+ return false;
+ }
+ $id_order_state = (int) Db::getInstance()->Insert_ID();
+ $languages = Language::getLanguages(false);
+ foreach ($languages as $language) {
+ Db::getInstance()->insert('order_state_lang', [
+ 'id_order_state' => $id_order_state,
+ 'id_lang' => $language['id_lang'],
+ 'name' => 'Oczekiwanie na zatwierdzenie umowy ratalnej przez Alior Bank',
+ 'template' => ''
+ ]);
+ }
+ if (!@copy(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'alior.gif', _PS_ROOT_DIR_ . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR . 'os' . DIRECTORY_SEPARATOR . $id_order_state . '.gif')) {
+ return false;
+ }
+ Configuration::updateValue('PS_OS_RATY', $id_order_state);
+ unset($id_order_state);
+
+ return true;
+ }
+
+ public function install()
+ {
+ if (Shop::isFeatureActive()) {
+ Shop::setContext(Shop::CONTEXT_ALL);
+ }
+
+ if (!parent::install()
+ ||
+ !$this->registerHook('displayHeader') ||
+ !$this->registerHook('displayProductButtons') ||
+ !$this->registerHook('displayShoppingCartFooter') ||
+ !$this->registerHook('payment') ||
+ !$this->registerHook('paymentOptions') ||
+ !$this->registerHook('paymentReturn') ||
+ !$this->createOrderState() ||
+ !Configuration::updateValue('RATY_NAME', 'Raty') ||
+ !Configuration::updateValue('RATY_URL', 'https://aliorbank.pl') ||
+ !Configuration::updateValue('RATY_PARTNERID', '1001') ||
+ !Configuration::updateValue('RATY_SUBPARTNERID', '') ||
+ !Configuration::updateValue('RATY_MCC', '') ||
+ !Configuration::updateValue('RATY_PROMOTION', '') ||
+ !Configuration::updateValue('RATY_WARTOSC', '') ||
+ !Configuration::updateValue('RATY_KALKULATOR', '') ||
+ !Configuration::updateValue('RATY_SALT', 'QWERSJR1234$$%')
+ ) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public function uninstall()
+ {
+ if (!parent::uninstall()||
+ !Configuration::deleteByName('RATY_NAME') ||
+ !Configuration::deleteByName('RATY_URL') ||
+ !Configuration::deleteByName('RATY_PARTNERID') ||
+ !Configuration::deleteByName('RATY_SUBPARTNERID') ||
+ !Configuration::updateValue('RATY_MCC', '') ||
+ !Configuration::updateValue('RATY_PROMOTION', '') ||
+ !Configuration::updateValue('RATY_WARTOSC', '') ||
+ !Configuration::updateValue('RATY_KALKULATOR', '') ||
+ !Configuration::deleteByName('RATY_SALT')
+ ) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public function hookPaymentOptions($params)
+ {
+ if (!$this->active) {
+ return;
+ }
+ if (!$this->checkCurrency($params['cart']) || !$this->checkAmount($params['cart']->getOrderTotal())) {
+ return;
+ }
+
+ $offlineOption = new PaymentOption();
+ $offlineOption->setCallToActionText($this->l('Raty - Alior Bank'))
+ ->setAction($this->context->link->getModuleLink($this->name, 'validation', array(), true))
+ // ->setAdditionalInformation($this->context->smarty->fetch('module:paymentexample/views/templates/front/payment_infos.tpl'))
+ ->setLogo(Media::getMediaPath(_PS_MODULE_DIR_.$this->name.'/alior.gif'));
+
+ return [
+ $offlineOption,
+ ];
+ }
+
+ public function getContent()
+ {
+ $output = '';
+
+ if (Tools::isSubmit('submitRaty')) {
+ $error = false;
+ if (!($raty_url = Tools::getValue('RATY_URL')) || empty($raty_url)) {
+ $output .= $this->displayError($this->l('Musisz wypełnić pole \'Adres URL\'.'));
+ $error = true;
+ } else {
+ Configuration::updateValue('RATY_URL', $raty_url);
+ }
+
+ if (!($raty_parentid = Tools::getValue('RATY_PARTNERID')) || empty($raty_parentid)) {
+ $output .= $this->displayError($this->l('Musisz wypełnić pole \'Parent ID\'.'));
+ $error = true;
+ } elseif (!$error) {
+ Configuration::updateValue('RATY_PARTNERID', $raty_parentid);
+ }
+
+ Configuration::updateValue('RATY_SUBPARTNERID', Tools::getValue('RATY_SUBPARTNERID'));
+
+ if (!($raty_salt = Tools::getValue('RATY_SALT')) || empty($raty_salt)) {
+ $output .= $this->displayError($this->l('Musisz wypełnić pole \'Salt\'.'));
+ $error = true;
+ } elseif (!$error) {
+ Configuration::updateValue('RATY_SALT', $raty_salt);
+ }
+
+ Configuration::updateValue('RATY_MCC', Tools::getValue('RATY_MCC'));
+ Configuration::updateValue('RATY_PROMOTION', Tools::getValue('RATY_PROMOTION'));
+ Configuration::updateValue('RATY_WARTOSC', $this->changeNumberFormat(Tools::getValue('RATY_WARTOSC')));
+ Configuration::updateValue('RATY_KALKULATOR', Tools::getValue('RATY_KALKULATOR'));
+
+
+ if (!$error) {
+ $output .= $this->displayConfirmation($this->l('Parametry uaktualnione.'));
+ }
+ }
+
+ return $output . $this->renderForm();
+ }
+
+ public function hookDisplayProductButtons($params)
+ {
+ if (empty($params['product']->price_amount)){
+ return;
+ }
+ $price = $params['product']->price_amount;
+ if (!$this->checkAmount($price)) {
+ return;
+ }
+
+ if (!$this->isCached('productraty.tpl', $this->getCacheId($params['product']->id))) {
+ $promotion = Tools::getValue('RATY_PROMOTION', Configuration::get('RATY_PROMOTION'));
+ $this->smarty->assign(array(
+ 'this_path' => $this->_path,
+ 'this_path_raty' => $this->_path,
+ 'this_path_ssl' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__ . 'modules/' . $this->name . '/',
+ 'this_kalkulator' => Tools::getValue('RATY_KALKULATOR', Configuration::get('RATY_KALKULATOR')) .
+ '?installmentNumber=21&offerCode='.$promotion.'&cartValue=',
+ 'this_cena' => $this->changeNumberFormat(round($price, 2))
+ ));
+ }
+
+ return $this->display(__FILE__, 'productraty.tpl', $this->getCacheId($params['product']->id));
+ }
+
+ public function hookDisplayShoppingCartFooter($params)
+ {
+ if (!$this->checkCurrency($params['cart']) || !$this->checkAmount($params['cart']->getOrderTotal())) {
+ return;
+ }
+ $promotion = Tools::getValue('RATY_PROMOTION', Configuration::get('RATY_PROMOTION'));
+
+ $this->smarty->assign(array(
+ 'this_path' => $this->_path,
+ 'this_path_raty' => $this->_path,
+ 'this_path_ssl' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__ . 'modules/' . $this->name . '/',
+ 'this_kalkulator' => Tools::getValue('RATY_KALKULATOR', Configuration::get('RATY_KALKULATOR')) .
+ '?installmentNumber=21&offerCode='.$promotion.'&cartValue=',
+ 'this_cena' => $this->changeNumberFormat($params['cart']->getOrderTotal()),
+ ));
+
+ return $this->display(__FILE__, 'raty_cart.tpl', $this->getCacheId());
+ }
+
+ public function hookDisplayHeader($params)
+ {
+ $this->context->controller->addCSS($this->_path . 'raty.css', 'all');
+ }
+
+ public function hookPayment($params)
+ {
+ if (!$this->active) {
+ return;
+ }
+
+ if (!$this->changeNumberFormat($this->checkAmount($params['cart']->getOrderTotal()))) {
+ return;
+ }
+ $promotion = Tools::getValue('RATY_PROMOTION', Configuration::get('RATY_PROMOTION'));
+
+ $this->smarty->assign(array(
+ 'this_path' => $this->_path,
+ 'this_path_raty' => $this->_path,
+ 'this_path_ssl' => Tools::getShopDomainSsl(true, true) . __PS_BASE_URI__ . 'modules/' . $this->name . '/',
+ 'this_kalkulator' => Tools::getValue('RATY_KALKULATOR', Configuration::get('RATY_KALKULATOR')) .
+ '?installmentNumber=21&offerCode='.$promotion.'&cartValue=',
+ 'this_cena' => $this->changeNumberFormat($params['cart']->getOrderTotal()),
+ ));
+ return $this->display(__FILE__, 'payment.tpl');
+ }
+
+ public function hookPaymentReturn($params)
+ {
+ if (!$this->active) {
+ return;
+ }
+
+ $state = $params['order']->getCurrentState();
+
+ if (in_array($state, array(Configuration::get('PS_OS_RATY'), Configuration::get('PS_OS_OUTOFSTOCK'), Configuration::get('PS_OS_OUTOFSTOCK_UNPAID')))) {
+ $customer = new Customer($params['order']->id_customer);
+ $firstName = $customer->firstname;
+ $lastName = $customer->lastname;
+
+ $url = Tools::getValue('RATY_URL', Configuration::get('RATY_URL'));
+ $partnerId = Tools::getValue('RATY_PARTNERID', Configuration::get('RATY_PARTNERID'));
+ $subpartnerId = Tools::getValue('RATY_SUBPARTNERID', Configuration::get('RATY_SUBPARTNERID'));
+ $mcc = Tools::getValue('RATY_MCC', Configuration::get('RATY_MCC'));
+ $promotion = Tools::getValue('RATY_PROMOTION', Configuration::get('RATY_PROMOTION'));
+ $salt = Tools::getValue('RATY_SALT', Configuration::get('RATY_SALT'));
+ $calculatedIncome = '';
+ $limit = '';
+ $transactionCode = $params['order']->reference;
+ $total = $params['order']->total_paid;
+
+ $date = date('Y-m-d');
+ $time = date('H:i:s');
+ $dateAndTime = $date . 'T' . $time;
+
+ $verificationCode = hash('sha256', $salt . $this->changeNumberFormat($total) .
+ $transactionCode . $partnerId . $subpartnerId . $dateAndTime . $mcc . $firstName . $lastName . $limit . $calculatedIncome . $promotion);
+
+ $values = [
+ 'url' => $url,
+ 'firstName' => $firstName,
+ 'lastName' => $lastName,
+ 'amount' => $total,
+ 'partnerId' => $partnerId,
+ 'subpartnerId' => $subpartnerId,
+ 'mcc' => $mcc,
+ 'limit' => $limit,
+ 'promotion' => $promotion,
+ 'calculatedIncome' => $calculatedIncome,
+ 'verificationCode' => $verificationCode,
+ 'transactionCode' => $transactionCode,
+ 'dateAndTime' => $dateAndTime,
+ 'amount' => $this->changeNumberFormat($total),
+ 'status' => 'ok',
+ 'articlesList' => base64_encode(json_encode($this->getAliorsArticlesListJson(
+ $params['order']->getProducts(),
+ (float)$params['order']->total_shipping,
+ (float)$params['order']->total_discounts
+ ))),
+ ];
+
+ $this->context->smarty->assign($values);
+ } else {
+ $this->context->smarty->assign('status', 'failed');
+ }
+
+ return $this->context->smarty->fetch('module:raty/views/templates/hook/payment_return.tpl');
+ }
+
+ public function renderForm()
+ {
+ $fields_form = array(
+ 'form' => array(
+ 'legend' => array(
+ 'title' => $this->l('Ustawienia'),
+ 'icon' => 'icon-cogs'
+ ),
+ 'input' => array(
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Adres URL'),
+ 'name' => 'RATY_URL',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Adres URL banku.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('PartnerID'),
+ 'name' => 'RATY_PARTNERID',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Kod partnera handlowego')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('SubpartnerID'),
+ 'name' => 'RATY_SUBPARTNERID',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Dodatkowy kod partnera handlowego.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('MCC'),
+ 'name' => 'RATY_MCC',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Kod MCC.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Promocja'),
+ 'name' => 'RATY_PROMOTION',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Kod promocji.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Wartość'),
+ 'name' => 'RATY_WARTOSC',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Minimalna wartość od której dostępna jest sprzedaż ratalna.')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('URL kalkulatora'),
+ 'name' => 'RATY_KALKULATOR',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Link do obliczenia wysokości rat')
+ ),
+ array(
+ 'type' => 'text',
+ 'label' => $this->l('Salt'),
+ 'name' => 'RATY_SALT',
+ 'class' => 'fixed-width-xxl',
+ 'desc' => $this->l('Kod Salt odtrzymany od banku')
+ ),
+ ),
+ '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 = 'submitRaty';
+ $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 checkCurrency($cart)
+ {
+ $currency_order = new Currency($cart->id_currency);
+ $currencies_module = $this->getCurrency($cart->id_currency);
+ if (is_array($currencies_module)) {
+ foreach ($currencies_module as $currency_module) {
+ if ($currency_order->id == $currency_module['id_currency']) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ public function getConfigFieldsValues()
+ {
+ return array(
+ 'RATY_URL' => Tools::getValue('RATY_URL', Configuration::get('RATY_URL')),
+ 'RATY_PARTNERID' => Tools::getValue('RATY_PARTNERID', Configuration::get('RATY_PARTNERID')),
+ 'RATY_SUBPARTNERID' => Tools::getValue('RATY_SUBPARTNERID', Configuration::get('RATY_SUBPARTNERID')),
+ 'RATY_MCC' => Tools::getValue('RATY_MCC', Configuration::get('RATY_MCC')),
+ 'RATY_PROMOTION' => Tools::getValue('RATY_PROMOTION', Configuration::get('RATY_PROMOTION')),
+ 'RATY_WARTOSC' => Tools::getValue('RATY_WARTOSC', $this->changeNumberFormat(Configuration::get('RATY_WARTOSC'))),
+ 'RATY_KALKULATOR' => Tools::getValue('RATY_KALKULATOR', Configuration::get('RATY_KALKULATOR')),
+ 'RATY_SALT' => Tools::getValue('RATY_SALT', Configuration::get('RATY_SALT')),
+ );
+ }
+
+ public function checkAmount($total)
+ {
+ $wartosc = (float) Tools::getValue('RATY_WARTOSC', $this->changeNumberFormat(Configuration::get('RATY_WARTOSC')));
+ if ($wartosc > 0) {
+ return $wartosc <= $total;
+ }
+ return false;
+ }
+
+ private function changeNumberFormat($value)
+ {
+ return number_format($value, 2, '.', '');
+ }
+
+ private function getAliorsArticlesListJson(array $products, $totalShippingCost, $totalDiscounts)
+ {
+ $totalShippingCost = (float)$totalShippingCost;
+ $totalDiscounts = (float)$totalDiscounts;
+ // @see https://stackoverflow.com/questions/42981409/php7-1-json-encode-float-issue
+ // json_encode makes float values wrong. This is simple fix
+ if (version_compare(phpversion(), '7.1', '>=')) {
+ ini_set( 'serialize_precision', -1 );
+ }
+
+ $json = ['articlesList' => []];
+ foreach ($products as $prod) {
+ if (!empty($prod['unit_price_tax_incl'])){
+ $price = $prod['unit_price_tax_incl'];
+ } else {
+ $price = !empty($prod['product_price_wt']) ? $prod['product_price_wt'] : $prod['product_price'];
+ }
+ $json['articlesList'][] = [
+ "category" => $this->getAliorsCategory($prod['id_category_default']),
+ "name" => $prod['product_name'],
+ "number" => (int)$prod['product_quantity'],
+ "price" => (float)$price,
+ ];
+ }
+ if ($totalShippingCost){
+ $json['articlesList'][] = [
+ "category" => 'TKC_USLUGI', // from Alior's docs
+ "name" => 'Shipping costs',
+ "number" => 1,
+ "price" => $totalShippingCost,
+ ];
+ }
+ if ($totalDiscounts){
+ $json['articlesList'][] = [
+ "category" => 'TKC_RABAT', // from Alior's docs
+ "name" => 'Discount',
+ "number" => 1,
+ "price" => $totalDiscounts * -1,
+ ];
+ }
+
+ return $json;
+ }
+
+ /**
+ * Returns Alior's ID of category based on mapping (see map.php)
+ * @return string
+ */
+ private function getAliorsCategory($shopCategoryId)
+ {
+ $map = require(dirname(__FILE__) . '/map.php');
+ if (empty($map)) {
+ return '';
+ }
+ foreach ($map as $aliorId => $shopCats) {
+ if (in_array($shopCategoryId, $shopCats)) {
+ return $aliorId;
+ }
+ }
+
+ return !empty($map['default']) ? $map['default'] : '';
+ }
+}
diff --git a/modules/raty/raty/raty.tpl b/modules/raty/raty/raty.tpl
new file mode 100644
index 00000000..6bc31da8
--- /dev/null
+++ b/modules/raty/raty/raty.tpl
@@ -0,0 +1,9 @@
+
+
+
+
diff --git a/modules/raty/raty/validation.php b/modules/raty/raty/validation.php
new file mode 100644
index 00000000..f9710ed8
--- /dev/null
+++ b/modules/raty/raty/validation.php
@@ -0,0 +1,40 @@
+cart;
+$raty = new Raty();
+
+if ($cart->id_customer == 0 or $cart->id_address_delivery == 0 or $cart->id_address_invoice == 0 or !$raty->active) {
+ Tools::redirect('index.php?controller=order&step=1');
+}
+
+// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
+$authorized = false;
+foreach (Module::getPaymentModules() as $module) {
+ if ($module['name'] == 'raty') {
+ $authorized = true;
+ break;
+ }
+}
+if (!$authorized) {
+ die($raty->l('This payment method is not available.', 'validation'));
+}
+
+$customer = new Customer($cart->id_customer);
+
+if (!Validate::isLoadedObject($customer)) {
+ Tools::redirect('index.php?controller=order&step=1');
+}
+
+$currency = $context->currency;
+$total = (float)$cart->getOrderTotal(true, Cart::BOTH);
+
+$raty->validateOrder((int)$cart->id, $total, $raty->displayName, null, array(), (int)$currency->id, false, $customer->secure_key);
+
+Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)($cart->id).'&id_module='.(int)($raty->id).'&id_order='.$raty->currentOrder.'&key='.$customer->secure_key);
diff --git a/modules/raty/raty/views/index.php b/modules/raty/raty/views/index.php
new file mode 100644
index 00000000..ea43c084
--- /dev/null
+++ b/modules/raty/raty/views/index.php
@@ -0,0 +1,11 @@
+getPageLink('order', true, NULL, "step=3")|escape:'html':'UTF-8'}" title="{l s='Go back to the Checkout' mod='raty'}">{l s='Checkout' mod='raty'}
{$navigationPipe} {l s='Raty Alior Bank' mod='raty'}
+{/capture}
+
+{include file="$tpl_dir./breadcrumb.tpl"}
+
+
{l s='Podsumowanie zamówienia' mod='raty'}
+
+{assign var='current_step' value='payment'}
+{include file="$tpl_dir./order-steps.tpl"}
+
+{if $nbProducts <= 0}
+
{l s='Twój koszyk jest pusty.' mod='raty'}
+{else}
+
+
{l s='Raty Alior Bank' mod='raty'}
+
+{/if}
diff --git a/modules/raty/raty/views/templates/hook/index.php b/modules/raty/raty/views/templates/hook/index.php
new file mode 100644
index 00000000..f2df64bb
--- /dev/null
+++ b/modules/raty/raty/views/templates/hook/index.php
@@ -0,0 +1,11 @@
+
+
+
+ {l s='Zapłać poprzez raty Alior Bank' mod='raty'} {l s='' mod='raty'}
+
+ {if !empty($this_kalkulator)}
+
+ {/if}
+
\ No newline at end of file
diff --git a/modules/raty/raty/views/templates/hook/payment_return.tpl b/modules/raty/raty/views/templates/hook/payment_return.tpl
new file mode 100644
index 00000000..a4c55851
--- /dev/null
+++ b/modules/raty/raty/views/templates/hook/payment_return.tpl
@@ -0,0 +1,26 @@
+{if $status == 'ok'}
+
+
+
+{else}
+
+ {l s='We noticed a problem with your order. If you think this is an error, feel free to contact our' mod='bankwire'}
+ {l s='expert customer support team' mod='bankwire'} .
+
+{/if}
diff --git a/modules/raty/raty/views/templates/hook/productraty.tpl b/modules/raty/raty/views/templates/hook/productraty.tpl
new file mode 100644
index 00000000..0443041b
--- /dev/null
+++ b/modules/raty/raty/views/templates/hook/productraty.tpl
@@ -0,0 +1,6 @@
+{if !empty($this_kalkulator)}
+
+
+
+
+{/if}
\ No newline at end of file
diff --git a/modules/raty/raty/views/templates/hook/raty_cart.tpl b/modules/raty/raty/views/templates/hook/raty_cart.tpl
new file mode 100644
index 00000000..1c290864
--- /dev/null
+++ b/modules/raty/raty/views/templates/hook/raty_cart.tpl
@@ -0,0 +1,5 @@
+{if !empty($this_kalkulator)}
+
+
+
+{/if}
\ No newline at end of file
diff --git a/modules/raty/raty/views/templates/index.php b/modules/raty/raty/views/templates/index.php
new file mode 100644
index 00000000..8e6e4410
--- /dev/null
+++ b/modules/raty/raty/views/templates/index.php
@@ -0,0 +1,11 @@
+cart;
+$raty = new Raty();
+
+if ($cart->id_customer == 0 or $cart->id_address_delivery == 0 or $cart->id_address_invoice == 0 or !$raty->active) {
+ Tools::redirect('index.php?controller=order&step=1');
+}
+
+// Check that this payment option is still available in case the customer changed his address just before the end of the checkout process
+$authorized = false;
+foreach (Module::getPaymentModules() as $module) {
+ if ($module['name'] == 'raty') {
+ $authorized = true;
+ break;
+ }
+}
+if (!$authorized) {
+ die($raty->l('This payment method is not available.', 'validation'));
+}
+
+$customer = new Customer($cart->id_customer);
+
+if (!Validate::isLoadedObject($customer)) {
+ Tools::redirect('index.php?controller=order&step=1');
+}
+
+$currency = $context->currency;
+$total = (float)$cart->getOrderTotal(true, Cart::BOTH);
+
+$raty->validateOrder((int)$cart->id, $total, $raty->displayName, null, array(), (int)$currency->id, false, $customer->secure_key);
+
+Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)($cart->id).'&id_module='.(int)($raty->id).'&id_order='.$raty->currentOrder.'&key='.$customer->secure_key);
diff --git a/modules/raty/views/index.php b/modules/raty/views/index.php
new file mode 100644
index 00000000..ea43c084
--- /dev/null
+++ b/modules/raty/views/index.php
@@ -0,0 +1,11 @@
+getPageLink('order', true, NULL, "step=3")|escape:'html':'UTF-8'}" title="{l s='Go back to the Checkout' mod='raty'}">{l s='Checkout' mod='raty'}
{$navigationPipe} {l s='Raty Alior Bank' mod='raty'}
+{/capture}
+
+{include file="$tpl_dir./breadcrumb.tpl"}
+
+
{l s='Podsumowanie zamówienia' mod='raty'}
+
+{assign var='current_step' value='payment'}
+{include file="$tpl_dir./order-steps.tpl"}
+
+{if $nbProducts <= 0}
+
{l s='Twój koszyk jest pusty.' mod='raty'}
+{else}
+
+
{l s='Raty Alior Bank' mod='raty'}
+
+{/if}
diff --git a/modules/raty/views/templates/front/payment_infos.tpl b/modules/raty/views/templates/front/payment_infos.tpl
new file mode 100644
index 00000000..686ef6c2
--- /dev/null
+++ b/modules/raty/views/templates/front/payment_infos.tpl
@@ -0,0 +1 @@
+
{$raty_description}
\ No newline at end of file
diff --git a/modules/raty/views/templates/hook/index.php b/modules/raty/views/templates/hook/index.php
new file mode 100644
index 00000000..f2df64bb
--- /dev/null
+++ b/modules/raty/views/templates/hook/index.php
@@ -0,0 +1,11 @@
+
+
+
+ {l s='Zapłać poprzez raty Alior Bank' mod='raty'} {l s='' mod='raty'}
+
+
+
\ No newline at end of file
diff --git a/modules/raty/views/templates/hook/payment_return.tpl b/modules/raty/views/templates/hook/payment_return.tpl
new file mode 100644
index 00000000..a4c55851
--- /dev/null
+++ b/modules/raty/views/templates/hook/payment_return.tpl
@@ -0,0 +1,26 @@
+{if $status == 'ok'}
+
+
+
+{else}
+
+ {l s='We noticed a problem with your order. If you think this is an error, feel free to contact our' mod='bankwire'}
+ {l s='expert customer support team' mod='bankwire'} .
+
+{/if}
diff --git a/modules/raty/views/templates/hook/productraty.tpl b/modules/raty/views/templates/hook/productraty.tpl
new file mode 100644
index 00000000..5c8e0cf3
--- /dev/null
+++ b/modules/raty/views/templates/hook/productraty.tpl
@@ -0,0 +1,17 @@
+
+
+
+
\ No newline at end of file
diff --git a/modules/raty/views/templates/hook/raty_cart.tpl b/modules/raty/views/templates/hook/raty_cart.tpl
new file mode 100644
index 00000000..8edde331
--- /dev/null
+++ b/modules/raty/views/templates/hook/raty_cart.tpl
@@ -0,0 +1,16 @@
+
+
+
diff --git a/modules/raty/views/templates/hook/updatecategory.tpl b/modules/raty/views/templates/hook/updatecategory.tpl
new file mode 100644
index 00000000..2b38fee9
--- /dev/null
+++ b/modules/raty/views/templates/hook/updatecategory.tpl
@@ -0,0 +1,26 @@
+
+
+
\ No newline at end of file
diff --git a/modules/raty/views/templates/hook/updateproduct.tpl b/modules/raty/views/templates/hook/updateproduct.tpl
new file mode 100644
index 00000000..0daf6edb
--- /dev/null
+++ b/modules/raty/views/templates/hook/updateproduct.tpl
@@ -0,0 +1,27 @@
+
+
+
+
\ No newline at end of file
diff --git a/modules/raty/views/templates/index.php b/modules/raty/views/templates/index.php
new file mode 100644
index 00000000..8e6e4410
--- /dev/null
+++ b/modules/raty/views/templates/index.php
@@ -0,0 +1,11 @@
+ main {
overflow-x: hidden;
}
+html {
+ scroll-padding-top: 150px;
+}
+
body {
font-size: 15px;
line-height: 1.5;
@@ -270,6 +274,12 @@ a {
fill: #e6cb6f;
}
+body#product {
+ overflow-x: hidden;
+}
+body#product > main {
+ overflow: initial;
+}
body#product #content ul.product-flags {
display: flex;
flex-direction: row;
@@ -445,7 +455,6 @@ body#product .product-info-box .product-info-box-right .product-information .pro
body#product .product-info-box .product-info-box-right .product-information .product-actions .product-variants {
margin: 16px 0;
border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
}
body#product .product-info-box .product-info-box-right .product-information .product-actions .product-variants .product-variants-item {
position: relative;
@@ -682,8 +691,6 @@ body#product .product-info-box .product-info-box-right .product-information .pro
}
body#product .product-info-box .product-info-box-right .product-information .product-actions .product-additional-info {
display: none;
-}
-body#product .product-info-box .product-info-box-right .product-information .product-actions .product-additional-info {
margin: 30px 0;
}
body#product .product-info-box .product-info-box-right .product-information .blockreassurance_product {
@@ -696,6 +703,7 @@ body#product .product-info-box .product-info-box-right .product-information .blo
display: flex;
flex-direction: row;
align-items: center;
+ flex-wrap: wrap;
color: #462d26;
font-size: 14px;
font-weight: 500;
@@ -721,9 +729,44 @@ body#product .product-info-box .product-info-box-right .product-information .blo
font-weight: 700;
margin: 0;
}
+body#product .product-info-box .product-info-box-right .product-information .blockreassurance_product .item-1 .block-description {
+ text-decoration: underline;
+ cursor: pointer;
+}
+body#product .product-info-box .product-info-box-right .product-information .blockreassurance_product .block-raty {
+ width: 100%;
+ display: none;
+}
+body#product .product-info-box .product-info-box-right .product-information .blockreassurance_product .block-raty .block-raty--wrapper {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 10px;
+ padding-top: 20px;
+}
+body#product .product-info-box .product-info-box-right .product-information #description-nav {
+ padding: 32px 24px;
+ margin: 0;
+ list-style: none;
+ display: flex;
+ flex-direction: row;
+}
+body#product .product-info-box .product-info-box-right .product-information #description-nav li:not(:last-child) {
+ padding-right: 24px;
+ margin-right: 24px;
+ border-right: 1px solid rgba(17, 14, 12, 0.1019607843);
+}
+body#product .product-info-box .product-info-box-right .product-information #description-nav li a {
+ color: #462d26;
+ font-size: 16px;
+ font-weight: 600;
+ font-family: "Inter", sans-serif;
+}
body#product .product-description-box {
position: relative;
margin-bottom: 100px;
+ padding-top: 60px;
+ padding-bottom: 60px;
}
body#product .product-description-box::before {
content: "";
@@ -735,6 +778,83 @@ body#product .product-description-box::before {
transform: translateX(-50%);
background: #ffffff;
}
+body#product .product-description-box .c-row {
+ display: flex;
+ flex-direction: row;
+ -moz-column-gap: 60px;
+ column-gap: 60px;
+}
+body#product .product-description-box .c-row .c-col {
+ width: calc(50% - 30px);
+}
+@media (max-width: 767px) {
+ body#product .product-description-box .c-row .c-col {
+ width: 100%;
+ }
+}
+@media (max-width: 767px) {
+ body#product .product-description-box .c-row .c-col-2 {
+ display: none;
+ }
+}
+body#product .product-description-box .c-row .c-col-2 .product-description-box-img {
+ position: sticky;
+ top: 150px;
+}
+body#product .product-description-box .c-row .c-col-2 .product-description-box-img img {
+ width: 100%;
+ max-width: -moz-fit-content;
+ max-width: fit-content;
+}
+body#product .product-description-box ul.product-accordion-box {
+ padding: 0;
+ margin: 0;
+ list-style: none;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item.active .accordion-item-header img {
+ transform: scale(-1);
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-header {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ -moz-column-gap: 30px;
+ column-gap: 30px;
+ padding: 16px 0;
+ border-bottom: 1px solid rgba(17, 14, 12, 0.1019607843);
+ cursor: pointer;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-header h3 {
+ color: #462d26;
+ font-size: 24px;
+ font-weight: 600;
+ font-family: "Inter", sans-serif;
+ margin: 0;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-header img {
+ transition: all 0.3s ease-in-out;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-body .accordion-item-body--wrapper {
+ padding-top: 24px;
+ padding-bottom: 64px;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-body .accordion-item-body--wrapper * {
+ color: #000;
+ font-size: 14px;
+ font-weight: 400;
+ font-family: "Inter", sans-serif;
+ line-height: 1.4;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-body .accordion-item-body--wrapper * strong {
+ font-weight: 700;
+}
+body#product .product-description-box ul.product-accordion-box li.accordion-item .accordion-item-body .accordion-item-body--wrapper img {
+ max-width: -moz-fit-content;
+ max-width: fit-content;
+ width: 100%;
+ height: auto;
+}
body#product .tabs {
border-radius: 10px;
}
@@ -1733,15 +1853,17 @@ body#category #content-wrapper section#main div {
column-gap: 80px;
position: relative;
}
-.footer-box-other-info > .elementor-container > .elementor-row::before {
- content: "";
- position: absolute;
- top: -60px;
- bottom: -60px;
- left: 50%;
- width: 1px;
- transform: translateX(-50%);
- background: rgba(170, 138, 94, 0.25);
+@media (min-width: 1025px) {
+ .footer-box-other-info > .elementor-container > .elementor-row::before {
+ content: "";
+ position: absolute;
+ top: -60px;
+ bottom: -60px;
+ left: 50%;
+ width: 1px;
+ transform: translateX(-50%);
+ background: rgba(170, 138, 94, 0.25);
+ }
}
nav.pagination .page-list {
@@ -2140,4 +2262,16 @@ body#authentication section#main #content .register-form form footer.form-footer
align-items: center;
justify-content: center;
margin: 30px 0 0 0;
+}
+
+@media (max-width: 767px) {
+ .newsletter-form form.elementor-email-subscription .elementor-field-type-subscribe {
+ display: flex;
+ flex-direction: row;
+ row-gap: 16px;
+ flex-wrap: wrap;
+ }
+ .newsletter-form form.elementor-email-subscription .elementor-field-type-subscribe button {
+ width: 100%;
+ }
}/*# sourceMappingURL=custom.css.map */
\ No newline at end of file
diff --git a/themes/classic/assets/css/custom.css.map b/themes/classic/assets/css/custom.css.map
index fd6f66be..cb3d13b5 100644
--- a/themes/classic/assets/css/custom.css.map
+++ b/themes/classic/assets/css/custom.css.map
@@ -1 +1 @@
-{"version":3,"sources":["custom.scss","custom.css"],"names":[],"mappings":"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","file":"custom.css"}
\ No newline at end of file
+{"version":3,"sources":["custom.scss","custom.css"],"names":[],"mappings":"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","file":"custom.css"}
\ No newline at end of file
diff --git a/themes/classic/assets/css/custom.scss b/themes/classic/assets/css/custom.scss
index bf329504..2c42557a 100644
--- a/themes/classic/assets/css/custom.scss
+++ b/themes/classic/assets/css/custom.scss
@@ -11,6 +11,10 @@ body > main {
overflow-x: hidden;
}
+html {
+ scroll-padding-top: 150px;
+}
+
body {
font-size: 15px;
line-height: 1.5;
@@ -382,6 +386,12 @@ a {
//* Single Product
body#product {
+ overflow-x: hidden;
+
+ > main {
+ overflow: initial;
+ }
+
#content {
ul.product-flags {
display: flex;
@@ -601,7 +611,7 @@ body#product {
.product-variants {
margin: 16px 0;
border-top: 1px solid #ddd;
- border-bottom: 1px solid #ddd;
+ // border-bottom: 1px solid #ddd;
.product-variants-item {
position: relative;
@@ -898,9 +908,6 @@ body#product {
.product-additional-info {
display: none;
- }
-
- .product-additional-info {
margin: 30px 0;
}
}
@@ -915,6 +922,7 @@ body#product {
display: flex;
flex-direction: row;
align-items: center;
+ flex-wrap: wrap;
color: #462d26;
font-size: 14px;
@@ -946,6 +954,50 @@ body#product {
margin: 0;
}
}
+
+ .item-1 {
+ .block-description {
+ text-decoration: underline;
+ cursor: pointer;
+ }
+ }
+
+ .block-raty {
+ width: 100%;
+ display: none;
+
+ .block-raty--wrapper {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ gap: 10px;
+ padding-top: 20px;
+ }
+ }
+ }
+
+ #description-nav {
+ padding: 32px 24px;
+ margin: 0;
+ list-style: none;
+
+ display: flex;
+ flex-direction: row;
+
+ li {
+ &:not(:last-child) {
+ padding-right: 24px;
+ margin-right: 24px;
+ border-right: 1px solid #110e0c1a;
+ }
+
+ a {
+ color: #462d26;
+ font-size: 16px;
+ font-weight: 600;
+ font-family: $fInter;
+ }
+ }
}
}
}
@@ -954,6 +1006,8 @@ body#product {
.product-description-box {
position: relative;
margin-bottom: 100px;
+ padding-top: 60px;
+ padding-bottom: 60px;
&::before {
content: '';
@@ -965,6 +1019,98 @@ body#product {
transform: translateX(-50%);
background: #ffffff;
}
+
+ .c-row {
+ display: flex;
+ flex-direction: row;
+ column-gap: 60px;
+
+ .c-col {
+ width: calc(50% - 30px);
+
+ @media (max-width: 767px) {
+ width: 100%;
+ }
+ }
+
+ .c-col-2 {
+ @media (max-width: 767px) {
+ display: none;
+ }
+ .product-description-box-img {
+ position: sticky;
+ top: 150px;
+
+ img {
+ width: 100%;
+ max-width: fit-content;
+ }
+ }
+ }
+ }
+
+ ul.product-accordion-box {
+ padding: 0;
+ margin: 0;
+ list-style: none;
+
+ li.accordion-item {
+ &.active {
+ .accordion-item-header {
+ img {
+ transform: scale(-1);
+ }
+ }
+ }
+
+ .accordion-item-header {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: space-between;
+ column-gap: 30px;
+ padding: 16px 0;
+ border-bottom: 1px solid #110e0c1a;
+ cursor: pointer;
+
+ h3 {
+ color: #462d26;
+ font-size: 24px;
+ font-weight: 600;
+ font-family: $fInter;
+ margin: 0;
+ }
+ img {
+ transition: all 0.3s ease-in-out;
+ }
+ }
+
+ .accordion-item-body {
+ .accordion-item-body--wrapper {
+ padding-top: 24px;
+ padding-bottom: 64px;
+
+ * {
+ color: #000;
+ font-size: 14px;
+ font-weight: 400;
+ font-family: $fInter;
+ line-height: 1.4;
+
+ strong {
+ font-weight: 700;
+ }
+ }
+
+ img {
+ max-width: fit-content;
+ width: 100%;
+ height: auto;
+ }
+ }
+ }
+ }
+ }
}
.tabs {
@@ -2310,15 +2456,17 @@ body#category {
column-gap: 80px;
position: relative;
- &::before {
- content: '';
- position: absolute;
- top: -60px;
- bottom: -60px;
- left: 50%;
- width: 1px;
- transform: translateX(-50%);
- background: rgba(#aa8a5e, 0.25);
+ @media (min-width: 1025px) {
+ &::before {
+ content: '';
+ position: absolute;
+ top: -60px;
+ bottom: -60px;
+ left: 50%;
+ width: 1px;
+ transform: translateX(-50%);
+ background: rgba(#aa8a5e, 0.25);
+ }
}
}
}
@@ -2822,3 +2970,20 @@ body#authentication {
}
}
}
+
+.newsletter-form {
+ form.elementor-email-subscription {
+ .elementor-field-type-subscribe {
+ @media (max-width: 767px) {
+ display: flex;
+ flex-direction: row;
+ row-gap: 16px;
+ flex-wrap: wrap;
+
+ button {
+ width: 100%;
+ }
+ }
+ }
+ }
+}
diff --git a/themes/classic/assets/js/custom.js b/themes/classic/assets/js/custom.js
index deb082dc..4bc4c5e3 100644
--- a/themes/classic/assets/js/custom.js
+++ b/themes/classic/assets/js/custom.js
@@ -44,3 +44,73 @@ jQuery(document).ready(function ($) {
$(this).parent().siblings('.form-control-select-custom').slideToggle();
});
});
+
+
+jQuery(document).ready(function ($) {
+ if ($("#product").length) {
+ const additionalInfo = $(".product-additional-info");
+
+ if (additionalInfo.length) {
+ const elementsToCopy = [];
+
+ const selectors = [
+ ".single_raty",
+ "#oblicz-rate",
+ "#caraty"
+ ];
+
+ selectors.forEach(selector => {
+ const element = additionalInfo.find(selector);
+ if (element.length) {
+ elementsToCopy.push(element.clone());
+ }
+ });
+
+ if (elementsToCopy.length) {
+ const item1 = $(".blockreassurance_product .item-1");
+
+ if (item1.length) {
+ const blockRaty = $('
');
+ const wrapper = blockRaty.find('.block-raty--wrapper');
+
+ elementsToCopy.forEach(element => {
+ wrapper.append(element);
+ });
+
+ item1.append(blockRaty);
+ }
+ }
+ }
+
+ $(".blockreassurance_product .item-1 .block-description").on("click", function () {
+ const blockRaty = $(".blockreassurance_product .item-1 .block-raty");
+ if (blockRaty.length) {
+ blockRaty.slideToggle();
+ }
+ });
+ }
+});
+
+jQuery(document).ready(function ($) {
+ if ($("#product").length) {
+ $(".accordion-item").addClass("active");
+ $(".accordion-item-body").show();
+
+ $(".accordion-item-header").click(function(){
+ $(".accordion-item-body").slideUp();
+ $(".accordion-item").removeClass("active");
+
+ if ($(this).next(".accordion-item-body").is(":hidden")) {
+ $(this).next(".accordion-item-body").slideDown();
+ $(this).parent().addClass("active");
+ }
+ });
+
+
+ $(".product-description-box .product-description-box-img").css(
+ "top",
+ $("#header-panel-box").height() + 64
+ )
+
+ }
+})
\ No newline at end of file
diff --git a/themes/classic/templates/catalog/_partials/product-details.tpl b/themes/classic/templates/catalog/_partials/product-details.tpl
index 1e6d3e85..1be310b5 100644
--- a/themes/classic/templates/catalog/_partials/product-details.tpl
+++ b/themes/classic/templates/catalog/_partials/product-details.tpl
@@ -1,8 +1,13 @@
-
+ > *}
+
{block name='product_reference'}
{if isset($product_manufacturer->id)}
diff --git a/themes/classic/templates/catalog/product.tpl b/themes/classic/templates/catalog/product.tpl
index 7175594a..14f744f5 100644
--- a/themes/classic/templates/catalog/product.tpl
+++ b/themes/classic/templates/catalog/product.tpl
@@ -52,7 +52,7 @@
+
+
+
+
+ {block name='product_description_accordion'}
+
+ {if $product.description}
+
+
+
+
+
{$product.description nofilter}
+
+
+
+ {/if}
+
+
+
+
+ {include file='catalog/_partials/product-details.tpl'}
+
+
+
+ {if $product.attachments}
+
+
+
+
+
+ {l s='Download' d='Shop.Theme.Actions'}
+ {foreach from=$product.attachments item=attachment}
+
+ {/foreach}
+
+
+
+
+ {/if}
+ {foreach from=$product.extraContent item=extra key=extraKey}
+
+ {/foreach}
+
+ {/block}
+
+
+
+ {if isset($product.images[1]) && $product.images[1].id_image}
+
+ {elseif isset($product.images[0]) && $product.images[0].id_image}
+
+ {/if}
+
+
+
+
+
+
+ {*
{block name='product_tabs'}
@@ -218,7 +341,7 @@
{/block}
-
+
*}
{block name='product_accessories'}
{if $accessories}