Вход Регистрация
Файл: core/language.php
Строк: 116
<?php

class PEEP_Language
{
    
/**
     * @var PEEP_EventManager
     */
    
private $eventManager;

    
/**
     * Constructor.
     *
     */
    
private function __construct()
    {
        
$this->eventManager PEEP::getEventManager();
    }
    
/**
     * Singleton instance.
     *
     * @var PEEP_Language
     */
    
private static $classInstance;

    
/**
     * Returns an instance of class (singleton pattern implementation).
     *
     * @return PEEP_Language
     */
    
public static function getInstance()
    {
        if ( 
self::$classInstance === null )
        {
            
self::$classInstance = new self();
        }

        return 
self::$classInstance;
    }

    public function 
text$prefix$key, array $vars null )
    {
        if ( empty(
$prefix) || empty($key) )
        {
            return 
$prefix '+' $key;
        }

        
$text null;
        try
        {
            
$text BOL_LanguageService::getInstance()->getText(BOL_LanguageService::getInstance()->getCurrent()->getId(), $prefix$key);
        }
        catch ( 
Exception $e )
        {
            return 
$prefix '+' $key;
        }

        if ( 
$text === null )
        {
            return 
$prefix '+' $key;
        }

        
$event = new PEEP_Event("core.get_text", array("prefix" => $prefix"key" => $key"vars" => $vars));
        
$this->eventManager->trigger($event);

        if ( 
$event->getData() !== null )
        {
            return 
$event->getData();
        }

        
$text UTIL_String::replaceVars($text$vars);

        return 
$text;
    }

    public function 
valueExist$prefix$key )
    {
        if ( empty(
$prefix) || empty($key) )
        {
            throw new 
InvalidArgumentException('Invalid parameter $prefix or $key');
        }

        try
        {
            
$text BOL_LanguageService::getInstance()->getText(BOL_LanguageService::getInstance()->getCurrent()->getId(), $prefix$key);
        }
        catch ( 
Exception $e )
        {
            return 
false;
        }

        if ( 
$text === null )
        {
            return 
false;
        }

        return 
true;
    }

    public function 
addKeyForJs$prefix$key )
    {
        
$text json_encode($this->text($prefix$key));

        
PEEP::getDocument()->addOnloadScript("PEEP.registerLanguageKey('$prefix', '$key', $text);", -99);
    }

    public function 
getCurrentId()
    {
        return 
BOL_LanguageService::getInstance()->getCurrent()->getId();
    }

    public function 
importPluginLangs$path$key$refreshCache false$addLanguage false )
    {
        
BOL_LanguageService::getInstance()->importPrefixFromZip($path$key$refreshCache$addLanguage);
    }
}
Онлайн: 1
Реклама