public function importSliderFromPost() { try { $sliderID = UniteFunctionsBanner::getPostVariable("sliderid"); $sliderExists = !empty($sliderID); if ($sliderExists) { $this->initByID($sliderID); } $filepath = $_FILES["import_file"]["tmp_name"]; if (file_exists($filepath) == false) { UniteFunctionsBanner::throwError("Import file not found!!!"); } //Get content array $content = @file_get_contents($filepath); $arrSlider = @unserialize($content); if (empty($arrSlider)) { UniteFunctionsBanner::throwError("Wrong export slider file format!"); } //Update slider params $sliderParams = $arrSlider["params"]; if ($sliderExists) { $sliderParams["title"] = $this->arrParams["title"]; $sliderParams["alias"] = $this->arrParams["alias"]; $sliderParams["shortcode"] = $this->arrParams["shortcode"]; } if (isset($sliderParams["backgroundImage"])) { $sliderParams["backgroundImage"] = UniteFunctionsWPBanner::getImageUrlFromPath($sliderParams["backgroundImage"]); } $json_params = json_encode($sliderParams); //Update slider or craete new if ($sliderExists) { $arrUpdate = array("params" => $json_params); $this->db->update(GlobalsBannerRotator::$table_sliders, $arrUpdate, array("id" => $sliderID)); } else { //New slider $arrInsert = array(); $arrInsert["params"] = $json_params; $arrInsert["title"] = UniteFunctionsBanner::getVal($sliderParams, "title", "Slider1"); $arrInsert["alias"] = UniteFunctionsBanner::getVal($sliderParams, "alias", "slider1"); $sliderID = $this->db->insert(GlobalsBannerRotator::$table_sliders, $arrInsert); } /************************ - Slides handle - ************************/ //Delete current slides if ($sliderExists) { $this->deleteAllSlides(); } //Create all slides $arrSlides = $arrSlider["slides"]; foreach ($arrSlides as $slide) { $params = $slide["params"]; $layers = $slide["layers"]; //Convert params images if (isset($params["image"])) { $params["image"] = UniteFunctionsWPBanner::getImageUrlFromPath($params["image"]); } //Convert layers images foreach ($layers as $key => $layer) { if (isset($layer["image_url"])) { $layer["image_url"] = UniteFunctionsWPBanner::getImageUrlFromPath($layer["image_url"]); $layers[$key] = $layer; } } //Create new slide $arrCreate = array(); $arrCreate["slider_id"] = $sliderID; $arrCreate["slide_order"] = $slide["slide_order"]; $arrCreate["layers"] = json_encode($layers); $arrCreate["params"] = json_encode($params); $this->db->insert(GlobalsBannerRotator::$table_slides, $arrCreate); } } catch (Exception $e) { $errorMessage = $e->getMessage(); return array("success" => false, "error" => $errorMessage, "sliderID" => $sliderID); } return array("success" => true, "sliderID" => $sliderID); }