]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/ItemURI.php
The item table is now completely removed
[friendica.git] / src / Model / ItemURI.php
index 265585be7ba8f8dba3dceb89ac050d512c121a32..6421b2dbd9a5007cafd463ff04d62bc7a0c43043 100644 (file)
@@ -21,6 +21,7 @@
 
 namespace Friendica\Model;
 
+use Friendica\Database\Database;
 use Friendica\Database\DBA;
 
 class ItemURI
@@ -30,25 +31,29 @@ class ItemURI
         *
         * @param array $fields Item-uri fields
         *
-        * @return integer item-uri id
+        * @return int|null item-uri id
         * @throws \Exception
         */
-       public static function insert($fields)
+       public static function insert(array $fields)
        {
                // If the URI gets too long we only take the first parts and hope for best
                $uri = substr($fields['uri'], 0, 255);
 
                if (!DBA::exists('item-uri', ['uri' => $uri])) {
-                       DBA::insert('item-uri', $fields, true);
+                       DBA::insert('item-uri', $fields, Database::INSERT_UPDATE);
                }
 
-               $itemuri = DBA::selectFirst('item-uri', ['id'], ['uri' => $uri]);
+               $itemuri = DBA::selectFirst('item-uri', ['id', 'guid'], ['uri' => $uri]);
 
                if (!DBA::isResult($itemuri)) {
                        // This shouldn't happen
                        return null;
                }
 
+               if (empty($itemuri['guid']) && !empty($fields['guid'])) {
+                       DBA::update('item-uri', ['guid' => $fields['guid']], ['id' => $itemuri['id']]);
+               }
+
                return $itemuri['id'];
        }