private function udpdateColumnType($AdvancedTopMenuColumnClass, $id_lang) { switch ($AdvancedTopMenuColumnClass->type) { case 3: if (Tools::getValue('include_subs')) { if ($AdvancedTopMenuColumnClass->id_category) { $childCategories = array(); $childCategories = $this->getSubCategoriesId($AdvancedTopMenuColumnClass->id_category); if (sizeof($childCategories)) { foreach ($childCategories as $childCategory) { $id_element = false; if (Tools::getValue('id_column', false)) { $id_element = AdvancedTopMenuElementsClass::getIdElementCategoryDepend(Tools::getValue('id_column'), $childCategory['id_category']); if (!$id_element && !Tools::getValue('rebuild')) { continue; } } $AdvancedTopMenuElementsClass = new AdvancedTopMenuElementsClass($id_element); $AdvancedTopMenuElementsClass->active = $id_element ? $AdvancedTopMenuElementsClass->active : 1; $AdvancedTopMenuElementsClass->type = $AdvancedTopMenuColumnClass->type; $AdvancedTopMenuElementsClass->id_category = $childCategory['id_category']; $AdvancedTopMenuElementsClass->id_column = $AdvancedTopMenuColumnClass->id; $AdvancedTopMenuElementsClass->id_column_depend = $AdvancedTopMenuColumnClass->id; if (!$AdvancedTopMenuElementsClass->save()) { $this->errors[] = Tools::displayError('An error occured during save children category'); } } } } } break; case 4: if (Tools::getValue('include_subs_manu')) { $manufacturersId = $this->getManufacturersId(); if (sizeof($manufacturersId)) { foreach ($manufacturersId as $manufacturerId) { $id_element = false; if (Tools::getValue('id_column', false)) { $id_element = AdvancedTopMenuElementsClass::getIdElementManufacturerDepend(Tools::getValue('id_column'), $manufacturerId['id_manufacturer']); if (!$id_element && !Tools::getValue('rebuild')) { continue; } } $AdvancedTopMenuElementsClass = new AdvancedTopMenuElementsClass($id_element); $AdvancedTopMenuElementsClass->active = $id_element ? $AdvancedTopMenuElementsClass->active : 1; $AdvancedTopMenuElementsClass->type = $AdvancedTopMenuColumnClass->type; $AdvancedTopMenuElementsClass->id_manufacturer = $manufacturerId['id_manufacturer']; $AdvancedTopMenuElementsClass->id_column = $AdvancedTopMenuColumnClass->id; $AdvancedTopMenuElementsClass->id_column_depend = $AdvancedTopMenuColumnClass->id; if (!$AdvancedTopMenuElementsClass->save()) { $this->errors[] = Tools::displayError('An error occured during save manufacturer'); } } } } break; case 5: if (Tools::getValue('include_subs_suppl')) { $suppliersId = $this->getSuppliersId(); if (sizeof($suppliersId)) { foreach ($suppliersId as $supplierId) { $id_element = false; if (Tools::getValue('id_column', false)) { $id_element = AdvancedTopMenuElementsClass::getIdElementSupplierDepend(Tools::getValue('id_column'), $supplierId['id_supplier']); if (!$id_element && !Tools::getValue('rebuild')) { continue; } } $AdvancedTopMenuElementsClass = new AdvancedTopMenuElementsClass($id_element); $AdvancedTopMenuElementsClass->active = $id_element ? $AdvancedTopMenuElementsClass->active : 1; $AdvancedTopMenuElementsClass->type = $AdvancedTopMenuColumnClass->type; $AdvancedTopMenuElementsClass->id_supplier = $supplierId['id_supplier']; $AdvancedTopMenuElementsClass->id_column = $AdvancedTopMenuColumnClass->id; $AdvancedTopMenuElementsClass->id_column_depend = $AdvancedTopMenuColumnClass->id; if (!$AdvancedTopMenuElementsClass->save()) { $this->errors[] = Tools::displayError('An error occured during save supplier'); } } } } break; } }