<?php
session_start(); ?>
<!--PHTP 2.0 Beta 1 version, by Antoine_935, for PHP
This file may be distributed under the terms of the Genreal Public License
This software comes with absolutely no warranty
Join the community at www.phtp.be
-->
<?php
require("config.php");
require("language/$lang/lang-queue.php");
function ftp_is_dir($ftp, $dir) {
if(@ftp_chdir($ftp, "$dir/")) {
ftp_cdup($ftp);
return TRUE;
}
else
return FALSE;
}
@ob_start("ob_gzhandler");
if(!empty($submit)) {
if($ftp_curdir!="/") $ftp_curdir.="/";
switch ($mod) {
case "topc" :
case "del" :
$filequeue = array();
$dirqueue = array();
$expqueue = $distant;
$ftp = ftp_connect($host);
ftp_login($ftp, $user, $pwd);
ftp_pasv($ftp, TRUE);
ftp_chdir($ftp, "/");
if(!empty($expqueue)) {
while ($item = array_shift($expqueue)) {
ftp_chdir($ftp, $ftp_curdir);
$dirlist = explode("/", $item);
$item = array_pop($dirlist);
array_shift($dirlist);
if(!empty($dirlist)) {
ftp_chdir($ftp, "/".implode("/", $dirlist)."/");
}
$ftp_active = ftp_pwd($ftp);
if($ftp_active!="/") $ftp_active.= "/";
if(!ftp_is_dir($ftp, $item))
array_push($filequeue, $ftp_active.$item);
else {
array_push($dirqueue, $ftp_active.$item);
$filelist = ftp_nlist($ftp, $item);
if(!empty($filelist)) {
foreach ($filelist as $fileitem) {
array_push($expqueue, $ftp_active.$fileitem);
}
}
}
}
break;
}
}
switch($mod) {
case "empty" :
$queue = array();
break;
case "remove" :
unset($queue[$id]);
break;
case "up" :
$trans = $queue[($id-1)];
$queue[($id-1)] = $queue[$id];
$queue[$id] = $trans;
break;
case "toftp" :
if(!empty($local)) {
foreach($local as $file) {
if(is_file("$rootdir/$file"))
array_push($queue, array($file, @filesize("$rootdir/$file"), "Upload", $ftp_curdir));
}
}
break;
case "topc" :
if(!empty($distant)) {
foreach($filequeue as $fileitem) {
array_push($queue, array($fileitem, "", "Down."));
}
/*foreach($distant as $file) {
array_push($queue, array($ftp_curdir.$file, "", "Down."));
}*/
}
break;
case "del" :
if(!empty($distant)) {
foreach($filequeue as $fileitem) {
array_push($queue, array($fileitem, "", "Delete", "file"));
}
$dirqueue = array_reverse($dirqueue);
foreach($dirqueue as $dir) {
array_push($queue, array($dir, "", "Delete", "directory"));
}
/*foreach($distant as $file) {
array_push($queue, array($ftp_curdir.$file, "", "Delete", "file"));
}*/
}
break;
case "newdir" :
if($directdir=="on") {
$ftp = ftp_connect($host);
ftp_login($ftp, $user, $pwd);
ftp_pasv($ftp, TRUE);
if(!@ftp_chdir($ftp, $ftp_curdir)||!@ftp_mkdir($ftp, $param))
$alert= $unabledirectory;
}
else {
if($param!="") {
array_push($queue, array($param, "", "Mkdir.", $ftp_curdir));
$script = "opener.window.location='reload.php?page=ftp_index';";
}
}
break;
case "rename" :
if(!empty($distant)&&$param!="") {
array_push($queue, array($ftp_curdir.$distant[0], "", "Rename", $ftp_curdir.$param));
}
break;
}
}
?>
<html><head>
<?php if(isset($script)) { ?>
<script language="javascript">
<?php echo $script; ?>
</script>
<?php } ?>
<?php if(isset($alert)) { ?>
<script language="javascript">
alert(<?php echo "\"$alert\""; ?>);
</script>
<?php } ?>
<meta http-equiv="Refresh" content="<?php echo $queuedelay; ?>;URL=queue.php">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td width="50%" bgcolor="#CCCCCC"><?php echo $listname; ?></td><td width="15%"><?php echo $listsize; ?></td><td width="15%" bgcolor="#CCCCCC"><?php echo $listaction; ?></td><td width="15%">Option</td><td width="5%" align="right"> </td><td width="5%"> </td></tr>
<tr><td colspan="4" height="2" bgcolor="#000000"></td></tr>
<?php
while (list ($key, $queueitem) = each($queue)) {
if(strlen($queueitem[0]) > 100) {
$name = "...".substr($queueitem[0], -98);
}
else $name = $queueitem[0];
print("<tr><td bgcolor=\"#CCCCCC\">$name</td><td>$queueitem[1]</td>\n<td bgcolor=\"#CCCCCC\">$queueitem[2]</td><td>");
if(isset($queueitem[3]))
print("$queueitem[3]</td>\n");
else
print("$nooption</td>\n");
print("<td style=\"text-align: left;\"><a href=\"queue.php?submit=1&mod=remove&id=$key\"><img src=\"trash.png\" style=\"border:0px none;\"></a>\n");
if($key!=0)
print("<a href=\"queue.php?submit=1&mod=up&id=$key\"><img src=\"up.png\" style=\"border:0px none;\"></a>");
print("</td></tr>\n");
}
?>
<a name="end"></a>
<script language="javascript">
window.location="#end";
</script>
</table>
</body></html>
<?php flush(); ?>