return $other->id != $user->id;
}
}
+
+ /**
+ * Check old fashioned PEAR_Error msgs coming from DB_DataObject
+ *
+ * In this case email don't exist in the DB yet, so DB_DataObject
+ * throws an error. Overrided from Action.
+ *
+ * @param PEAR_Error
+ *
+ * @return nothing
+ */
+
+ function checkDB_DataObjectError($error) {
+ if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
+
+ // Do nothing.
+
+ } else {
+ parent::checkDB_DataObjectError($error);
+ }
+ }
+
}
*/
function nicknameExists($nickname)
- {
+ {
$user = User::staticGet('nickname', $nickname);
return ($user !== false);
}
+
+ /**
+ * Check old fashioned PEAR_Error msgs coming from DB_DataObject
+ *
+ * In this case nickname and email don't exist in the DB yet,
+ * so DB_DataObject throws an error. Overrided from Action.
+ *
+ * @param PEAR_Error
+ *
+ * @return nothing
+ */
+
+ function checkDB_DataObjectError($error) {
+ if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
+
+ // Do nothing.
+
+ } else {
+ parent::checkDB_DataObjectError($error);
+ }
+ }
/**
* Does the given email address already exist?
*/
function prepare($argarray)
{
+ // 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, "checkDB_DataObjectError"));
+
$this->args =& common_copy_args($argarray);
return true;
}
throw new ClientException($msg, $code);
}
+ /**
+ * Check old fashioned PEAR_Error msgs coming from DB_DataObject
+ *
+ * Logs the DB_DataObject error. Override to do something else.
+ *
+ * @param PEAR_Error
+ *
+ * @return nothing
+ */
+
+ function checkDB_DataObjectError($error) {
+ common_log(LOG_ERR, $error->getMessage());
+ // XXX: throw an exception here? --Zach
+ }
+
/**
* Returns the current URL
*