4 * @file src/Model/ItemURI.php
7 namespace Friendica\Model;
9 use Friendica\BaseObject;
10 use Friendica\Database\DBA;
12 class ItemURI extends BaseObject
15 * @brief Insert an item-uri record and return its id
17 * @param array $fields Item-uri fields
19 * @return integer item-uri id
21 public static function insert($fields)
23 // If the URI gets too long we only take the first parts and hope for best
24 $uri = substr($fields['uri'], 0, 255);
26 if (!DBA::exists('item-uri', ['uri' => $uri])) {
27 DBA::insert('item-uri', $fields, true);
30 $itemuri = DBA::selectFirst('item-uri', ['id'], ['uri' => $uri]);
32 if (!DBA::isResult($itemuri)) {
33 // This shouldn't happen
37 return $itemuri['id'];
41 * @brief Searched for an id of a given uri. Adds it, if not existing yet.
45 * @return integer item-uri id
47 public static function getIdByURI($uri)
49 // If the URI gets too long we only take the first parts and hope for best
50 $uri = substr($uri, 0, 255);
52 $itemuri = DBA::selectFirst('item-uri', ['id'], ['uri' => $uri]);
54 if (!DBA::isResult($itemuri)) {
55 return self::insert(['uri' => $uri]);
58 return $itemuri['id'];