mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-28 06:42:14 +09:00
Various fixes to improve PHP 8.0 compatibility
- XmlParser 클래스가 PHP 내장 클래스가 되어버려서 XeXmlParser로 변경 - 함수나 파라미터의 형태가 맞지 않아서 치명적인 오류 나는 곳 수정 - undefined 변수 및 배열 키 다수 수정 (치명적인 오류는 아님) - 계속 수정중...
This commit is contained in:
parent
90084efd75
commit
8c161bc28d
38 changed files with 136 additions and 100 deletions
|
|
@ -342,7 +342,7 @@ class Context
|
|||
// Set global variables for backward compatibility.
|
||||
$GLOBALS['oContext'] = self::$_instance;
|
||||
$GLOBALS['__Context__'] = &self::$_tpl_vars;
|
||||
$GLOBALS['_time_zone'] = self::$_instance->db_info->time_zone;
|
||||
$GLOBALS['_time_zone'] = config('locale.default_timezone');
|
||||
$GLOBALS['lang'] = &$lang;
|
||||
|
||||
// set session handler
|
||||
|
|
@ -357,7 +357,7 @@ class Context
|
|||
}
|
||||
|
||||
// start session
|
||||
$relax_key_checks = (self::$_get_vars->act === 'procFileUpload' && preg_match('/shockwave\s?flash/i', $_SERVER['HTTP_USER_AGENT']));
|
||||
$relax_key_checks = ((self::$_get_vars->act ?? null) === 'procFileUpload' && preg_match('/shockwave\s?flash/i', $_SERVER['HTTP_USER_AGENT']));
|
||||
Rhymix\Framework\Session::checkSSO($site_module_info);
|
||||
Rhymix\Framework\Session::start(false, $relax_key_checks);
|
||||
|
||||
|
|
@ -1528,11 +1528,11 @@ class Context
|
|||
*/
|
||||
public static function getJSCallbackFunc()
|
||||
{
|
||||
$js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback'];
|
||||
$js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : ($_POST['xe_js_callback'] ?? null);
|
||||
|
||||
if(!preg_match('/^[a-z0-9\.]+$/i', $js_callback_func))
|
||||
{
|
||||
unset($js_callback_func);
|
||||
$js_callback_func = null;
|
||||
unset($_GET['xe_js_callback']);
|
||||
unset($_POST['xe_js_callback']);
|
||||
}
|
||||
|
|
@ -1602,7 +1602,7 @@ class Context
|
|||
}
|
||||
|
||||
// If the first argument is '', reset existing parameters.
|
||||
if (strval($args_list[0]) === '')
|
||||
if (!is_array($args_list[0]) && strval($args_list[0]) === '')
|
||||
{
|
||||
array_shift($args_list);
|
||||
$get_vars = array();
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ class ExtraVar
|
|||
* @param int $module_srl Sequence of module
|
||||
* @return ExtraVar
|
||||
*/
|
||||
function &getInstance($module_srl)
|
||||
public static function getInstance($module_srl)
|
||||
{
|
||||
return new ExtraVar($module_srl);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class Mobile
|
|||
}
|
||||
|
||||
// Not mobile if disabled explicitly.
|
||||
if (!self::isMobileEnabled() || Context::get('full_browse') || $_COOKIE["FullBrowse"])
|
||||
if (!self::isMobileEnabled() || Context::get('full_browse') || ($_COOKIE['FullBrowse'] ?? 0))
|
||||
{
|
||||
return self::$_ismobile = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class ModuleHandler extends Handler
|
|||
$site_module_info = Context::get('site_module_info');
|
||||
|
||||
// Check unregistered domain action.
|
||||
if (!$site_module_info || !isset($site_module_info->domain_srl) || $site_module_info->is_default_replaced)
|
||||
if (!$site_module_info || !isset($site_module_info->domain_srl) || ($site_module_info->is_default_replaced ?? false))
|
||||
{
|
||||
$site_module_info = ModuleModel::getDefaultDomainInfo();
|
||||
if ($site_module_info)
|
||||
|
|
@ -183,6 +183,10 @@ class ModuleHandler extends Handler
|
|||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$module_info = null;
|
||||
}
|
||||
|
||||
// Get module info from mid.
|
||||
if(!$module_info && $this->mid)
|
||||
|
|
@ -373,7 +377,11 @@ class ModuleHandler extends Handler
|
|||
}
|
||||
}
|
||||
|
||||
if($this->module_info->use_mobile != "Y")
|
||||
if(!isset($this->module_info->use_mobile))
|
||||
{
|
||||
$this->module_info->use_mobile = 'N';
|
||||
}
|
||||
if($this->module_info->use_mobile !== 'Y')
|
||||
{
|
||||
Mobile::setMobile(FALSE);
|
||||
}
|
||||
|
|
@ -815,27 +823,27 @@ class ModuleHandler extends Handler
|
|||
*/
|
||||
protected static function _setInputErrorToContext()
|
||||
{
|
||||
if($_SESSION['XE_VALIDATOR_ERROR'] && !Context::get('XE_VALIDATOR_ERROR'))
|
||||
if(isset($_SESSION['XE_VALIDATOR_ERROR']) && $_SESSION['XE_VALIDATOR_ERROR'] && !Context::get('XE_VALIDATOR_ERROR'))
|
||||
{
|
||||
Context::set('XE_VALIDATOR_ERROR', $_SESSION['XE_VALIDATOR_ERROR']);
|
||||
}
|
||||
if($_SESSION['XE_VALIDATOR_MESSAGE'] && !Context::get('XE_VALIDATOR_MESSAGE'))
|
||||
if(isset($_SESSION['XE_VALIDATOR_MESSAGE']) && $_SESSION['XE_VALIDATOR_MESSAGE'] && !Context::get('XE_VALIDATOR_MESSAGE'))
|
||||
{
|
||||
Context::set('XE_VALIDATOR_MESSAGE', $_SESSION['XE_VALIDATOR_MESSAGE']);
|
||||
}
|
||||
if($_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] && !Context::get('XE_VALIDATOR_MESSAGE_TYPE'))
|
||||
if(isset($_SESSION['XE_VALIDATOR_MESSAGE_TYPE']) && $_SESSION['XE_VALIDATOR_MESSAGE_TYPE'] && !Context::get('XE_VALIDATOR_MESSAGE_TYPE'))
|
||||
{
|
||||
Context::set('XE_VALIDATOR_MESSAGE_TYPE', $_SESSION['XE_VALIDATOR_MESSAGE_TYPE']);
|
||||
}
|
||||
if($_SESSION['XE_VALIDATOR_RETURN_URL'] && !Context::get('XE_VALIDATOR_RETURN_URL'))
|
||||
if(isset($_SESSION['XE_VALIDATOR_RETURN_URL']) && $_SESSION['XE_VALIDATOR_RETURN_URL'] && !Context::get('XE_VALIDATOR_RETURN_URL'))
|
||||
{
|
||||
Context::set('XE_VALIDATOR_RETURN_URL', $_SESSION['XE_VALIDATOR_RETURN_URL']);
|
||||
}
|
||||
if($_SESSION['XE_VALIDATOR_ID'] && !Context::get('XE_VALIDATOR_ID'))
|
||||
if(isset($_SESSION['XE_VALIDATOR_ID']) && $_SESSION['XE_VALIDATOR_ID'] && !Context::get('XE_VALIDATOR_ID'))
|
||||
{
|
||||
Context::set('XE_VALIDATOR_ID', $_SESSION['XE_VALIDATOR_ID']);
|
||||
}
|
||||
if(countobj($_SESSION['INPUT_ERROR']))
|
||||
if(isset($_SESSION['INPUT_ERROR']) && countobj($_SESSION['INPUT_ERROR']))
|
||||
{
|
||||
Context::set('INPUT_ERROR', $_SESSION['INPUT_ERROR']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -196,11 +196,11 @@ class ModuleObject extends BaseObject
|
|||
{
|
||||
// Set default variables
|
||||
$this->mid = $module_info->mid;
|
||||
$this->module_srl = $module_info->module_srl;
|
||||
$this->module_srl = $module_info->module_srl ?? null;
|
||||
$this->module_info = $module_info;
|
||||
$this->origin_module_info = $module_info;
|
||||
$this->xml_info = $xml_info;
|
||||
$this->skin_vars = $module_info->skin_vars;
|
||||
$this->skin_vars = $module_info->skin_vars ?? null;
|
||||
$this->module_config = ModuleModel::getInstance()->getModuleConfig($this->module, $module_info->site_srl);
|
||||
|
||||
// Set privileges(granted) information
|
||||
|
|
|
|||
|
|
@ -8,85 +8,85 @@ class Password
|
|||
Rhymix\Framework\Password::addAlgorithm($name, $regexp, $callback);
|
||||
}
|
||||
|
||||
public function getSupportedAlgorithms()
|
||||
public static function getSupportedAlgorithms()
|
||||
{
|
||||
return Rhymix\Framework\Password::getSupportedAlgorithms();
|
||||
}
|
||||
|
||||
public function getBestAlgorithm()
|
||||
public static function getBestAlgorithm()
|
||||
{
|
||||
return Rhymix\Framework\Password::getBestSupportedAlgorithm();
|
||||
}
|
||||
|
||||
public function getCurrentlySelectedAlgorithm()
|
||||
public static function getCurrentlySelectedAlgorithm()
|
||||
{
|
||||
return Rhymix\Framework\Password::getDefaultAlgorithm();
|
||||
}
|
||||
|
||||
public function getWorkFactor()
|
||||
public static function getWorkFactor()
|
||||
{
|
||||
return Rhymix\Framework\Password::getWorkFactor();
|
||||
}
|
||||
|
||||
public function createHash($password, $algorithm = null)
|
||||
public static function createHash($password, $algorithm = null)
|
||||
{
|
||||
return Rhymix\Framework\Password::hashPassword($password, $algorithm);
|
||||
}
|
||||
|
||||
public function checkPassword($password, $hash, $algorithm = null)
|
||||
public static function checkPassword($password, $hash, $algorithm = null)
|
||||
{
|
||||
return Rhymix\Framework\Password::checkPassword($password, $hash, $algorithm);
|
||||
}
|
||||
|
||||
function checkAlgorithm($hash)
|
||||
public static function checkAlgorithm($hash)
|
||||
{
|
||||
$algos = Rhymix\Framework\Password::checkAlgorithm($hash);
|
||||
return count($algos) ? $algos[0] : false;
|
||||
}
|
||||
|
||||
function checkWorkFactor($hash)
|
||||
public static function checkWorkFactor($hash)
|
||||
{
|
||||
return Rhymix\Framework\Password::checkWorkFactor($hash);
|
||||
}
|
||||
|
||||
public function createSecureSalt($length, $format = 'hex')
|
||||
public static function createSecureSalt($length, $format = 'hex')
|
||||
{
|
||||
return Rhymix\Framework\Security::getRandom($length, $format);
|
||||
}
|
||||
|
||||
public function createTemporaryPassword($length = 16)
|
||||
public static function createTemporaryPassword($length = 16)
|
||||
{
|
||||
return Rhymix\Framework\Password::getRandomPassword($length);
|
||||
}
|
||||
|
||||
public function createSignature($string)
|
||||
public static function createSignature($string)
|
||||
{
|
||||
return Rhymix\Framework\Security::createSignature($string);
|
||||
}
|
||||
|
||||
public function checkSignature($string, $signature)
|
||||
public static function checkSignature($string, $signature)
|
||||
{
|
||||
return Rhymix\Framework\Security::verifySignature($string, $signature);
|
||||
}
|
||||
|
||||
public function getSecretKey()
|
||||
public static function getSecretKey()
|
||||
{
|
||||
return config('crypto.authentication_key');
|
||||
}
|
||||
|
||||
public function pbkdf2($password, $salt, $algorithm = 'sha256', $iterations = 8192, $length = 24)
|
||||
public static function pbkdf2($password, $salt, $algorithm = 'sha256', $iterations = 8192, $length = 24)
|
||||
{
|
||||
$hash = Rhymix\Framework\Security::pbkdf2($password, $salt, $algorithm, $iterations, $length);
|
||||
$hash = explode(':', $hash);
|
||||
return base64_decode($hash[3]);
|
||||
}
|
||||
|
||||
public function bcrypt($password, $salt = null)
|
||||
public static function bcrypt($password, $salt = null)
|
||||
{
|
||||
return Rhymix\Framework\Security::bcrypt($password, $salt);
|
||||
}
|
||||
|
||||
function strcmpConstantTime($a, $b)
|
||||
public static function strcmpConstantTime($a, $b)
|
||||
{
|
||||
return Rhymix\Framework\Security::compareStrings($a, $b);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ class Validator
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
$parser = new XmlParser();
|
||||
$parser = new XeXmlParser();
|
||||
$xml = $parser->loadXmlFile($xml_path);
|
||||
if(!isset($xml->ruleset) || !isset($xml->ruleset->fields) || !isset($xml->ruleset->fields->field))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
* @package /classes/xml
|
||||
* @version 0.2
|
||||
*/
|
||||
class XmlJsFilter extends XmlParser
|
||||
class XmlJsFilter extends XeXmlParser
|
||||
{
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
* @package /classes/xml
|
||||
* @version 0.1
|
||||
*/
|
||||
class XmlLangParser extends XmlParser
|
||||
class XmlLangParser extends XeXmlParser
|
||||
{
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class Xml_Node_
|
|||
* @package /classes/xml
|
||||
* @version 0.1
|
||||
*/
|
||||
class XmlParser
|
||||
class XeXmlParser
|
||||
{
|
||||
|
||||
/**
|
||||
|
|
@ -75,7 +75,7 @@ class XmlParser
|
|||
}
|
||||
$buff = FileHandler::readFile($filename);
|
||||
|
||||
$oXmlParser = new XmlParser();
|
||||
$oXmlParser = new self();
|
||||
return $oXmlParser->parse($buff);
|
||||
}
|
||||
|
||||
|
|
@ -232,5 +232,14 @@ class XmlParser
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Alias to XmlParser for backward compatibility.
|
||||
*/
|
||||
if (!class_exists('XmlParser'))
|
||||
{
|
||||
class_alias('XeXmlParser', 'XmlParser');
|
||||
}
|
||||
|
||||
/* End of file XmlParser.class.php */
|
||||
/* Location: ./classes/xml/XmlParser.class.php */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue