]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
remove duplicate save of Notice and streamline attachment detection
authorEvan Prodromou <evan@status.net>
Fri, 28 Aug 2009 03:09:07 +0000 (20:09 -0700)
committerEvan Prodromou <evan@status.net>
Fri, 28 Aug 2009 03:09:07 +0000 (20:09 -0700)
classes/Notice.php
lib/util.php

index e597128641e141c9cec793e0adbc7b2af4b195e7..28d5b8ddf940bb2f7bbed2e50c2ea69e7a8140ff 100644 (file)
@@ -58,7 +58,7 @@ class Notice extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    /* Notice types */ 
+    /* Notice types */
     const LOCAL_PUBLIC    =  1;
     const REMOTE_OMB      =  0;
     const LOCAL_NONPUBLIC = -1;
@@ -248,17 +248,6 @@ class Notice extends Memcached_DataObject
 
             $notice->saveUrls();
 
-            // FIXME: why do we have to re-render the content?
-            // Remove this if it's not necessary.
-
-            $orig2 = clone($notice);
-
-            $notice->rendered = common_render_content($final, $notice);
-            if (!$notice->update($orig2)) {
-                common_log_db_error($notice, 'UPDATE', __FILE__);
-                return _('Problem saving notice.');
-            }
-
             $notice->query('COMMIT');
 
             Event::handle('EndNoticeSave', array($notice));
index 79a219fd6d7abb7378ec75532f6a656cd36c6ec0..070b4232c54fee784a0a17ef05d797104128f437 100644 (file)
@@ -542,8 +542,7 @@ function common_linkify($url) {
     $attachment_id = null;
     $has_thumb = false;
 
-    // Check to see whether there's a filename associated with this URL.
-    // If there is, it's an upload and qualifies as an attachment
+    // Check to see whether this is a known "attachment" URL.
 
     $localfile = File::staticGet('url', $longurl);
 
@@ -551,33 +550,17 @@ function common_linkify($url) {
         if (isset($localfile->filename)) {
             $is_attachment = true;
             $attachment_id = $localfile->id;
-        }
-    }
-
-    // if this URL is an attachment, then we set class='attachment' and id='attahcment-ID'
-    // where ID is the id of the attachment for the given URL.
-    //
-    // we need a better test telling what can be shown as an attachment
-    // we're currently picking up oembeds only.
-    // I think the best option is another file_view table in the db
-    // and associated dbobject.
-
-    $query = "select file_oembed.file_id as file_id from file join file_oembed on file.id = file_oembed.file_id where file.url='$longurl'";
-    $file = new File;
-    $file->query($query);
-    $file->fetch();
-
-    if (!empty($file->file_id)) {
-        $is_attachment = true;
-        $attachment_id = $file->file_id;
-
-        $query = "select file_thumbnail.file_id as file_id from file join file_thumbnail on file.id = file_thumbnail.file_id where file.url='$longurl'";
-        $file2 = new File;
-        $file2->query($query);
-        $file2->fetch();
-
-        if (!empty($file2)) {
-            $has_thumb = true;
+        } else { // if it has OEmbed info, it's an attachment, too
+            $foe = File_oembed::staticGet('file_id', $localfile->id);
+            if (!empty($foe)) {
+                $is_attachment = true;
+                $attachment_id = $localfile->id;
+
+                $thumb = File_thumbnail::staticGet('file_id', $localfile->id);
+                if (!empty($thumb)) {
+                    $has_thumb = true;
+                }
+            }
         }
     }