diff --git a/resources/pot/retailcrm-es_ES.pot b/resources/pot/retailcrm-es_ES.pot index 536b254..9c5141c 100644 --- a/resources/pot/retailcrm-es_ES.pot +++ b/resources/pot/retailcrm-es_ES.pot @@ -148,6 +148,12 @@ msgstr "Los métodos de la formalización del pedido" msgid "Catalog settings" msgstr "Ajustes del catálogo" +msgid "Online assistant" +msgstr "Consultor en línea" + +msgid "Insert the Online consultant code here" +msgstr "Inserte el código de consultor en Línea aquí" + msgid "Select API version" msgstr "Selecciona la versión de API" diff --git a/resources/pot/retailcrm-ru_RU.pot b/resources/pot/retailcrm-ru_RU.pot index 30cf233..ad1975e 100644 --- a/resources/pot/retailcrm-ru_RU.pot +++ b/resources/pot/retailcrm-ru_RU.pot @@ -157,6 +157,12 @@ msgstr "Способы оформления заказа" msgid "Catalog settings" msgstr "Настройки каталога" +msgid "Online assistant" +msgstr "Онлайн консультант" + +msgid "Insert the Online consultant code here" +msgstr "Вставьте код Онлайн-консультанта здесь" + msgid "Select API version" msgstr "Выберите версию API" diff --git a/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php b/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php index c0794e4..41ee36e 100644 --- a/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php +++ b/src/include/abstracts/class-wc-retailcrm-abstracts-settings.php @@ -147,6 +147,13 @@ abstract class WC_Retailcrm_Abstracts_Settings extends WC_Integration 'desc_tip' => true ); + $this->form_fields['online_assistant'] = array( + 'title' => __( 'Online assistant', 'retailcrm' ), + 'type' => 'textarea', + 'id' => 'online_assistant', + 'placeholder' => __( 'Insert the Online consultant code here', 'retailcrm' ) + ); + $this->form_fields[] = array( 'title' => __( 'Catalog settings', 'retailcrm' ), 'type' => 'title', @@ -557,6 +564,23 @@ abstract class WC_Retailcrm_Abstracts_Settings extends WC_Integration return ob_get_clean(); } + /** + * Returns the original value for the online_consultant field (ignores woocommerce validation) + * @param $key + * @param $value + * @return string + */ + public function validate_online_assistant_field($key, $value) + { + $onlineAssistant = $_POST['woocommerce_integration-retailcrm_online_assistant']; + + if (!empty($onlineAssistant) && is_string($onlineAssistant)) { + return wp_unslash($onlineAssistant); + } + + return ''; + } + /** * Validate API url * diff --git a/src/include/class-wc-retailcrm-base.php b/src/include/class-wc-retailcrm-base.php index acf71c5..85a58b9 100644 --- a/src/include/class-wc-retailcrm-base.php +++ b/src/include/class-wc-retailcrm-base.php @@ -92,6 +92,7 @@ if (!class_exists('WC_Retailcrm_Base')) { add_action('profile_update', array($this, 'update_customer'), 10, 2); add_action('wp_print_scripts', array($this, 'initialize_analytics'), 98); add_action('wp_print_scripts', array($this, 'initialize_daemon_collector'), 99); + add_action('wp_print_scripts', array($this, 'initialize_online_assistant'), 101); add_action('wp_print_footer_scripts', array($this, 'send_analytics'), 99); add_action('woocommerce_new_order', array($this, 'create_order'), 11, 1); @@ -114,7 +115,7 @@ if (!class_exists('WC_Retailcrm_Base')) { $this->init_settings(); } - /** + /** * @param $settings * * @return array @@ -374,6 +375,16 @@ if (!class_exists('WC_Retailcrm_Base')) { echo ''; } } + + /** + * Initialize online consultant + */ + public function initialize_online_assistant() + { + if (!is_admin()) { + echo $this->get_option('online_assistant'); + } + } /** * Get retailcrm api client diff --git a/src/languages/retailcrm-es_ES.mo b/src/languages/retailcrm-es_ES.mo index 8cc5fc4..e180f1a 100644 Binary files a/src/languages/retailcrm-es_ES.mo and b/src/languages/retailcrm-es_ES.mo differ diff --git a/src/languages/retailcrm-ru_RU.mo b/src/languages/retailcrm-ru_RU.mo index 9727ac5..ad8482c 100644 Binary files a/src/languages/retailcrm-ru_RU.mo and b/src/languages/retailcrm-ru_RU.mo differ