private function _postProcessSearch() { $id_search = Tools::getValue('id_search', false); $ObjAdvancedSearchClass = new AdvancedSearchClass($id_search); $reindexing_categories = false; $index_filter_by_emplacement = false; $desindex_filter_by_emplacement = false; $this->_cleanOutput(true); if (!Tools::getValue('bool_cat')) { $_POST['categories_association'] = array(); } if (!Tools::getValue('bool_prod')) { $_POST['products_association'] = array(); } if (!Tools::getValue('bool_manu')) { $_POST['manufacturers_association'] = array(); } if (!Tools::getValue('bool_supp')) { $_POST['suppliers_association'] = array(); } if (!Tools::getValue('bool_spe')) { $_POST['special_pages_association'] = array(); } $this->errors = self::_retroValidateController($ObjAdvancedSearchClass); $_POST['background_color'] = $this->_getGradientFromArray('background_color'); $_POST['border_size'] = $this->_getBorderSizeFromArray(Tools::getValue('border_size')); if ($id_search && Tools::getValue('recursing_indexing') != $ObjAdvancedSearchClass->recursing_indexing) { $reindexing_categories = true; } if (Tools::getValue('filter_by_emplacement') && !$ObjAdvancedSearchClass->filter_by_emplacement) { $index_filter_by_emplacement = true; } elseif (!Tools::getValue('filter_by_emplacement') && $ObjAdvancedSearchClass->filter_by_emplacement) { $desindex_filter_by_emplacement = true; } if (!sizeof($this->errors)) { $this->copyFromPost($ObjAdvancedSearchClass); if (!$ObjAdvancedSearchClass->save()) { $this->errors[] = $this->l('Error while saving'); } if (!sizeof($this->errors)) { if (!$id_search && !$this->installDBCache($ObjAdvancedSearchClass->id)) { $this->errors[] = $this->l('Error while making cache table'); } elseif (!$id_search && !$ObjAdvancedSearchClass->addCacheProduct()) { $this->errors[] = $this->l('Error while creating products index'); } elseif ($id_search && !$ObjAdvancedSearchClass->updateCacheProduct()) { $this->errors[] = $this->l('Error while creating products index'); } if ($index_filter_by_emplacement) { AdvancedSearchClass::indexFilterByEmplacement($ObjAdvancedSearchClass->id); } elseif ($desindex_filter_by_emplacement) { AdvancedSearchClass::desIndexFilterByEmplacement($ObjAdvancedSearchClass->id); } if ($reindexing_categories) { AdvancedSearchClass::reindexingCategoriesGroups($ObjAdvancedSearchClass); } $this->generateCss(); $this->_html .= '<script type="text/javascript">'; if (!$id_search) { $this->_html .= 'parent.parent.addTabPanel("#wrapAsTab","' . $ObjAdvancedSearchClass->internal_name . '",' . $ObjAdvancedSearchClass->id . ', true, ' . (int) version_compare(_PS_VERSION_, '1.6.0.0', '>=') . ');'; } else { $this->_html .= 'parent.parent.loadTabPanel("#wrapAsTab","li#TabSearchAdminPanel' . $ObjAdvancedSearchClass->id . '","ul#asTab",' . $ObjAdvancedSearchClass->id . ');'; $this->_html .= 'parent.parent.updateSearchNameIntoTab("li#TabSearchAdminPanel' . $ObjAdvancedSearchClass->id . '", ' . Tools::jsonEncode($ObjAdvancedSearchClass->internal_name) . ');'; } $this->_html .= 'parent.parent.show_info("' . $this->l('Search has been updated successfully') . '");parent.parent.closeDialogIframe();'; $this->_html .= '</script>'; } } $this->displayErrorsJs(); $this->_echoOutput(true); }