public function importGroup() { $type = Tools::strtolower(Tools::substr(strrchr($_FILES['import_file']['name'], '.'), 1)); if (isset($_FILES['import_file']) && $type == 'txt' && isset($_FILES['import_file']['tmp_name']) && !empty($_FILES['import_file']['tmp_name'])) { include_once _PS_MODULE_DIR_ . 'leosliderlayer/grouplayer.php'; include_once _PS_MODULE_DIR_ . 'leosliderlayer/sliderlayer.php'; $content = Tools::file_get_contents($_FILES['import_file']['tmp_name']); $content = Tools::jsonDecode(SliderLayer::base64Decode($content), true); $languageField = array('title', 'link', 'image', 'thumbnail', 'video', 'layersparams'); $languages = Language::getLanguages(); $langList = array(); foreach ($languages as $lang) { $langList[$lang['iso_code']] = $lang['id_lang']; } $override_group = Tools::getValue('override_group'); //override or edit if ($override_group && LeoSliderGroup::groupExists($content['id_leosliderlayer_groups'])) { $group = new LeoSliderGroup($content['id_leosliderlayer_groups']); //edit group $group = $this->setDataForGroup($group, $content); if (!$group->update()) { return false; } LeoSliderGroup::deleteAllSlider($content['id_leosliderlayer_groups']); foreach ($content['sliders'] as $slider) { $obj = new SliderLayer(); foreach ($slider as $key => $val) { if (in_array($key, $languageField)) { foreach ($val as $keyLang => $valLang) { $obj->{$key}[$langList[$keyLang]] = $valLang; } } else { $obj->{$key} = $val; } } $obj->id_group = $group->id; if (isset($slider['id']) && $slider['id'] && SliderLayer::sliderExist($slider['id'])) { $obj->update(); } else { $obj->add(); } } } else { $group = new LeoSliderGroup(); $group = $this->setDataForGroup($group, $content); if (!$group->add()) { return false; } foreach ($content['sliders'] as $slider) { $obj = new SliderLayer(); foreach ($slider as $key => $val) { if (in_array($key, $languageField)) { foreach ($val as $keyLang => $valLang) { $obj->{$key}[$langList[$keyLang]] = $valLang; } } else { $obj->{$key} = $val; } } $obj->id_group = $group->id; $obj->id = 0; $obj->add(); } } //add new //return true; } Tools::redirectAdmin('index.php?controller=AdminModules&token=' . Tools::getAdminTokenLite('AdminModules') . '&configure=leosliderlayer&tab_module=leotheme&module_name=leosliderlayer&conf=4'); //return false; }