X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fattachment.php;h=45aa78728a2510d08182371950e2e0f66112cc9d;hb=eb0495d10719f2be86f8f97e82aaa1b8bf923c7d;hp=c51c7512005329993709bbc5251227ed3ae062f6;hpb=b5ac6e31f2f148164860aeabec6899b75d7292ec;p=quix0rs-gnu-social.git diff --git a/actions/attachment.php b/actions/attachment.php index c51c751200..45aa78728a 100644 --- a/actions/attachment.php +++ b/actions/attachment.php @@ -1,6 +1,6 @@ . * * @category Personal - * @package Laconica - * @author Evan Prodromou - * @copyright 2008-2009 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @copyright 2008-2009 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } @@ -37,12 +37,11 @@ require_once INSTALLDIR.'/lib/attachmentlist.php'; * Show notice attachments * * @category Personal - * @package Laconica - * @author Evan Prodromou + * @package StatusNet + * @author Evan Prodromou * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ - class AttachmentAction extends Action { /** @@ -70,6 +69,7 @@ class AttachmentAction extends Action } if (empty($this->attachment)) { + // TRANS: Client error displayed trying to get a non-existing attachment. $this->clientError(_('No such attachment.'), 404); return false; } @@ -81,7 +81,6 @@ class AttachmentAction extends Action * * @return boolean true */ - function isReadOnly($args) { return true; @@ -98,47 +97,27 @@ class AttachmentAction extends Action return $a->title(); } - /** - * Last-modified date for page - * - * When was the content of this page last modified? Based on notice, - * profile, avatar. - * - * @return int last-modified date as unix timestamp - */ -/* - function lastModified() - { - return max(strtotime($this->notice->created), - strtotime($this->profile->modified), - ($this->avatar) ? strtotime($this->avatar->modified) : 0); - } -*/ - - /** - * An entity tag for this page - * - * Shows the ETag for the page, based on the notice ID and timestamps - * for the notice, profile, and avatar. It's weak, since we change - * the date text "one hour ago", etc. - * - * @return string etag - */ -/* - function etag() + function extraHead() { - $avtime = ($this->avatar) ? - strtotime($this->avatar->modified) : 0; - - return 'W/"' . implode(':', array($this->arg('action'), - common_language(), - $this->notice->id, - strtotime($this->notice->created), - strtotime($this->profile->modified), - $avtime)) . '"'; + $this->element('link',array('rel'=>'alternate', + 'type'=>'application/json+oembed', + 'href'=>common_local_url( + 'oembed', + array(), + array('format'=>'json', 'url'=> + common_local_url('attachment', + array('attachment' => $this->attachment->id)))), + 'title'=>'oEmbed'),null); + $this->element('link',array('rel'=>'alternate', + 'type'=>'text/xml+oembed', + 'href'=>common_local_url( + 'oembed', + array(), + array('format'=>'xml','url'=> + common_local_url('attachment', + array('attachment' => $this->attachment->id)))), + 'title'=>'oEmbed'),null); } -*/ - /** * Handle input @@ -149,11 +128,19 @@ class AttachmentAction extends Action * * @return void */ - function handle($args) { parent::handle($args); - $this->showPage(); + + if (empty($this->attachment->filename)) { + + // if it's not a local file, gtfo + + common_redirect($this->attachment->url, 303); + + } else { + $this->showPage(); + } } /** @@ -161,7 +148,6 @@ class AttachmentAction extends Action * * @return void */ - function showLocalNavBlock() { } @@ -173,13 +159,10 @@ class AttachmentAction extends Action * * @return void */ - function showContent() { - $this->elementStart('ul', array('class' => 'attachments')); $ali = new Attachment($this->attachment, $this); $cnt = $ali->show(); - $this->elementEnd('ul'); } /** @@ -187,7 +170,6 @@ class AttachmentAction extends Action * * @return void */ - function showPageNoticeBlock() { } @@ -204,4 +186,3 @@ class AttachmentAction extends Action $atcs->show(); } } -