160 lines
3.7 KiB
PHP
160 lines
3.7 KiB
PHP
|
<?php
|
||
|
/*
|
||
|
* test_upload_progress.php
|
||
|
*
|
||
|
* @(#) $Header: /opt2/ena/metal/forms/test_upload_progress.php,v 1.7 2008/08/16 05:12:37 mlemos Exp $
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
require('forms.php');
|
||
|
require('form_ajax_submit.php');
|
||
|
require('form_upload_progress.php');
|
||
|
|
||
|
$form=new form_class;
|
||
|
$form->NAME='upload_form';
|
||
|
$form->METHOD='POST';
|
||
|
$form->ACTION='';
|
||
|
$form->ENCTYPE='multipart/form-data';
|
||
|
$form->debug='error_log';
|
||
|
$form->ResubmitConfirmMessage=
|
||
|
'Are you sure you want to submit this form again?';
|
||
|
$form->AddInput(array(
|
||
|
'TYPE'=>'file',
|
||
|
'NAME'=>'userfile',
|
||
|
'ValidateAsNotEmpty'=>1,
|
||
|
'ValidationErrorMessage'=>
|
||
|
'It was not specified a valid file to upload'
|
||
|
));
|
||
|
$form->AddInput(array(
|
||
|
'TYPE'=>'submit',
|
||
|
'VALUE'=>'Upload',
|
||
|
'NAME'=>'doit'
|
||
|
));
|
||
|
$form->AddInput(array(
|
||
|
'TYPE'=>'hidden',
|
||
|
'NAME'=>'MAX_FILE_SIZE',
|
||
|
'VALUE'=>1000000
|
||
|
));
|
||
|
$form->AddInput(array(
|
||
|
'TYPE'=>'custom',
|
||
|
'NAME'=>'upload_progress',
|
||
|
'ID'=>'upload_progress',
|
||
|
'FeedbackElement'=>'feedback',
|
||
|
'FeedbackFormat'=>
|
||
|
'<center>
|
||
|
<table style="width: 200px" class="progress_container" border="1">
|
||
|
<tr><td style="width: {ACCURATE_PROGRESS}%;" class="progress_bar">
|
||
|
<tt>{PROGRESS}%</tt></td><td style="border-style: none;"></td>
|
||
|
</tr></table><br />
|
||
|
<tt>Uploaded {UPLOADED}B of {TOTAL}B<br />
|
||
|
Remaining time: {REMAINING}<br />
|
||
|
Average speed: {AVERAGE_SPEED}B/s<br />
|
||
|
Current speed: {CURRENT_SPEED}B/s</tt></center>',
|
||
|
'CustomClass'=>'form_upload_progress_class'
|
||
|
));
|
||
|
|
||
|
/*
|
||
|
* Handle client side events on the server side.
|
||
|
* Do not output anything before these lines.
|
||
|
*/
|
||
|
$form->HandleEvent($processed);
|
||
|
if($processed)
|
||
|
exit;
|
||
|
|
||
|
$form->LoadInputValues($form->WasSubmitted('doit'));
|
||
|
$verify=array();
|
||
|
if($form->WasSubmitted('doit'))
|
||
|
{
|
||
|
sleep(1);
|
||
|
if(($error_message=$form->Validate($verify))=='')
|
||
|
$doit=1;
|
||
|
else
|
||
|
{
|
||
|
$doit=0;
|
||
|
$error_message=HtmlEntities($error_message);
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$error_message='';
|
||
|
$doit=0;
|
||
|
}
|
||
|
if(!$doit)
|
||
|
{
|
||
|
if(strlen($error_message))
|
||
|
{
|
||
|
Reset($verify);
|
||
|
$focus=Key($verify);
|
||
|
}
|
||
|
else
|
||
|
$focus='userfile';
|
||
|
$form->ConnectFormToInput($focus, 'ONLOAD', 'Focus', array());
|
||
|
}
|
||
|
$onload=HtmlSpecialChars($form->PageLoad());
|
||
|
|
||
|
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
|
<html>
|
||
|
<head>
|
||
|
<title>Test for Manuel Lemos' PHP form class
|
||
|
to show upload file progress</title>
|
||
|
<style type="text/css"><!--
|
||
|
.progress_container { background-color: #c0c0c0; border-radius: 8px;
|
||
|
-moz-border-radius: 8px; padding: 4px; }
|
||
|
.progress_bar { border-style: none; color: #000000; padding: 4px;
|
||
|
background-color: #0000ff; background-image: url(progress.gif);
|
||
|
text-align: center; }
|
||
|
// --></style>
|
||
|
</head>
|
||
|
<body onload="<?php echo $onload; ?>" bgcolor="#cccccc">
|
||
|
<center><h1>Test for Manuel Lemos' PHP form class
|
||
|
to show upload file progress</h1></center>
|
||
|
<hr />
|
||
|
<img src="progress.gif" width="0" height="0" alt="Progress" />
|
||
|
<?php
|
||
|
|
||
|
if($doit)
|
||
|
{
|
||
|
$form->GetFileValues('userfile',$userfile_values);
|
||
|
?>
|
||
|
<h2><center>The file was uploaded.</center></h2>
|
||
|
<center><table>
|
||
|
|
||
|
<tr>
|
||
|
<th align="right">Uploaded file path:</th>
|
||
|
<td><tt><?php echo $userfile_values['tmp_name']; ?></tt></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="right">Client file name:</th>
|
||
|
<td><tt><?php echo HtmlEntities($userfile_values['name']); ?></tt></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="right">File type:</th>
|
||
|
<td><tt><?php echo $userfile_values['type']; ?></tt></td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<th align="right">File size:</th>
|
||
|
<td><tt><?php echo $userfile_values['size']; ?></tt></td>
|
||
|
</tr>
|
||
|
|
||
|
</table></center>
|
||
|
<?php
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
$form->AddInputPart('upload_progress');
|
||
|
$form->AddInputPart('MAX_FILE_SIZE');
|
||
|
$form->StartLayoutCapture();
|
||
|
$title='Form upload progress test - 1MB maximum size';
|
||
|
$body_template='form_upload_body.html.php';
|
||
|
include('templates/form_frame.html.php');
|
||
|
$form->EndLayoutCapture();
|
||
|
$form->DisplayOutput();
|
||
|
}
|
||
|
?>
|
||
|
<hr />
|
||
|
</body>
|
||
|
</html>
|