* @package HTML_Progress */ require_once ('HTML/Progress.php'); require_once ('HTML/Progress/observer.php'); // 1. Defines ProgressBar observer class MyObserver extends HTML_Progress_Observer { var $_console; var $_out; function MyObserver($out) { $this->_console = '.' . DIRECTORY_SEPARATOR . 'observer_complex.log'; $this->HTML_Progress_Observer(); $this->_out = strtolower($out); } function notify($event) { if (is_array($event)) { $log = isset($event['log']) ? $event['log'] : "undefined event id."; $val = isset($event['value']) ? $event['value'] : "unknown value"; $msg = "$log = $val"; } else { $msg = $event; } if ($this->_out == 'file') { error_log("$msg \n", 3, $this->_console); } else { print ("$msg
\n"); } } } // 2. Creates ProgressBar $bar = new HTML_Progress(); $bar->setIncrement(5); // 3. Creates and attach a listener $observer = new MyObserver('screen'); //$observer = new MyObserver('file'); $ok = $bar->addListener($observer); if (!$ok) { die ("Cannot add a valid listener to progress bar !"); } // 4. Changes look-and-feel of ProgressBar $ui = $bar->getUI(); $ui->setStringAttributes('color = red'); $ui->setComment('Simple Observer ProgressBar example'); ?> Simple Observer ProgressBar example

toHTML(); do { $bar->display(); if ($bar->getPercentComplete() == 1) { break; // the progress bar has reached 100% } $bar->incValue(); } while(1); ?>

<< Back examples TOC