HEX
Server: LiteSpeed
System: Linux s166.bitcommand.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: h340499 (1922)
PHP: 8.2.16
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/h340499/public_html/wp-content/plugins/duplicator-pro/src/Views/ViewHelper.php
<?php

/**
 * @package Duplicator
 */

namespace Duplicator\Views;

use Duplicator\Core\Controllers\ControllersManager;
use Duplicator\Core\Views\TplMng;

class ViewHelper
{
    /**
     * @var array<string, mixed>  General allowed tags for wp_kses function (b, i, u, br), attributes not allowed
     */
    const GEN_KSES_TAGS = [
        'b'  => [],
        'i'  => [],
        'u'  => [],
        'br' => [],
        'a'  => [
            'href'   => true,
            'target' => true,
        ],
    ];

    /**
     * Display Duplicator Logo on all pages
     *
     * @return void
     */
    public static function adminLogoHeader(): void
    {
        if (!ControllersManager::getInstance()->isDuplicatorPage()) {
            return;
        }

        TplMng::getInstance()->render('parts/admin-logo-header');
    }

    /**
     * Add class to all Duplicator Pages
     *
     * @param string $classes Body classes separated by space
     *
     * @return string
     */
    public static function addBodyClass($classes)
    {
        if (ControllersManager::getInstance()->isDuplicatorPage()) {
            $classes .= ' duplicator-page';
        }
        return $classes;
    }

    /**
     * Get icon
     *
     * @param bool            $echo    Echo or return
     * @param string|string[] $classes HTML class list
     *
     * @return string HTML string
     */
    public static function icon($echo = true, $classes = []): string
    {
        if (!is_array($classes)) {
            $classes = [$classes];
        }

        $iconClasses = ['fas'];

        foreach ($classes as $class) {
            $iconClasses[] = $class;
        }

        $result = '<i class="' . esc_attr(implode(' ', $iconClasses)) . '" ></i>';
        if ($echo) {
            echo $result;
            return '';
        } else {
            return $result;
        }
    }

    /**
     * Get restore backup icon
     *
     * @param bool            $echo    Echo or return
     * @param string|string[] $classes HTML class list
     *
     * @return string HTML string
     */
    public static function restoreIcon($echo = true, $classes = []): string
    {
        if (!is_array($classes)) {
            $classes = [$classes];
        }
        array_unshift($classes, 'fa-undo-alt');
        return self::icon($echo, $classes);
    }

    /**
     * Get disaster recovery icon
     *
     * @param bool            $echo    Echo or return
     * @param string|string[] $classes HTML class list
     *
     * @return string HTML string
     */
    public static function disasterIcon($echo = true, $classes = []): string
    {
        if (!is_array($classes)) {
            $classes = [$classes];
        }
        array_unshift($classes, 'fa-house-fire');
        return self::icon($echo, $classes);
    }
}