".$activepath[$i]."/"; } // ****************************************************************** // generate subfolders listing // ****************************************************************** $subfolders = ""; @chdir($activedir); $handle=opendir('.'); while ($folder = readdir($handle)) { if(is_dir($folder)) { $dirlist[] = $folder; } } closedir($handle); asort($dirlist); while (list ($key, $folder) = each ($dirlist)) { if (($folder != "..") && ($folder != ".") && ($folder != "_vti_cnf")) { $cc++; $cell_color = $settings[odd_row]; $cc % 2 ? 0 : $cell_color = $settings[even_row]; $subfolders .= ""; $subfolders .= " ".$folder.""; $subfolders .= "DIR"; if($safemode == "OFF") { if(is_writable($folder)) { $wc = "".$lang[writable].""; } else { $wc = "".$lang[read_only].""; } } else { $perms = base_convert(fileperms($folder), 10, 8); $wc = substr($perms, (strlen($perms) - 3)); $wc = "0".$wc; } $subfolders .= "".$wc.""; $lm = date($settings[time_format],(filemtime($folder)+($settings[time_difference]*3600))); $subfolders .= "".$lm.""; $subfolders .= " "; $subfolders .= ""; $countfolders++; } } // ****************************************************************** // generate files listing // ****************************************************************** $z = 0; // checking if any files were found $subfiles = ""; $handle=opendir('.'); while ($file = readdir($handle)) { if(is_file($file)) { $filelist[] = $file; $z++; } } closedir($handle); if($z>0) { asort($filelist); while (list ($key, $file) = each($filelist)) { if(ereg(".(".$settings[acceptable_extensions].")", $file)) { if ($file != "." && $file != ".." && (!is_dir($file))) { $cc++; $cell_color = $settings[odd_row]; $cc % 2 ? 0 : $cell_color = $settings[even_row]; $subfiles .= ""; $subfiles .= " ".$file.""; $fs = number_format((filesize($file)/1024),2); $subfiles .= "".$fs." kB "; if($safemode == "OFF") { if(is_writable($file)) { $wc = "".$lang[writable].""; $editable = 1; } else { $wc = "".$lang[read_only].""; $editable = 0; } } else { $perms = base_convert(fileperms($file), 10, 8); $wc = substr($perms, (strlen($perms) - 3)); if($wc == "666" || $wc == "777") { $editable = 1; } else { $editable = 0; } $wc = "0".$wc; } $subfiles .= "".$wc.""; $lm = date($settings[time_format],(filemtime($file)+($settings[time_difference]*3600))); $subfiles .= "".$lm.""; $subfiles .= ""; if($editable == 1) { $subfiles .= "".$lang[edit]."  |  ".$lang[delete].""; } else { $subfiles .= " "; } $subfiles .= ""; $countfiles++; } } } } $folderstats = str_replace("[d]",$countfolders,$lang[dir_contains]); $folderstats = str_replace("[f]",$countfiles,$folderstats); // ****************************************************************** // upload new file // ****************************************************************** if(isset($HTTP_POST_VARS["upload_file"])) { $error = 0; $new_filename = $HTTP_POST_FILES[filename][name]; @chdir($activedir); //file selection check if ($new_filename == "") { $error++; $status = "".$lang[error].": ".$lang[no_filename].""; } // file size check if ($HTTP_POST_FILES[filename][size] > $settings[max_file_size]) { $error++; $status = "".$lang[error].": ".$lang[alert_file_oversize].""; } // image file type check against image file type array from config file $filename_ext = strrchr($new_filename,"."); $filename_ext = str_replace(".","",$filename_ext); $approved_ext = explode("|",$settings[acceptable_extensions]); $z = 0; for($x=0; $x< count($approved_ext); $x++) { if($approved_ext[$x] == $filename_ext) { $z++; } } if ($z == 0) { $error++; } $status = "".$lang[error].": ".$lang[alert_file_unaproved]." "; //check if file already exists if (file_exists($new_filename) != FALSE ) { $error++; $status = "".$lang[error].": ".$lang[alert_file_exists].""; } if($error == 0) { if (!copy($HTTP_POST_FILES[filename][tmp_name], $new_filename) != FALSE ) { $status = "".$lang[error].": ".$lang[alert_no_dir].""; } else { $back_path = $PHP_SELF."?activedir=".$activedir; header("location:".$back_path); } } } // ****************************************************************** // create new folder // ****************************************************************** if(isset($HTTP_POST_VARS[new_folder])) { // folder name check for those with disabled javascript if($HTTP_POST_VARS[foldername] != "") { @chdir($activedir); $dirName = $HTTP_POST_VARS[foldername]; // check for duplicate folder name if(file_exists($dirName) == FALSE ) { if(mkdir($dirName, 0777)) { chmod($dirName, 0777); $back_path = $PHP_SELF."?activedir=".$activedir; header("location:".$back_path); } else { $status = "Error: cannot create directory ".$dirName; } } else { $status = "".$lang[error].": ".$lang[no_folder]." ".$dirName.", ".$lang[folder_exists].""; $get_foldername = $dirName; } } else { $status = "".$lang[error].": ".$lang[no_folder]." ".$dirName." ".$lang[no_folder_desc]."."; } } // ****************************************************************** // create new file // ****************************************************************** if(isset($HTTP_POST_VARS[new_file])) { // file name check for those with disabled javascript if($HTTP_POST_VARS[filename] != "") { @chdir($activedir); $fileName = $HTTP_POST_VARS[filename]; // check for duplicate folder name if(file_exists($fileName) == FALSE ) { $fp = fopen($fileName, "w"); fclose($fp); chmod($fileName, 0777); $back_path = $PHP_SELF."?activedir=".$activedir; header("location:".$back_path); } else { $status = "".$lang[error].": ".$lang[cannot_create_file]." ".$fileName.", ".$lang[file_already_exists].""; $get_filename = $fileName; } } else { $status = "".$lang[error].": ".$lang[no_filename]."."; } } // ****************************************************************** // delete file // ****************************************************************** if(isset($HTTP_GET_VARS[del]) && ($HTTP_GET_VARS[del] == 1)) { $fileName = $HTTP_GET_VARS[filename]; @chdir($activedir); if(file_exists($fileName) == FALSE ) { $status = "".$lang[error].": ".$lang[cannot_del_file]." ".$fileName.", ".$lang[file_doesnt_exist].""; } else { unlink($fileName); $back_path = $PHP_SELF."?activedir=".$activedir; header("location:".$back_path); } } // find how deep we are and move base_dir back to root $level = substr_count($activedir,"/"); $to_the_root = ""; for($x = 0; $x < $level; $x++) { $to_the_root .= "../"; } @chdir($to_the_root); ?>