Your IP : 10.10.0.253


Current Path : /var/www/components/com_qf3/
Upload File :
Current File : /var/www/components/com_qf3/classes.php

<?php
/**
 * @package		Joomla & QuickForm
* @Copyright ((c) plasma-web.ru
        * @license    GPLv2 or later
        */

namespace QuickForm;

\defined('QF3_VERSION') or die;

class Text
{
    public static function _($text)
    {
        static $loc = array();

        $lang = str_replace('-', '_', qf::getlang());

        if (\JFactory::getApplication()->isClient('administrator')) {
            $path = QF3_ADMIN_DIR . 'language/';
        } else {
            $path = QF3_PLUGIN_DIR . 'language/';
        }

        if (! isset($loc[$lang]) && file_exists($path . $lang . '.php')) {
            include_once($path . $lang . '.php');
            $loc[$lang] = $qf_lang_array;
        }

        if (isset($loc[$lang]) && isset($loc[$lang][$text])) {
            return $loc[$lang][$text];
        }


        if (! isset($loc['en_GB'])) {
            include_once($path . 'en_GB.php');
            $loc['en_GB'] = $qf_lang_array;
        }

        if (isset($loc['en_GB'][$text])) {
            return $loc['en_GB'][$text];
        }

        return \JText::_($text);
    }

    public static function translate($text)
    {
        return preg_replace_callback('/\b(QF_\w+)\b/', function ($m) {
            return self::_($m[1]);
        }, $text);
    }
}


class qf_config
{
    public $settingsFile = QF3_ADMIN_DIR . 'helpers/settings.php';
    public $shopsettingsFile = QF3_ADMIN_DIR . 'helpers/shop.php';

    public function getItems($file)
    {
        if (file_exists($file)) {
            $data = json_decode(include $file);
            foreach ($data as $k => &$v) {
                $v = htmlspecialchars_decode($v, ENT_QUOTES);
            }
            return $data;
        }
    }

    protected function config($xml, $file)
    {
        $xml = simplexml_load_file($xml);
        $arr = $this->XMLToArray($xml);

        $config = (array) $this->getItems($file);
        if (!$config) {
            return $arr;
        }

        foreach ($arr as $key => $value) {
            if (!isset($config[$key])) {
                $config[$key] = $value;
            }
        }

        return $config;
    }

    protected function XMLToArray($xml)
    {
        $arr = array();
        foreach ($xml as $k => $v) {
            if ((is_object($v) || is_array($v)) && ($k != 'field')) {
                $new = $this->XMLToArray($v);
                $arr = array_merge($arr, $new);
            } elseif ($k == 'field') {
                $name = isset($v['name'])?(string)$v['name']:'';
                $def = isset($v['default'])?(string)$v['default']:'';
                if ($name) {
                    $arr[$name]=$def;
                }
            }
        }
        return $arr;
    }

    public function getconfig()
    {
        if (!isset($this->qfparams)) {
            $xml = QF3_ADMIN_DIR . 'forms/settings.xml';
            $this->qfparams = $this->config($xml, $this->settingsFile);
        }
        return $this->qfparams;
    }

    public function getShopParams()
    {
        if (!isset($this->shopParams)) {
            $xml = QF3_ADMIN_DIR . 'forms/shop.xml';
            $this->shopParams = $this->config($xml, $this->shopsettingsFile);
        }
        return $this->shopParams;
    }
}

class qf_session
{
    public static function get($str = '')
    {
        $ses = array();
        if (isset($_SESSION) && is_array($_SESSION)) {
            $ses = $_SESSION;
        }
        if ($str) {
            if (isset($ses[$str])) {
                return $ses[$str];
            } else {
                return false;
            }
        }
        return $ses;
    }
}


class qf
{
    public static function form($id)
    {
        require_once(QF3_PLUGIN_DIR . 'classes/buildform.php');
        $qf = new QuickForm();
        return $qf->getQuickForm($id);
    }

    public static function cart($headonly)
    {
        require_once(QF3_PLUGIN_DIR . 'classes/buildform.php');
        $qf = new QuickForm();
        return $qf->getShopModule($headonly);
    }

    public static function getUrl()
    {
        return ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    }

    public static function addScript($type, $file)
    {
        if ($type == 'css') {
            \JHtml::_('stylesheet', 'components/com_qf3/assets/' . $file, array('version' => QF3_VERSION));
        } elseif ($type == 'js') {
            \JHtml::_('jquery.framework');
            \JHtml::_('script', 'components/com_qf3/assets/' . $file, array('version' => QF3_VERSION));
        }
    }

    public static function gettask($var = 'task', $def = '')
    {
        if (isset($_REQUEST[$var])) {
            return preg_replace('/[^a-z.\d\-_]/i', '', $_REQUEST[$var]);
        }
        return $def;
    }

    public static function getacs()
    {
        $acs[''] = 'QF_ACCESS';
        $groups = \JHtml::_('access.assetgroups');
        foreach ($groups as $group) {
            $acs[$group->value] = $group->text;
        }
        return $acs;
    }

    public static function getlang()
    {
        $lang = \JFactory::getLanguage()->getTag();
        return str_replace('-', '_', $lang);
    }

    public static function cmsVersion()
    {
        $version = new \JVersion;
        return 'j'.$version->getShortVersion()[0];
    }

}