. /** * ActivityPub implementation for GNU social * * @package GNUsocial * @author Diogo Cordeiro * @copyright 2018-2019 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later * @link http://www.gnu.org/software/social/ */ defined('GNUSOCIAL') || die(); /** * ActivityPub Attachment representation * * @category Plugin * @package GNUsocial * @author Diogo Cordeiro * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class Activitypub_attachment { /** * Generates a pretty array from an Attachment object * * @author Diogo Cordeiro * @param Attachment $attachment * @return array pretty array to be used in a response */ public static function attachment_to_array($attachment) { $res = [ '@context' => 'https://www.w3.org/ns/activitystreams', 'type' => 'Document', 'mediaType' => $attachment->mimetype, 'url' => $attachment->getUrl(), 'size' => $attachment->getSize(), 'name' => $attachment->getTitle(), ]; // Image if (substr($res["mediaType"], 0, 5) == "image") { $res["meta"]= [ 'width' => $attachment->width, 'height' => $attachment->height ]; } return $res; } }