if ($message) { $this->message = $message; } $command = sprintf("%d %s\n", $percent, $message); fwrite($this->pipe, $command); } /** * Close progress bar window */ public function finish() { pclose($this->pipe); } } /** * Sample Usage */ $bar = new ProgressBar("ProgressBar.php Test"); for ($percent = 0; $percent < 25; $percent++) { usleep(150000); // .15 sec $bar->update($percent, "Test Starting..."); } for ($percent = 25; $percent < 100; $percent++) { usleep(20000); // .02 sec $bar->update($percent, "Test Finishing..."); } usleep(500000); // .5 sec $bar->finish();
sql_query("delete from $db_assessments where id_pool=$pool and in_pool='Y' and assessment='U'"); // don't delete assessments $qh = sql_query("select xid, in_pool from $db_assessments where id_pool=$pool"); // don't delete assessments while ($row = sql_fetch_array($qh)) { $already_to_assess[$row["xid"]] = $row["in_pool"]; } sql_free($qh); $number_inserted = $number_updated = 0; $bar = new ProgressBar(0,filesize($filename)); $fh = fopen($filename,"r"); $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, FALSE); $bytes_read = 0; while ($data = fread($fh, 4096)) { $bytes_read += strlen($data); $bar->update($bytes_read); if (!xml_parse($xml_parser, $data, feof($fh))) { make_footer(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } ?><div class="message"><?php echo $number_inserted; ?> elements inserted and <?php echo $number_updated; ?> elements updated</div><? } print "<div class='message'>Pool $pool was <em>updated</em></div>";