submit = 'submitPcConfiguration'; } public function setMedia($isNewTheme = false) { parent::setMedia($isNewTheme); $this->addJS(array( _PS_JS_DIR_ . 'jquery/plugins/autocomplete/jquery.autocomplete.js', )); } public function getConfigs() { return EtsRVDefines::getInstance()->getConfigs(); } public function getConfigTabs() { return EtsRVDefines::getInstance()->getConfigTabs(); } public function _postConfigs() { parent::_postConfigs(); if (!(int)Configuration::get('ETS_RV_CACHE_ENABLED')) { EtsRVSmartyCache::clearCacheAllSmarty('*'); } else { EtsRVSmartyCache::clearCacheAllSmarty('*', 'recaptcha'); EtsRVSmartyCache::clearCacheAllSmarty('*', 'color'); EtsRVSmartyCache::clearCacheAllSmarty('*', 'home'); } if (empty($this->errors)) { $this->confirmations[] = $this->_conf[6]; } } public function getTemplateVars($helper) { $tpl_vars = parent::getTemplateVars($helper); if (!file_exists($this->module->getLocalPath() . 'views/doc/' . ($filepath = 'GG Snippet guide_' . Tools::strtoupper($this->context->language->iso_code) . '.pdf'))) { $filepath = 'GG Snippet guide_EN.pdf'; } $tpl_vars['google_snippet_doc_link'] = $this->module->getPathUri() . 'views/doc/' . $filepath; $tpl_vars['clear_cache_link'] = self::$currentIndex . '&ajax=1&action=clearAllCache&token=' . $this->token; return $tpl_vars; } public function ajaxProcessClearAllCache() { EtsRVSmartyCache::clearCacheAllSmarty('*'); die(json_encode([ 'msg' => $this->l('Smarty cache is cleaned successfully', 'AdminEtsRVSettingsController') ])); } public function requiredFields($key, $config, $id_lang_default = null) { if (!$key) return false; $res = true; $discount_option = ($option = trim(Tools::getValue('ETS_RV_DISCOUNT_OPTION'))) && Validate::isCleanHtml($option) ? $option : ''; $apply_discount = ($apply = trim(Tools::getValue('ETS_RV_APPLY_DISCOUNT'))) && Validate::isCleanHtml($apply) ? $apply : ''; $recaptcha = (int)Tools::getValue('ETS_RV_RECAPTCHA_ENABLED') ? 1 : 0; $recaptcha_type = ($type = trim(Tools::getValue('ETS_RV_RECAPTCHA_TYPE'))) && Validate::isCleanHtml($type) ? $type : ''; $discount_enabled = (int)Tools::getValue('ETS_RV_DISCOUNT_ENABLED') > 0; switch (trim($key)) { case 'ETS_RV_RECAPTCHA_SITE_KEY_V2': case 'ETS_RV_RECAPTCHA_SECRET_KEY_V2': $res &= $recaptcha && $recaptcha_type == 'recaptcha_v2'; break; case 'ETS_RV_RECAPTCHA_SITE_KEY_V3': case 'ETS_RV_RECAPTCHA_SECRET_KEY_V3': $res &= $recaptcha && $recaptcha_type == 'recaptcha_v3'; break; case 'ETS_RV_MAX_UPLOAD_PHOTO': $res &= (int)Tools::getValue('ETS_RV_UPLOAD_PHOTO_ENABLED'); break; case 'ETS_RV_DISCOUNT_CODE': $res &= $discount_enabled && $discount_option == 'fixed'; break; case 'ETS_RV_REDUCTION_PERCENT': $res &= $discount_enabled && ($discount_option == 'auto' && $apply_discount == 'percent'); break; case 'ETS_RV_DISCOUNT_NAME': case 'ETS_RV_APPLY_DISCOUNT_IN': $res &= $discount_enabled && ($discount_option == 'auto'); break; case 'ETS_RV_REDUCTION_AMOUNT': $res &= $discount_enabled && ($discount_option == 'auto' && $apply_discount == 'amount'); break; } return $res && parent::requiredFields($key, $config, $id_lang_default); } public function validateFields($key, $config) { $discount_option = trim(Tools::getValue('ETS_RV_DISCOUNT_OPTION')); $apply_discount = trim(Tools::getValue('ETS_RV_APPLY_DISCOUNT')); $ETS_RV_WHO_POST_REVIEW = Tools::getValue('ETS_RV_WHO_POST_REVIEW'); $res = true; switch (trim($key)) { case 'ETS_RV_MAX_UPLOAD_PHOTO': $res &= (int)Tools::getValue('ETS_RV_UPLOAD_PHOTO_ENABLED'); break; case 'ETS_RV_REDUCTION_AMOUNT': $res &= ($apply_discount == 'amount' && $discount_option == 'auto'); break; case 'ETS_RV_REDUCTION_PERCENT': $res &= ($apply_discount == 'percent' && $discount_option == 'auto'); break; case 'ETS_RV_APPLY_DISCOUNT_IN': $res &= ($discount_option == 'auto'); break; case 'ETS_RV_REVIEW_AVAILABLE_TIME': $res &= is_array($ETS_RV_WHO_POST_REVIEW) && count($ETS_RV_WHO_POST_REVIEW) == 1 && $ETS_RV_WHO_POST_REVIEW[0] == 'purchased'; break; } return $res && parent::validateField($key, $config); } }