Merge branch 'rhymix:master' into master
Some checks failed
PHP Lint & Codeception / PHP 7.4 (push) Has been cancelled
PHP Lint & Codeception / PHP 8.0 (push) Has been cancelled
PHP Lint & Codeception / PHP 8.1 (push) Has been cancelled
PHP Lint & Codeception / PHP 8.2 (push) Has been cancelled
PHP Lint & Codeception / PHP 8.3 (push) Has been cancelled
PHP Lint & Codeception / PHP 8.4 (push) Has been cancelled

This commit is contained in:
Lastorder 2025-06-04 22:46:21 +09:00 committed by GitHub
commit f48c90a363
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 68 additions and 38 deletions

View file

@ -719,9 +719,10 @@ class Context
* Append string to browser title * Append string to browser title
* *
* @param string $title Browser title to be appended * @param string $title Browser title to be appended
* @param string $delimiter
* @return void * @return void
*/ */
public static function addBrowserTitle($title) public static function addBrowserTitle($title, $delimiter = ' - ')
{ {
if(!$title) if(!$title)
{ {
@ -729,7 +730,7 @@ class Context
} }
if(self::$_instance->browser_title) if(self::$_instance->browser_title)
{ {
self::$_instance->browser_title .= ' - ' . $title; self::$_instance->browser_title .= $delimiter . $title;
} }
else else
{ {
@ -741,9 +742,10 @@ class Context
* Prepend string to browser title * Prepend string to browser title
* *
* @param string $title Browser title to be prepended * @param string $title Browser title to be prepended
* @param string $delimiter
* @return void * @return void
*/ */
public static function prependBrowserTitle($title) public static function prependBrowserTitle($title, $delimiter = ' - ')
{ {
if(!$title) if(!$title)
{ {
@ -751,7 +753,7 @@ class Context
} }
if(self::$_instance->browser_title) if(self::$_instance->browser_title)
{ {
self::$_instance->browser_title = $title . ' - ' . self::$_instance->browser_title; self::$_instance->browser_title = $title . $delimiter . self::$_instance->browser_title;
} }
else else
{ {
@ -903,7 +905,7 @@ class Context
* Return string accoring to the inputed code * Return string accoring to the inputed code
* *
* @param string $code Language variable name * @param string $code Language variable name
* @return string If string for the code exists returns it, otherwise returns original code * @return mixed
*/ */
public static function getLang($code) public static function getLang($code)
{ {
@ -1020,7 +1022,7 @@ class Context
* @param string $key * @param string $key
* @param mixed $charset charset * @param mixed $charset charset
* @see arrayConvWalkCallback will replaced array_walk_recursive in >=PHP5 * @see arrayConvWalkCallback will replaced array_walk_recursive in >=PHP5
* @return void * @return ?bool
*/ */
public static function checkConvertFlag(&$val, $key = null, $charset = null) public static function checkConvertFlag(&$val, $key = null, $charset = null)
{ {
@ -1049,7 +1051,7 @@ class Context
* @param string $key * @param string $key
* @param string $charset character set * @param string $charset character set
* @see arrayConvWalkCallback will replaced array_walk_recursive in >=PHP5 * @see arrayConvWalkCallback will replaced array_walk_recursive in >=PHP5
* @return object converted object * @return void
*/ */
public static function doConvertEncoding(&$val, $key = null, $charset = 'CP949') public static function doConvertEncoding(&$val, $key = null, $charset = 'CP949')
{ {
@ -1315,7 +1317,7 @@ class Context
* *
* @return void * @return void
*/ */
private static function setUploadInfo() public static function setUploadInfo()
{ {
if (!isset($_SERVER['REQUEST_METHOD']) || $_SERVER['REQUEST_METHOD'] !== 'POST' || !$_FILES) if (!isset($_SERVER['REQUEST_METHOD']) || $_SERVER['REQUEST_METHOD'] !== 'POST' || !$_FILES)
{ {
@ -1617,10 +1619,12 @@ class Context
} }
/** /**
* Display a generic error page and exit. * Display a generic error page.
* *
* @param string $title * @param string $title
* @param string $message * @param string $message
* @param int $status
* @param string $location
* @return void * @return void
*/ */
public static function displayErrorPage($title = 'Error', $message = '', $status = 500, $location = '') public static function displayErrorPage($title = 'Error', $message = '', $status = 500, $location = '')
@ -1963,7 +1967,7 @@ class Context
* *
* @param string $key Key * @param string $key Key
* @param mixed $val Value * @param mixed $val Value
* @param mixed $replace_request_arg * @param bool $replace_request_arg
* @return void * @return void
*/ */
public static function set($key, $val, $replace_request_arg = false) public static function set($key, $val, $replace_request_arg = false)
@ -2020,17 +2024,20 @@ class Context
/** /**
* Get one more vars in object vars with given arguments(key1, key2, key3,...) * Get one more vars in object vars with given arguments(key1, key2, key3,...)
* *
* @return object * @return ?object
*/ */
public static function gets() public static function gets()
{ {
$num_args = func_num_args(); $args_list = func_get_args();
if($num_args < 1) if (count($args_list) < 1)
{ {
return; return;
} }
if (count($args_list) === 1 && is_array($args_list[0]))
{
$args_list = $args_list[0];
}
$args_list = func_get_args();
$output = new stdClass; $output = new stdClass;
self::$_user_vars = self::$_user_vars !== null ? self::$_user_vars : new stdClass; self::$_user_vars = self::$_user_vars !== null ? self::$_user_vars : new stdClass;
foreach($args_list as $key) foreach($args_list as $key)
@ -3003,7 +3010,7 @@ class Context
* Add OpenGraph metadata * Add OpenGraph metadata
* *
* @param string $name * @param string $name
* @param mixed $content * @param array $content
* @return void * @return void
*/ */
public static function addOpenGraphData($name, $content) public static function addOpenGraphData($name, $content)
@ -3040,6 +3047,6 @@ class Context
*/ */
public static function getCanonicalURL() public static function getCanonicalURL()
{ {
return self::$_instance->canonical_url; return self::$_instance->canonical_url ?? '';
} }
} }

View file

@ -205,13 +205,13 @@ class FrontEndFileHandler extends Handler
* Get file information * Get file information
* *
* @param string $fileName The file name * @param string $fileName The file name
* @param string $targetIe Target IE of file * @param string $unused Formerly targetIe
* @param string $media Media of file * @param string $media Media of file
* @param array $vars Variables for LESS and SCSS * @param array $vars Variables for LESS and SCSS
* @param bool $forceMinify Whether this file should be minified * @param bool $forceMinify Whether this file should be minified
* @return stdClass The file information * @return stdClass The file information
*/ */
protected function getFileInfo($fileName, $targetIe = '', $media = 'all', $vars = array(), $isCommon = false) protected function getFileInfo($fileName, $unused = '', $media = 'all', $vars = array(), $isCommon = false)
{ {
$pathInfo = pathinfo($fileName); $pathInfo = pathinfo($fileName);
@ -423,13 +423,13 @@ class FrontEndFileHandler extends Handler
* Unload front end file * Unload front end file
* *
* @param string $fileName The file name to unload * @param string $fileName The file name to unload
* @param string $targetIe Target IE of file to unload * @param string $unused Formerly targetIe
* @param string $media Media of file to unload. Only use when file is css. * @param string $media Media of file to unload. Only use when file is css.
* @return void * @return void
*/ */
public function unloadFile($fileName, $targetIe = '', $media = 'all') public function unloadFile($fileName, $unused = '', $media = 'all')
{ {
$file = $this->getFileInfo($fileName, $targetIe, $media); $file = $this->getFileInfo($fileName, $unused, $media);
if($file->fileExtension == 'css') if($file->fileExtension == 'css')
{ {

View file

@ -49,7 +49,7 @@ class ModuleHandler extends Handler
* prepares variables to use in moduleHandler * prepares variables to use in moduleHandler
* @param string $module name of module * @param string $module name of module
* @param string $act name of action * @param string $act name of action
* @param int $mid * @param string $mid
* @param int $document_srl * @param int $document_srl
* @param int $module_srl * @param int $module_srl
* @return void * @return void

View file

@ -128,7 +128,7 @@ class ModuleObject extends BaseObject
* setter to set an url for redirection * setter to set an url for redirection
* *
* @param string|array $url url for redirection * @param string|array $url url for redirection
* @return $this * @return object
*/ */
public function setRedirectUrl($url = './', $output = NULL) public function setRedirectUrl($url = './', $output = NULL)
{ {
@ -151,7 +151,7 @@ class ModuleObject extends BaseObject
/** /**
* get url for redirection * get url for redirection
* *
* @return string * @return ?string
*/ */
public function getRedirectUrl() public function getRedirectUrl()
{ {
@ -546,7 +546,7 @@ class ModuleObject extends BaseObject
/** /**
* retrieve the directory path of the template directory * retrieve the directory path of the template directory
* *
* @return string * @return ?string
*/ */
public function getTemplateFile() public function getTemplateFile()
{ {
@ -577,7 +577,7 @@ class ModuleObject extends BaseObject
/** /**
* retrieve the directory path of the template directory * retrieve the directory path of the template directory
* *
* @return string * @return ?string
*/ */
public function getTemplatePath() public function getTemplatePath()
{ {
@ -600,7 +600,7 @@ class ModuleObject extends BaseObject
/** /**
* retreived the file name of edited_layout_file * retreived the file name of edited_layout_file
* *
* @return string * @return ?string
*/ */
public function getEditedLayoutFile() public function getEditedLayoutFile()
{ {
@ -622,7 +622,7 @@ class ModuleObject extends BaseObject
/** /**
* get the file name of the layout file * get the file name of the layout file
* *
* @return string * @return ?string
*/ */
public function getLayoutFile() public function getLayoutFile()
{ {
@ -653,9 +653,9 @@ class ModuleObject extends BaseObject
/** /**
* set the directory path of the layout directory * set the directory path of the layout directory
* *
* @return string * @return ?string
*/ */
public function getLayoutPath($layout_name = "", $layout_type = "P") public function getLayoutPath()
{ {
return $this->layout_path; return $this->layout_path;
} }

View file

@ -11,7 +11,7 @@
* *
* @param string $key * @param string $key
* @param string $value (optional) * @param string $value (optional)
* @return mixed * @return string|array|null
*/ */
function config(string $key, $value = null) function config(string $key, $value = null)
{ {
@ -256,7 +256,7 @@ function escape_dqstr(string $str): string
* @param string $escape_char The escape character (default: backslash) * @param string $escape_char The escape character (default: backslash)
* @return array * @return array
*/ */
function explode_with_escape(string $delimiter, string $str, $limit = 0, $escape_char = '\\'): array function explode_with_escape(string $delimiter, string $str, int $limit = 0, string $escape_char = '\\'): array
{ {
if ($limit < 1) $limit = 0; if ($limit < 1) $limit = 0;
$str = (string)$str; $str = (string)$str;
@ -417,7 +417,7 @@ function base64_decode_urlsafe(string $str): string
/** /**
* This function shortens a number using common suffixes. * This function shortens a number using common suffixes.
* *
* @param int $number The number to shorten * @param int|float $number The number to shorten
* @param int $significant_digits The number of significant digits to retain * @param int $significant_digits The number of significant digits to retain
* @return string * @return string
*/ */

View file

@ -279,6 +279,7 @@ Rhymix.redirectToUrl = function(url) {
* @param string url * @param string url
* @param string target * @param string target
* @param string features * @param string features
* @return void
*/ */
Rhymix.openWindow = function(url, target, features) { Rhymix.openWindow = function(url, target, features) {

View file

@ -232,6 +232,7 @@ function getNextSequence(): int
/** /**
* Set Sequence number to session * Set Sequence number to session
* *
* @deprecated
* @param int $seq sequence number * @param int $seq sequence number
* @return void * @return void
*/ */
@ -248,6 +249,7 @@ function setUserSequence($seq): void
/** /**
* Check Sequence number grant * Check Sequence number grant
* *
* @deprecated
* @param int $seq sequence number * @param int $seq sequence number
* @return bool * @return bool
*/ */
@ -313,6 +315,7 @@ function getNotEncodedUrl(): string
/** /**
* Get a encoded url. If url is encoded, not encode. Otherwise html encode the url. * Get a encoded url. If url is encoded, not encode. Otherwise html encode the url.
* *
* @deprecated
* @see getUrl() * @see getUrl()
* @return string * @return string
*/ */
@ -386,6 +389,7 @@ function getNotEncodedFullUrl(): string
* getSiteUrl() returns the URL by transforming the given argument value of domain * getSiteUrl() returns the URL by transforming the given argument value of domain
* The first argument should consist of domain("http://" not included) and path * The first argument should consist of domain("http://" not included) and path
* *
* @deprecated
* @return string * @return string
*/ */
function getSiteUrl(): string function getSiteUrl(): string
@ -408,6 +412,7 @@ function getSiteUrl(): string
* getSiteUrl() returns the not encoded URL by transforming the given argument value of domain * getSiteUrl() returns the not encoded URL by transforming the given argument value of domain
* The first argument should consist of domain("http://" not included) and path * The first argument should consist of domain("http://" not included) and path
* *
* @deprecated
* @return string * @return string
*/ */
function getNotEncodedSiteUrl(): string function getNotEncodedSiteUrl(): string
@ -429,6 +434,7 @@ function getNotEncodedSiteUrl(): string
/** /**
* Return the value adding request uri to the getSiteUrl() To get the full url * Return the value adding request uri to the getSiteUrl() To get the full url
* *
* @deprecated
* @return string * @return string
*/ */
function getFullSiteUrl(): string function getFullSiteUrl(): string
@ -468,6 +474,7 @@ function getCurrentPageUrl($escape = true): string
/** /**
* Return if domain of the virtual site is url type or id type * Return if domain of the virtual site is url type or id type
* *
* @deprecated
* @param string $domain * @param string $domain
* @return bool * @return bool
*/ */
@ -540,6 +547,7 @@ function cut_str($string, $cut_size = 0, $tail = '...'): string
/** /**
* Convert XE legacy time zone format into UTC offset. * Convert XE legacy time zone format into UTC offset.
* *
* @deprecated
* @param string $time_zone Time zone in '+0900' format * @param string $time_zone Time zone in '+0900' format
* @return int * @return int
*/ */
@ -551,6 +559,7 @@ function get_time_zone_offset($timezone): int
/** /**
* Get the offset between the current user's time zone and Rhymix's internal time zone. * Get the offset between the current user's time zone and Rhymix's internal time zone.
* *
* @param ?int $timestamp (optional)
* @return int * @return int
*/ */
function zgap($timestamp = null): int function zgap($timestamp = null): int
@ -771,6 +780,7 @@ function getMonthName(int $month, bool $short = true): string
/** /**
* Returns encoded value of given email address for email scraping * Returns encoded value of given email address for email scraping
* *
* @deprecated
* @param string $email The email * @param string $email The email
* @return string * @return string
*/ */
@ -804,6 +814,7 @@ function debugPrint($value, ...$values): void
/** /**
* Delete the second object vars from the first argument * Delete the second object vars from the first argument
* *
* @deprecated
* @param object $target_obj An original object * @param object $target_obj An original object
* @param object $del_obj Object vars to delete from the original object * @param object $del_obj Object vars to delete from the original object
* @return object * @return object
@ -826,6 +837,7 @@ function delObjectVars($target_obj, $del_obj): object
/** /**
* Delete variables that are commonly submitted but don't need to be saved. * Delete variables that are commonly submitted but don't need to be saved.
* *
* @deprecated
* @param array|object $vars * @param array|object $vars
* @return array|object * @return array|object
*/ */
@ -871,6 +883,7 @@ function getNumberingPath($no, int $size = 3): string
/** /**
* Sanitize HTML content. * Sanitize HTML content.
* *
* @deprecated
* @param string $content Target content * @param string $content Target content
* @return string * @return string
*/ */
@ -882,6 +895,7 @@ function removeHackTag($content): string
/** /**
* Get whether utf8 or not given string * Get whether utf8 or not given string
* *
* @deprecated
* @param string $string * @param string $string
* @param bool $return_convert If set, returns converted string * @param bool $return_convert If set, returns converted string
* @param bool $urldecode * @param bool $urldecode
@ -909,17 +923,18 @@ function detectUTF8($string, $return_convert = FALSE, $urldecode = TRUE)
/** /**
* Get is current user crawler * Get is current user crawler
* *
* @param string $agent if set, use this value instead HTTP_USER_AGENT * @param ?string $user_agent if set, use this value instead HTTP_USER_AGENT
* @return bool * @return bool
*/ */
function isCrawler($agent = null): bool function isCrawler($user_agent = null): bool
{ {
return Rhymix\Framework\UA::isRobot($agent); return Rhymix\Framework\UA::isRobot($user_agent);
} }
/** /**
* Remove embed media for admin * Remove embed media for admin
* *
* @deprecated
* @param string $content * @param string $content
* @param int $writer_member_srl * @param int $writer_member_srl
* @return void * @return void
@ -960,6 +975,9 @@ function stripEmbedTagForAdmin(&$content, $writer_member_srl): void
/** /**
* Check for CSRF attacks * Check for CSRF attacks
* *
* Use Rhymix\Framework\Security::checkCSRF() instead.
*
* @deprecated
* @return bool * @return bool
*/ */
function checkCSRF(): bool function checkCSRF(): bool
@ -969,6 +987,8 @@ function checkCSRF(): bool
/** /**
* menu exposure check by isShow column * menu exposure check by isShow column
*
* @deprecated
* @param array $menu * @param array $menu
* @return void * @return void
*/ */
@ -994,6 +1014,7 @@ function recurciveExposureCheck(&$menu): void
/** /**
* Alias to hex2rgb() * Alias to hex2rgb()
* *
* @deprecated
* @param string $hexstr * @param string $hexstr
* @return array * @return array
*/ */
@ -1101,7 +1122,7 @@ if(!function_exists('mb_strlen'))
*/ */
if(!function_exists('mb_strpos')) if(!function_exists('mb_strpos'))
{ {
function mb_strpos($haystack, $needle, $offset, $charset = null) function mb_strpos($haystack, $needle, $offset = 0, $charset = null)
{ {
if(function_exists('iconv_strpos')) if(function_exists('iconv_strpos'))
{ {
@ -1239,6 +1260,7 @@ function reload($isOpener = FALSE): void
* @param string $errstr * @param string $errstr
* @param string $file * @param string $file
* @param int $line * @param int $line
* @param array $context
* @return void * @return void
*/ */
function handleError($errno, $errstr, $file, $line, $context): void function handleError($errno, $errstr, $file, $line, $context): void

View file

@ -75,7 +75,7 @@ class FunctionsTest extends \Codeception\Test\Unit
$this->assertEquals(array('foo', 'bar,baz'), explode_with_escape(',', 'foo,bar\\,baz')); $this->assertEquals(array('foo', 'bar,baz'), explode_with_escape(',', 'foo,bar\\,baz'));
$this->assertEquals(array('foo', 'bar\\', 'baz'), explode_with_escape(',', 'foo,bar\\ , baz')); $this->assertEquals(array('foo', 'bar\\', 'baz'), explode_with_escape(',', 'foo,bar\\ , baz'));
$this->assertEquals(array('foo', 'bar,baz', 'rhymix'), explode_with_escape(',', 'foo,bar\\,baz,rhymix')); $this->assertEquals(array('foo', 'bar,baz', 'rhymix'), explode_with_escape(',', 'foo,bar\\,baz,rhymix'));
$this->assertEquals(array('foo', 'bar,baz'), explode_with_escape(',', 'foo,bar!,baz', null, '!')); $this->assertEquals(array('foo', 'bar,baz'), explode_with_escape(',', 'foo,bar!,baz', 0, '!'));
} }
public function testStartsEndsContains() public function testStartsEndsContains()