X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpostnotice.php;h=694c7808d9930722c5d2e054a59b0387201c4ae2;hb=3656a2cb13c0b6ba2326d6209739c1cd762ee2d2;hp=fb0670376651ed145b0ea8ea7673eb3f7e07d30a;hpb=c1f1d712bd4d775b24ce99b44f469ec7dcd2342e;p=quix0rs-gnu-social.git diff --git a/actions/postnotice.php b/actions/postnotice.php index fb06703766..694c7808d9 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -54,7 +54,10 @@ class PostnoticeAction extends Action */ function prepare($argarray) { + StatusNet::setApi(true); // Send smaller error pages + parent::prepare($argarray); + try { $this->checkNotice(); } catch (Exception $e) { @@ -71,6 +74,14 @@ class PostnoticeAction extends Action $srv = new OMB_Service_Provider(null, omb_oauth_datastore(), omb_oauth_server()); $srv->handlePostNotice(); + } catch (OMB_RemoteServiceException $rse) { + $msg = $rse->getMessage(); + if (preg_match('/Revoked accesstoken/', $msg) || + preg_match('/No subscriber/', $msg)) { + $this->clientError($msg, 403); + } else { + $this->clientError($msg); + } } catch (Exception $e) { $this->serverError($e->getMessage()); return; @@ -81,7 +92,7 @@ class PostnoticeAction extends Action { $content = common_shorten_links($_POST['omb_notice_content']); if (Notice::contentTooLong($content)) { - $this->clientError(_('Invalid notice content'), 400); + $this->clientError(_('Invalid notice content.'), 400); return false; } $license = $_POST['omb_notice_license'];