File "action.php"

Full Path: /home/analogde/www/Administratif/FTP/filechange/action.php
File size: 4.82 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-->
<?php
require("config.php");
require("language/$lang/lang-action.php");
ob_implicit_flush();
function getmicrotime() {
	$mtime = microtime();
	$mtime = explode (" ", $mtime);
	$mtime = $mtime[1] + $mtime[0];
	return $mtime;
}

$cur_queue = $queue;
$queue = array();
$tottime = getmicrotime();
$count = 0;
?><html><head>
<meta http-equiv="Refresh" content="<?php echo $actiondelay; ?>;URL=noaction.html">
<title>PHTP</title>
</head>
<body>
<table border="1" bordercolor="#0000CC" bgcolor="#FFFFFF" cellspacing="0" cellpadding="5" width="100%">
<tr style="color: #000000;" bgcolor="#CCCCCC"><td width="60%"><b>Current action</b></td><td width="20%"><b>Status</b></td><td width="20%">&nbsp;</td></tR>
<?php
$errormsg ="";
print("<tr><td>$connecting $host...</td>");
if($ftp = @ftp_connect($host)) 
{
	print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td></td></tr>\n<tr><td>$authenticating</td>");
	if(@ftp_login($ftp, $user, $pwd))
	{
		print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td></td></tr>\n<tr><td>$passive</td>");
		if(@ftp_pasv($ftp, TRUE)) $ok=1;
		if(isset($ok)) {
			print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td></td></tr>\n");
			while(list (, $item) = each($cur_queue)) {
			switch ($item[2]) {
				case "Upload" : ftp_chdir($ftp, $ftp_dir);
					print("<tr><td>$uploading <b>$item[0]</b></td>");
					$size = @filesize("$rootdir/$item[0]");
					$starttime = getmicrotime();
					ftp_chdir($ftp, $item[3]);
					if(is_file("$rootdir/$item[0]")&&@ftp_put($ftp, "$item[0]", "$rootdir/$item[0]", FTP_BINARY)) {
					$endtime = getmicrotime();
					$curtime = $endtime - $starttime;
					$bitrate = (($size/$curtime)/1000);
					$bitrate = number_format($bitrate, 2);
					$count++;
					print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td><b>$bitrate $speedunit</b></td></tr>\n");
					array_shift($queue);
					}
					else
					{
						print("<td><font color=\"#CC0000\"><b>FAILURE</b></font></td></td></tr>\n");
						array_unshift($queue, $item);
					}
				break;
				case "Down." :
					print("<tr><td>$downloading <b>$item[0]</b></td>");
					$dirlist = explode("/", $item[0]);
					if($incpath =="on")
					$name = implode("-|-", $dirlist);
					else
					$name = array_pop($dirlist);
					$starttime = getmicrotime();
					if(@ftp_get($ftp, "$rootdir/$name", "$item[0]", FTP_BINARY)) {
					$size = @filesize("$rootdir/$name");
					$endtime = getmicrotime();
					$curtime = $endtime - $starttime;
					$bitrate = (($size/$curtime)/1000);
					$bitrate = number_format($bitrate, 2);
					print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td><b>$bitrate Kb/s</b></td></tr>\n");
					}
					else {
					print("<td><font color=\"#CC0000\"><b>FAILURE</b></font></td><td></td></tr>\n");
					array_unshift($queue, $item);
					}
				break;
				case "Delete" :
				switch($item[3]) {
				case "file" :
					print("<tr><td>$deleting <b>$item[0]</b></td>");
					if(@ftp_delete($ftp, $item[0]))
					print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td>&nbsp;</td></tr>\n");
					else
					print("<td><font color=\"#CC0000\"><b>FAILURE</b></font></td><td>&nbsp;</td></tr>\n");
				break;
				case "directory" :
					print("<tr><td>$deleting $directory <b>$item[0]</b></td>");
					if(@ftp_rmdir($ftp, $item[0]))
					print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td>&nbsp;</td></tr>\n");
					else
					print("<td><font color=\"#CC0000\"><b>FAILURE</b></font></td><td>&nbsp;</td></tr>\n");
				break;
				}
				break;
				case "Rename" : 
					print("<tr><td>$changename <b>$item[0]</b> into <b>$item[3]</b></td>");
					if(ftp_rename($ftp, $item[0], $item[3]))
					print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td>&nbsp;</td></tr>\n");
					else
					print("<td><font color=\"#CC0000\"><b>FAILURE</b></font></td><td>&nbsp;</td></tr>\n");
				break;
				case "Mkdir." : 
					print("<tr><td>$creating $directory <b>$item[0]</b></td>");
					if(@ftp_chdir($ftp, $item[3])&&@ftp_mkdir($ftp, $item[0]))
					print("<td><font color=\"#00CC00\"><b>OK</b></font></td><td>&nbsp;</td></tr>\n");
					else
					print("<td><font color=\"#CC0000\"><b>FAILURE</b></font></td><td>&nbsp;</td></tr>\n");
				break;
			}
			}
		}
		else print("<td width=\"20%\"><font color=\"#CC0000\"><b>FAILURE</b></font></td><td></td></tr>");
	}
	else print("<td width=\"20%\"><font color=\"#CC0000\"><b>FAILURE</b></font></td><td></td></tr>");
}
else print("<td width=\"20%\"><font color=\"#CC0000\"><b>FAILURE</b></font></td><td></td></tr>");
?>
<tr><td colspan="3"><?php echo $actions_ended; ?></td></tr>
</table>
<a name="end"></a>
<script language="javascript">
window.location="#end";
opener.document.reload();
</script>
</body></html><?php ob_end_flush(); ?>