summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorVincent Petry <vincent@nextcloud.com>2021-10-12 09:11:18 +0200
committerGitHub <noreply@github.com>2021-10-12 09:11:18 +0200
commit2bf6270ef5563eb4492222db615705c3f8c175ee (patch)
tree8571113cb8c31382ce6fe22fe0ca670d5b6c5cee /lib
parentf27e8f271185e7fa0566dab070395521087559ef (diff)
parent30905d234026ca247be2c3f487f0c75ff6974e84 (diff)
downloadnextcloud-server-2bf6270ef5563eb4492222db615705c3f8c175ee.tar.gz
nextcloud-server-2bf6270ef5563eb4492222db615705c3f8c175ee.zip
Merge pull request #29037 from Hinyka/stable21
[stable21] Fix Lots of Error: file_exists(): open_basedir restriction in effect
Diffstat (limited to 'lib')
-rw-r--r--lib/private/Route/Router.php5
-rw-r--r--lib/private/Template/Base.php2
-rw-r--r--lib/private/Template/IconsCacher.php5
-rwxr-xr-xlib/private/Template/ResourceLocator.php2
4 files changed, 9 insertions, 5 deletions
diff --git a/lib/private/Route/Router.php b/lib/private/Route/Router.php
index 71bc4a6c4f7..9f592bcb674 100644
--- a/lib/private/Route/Router.php
+++ b/lib/private/Route/Router.php
@@ -131,8 +131,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 = [];
diff --git a/lib/private/Template/Base.php b/lib/private/Template/Base.php
index 65d0ad469ff..a42ddccbc00 100644
--- a/lib/private/Template/Base.php
+++ b/lib/private/Template/Base.php
@@ -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/',
diff --git a/lib/private/Template/IconsCacher.php b/lib/private/Template/IconsCacher.php
index 9b80711dd29..a3318c61d47 100644
--- a/lib/private/Template/IconsCacher.php
+++ b/lib/private/Template/IconsCacher.php
@@ -171,7 +171,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)) {
list(,$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';
}
diff --git a/lib/private/Template/ResourceLocator.php b/lib/private/Template/ResourceLocator.php
index 1d9f60cf5dd..a6f9f63ef7d 100755
--- a/lib/private/Template/ResourceLocator.php
+++ b/lib/private/Template/ResourceLocator.php
@@ -103,7 +103,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;
}