REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 3.02 KB
Close
//usr/local/lsws/admin/html.6.2.2/classes/PathTool.php
Text
Base64
<?php class PathTool { public static function getAbsolutePath($root, $path) { if ( substr($path, -1) != '/' ) { $path .= '/'; } $newPath = $this->getAbsoluteFile($root, $path); return $newPath; } public static function getAbsoluteFile($root, $path) { if ( substr($path, 0, 1) != '/' ) { $path = $root . '/' . $path; } $newPath = $this->clean($path); return $newPath; } public static function hasSymbolLink($path) { return ( $path != realpath($path) ); } public static function clean($path) { do { $newS1 = $path; $newS = str_replace('//', '/', $path); $path = $newS; } while ( $newS != $newS1 ); do { $newS1 = $path; $newS = str_replace('/./', '/', $path); $path = $newS; } while ( $newS != $newS1 ); do { $newS1 = $path; $newS = preg_replace('/\/[^\/^\.]+\/\.\.\//', '/', $path); $path = $newS; } while ( $newS != $newS1 ); return $path; } public static function createFile($path, &$err, $htmlname) { if (file_exists($path)) { $err = is_file($path) ? "Already exists $path" : "name conflicting with an existing directory $path"; return false; } $dir = substr($path, 0, (strrpos($path, '/'))); $dirmode = 0700; // default $filemode = 0600; $specials = ['userDB:location', 'groupDB:location']; if (in_array($htmlname, $specials)) { $dirmode = 0755; // conf dir will be group protected $filemode = 0644; $special_note = 'WebAdmin user does not have permission to create this file. You can manually create it and populate the data. Make sure it is readable by the user that web server is running as (usually nobody).'; if (PathTool::createDir($dir, $dirmode, $err)) { if (touch($path)) { chmod($path, $filemode); return true; } $err = 'failed to create file ' . $path; } $err .= '. ' . $special_note; return false; } if (PathTool::createDir($dir, $dirmode, $err)) { if (touch($path)) { chmod($path, $filemode); //populate vhconf tags $type = 'vh'; if ($htmlname == 'templateFile') { $type = 'tp'; } $newconf = new ConfData($type, $path, 'newconf'); $config = new ConfigFile(); $res = $config->save($newconf); if (!$res) { $err = 'failed to save to file ' . $path; return false; } return true; } $err = 'failed to create file ' . $path; } return false; } public static function createDir($path, $mode, &$err) { if (file_exists($path)) { if (is_dir($path)) { return true; } $err = "$path is not a directory"; return false; } $parent = substr($path, 0, (strrpos($path, '/'))); if (strlen($parent) <= 1) { $err = "invalid path: $path"; return false; } if (!file_exists($parent) && !PathTool::createDir($parent, $mode, $err)) { return false; } if (mkdir($path, $mode)) { return true; } $err = "fail to create directory $path"; return false; } public static function isDenied($path) { $absname = realpath($path); if (strncmp($absname, '/etc/', 5) == 0) { return true; } return false; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 1 × Files: 18
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
ws
DIR
-
drwxr-xr-x
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
blowfish.php
25.68 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConfData.php
860 B
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConfigFile.php
13.87 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
ConfigFileEx.php
4.68 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CustStatusCode.php
2.19 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
CValidation.php
26.65 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DAttrBase.php
12.42 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DATTR_HELP.php
773 B
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DATTR_HELP_ITEM.php
2.53 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DFileSect.php
582 B
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DispInfo.php
4.36 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DPage.php
3.75 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DTbl.php
17.52 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
DUtil.php
4.22 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
GUIBase.php
3.25 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
jCryption.php
15.92 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PathTool.php
3.02 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
XmlTreeBuilder.php
3.27 KB
lrw-r--r--
2024-07-11 02:32:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).