<?php
 
/**
 
 * Horizontal ProgressBar in indeterminate mode
 
 * without using the Progress_Monitor V2 solution.
 
 *
 
 * @version    $Id: half_basic.php,v 1.2 2005/07/25 11:33:24 farell Exp $
 
 * @author     Laurent Laville <pear@laurent-laville.org>
 
 * @package    HTML_Progress
 
 * @subpackage Examples
 
 */
 
 
 
require_once 'HTML/Progress.php';
 
 
 
/**
 
 *  This user callback process simulate a reply given after 12 seconds
 
 *  Parameters
 
 *  1. current value of the progress bar
 
 *  2. the progress bar (object) itself
 
 */
 
function myProgressHandler($progressValue, &$bar)
 
{
 
    static $c;
 
 
 
    if (!isset($c)) {
 
        $c = time();
 
    }
 
 
 
    // wait a bit ...
 
    $bar->sleep();
 
 
 
    /* rules to determine when switch back from indeterminate to determinate mode */
 
    $elapse = time() - $c;
 
 
 
    echo "myProgressHandler -> elapse time = $elapse s.<br/>\n";
 
    if ($elapse >= 12) {
 
        if ($bar->isIndeterminate()) {
 
            $bar->setIndeterminate(false);
 
            $bar->setValue(100);
 
        }
 
    }
 
}
 
 
 
$progress = new HTML_Progress();
 
$ui = & $progress->getUI();
 
$ui->setProgressAttributes(array(
 
    'background-color' => '#e0e0e0'
 
));
 
$ui->setStringAttributes(array(
 
    'color'  => '#996',
 
    'background-color' => '#CCCC99'
 
));
 
$ui->setCellAttributes(array(
 
    'active-color' => '#996'
 
));
 
 
 
$progress->setAnimSpeed(200);
 
$progress->setIncrement(10);
 
$progress->setStringPainted(true);     // get space for the string
 
$progress->setString("");              // but don't paint it
 
$progress->setIndeterminate(true);     // Progress start in indeterminate mode
 
$progress->setProgressHandler('myProgressHandler');
 
?>
 
<html>
 
<head>
 
<title>Basic Indeterminate Mode Progress example</title>
 
<style type="text/css">
 
<!--
 
body {
 
    background-color: #CCCC99;
 
    color: #996;
 
    font-family: Verdana, Arial;
 
}
 
 
 
a:visited, a:active, a:link {
 
    color: yellow;
 
}
 
 
 
<?php echo $progress->getStyle(); ?>
 
// -->
 
</style>
 
<script type="text/javascript">
 
<!--
 
<?php echo $progress->getScript(); ?>
 
//-->
 
</script>
 
</head>
 
<body>
 
 
 
<?php
 
echo $progress->toHtml();
 
$progress->run();
 
?>
 
 
 
</body>
 
</html>