From ce23c68d1c01536e3577885416278f142490ebf7 Mon Sep 17 00:00:00 2001
From: Mikael Nordfeldth <mmn@hethane.se>
Date: Sat, 10 May 2014 12:29:34 +0200
Subject: [PATCH] FileAction removed (we have AttachmentAction).

It seems it was only used to get a _single_ file attachment from
the posted notice, with no possibility to get multiple attachments.

If one fetches metadata about attachments for the notice, we have
enough data there to fulfill anyone's fetching dreams.
---
 actions/file.php  | 76 -----------------------------------------------
 lib/mediafile.php |  7 ++---
 lib/router.php    |  4 ---
 3 files changed, 2 insertions(+), 85 deletions(-)
 delete mode 100644 actions/file.php

diff --git a/actions/file.php b/actions/file.php
deleted file mode 100644
index 018f03f53a..0000000000
--- a/actions/file.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-/*
- * StatusNet - the distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, 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('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
-require_once(INSTALLDIR.'/actions/shownotice.php');
-
-// @todo FIXME: Add documentation.
-class FileAction extends Action
-{
-    var $id = null;
-    var $filerec = null;
-
-    function prepare($args)
-    {
-        parent::prepare($args);
-        $this->id = $this->trimmed('notice');
-        if (empty($this->id)) {
-            // TRANS: Client error displayed when no notice ID was given trying do display a file.
-            $this->clientError(_('No notice ID.'));
-        }
-        $notice = Notice::getKV('id', $this->id);
-        if (empty($notice)) {
-            // TRANS: Client error displayed when an invalid notice ID was given trying do display a file.
-            $this->clientError(_('No notice.'));
-        }
-        $atts = $notice->attachments();
-        if (empty($atts)) {
-            // TRANS: Client error displayed when trying do display a file for a notice without a file attachement.
-            $this->clientError(_('No attachments.'));
-        }
-        foreach ($atts as $att) {
-            if (!empty($att->filename)) {
-                $this->filerec = $att;
-                break;
-            }
-        }
-        if (empty($this->filerec)) {
-            // XXX: Is this translation hint correct? If yes, please remove comment, if no, please correct and remove comment.
-            // TRANS: Client error displayed when trying do display a file for a notice with file attachements
-            // TRANS: that could not be found.
-            $this->clientError(_('No uploaded attachments.'));
-        }
-        return true;
-    }
-
-    function handle() {
-        common_redirect($this->filerec->url);
-    }
-
-    /**
-     * Is this action read-only?
-     *
-     * @return boolean true
-     */
-    function isReadOnly($args)
-    {
-        return true;
-    }
-}
diff --git a/lib/mediafile.php b/lib/mediafile.php
index 6f456fca4f..f44bfae1fa 100644
--- a/lib/mediafile.php
+++ b/lib/mediafile.php
@@ -61,8 +61,6 @@ class MediaFile
     public function attachToNotice(Notice $notice)
     {
         File_to_post::processNew($this->fileRecord->id, $notice->id);
-        $this->maybeAddRedir($this->fileRecord->id,
-                             common_local_url('file', array('notice' => $notice->id)));
     }
 
     public function getPath()
@@ -134,15 +132,14 @@ class MediaFile
     {
         $file_redir = File_redirection::getKV('url', $url);
 
-        if (empty($file_redir)) {
-
+        if ($file_redir instanceof File_redirection) {
             $file_redir = new File_redirection;
             $file_redir->url = $url;
             $file_redir->file_id = $file_id;
 
             $result = $file_redir->insert();
 
-            if (!$result) {
+            if ($result===false) {
                 common_log_db_error($file_redir, "INSERT", __FILE__);
                 // TRANS: Client exception thrown when a database error was thrown during a file upload operation.
                 throw new ClientException(_('There was a database error while saving your file. Please try again.'));
diff --git a/lib/router.php b/lib/router.php
index 888d1f28dd..d04a37d697 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -237,10 +237,6 @@ class Router
 
             $m->connect('notice/new', array('action' => 'newnotice'));
 
-            $m->connect('notice/:notice/file',
-                        array('action' => 'file'),
-                        array('notice' => '[0-9]+'));
-
             $m->connect('notice/:notice',
                         array('action' => 'shownotice'),
                         array('notice' => '[0-9]+'));
-- 
2.39.5