!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\cumbreclima\wp-content\plugins\revslider\inc_php\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.36%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     revslider_slide.class.php (31.02 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

    
class RevSlide extends UniteElementsBaseRev{
        
        private 
$id;
        private 
$sliderID;
        private 
$slideOrder;        
        
        private 
$imageUrl;
        private 
$imageID;        
        private 
$imageThumb;        
        private 
$imageFilepath;
        private 
$imageFilename;
        
        private 
$params;
        private 
$arrLayers;
        private 
$arrChildren null;
        private 
$slider;
        
        private 
$static_slide false;
        
        private 
$postData;
        private 
$templateID;
        
        public function 
__construct(){
            
parent::__construct();
        }
        
        
/**
         * 
         * init slide by db record
         */
        
public function initByData($record){
        
            
$this->id $record["id"];
            
$this->sliderID $record["slider_id"];
            
$this->slideOrder = @$record["slide_order"];
            
            
$params $record["params"];
            
$params = (array)json_decode($params);
            
            
$layers $record["layers"];
            
$layers = (array)json_decode($layers);
            
$layers UniteFunctionsRev::convertStdClassToArray($layers);

            
$imageID UniteFunctionsRev::getVal($params"image_id");
            
            
//get image url and thumb url
            
if(!empty($imageID)){
                
$this->imageID $imageID;
                
                
$imageUrl UniteFunctionsWPRev::getUrlAttachmentImage($imageID);
                if(empty(
$imageUrl))
                    
$imageUrl UniteFunctionsRev::getVal($params"image");
                
                
$this->imageThumb UniteFunctionsWPRev::getUrlAttachmentImage($imageID,UniteFunctionsWPRev::THUMB_MEDIUM);
                
            }else{
                
$imageUrl UniteFunctionsRev::getVal($params"image");
            }
            
            if(
is_ssl()){
                
$imageUrl str_replace("http://""https://"$imageUrl);
            }
            
            
//dmp($imageUrl);exit();
            
            //set image path, file and url
            
$this->imageUrl $imageUrl;
            
            
$this->imageFilepath UniteFunctionsWPRev::getImagePathFromURL($this->imageUrl);
            
$realPath UniteFunctionsWPRev::getPathContent().$this->imageFilepath;
            
            if(
file_exists($realPath) == false || is_file($realPath) == false)
                
$this->imageFilepath "";
            
            
$this->imageFilename basename($this->imageUrl);
            
            
$this->params $params;
            
$this->arrLayers $layers;    
            
        }
        
        
        
/**
         * 
         * init by another slide
         */
        
private function initBySlide(RevSlide $slide){
            
            
$this->id "template";
            
$this->templateID $slide->getID();
            
$this->sliderID $slide->getSliderID();
            
$this->slideOrder $slide->getOrder();
            
            
$this->imageUrl $slide->getImageUrl();
            
$this->imageID $slide->getImageID();
            
$this->imageThumb $slide->getThumbUrl();        
            
$this->imageFilepath $slide->getImageFilepath();
            
$this->imageFilename $slide->getImageFilename();
            
            
$this->params $slide->getParams();
            
            
$this->arrLayers $slide->getLayers();
            
            
$this->arrChildren $slide->getArrChildrenPure();
        }
        
        
        
        
/**
         * 
         * init slide by post data
         */
        
public function initByPostData($postDataRevSlide $slideTemplate$sliderID){
            
            
$this->postData $this->postData;
            
            
$postID $postData["ID"];
                        
            
$arrWildcardsValues RevOperations::getPostWilcardValues($postID);
            
$slideTemplateID UniteFunctionsRev::getVal($arrWildcardsValues"slide_template");
                        
            if(!empty(
$slideTemplateID) && is_numeric($slideTemplateID)){
                
                    
//init by local template, if fail, init by global (slider) template
                
try{
                    
                    
$slideTemplateLocal = new RevSlide();
                    
$slideTemplateLocal->initByID($slideTemplateID);
                    
$this->initBySlide($slideTemplateLocal);
                }
                catch(
Exception $e){
                    
$this->initBySlide($slideTemplate);
                }
                                
            }else{
                
//init by global template
                
$this->initBySlide($slideTemplate);
                
            }
            
            
//set some slide params
            
$this->id $postID;
            
$this->params["title"] = UniteFunctionsRev::getVal($postData"post_title");
            
            if(@
$this->params['enable_link'] == "true" && @$this->params['link_type'] == "regular"){
                
$link get_permalink($postID);
                
$this->params["link"] = str_replace("%link%"$link$this->params["link"]);
                
$this->params["link"] = str_replace('-''_REVSLIDER_'$this->params["link"]);
                
                
//process meta tags:
                
$arrMatches = array();
                
preg_match('/%meta:\w+%/'$this->params["link"], $arrMatches);
                
                foreach(
$arrMatches as $match){
                    
$meta str_replace("%meta:"""$match);
                    
$meta str_replace("%","",$meta);
                    
$meta str_replace('_REVSLIDER_''-'$meta);
                    
$metaValue get_post_meta($postID,$meta,true);
                    
$this->params["link"] = str_replace($match,$metaValue,$this->params["link"]);
                }
                
                
$this->params["link"] = str_replace('_REVSLIDER_','-',$this->params["link"]);
                
            }
            
            
$status $postData["post_status"];
            
            if(
$status == "publish")
                
$this->params["state"] = "published";
            else
                
$this->params["state"] = "unpublished";
            
            
//set image
            
$thumbID UniteFunctionsWPRev::getPostThumbID($postID);
            
            if(!empty(
$thumbID))
                
$this->setImageByImageID($thumbID);
            
            
//replace placeholders in layers:
            
$this->setLayersByPostData($postData$sliderID);
        }
        
        
        
/**
         * 
         * replace layer placeholders by post data
         */
        
private function setLayersByPostData($postData,$sliderID){
            
            
$postID $postData["ID"];
            
            
$title UniteFunctionsRev::getVal($postData"post_title");
            
            
$excerpt_limit $this->getSliderParam($sliderID,"excerpt_limit",55,RevSlider::VALIDATE_NUMERIC);
            
$excerpt_limit = (int)$excerpt_limit;
            
$excerpt UniteFunctionsWPRev::getExcerptById($postID$excerpt_limit);
            
            
$alias UniteFunctionsRev::getVal($postData"post_name");
            
            
$content UniteFunctionsRev::getVal($postData"post_content");
            
            
$link get_permalink($postID);
            
            
$postDate UniteFunctionsRev::getVal($postData"post_date_gmt");
            
$postDate UniteFunctionsWPRev::convertPostDate($postDate);
            
            
$dateModified UniteFunctionsRev::getVal($postData"post_modified");
            
$dateModified UniteFunctionsWPRev::convertPostDate($dateModified);
            
            
$authorID UniteFunctionsRev::getVal($postData"post_author");
            
$authorName UniteFunctionsWPRev::getUserDisplayName($authorID);
            
            
$postCatsIDs $postData["post_category"];
            
$catlist UniteFunctionsWPRev::getCategoriesHtmlList($postCatsIDs);
            
$taglist UniteFunctionsWPRev::getTagsHtmlList($postID);
            
            
$numComments UniteFunctionsRev::getVal($postData"comment_count");
            
            foreach(
$this->arrLayers as $key=>$layer){
                
                
$text UniteFunctionsRev::getVal($layer"text");
                
                
$text str_replace("%title%"$title$text);
                
$text str_replace("%excerpt%"$excerpt$text);
                
$text str_replace("%alias%"$alias$text);
                
$text str_replace("%content%"$content$text);
                
$text str_replace("%link%"$link$text);
                
$text str_replace("%date%"$postDate $text);
                
$text str_replace("%date_modified%"$dateModified $text);
                
$text str_replace("%author_name%"$authorName $text);
                
$text str_replace("%num_comments%"$numComments $text);
                
$text str_replace("%catlist%"$catlist $text);
                
$text str_replace("%taglist%"$taglist $text);

                
//process meta tags:
                
$arrMatches = array();
                
$text str_replace('-''_REVSLIDER_'$text);
                
                
preg_match_all('/%meta:\w+%/'$text$arrMatches);

                foreach(
$arrMatches as $matched){
                    
                    foreach(
$matched as $match) {
                    
                        
$meta str_replace("%meta:"""$match);
                        
$meta str_replace("%","",$meta);
                        
$meta str_replace('_REVSLIDER_''-'$meta);
                        
$metaValue get_post_meta($postID,$meta,true);
                        
                        
$text str_replace($match,$metaValue,$text);    
                    }
                }
                
$text str_replace('_REVSLIDER_','-',$text);

                
                
                


                
//replace event's template
                
if(UniteEmRev::isEventsExists()){
                    
$eventData UniteEmRev::getEventPostData($postID);
                    if(!empty(
$eventData)){
                        foreach(
$eventData as $eventKey=>$eventValue){
                            
$eventPlaceholder "%event_".$eventKey."%";
                            if(
$eventKey == 'start_date' || $eventKey == 'end_date'$eventValue UniteFunctionsWPRev::convertPostDate($eventValue);
                            
$text str_replace($eventPlaceholder$eventValue $text);
                        }
                    }
                }
                
                
                
//$text = str_replace("location", "maxim" , $text);
                
                
$layer["text"] = $text;
                
$this->arrLayers[$key] = $layer;
            }                        
            
            
//$allMeta = get_post_meta($postID);
            //dmp($allMeta);exit();
        
}
        
        
        
/**
         * 
         * init the slider by id
         */
        
public function initByID($slideid){
            if(
strpos($slideid'static_') !== false){
                
$this->static_slide true;
                
$sliderID str_replace('static_'''$slideid);
                
                
UniteFunctionsRev::validateNumeric($sliderID,"Slider ID");
                
                
$sliderID $this->db->escape($sliderID);
                
$record $this->db->fetch(GlobalsRevSlider::$table_static_slides,"slider_id=$sliderID");
                
                if(empty(
$record)){
                    
//create a new static slide for the Slider and then use it
                    
$slide_id $this->createSlide($sliderID,"",true);
                    
                    
$record $this->db->fetch(GlobalsRevSlider::$table_static_slides,"slider_id=$sliderID");
                    
                    
$this->initByData($record[0]);
                }else{
                    
$this->initByData($record[0]);
                }
            }else{
                
UniteFunctionsRev::validateNumeric($slideid,"Slide ID");
                
$slideid $this->db->escape($slideid);
                
$record $this->db->fetchSingle(GlobalsRevSlider::$table_slides,"id=$slideid");
                
                
$this->initByData($record);
            }
        }
        
        
        
/**
         * 
         * init the slider by id
         */
        
public function initByStaticID($slideid){
        
            
UniteFunctionsRev::validateNumeric($slideid,"Slide ID");
            
$slideid $this->db->escape($slideid);
            
$record $this->db->fetchSingle(GlobalsRevSlider::$table_static_slides,"id=$slideid");
            
            
$this->initByData($record);
        }
        
        
        
/**
         * 
         * getStaticSlide
         */
        
public function getStaticSlideID($sliderID){
            
            
UniteFunctionsRev::validateNumeric($sliderID,"Slider ID");
            
            
$sliderID $this->db->escape($sliderID);
            
$record $this->db->fetch(GlobalsRevSlider::$table_static_slides,"slider_id=$sliderID");
            
            if(empty(
$record)){
                return 
false;
            }else{
                return 
$record[0]['id'];
            }
        }
        
        
        
        
/**
         * 
         * set slide image by image id
         */
        
private function setImageByImageID($imageID){
            
            
$this->imageID $imageID;
            
            
$this->imageUrl UniteFunctionsWPRev::getUrlAttachmentImage($imageID);
            
$this->imageThumb UniteFunctionsWPRev::getUrlAttachmentImage($imageID,UniteFunctionsWPRev::THUMB_MEDIUM);
            
            if(empty(
$this->imageUrl))
                return(
false);
            
            
$this->params["background_type"] = "image";
            
            if(
is_ssl()){
                
$this->imageUrl str_replace("http://""https://"$this->imageUrl);
            }
            
            
$this->imageFilepath UniteFunctionsWPRev::getImagePathFromURL($this->imageUrl);
            
$realPath UniteFunctionsWPRev::getPathContent().$this->imageFilepath;
            
            if(
file_exists($realPath) == false || is_file($realPath) == false)
                
$this->imageFilepath "";
            
            
$this->imageFilename basename($this->imageUrl);
        }
        
        
/**
         * 
         * set children array
         */
        
public function setArrChildren($arrChildren){
            
$this->arrChildren $arrChildren;
        }
        
        
        
/**
         * 
         * get children array
         */
        
public function getArrChildren(){
            
            
$this->validateInited();
            
            if(
$this->arrChildren === null){
                
$slider = new RevSlider();
                
$slider->initByID($this->sliderID);
                
$this->arrChildren $slider->getArrSlideChildren($this->id);
            }
            
            return(
$this->arrChildren);                
        }
        
        
/**
         * 
         * return if the slide from post
         */
        
public function isFromPost(){
            return !empty(
$this->postData);
        }
        
        
        
/**
         * 
         * get post data
         */
        
public function getPostData(){
            return(
$this->postData);
        }
        
        
        
/**
         * 
         * get children array as is
         */
        
public function getArrChildrenPure(){
            return(
$this->arrChildren);
        }
        
        
/**
         * 
         * return if the slide is parent slide
         */
        
public function isParent(){
            
$parentID $this->getParam("parentid","");
            return(!empty(
$parentID));
        }
        
        
        
/**
         * 
         * get slide language
         */
        
public function getLang(){
            
$lang $this->getParam("lang","all");
            return(
$lang);
        }
        
        
/**
         * 
         * return parent slide. If the slide is parent, return this slide.
         */
        
public function getParentSlide(){
            
$parentID $this->getParam("parentid","");
            if(empty(
$parentID))
                return(
$this);
                
            
$parentSlide = new RevSlide();
            
$parentSlide->initByID($parentID);
            return(
$parentSlide);
        }
        
        
/**
         * 
         * get array of children id's
         */
        
public function getArrChildrenIDs(){
            
$arrChildren $this->getArrChildren();
            
$arrChildrenIDs = array();
            foreach(
$arrChildren as $child){
                
$childID $child->getID();
                
$arrChildrenIDs[] = $childID;
            }
            
            return(
$arrChildrenIDs);
        }
        
        
        
/**
         * 
         * get array of children array and languages, the first is current language.
         */
        
public function getArrChildrenLangs($includeParent true){            
            
$this->validateInited();
            
$slideID $this->id;
            
            if(
$includeParent == true){
                
$lang $this->getParam("lang","all");
                
$arrOutput = array();
                
$arrOutput[] = array("slideid"=>$slideID,"lang"=>$lang,"isparent"=>true);
            }
            
            
$arrChildren $this->getArrChildren();
            
            foreach(
$arrChildren as $child){
                
$childID $child->getID();
                
$childLang $child->getParam("lang","all");
                
$arrOutput[] = array("slideid"=>$childID,"lang"=>$childLang,"isparent"=>false);
            }
            
            return(
$arrOutput);
        }
        
        
/**
         * 
         * get children language codes (including current slide lang code)
         */
        
public function getArrChildLangCodes($includeParent true){
            
$arrLangsWithSlideID $this->getArrChildrenLangs($includeParent);
            
$arrLangCodes = array();
            foreach(
$arrLangsWithSlideID as $item){
                
$lang $item["lang"];
                
$arrLangCodes[$lang] = $lang;
            }
            
            return(
$arrLangCodes);
        }
        
        
        
/**
         * 
         * get slide ID
         */
        
public function getID(){
            return(
$this->id);
        }
        
        
        
/**
         * 
         * get slide order
         */
        
public function getOrder(){
            
$this->validateInited();
            return(
$this->slideOrder);
        }
        
        
        
/**
         * 
         * get layers in json format
         */
        
public function getLayers(){
            
$this->validateInited();
            return(
$this->arrLayers);
        }
        
        
/**
         * 
         * modify layer links for export
         */
        
public function getLayersForExport($useDummy false){
            
$this->validateInited();
            
$arrLayersNew = array();
            foreach(
$this->arrLayers as $key=>$layer){
                
$imageUrl UniteFunctionsRev::getVal($layer"image_url");
                if(!empty(
$imageUrl))
                    
$layer["image_url"] = UniteFunctionsWPRev::getImagePathFromURL($layer["image_url"]);
                
                
$arrLayersNew[] = $layer;
            }
            
            return(
$arrLayersNew);
        }
        
        
/**
         * 
         * get params for export
         */
        
public function getParamsForExport(){
            
$arrParams $this->getParams();
            
$urlImage UniteFunctionsRev::getVal($arrParams"image");
            if(!empty(
$urlImage))
                
$arrParams["image"] = UniteFunctionsWPRev::getImagePathFromURL($urlImage);
            
            return(
$arrParams);
        }
        
        
        
/**
         * normalize layers text, and get layers
         * 
         */
        
public function getLayersNormalizeText(){
            
$arrLayersNew = array();
            foreach (
$this->arrLayers as $key=>$layer){
                
$text $layer["text"];
                
$text addslashes($text);
                
$layer["text"] = $text;
                
$arrLayersNew[] = $layer;
            }
            
            return(
$arrLayersNew);
        }
        

        
/**
         * 
         * get slide params
         */
        
public function getParams(){
            
$this->validateInited();
            return(
$this->params);
        }

        
        
/**
         *     
         * get parameter from params array. if no default, then the param is a must!
         */
        
function getParam($name,$default=null){
            
            if(
$default === null){
                if(!
array_key_exists($name$this->params))
                    
UniteFunctionsRev::throwError("The param <b>$name</b> not found in slide params.");
                
$default "";
            }
                
            return 
UniteFunctionsRev::getVal($this->params$name,$default);
        }
        
        
        
/**
         * 
         * get image filename
         */
        
public function getImageFilename(){
            return(
$this->imageFilename);
        }
        
        
        
/**
         * 
         * get image filepath
         */
        
public function getImageFilepath(){
            return(
$this->imageFilepath);
        }
        
        
        
/**
         * 
         * get image url
         */
        
public function getImageUrl(){
            
            return(
$this->imageUrl);
        }
        
        
        
/**
         * 
         * get image id
         */
        
public function getImageID(){
            return(
$this->imageID);
        }
        
        
/**
         * 
         * get thumb url
         */
        
public function getThumbUrl(){
            
$thumbUrl $this->imageUrl;
            if(!empty(
$this->imageThumb))
                
$thumbUrl $this->imageThumb;
                
            return(
$thumbUrl);
        }
        
        
        
/**
         * 
         * get the slider id
         */
        
public function getSliderID(){
            return(
$this->sliderID);
        }
        
        
/**
         * 
         * get slider param
         */
        
private function getSliderParam($sliderID,$name,$default,$validate=null){
            
            if(empty(
$this->slider)){
                
$this->slider = new RevSlider();
                
$this->slider->initByID($sliderID);
            }
            
            
$param $this->slider->getParam($name,$default,$validate);
            
            return(
$param);
        }
        
        
        
/**
         * 
         * validate that the slider exists
         */
        
private function validateSliderExists($sliderID){
            
$slider = new RevSlider();
            
$slider->initByID($sliderID);
        }
        
        
/**
         * 
         * validate that the slide is inited and the id exists.
         */
        
private function validateInited(){
            if(empty(
$this->id))
                
UniteFunctionsRev::throwError("The slide is not inited!!!");
        }
        
        
        
/**
         * 
         * create the slide (from image)
         */
        
public function createSlide($sliderID,$obj="",$static false){
            
            
$imageID null;
            
            if(
is_array($obj)){
                
$urlImage UniteFunctionsRev::getVal($obj"url");
                
$imageID UniteFunctionsRev::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(GlobalsRevSlider::$table_slides$arrInsert);
            else
                
$slideID $this->db->insert(GlobalsRevSlider::$table_static_slides$arrInsert);
            
            return(
$slideID);
        }
        
        
/**
         * 
         * update slide image from data
         */
        
public function updateSlideImageFromData($data){
            
            
$sliderID UniteFunctionsRev::getVal($data"slider_id");
            
$slider = new RevSlider();
            
$slider->initByID($sliderID);
            
            
$slideID UniteFunctionsRev::getVal($data"slide_id");
            
$urlImage UniteFunctionsRev::getVal($data"url_image");
            
UniteFunctionsRev::validateNotEmpty($urlImage);
            
$imageID UniteFunctionsRev::getVal($data"image_id");
            if(
$slider->isSlidesFromPosts()){
                
                if(!empty(
$imageID))
                    
UniteFunctionsWPRev::updatePostThumbnail($slideID$imageID);
                
            }else{
                
$this->initByID($slideID);
                                
                
$arrUpdate = array();
                
$arrUpdate["image"] = $urlImage;            
                
$arrUpdate["image_id"] = $imageID;
                
                
$this->updateParamsInDB($arrUpdate);
            }
            
            return(
$urlImage);
        }
        
        
        
        
/**
         * 
         * update slide parameters in db
         */
        
private function updateParamsInDB($arrUpdate = array()){
            
$this->validateInited();
            
$this->params array_merge($this->params,$arrUpdate);
            
$jsonParams json_encode($this->params);
            
            
$arrDBUpdate = array("params"=>$jsonParams);
            
            
$this->db->update(GlobalsRevSlider::$table_slides,$arrDBUpdate,array("id"=>$this->id));
        }
        
        
        
/**
         * 
         * update current layers in db
         */
        
private function updateLayersInDB($arrLayers null){
            
$this->validateInited();
            
            if(
$arrLayers === null)
                
$arrLayers $this->arrLayers;
                
            
$jsonLayers json_encode($arrLayers);
            
$arrDBUpdate = array("layers"=>$jsonLayers);
            
            
$this->db->update(GlobalsRevSlider::$table_slides,$arrDBUpdate,array("id"=>$this->id));
        } 
        
        
        
/**
         * 
         * update parent slideID 
         */
        
public function updateParentSlideID($parentID){
            
$arrUpdate = array();
            
$arrUpdate["parentid"] = $parentID;
            
$this->updateParamsInDB($arrUpdate);
        }
        
        
        
/**
         * 
         * sort layers by order
         */
        
private function sortLayersByOrder($layer1,$layer2){
            
$layer1 = (array)$layer1;
            
$layer2 = (array)$layer2;
            
            
$order1 UniteFunctionsRev::getVal($layer1"order",1);
            
$order2 UniteFunctionsRev::getVal($layer2"order",2);
            if(
$order1 == $order2)
                return(
0);
            
            return(
$order1 $order2);
        }
        
        
        
/**
         * 
         * go through the layers and fix small bugs if exists
         */
        
private function normalizeLayers($arrLayers){
            
            
usort($arrLayers,array($this,"sortLayersByOrder"));
            
            
$arrLayersNew = array();
            foreach (
$arrLayers as $key=>$layer){
                
                
$layer = (array)$layer;
                
                
//set type
                
$type UniteFunctionsRev::getVal($layer"type","text");
                
$layer["type"] = $type;
                
                
//normalize position:
                
$layer["left"] = round($layer["left"]);
                
$layer["top"] = round($layer["top"]);
                
                
//unset order
                
unset($layer["order"]);
                
                
//modify text
                
$layer["text"] = stripcslashes($layer["text"]);
                
                
$arrLayersNew[] = $layer;
            }
            
            return(
$arrLayersNew);
        }  
        
        
        
        
/**
         * 
         * normalize params
         */
        
private function normalizeParams($params){
            
            
$urlImage UniteFunctionsRev::getVal($params"image_url");
            
            
//init the id if absent
            
$params["image_id"] = UniteFunctionsRev::getVal($params"image_id");
            
            
$params["image"] = $urlImage;
            unset(
$params["image_url"]);
            
            if(isset(
$params["video_description"]))
                
$params["video_description"] = UniteFunctionsRev::normalizeTextareaContent($params["video_description"]);
            
            return(
$params);
        }
        
        
        
/**
         * 
         * update slide from data
         * @param $data
         */
        
public function updateSlideFromData($data$slideSettings){
            
            
$slideID UniteFunctionsRev::getVal($data"slideid");
            
$this->initByID($slideID);                        
            
            
//treat params
            
$params UniteFunctionsRev::getVal($data"params");
            
$params $this->normalizeParams($params);
            
            
//modify the values according the settings
            
$params $slideSettings->setStoredValues($params);
            
            
//preserve old data that not included in the given data
            
$params array_merge($this->params,$params);
            
            
//treat layers
            
$layers UniteFunctionsRev::getVal($data"layers");
            
            if(
gettype($layers) == "string"){
                
$layersStrip stripslashes($layers);
                
$layersDecoded json_decode($layersStrip);
                if(empty(
$layersDecoded))
                    
$layersDecoded json_decode($layers);
                
                
$layers UniteFunctionsRev::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(GlobalsRevSlider::$table_slides,$arrUpdate,array("id"=>$this->id));
            
            
//RevOperations::updateDynamicCaptions();
        
}
        
        
        
/**
         * 
         * update slide from data
         * @param $data
         */
        
public function updateStaticSlideFromData($data){
            
            
$slideID UniteFunctionsRev::getVal($data"slideid");
            
$this->initByStaticID($slideID);
            
            
//treat layers
            
$layers UniteFunctionsRev::getVal($data"layers");
            
            if(
gettype($layers) == "string"){
                
$layersStrip stripslashes($layers);
                
$layersDecoded json_decode($layersStrip);
                if(empty(
$layersDecoded))
                    
$layersDecoded json_decode($layers);
                
                
$layers UniteFunctionsRev::convertStdClassToArray($layersDecoded);
            }
            
            if(empty(
$layers) || gettype($layers) != "array")
                
$layers = array();
            
            
$layers $this->normalizeLayers($layers);
            
            
$arrUpdate = array();
            
$arrUpdate["layers"] = json_encode($layers);
            
            
$this->db->update(GlobalsRevSlider::$table_static_slides,$arrUpdate,array("id"=>$this->id));
            
            
//RevOperations::updateDynamicCaptions();
        
}
        
        
        
        
/**
         * 
         * delete slide by slideid
         */
        
public function deleteSlide(){
            
$this->validateInited();
            
            
$this->db->delete(GlobalsRevSlider::$table_slides,"id='".$this->id."'");
        }
        
        
        
/**
         * 
         * delete slide children
         */
        
public function deleteChildren(){
            
$this->validateInited();
            
$arrChildren $this->getArrChildren();
            foreach(
$arrChildren as $child)
                
$child->deleteSlide();
        }
        
        
        
/**
         * 
         * delete slide from data
         */
        
public function deleteSlideFromData($data){
            
            
$sliderID UniteFunctionsRev::getVal($data"sliderID");
            
$slider = new RevSlider();
            
$slider->initByID($sliderID);             

            
$isPost $slider->isSlidesFromPosts();
            
            if(
$isPost == true){    //delete post    
                
                
$postID UniteFunctionsRev::getVal($data"slideID");
                
UniteFunctionsWPRev::deletePost($postID);
                
            }else{        
//delete slide
                
                
$slideID UniteFunctionsRev::getVal($data"slideID");
                
$this->initByID($slideID);
                
$this->deleteChildren();
                
$this->deleteSlide();
                                
            }
            
            
//RevOperations::updateDynamicCaptions();
            
        
}
        
        
        
/**
         * 
         * set params from client
         */
        
public function setParams($params){
            
$params $this->normalizeParams($params);
            
$this->params $params;
        }
        
        
        
/**
         * 
         * set layers from client
         */
        
public function setLayers($layers){
            
$layers $this->normalizeLayers($layers);
            
$this->arrLayers $layers;
        }
        
        
        
/**
        /* toggle slide state from data
         */
        
public function toggleSlideStatFromData($data){
            
            
$sliderID UniteFunctionsRev::getVal($data"slider_id");
            
$slider = new RevSlider();
            
$slider->initByID($sliderID);
            
            
$slideID UniteFunctionsRev::getVal($data"slide_id");
                        
            if(
$slider->isSlidesFromPosts()){
                
$postData UniteFunctionsWPRev::getPost($slideID);
                
                
$oldState $postData["post_status"];
                
$newState = ($oldState == UniteFunctionsWPRev::STATE_PUBLISHED)?UniteFunctionsWPRev::STATE_DRAFT:UniteFunctionsWPRev::STATE_PUBLISHED;
                
                
//update the state in wp
                
UniteFunctionsWPRev::updatePostState($slideID$newState);
                
                
//return state:
                
$newState = ($newState == UniteFunctionsWPRev::STATE_PUBLISHED)?"published":"unpublished";
                
            }else{
                
$this->initByID($slideID);
                
                
$state $this->getParam("state","published");
                
$newState = ($state == "published")?"unpublished":"published";
                
                
$arrUpdate = array();
                
$arrUpdate["state"] = $newState;
                
                
$this->updateParamsInDB($arrUpdate);
                
            }
                        
            return(
$newState);
        }
        
        
        
/**
         * 
         * updatye slide language from data
         */
        
private function updateLangFromData($data){
                        
            
$slideID UniteFunctionsRev::getVal($data"slideid");
            
$this->initByID($slideID);
            
            
$lang UniteFunctionsRev::getVal($data"lang");
            
            
$arrUpdate = array();
            
$arrUpdate["lang"] = $lang;
            
$this->updateParamsInDB($arrUpdate);
            
            
$response = array();
            
$response["url_icon"] = UniteWpmlRev::getFlagUrl($lang);
            
$response["title"] = UniteWpmlRev::getLangTitle($lang);
            
$response["operation"] = "update";
            
            return(
$response);
        }
        
        
        
/**
         * 
         * add language (add slide that connected to current slide) from data
         */
        
private function addLangFromData($data){
            
$sliderID UniteFunctionsRev::getVal($data"sliderid");
            
$slideID UniteFunctionsRev::getVal($data"slideid");
            
$lang UniteFunctionsRev::getVal($data"lang");
            
            
//duplicate slide
            
$slider = new RevSlider();
            
$slider->initByID($sliderID);
            
$newSlideID $slider->duplicateSlide($slideID);
                    
            
//update new slide
            
$this->initByID($newSlideID);
            
            
$arrUpdate = array();
            
$arrUpdate["lang"] = $lang;
            
$arrUpdate["parentid"] = $slideID;
            
$this->updateParamsInDB($arrUpdate);
                        
            
$urlIcon UniteWpmlRev::getFlagUrl($lang);
            
$title UniteWpmlRev::getLangTitle($lang);
            
            
$newSlide = new RevSlide();
            
$newSlide->initByID($slideID);
            
$arrLangCodes $newSlide->getArrChildLangCodes();
            
$isAll UniteWpmlRev::isAllLangsInArray($arrLangCodes);
            
            
$html "<li>
                                <img id=\"icon_lang_"
.$newSlideID."\" class=\"icon_slide_lang\" src=\"".$urlIcon."\" title=\"".$title."\" data-slideid=\"".$newSlideID."\" data-lang=\"".$lang."\">
                                <div class=\"icon_lang_loader loader_round\" style=\"display:none\"></div>                                
                            </li>"
;
            
            
$response = array();
            
$response["operation"] = "add";
            
$response["isAll"] = $isAll;
            
$response["html"] = $html;
            
            return(
$response);
        }
        
        
        
/**
         * 
         * delete slide from language menu data
         */
        
private function deleteSlideFromLangData($data){
            
            
$slideID UniteFunctionsRev::getVal($data"slideid");
            
$this->initByID($slideID);
            
$this->deleteSlide();
            
            
$response = array();
            
$response["operation"] = "delete";
            return(
$response);
        }
        
        
        
/**
         * 
         * add or update language from data
         */
        
public function doSlideLangOperation($data){
            
            
$operation UniteFunctionsRev::getVal($data"operation");
            switch(
$operation){
                case 
"add":
                    
$response $this->addLangFromData($data);    
                break;
                case 
"delete":
                    
$response $this->deleteSlideFromLangData($data);
                break;
                case 
"update":
                default:
                    
$response $this->updateLangFromData($data);
                break;
            }
            
            return(
$response);
        }
        
        
/**
         * 
         * get thumb url
         */
        
public function getUrlImageThumb(){
            
            
//get image url by thumb
            
if(!empty($this->imageID)){
                
$urlImage UniteFunctionsWPRev::getUrlAttachmentImage($this->imageIDUniteFunctionsWPRev::THUMB_MEDIUM);
            }else{
                
//get from cache
                
if(!empty($this->imageFilepath)){
                    
$urlImage UniteBaseClassRev::getImageUrl($this->imageFilepath,200,100,true);
                }
                else 
                    
$urlImage $this->imageUrl;
            }
            
            if(empty(
$urlImage))
                
$urlImage $this->imageUrl;
            
            return(
$urlImage);
        }
        
        
/**
         * 
         * replace image url's among slide image and layer images
         */
        
public function replaceImageUrls($urlFrom$urlTo){
            
            
$this->validateInited();
                        
            
$urlImage UniteFunctionsRev::getVal($this->params"image");
            
            if(
strpos($urlImage$urlFrom) !== false){
                
$imageNew str_replace($urlFrom$urlTo$urlImage);
                
$this->params["image"] = $imageNew
                
$this->updateParamsInDB();
            }
            
            
            
// update image url in layers
            
$isUpdated false;
            foreach(
$this->arrLayers as $key=>$layer){
                
$type =  UniteFunctionsRev::getVal($layer"type");
                if(
$type == "image"){
                    
$urlImage UniteFunctionsRev::getVal($layer"image_url");
                    if(
strpos($urlImage$urlFrom) !== false){
                        
$newUrlImage str_replace($urlFrom$urlTo$urlImage);
                        
$this->arrLayers[$key]["image_url"] = $newUrlImage;
                        
$isUpdated true;
                    }
                }
            }
            
            if(
$isUpdated == true)
                
$this->updateLayersInDB();
            
        }
        
        
/**
         * 
         * replace transition styles on all slides
         */
        
public function changeTransition($transition){
            
$this->validateInited();
            
            
$this->params["slide_transition"] = $transition;
            
$this->updateParamsInDB();
        }
        
        
/**
         * 
         * replace transition duration on all slides
         */
        
public function changeTransitionDuration($transitionDuration){
            
$this->validateInited();
            
            
$this->params["transition_duration"] = $transitionDuration;
            
$this->updateParamsInDB();
        }
        
        public function 
isStaticSlide(){
            return 
$this->static_slide;
        }
    }
    
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0312 ]--