Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 89346381d9fb64d9ee8827de5f073355 > files > 238

php-pear-HTML_Progress2-2.4.1-3mdv2010.0.noarch.rpm

<?php
/**
 * Horizontal progress bar in indeterminate mode
 * using the Progress2_Monitor solution (with QF renderer).
 *
 * @version    $Id: monitor.php,v 1.4 2006/05/24 08:45:38 farell Exp $
 * @author     Laurent Laville <pear@laurent-laville.org>
 * @package    HTML_Progress2
 * @subpackage Examples
 * @access     public
 * @example    examples/indeterminate/monitor.php
 *             monitor source code
 * @link       http://www.laurent-laville.org/img/progress/screenshot/monitor.png
 *             screenshot (Image PNG, 471x131 pixels) 2.27 Kb
 */
require_once 'HTML/Progress2/Monitor.php';

/**
 *  The progress bar will switch from indeterminate to determinate mode
 *  after reached arbitrary internal step 240.
 *
 *  @param int     $pValue   current value of the progress bar
 *  @param object  $pMon     the progress monitor itself
 */
function myProgressHandler($pValue, &$pBar)
{
    global $pm;
    static $c;

    if (!isset($c)) {
        $c = 0;
    }
    $c += 16;
    $pm->setCaption('completed %step% out of 400', array('step' => $c));

    $pBar->sleep();

    if ($c >= 240 && $pBar->isIndeterminate()) {
        $pBar->setIndeterminate(false);
        $pBar->setValue(0);
    }
    if ($pBar->getPercentComplete() == 1) {
        if ($pBar->isIndeterminate()) {
            $pBar->setValue(0);
        }
    }
}

$pm = new HTML_Progress2_Monitor('frmMonitor',
    array( 'button' => array('style' => 'width:80px;'),
           'title'  => 'Progress ...' )
);

$pb =& $pm->getProgressElement();
$pb->setAnimSpeed(200);
$pb->setIncrement(10);
$pb->setProgressAttributes('background-color=#E0E0E0');
$pb->setCellAttributes('active-color=#996');
$pb->setLabelAttributes('pct1', 'color=#996');
$pb->setLabelAttributes('monitorStatus', 'color=black font-size=10');
$pb->setIndeterminate(true);
$pb->setProgressHandler('myProgressHandler');

$pm->setProgressElement($pb);
?>
<!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>Half Indeterminate Monitor Progress2 example</title>
<style type="text/css">
<!--
body {
    background-color: #444444;
    font-family: Verdana, Arial;
}

<?php echo $pm->getStyle(); ?>
 -->
</style>
<?php echo $pm->getScript(false); ?>
</head>
<body>

<?php
$renderer =& HTML_QuickForm::defaultRenderer();
$renderer->setFormTemplate('
<form{attributes}>
  <table width="450" border="0" cellpadding="3" cellspacing="2" bgcolor="#CCCC99">
  {content}
  </table>
</form>
');
$renderer->setElementTemplate('
  <tr>
    <td valign="top" style="padding-left:15px;">
    {element}
    </td>
  </tr>
');
$renderer->setHeaderTemplate('
  <tr>
  <td style="background:#996;color:#ffc;" align="left" colspan="2">
    <b>{header}</b>
  </td>
  </tr>
');
$pm->accept($renderer);

echo $renderer->toHtml();
$pm->run();
?>

</body>
</html>