Example #1
0
 protected function load($id)
 {
     global $wpdb;
     $result = $wpdb->get_row(sprintf('SELECT * FROM %s WHERE id = %d', $wpdb->prefix . parent::SLIDES_TABLE, (int) $id), ARRAY_A);
     if (is_null($result)) {
         return false;
     }
     $this->id = (int) $id;
     $this->sliderId = (int) $result['slider_id'];
     $this->sliderAlias = MPSLSliderOptions::getAliasById($this->sliderId);
     $this->slideOrder = (int) $result['slide_order'];
     //        $this->options = json_decode($result['options'], true);
     $this->overrideOptions(json_decode($result['options'], true), false);
     $this->overrideLayers(json_decode($result['layers'], true));
     return true;
 }
Example #2
0
 function exportSliders()
 {
     global $mpsl_settings;
     if (isset($_POST['ids']) && !empty($_POST['ids'])) {
         if (check_admin_referer('export-mpsl-sliders')) {
             $uploads = wp_upload_dir();
             $exportData = array('info' => array('mpsl-ver' => $mpsl_settings['plugin_version'], 'base-upload' => $uploads['baseurl']));
             $internalResources = array();
             foreach ($_POST['ids'] as $id) {
                 require_once $this->pluginDir . 'SliderOptions.php';
                 $slider = new MPSLSliderOptions($id);
                 $error = null;
                 $slider_data = $slider->getExportSliderData($internalResources);
                 $exportData['sliders'][$id] = $slider_data;
             }
             $exportData['uploads'] = $internalResources;
             $siteTitle = str_replace(' ', '', get_bloginfo('name'));
             $date = date("m-d-Y");
             if (count($exportData['sliders']) > 1) {
                 $sliderAlias = 'sliders';
             } else {
                 $firstSlider = reset($exportData['sliders']);
                 $sliderAlias = $firstSlider['options']['alias'];
             }
             $exportFileName = $siteTitle . "-" . $sliderAlias . "-data-" . $date;
             $exportData = json_encode($exportData);
             header("Content-Type: application/force-download; charset=" . get_bloginfo('charset'));
             header("Content-Disposition: attachment; filename={$exportFileName}.json");
             exit($exportData);
         }
     }
     exit;
 }
Example #3
0
 private function importData($data)
 {
     if (empty($data)) {
         return false;
     }
     $import_data = json_decode($data, true);
     if (!is_array($import_data)) {
         if ($this->isVerbose) {
             _e('Import data is not valid.', MPSL_TEXTDOMAIN) . "<br/>";
         }
         return false;
     }
     if (isset($import_data['sliders'])) {
         $importedMedia = $this->importUploads($import_data['uploads']);
         if (!empty($importedMedia)) {
             if ($this->isVerbose) {
                 echo '<br/>' . __('Uploads imported', MPSL_TEXTDOMAIN) . '<br/><hr/><br/>';
             }
         }
         // replace placeholders in data with new attachment ids
         $this->updateAttachmentIds($import_data, $importedMedia);
         foreach ($import_data['sliders'] as $slider_data) {
             global $mpslAdmin;
             $slider = new MPSLSliderOptions();
             $slider->overrideOptions($slider_data['options'], false);
             $slider->makeAliasUnique();
             $sliderId = $slider->create();
             if (false !== $sliderId) {
                 if ($this->isVerbose) {
                     printf(__('Slider "%s" options imported.', MPSL_TEXTDOMAIN), $slider->getAlias());
                     echo '<br/>';
                 }
                 foreach ($slider_data['slides'] as $slide_data) {
                     $slide = new MPSLSlideOptions();
                     $slide->overrideOptions($slide_data['options'], false);
                     $slide->setLayers($slide_data['layers']);
                     $result = $slide->import($sliderId);
                     if (false !== $result) {
                         if ($this->isVerbose) {
                             printf(__('Slide "%s" of slider "%s" imported.', MPSL_TEXTDOMAIN), $slide->getTitle(), $slider->getAlias());
                             echo '<br/>';
                         }
                     } else {
                         if ($this->isVerbose) {
                             global $wpdb;
                             printf(__('Slide "%s" of slider "%s" is not imported. Error: %s', MPSL_TEXTDOMAIN), $slide->getTitle(), $slider->getAlias(), $wpdb->last_error);
                             echo '<br/>';
                         }
                     }
                 }
             } else {
                 if ($this->isVerbose) {
                     global $wpdb;
                     printf(__('Slider "%s" is not imported. Error: %s', MPSL_TEXTDOMAIN), $slider->getAlias(), $wpdb->last_error);
                     echo '<br/>';
                 }
             }
         }
     }
     return true;
 }