HEX
Server: LiteSpeed
System: Linux d8 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: wbwebdes (3015)
PHP: 8.1.31
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/wbwebdes/domains/mailing.wb-cloud.nl/public_html/admin/plugins/Common/Toolbar.php
<?php

namespace phpList\plugin\Common;

use CHtml;

/**
 * CommonPlugin for phplist.
 *
 * This file is a part of CommonPlugin.
 *
 * @category  phplist
 *
 * @author    Duncan Cameron
 * @copyright 2011-2018 Duncan Cameron
 * @license   http://www.gnu.org/licenses/gpl.html GNU General Public License, Version 3
 */

/**
 * This class implements a button toolbar.
 */
class ToolbarButton
{
    private $url;
    private $icon;
    private $caption;
    private $attributes;

    public function __construct($url, $icon, $caption, $attributes = [])
    {
        $this->url = $url;
        $this->icon = $icon;
        $this->caption = $caption;
        $this->attributes = $attributes;
    }

    public function display()
    {
        $this->attributes['href'] = $this->url;

        return CHtml::tag('a', $this->attributes, new ImageTag($this->icon, $this->caption));
    }
}

class Toolbar
{
    const TEMPLATE = '/toolbar.tpl.php';

    private $buttons = array();

    public function addAboutButton()
    {
        $this->buttons[] = new ToolbarButton(
            new PageURL('help', array('pi' => $_GET['pi'], 'topic' => 'about')),
            'gnu_licence.png',
            s('about'),
            array('class' => 'helpdialog', 'target' => '_blank', 'style' => 'background: none; display: inline;')
        );
    }

    public function addExportButton(array $query = array())
    {
        $this->buttons[] = new ToolbarButton(
            PageURL::createFromGet($query + array('action' => 'exportCSV')),
            'excel.png',
            s('export'),
            ['class' => 'dialog']
        );
    }

    public function addHelpButton($topic)
    {
        $this->buttons[] = new ToolbarButton(
            new PageURL('help', array('pi' => $_GET['pi'], 'topic' => $topic)),
            'info.png',
            s('help'),
            array('class' => 'helpdialog', 'target' => '_blank', 'style' => 'background: none; display: inline;')
        );
        $this->addAboutButton();
    }

    public function addExternalHelpButton($url)
    {
        $this->buttons[] = new ToolbarButton(
            $url,
            'info.png',
            s('help'),
            array('target' => '_blank')
        );
        $this->addAboutButton();
    }

    public function display()
    {
        $params = array('buttons' => $this->buttons);

        return new View(__DIR__ . self::TEMPLATE, $params);
    }
}