74 lines
1.8 KiB
PHP
74 lines
1.8 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* @file src/Model/Term
|
||
|
*/
|
||
|
namespace Friendica\Model;
|
||
|
|
||
|
class Term
|
||
|
{
|
||
|
/**
|
||
|
* @param integer $itemid item id
|
||
|
* @return void
|
||
|
*/
|
||
|
function create_files_from_item($itemid)
|
||
|
{
|
||
|
$messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `file`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
|
||
|
if (!$messages) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
$message = $messages[0];
|
||
|
|
||
|
// 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) {
|
||
|
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
|
||
|
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_FILE), dbesc($file));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) {
|
||
|
foreach ($files[1] as $file) {
|
||
|
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
|
||
|
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), dbesc($file));
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $itemuri item uri
|
||
|
* @param integer $uid uid
|
||
|
* @return void
|
||
|
*/
|
||
|
function create_files_from_itemuri($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)
|
||
|
create_files_from_item($message["id"]);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return void
|
||
|
*/
|
||
|
function update_files_for_items()
|
||
|
{
|
||
|
$messages = q("SELECT `id` FROM `item` where file !=''");
|
||
|
|
||
|
foreach ($messages as $message) {
|
||
|
echo $message["id"] . "\n";
|
||
|
create_files_from_item($message["id"]);
|
||
|
}
|
||
|
}
|
||
|
}
|