wp_back/wp-content/plugins/smart-slider-3/Nextend/SmartSlider3/Widget/WidgetPlacementSimple.php

48 lines
1.1 KiB
PHP
Raw Normal View History

2024-05-20 15:37:46 +03:00
<?php
namespace Nextend\SmartSlider3\Widget;
use Nextend\Framework\View\Html;
class WidgetPlacementSimple extends WidgetPlacement {
public function add($renderCallback, $stack, $offset = 0) {
$this->items[] = array(
'stack' => $stack,
'renderCallback' => $renderCallback,
'offset' => $offset
);
}
public function render() {
usort($this->items, function ($a, $b) {
if ($a['stack'] == $b['stack']) {
return 0;
}
return ($a['stack'] < $b['stack']) ? -1 : 1;
});
$out = '';
foreach ($this->items as $item) {
$attributes = array();
if ($item['offset'] != 0) {
$attributes['style'] = '--widget-offset:' . $item['offset'] . 'px;';
}
$out .= call_user_func($item['renderCallback'], $attributes);
}
if (!empty($out)) {
return Html::tag('div', array(
'class' => 'n2-ss-slider-controls n2-ss-slider-controls-' . $this->name
), $out);
}
return '';
}
}