name = 'qloblockcontact'; $this->tab = 'front_office_features'; $this->version = '1.0.0'; $this->ps_versions_compliancy = array('min' => '1.6', 'max' => '1.6'); $this->author = 'Webkul'; $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('QloApps Contact Block'); $this->description = $this->l('Allows admin to add customer service information to website navigation bar.'); $this->confirmUnsinstall = $this->l('Are you sure you want to uninstall?'); } public function install() { if (!parent::install() || !Configuration::updateValue('QBC_PHONE', Configuration::get('WK_HOTEL_GLOBAL_CONTACT_NUMBER')) || !Configuration::updateValue('QBC_EMAIL', Configuration::get('WK_HOTEL_GLOBAL_CONTACT_EMAIL')) || !$this->registerHook('actionFrontControllerSetMedia') || !$this->registerHook('displayNav') || !$this->registerHook('displayExternalNavigationHook') ) { return false; } return true; } public function getContent() { if (Tools::isSubmit('submitModuleConfig')) { Configuration::updateValue('QBC_PHONE', Tools::getValue('QBC_PHONE')); Configuration::updateValue('QBC_EMAIL', Tools::getValue('QBC_EMAIL')); Tools::redirectAdmin( $this->context->link->getAdminLink('AdminModules').'&configure='.$this->name.'&conf=6' ); } return $this->renderForm(); } public function hookActionFrontControllerSetMedia() { $this->context->controller->addCSS($this->getPathUri().'views/css/hook/display-nav.css'); } public function hookDisplayNav() { $this->smarty->assign(array( 'phone' => Configuration::get('QBC_PHONE'), 'email' => Configuration::get('QBC_EMAIL'), )); return $this->display(__FILE__, 'display-nav.tpl'); } public function renderForm() { $fields_form = array( 'form' => array( 'legend' => array( 'title' => $this->l('Configuration'), 'icon' => 'icon-cogs', ), 'input' => array( array( 'type' => 'text', 'label' => $this->l('Phone'), 'hint' => $this->l('The phone number used for customer service.'), 'name' => 'QBC_PHONE', 'class' => 'fixed-width-xxl', ), array( 'type' => 'text', 'label' => $this->l('Email'), 'hint' => $this->l('The email used for customer service.'), 'name' => 'QBC_EMAIL', '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; $this->fields_form = array(); $helper->identifier = $this->identifier; $helper->submit_action = 'submitModuleConfig'; $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 hookDisplayExternalNavigationHook() { $this->smarty->assign(array( 'phone' => Configuration::get('QBC_PHONE'), 'email' => Configuration::get('QBC_EMAIL'), )); return $this->display(__FILE__, 'external-navigation-hook.tpl'); } public function getConfigFieldsValues() { return array( 'QBC_PHONE' => Tools::getValue('QBC_PHONE', Configuration::get('QBC_PHONE')), 'QBC_EMAIL' => Tools::getValue('QBC_EMAIL', Configuration::get('QBC_EMAIL')), ); } public function uninstall() { if (!parent::uninstall() || !Configuration::deleteByName('QBC_PHONE') || !Configuration::deleteByName('QBC_EMAIL') ) { return false; } return true; } }