]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/File.php
make URL analyzer save new info on URLs
[quix0rs-gnu-social.git] / classes / File.php
index 959301edaeff30672bd716326c4aae1420bda476..f4d0a3a4881c0c365575ff79516d04da781c8f13 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, Control Yourself, Inc.
+ * 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
@@ -17,7 +17,7 @@
  * along with this program.     If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('LACONICA')) { exit(1); }
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
 require_once INSTALLDIR.'/classes/File_redirection.php';
@@ -85,7 +85,7 @@ class File extends Memcached_DataObject
         return $x;
     }
 
-    function processNew($given_url, $notice_id) {
+    function processNew($given_url, $notice_id=null) {
         if (empty($given_url)) return -1;   // error, no url to process
         $given_url = File_redirection::_canonUrl($given_url);
         if (empty($given_url)) return -1;   // error, no url to process
@@ -95,7 +95,8 @@ class File extends Memcached_DataObject
             if (empty($file_redir)) {
                 $redir_data = File_redirection::where($given_url);
                 $redir_url = $redir_data['url'];
-                if ($redir_url === $given_url) {
+                // TODO: max field length
+                if ($redir_url === $given_url || strlen($redir_url) > 255) {
                     $x = File::saveNew($redir_data, $given_url);
                     $file_id = $x->id;
                 } else {
@@ -118,7 +119,9 @@ class File extends Memcached_DataObject
             }
         }
 
-        File_to_post::processNew($file_id, $notice_id);
+        if (!empty($notice_id)) {
+            File_to_post::processNew($file_id, $notice_id);
+        }
         return $x;
     }