X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fpostnotice.php;h=b08f27ac4b4ebca81e2de4bf98aa3e6968373005;hb=334c652e80e9bb9e53116963ec3f794588be4439;hp=cf9a3f3a0f697a15201b8b40e76f4b790af259e2;hpb=a578bfc03d44f80e99c8fcd8fbbd831a027d7ea9;p=quix0rs-gnu-social.git diff --git a/actions/postnotice.php b/actions/postnotice.php index cf9a3f3a0f..b08f27ac4b 100644 --- a/actions/postnotice.php +++ b/actions/postnotice.php @@ -37,56 +37,60 @@ class PostnoticeAction extends Action { return; } } - + function save_notice(&$req, &$consumer, &$token) { $version = $req->get_parameter('omb_version'); if ($version != OMB_VERSION_01) { - common_user_error(_t('Unsupported OMB version'), 400); + common_user_error(_('Unsupported OMB version'), 400); return false; } # First, check to see $listenee = $req->get_parameter('omb_listenee'); $remote_profile = Remote_profile::staticGet('uri', $listenee); if (!$remote_profile) { - common_user_error(_t('Profile unknown'), 403); + common_user_error(_('Profile unknown'), 403); return false; } $sub = Subscription::staticGet('token', $token->key); if (!$sub) { - common_user_error(_t('No such subscription'), 403); + common_user_error(_('No such subscription'), 403); return false; } $content = $req->get_parameter('omb_notice_content'); if (!$content || strlen($content) > 140) { - common_user_error(_t('Invalid notice content'), 400); + common_user_error(_('Invalid notice content'), 400); return false; } $notice_uri = $req->get_parameter('omb_notice'); if (!Validate::uri($notice_uri) && !common_valid_tag($notice_uri)) { - common_user_error(_t('Invalid notice uri'), 400); + common_user_error(_('Invalid notice uri'), 400); return false; } $notice_url = $req->get_parameter('omb_notice_url'); if ($notice_url && !common_valid_http_url($notice_url)) { - common_user_error(_t('Invalid notice url'), 400); + common_user_error(_('Invalid notice url'), 400); return false; } $notice = Notice::staticGet('uri', $notice_uri); if (!$notice) { $notice = new Notice(); + $notice->is_local = 0; $notice->profile_id = $remote_profile->id; - $notice->uri = $notice->uri; + $notice->uri = $notice_uri; $notice->content = $content; + $notice->rendered = common_render_content($notice->content, $notice); if ($notice_url) { $notice->url = $notice_url; } $notice->created = DB_DataObject_Cast::dateTime(); # current time $id = $notice->insert(); if (!$id) { - common_server_error(_t('Error inserting notice'), 500); + common_server_error(_('Error inserting notice'), 500); return false; } + common_save_replies($notice); + $notice->saveTags(); common_broadcast_notice($notice, true); } return true;