/** * create the slide (from image) */ public function createSlide($sliderID, $obj = "", $static = false) { $imageID = null; if (is_array($obj)) { $urlImage = RevSliderFunctions::getVal($obj, "url"); $imageID = RevSliderFunctions::getVal($obj, "id"); } else { $urlImage = $obj; } //get max order $slider = new RevSlider(); $slider->initByID($sliderID); $maxOrder = $slider->getMaxOrder(); $order = $maxOrder + 1; $params = array(); if (!empty($urlImage)) { $params["background_type"] = "image"; $params["image"] = $urlImage; if (!empty($imageID)) { $params["image_id"] = $imageID; } } else { //create transparent slide $params["background_type"] = "trans"; } $jsonParams = json_encode($params); $arrInsert = array("params" => $jsonParams, "slider_id" => $sliderID, "layers" => ""); if (!$static) { $arrInsert["slide_order"] = $order; } if (!$static) { $slideID = $this->db->insert(RevSliderGlobals::$table_slides, $arrInsert); } else { $slideID = $this->db->insert(RevSliderGlobals::$table_static_slides, $arrInsert); } return $slideID; }
/** * * create the slide (from image) */ public function createSlide($sliderID, $urlImage) { //get max order $slider = new RevSlider(); $slider->initByID($sliderID); $maxOrder = $slider->getMaxOrder(); $order = $maxOrder + 1; $params = array(); $params["image"] = $urlImage; $jsonParams = json_encode($params); $arrInsert = array("params" => $jsonParams, "slider_id" => $sliderID, "slide_order" => $order, "layers" => ""); $slideID = $this->db->insert(GlobalsRevSlider::$table_slides, $arrInsert); return $slideID; }
/** * * copy / move slide */ private function copyMoveSlide($slideID, $targetSliderID, $operation) { if ($operation == "move") { $targetSlider = new RevSlider(); $targetSlider->initByID($targetSliderID); $maxOrder = $targetSlider->getMaxOrder(); $newOrder = $maxOrder + 1; $arrUpdate = array("slider_id" => $targetSliderID, "slide_order" => $newOrder); //update children $arrChildren = $this->getArrSlideChildren($slideID); foreach ($arrChildren as $child) { $childID = $child->getID(); $this->db->update(GlobalsRevSlider::$table_slides, $arrUpdate, array("id" => $childID)); } $this->db->update(GlobalsRevSlider::$table_slides, $arrUpdate, array("id" => $slideID)); } else { //in place of copy $newSlideID = $this->duplicateSlide($slideID); $this->duplicateChildren($slideID, $newSlideID); $this->copyMoveSlide($newSlideID, $targetSliderID, "move"); } }
/** * * copy / move slide */ private function copyMoveSlide($slideID, $targetSliderID, $operation) { if ($operation == "move") { $targetSlider = new RevSlider(); $targetSlider->initByID($targetSliderID); $maxOrder = $targetSlider->getMaxOrder(); $newOrder = $maxOrder + 1; $arrUpdate = array("slider_id" => $targetSliderID, "slide_order" => $newOrder); $this->db->update(GlobalsRevSlider::$table_slides, $arrUpdate, array("id" => $slideID)); } else { //in place of copy $this->duplicateSlide($slideID); $this->copyMoveSlide($slideID, $targetSliderID, "move"); } }