File "queue.php"

Full Path: /home/analogde/www/Administratif/FTP/filechange/queue.php
File size: 4.53 KB
MIME-type: text/x-php
Charset: utf-8

<?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">&nbsp;</td><td width="5%">&nbsp;</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(); ?>