static function CompleteStructure() { define("PAGE_ID", isset($_GET['PageID']) ? $_GET['PageID'] : ""); switch (PAGE_ID) { case 'FileEditor': define("DIRECTORY", !is_file($_GET['directory']) ? Others::redirect("?") : realpath(urldecode($_GET['directory']))); define("EDIRECTORY", urlencode(DIRECTORY)); define("ODIRECTORY", dirname(DIRECTORY)); unset($dirName); define("FILEINODE", fileinode(DIRECTORY)); define("FILENAME", basename(DIRECTORY)); define("FILEBYTE", filesize(DIRECTORY)); define("FILECTIME", filectime(DIRECTORY)); define("FILEATIME", fileatime(DIRECTORY)); define("FILEOWNER", fileowner(DIRECTORY)); define("FILETYPE", strtolower(substr(strrchr(FILENAME, "."), 1))); if (FILEBYTE / 1024 > 1024) { die('Dosya çok büyük <button onClick="javascript:window.close();">Kapat</button>'); } if (isset($_POST['fileContents']) && is_string($_POST['fileContents'])) { file_put_contents(DIRECTORY, urldecode($_POST['fileContents'])); Others::redirect(URLm::url("fileEditor", array("file" => DIRECTORY))); } Page::write("editor", array("Title" => "Dosya.Düzenle \"" . FILENAME . "\"", "CSSFile" => Settings::get("CSSFilePath"), "File" => DIRECTORY)); break; default: if (isset($_GET['directory']) && !is_dir($_GET['directory'])) { Others::redirect("?"); } if (isset($_GET['directory']) && is_dir($_GET['directory'])) { $directoryPath = (string) $_GET['directory']; } elseif (isset($_SERVER['DOCUMENT_ROOT']) && is_dir($_SERVER['DOCUMENT_ROOT'])) { $directoryPath = $_SERVER['DOCUMENT_ROOT']; } else { $directory = "."; } define("DIRECTORY", realpath($directoryPath)); define("EDIRECTORY", urlencode(DIRECTORY)); if (isset($_REQUEST['procName']) && isset($_REQUEST['filesArray'])) { $filesExp = explode("{}", $_REQUEST['filesArray']); $var = (string) $_REQUEST['variable']; switch ($_REQUEST['procName']) { case 'Move': foreach ($filesExp as $dd) { if (is_dir(DIRECTORY . "/" . $dd) || is_file(DIRECTORY . "/" . $dd)) { rename(DIRECTORY . "/" . $dd, $var . "/" . $dd); } } break; case 'Copy': foreach ($filesExp as $dd) { if (is_dir(DIRECTORY . "/" . $dd)) { File::copyDirectory(DIRECTORY . "/" . $dd, $var . "/" . $dd); } elseif (is_file(DIRECTORY . "/" . $dd)) { copy(DIRECTORY . "/" . $dd, $var . "/" . $dd); } } break; case 'CHMOD': foreach ($filesExp as $dd) { if ($var >= 0 && $var <= 777) { chmod(DIRECTORY . "/" . $dd, $var); } } break; case 'Delete': foreach ($filesExp as $dd) { if (is_dir(DIRECTORY . "/" . $dd)) { File::deleteDirectory(DIRECTORY . "/" . $dd); } elseif (is_file(DIRECTORY . "/" . $dd)) { unlink(DIRECTORY . "/" . $dd); } } } Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); } if (isset($_GET['proc'])) { switch ($_GET['proc']) { case 'move': if ($_GET['var'] != "") { rename(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("folderView", array("dir" => $_GET['var']))); } break; case 'copy': if ($_GET['var'] != "") { File::copyDirectory(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("folderView", array("dir" => $_GET['var']))); } break; case 'create': if ($_GET['var'] != "") { $exp = explode(":", $_GET['var']); switch ($exp['0']) { case 'f': File::makeFile(DIRECTORY . "/" . $exp[1]); break; case 'd': if ($exp[1] != 0 && $exp[1] != null) { File::makeDir(DIRECTORY . "/" . $exp[1], intval($exp[2])); } else { File::forceDirectory(DIRECTORY . "/" . $exp[1]); } } Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); } break; case 'jump': if ((string) $_GET['var'] != "") { $var = $_GET['var']; if (is_file($var)) { Others::redirect(URLm::url("fileView", array("filePath" => realpath($var)))); } elseif (is_dir($var)) { Others::redirect(URLm::url("folderView", array("dir" => realpath($var)))); } } break; case 'delete': if (DIRECTORY != realpath($_SERVER['DOCUMENT_ROOT'])) { File::deleteDirectory(DIRECTORY); } $dirName = explode("/", DIRECTORY); array_pop($dirName); $dirName = implode("/", $dirName); Others::redirect(URLm::url("folderView", array("dir" => $dirName))); break; case 'addFav': if ((string) $_GET['var'] != "") { DBLite::addFavorite($_GET['var'], DIRECTORY); } Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); break; case 'deleteFav': DBLite::deleteFavorite(DIRECTORY); Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); break; case 'compress': if ((string) $_GET['var'] != "") { $zip = new ZipArchive(); if (!$zip->open($_GET['var'], ZipArchive::OVERWRITE)) { Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); exit; } foreach (File::getFileList(DIRECTORY, array("method" => "explode")) as $File) { $FullPath = str_replace(dirname(DIRECTORY) . "/", "", $File); $zip->addFile($File, $FullPath); } $zip->addFromString("CreatedBy", "This zip file created by OOP File Manager\n\n\t- vtWebApp ®\n\t- veli.tasali@gmail.com"); $zip->close(); Others::redirect(URLm::url("fileView", array("filePath" => $_GET['var']))); } break; case 'iFile': $var = (string) $_REQUEST['var']; if ($var != "") { set_time_limit(5000); $url = parse_url($var); $fName = $url['path'] == "" ? $url['host'] . "_file_" . time() : $url['path']; $fName = preg_replace("/([^a-zA-Z0-9._-])/si", "", $fName); touch(DIRECTORY . "/" . $fName); // $write = fopen(DIRECTORY."/".$fName); $dt = fopen(urldecode($var), "rb"); if (is_file(DIRECTORY . "/" . $fName)) { fseek($dt, filesize(DIRECTORY . "/" . $fName)); } if ($dt) { while (!feof($dt)) { file_put_contents(DIRECTORY . "/" . $fName, fread($dt, 8192), FILE_APPEND); } fclose($dt); } // $source = Others::quickCurl(urldecode($var)); Others::redirect(URLm::url("fileView", array("filePath" => DIRECTORY . "/" . $fName))); } unset($var); } } if (DBLite::isFavorite(DIRECTORY)) { $Shortcuts = '<a href="' . URLm::url("proc", array("dir" => DIRECTORY, "procName" => "deleteFav")) . '">Fav. Çıkart</a>'; } else { $Shortcuts = '<a href="javascript:sendPrompt(\'Favori Adı Belirleyin\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "addFav")) . '\', {value: \'' . basename(DIRECTORY) . '\'});">Fav. Ekle</a>'; } $Shortcuts .= ' <a href="' . URLm::url("upload", array("dir" => DIRECTORY)) . '">Yükle</a> <a href="javascript:sendPrompt(\'Bir dosya belirtin.\\n* Kısır döngüleri önlemek için aynı klasörler ile çakıştırmayın\\n\\nDosya: /sdcard/Dosya.zip\\nSıkıştır: /sdcard \\nYukarıdaki gibi bir durum kısır döngüye yol açabilir\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "compress")) . '\', {value: \'' . DIRECTORY . '.zip' . '\'});">Sıkıştır</a> <a href="javascript:sendPrompt(\'Başka sunuculardan dosya indirin\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "iFile")) . '\', {value:\'http://\', urlEncode: true});">i-Dosya</a> <a href="javascript:sendPrompt(\'Şu Dosya Yoluna Atla\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "jump")) . '\', {value: \'' . DIRECTORY . '\', urlEncode: true});">Atla</a> <a href="javascript:checkConfirm(\'Bu klasörü silmek üzeresiniz\\n' . DIRECTORY . '\', \'' . URLm::url("proc", array("dir" => DIRECTORY, "procName" => "delete")) . '\');">Sil</a> <a href="javascript:sendPrompt(\'Kopyala\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "copy")) . '\', {value: \'' . DIRECTORY . '-Copy\', urlEncode: true});">Kopyala</a> <a href="javascript:sendPrompt(\'Taşı: \\nYeni tam klasör yolunu girin\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "move")) . '\', {value: \'' . DIRECTORY . '\', urlEncode: true});">Taşı</a> <a href="javascript:sendPrompt(\'f - Dosya , d - Klasör\\nÖrnek: f:dosya_adi\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "create")) . '\', {value: \'\'});">Oluştur</a> '; $favsRes = DBLite::query("SELECT * FROM `favorites`"); if (DBLite::querySingle("SELECT * FROM `favorites`", TRUE)) { $Favorites = null; while ($Favs = $favsRes->fetchArray()) { $Favorites .= Html::writef("DirListSC", array("dir" => $Favs['value'], "dirname" => $Favs['name'])); } } else { $Favorites = Html::export("NoFavMsg"); } Page::write("Top", array("Title" => "Klasör \"" . basename(DIRECTORY) . "\"", "CSSFile" => Settings::get("CSSFilePath"), "BodyTop" => Page::returnPage("Shortcuts", array("SiteName" => "FileManager v1.0", "ShortcutsLinks" => $Shortcuts, "Contents" => Html::writef("Title", array("Title" => "Aygıt Listesi")) . $Favorites . Html::writef("Title", array("Title" => "Disk Özeti")) . Html::writef("DirInfo", array("info" => "Toplam", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, TOTAL)))) . Html::writef("DirInfo", array("info" => "Kullanılan", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, USED)))) . Html::writef("DirInfo", array("info" => "Kullanılabilir", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, FREE)))) . Html::writef("DirInfo", array("info" => "Dol. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_USED)) . "%")) . Html::writef("DirInfo", array("info" => "Boş. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_FREE)) . "%")))))); $files = array(); $folders = array(); if (is_readable(DIRECTORY)) { $openDir = opendir(DIRECTORY); while ($Name = readdir($openDir)) { $fName = DIRECTORY . "/" . $Name; if ($Name == "." || $Name == "..") { continue; } if (is_file($fName)) { $files[] = $Name; } if (is_dir($fName)) { $folders[] = $Name; } } } $Counter = array("files" => count($files), "folders" => count($folders)); $Counter['total'] = $Counter['files'] + $Counter['folders']; if ($Counter['total'] == "") { Html::write("Info", "Bu klasörde içerik bulunmuyor"); } else { echo Html::writef("Title", array("Title" => basename(DIRECTORY) != "" ? strtoupper(basename(DIRECTORY)) : "İsim Yok")); } echo ' <script>Selector.PRO_FOLDER = "' . DIRECTORY . '";</script> <form name="multiProc" action="' . URLm::url("folderView", array("dir" => DIRECTORY)) . '" method="post"> <input type="hidden" name="variable" value="" /> <input type="hidden" name="procName" value="" /> <input type="hidden" name="filesArray" value="" /> '; if ($Counter['folders'] > 0) { sort($folders); foreach ($folders as $folder) { $fDir = DIRECTORY . "/" . $folder; Html::cloneObject("DirList", "currDirItem"); Html::editObject("currDirItem", array("id" => $folder), ARG); if (!is_readable($fDir)) { Html::editObject("currDirItem", array("onMouseOver" => "", "onMouseOut" => ""), ARG); } echo Html::writef("currDirItem", array("dir" => $fDir, "dirname" => $folder, "extras" => '<input type="checkbox" id="input' . $folder . '" name="selected" value="' . $folder . '" onClick="Selector.select(\'' . $folder . '\', Selector.SELECT_AUTO)"/> ')); } } if ($Counter['files'] > 0) { sort($files); foreach ($files as $file) { $fFile = DIRECTORY . "/" . $file; $fileSize = File::sizeExpression(fileSize($fFile)); $fileinfo = pathinfo($fFile); if (isset($fileinfo['extension']) && ($fileinfo['extension'] == "jpg" || $fileinfo['extension'] == "png" || $fileinfo['extension'] == "gif")) { Html::editObject("FileListImg", array("id" => $file), ARG); $isize = getimagesize($fFile); echo Html::writef("FileListImg", array("resolution" => $isize[0] . "x" . $isize[1], "img" => URLm::url("imgCache", array("file" => urlencode($fFile))), "size" => $fileSize, "filename" => $file, "filePath" => $fFile, "extras" => '<input type="checkbox" id="input' . $file . '" name="selected" value="' . $file . '" onClick="Selector.select(\'' . $file . '\', Selector.SELECT_AUTO)"/> ')); } else { Html::editObject("FileList", array("id" => $file), ARG); echo Html::writef("FileList", array("size" => $fileSize, "filename" => $file, "filePath" => $fFile, "extras" => '<input type="checkbox" id="input' . $file . '" name="selected" value="' . $file . '" onClick="Selector.select(\'' . $file . '\', Selector.SELECT_AUTO)"/> ')); } } } $NavigateDir = null; if (is_dir(DIRECTORY)) { if (DIRECTORY == "/") { $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => "/")) . '">/ {Kök} </a>'; } else { $directoryPath = File::pathListing(DIRECTORY); $countDP = 0; foreach ($directoryPath as $dP) { $dP[0] = $dP[0] == "" ? '<span style="color: green;">/</span>' : $dP[0]; $dP[1] = $dP[1] == "" ? '/' : $dP[1]; if ($countDP > 0) { $NavigateDir .= ' <b>></b> '; } $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => $dP[1])) . '">' . $dP[0] . '</a>'; $countDP++; } } } Page::write("Bottom", array("Extras" => '</form>', "DirNavigation" => $NavigateDir)); break; case 'file': define("DIRECTORY", !is_file($_GET['directory']) ? Others::redirect("?") : realpath(urldecode($_GET['directory']))); define("EDIRECTORY", urlencode(DIRECTORY)); $dirName = explode("/", DIRECTORY); array_pop($dirName); define("ODIRECTORY", implode("/", $dirName)); unset($dirName); define("FILEINODE", fileinode(DIRECTORY)); define("FILENAME", basename(DIRECTORY)); define("FILEBYTE", filesize(DIRECTORY)); define("FILECTIME", filectime(DIRECTORY)); define("FILEATIME", fileatime(DIRECTORY)); define("FILEOWNER", fileowner(DIRECTORY)); define("FILETYPE", strtolower(substr(strrchr(FILENAME, "."), 1))); if (isset($_GET['proc'])) { switch ($_GET['proc']) { case 'move': if ($_GET['var'] != "") { rename(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("fileView", array("filePath" => $_GET['var']))); } break; case 'copy': if ($_GET['var'] != "") { copy(DIRECTORY, $_GET['var']); Others::redirect(URLm::url("fileView", array("filePath" => $_GET['var']))); } break; case 'delete': unlink(DIRECTORY); Others::redirect(URLm::url("folderView", array("dir" => ODIRECTORY))); break; case 'download': Others::redirect(URLm::url("imgCache", array("file" => DIRECTORY))); break; case 'makeApart': if ($_GET['var'] != "") { $currentKB = FILEBYTE / 1024; $var = (int) $_GET['var']; if ($currentKB > $var && $var > 1) { $parts = array(); $dt = fopen(DIRECTORY, "rd"); $partInfoFile = DIRECTORY . ".partInfo"; touch($partInfoFile); file_put_contents($partInfoFile, "Aparted file notifier. Use this file when unaparting"); for ($i = 0; $i < $currentKB; $i += $var) { if ($i + $var > $currentKB) { $parts[] = $currentKB * 1024; } else { $parts[] = ($i + $var) * 1024; } } foreach ($parts as $pNum => $currSize) { $partFile = DIRECTORY . ".part" . $pNum; touch($partFile); if ($dt) { while (ftell($dt) <= $currSize && !feof($dt)) { file_put_contents($partFile, fread($dt, 8192), FILE_APPEND); } } } fclose($dt); } Others::redirect(URLm::url("fileView", array("filePath" => $partInfoFile))); } break; case 'unapart': $fileInfo = pathinfo(DIRECTORY); $pref = $fileInfo['dirname'] . "/" . $fileInfo['filename']; $presearch = glob($pref . ".part*"); if (is_file($pref)) { rename($pref, $pref . "_moved"); } else { touch($pref); } for ($i = 0; $i <= count($presearch); $i++) { $tf = $pref . ".part" . $i; if (!is_file($tf)) { break; } $dt = fopen($tf, "rd"); if ($dt) { while (!feof($dt)) { file_put_contents($pref, fread($dt, 8192), FILE_APPEND); } fclose($dt); } } Others::redirect(URLm::url("fileView", array("filePath" => $pref))); break; case 'deleteParts': $fileInfo = pathinfo(DIRECTORY); $pref = $fileInfo['dirname'] . "/" . $fileInfo['filename'] . ".part"; $presearch = glob($pref . "*"); foreach ($presearch as $path) { if (is_file($path)) { @unlink($path); } } Others::redirect(URLm::url("folderView", array("dir" => ODIRECTORY))); break; case 'uncompress': if ($_GET['var'] != "" && is_dir($_GET['var'])) { $Zip = new ZipArchive(); $isZip = $Zip->open(DIRECTORY); if ($isZip) { $l = $Zip->extractTo(realpath($_GET['var'])); if ($l) { Others::redirect(URLm::url("folderView", array("dir" => $_GET['var']))); } } } } } $Shortcuts = ' <a href="javascript:sendPrompt(\'Şu Dosya Yoluna Atla\', \'' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "jump")) . '\', {value: \'' . DIRECTORY . '\'});">Atla</a> <a href="javascript:checkConfirm(\'Bu dosyayı silmek üzeresiniz\\n' . DIRECTORY . '\', \'' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "delete")) . '\');">Sil</a> <a href="javascript:sendPrompt(\'Kopyala\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "copy")) . '\', {value: \'' . DIRECTORY . '-Copy\'});">Kopyala</a> <a href="javascript:sendPrompt(\'Taşı: \\nYeni tam dosya yolunu girin\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "move")) . '\', {value: \'' . DIRECTORY . '\'});">Taşı</a> <a href="' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "download")) . '">İndir</a> <a href="#" onClick="window.open(\'' . URLm::url("fileEditor", array("file" => DIRECTORY)) . '\');">Düzenle</a> <a href="javascript:sendPrompt(\'Dosyayı parçalara ayırın (kB cinsinden boyut girin)\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "makeApart")) . '\', {value: \'20000\'});">Ayır</a> '; if (FILETYPE == "zip") { $Shortcuts .= ' <a href="javascript:sendPrompt(\'Klasöre Çıkart\', \'' . URLm::url("procFileVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "uncompress")) . '\', {value: \'' . DIRECTORY . '\'});">Çıkart</a> '; } if (FILETYPE == "partinfo") { $Shortcuts .= ' <a href="' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "unapart")) . '">Birleştir</a> <a href="javascript:checkConfirm(\'Parçalanmış dosyayı parçaları ile birlikte silmek üzeresiniz\', \'' . URLm::url("procFile", array("dir" => DIRECTORY, "procName" => "deleteParts")) . '\');">Parçaları Sil</a> '; } $favsRes = DBLite::query("SELECT * FROM `favorites`"); $Favorites = null; if (DBLite::querySingle("SELECT * FROM `favorites`", TRUE)) { while ($Favs = $favsRes->fetchArray()) { $Favorites .= Html::writef("DirListSC", array("dir" => $Favs['value'], "dirname" => $Favs['name'])); } } else { $Favorites = Html::export("NoFavMsg"); } Page::write("Top", array("Title" => "Dosya \"" . FILENAME . "\"", "CSSFile" => Settings::get("CSSFilePath"), "BodyTop" => Page::returnPage("Shortcuts", array("SiteName" => "Dosyayı Görüntüle", "ShortcutsLinks" => $Shortcuts, "Contents" => Html::writef("Title", array("Title" => "Aygıt Listesi")) . $Favorites . Html::writef("Title", array("Title" => "Disk Özeti")) . Html::writef("DirInfo", array("info" => "Toplam", "value" => File::sizeExpression(File::diskSpace(ODIRECTORY, TOTAL)))) . Html::writef("DirInfo", array("info" => "Kullanılan", "value" => File::sizeExpression(File::diskSpace(ODIRECTORY, USED)))) . Html::writef("DirInfo", array("info" => "Kullanılabilir", "value" => File::sizeExpression(File::diskSpace(ODIRECTORY, FREE)))) . Html::writef("DirInfo", array("info" => "Dol. Oranı", "value" => ceil(File::diskSpace(ODIRECTORY, PER_USED)) . "%")) . Html::writef("DirInfo", array("info" => "Boş. Oranı", "value" => ceil(File::diskSpace(ODIRECTORY, PER_FREE)) . "%")))))); if (is_file(DIRECTORY)) { if (DIRECTORY == "/") { $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => "/")) . '">/ {Kök} </a>'; } else { $directoryPath = File::pathListing(DIRECTORY); $countDP = 0; $NavigateDir = null; foreach ($directoryPath as $dP) { $dP[0] = $dP[0] == "" ? '<span style="color: green;">/</span>' : $dP[0]; $dP[1] = $dP[1] == "" ? '/' : $dP[1]; if ($countDP > 0) { $NavigateDir .= ' <b>></b> '; } $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => $dP[1])) . '">' . $dP[0] . '</a>'; $countDP++; } } } if (FILETYPE == "partinfo") { echo Html::write("Info", "Parçalanmış Dosya Bilgi Dosyası (*.partInfo)"); } echo Html::writef("Title", array("Title" => basename(DIRECTORY) != "" ? strtoupper(basename(DIRECTORY)) : "İsim Yok")); echo Html::writef("FileInfo", array("info" => "Dosya Boyutu", "value" => File::sizeExpression(FILEBYTE))); echo Html::writef("FileInfo", array("info" => "Değiştirilme Tarihi", "value" => date("Y/m/d H:i", FILECTIME))); echo Html::writef("FileInfo", array("info" => "Son Erişim Tarihi", "value" => date("Y/m/d H:i", FILEATIME))); echo Html::writef("FileInfo", array("info" => "Düğüm Numarası", "value" => FILEINODE)); echo Html::writef("FileInfo", array("info" => "Dosya Sahibi", "value" => FILEOWNER)); if (FILETYPE == "partinfo") { $fileInfo = pathinfo(DIRECTORY); $pref = $fileInfo['dirname'] . "/" . $fileInfo['filename']; $presearch = glob($pref . ".part*"); Html::cloneObject("List", "FileM"); Html::editObject("FileM", array(), '<a href="%eval{return URLm::url("fileView", array("filePath" => "%{file}%"));}%">%{(basename)file}% </a> <small>%{size}%</small>'); if (count($presearch) > 0) { echo "<br />\n" . Html::writef("Title", array("Title" => "İlişkili Olabilecek Dosyalar")); foreach ($presearch as $fid) { echo Html::writef("FileM", array("file" => $fid, "size" => filesize($fid) . " B")); } } } if (FILEBYTE < 102400 && (FILETYPE == "php" || FILETYPE == "txt" || FILETYPE == "html" || FILETYPE == "js" || FILETYPE == "xml" || FILETYPE == "dump")) { echo Html::writef("List", array("Content" => str_replace(array("\n", "\t"), array('<br />', " "), String::escapeHTML(file_get_contents(DIRECTORY))))); } if (FILETYPE == "jpg" || FILETYPE == "png" || FILETYPE == "gif") { Html::cloneObject("List", "Img"); Html::editObject("Img", array("style" => "text-align: center;"), '<img src="%{img}%" style="width: 250px;" /> '); echo Html::writef("Img", array("img" => URLm::url("imgCache", array("file" => DIRECTORY)))); } if (FILETYPE == "mp3" || FILETYPE == "m4a" || FILETYPE == "aac" || FILETYPE == "ogg") { Html::cloneObject("List", "MP3"); Html::editObject("MP3", array("style" => "text-align: center;"), '<audio style="width: 90%;" controls> <source src="%{src}%"> </audio> '); echo Html::writef("MP3", array("src" => URLm::url("imgCache", array("file" => DIRECTORY)))); } if (FILETYPE == "mp4" || FILETYPE == "avi" || FILETYPE == "m4a") { Html::cloneObject("List", "VideoArea"); Html::editObject("VideoArea", array("style" => "text-align: center;"), '<video style="width: 90%;" controls> <source src="%{src}%"> </video> '); echo Html::writef("VideoArea", array("src" => URLm::url("imgCache", array("file" => DIRECTORY)))); } Page::write("Bottom", array("DirNavigation" => $NavigateDir)); break; case 'upload': define("DIRECTORY", !is_dir($_GET['directory']) ? Others::redirect("?") : realpath($_GET['directory'])); // define ( "DIRECTORY", ((! is_dir ( $_GET ['directory'] )) ? realpath ( $_SERVER ['DOCUMENT_ROOT'] ) : realpath ( $_GET ['directory'] )) ); define("EDIRECTORY", urlencode(DIRECTORY)); $Shortcuts = ' <a href="' . URLm::url("folderView", array("dir" => DIRECTORY)) . '">Geri Dön</a> <a href="javascript:alert(\'Yükleyeceğiniz dosyayı seçin. Ardından yükle butonuna basın ve sabırlı olun dosya yüklendikten sonra yönlendirileceksiniz\');">Nasıl Yüklerim?</a> '; $favsRes = DBLite::query("SELECT * FROM `favorites`"); $Favorites = null; if (DBLite::querySingle("SELECT * FROM `favorites`", TRUE)) { while ($Favs = $favsRes->fetchArray()) { $Favorites .= Html::writef("DirListSC", array("dir" => $Favs['value'], "dirname" => $Favs['name'])); } } else { $Favorites = Html::export("NoFavMsg"); } if (isset($_FILES['file'])) { $baseName = str_replace(array("\"", "'", "{", "}", "^", "<", ">"), "", $_FILES['file']['name']); $tp = DIRECTORY . "/" . $baseName; if (is_file($tp)) { rename($tp, $tp . "_old"); } move_uploaded_file($_FILES['file']['tmp_name'], $tp); Others::redirect(URLm::url("folderView", array("dir" => DIRECTORY))); } Page::write("Top", array("Title" => "Klasör.Upload \"" . basename(DIRECTORY) . "\"", "CSSFile" => Settings::get("CSSFilePath"), "BodyTop" => Page::returnPage("Shortcuts", array("SiteName" => "FileManager.Upload", "ShortcutsLinks" => $Shortcuts, "Contents" => Html::writef("Title", array("Title" => "Aygıt Listesi")) . $Favorites . Html::writef("Title", array("Title" => "Disk Özeti")) . Html::writef("DirInfo", array("info" => "Toplam", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, TOTAL)))) . Html::writef("DirInfo", array("info" => "Kullanılan", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, USED)))) . Html::writef("DirInfo", array("info" => "Kullanılabilir", "value" => File::sizeExpression(File::diskSpace(DIRECTORY, FREE)))) . Html::writef("DirInfo", array("info" => "Dol. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_USED)) . "%")) . Html::writef("DirInfo", array("info" => "Boş. Oranı", "value" => ceil(File::diskSpace(DIRECTORY, PER_FREE)) . "%")))))); echo Html::writef("Title", array("Title" => "Dosya Yükleyin")) . ' <form enctype="multipart/form-data" action="' . URLm::url("upload", array("dir" => DIRECTORY)) . '" method="POST"> ' . Html::export("List", ' <input name="file" type="file" style="width: 80%; margin-bottom: 8px;" /> ', array("style" => "text-align: center;")) . Html::writef("ListSubmit", array("Content" => ' <input type="submit" value="Yükle" /> ')) . ' </form> <br /> ' . Html::writef("Title", array("Title" => "i-Dosya ile Karşı Sunucudan Yükle")) . ' <form enctype="multipart/form-data" action="' . URLm::url("procVar", array("dir" => DIRECTORY, "variable" => "%s", "procName" => "iFile")) . '" method="POST"> ' . Html::export("List", ' <input name="var" type="text" style="width: 80%; margin-bottom: 8px;" value="http://" /> ', array("style" => "text-align: center;")) . Html::writef("ListSubmit", array("Content" => ' <input type="submit" value="Bağlan ve İndir" /> ')) . ' </form> '; $NavigateDir = null; if (is_dir(DIRECTORY)) { if (DIRECTORY == "/") { $NavigateDir = '<a href="' . URLy::url("folderView", array("dir" => "/")) . '">/ {Kök} </a>'; } else { $directoryPath = File::pathListing(DIRECTORY); $countDP = 0; foreach ($directoryPath as $dP) { $dP[0] = $dP[0] == "" ? '<span style="color: green;">/</span>' : $dP[0]; $dP[1] = $dP[1] == "" ? '/' : $dP[1]; if ($countDP > 0) { $NavigateDir .= ' <b>></b> '; } $NavigateDir .= '<a href="' . URLm::url("folderView", array("dir" => $dP[1])) . '">' . $dP[0] . '</a>'; $countDP++; } } } Page::write("Bottom", array("DirNavigation" => $NavigateDir)); } }