예제 #1
0
 /**
  * 
  * update slide from data
  * @param $data
  */
 public function updateStaticSlideFromData($data)
 {
     $slideID = RevSliderFunctions::getVal($data, "slideid");
     $this->initByStaticID($slideID);
     //treat layers
     $layers = RevSliderFunctions::getVal($data, "layers");
     if (gettype($layers) == "string") {
         $layersStrip = stripslashes($layers);
         $layersDecoded = json_decode($layersStrip);
         if (empty($layersDecoded)) {
             $layersDecoded = json_decode($layers);
         }
         $layers = RevSliderFunctions::convertStdClassToArray($layersDecoded);
     }
     if (empty($layers) || gettype($layers) != "array") {
         $layers = array();
     }
     $layers = $this->normalizeLayers($layers);
     $settings = RevSliderFunctions::getVal($data, "settings");
     $arrUpdate = array();
     $arrUpdate["layers"] = json_encode($layers);
     $arrUpdate["settings"] = json_encode($settings);
     $this->db->update(RevSliderGlobals::$table_static_slides, $arrUpdate, array("id" => $this->id));
     //RevSliderOperations::updateDynamicCaptions();
 }
예제 #2
0
 /**
  *
  * filter the slides for one slide preview
  */
 private function filterOneSlide($slides)
 {
     $oneSlideID = $this->oneSlideData['slideid'];
     if (strpos($oneSlideID, 'static_') !== false) {
         global $wpdb;
         $sliderID = str_replace('static_', '', $oneSlideID);
         $tmp_slides = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . RevSliderGlobals::$table_static_slides . " WHERE slider_id = %s", array($sliderID)), ARRAY_A);
         if (!empty($tmp_slides)) {
             $n_slides = new RevSliderSlide();
             $n_slides->initByData($tmp_slides[0]);
             $slides[0] = $n_slides;
             $oneSlideID = $n_slides->getID();
         }
     }
     $oneSlideParams = RevSliderFunctions::getVal($this->oneSlideData, 'params');
     $oneSlideLayers = RevSliderFunctions::getVal($this->oneSlideData, 'layers');
     if (gettype($oneSlideParams) == 'object') {
         $oneSlideParams = (array) $oneSlideParams;
     }
     if (gettype($oneSlideLayers) == 'object') {
         $oneSlideLayers = (array) $oneSlideLayers;
     }
     if (!empty($oneSlideLayers)) {
         $oneSlideLayers = RevSliderFunctions::convertStdClassToArray($oneSlideLayers);
     }
     $newSlides = array();
     foreach ($slides as $slide) {
         $slideID = $slide->getID();
         if ($slideID == $oneSlideID) {
             if (!empty($oneSlideParams)) {
                 $slide->setParams($oneSlideParams);
             }
             if (!empty($oneSlideLayers)) {
                 $slide->setLayers($oneSlideLayers);
             }
             $newSlides[] = $slide;
             //add 2 slides
             $newSlides[] = $slide;
         }
     }
     return $newSlides;
 }
예제 #3
0
 /**
  * 
  * get categories by id's
  */
 public static function getCategoriesByIDs($arrIDs, $strTax = null)
 {
     if (empty($arrIDs)) {
         return array();
     }
     if (is_string($arrIDs)) {
         $strIDs = $arrIDs;
     } else {
         $strIDs = implode(",", $arrIDs);
     }
     $args = array();
     $args["include"] = $strIDs;
     if (!empty($strTax)) {
         if (is_string($strTax)) {
             $strTax = explode(",", $strTax);
         }
         $args["taxonomy"] = $strTax;
     }
     $arrCats = get_categories($args);
     if (!empty($arrCats)) {
         $arrCats = RevSliderFunctions::convertStdClassToArray($arrCats);
     }
     return $arrCats;
 }
 /**
  *
  * filter the slides for one slide preview
  */
 private function filterOneSlide($slides)
 {
     $oneSlideID = $this->oneSlideData['slideid'];
     $oneSlideParams = RevSliderFunctions::getVal($this->oneSlideData, 'params');
     $oneSlideLayers = RevSliderFunctions::getVal($this->oneSlideData, 'layers');
     if (gettype($oneSlideParams) == 'object') {
         $oneSlideParams = (array) $oneSlideParams;
     }
     if (gettype($oneSlideLayers) == 'object') {
         $oneSlideLayers = (array) $oneSlideLayers;
     }
     if (!empty($oneSlideLayers)) {
         $oneSlideLayers = RevSliderFunctions::convertStdClassToArray($oneSlideLayers);
     }
     $newSlides = array();
     foreach ($slides as $slide) {
         $slideID = $slide->getID();
         if ($slideID == $oneSlideID) {
             if (!empty($oneSlideParams)) {
                 $slide->setParams($oneSlideParams);
             }
             if (!empty($oneSlideLayers)) {
                 $slide->setLayers($oneSlideLayers);
             }
             $newSlides[] = $slide;
             //add 2 slides
             $newSlides[] = $slide;
         }
     }
     return $newSlides;
 }