mirror of
https://github.com/YGGverse/gemini-php.git
synced 2025-09-11 13:42:12 +00:00
add getDirectoryPathByUri, getDirectoryUriByPath methods
This commit is contained in:
parent
dff5ed97a1
commit
dbd5820c92
@ -136,6 +136,7 @@ var_dump (
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Filesystem::getDirectoryPathByUri
|
||||||
#### Filesystem::getPagePathByUri
|
#### Filesystem::getPagePathByUri
|
||||||
|
|
||||||
Return absolute path to stored page file
|
Return absolute path to stored page file
|
||||||
@ -148,6 +149,7 @@ var_dump (
|
|||||||
)
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Filesystem::getDirectoryUriByPath
|
||||||
#### Filesystem::getPageUriByPath
|
#### Filesystem::getPageUriByPath
|
||||||
|
|
||||||
Return page URI in `dokuwiki:format`
|
Return page URI in `dokuwiki:format`
|
||||||
|
@ -68,7 +68,7 @@ class Filesystem
|
|||||||
'%s/pages/',
|
'%s/pages/',
|
||||||
$this->_path
|
$this->_path
|
||||||
),
|
),
|
||||||
null,
|
'',
|
||||||
$path
|
$path
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -93,9 +93,68 @@ class Filesystem
|
|||||||
$path
|
$path
|
||||||
);
|
);
|
||||||
|
|
||||||
return urlencode(
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDirectoryPathByUri(string $uri = ''): ?string
|
||||||
|
{
|
||||||
|
$path = rtrim(
|
||||||
|
sprintf(
|
||||||
|
'%s/pages/%s',
|
||||||
|
$this->_path,
|
||||||
|
str_replace(
|
||||||
|
':',
|
||||||
|
'/',
|
||||||
|
mb_strtolower(
|
||||||
|
urldecode(
|
||||||
|
$uri
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
'/'
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!isset($this->_tree[$path]) || !is_dir($path) || !is_readable($path))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDirectoryUriByPath(string $path): ?string
|
||||||
|
{
|
||||||
|
if (!isset($this->_tree[$path]) || !is_dir($path) || !is_readable($path))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$path = str_replace(
|
||||||
|
sprintf(
|
||||||
|
'%s/pages/',
|
||||||
|
$this->_path
|
||||||
|
),
|
||||||
|
'',
|
||||||
$path
|
$path
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$path = trim(
|
||||||
|
$path,
|
||||||
|
'/'
|
||||||
|
);
|
||||||
|
|
||||||
|
$path = str_replace(
|
||||||
|
[
|
||||||
|
'/'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
':'
|
||||||
|
],
|
||||||
|
$path
|
||||||
|
);
|
||||||
|
|
||||||
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _index(string $path): void
|
private function _index(string $path): void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user