| 
<?php
/**
 * This class implement a stack of error mesages.
 * <br>Last update: September 20, 2009
 * <br>License: BSD
 * <br>Author: Marcelo Entraigas <marcelo [at] entraigas.com.ar>
 */
 class Error {
 
 /**
 * Set the error message
 *
 * @param string $Error
 */
 function error($error='', $exit=false){
 if (!isset($_SESSION['error']) || !is_array($_SESSION['error']))
 $_SESSION['error'] = array();
 if(!empty($error))
 $_SESSION['error'][] = $error;
 if($exit){
 echo $this->getErrors();
 exit;
 }
 }
 
 /**
 * Flush all errors
 */
 function flushErrors() {
 $_SESSION['error'] = array();
 }
 
 /**
 * Returns a string error message
 *
 * @return string
 */
 function getErrors() {
 if ($this->countErrors()==0)
 return '';
 $html = implode("<br>", $_SESSION['error']);
 $this->flushErrors();
 return "<!--Errors--->\n<font face=arial size=3>" . $html . "</font>\n";
 }
 
 /**
 * Coount the registered errors
 *
 * @return integer
 */
 function countErrors() {
 return count($_SESSION['error']);
 }
 
 }
 ?>
 |