cvs: pear /HTML_Progress2/Progress2 Upload.php
[email protected] ("Laurent Laville")
| Newsgroups | php.pear.cvs |
|---|---|
| Message-ID | <cvsfarell1208817505@cvsserver> |
farell Mon Apr 21 22:38:25 2008 UTC
Modified files:
/pear/HTML_Progress2/Progress2 Upload.php
Log:
* add new formats %S - speed limit, %E - time left, %F - current filename
* drop support of upload_progress PHP4 patch
http://cvs.php.net/viewvc.cgi/pear/HTML_Progress2/Progress2/Upload.php?r1=1.6&r2=1.7&diff_format=u
Index: pear/HTML_Progress2/Progress2/Upload.php
diff -u pear/HTML_Progress2/Progress2/Upload.php:1.6 pear/HTML_Progress2/Progress2/Upload.php:1.7
--- pear/HTML_Progress2/Progress2/Upload.php:1.6 Sat Apr 19 17:26:12 2008
+++ pear/HTML_Progress2/Progress2/Upload.php Mon Apr 21 22:38:25 2008
@@ -36,7 +36,7 @@
* @author Laurent Laville <[email protected]>
* @copyright 2007-2008 Laurent Laville
* @license http://www.opensource.org/licenses/bsd-license.php New BSD License
- * @version CVS: $Id: Upload.php,v 1.6 2008/04/19 17:26:12 farell Exp $
+ * @version CVS: $Id: Upload.php,v 1.7 2008/04/21 22:38:25 farell Exp $
* @link http://pear.php.net/package/HTML_Progress2
* @since File available since Release 2.3.0RC1
*/
@@ -61,7 +61,6 @@
* Backend identifier are either :
* 'none' - if nothing else below match
* 'apc5' - APC php extension with PHP5.2.0 or greater
- * 'upm4' - upload progress meter php extension with PHP4
* 'upm5' - upload progress meter php extension with PHP5.2.0 or greater
*
* @var string
@@ -78,6 +77,9 @@
* T - for display total file size
* C - for display current file size uploaded
* P - for display percentage of file size uploaded
+ * F - for display file name to upload
+ * E - for estimate time left
+ * S - for speed limit
*
* @var string
* @since 2.3.0RC1
@@ -100,9 +102,7 @@
{
$php5 = (version_compare(phpversion(), '5.2.0', 'ge') < 0) ? false : true;
- if (extension_loaded('upload_progress_meter')) {
- $this->backend = 'upm4';
- } elseif (extension_loaded('uploadprogress') && $php5) {
+ if (extension_loaded('uploadprogress') && $php5) {
$this->backend = 'upm5';
} elseif (extension_loaded('apc') && $php5) {
$this->backend = 'apc5';
@@ -137,18 +137,11 @@
);
switch ($this->backend) {
- case 'upm4':
- $tmp = upload_progress_meter_get_info($Id);
- if (is_array($tmp)) {
- $info = array_merge($info, $tmp);
- } else {
- $info = false;
- }
- break;
case 'upm5':
$tmp = uploadprogress_get_info($Id);
if (is_array($tmp)) {
- $info = array_merge($info, $tmp);
+ $info = array_merge($info, $tmp);
+ $info['current_file'] = $tmp['filename'];
} else {
$info = false;
}
@@ -182,6 +175,8 @@
* C - for display current file size uploaded
* P - for display percentage of file size uploaded
* F - for display file name to upload
+ * E - for estimate time left
+ * S - for speed limit
*
* @param string $format conversion specification
* @param array $info current upload information
@@ -220,6 +215,19 @@
if ($pos !== false) {
$format = str_replace('%F', $info['current_file'], $format);
}
+ $pos = strpos($format, '%E');
+ if ($pos !== false
+ && $info['est_sec'] > 0) {
+ $eta = sprintf("%02d:%02d",
+ $info['est_sec'] / 60, $info['est_sec'] % 60);
+ $format = str_replace('%E', $eta, $format);
+ }
+
+ $pos = strpos($format, '%S');
+ if ($pos !== false) {
+ $speed = $this->formatBytes($info['speed_average']);
+ $format = str_replace('%S', $speed, $format);
+ }
return $format;
}