| Server IP : 46.105.57.169 / Your IP : 216.73.216.84 Web Server : Apache System : Linux webd003.cluster120.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : maitricfuz ( 93378) PHP Version : 8.4.10 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/m/a/i/maitricfuz/www/saint-martin-lg/plugins/pagebuilderck/carousel/ |
Upload File : |
<?php
/**
* @copyright Copyright (C) 2015 Cédric KEIFLIN alias ced1870
* https://www.template-creator.com
* https://www.joomlack.fr
* @license GNU/GPL
* */
defined('_JEXEC') or die('Restricted access');
jimport('joomla.event.plugin');
class plgPagebuilderckCarousel extends \Joomla\CMS\Plugin\CMSPlugin {
private $context = 'PLG_PAGEBUILDERCK_CAROUSEL';
private $type = 'carousel';
function __construct(&$subject, $params) {
parent::__construct($subject, $params);
}
public function callAssets() {
// load the script in the page in admin and front
\Joomla\CMS\HTML\HTMLHelper::_('jquery.framework', true);
$doc = Pagebuilderck\CKFof::getDocument();
PagebuilderckFrontHelper::addStylesheet(Pagebuilderck\CKUri::root(true) . '/plugins/pagebuilderck/carousel/assets/carousel.css');
if (file_exists(JPATH_ROOT . '/media/com_pagebuilderck/presets/carousel/presets.css')) PagebuilderckFrontHelper::addStylesheet(Pagebuilderck\CKUri::root(true) . '/media/com_pagebuilderck/presets/carousel/presets.css');
$doc->addScript(Pagebuilderck\CKUri::root(true) . '/plugins/pagebuilderck/carousel/assets/carousel.js');
}
/*
* Construct the Menu Item to drag into the interface
*
* Return Object with item data
*/
public function onPagebuilderckAddItemToMenu() {
$this->callAssets();
// load the language files of the plugin
$this->loadLanguage();
// create the menu item
$menuitem = new stdClass();
$menuitem->type = $this->type;
$menuitem->group = 'image';
$menuitem->title = Pagebuilderck\CKText::_($this->context . '_MENUITEM_TITLE');
$menuitem->description = Pagebuilderck\CKText::_($this->context . '_MENUITEM_DESC');
$menuitem->image = Pagebuilderck\CKUri::root(true) . '/plugins/pagebuilderck/carousel/assets/images/carousel.svg';
return $menuitem;
}
/*
* Display the html code for the item to be used into the interface
*
* Return String the html code
*/
public function onPagebuilderckLoadItemContentCarousel() {
$input = Pagebuilderck\CKFof::getInput();
$id = $input->get('ckid', '', 'string');
?>
<div id="<?php echo $id; ?>" class="cktype" data-type="<?php echo $this->type ?>" onshow="pbck_carousel_init(jQuery(this).attr('id'));">
<div class="tab_carouseloptions ckprops" nbcols="3" thumbs="0" autolinkimages0="checked" uselightbox0="checked" showlightboxtitle0="checked" shownavigation1="checked" showlightboxdesc0="checked" fieldslist="nbcols,thumbs,autolinkimages1,autolinkimages0,uselightbox1,uselightbox0,showlightboxtitle1,showlightboxtitle0,showlightboxdesc1,showlightboxdesc0,shownavigation1"></div>
<div class="tab_titlestyles ckprops" titlebackgroundcolorstart="#222222" titlebackgroundpositionend="100" titlebackgrounddirection="topbottom" titlebackgroundopacity="100" titlebackgroundimageattachment="scroll" titlebackgroundimagerepeat="no-repeat" titlebackgroundimagesize="auto" titlecolor="#ffffff" titlebordertopstyle="solid" titleborderrightstyle="solid" titleborderbottomstyle="solid" titleborderleftstyle="solid" titlebordersstyle="solid" titleshadowopacity="50" titleshadowinset="0" fieldslist="titlebackgroundcolorstart,titlebackgroundpositionend,titlebackgrounddirection,titlebackgroundopacity,titlebackgroundimageattachment,titlebackgroundimagerepeat,titlebackgroundimagesize,titlecolor,titlealignementleft,titlealignementcenter,titlealignementright,titlealignementjustify,titlebordertopstyle,titleborderrightstyle,titleborderbottomstyle,titleborderleftstyle,titlebordersstyle,titleshadowopacity,titleshadowinset"></div>
<div class="tab_descstyles ckprops" descbackgroundcolorstart="#222222" descbackgroundpositionend="100" descbackgrounddirection="topbottom" descbackgroundopacity="100" descbackgroundimageattachment="scroll" descbackgroundimagerepeat="no-repeat" descbackgroundimagesize="auto" desccolor="#ffffff" descbordertopstyle="solid" descborderrightstyle="solid" descborderbottomstyle="solid" descborderleftstyle="solid" descbordersstyle="solid" descshadowopacity="50" descshadowinset="0" fieldslist="descbackgroundcolorstart,descbackgroundpositionend,descbackgrounddirection,descbackgroundopacity,descbackgroundimageattachment,descbackgroundimagerepeat,descbackgroundimagesize,desccolor,descalignementleft,descalignementcenter,descalignementright,descalignementjustify,descbordertopstyle,descborderrightstyle,descborderbottomstyle,descborderleftstyle,descbordersstyle,descshadowopacity,descshadowinset"></div>
<div class="ckstyle">
<style>
#<?php echo $id; ?> .pbck_wrapinner {
width: calc(100% * 3 + 2 * 10px);
}
#<?php echo $id; ?> .pbck_slide {
width: calc((100% - (8 * 10px)) / (9));
}
#<?php echo $id; ?> .pbck_slide:not(:first-child) {
margin-left: 10px;
}
#<?php echo $id; ?> .pbck_slide_title {
background-color: #222222;
background-color: rgba(34,34,34,1);
color: #ffffff;
}
#<?php echo $id; ?> .pbck_slide_desc {
background-color: #222222;
background-color: rgba(34,34,34,1);
color: #ffffff;
}
#<?php echo $id; ?> .titleck {
background-color: #222222;
background-color: rgba(34,34,34,1);
color: #ffffff;
}
#<?php echo $id; ?> .pbck_slide_thumb { width : 150px; height: 150px;}
#<?php echo $id; ?> .pbck_wrap_thumbs { width : calc(0 * 150px + -5px); height: 150px;}
</style>
</div>
<div class="pbck_carousel inner">
<div class="pbck_slides">
<div class="pbck_wrap">
<div class="pbck_wrapinner">
<figure class="pbck_slide current">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-1.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Random images</div>
<br />
<div class="pbck_slide_desc">https://picsum.photos/</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-2.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-3.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-4.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-5.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-6.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-7.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-8.jpg">
</figure>
<figure class="pbck_slide">
<figcaption class="pbck_slide_caption">
<div class="pbck_slide_title">Nice Images Carousel</div>
<br />
<div class="pbck_slide_desc">Created by Joomlack</div>
</figcaption>
<img class="pbck_slide_img" src="<?php echo Pagebuilderck\CKUri::root(true); ?>/plugins/pagebuilderck/carousel/assets/images/picsum-photo-9.jpg">
</figure>
</div>
</div>
<div class="pbck_carousel_controls">
<div class="pbck_carousel_control control_prev"></div>
<div class="pbck_carousel_control control_next"></div>
</div>
</div>
</div>
</div>
<?php
}
/*
* Display the html code for the item to be used into the interface
*
* Return String the html code
*/
public function onPagebuilderckLoadItemOptionsCarousel() {
// load the language files of the plugin
$this->loadLanguage();
// load the interface for the options
$tpl = JPATH_SITE . '/plugins/pagebuilderck/carousel/layouts/edit_carousel.php';
return $tpl;
}
/*
* Display the html code for the item to be used into the frontend page
* @param string the item object from simple_html_dom
*
* Return String the html code
*/
public function onPagebuilderckRenderItemCarousel($item) {
$this->callAssets();
$layout_items = $item->find('.tab_items');
$items_params = PagebuilderckFrontHelper::createParamsFromElement($layout_items);
$layout_attrs = $item->find('.tab_carouseloptions');
$layout_params = PagebuilderckFrontHelper::createParamsFromElement($layout_attrs);
$shownavigation = $layout_params->get('shownavigation1', '') === 'checked';
if (! $shownavigation) {
$styles = '#' . $item->attr['id'] . ' .pbck_carousel_controls { display : none; }';
\Pagebuilderck\CKFof::addStyleDeclaration($styles);
}
if ($items_params->get('imagesource') === 'folder') {
include_once(PAGEBUILDERCK_PATH . '/helpers/loaders/folder.php');
$images = PagebuilderckLoaderFolder::getItems($items_params);
// ckstyle and inner classes are needed to get the styles from the interface
$ckstyle = $item->find('.ckstyle');
$styles = '';
$styles .= count($ckstyle) ? $ckstyle[0]->innertext : '';
// ckstyle and inner classes are needed to get the styles from the interface
$ckstyleresponsives = $item->find('.ckstyleresponsive');
if (! empty($ckstyleresponsives)) {
foreach ($ckstyleresponsives as $ckstyleresponsive) {
$styles .= $ckstyleresponsive->outertext;
}
}
/*
* nbcols : width: calc(50% - 15px); OK
* gutter: 0px 0px 30px; OK
* autoplay
* pausehover
* time
* carouselheight
* thumbs
* thumbsheight
* thumbsresponsive
* captionresponsive
* linkposition
* autolinkimages0/1
* uselightbox0/1
* showlightboxtitle0/1
* showlightboxdesc0/1
*/
$nbcols = (int)$layout_params->get('nbcols', '0');
$gutter = PagebuilderckFrontHelper::testUnit((int)$layout_params->get('gutter', '10'));
$carouselHeight = PagebuilderckFrontHelper::testUnit($layout_params->get('carouselheight', 'auto'));
$thumbsWidth = PagebuilderckFrontHelper::testUnit($layout_params->get('thumbsheight', '100'));
$nbslides = count($images);
$nbgroups = (int)(($nbslides-0.1)/$nbcols)+1;
$wrapinner_width = 'calc(100% * ' . $nbgroups . ' + ' . ($nbgroups-1) . ' * ' . (int)($gutter) . 'px)';
$slide_width = 'calc((100% - (' . ($nbcols * $nbgroups - 1) . ' * ' . (int)($gutter) . 'px)) / (' . ($nbcols * $nbgroups) . '))';
$styles .= '#' . $item->attr['id'] . ' .pbck_slide_thumb { width : ' . $thumbsWidth . '; height: ' . $thumbsWidth . ';}';
$styles .= '#' . $item->attr['id'] . ' .pbck_wrap_thumbs { width : calc(' . $nbslides . ' * ' . $thumbsWidth . ' + ' . ($nbslides - 1) * 5 . 'px); height: ' . $thumbsWidth . ';}';
$styles .= '#' . $item->attr['id'] . ' .pbck_wrapinner { width: ' . $wrapinner_width . '; }';
$styles .= '#' . $item->attr['id'] . ' .pbck_slide { width: ' . $slide_width . '; }';
$styles .= '#' . $item->attr['id'] . ' .pbck_slide:not(:first-child) { margin-left: ' . (int)($gutter) . 'px; }';
$autolinkimages = $layout_params->get('autolinkimages1', '') === 'checked';
$uselightbox = $layout_params->get('uselightbox1', '') === 'checked';
$showlightboxtitle = $layout_params->get('showlightboxtitle1', '') === 'checked';
$showlightboxdesc = $layout_params->get('showlightboxdesc1', '') === 'checked';
$linktarget = $layout_params->get('linktarget', '_parent');
$imagecssclass = $layout_params->get('imagecssclass', '');
$autoplay = $layout_params->get('autoplay', '');
$pausehover = $layout_params->get('pausehover', '0');
$time = $layout_params->get('time', '');
$thumbs = $layout_params->get('thumbs', '0');
$thumbshtml = '';
$html = '<div class="ckstyle">
'. $styles . '
</div>
<div class="pbck_carousel inner">
<div class="pbck_slides" data-nbcols="' . $nbcols . '" data-gutter="' . $gutter . '" data-autoplay="' . $autoplay . '" data-pausehover="' . $pausehover .'" data-time="' . $time . '" data-carousel="" data-carouselheight="' . $layout_params->get('carouselheight', 'auto') . '" style="height:' . $carouselHeight . ';">
<div class="pbck_wrap">
<div class="pbck_wrapinner">';
foreach ($images as $image) {
$imgsrc = $image->image;
$title = isset($image->title) ? $image->title : null;
$text = isset($image->text) ? $image->text : null;
$link = isset($image->link) ? $image->link : null;
$target = isset($image->target) ? $image->target : $linktarget;
$more = isset($image->more) ? $image->more : null;
$alt = $title ? addslashes($title) : basename($imgsrc);
$html .= '
<figure class="pbck_slide ' . ($imagecssclass ? ' ' . $imagecssclass : '') . '">';
if ($autolinkimages || $link) {
$html .= '<a class="pbck_slide_link" href="' . $imgsrc . '"' . ($uselightbox ? ' rel="lightbox[' . $item->attr['id'] . ']"' : '') . ($target !== '_parent' ? ' target="' . $target . '"' : '') . '></a>';
}
if ($title || $text) {
$html .= '<figcaption class="pbck_slide_caption">'
. '<div>'
. '<div class="pbck_slide_title">' . $title . '</div>'
. '<div class="pbck_slide_desc">' . $text . '</div>'
. '</div>'
. '</figcaption>';
}
$html .= '<img class="pbck_slide_img" src="' . $imgsrc . '" alt="' . $alt. '" width="100%" height="auto">';
$thumbshtml .='<div class="pbck_slide_thumb"><img src="' . $imgsrc . '" alt="' . $alt. '" /></div>';
$html .= '
</figure>';
}
$html .='
</div>
</div>
<div class="pbck_carousel_controls">
<div class="pbck_carousel_control control_prev"></div>
<div class="pbck_carousel_control control_next"></div>
</div>
</div>';
if ($thumbs) {
$html .= '
<div class="pbck_carousel_thumbs">
<div class="pbck_wrap_thumbs">
' . $thumbshtml . '
</div>
<div class="pbck_carousel_thumbs_control control_next"></div>
<div class="pbck_carousel_thumbs_control control_prev"></div>
</div>';
}
$html .= '</div>'
;
} else {
$html = $item->innertext;
}
return $html;
}
}