5 namespace Friendica\Model;
9 require_once "include/dba.php";
14 * @param integer $itemid item id
17 public static function createFromItem($itemid)
19 $messages = dba::select('item', ['uid', 'deleted', 'file'], ['id' => $itemid], ['limit' => 1]);
24 $message = $messages[0];
27 q("DELETE FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
28 intval(TERM_OBJ_POST),
31 intval(TERM_CATEGORY));
33 if ($message["deleted"])
36 if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files)) {
37 foreach ($files[1] as $file) {
38 dba::insert('term', ['uid' => $message["uid"], 'oid' => $itemid, 'otype' => TERM_OBJ_POST, 'type' => TERM_FILE, 'term' => $file]);
42 if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) {
43 foreach ($files[1] as $file) {
44 dba::insert('term', ['uid' => $message["uid"], 'oid' => $itemid, 'otype' => TERM_OBJ_POST, 'type' => TERM_CATEGORY, 'term' => $file]);
50 * @param string $itemuri item uri
51 * @param integer $uid uid
54 public static function createFromItemURI($itemuri, $uid)
56 $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
58 if (count($messages)) {
59 foreach ($messages as $message) {
60 self::createFromItem($message["id"]);