$itemid]); if (!DBM::is_result($message)) { return; } // Clean up all tags q("DELETE FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)", intval(TERM_OBJ_POST), intval($itemid), intval(TERM_FILE), intval(TERM_CATEGORY)); if ($message["deleted"]) { return; } if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files)) { foreach ($files[1] as $file) { dba::insert('term', [ 'uid' => $message["uid"], 'oid' => $itemid, 'otype' => TERM_OBJ_POST, 'type' => TERM_FILE, 'term' => $file ]); } } if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) { foreach ($files[1] as $file) { dba::insert('term', [ 'uid' => $message["uid"], 'oid' => $itemid, 'otype' => TERM_OBJ_POST, 'type' => TERM_CATEGORY, 'term' => $file ]); } } } /** * @param string $itemuri item uri * @param integer $uid uid * @return void */ public static function insertFromItemFileByUri($itemuri, $uid) { $messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid)); if (count($messages)) { foreach ($messages as $message) { self::insertFromItemFileById($message["id"]); } } } }