Example #1
0
 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;
 }
Example #3
0
 /**
  * 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;
 }
Example #4
0
 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();
 }