From b16d8cba1d50969915a523ef9edc31c64e9fae93 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Mon, 5 May 2014 23:20:43 +0200 Subject: [PATCH] AlreadyFulfilledException added, for acceptable exceptions --- lib/alreadyfulfilledexception.php | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 lib/alreadyfulfilledexception.php diff --git a/lib/alreadyfulfilledexception.php b/lib/alreadyfulfilledexception.php new file mode 100644 index 0000000000..988dee229c --- /dev/null +++ b/lib/alreadyfulfilledexception.php @@ -0,0 +1,51 @@ +. + */ + +if (!defined('GNUSOCIAL')) { exit(1); } + +/** + * Parent class for an exception when trying to do something that was + * probably already done. + * + * This is a common case for example when remote sites are not up to + * date with our database. For example subscriptions, where a remote + * user may be unsubscribed from our user, but they request it anyway. + * + * This exception is usually caught in a manner that lets the execution + * continue _as if_ the desired action did what it was supposed to do. + * + * @category Exception + * @package GNUsocial + * @author Mikael Nordfeldth + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3 + * @link http://gnu.io/ + */ + +class AlreadyFulfilledException extends ServerException +{ + public function __construct($msg=null) + { + if ($msg === null) { + // TRANS: Exception text when attempting to perform something which seems already done. + $msg = _('Trying to do something that was already done.'); + } + + parent::__construct($msg, 409); + } +}