HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/confeduphaar/backip-old-files/plugins/system/jdbuilder/elements/icon-list/tmpl/default.php
<?php

/**
 * @package    JD Builder
 * @author     Team Joomdev <info@joomdev.com>
 * @copyright  2020 www.joomdev.com
 * @license    GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_JEXEC') or die;
extract($displayData);

$items = $element->params->get('list_items', []);
$layout = $element->params->get('list_layout', 'list');
$divider = $element->params->get('list_divider', false);

$html = ["<div class=\"jdb-iconlist jdb-iconlist-layout-{$layout}" . ($divider ? ' jdb-iconlist-has-divider' : '') . "\"><ul class=\"jdb-iconlist-items\">"];

foreach ($items as $item) {
    if (@$item->text != '' || @$item->icon != '') {
        if (!empty($item->icon)) {
            \JDPageBuilder\Builder::loadFontLibraryByIcon($item->icon);
        }
        $html[] = "<li class=\"jdb-iconlist-item\">" . ($item->icon ? "<span class=\"jdb-iconlist-icon\"><i class=\"{$item->icon}\"></i></span>" : "") . (!empty(@$item->link) ? '<a class="jdb-iconlist-text" href="' . $item->link . '"' . (@$item->linkTargetBlank ? ' target="_blank"' : '') . '' . (@$item->linkNoFollow ? ' rel="nofollow"' : '') . '>' : '<span class="jdb-iconlist-text">') . "{$item->text}" . (!empty(@$item->link) ? '</a>' : '</span>') . "</li>";
    }
}

$html[] = "</ul></div>";
echo implode("", $html);

/* List Layout */


$List = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist");
$ListContainer = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-layout-" . $layout);
$ListItems = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-layout-{$layout} .jdb-iconlist-items");
$ListItem = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-layout-" . $layout . " .jdb-iconlist-item");
$ListItemNotLast = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-layout-{$layout} .jdb-iconlist-item:not(:last-child)");
$ListItemNotFirst = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-layout-{$layout} .jdb-iconlist-item:not(:first-child)");
$ListItemHover = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-item:hover");
$ListDivider = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-layout-" . $layout . ".jdb-iconlist-has-divider .jdb-iconlist-item:not(:last-child):after");


$alignment = $element->params->get('list_alignment', null);
if ($alignment != null) {
    foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
        if (isset($alignment->{$deviceKey})) {
            $ListItem->addCss('justify-content', $alignment->{$deviceKey} == 'left' ? 'flex-start' : ($alignment->{$deviceKey} == 'right' ? 'flex-end' : 'center'), $device);
            $ListItems->addCss('justify-content', $alignment->{$deviceKey} == 'left' ? 'flex-start' : ($alignment->{$deviceKey} == 'right' ? 'flex-end' : 'center'), $device);
        }
    }
}

$space_between = $element->params->get('list_space_between', null);
if ($space_between != null) {
    foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
        if (isset($space_between->{$deviceKey}) && JDPageBuilder\Helper::checkSliderValue($space_between->{$deviceKey})) {
            $marginSide = $layout == 'list' ? 'bottom' : 'right';
            $ListItemNotLast->addCss("margin-{$marginSide}", ($space_between->{$deviceKey}->value / 2) . "px", $device);
            $ListItemNotLast->addCss("padding-{$marginSide}", ($space_between->{$deviceKey}->value / 2) . "px", $device);
        }
    }
}

if ($element->params->get('list_divider', false)) {
    $borderSide = $layout == 'list' ? 'top' : 'right';

    $ListDivider->addCss("border-{$borderSide}-style", $element->params->get('list_divider_style', 'solid'));
    $ListDivider->addCss("border-{$borderSide}-color", $element->params->get('list_divider_color', ''));

    $weight = $element->params->get('list_divider_weight', null);
    if ($weight != null) {
        foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
            if (isset($weight->{$deviceKey}) && JDPageBuilder\Helper::checkSliderValue($weight->{$deviceKey})) {
                $ListDivider->addCss("border-{$borderSide}-width", ($weight->{$deviceKey}->value) . "px", $device);
                if ($layout == 'list') {
                    $ListItemNotLast->addCss("padding-bottom", ($weight->{$deviceKey}->value) . "px", $device);
                } else {
                    $ListItemNotLast->addCss("padding-right", ($weight->{$deviceKey}->value + 5) . "px", $device);
                }
            }
        }
    }

    if ($layout == 'list') {
        $width = $element->params->get('list_divider_width', null);
        if ($width != null) {
            foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
                if (isset($width->{$deviceKey}) && JDPageBuilder\Helper::checkSliderValue($width->{$deviceKey})) {
                    $ListDivider->addCss("width", ($width->{$deviceKey}->value) . $width->{$deviceKey}->unit, $device);
                }
            }
        }
    } else {
        $height = $element->params->get('list_divider_height', null);
        if ($height != null) {
            foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
                if (isset($height->{$deviceKey}) && JDPageBuilder\Helper::checkSliderValue($height->{$deviceKey})) {
                    $ListDivider->addCss("height", ($height->{$deviceKey}->value) . "px", $device);
                }
            }
        }
    }
    $element->addChildStyle($ListDivider);
}


$element->addChildStyle($List);
$element->addChildStyle($ListContainer);
$element->addChildStyle($ListItem);
$element->addChildStyle($ListItems);
$element->addChildStyle($ListItemNotLast);
$element->addChildStyle($ListItemNotFirst);
$element->addChildStyle($ListItemHover);


$Icon = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-icon");
$IconHover = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-item:hover .jdb-iconlist-icon");

$Icon->addCss('color', $element->params->get('icon_color', ''));
$Icon->addCss('background-color', $element->params->get('icon_bg_color', ''));
$IconHover->addCss('color', $element->params->get('icon_hover_color', ''));
$IconHover->addCss('background-color', $element->params->get('icon_bg_hover_color', ''));

JDPageBuilder\Helper::applyBorderValue($Icon, $element->params, "iconBorder");

$icon_size = $element->params->get('icon_size', null);
if ($icon_size != null) {

    foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
        if (isset($icon_size->{$deviceKey}) && JDPageBuilder\Helper::checkSliderValue($icon_size->{$deviceKey})) {
            $Icon->addCss("font-size", ($icon_size->{$deviceKey}->value * 0.70) . "px", $device);
            $Icon->addCss("line-height", ($icon_size->{$deviceKey}->value) . "px", $device);
            $Icon->addCss("width", ($icon_size->{$deviceKey}->value) . "px", $device);
            $Icon->addCss("height", ($icon_size->{$deviceKey}->value) . "px", $device);
        }
    }
}

$padding = $element->params->get('icon_padding', null);
if (!empty($padding)) {
    foreach (JDPageBuilder\Helper::$devices as $deviceKey => $device) {
        if (isset($padding->{$deviceKey}) && !empty($padding->{$deviceKey})) {
            $Icon->addStyle(JDPageBuilder\Helper::spacingValue($padding->{$deviceKey}, "padding"), $device);
        }
    }
}

$space_between = $element->params->get('icon_space_between', null);
if ($space_between != null) {
    foreach (\JDPageBuilder\Helper::$devices as $deviceKey => $device) {
        if (isset($space_between->{$deviceKey}) && JDPageBuilder\Helper::checkSliderValue($space_between->{$deviceKey})) {
            $Icon->addCss("margin-right", $space_between->{$deviceKey}->value . "px", $device);
        }
    }
}

$element->addChildStyle($Icon);
$element->addChildStyle($IconHover);


$Text = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-text");
$TextHover = new JDPageBuilder\Element\ElementStyle(".jdb-iconlist-item:hover .jdb-iconlist-text");

$Text->addCss('color', $element->params->get('text_color', ''));
$TextHover->addCss('color', $element->params->get('text_hover_color', ''));

$typography = $element->params->get('text_typography', null);
if (!empty($typography)) {
    foreach (JDPageBuilder\Helper::$devices as $deviceKey => $device) {
        if (isset($typography->{$deviceKey}) && !empty($typography->{$deviceKey})) {
            $Text->addStyle(JDPageBuilder\Helper::typographyValue($typography->{$deviceKey}), $device);
        }
    }
}

$element->addChildStyle($Text);
$element->addChildStyle($TextHover);