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; }