fix Framework::includeJS("", "app", "filemanager") failed on client-side, due to a double slash "//" in path

also fixed various warnings
This commit is contained in:
ralf 2024-09-17 08:46:59 +02:00
parent cc72c6ff60
commit e184d5bdcd
2 changed files with 5 additions and 5 deletions

View File

@ -1510,7 +1510,7 @@ abstract class Framework extends Framework\Extra
static function includeJS($package, $file=null, $app='api', $append=true) static function includeJS($package, $file=null, $app='api', $append=true)
{ {
// prefer app.min.js over old, pre RollupJS app.js // prefer app.min.js over old, pre RollupJS app.js
if ($package[0] === '/' && substr($package, -7) === '/app.js' && if ($package && $package[0] === '/' && substr($package, -7) === '/app.js' &&
self::$js_include_mgr->include_js_file(substr($package, 0, -3).'.min.js', $file, $app, $append) || self::$js_include_mgr->include_js_file(substr($package, 0, -3).'.min.js', $file, $app, $append) ||
$file === 'app' && self::$js_include_mgr->include_js_file($package, 'app.min', $app, $append)) $file === 'app' && self::$js_include_mgr->include_js_file($package, 'app.min', $app, $append))
{ {

View File

@ -314,10 +314,10 @@ class IncludeMgr
*/ */
private function translate_params($package, $file=null, $app='api') private function translate_params($package, $file=null, $app='api')
{ {
if ($package[0] == '/' && is_readable(EGW_SERVER_ROOT.parse_url($path = $package, PHP_URL_PATH)) || if ($package && $package[0] == '/' && is_readable(EGW_SERVER_ROOT.parse_url($path = $package, PHP_URL_PATH)) ||
// fix old /phpgwapi/js/ path by replacing it with /api/js/ // fix old /phpgwapi/js/ path by replacing it with /api/js/
substr($package, 0, 13) == '/phpgwapi/js/' && is_readable(EGW_SERVER_ROOT.parse_url($path = str_replace('/phpgwapi/js/', '/api/js/', $package), PHP_URL_PATH)) || substr($package, 0, 13) == '/phpgwapi/js/' && is_readable(EGW_SERVER_ROOT.parse_url($path = str_replace('/phpgwapi/js/', '/api/js/', $package), PHP_URL_PATH)) ||
$package[0] == '/' && is_readable(EGW_SERVER_ROOT.($path = $package)) || $package && $package[0] == '/' && is_readable(EGW_SERVER_ROOT.($path = $package)) ||
$package == '.' && is_readable(EGW_SERVER_ROOT.($path="/$app/js/$file.js")) || $package == '.' && is_readable(EGW_SERVER_ROOT.($path="/$app/js/$file.js")) ||
is_readable(EGW_SERVER_ROOT.($path="/$app/js/$package/$file.js")) || is_readable(EGW_SERVER_ROOT.($path="/$app/js/$package/$file.js")) ||
// fix not found by using app='api' // fix not found by using app='api'
@ -325,7 +325,7 @@ class IncludeMgr
$app != 'phpgwapi' && is_readable(EGW_SERVER_ROOT.($path="/phpgwapi/js/$package/$file.js"))) $app != 'phpgwapi' && is_readable(EGW_SERVER_ROOT.($path="/phpgwapi/js/$package/$file.js")))
{ {
// normalise /./ to / // normalise /./ to /
$path = str_replace('/./', '/', $path); $path = str_replace(['/./', '//'], '/', $path);
// Handle the special case, that the file is an url - in this case // Handle the special case, that the file is an url - in this case
// we will do no further processing but just include the file // we will do no further processing but just include the file