X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FItemURI.php;h=460ee1447004becb635d059fb63fd2705515748b;hb=41062eb7e4036946711afefd529de5c9a89b7b9d;hp=265585be7ba8f8dba3dceb89ac050d512c121a32;hpb=13a10b8f20ac7c5927c39d9e80e1a7d515385736;p=friendica.git diff --git a/src/Model/ItemURI.php b/src/Model/ItemURI.php index 265585be7b..460ee14470 100644 --- a/src/Model/ItemURI.php +++ b/src/Model/ItemURI.php @@ -1,6 +1,6 @@ $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']; } @@ -71,6 +76,27 @@ class ItemURI return self::insert(['uri' => $uri]); } + return $itemuri['id']; + } + /** + * Searched for an id of a given guid. + * + * @param string $guid + * + * @return integer item-uri id + * @throws \Exception + */ + public static function getIdByGUID($guid) + { + // If the GUID gets too long we only take the first parts and hope for best + $guid = substr($guid, 0, 255); + + $itemuri = DBA::selectFirst('item-uri', ['id'], ['guid' => $guid]); + + if (!DBA::isResult($itemuri)) { + return 0; + } + return $itemuri['id']; } }