HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vm8 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: afleverb (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //var/www/winter_site/wp-content/plugins/smart-slider-3/Nextend/Framework/Font/FontStorage.php
<?php


namespace Nextend\Framework\Font;

use Nextend\Framework\Pattern\SingletonTrait;
use Nextend\Framework\Plugin;

class FontStorage {

    use SingletonTrait;

    private $sets = array();

    private $fonts = array();

    private $fontsBySet = array();

    private $fontsById = array();

    protected function init() {

        Plugin::addAction('systemfontset', array(
            $this,
            'fontSet'
        ));
        Plugin::addAction('systemfont', array(
            $this,
            'fonts'
        ));
        Plugin::addAction('font', array(
            $this,
            'font'
        ));
    }

    private function load() {
        static $loaded;
        if (!$loaded) {
            Plugin::doAction('fontStorage', array(
                &$this->sets,
                &$this->fonts
            ));

            for ($i = 0; $i < count($this->fonts); $i++) {
                if (!isset($this->fontsBySet[$this->fonts[$i]['referencekey']])) {
                    $this->fontsBySet[$this->fonts[$i]['referencekey']] = array();
                }
                $this->fontsBySet[$this->fonts[$i]['referencekey']][] = &$this->fonts[$i];
                $this->fontsById[$this->fonts[$i]['id']]              = &$this->fonts[$i];
            }
            $loaded = true;
        }
    }

    public function fontSet($referenceKey, &$sets) {

        $this->load();

        for ($i = count($this->sets) - 1; $i >= 0; $i--) {
            $this->sets[$i]['isSystem'] = 1;
            $this->sets[$i]['editable'] = 0;
            array_unshift($sets, $this->sets[$i]);
        }

    }

    public function fonts($referenceKey, &$fonts) {

        $this->load();

        if (isset($this->fontsBySet[$referenceKey])) {
            $_fonts = &$this->fontsBySet[$referenceKey];
            for ($i = count($_fonts) - 1; $i >= 0; $i--) {
                $_fonts[$i]['isSystem'] = 1;
                $_fonts[$i]['editable'] = 0;
                array_unshift($fonts, $_fonts[$i]);
            }

        }
    }

    public function font($id, &$font) {

        $this->load();

        if (isset($this->fontsById[$id])) {
            $this->fontsById[$id]['isSystem'] = 1;
            $this->fontsById[$id]['editable'] = 0;
            $font                             = $this->fontsById[$id];
        }
    }
}