Merge pull request #28263 from Hinyka/bugfix/27759

Fix Lots of Error: file_exists(): open_basedir restriction in effect.…
pull/29027/head
Vincent Petry 2021-10-01 14:45:40 +07:00 committed by GitHub
commit fb2fd34576
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 5 deletions

@ -130,8 +130,9 @@ class Router implements IRouter {
if (isset($this->loadedApps[$app])) {
return;
}
$file = \OC_App::getAppPath($app) . '/appinfo/routes.php';
if ($file !== false && file_exists($file)) {
$appPath = \OC_App::getAppPath($app);
$file = $appPath . '/appinfo/routes.php';
if ($appPath !== false && file_exists($file)) {
$routingFiles = [$app => $file];
} else {
$routingFiles = [];

@ -65,7 +65,7 @@ class Base {
*/
protected function getAppTemplateDirs($theme, $app, $serverRoot, $app_dir) {
// Check if the app is in the app folder or in the root
if (file_exists($app_dir.'/templates/')) {
if ($app_dir !== false && file_exists($app_dir.'/templates/')) {
return [
$serverRoot.'/themes/'.$theme.'/apps/'.$app.'/templates/',
$app_dir.'/templates/',

@ -170,7 +170,10 @@ class IconsCacher {
} elseif (\strpos($url, $base) === 0) {
if (\preg_match('/([A-z0-9\_\-]+)\/([a-zA-Z0-9-_\~\/\.\=\:\;\+\,]+)\?color=([0-9a-fA-F]{3,6})/', $cleanUrl, $matches)) {
[,$app,$cleanUrl, $color] = $matches;
$location = \OC_App::getAppPath($app) . '/img/' . $cleanUrl . '.svg';
$appPath = \OC_App::getAppPath($app);
if ($appPath !== false) {
$location = $appPath . '/img/' . $cleanUrl . '.svg';
}
if ($app === 'settings') {
$location = \OC::$SERVERROOT . '/settings/img/' . $cleanUrl . '.svg';
}

@ -102,7 +102,7 @@ abstract class ResourceLocator {
* @return bool True if the resource was found, false otherwise
*/
protected function appendIfExist($root, $file, $webRoot = null) {
if (is_file($root.'/'.$file)) {
if ($root !== false && is_file($root.'/'.$file)) {
$this->append($root, $file, $webRoot, false);
return true;
}