5 namespace Friendica\Model;
9 require_once "include/dba.php";
14 * @param integer $itemid item id
17 public static function createFromItem($itemid)
19 $message = dba::selectFirst('item', ['uid', 'deleted', 'file'], ['id' => $itemid]);
20 if (!\Friendica\Database\DBM::is_result($message)) {
25 q("DELETE FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
26 intval(TERM_OBJ_POST),
29 intval(TERM_CATEGORY));
31 if ($message["deleted"]) {
35 if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files)) {
36 foreach ($files[1] as $file) {
38 'uid' => $message["uid"],
40 'otype' => TERM_OBJ_POST,
47 if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) {
48 foreach ($files[1] as $file) {
50 'uid' => $message["uid"],
52 'otype' => TERM_OBJ_POST,
53 'type' => TERM_CATEGORY,
61 * @param string $itemuri item uri
62 * @param integer $uid uid
65 public static function createFromItemURI($itemuri, $uid)
67 $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
69 if (count($messages)) {
70 foreach ($messages as $message) {
71 self::createFromItem($message["id"]);