summaryrefslogtreecommitdiff
path: root/lib/action.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-02-12 16:04:43 -0500
committerEvan Prodromou <evan@controlyourself.ca>2009-02-12 16:04:43 -0500
commitb09eb06dae77be27e56d1573de0de7d393950ce5 (patch)
tree5a1a592de20ec840036c9dd71077879090f02ba2 /lib/action.php
parent5c31dcb4304113e40b4a309a18d83dbdb712813e (diff)
Revert "Just discovered the PEAR_Error handling function in index.php. Duh."
This reverts commit 616bdd43a921b2554d21b80af28ddb0fb6cb3c16. Kind of a long hard way to deal with a simple situation, so I'd prefer to just use the global handler.
Diffstat (limited to 'lib/action.php')
-rw-r--r--lib/action.php31
1 files changed, 13 insertions, 18 deletions
diff --git a/lib/action.php b/lib/action.php
index 926fe93fb..e3a8ef62c 100644
--- a/lib/action.php
+++ b/lib/action.php
@@ -82,10 +82,16 @@ class Action extends HTMLOutputter // lawsuit
*/
function prepare($argarray)
{
-
- // For PEAR_Errors comming from DB_DataObject
+ // This is for checking PEAR_Errors raised by DB_DataObject.
+ // Setting this to PEAR_ERROR_CALLBACK because setting
+ // to PEAR_ERROR_EXCEPTION does't work to allow PEAR_Errors
+ // to be handled as PHP5 exceptions, and PEAR_ERROR_RETURN
+ // does not cause DB_DataObject to actually return PEAR_Errors
+ // that can be checked with PEAR::isError() -- instead
+ // they just disappear into the ether, and can only be checked for
+ // after the fact. -- Zach
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK,
- array($this, "handleError"));
+ array($this, "checkDB_DataObjectError"));
$this->args =& common_copy_args($argarray);
return true;
@@ -850,7 +856,7 @@ class Action extends HTMLOutputter // lawsuit
}
/**
- * Handle old fashioned PEAR_Error msgs coming from DB_DataObject
+ * Check old fashioned PEAR_Error msgs coming from DB_DataObject
*
* Logs the DB_DataObject error. Override to do something else.
*
@@ -859,20 +865,9 @@ class Action extends HTMLOutputter // lawsuit
* @return nothing
*/
- function handleError($error) {
-
- common_log(LOG_ERR, "PEAR error: " . $error->getMessage());
- $msg = sprintf(_('The database for %s isn\'t responding correctly, '.
- 'so the site won\'t work properly. '.
- 'The site admins probably know about the problem, '.
- 'but you can contact them at %s to make sure. '.
- 'Otherwise, wait a few minutes and try again.'),
- common_config('site', 'name'),
- common_config('site', 'email'));
-
- $dac = new DBErrorAction($msg, 500);
- $dac->showPage();
- exit(-1);
+ function checkDB_DataObjectError($error) {
+ common_log(LOG_ERR, $error->getMessage());
+ // XXX: throw an exception here? --Zach
}
/**