Class FilePathSanitizer.
More...
◆ __construct()
ILIAS\File\Sanitation\FilePathSanitizer::__construct |
( |
ilObjFile |
$file_object | ) |
|
◆ log()
ILIAS\File\Sanitation\FilePathSanitizer::log |
( |
|
$message | ) |
|
|
private |
◆ needsSanitation()
ILIAS\File\Sanitation\FilePathSanitizer::needsSanitation |
( |
| ) |
|
◆ sanitizeIfNeeded()
ILIAS\File\Sanitation\FilePathSanitizer::sanitizeIfNeeded |
( |
| ) |
|
- Returns
- bool
Definition at line 93 of file FilePathSanitizer.php.
References Vendor\Package\$e, ILIAS\File\Sanitation\FilePathSanitizer\log(), ILIAS\File\Sanitation\FilePathSanitizer\needsSanitation(), ILIAS\File\Sanitation\FilePathSanitizer\santitizeFilename(), and ILIAS\File\Sanitation\FilePathSanitizer\saveNewNameForFileObject().
97 $dirname = dirname($this->relative_path);
98 if (!$this->fs->has($dirname)) {
99 $this->
log(
"FAILED: Sanitizing File Path: {$this->file_object->getFile()}. Message: Directory not found");
104 $first_file = reset($this->fs->listContents($dirname));
105 }
catch (DirectoryNotFoundException
$e) {
106 $this->
log(
"FAILED AGAIN and AGAIN: Sanitizing File Path: {$this->file_object->getFile()}. Message: {$e->getMessage()}");
114 if (!$this->fs->has($valid_filename)) {
115 $this->fs->rename($first_file->getPath(), $valid_filename);
118 $this->
log(
"Sanitized File Path: {$valid_filename}");
124 $this->
log(
"FAILED: Sanitizing File Path: {$this->file_object->getFile()}. Message: {$e->getMessage()}. Will try using native PHP");
128 $scandir = scandir(dirname($this->absolute_path));
129 if (isset($scandir[2])) {
130 $first_file = $scandir[2];
131 if (is_file($first_file)) {
133 if (rename($first_file, $valid_filename)) {
135 $this->
log(
"Sanitized File Path: {$valid_filename}");
138 throw new Exception(
"is not a file: " . $first_file);
141 throw new Exception(
"no File found in " . dirname($this->absolute_path));
144 $this->
log(
"FAILED AGAIN: Sanitizing File Path: {$this->file_object->getFile()}. Message: {$e->getMessage()}");
148 if ($item->isDot()) {
151 if ($item->isFile()) {
153 if (rename($item->getPathname(), $valid_filename)) {
155 $this->
log(
"Sanitized File Path: {$valid_filename}");
161 $this->
log(
"FAILED AGAIN and AGAIN: Sanitizing File Path: {$this->file_object->getFile()}. Message: {$e->getMessage()}");
Class ChatMainBarProvider .
saveNewNameForFileObject($valid_filename)
Class FlySystemFileAccessTest disabled disabled disabled.
santitizeFilename($first_file)
◆ santitizeFilename()
ILIAS\File\Sanitation\FilePathSanitizer::santitizeFilename |
( |
|
$first_file | ) |
|
|
private |
◆ saveNewNameForFileObject()
ILIAS\File\Sanitation\FilePathSanitizer::saveNewNameForFileObject |
( |
|
$valid_filename | ) |
|
|
private |
◆ $absolute_path
ILIAS\File\Sanitation\FilePathSanitizer::$absolute_path |
|
private |
◆ $file_object
ILIAS\File\Sanitation\FilePathSanitizer::$file_object |
|
private |
◆ $fs
ILIAS\File\Sanitation\FilePathSanitizer::$fs |
|
private |
◆ $relative_path
ILIAS\File\Sanitation\FilePathSanitizer::$relative_path |
|
private |
◆ $version
ILIAS\File\Sanitation\FilePathSanitizer::$version = 1 |
|
private |
The documentation for this class was generated from the following file: