Merge branch 'rhymix:master' into master

This commit is contained in:
Lastorder 2025-06-27 14:34:35 +09:00 committed by GitHub
commit b894362419
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
48 changed files with 664 additions and 379 deletions

View file

@ -757,13 +757,20 @@ class HTMLDisplayHandler
'plugins/cookie/js.cookie.min.js',
'plugins/blankshield/blankshield.min.js',
'plugins/uri/URI.min.js',
'x.js',
'common.js',
'js_app.js',
'xml_handler.js',
'xml_js_filter.js',
);
if (str_contains($_SERVER['HTTP_USER_AGENT'] ?? '', 'Trident/'))
{
$original_file_list[] = 'polyfills/formdata.min.js';
$original_file_list[] = 'polyfills/promise.min.js';
}
$original_file_list[] = 'x.js';
$original_file_list[] = 'common.js';
$original_file_list[] = 'js_app.js';
$original_file_list[] = 'xml_handler.js';
$original_file_list[] = 'xml_js_filter.js';
if(config('view.minify_scripts') === 'none')
{
Context::loadFile(array('./common/js/jquery-' . $jquery_version . '.js', 'head', '', -1800000000), true);

View file

@ -430,6 +430,10 @@ class FrontEndFileHandler extends Handler
public function unloadFile($fileName, $unused = '', $media = 'all')
{
$file = $this->getFileInfo($fileName, $unused, $media);
if (!isset($file->key))
{
return;
}
if($file->fileExtension == 'css')
{

View file

@ -254,15 +254,15 @@ class ModuleObject extends BaseObject
// Get privileges(granted) information for target module by <permission check> of module.xml
if(($permission = $this->xml_info->action->{$this->act}->permission) && $permission->check_var)
{
// Check parameter
if(empty($check_module_srl = trim(Context::get($permission->check_var))))
// Ensure that the list of modules to check is the right type and not empty
$check_var = Context::get($permission->check_var);
if (is_scalar($check_var))
{
return false;
}
if (empty($check_module_srl = trim($check_var)))
{
return false;
}
// If value is not array
if(!is_array($check_module_srl))
{
// Convert string to array. delimiter is ,(comma) or |@|
if(preg_match('/,|\|@\|/', $check_module_srl, $delimiter) && $delimiter[0])
{
@ -273,6 +273,14 @@ class ModuleObject extends BaseObject
$check_module_srl = array($check_module_srl);
}
}
else
{
$check_module_srl = array_map('trim', $check_var);
if (!count($check_var))
{
return false;
}
}
// Check permission by privileges(granted) information for target module
foreach($check_module_srl as $target_srl)
@ -295,7 +303,15 @@ class ModuleObject extends BaseObject
}
// Check permission based on the grant information for the current module.
$grant = ModuleModel::getInstance()->getGrant($this->module_info, $this->user, $this->xml_info);
if (isset($check_grant))
{
$grant = $check_grant;
}
else
{
$grant = ModuleModel::getInstance()->getGrant($this->module_info, $this->user, $this->xml_info);
}
if(!$this->checkPermission($grant, $this->user, $failed_requirement))
{
$this->stop($this->_generatePermissionError($failed_requirement));