/** * * set image style and preview url */ private function setEditLayersSettings() { //get slider id if (!empty($this->item->id)) { $sliderID = $this->item->sliderid; } else { $sliderID = JRequest::getCmd("sliderid"); } $this->urlViewItems = HelperUniteRev::getViewUrl_Items($sliderID); $this->urlViewItemPattern = HelperUniteRev::getViewUrl_Item($sliderID, ""); $this->urlViewItemNew = HelperUniteRev::getViewUrl_Item($sliderID); $this->slideID = $this->item->id; $this->sliderID = $sliderID; $slider = HelperUniteRev::getSlider($sliderID); $this->slider = $slider; $params = $slider["params"]; $sliderHeight = $params->get("slider_height", 960); $sliderWidth = $params->get("slider_width", 350); //get image url $urlImage = $this->params->get("image"); if (empty($urlImage)) { $urlImage = GlobalsUniteRev::$urlDefaultSlideImage; } else { $urlImage = UniteFunctionJoomlaRev::getImageUrl($urlImage); } //create the style: $this->styleLayers = "width:{$sliderWidth}px;height:{$sliderHeight}px;"; if (!empty($urlImage)) { $this->styleLayers .= "background-image:url({$urlImage});"; } //create iframe style: //set iframe parameters $iframeWidth = $sliderWidth + 60; $iframeHeight = $sliderHeight + 50; $this->styleIframe = "width:{$iframeWidth}px;height:{$iframeHeight}px;"; //load edit layers $this->formLayer = new JForm("layer"); $this->formLayer->loadFile("layers"); //set captions list //prepare $contentCSS = $this->operations->getCaptionsContent(); $arrCaptionClasses = $this->operations->getArrCaptionClasses($contentCSS); $firstCaption = !empty($arrCaptionClasses) ? $arrCaptionClasses[0] : ""; //set caption field value of the first caption $this->formLayer->setValue("layer_caption", "", $firstCaption); $jsonLayers = $this->prepareLayersForOutput($this->item->layers); $this->jsonCaptions = UniteFunctionsRev::jsonEncodeForClientSide($arrCaptionClasses); $this->jsonLayers = UniteFunctionsRev::jsonEncodeForClientSide($jsonLayers); $this->arrButtonClasses = $this->operations->getButtonClasses(); //set slide delay $this->slideDelay = $this->params->get("delay"); if (empty($slideDelay)) { $this->slideDelay = $params->get("delay", "9000"); } }
/** * * output the slides */ private function putSlides() { $sliderParams = $this->params; if (empty($this->arrSlides)) { ?> <div class="no-slides-text"> No slides found, please add some slides </div> <?php } $thumbWidth = $sliderParams->get("thumb_width", 100); $thumbHeight = $sliderParams->get("thumb_height", 50); $slideWidth = $sliderParams->get("slider_width", 900); $slideHeight = $sliderParams->get("slider_height", 350); $navigationType = $sliderParams->get("navigaion_type", "none"); $isThumbsActive = $navigationType == "thumb" ? true : false; $flagReize = $sliderParams->get("php_resize", "none"); $flagReize = $flagReize == "on" ? true : false; //for one slide preview if ($this->oneSlideMode == true) { $this->filterOneSlide(); } ?> <ul> <?php foreach ($this->arrSlides as $slide) { $slideParams = $slide["params"]; $transition = $slideParams->get("slide_transition", "random"); $slotAmount = $slideParams->get("slot_amount", "7"); //get slide image url $urlSlideImage = UniteFunctionsRev::getVal($slide, "image"); if (empty($urlSlideImage)) { $urlSlideImage = GlobalsUniteRev::$urlDefaultSlideImage; } $urlSlideImage = UniteFunctionJoomlaRev::getImageUrl($urlSlideImage); $filenameSlideImage = UniteFunctionJoomlaRev::getImageFilename($urlSlideImage); $filepathSlideImage = UniteFunctionJoomlaRev::getImageFilepath($filenameSlideImage); //resize the image file with php resize if needed. if ($flagReize == true) { if (!empty($filenameSlideImage) && file_exists($filepathSlideImage)) { $urlSlideImage = UniteFunctionJoomlaRev::getImageOutputUrl($filenameSlideImage, $slideWidth, $slideHeight, true); } } //get thumb url $htmlThumb = ""; if ($isThumbsActive == true) { $urlThumb = $slideParams->get("slide_thumb", ""); if (empty($urlThumb)) { //try to get resized thumb if (!empty($filenameSlideImage) && file_exists($filepathSlideImage)) { $urlThumb = UniteFunctionJoomlaRev::getImageOutputUrl($filenameSlideImage, $thumbWidth, $thumbHeight, true); } } //if not - put regular image: if (empty($urlThumb)) { $urlThumb = $urlSlideImage; } $urlThumb = UniteFunctionJoomlaRev::getImageUrl($urlThumb); $htmlThumb = 'data-thumb="' . $urlThumb . '" '; } //get link //get link $htmlLink = ""; $enableLink = $slideParams->get("enable_link", "false"); if ($enableLink == "true") { $linkType = $slideParams->get("link_type", "regular"); switch ($linkType) { //---- normal link default: case "regular": $link = $slideParams->get("link", ""); if (!empty($link)) { $linkOpenIn = $slideParams->get("link_open_in", "same"); $htmlTarget = ""; if ($linkOpenIn == "new") { $htmlTarget = ' data-target="_blank"'; } $htmlLink = "data-link=\"{$link}\" {$htmlTarget} "; } break; //---- link to slide //---- link to slide case "slide": $slideLink = $slideParams->get("slide_link"); if (!empty($slideLink) && $slideLink != "nothing") { //get slide index from id if (is_numeric($slideLink)) { $slideLink = UniteFunctionsRev::getVal($this->slidesNumIndex, $slideLink); } if (!empty($slideLink)) { $htmlLink = "data-link=\"slide\" data-linktoslide=\"{$slideLink}\" "; } } break; } } //set link position: $linkPos = $slideParams->get("link_pos", "front"); if ($linkPos == "back") { $htmlLink .= ' data-slideindex="back"'; } //set delay $htmlDelay = ""; $delay = $slideParams->get("delay", ""); if (!empty($delay) && is_numeric($delay)) { $htmlDelay = "data-delay=\"{$delay}\" "; } //get duration $htmlDuration = ""; $duration = $slideParams->get("transition_duration", ""); if (!empty($duration) && is_numeric($duration)) { $htmlDuration = "data-masterspeed=\"{$duration}\" "; } //get rotation $htmlRotation = ""; $rotation = $slideParams->get("transition_rotation", ""); if (!empty($rotation)) { $rotation = (int) $rotation; if ($rotation != 0) { if ($rotation > 720 && $rotation != 999) { $rotation = 720; } if ($rotation < -720) { $rotation = -720; } } $htmlRotation = "data-rotate=\"{$rotation}\" "; } $videoData = $this->getSlideFullWidthVideoData($slideParams); $htmlParams = $htmlDuration . $htmlLink . $htmlThumb . $htmlDelay . $htmlRotation; //get the alt text $altText = $slideParams->get("alt_text"); if (!empty($altText)) { $altText = stripslashes($altText); $altText = htmlspecialchars($altText); } //Html ?> <li data-transition="<?php echo $transition; ?> " data-slotamount="<?php echo $slotAmount; ?> " <?php echo $htmlParams; ?> > <img src="<?php echo $urlSlideImage; ?> " alt="<?php echo $altText; ?> " /> <?php //put video: if ($videoData["found"] == true) { $this->putFullWidthVideoLayer($videoData); } $this->putCreativeLayer($slide); ?> </li> <?php } //get foreach ?> </ul> <?php }
/** * * put creative layer */ private function putCreativeLayer($slide) { $layers = $slide["layers"]; $layers = UniteFunctionsRev::convertStdClassToArray($layers); if (empty($layers)) { return false; } ?> <?php foreach ($layers as $layer) { $type = UniteFunctionsRev::getVal($layer, "type", "text"); $class = UniteFunctionsRev::getVal($layer, "style"); $animation = UniteFunctionsRev::getVal($layer, "animation", "fade"); //set output class: $outputClass = "tp-caption " . trim($class); $outputClass = trim($outputClass) . " "; $outputClass .= trim($animation); $left = UniteFunctionsRev::getVal($layer, "left", 0); $top = UniteFunctionsRev::getVal($layer, "top", 0); $speed = UniteFunctionsRev::getVal($layer, "speed", 300); $time = UniteFunctionsRev::getVal($layer, "time", 0); $easing = UniteFunctionsRev::getVal($layer, "easing", "easeOutExpo"); $randomRotate = UniteFunctionsRev::getVal($layer, "random_rotation", "false"); $randomRotate = UniteFunctionsRev::boolToStr($randomRotate); $text = UniteFunctionsRev::getVal($layer, "text"); $htmlVideoAutoplay = ""; //set html: //set html: $html = ""; switch ($type) { default: case "text": $html = $text; break; case "image": $urlImage = UniteFunctionsRev::getVal($layer, "image_url"); $urlImage = UniteFunctionJoomlaRev::getImageUrl($urlImage); $html = '<img src="' . $urlImage . '" alt="' . $text . '">'; $imageLink = UniteFunctionsRev::getVal($layer, "link", ""); if (!empty($imageLink)) { $openIn = UniteFunctionsRev::getVal($layer, "link_open_in", "same"); $target = ""; if ($openIn == "new") { $target = ' target="_blank"'; } $html = '<a href="' . $imageLink . '"' . $target . '>' . $html . '</a>'; } break; case "video": $videoType = trim(UniteFunctionsRev::getVal($layer, "video_type")); $videoID = trim(UniteFunctionsRev::getVal($layer, "video_id")); $videoWidth = trim(UniteFunctionsRev::getVal($layer, "video_width")); $videoHeight = trim(UniteFunctionsRev::getVal($layer, "video_height")); $linkYoutube = "http://www.youtube.com"; $linkVimeo = "http://player.vimeo.com"; if (JURI::getInstance()->isSSL() == true) { $linkYoutube = "https://www.youtube.com"; $linkVimeo = "https://player.vimeo.com"; } switch ($videoType) { case "youtube": $html = "<iframe frameBorder='0' src='{$linkYoutube}/embed/{$videoID}?hd=1&wmode=opaque&controls=1&showinfo=0;rel=0' width='{$videoWidth}' height='{$videoHeight}' style='width:{$videoWidth}px;height:{$videoHeight}px;'></iframe>"; break; case "vimeo": $html = "<iframe frameBorder='0' src='{$linkVimeo}/video/{$videoID}?title=0&byline=0&portrait=0' width='{$videoWidth}' height='{$videoHeight}' style='width:{$videoWidth}px;height:{$videoHeight}px;'></iframe>"; break; default: UniteFunctionsRev::throwError("wrong video type: {$videoType}"); break; } $videoAutoplay = UniteFunctionsRev::getVal($layer, "video_autoplay"); if ($videoAutoplay == "true") { $htmlVideoAutoplay = ' data-autoplay="true"'; } break; } //handle end transitions: $endTime = trim(UniteFunctionsRev::getVal($layer, "endtime")); $htmlEnd = ""; if (!empty($endTime)) { $htmlEnd = "data-end=\"{$endTime}\""; $endSpeed = trim(UniteFunctionsRev::getVal($layer, "endspeed")); if (!empty($endSpeed)) { $htmlEnd .= " data-endspeed=\"{$endSpeed}\""; } $endEasing = trim(UniteFunctionsRev::getVal($layer, "endeasing")); if (!empty($endSpeed) && $endEasing != "nothing") { $htmlEnd .= " data-endeasing=\"{$endEasing}\""; } //add animation to class $endAnimation = trim(UniteFunctionsRev::getVal($layer, "endanimation")); if (!empty($endAnimation) && $endAnimation != "auto") { $outputClass .= " " . $endAnimation; } } //slide link $htmlLink = ""; $slideLink = UniteFunctionsRev::getVal($layer, "link_slide"); if (!empty($slideLink) && $slideLink != "nothing") { //get slide index from id if (is_numeric($slideLink)) { $slideLink = UniteFunctionsRev::getVal($this->slidesNumIndex, $slideLink); } if (!empty($slideLink)) { $htmlLink = " data-linktoslide=\"{$slideLink}\""; } } //hidden under resolution $htmlHidden = ""; $layerHidden = UniteFunctionsRev::getVal($layer, "hiddenunder"); if ($layerHidden == "true") { $htmlHidden = ' data-captionhidden="on"'; } $htmlParams = $htmlEnd . $htmlLink . $htmlVideoAutoplay . $htmlHidden; ?> <div class="<?php echo $outputClass; ?> " data-x="<?php echo $left; ?> " data-y="<?php echo $top; ?> " data-speed="<?php echo $speed; ?> " data-start="<?php echo $time; ?> " data-easing="<?php echo $easing; ?> " <?php echo $htmlParams; ?> ><?php echo $html; ?> </div> <?php } ?> <?php }