public static function getGroupOption() { $result = array(); $obj = new PsSliderGroup(); $groups = $obj->getGroups(null, null); foreach ($groups as $group) { $temp = array(); $temp['id'] = $group['id_pssliderlayer_groups']; $temp['name'] = $group['title']; $result[] = $temp; } return $result; }
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_ . 'pssliderlayer/grouplayer.php'; include_once _PS_MODULE_DIR_ . 'pssliderlayer/sliderlayer.php'; $content = Tools::file_get_contents($_FILES['import_file']['tmp_name']); $content = Tools::jsonDecode(PsSliderSlide::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 && PsSliderGroup::groupExists($content['id_pssliderlayer_groups'])) { $group = new PsSliderGroup($content['id_pssliderlayer_groups']); //edit group $group = $this->setDataForGroup($group, $content); if (!$group->update()) { return false; } PsSliderGroup::deleteAllSlider($content['id_pssliderlayer_groups']); foreach ($content['sliders'] as $slider) { $obj = new PsSliderSlide(); 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'] && PsSliderSlide::sliderExist($slider['id'])) { $obj->update(); } else { $obj->add(); } } } else { $group = new PsSliderGroup(); $group = $this->setDataForGroup($group, $content); if (!$group->add()) { return false; } foreach ($content['sliders'] as $slider) { $obj = new PsSliderSlide(); 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=pssliderlayer&tab_module=prestabrain&module_name=pssliderlayer&conf=4'); //return false; }
/** * System get Delay value from GROUP when SLIDER's Delay <= 0 */ public static function showDelay($slide_id = 0, $delay = null, $group_delay = null) { $default = 9000; # Get Delay form SLIDER if ($delay > 0) { return $delay; } if (!empty($slide_id)) { $slider = new PsSliderSlide($slide_id); $s_delay = $slider->getDelay(); if ($s_delay > 0) { return $s_delay; } } # Get Delay form GROUP if ($group_delay > 0) { return $group_delay; } if (!empty($slide_id)) { $slider = new PsSliderSlide($slide_id); $group = new PsSliderGroup($slider->id_group); $g_delay = $group->getDelay(); if ($g_delay > 0) { return $g_delay; } } return $default; }
public function hookActionShopDataDuplication($params) { $groupList = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('SELECT gr.* FROM `' . _DB_PREFIX_ . 'pssliderlayer_groups` gr WHERE gr.`id_shop` = ' . (int) $params['old_id_shop']); foreach ($groupList as $list) { $group = new PsSliderGroup(); foreach ($list as $key => $value) { if ($key != 'id' && $key != 'id_shop') { $group->{$key} = $value; } } $group->id_shop = (int) $params['new_id_shop']; $group->add(); //import slider $sliderList = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('SELECT sl.id_pssliderlayer_slides as id FROM `' . _DB_PREFIX_ . 'pssliderlayer_slides` sl WHERE sl.`id_group` = ' . (int) $list['id_pssliderlayer_groups']); $fields = array('active', 'image', 'thumbnail', 'video', 'title', 'layersparams', 'title', 'position', 'link', 'params'); foreach ($sliderList as $key => $value) { $sliderOld = new PsSliderSlide($value['id']); //print_r($sliderOld);die; $sliderNew = new PsSliderSlide(); $sliderNew->id_group = $group->id; foreach ($fields as $field) { $sliderNew->{$field} = $sliderOld->{$field}; } $sliderNew->add(); } } $this->clearCache(); }