mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-04-28 23:03:25 +09:00
Revert "Fix var_export() not working for stdClass in PHP < 7.3"
This reverts commit 3f7f802585.
This commit is contained in:
parent
7e48c4989e
commit
7b9fe8f7f2
8 changed files with 43 additions and 40 deletions
|
|
@ -136,7 +136,7 @@ class Config
|
|||
}
|
||||
|
||||
// Save the main config file.
|
||||
$buff = '<?php' . "\n" . '// Rhymix System Configuration' . "\n" . 'return ' . var_export_clean(self::$_config) . ';' . "\n";
|
||||
$buff = '<?php' . "\n" . '// Rhymix System Configuration' . "\n" . 'return ' . self::serialize(self::$_config) . ';' . "\n";
|
||||
$result = Storage::write(\RX_BASEDIR . self::$config_filename, $buff) ? true : false;
|
||||
|
||||
// Save XE-compatible config files.
|
||||
|
|
@ -145,10 +145,40 @@ class Config
|
|||
$db_info_without_ftp = clone $db_info;
|
||||
unset($db_info_without_ftp->ftp_info);
|
||||
$warning = '// DO NOT EDIT THIS FILE. CHANGES WILL NOT BE APPLIED.' . "\n" . '// TO CHANGE RHYMIX SYSTEM CONFIGURATION, EDIT config.php INSTEAD.';
|
||||
$buff = '<?php' . "\n\n" . $warning . "\n\n" . '$db_info = ' . var_export_clean($db_info_without_ftp) . ';' . "\n";
|
||||
$buff = '<?php' . "\n\n" . $warning . "\n\n" . '$db_info = ' . self::serialize($db_info_without_ftp) . ';' . "\n";
|
||||
Storage::write(\RX_BASEDIR . self::$old_db_config_filename, $buff);
|
||||
$buff = '<?php' . "\n\n" . $warning . "\n\n" . '$ftp_info = ' . var_export_clean($ftp_info) . ';' . "\n";
|
||||
$buff = '<?php' . "\n\n" . $warning . "\n\n" . '$ftp_info = ' . self::serialize($ftp_info) . ';' . "\n";
|
||||
Storage::write(\RX_BASEDIR . self::$old_ftp_config_filename, $buff);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize a value for insertion into a PHP-based configuration file.
|
||||
*
|
||||
* @param mixed $value
|
||||
* @return string
|
||||
*/
|
||||
public static function serialize($value)
|
||||
{
|
||||
if (is_object($value))
|
||||
{
|
||||
return '(object)' . self::serialize((array)$value);
|
||||
}
|
||||
elseif (is_array($value))
|
||||
{
|
||||
$value = var_export($value, true);
|
||||
$value = preg_replace('/array \(\n/', "array(\n", $value);
|
||||
$value = preg_replace('/=>\s+array\(\n/', "=> array(\n", $value);
|
||||
$value = preg_replace('/array\(\s*\n\s*\)/', 'array()', $value);
|
||||
$value = preg_replace_callback('/\n(\x20+)/', function($m) {
|
||||
return "\n" . str_repeat("\t", intval(strlen($m[1]) / 2));
|
||||
}, $value);
|
||||
$value = preg_replace('/\n(\t+)[0-9]+ => /', "\n\$1", $value);
|
||||
return $value;
|
||||
}
|
||||
else
|
||||
{
|
||||
return var_export($value, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue