UserString
Overview
This example will run a horizontal progress bar with custom string.
It's a PEAR packages installation simulation.
Use the HTML_Progress2 callback feature.
Screenshot
Demonstration
Give it a try
Dependencies
This example requires mandatory resources :
And also but optional :
Explains step by step
The progress meter wait 200ms (line 34)
between each step of 5% (line 35).
There are 10 cells with default values:
Property | Value | Default |
active-color | | #006600 |
inactive-color | | #CCCCCC |
width | | 15 |
height | | 20 |
spacing | | 2 |
See also :
The progress bar string is left aligned on right side (lines 36-38):
Property | Value | Default |
class | | progressTextLabel%s |
width | | 0 |
height | | 0 |
font-size | | 11 |
font-family | | Verdana, Tahoma, Arial |
font-weight | | normal |
color | | #000000 |
background-color | | |
align | | left |
valign | right | top |
See also :
The PEAR packages simulation process (lines 18-31)
is defined by the HTML_Progress2 callback (line 39):
default is HTML_Progress2::sleep.
See also :
Source Code
<?php
/**
* Horizontal progress bar with custom string
* rather than percent text info.
*
* @version $Id: userstring.php,v 1.4 2006/05/24 08:47:05 farell Exp $
* @author Laurent Laville <pear@laurent-laville.org>
* @package HTML_Progress2
* @subpackage Examples
* @access public
*/
require_once 'HTML/Progress2.php';
$pkg = array('PEAR', 'Archive_Tar', 'Config',
'HTML_QuickForm', 'HTML_CSS', 'HTML_Page', 'HTML_Template_Sigma',
'Log', 'MDB', 'PHPUnit');
function myFunctionHandler($pValue, &$pBar)
{
global $pkg, $labelID1;
$pBar->sleep();
$i = floor($pValue / 10);
if ($pValue == 100) {
$msg = 'installation complete';
} else {
$msg = "installing package ($pValue %) ... : ".$pkg[$i];
}
$pBar->setLabelAttributes($labelID1, array('value' => $msg));
}
$pb = new HTML_Progress2(null, HTML_PROGRESS2_BAR_HORIZONTAL, 0, 100, false);
$pb->setAnimSpeed(200);
$pb->setIncrement(5);
$labelID1 = 'txt1';
$pb->addLabel(HTML_PROGRESS2_LABEL_TEXT, $labelID1);
$pb->setLabelAttributes($labelID1, 'valign=right');
$pb->setProgressHandler('myFunctionHandler');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>UserString Progress2 example</title>
<style type="text/css">
<!--
<?php echo $pb->getStyle(); ?>
body {
background-color: #FFFFFF;
}
-->
</style>
<?php echo $pb->getScript(false); ?>
</head>
<body>
<?php
$pb->display();
$pb->run();
?>
</body>
</html>