Revert "Just discovered the PEAR_Error handling function in index.php. Duh."

This reverts commit 616bdd43a9.

Kind of a long hard way to deal with a simple situation, so I'd prefer
to just use the global handler.
This commit is contained in:
Evan Prodromou 2009-02-12 16:04:43 -05:00
parent 5c31dcb430
commit b09eb06dae
3 changed files with 19 additions and 24 deletions

View File

@ -489,7 +489,7 @@ class EmailsettingsAction extends AccountSettingsAction
} }
/** /**
* Handle old fashioned PEAR_Error msgs coming from DB_DataObject * Check old fashioned PEAR_Error msgs coming from DB_DataObject
* *
* In this case email don't exist in the DB yet, so DB_DataObject * In this case email don't exist in the DB yet, so DB_DataObject
* throws an error. Overrided from Action. * throws an error. Overrided from Action.
@ -499,13 +499,13 @@ class EmailsettingsAction extends AccountSettingsAction
* @return nothing * @return nothing
*/ */
function handleError($error) { function checkDB_DataObjectError($error) {
if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) { if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
// Do nothing. // Do nothing.
} else { } else {
parent::handleError($error); parent::checkDB_DataObjectError($error);
} }
} }

View File

@ -229,7 +229,7 @@ class RegisterAction extends Action
} }
/** /**
* Handle old fashioned PEAR_Error msgs coming from DB_DataObject * Check old fashioned PEAR_Error msgs coming from DB_DataObject
* *
* In this case nickname and email don't exist in the DB yet, * In this case nickname and email don't exist in the DB yet,
* so DB_DataObject throws an error. Overrided from Action. * so DB_DataObject throws an error. Overrided from Action.
@ -239,13 +239,13 @@ class RegisterAction extends Action
* @return nothing * @return nothing
*/ */
function handleError($error) { function checkDB_DataObjectError($error) {
if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) { if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
// Do nothing. // Do nothing.
} else { } else {
parent::handleError($error); parent::checkDB_DataObjectError($error);
} }
} }

View File

@ -82,10 +82,16 @@ class Action extends HTMLOutputter // lawsuit
*/ */
function prepare($argarray) function prepare($argarray)
{ {
// This is for checking PEAR_Errors raised by DB_DataObject.
// For PEAR_Errors comming from 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, PEAR::setErrorHandling(PEAR_ERROR_CALLBACK,
array($this, "handleError")); array($this, "checkDB_DataObjectError"));
$this->args =& common_copy_args($argarray); $this->args =& common_copy_args($argarray);
return true; 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. * Logs the DB_DataObject error. Override to do something else.
* *
@ -859,20 +865,9 @@ class Action extends HTMLOutputter // lawsuit
* @return nothing * @return nothing
*/ */
function handleError($error) { function checkDB_DataObjectError($error) {
common_log(LOG_ERR, $error->getMessage());
common_log(LOG_ERR, "PEAR error: " . $error->getMessage()); // XXX: throw an exception here? --Zach
$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);
} }
/** /**