* * Owl Ultra Lite * * Copyright (c) 2005-2006 Bozz IT Consulting Inc * Licensed under the GNU GPL. For full terms see http://www.gnu.org/licenses/licenses.html#TOCGPL * */ require_once(dirname(__FILE__) . "/config/owl.php"); require_once($default->root_fs . "/lib/owlulite.lib.php"); import_request_variables('pgc'); global $owl_lang; if ($default->owl_read_only == 1) { $default->permit_file_delete = 0; $default->permit_folder_rename = 0; $default->permit_folder_delete = 0; $default->permit_folder_creation = 0; } //$default->permit_folder_rename = 0; //$default->permit_folder_delete = 0; if(isset($btn_browse)) { header("Location: $default->root_url" . "/index.php"); exit; } if ($default->permit_file_delete or $default->permit_folder_delete or $default->permit_folder_rename) { $iActionColumn = 1; } else { $iActionColumn = 0; } $iNumberOfOptionalColumns = $default->display_permissions + $default->display_size + $default->display_last_modified + $iActionColumn; $sid = $_REQUEST['sid']; if (!isset($folder) || $folder == "" or $folder == "/" or $folder == "." or $folder == "..") { if ($default->use_progress_bar == 1 and empty($sid)) { $default->root_folder = $default->root_folder . "/" . $sRootFolderName; $sRecyclePath = $sRootFolderName; $folder = $sRootFolderName; } elseif ($default->use_progress_bar == 0) { $default->root_folder = $default->root_folder . "/" . $sRootFolderName; $sRecyclePath = $sRootFolderName; $folder = $sRootFolderName; } } else { $folder = ereg_replace("\.\.","",$folder); $default->root_folder .= "/" . $folder; $sRecyclePath = $folder; } if ($default->use_progress_bar == 1 and $sid) { $qstr = join("",file("/tmp/{$sid}_qstring")); unlink("/tmp/{$sid}_qstring"); parse_str($qstr); $_FILES['file']['name'] = $file['name'][0]; $_FILES['file']['size'] = $file['size'][0]; $_FILES['file']['tmp_name'] = $file['tmp_name'][0]; $default->root_folder .= "/" . $folder; $sRecyclePath = $folder; } if ($default->owl_read_only == 0 and isset($btn_trash_can)) { header("Location: recycle.php"); exit; } if(isset($btn_add_file)) { $sMessage = ""; switch ($_FILES['file']['error']) { case 0: $bPermitFile = true; break; case 1: $bPermitFile = false; $sMessage = $owl_lang->err_upload_max_filesize; break; case 2: $bPermitFile = false; $sMessage = $owl_lang->err_max_file_sise; break; case 3: $bPermitFile = false; $sMessage = $owl_lang->err_partial_upload; break; case 4: if (empty($new_folder)) { $sMessage = $owl_lang->err_no_file_uploaded; } $bPermitFile = false; break; case 6: $bPermitFile = false; $sMessage = $owl_lang->err_missing_tmp_folder; break; case 7: $bPermitFile = false; $sMessage = $owl_lang->err_failed_writting_to_disk; break; default: $bPermitFile = false; $sMessage = $owl_lang->err_unknown_exception; break; } if (isset($default->upload_permit_ext)) { $file_extension = fFindFileExtension ( $_FILES['file']['name']); foreach ($default->upload_permit_ext as $permit) { if ($file_extension == $permit) { $bPermitFile = true; break; } else { $bPermitFile = false; } } if($bPermitFile === false) { $sMessage = $owl_lang->err_not_valid_file_type; } } if ($bPermitFile === true) { $ftmp = $_FILES['file']['tmp_name']; $fname = $default->root_folder . "/" . $_FILES['file']['name']; if ($default->use_progress_bar == 1 and $sid) { rename($ftmp, $fname); } else { move_uploaded_file($ftmp, $fname); } chmod($fname,$default->file_permission); } if (!empty($new_folder) and $default->permit_folder_creation == 1) { $new_folder = ereg_replace("\.\.","",$new_folder); $sNewFolder = $default->root_folder . "/" . $new_folder; mkdir($sNewFolder, $default->directory_mask); } } if(isset($download)) { $fspath = $default->root_folder . "/" . $download; $aFileName = explode('/', $download); if (count($aFileName) > 1) { $download = $aFileName[ count($aFileName) - 1]; } else { $download = $aFileName[0]; } if(file_exists($fspath)) { $fsize = filesize($fspath); header( 'Pragma: ' ); header( 'Cache-Control: ' ); header( 'Content-Type: application/octet-stream' ); header( 'Content-Disposition: attachment; filename="' . $download . '"' ); header("Content-Length: $fsize"); header("Expires: 0"); if (substr(php_uname(), 0, 7) != "Windows") { $fp = fopen("$fspath", "r"); } else { $fp = fopen("$fspath", "rb"); } fpassthru($fp); exit(); } else { $sMessage = $owl_lang->err_file_not_accessible; } } if(isset($delete_file) and $default->permit_file_delete == 1) { $fspath = $default->root_folder . "/" . $delete_file; $aFileName = explode('/', $delete_file); if (count($aFileName) > 1) { $iPathCount = count($aFileName) - 1; for ($i = 0; $i < $iPathCount; $i++) { $sTrash .= "/" . $aFileName[$i]; } $sTrash = substr($sTrash, 1); } else { $sTrash = ""; } if(file_exists($fspath)) { if ($default->collect_trash == 1) { $sTrashDir = explode('/', $sTrash); $sCreatePath = $default->trash_can_location . "/" . $folder; if (!file_exists($sCreatePath)) { mkdir("$sCreatePath", $default->directory_mask); } foreach($sTrashDir as $sDir) { $sCreatePath .= "/" . $sDir; if (!file_exists($sCreatePath)) { mkdir("$sCreatePath", $default->directory_mask); } } copy($fspath, $default->trash_can_location . "/" . $folder . "/" . $delete_file); } unlink($fspath); } else { $sMessage = $owl_lang->err_file_not_accessible; } } include("lib/header.inc"); include("lib/userheader.inc"); if (!file_exists($default->root_folder)) { exit("$owl_lang->err_root_does_not_exists $default->root_folder"); } if ($default->use_progress_bar == 1) { $sid = md5(uniqid(rand())); print("