X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FUtil%2FBasePath.php;h=06fa5246797028fb1bbee1dc75a5b7184db7726c;hb=3940e804e3ee4ac921e109f62a73fac2becaa611;hp=f29c2e864ec414b7d1219344e4e14d6fd0b622f9;hpb=1480380af6d551ce356b1dfa21490d57c7fcf151;p=friendica.git diff --git a/src/Util/BasePath.php b/src/Util/BasePath.php index f29c2e864e..06fa524679 100644 --- a/src/Util/BasePath.php +++ b/src/Util/BasePath.php @@ -4,36 +4,55 @@ namespace Friendica\Util; class BasePath { + /** + * @var string + */ + private $baseDir; + /** + * @var array + */ + private $server; + + /** + * @param string|null $baseDir The default base path + * @param array $server server arguments + */ + public function __construct(string $baseDir, array $server = []) + { + $this->baseDir = $baseDir; + $this->server = $server; + } + /** * @brief Returns the base filesystem path of the App * * It first checks for the internal variable, then for DOCUMENT_ROOT and * finally for PWD * - * @param string|null $basePath The default base path - * @param array $server server arguments - * * @return string * * @throws \Exception if directory isn't usable */ - public static function create($basePath, array $server = []) + public function getPath() { - if ((!$basePath || !is_dir($basePath)) && !empty($server['DOCUMENT_ROOT'])) { - $basePath = $server['DOCUMENT_ROOT']; + $baseDir = $this->baseDir; + $server = $this->server; + + if ((!$baseDir || !is_dir($baseDir)) && !empty($server['DOCUMENT_ROOT'])) { + $baseDir = $server['DOCUMENT_ROOT']; } - if ((!$basePath || !is_dir($basePath)) && !empty($server['PWD'])) { - $basePath = $server['PWD']; + if ((!$baseDir || !is_dir($baseDir)) && !empty($server['PWD'])) { + $baseDir = $server['PWD']; } - $basePath = self::getRealPath($basePath); + $baseDir = self::getRealPath($baseDir); - if (!is_dir($basePath)) { - throw new \Exception(sprintf('\'%s\' is not a valid basepath', $basePath)); + if (!is_dir($baseDir)) { + throw new \Exception(sprintf('\'%s\' is not a valid basepath', $baseDir)); } - return $basePath; + return $baseDir; } /**