File "config.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/vikbooking/libraries/adapter/config/config.php
File size: 4.05 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* @package VikWP - Libraries
* @subpackage adapter.config
* @author E4J s.r.l.
* @copyright Copyright (C) 2023 E4J s.r.l. All Rights Reserved.
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* @link https://vikwp.com
*/
// No direct access
defined('ABSPATH') or die('No script kiddies please!');
/**
* System configuration class.
* This class acts as a bridge between the Joomla configuration and
* the settings provided by WordPress. In fact, by requesting "offset"
* setting, the class will return the "timezone_string" option.
*
* @since 10.1.4
*/
class JConfig
{
/**
* Returns a property of the object or the default value if the property is not set.
*
* @param string $key The name of the property.
* @param mixed $def The default value (optional) if none is set.
*
* @return mixed The value of the configuration.
*/
public function get($key, $def = null)
{
// check for the global timezone
if ($key == 'offset')
{
$offset = get_option('timezone_string');
// remove any unwanted char (used to ignore manual offsets)
$offset = preg_replace("/[^a-zA-Z_\/]/", "", $offset);
return $offset ? $offset : $def;
}
// switch $key to check if the name of a Joomla setting
// should be changed to be used in wordpress
switch ($key)
{
case 'list_limit':
$input = JFactory::getApplication()->input;
/**
* Try to use the list limit that belong to the current plugin.
*
* @since 10.1.23
*/
$page = $input->get('page');
if ($page)
{
// use setting name for current plugin
$key = $page . '_list_limit';
// access user meta (user ID, setting key, true to return a scalar value)
$val = get_user_meta(JFactory::getUser()->id, $key, true);
if ((int) $val > 0)
{
// return pagination if higher than 0
return $val;
}
}
else
{
/**
* No page set in request, we are probably in the front-end.
* Try to look for a global option for the list limit of the current plugin.
*
* @since 10.1.33
*/
$plugin = preg_replace("/^com_/i", '', $input->get('option', ''));
$key = $plugin . '_list_limit';
}
$def = abs(is_null($def) ? 20 : $def);
break;
case 'editor':
$key = 'system.editor';
$def = is_null($def) ? 'tinymce' : $def;
break;
case 'sitename':
$key = 'blogname';
break;
/**
* Added support for setting used to fetch the system logging path.
*
* @since 10.1.35
*/
case 'log_path':
if (is_string(WP_DEBUG_LOG))
{
$log_path = WP_DEBUG_LOG;
}
else
{
$log_path = WP_CONTENT_DIR;
}
return $log_path;
/**
* Added support for setting used to fetch the system tmp path.
*
* @since 10.1.35
*/
case 'tmp_path':
return get_temp_dir();
case 'users.new_usertype':
$key = 'default_role';
$def = is_int($def) ? 'subscriber' : $def;
break;
/**
* Added support for setting used to check whether a user
* can register a new account.
*
* @since 10.1.24
*/
case 'users.allowUserRegistration':
$key = 'users_can_register';
break;
case 'languages.admin':
case 'languages.site':
$lang = get_option('WPLANG');
if (!$lang)
{
/**
* Attempt to load the default language from WPML configuration.
*
* @since 10.1.54
*/
$activeLanguages = apply_filters('wpml_active_languages', []);
$defaultLanguage = apply_filters('wpml_default_language', '');
// convert language (en) into an extended locale (en_US)
$lang = $activeLanguages[$defaultLanguage]['default_locale'] ?? null;
}
return str_replace('_', '-', $lang ? $lang : 'en-US');
}
return get_option($key, $def);
}
/**
* Magic method used to invoke the get() method
* by accessing the property name directly.
*
* @param string $name The property name.
*
* @return mixed The configuration value.
*
* @uses get()
*/
public function __get($name)
{
return $this->get($name);
}
}