cvs: pear /HTML_Progress Progress.php

From: Date: Wed, 05 May 2004 18:20:14 +0000
Subject: cvs: pear /HTML_Progress Progress.php
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-19234@lists.php.net to get a copy of this message
farell Wed May 5 14:20:14 2004 EDT Modified files: /pear/HTML_Progress Progress.php Log: fixed returns error add new option _pushCallback on HTML_Progress error stack initialize

http://cvs.php.net/diff.php/pear/HTML_Progress/Progress.php?r1=1.5&r2=1.6&ty=u Index: pear/HTML_Progress/Progress.php diff -u pear/HTML_Progress/Progress.php:1.5 pear/HTML_Progress/Progress.php:1.6 --- pear/HTML_Progress/Progress.php:1.5 Sun Apr 18 09:30:57 2004 +++ pear/HTML_Progress/Progress.php Wed May 5 14:20:14 2004 @@ -15,7 +15,7 @@ // | Author: Laurent Laville <pear@laurent-laville.org> | // +----------------------------------------------------------------------+ // -// $Id: Progress.php,v 1.5 2004/04/18 13:30:57 farell Exp $ +// $Id: Progress.php,v 1.6 2004/05/05 18:20:14 farell Exp $ /** * The HTML_Progress class allow you to add a loading bar @@ -290,7 +290,7 @@ $this->_UI->setOrientation($args[0]); } else { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$model | $orient', 'was' => (gettype($args[0]) == 'object') ? get_class($args[0]).' object' : gettype($args[0]), @@ -301,14 +301,14 @@ case 2: /* int min, int max */ if (!is_int($args[0])) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$min', 'was' => $args[0], 'expected' => 'integer', 'paramnum' => 1)); } elseif (!is_int($args[1])) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$max', 'was' => $args[1], 'expected' => 'integer', @@ -321,21 +321,21 @@ case 3: /* int orient, int min, int max */ if (!is_int($args[0])) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$orient', 'was' => $args[0], 'expected' => 'integer', 'paramnum' => 1)); } elseif (!is_int($args[1])) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$min', 'was' => $args[1], 'expected' => 'integer', 'paramnum' => 2)); } elseif (!is_int($args[2])) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$max', 'was' => $args[2], 'expected' => 'integer', @@ -404,7 +404,7 @@ function setIndeterminate($continuous) { if (!is_bool($continuous)) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$continuous', 'was' => gettype($continuous), 'expected' => 'boolean', @@ -444,7 +444,7 @@ function setBorderPainted($paint) { if (!is_bool($paint)) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$paint', 'was' => gettype($paint), 'expected' => 'boolean', @@ -487,7 +487,7 @@ function setStringPainted($paint) { if (!is_bool($paint)) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$paint', 'was' => gettype($paint), 'expected' => 'boolean', @@ -563,7 +563,7 @@ function setDM($model) { if (!class_exists($model)) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', array('var' => '$model', 'was' => 'class does not exists', 'expected' => $model.' class defined', @@ -573,7 +573,7 @@ $_dm = new $model(); if (!is_a($_dm, 'html_progress_dm')) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', array('var' => '$model', 'was' => $model, 'expected' => 'HTML_Progress_DM extends', @@ -800,7 +800,7 @@ function setUI($ui) { if (!class_exists($ui)) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', array('var' => '$ui', 'was' => 'class does not exists', 'expected' => $ui.' class defined', @@ -810,7 +810,7 @@ $_ui = new $ui(); if (!is_a($_ui, 'html_progress_ui')) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', array('var' => '$ui', 'was' => $ui, 'expected' => 'HTML_Progress_UI extends', @@ -867,21 +867,21 @@ function setAnimSpeed($delay) { if (!is_int($delay)) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception', array('var' => '$delay', 'was' => gettype($delay), 'expected' => 'integer', 'paramnum' => 1)); } elseif ($delay < 0) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', array('var' => '$delay', 'was' => $delay, 'expected' => 'greater than zero', 'paramnum' => 1)); } elseif ($delay > 1000) { - $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', + return $this->raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error', array('var' => '$delay', 'was' => $delay, 'expected' => 'less or equal 1000', @@ -1535,6 +1535,14 @@ { $this->_package = 'HTML_Progress'; $stack =& PEAR_ErrorStack::singleton($this->_package); + + if (isset($prefs['pushCallback']) && is_callable($prefs['pushCallback'])) { + $cb = $prefs['pushCallback']; + } else { + $cb = array('HTML_Progress', '_handleError'); + } + $stack->pushCallback($cb); + if (isset($prefs['msgCallback'])) { $cb = $prefs['msgCallback']; } else { @@ -1628,6 +1636,22 @@ } /** + * Default internal error handler + * Dies if the error is an exception (and would have died anyway) + * + * @since 1.2.0 + * @access private + */ + function _handleError($err) + { + if ($err['level'] == 'exception') { + die(); + } else { + return $err; + } + } + + /** * Add an error to the stack * Dies if the error is an exception (and would have died anyway) * @@ -1649,12 +1673,7 @@ $trace = null; // PHP 4.1.x, 4.2.x (no context info available) } $err = PEAR_ErrorStack::staticPush($this->_package, $code, $level, $params, false, false, $trace); - - if ($level == 'exception') { - die(); - } else { - return $err; - } + return $err; } } ?> \ No newline at end of file
« previous php.pear.cvs (#19234) next »