. * * @category Plugin * @package GNUsocial * @author Diogo Cordeiro * @author Daniel Supernault * @copyright 2018 Free Software Foundation http://fsf.org * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link https://www.gnu.org/software/social/ */ if (!defined('GNUSOCIAL')) { exit(1); } $valid_object_types = ['Note']; $res = $data['object']; try { Activitypub_notice::validate_remote_notice($res); } catch (Exception $e) { common_debug('ActivityPub Inbox Create Note: Invalid note: '.$e->getMessage()); ActivityPubReturn::error($e->getMessage()); } $settings = []; if (isset($res['inReplyTo'])) { $settings['inReplyTo'] = $res['inReplyTo']; } if (isset($res['latitude'])) { $settings['latitude'] = $res['latitude']; } if (isset($res['longitude'])) { $settings['longitude'] = $res['longitude']; } try { Activitypub_notice::create_notice( $actor_profile, $res['id'], $res['url'], $res['content'], $res['cc'], $settings ); ActivityPubReturn::answer(); } catch (AlreadyFulfilledException $e) { // Notice URI already exists common_debug('ActivityPub Inbox Create Note: Note already exists: '.$e->getMessage()); ActivityPubReturn::error('Note already exists.', 202); } catch (Exception $e) { common_debug('ActivityPub Inbox Create Note: Failed Create Note: '.$e->getMessage()); ActivityPubReturn::error($e->getMessage()); }