3 * StatusNet - the distributed open-source microblogging tool
4 * Copyright (C) 2008, 2009, StatusNet, Inc.
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU Affero General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
16 * You should have received a copy of the GNU Affero General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
22 require_once(INSTALLDIR.'/actions/shownotice.php');
24 class FileAction extends Action
29 function prepare($args)
31 parent::prepare($args);
32 $this->id = $this->trimmed('notice');
33 if (empty($this->id)) {
34 $this->clientError(_('No notice ID.'));
36 $notice = Notice::staticGet('id', $this->id);
38 $this->clientError(_('No notice.'));
40 $atts = $notice->attachments();
42 $this->clientError(_('No attachments.'));
44 foreach ($atts as $att) {
45 if (!empty($att->filename)) {
46 $this->filerec = $att;
50 if (empty($this->filerec)) {
51 $this->clientError(_('No uploaded attachments.'));
57 common_redirect($this->filerec->url);
61 * Is this action read-only?
63 * @return boolean true
66 function isReadOnly($args)