. * * @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', 'type' => 'Document', 'mediaType' => $attachment->mimetype, 'url' => $attachment->getUrl(), 'size' => intval($attachment->size), // $attachment->getSize () 'name' => $attachment->getTitle(), ]; // Image if (substr($res["mediaType"], 0, 5) == "image") { $res["meta"]= [ 'width' => $attachment->width, 'height' => $attachment->height ]; } return $res; } }