. * * @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); } /** * ActivityPub Attachment representation * * @category Plugin * @package GNUsocial * @author Diogo Cordeiro * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://www.gnu.org/software/social/ */ class Activitypub_attachment extends Managed_DataObject { /** * Generates a pretty array from an Attachment object * * @author Diogo Cordeiro * @param Attachment $attachment * @return pretty array to be used in a response */ public static function attachment_to_array ($attachment) { $res = [ '@context' => [ "https://www.w3.org/ns/activitystreams", [ "@language" => "en" ] ], 'id' => $attachment->getID (), 'mimetype' => $attachment->mimetype, 'url' => $attachment->getUrl (), 'size' => intval($attachment->size), // $attachment->getSize () 'title' => $attachment->getTitle (), 'meta' => null ]; // Image if (substr ($res["mimetype"], 0, 5) == "image") { $res["meta"]= [ 'width' => $attachment->width, 'height' => $attachment->height ]; } return $res; } }