mirror of
https://github.com/YGGverse/gemini-php.git
synced 2025-01-13 08:38:01 +00:00
add isPath method, fix validation errors, fix returned data types
This commit is contained in:
parent
82085aa8c3
commit
2e34ee480b
12
README.md
12
README.md
@ -210,6 +210,18 @@ var_dump (
|
||||
);
|
||||
```
|
||||
|
||||
#### Filesystem::isPath
|
||||
|
||||
Check path exist and match storage item
|
||||
|
||||
```
|
||||
var_dump (
|
||||
$filesystem->isPath(
|
||||
'/full/path/to/page.txt'
|
||||
)
|
||||
);
|
||||
```
|
||||
|
||||
### Helper
|
||||
|
||||
Useful methods to minify controller codebase
|
||||
|
@ -58,7 +58,7 @@ class Filesystem
|
||||
)
|
||||
);
|
||||
|
||||
if (!in_array($path, $this->_list) || !is_file($path) || !is_readable($path))
|
||||
if (!$this->isPath($path))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@ -68,7 +68,7 @@ class Filesystem
|
||||
|
||||
public function getPageUriByPath(string $path): ?string
|
||||
{
|
||||
if (!in_array($path, $this->_list) || !is_file($path) || !is_readable($path))
|
||||
if (!$this->isPath($path))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@ -179,7 +179,7 @@ class Filesystem
|
||||
)
|
||||
);
|
||||
|
||||
if (!in_array($path, $this->_list) || !is_file($path) || !is_readable($path))
|
||||
if (!$this->isPath($path))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
@ -189,11 +189,12 @@ class Filesystem
|
||||
|
||||
public function getMimeByPath(?string $path): ?string
|
||||
{
|
||||
if (in_array($path, $this->_list) && is_file($path) || is_readable($path))
|
||||
if ($this->isPath($path))
|
||||
{
|
||||
return mime_content_type(
|
||||
$path
|
||||
);
|
||||
if ($mime = mime_content_type($path))
|
||||
{
|
||||
return $mime;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
@ -201,16 +202,27 @@ class Filesystem
|
||||
|
||||
public function getDataByPath(?string $path): ?string
|
||||
{
|
||||
if (in_array($path, $this->_list) && is_file($path) || is_readable($path))
|
||||
if ($this->isPath($path))
|
||||
{
|
||||
return file_get_contents(
|
||||
$path
|
||||
);
|
||||
if ($data = file_get_contents($path))
|
||||
{
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function isPath(?string $path): bool
|
||||
{
|
||||
if (in_array($path, $this->_list) && is_file($path) && is_readable($path))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private function _index(string $path, ?array $blacklist = ['.', '..', 'sidebar.txt', '__template.txt']): void
|
||||
{
|
||||
foreach ((array) scandir($path) as $file)
|
||||
|
Loading…
Reference in New Issue
Block a user