diff options
author | Robin Millette <millette@controlyourself.ca> | 2009-05-27 03:47:45 -0400 |
---|---|---|
committer | Robin Millette <millette@controlyourself.ca> | 2009-05-27 03:47:45 -0400 |
commit | ed1e1d9f440acfbb99c7a6e3d2b5c11fdcfa27ce (patch) | |
tree | e4362570dc97ad2b3e50ba2bc01749af5b09745d /actions/file.php | |
parent | 37423b12d7a58bae728476c6f1a8ff3fef4c6d9f (diff) |
Handles local aliases (redirection) for file uploads attached to notices.
Diffstat (limited to 'actions/file.php')
-rw-r--r-- | actions/file.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/actions/file.php b/actions/file.php new file mode 100644 index 000000000..1179dbe9a --- /dev/null +++ b/actions/file.php @@ -0,0 +1,40 @@ +<?php +/* + * Laconica - a distributed open-source microblogging tool + * Copyright (C) 2008, Controlez-Vous, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('LACONICA')) { exit(1); } + +require_once(INSTALLDIR.'/actions/shownotice.php'); + +class FileAction extends ShowNoticeAction +{ + function showPage() { + $source_url = common_local_url('file', array('notice' => $this->notice->id)); + $query = "select file_redirection.url as url from file join file_redirection on file.id = file_redirection.file_id where file.url = '$source_url'"; + $file = new File_redirection; + $file->query($query); + $file->fetch(); + if (empty($file->url)) { + die('nothing attached here'); + } else { + header("Location: {$file->url}"); + die(); + } + } +} + |