public function updateSlideFromData($data)
 {
     $slideID = UniteFunctionsBanner::getVal($data, "slideid");
     $this->initByID($slideID);
     //Treat params
     $params = UniteFunctionsBanner::getVal($data, "params");
     $params = $this->normalizeParams($params);
     //Preserve old data that not included in the given data
     $params = array_merge($this->params, $params);
     //Treat layers
     $layers = UniteFunctionsBanner::getVal($data, "layers");
     if (gettype($layers) == "string") {
         $layersStrip = stripslashes($layers);
         $layersDecoded = json_decode($layersStrip);
         if (empty($layersDecoded)) {
             $layersDecoded = json_decode($layers);
         }
         $layers = UniteFunctionsBanner::convertStdClassToArray($layersDecoded);
     }
     if (empty($layers) || gettype($layers) != "array") {
         $layers = array();
     }
     $layers = $this->normalizeLayers($layers);
     $arrUpdate = array();
     $arrUpdate["layers"] = json_encode($layers);
     $arrUpdate["params"] = json_encode($params);
     $this->db->update(GlobalsBannerRotator::$table_slides, $arrUpdate, array("id" => $this->id));
 }
 private function filterOneSlide($slides)
 {
     $oneSlideID = $this->oneSlideData["slideid"];
     $oneSlideParams = UniteFunctionsBanner::getVal($this->oneSlideData, "params");
     $oneSlideLayers = UniteFunctionsBanner::getVal($this->oneSlideData, "layers");
     if (gettype($oneSlideParams) == "object") {
         $oneSlideParams = (array) $oneSlideParams;
     }
     if (gettype($oneSlideLayers) == "object") {
         $oneSlideLayers = (array) $oneSlideLayers;
     }
     if (!empty($oneSlideLayers)) {
         $oneSlideLayers = UniteFunctionsBanner::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;
 }
 private function modifySettingsData($arrSettings)
 {
     foreach ($arrSettings as $key => $content) {
         switch (getType($content)) {
             case "string":
                 //Replace the unicode line break (sometimes left after json)
                 $content = str_replace("u000a", "\n", $content);
                 $content = str_replace("u000d", "", $content);
                 break;
             case "object":
             case "array":
                 $content = UniteFunctionsBanner::convertStdClassToArray($content);
                 break;
         }
         $arrSettings[$key] = $content;
     }
     return $arrSettings;
 }