$searchpath = $a->get_baseurl()."/search?tag=";
- $messages = q("SELECT `uri`, `uid`, `id`, `created`, `edited`, `commented`, `received`, `changed`, `deleted`, `title`, `body`, `tag` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
+ $messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `title`, `body`, `tag` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
if (!$messages)
return;
if ($message["deleted"])
return;
+ $cachefile = get_cachefile($message["guid"]."-".hash("md5", $message['body']));
+
+ if (($cachefile != '') AND !file_exists($cachefile)) {
+ $s = prepare_text($message['body']);
+ $stamp1 = microtime(true);
+ file_put_contents($cachefile, $s);
+ $a->save_timestamp($stamp1, "file");
+ logger('create_tags_from_item: put item '.$message["id"].' into cachefile '.$cachefile);
+ }
+
$taglist = explode(",", $message["tag"]);
$tags = "";
foreach ($tags as $tag=>$link) {
if (substr(trim($tag), 0, 1) == "#") {
+ // try to ignore #039 or #1 or anything like that
+ if(ctype_digit(substr(trim($tag),1)))
+ continue;
+ // try to ignore html hex escapes, e.g. #x2317
+ if((substr(trim($tag),1,1) == 'x' || substr(trim($tag),1,1) == 'X') && ctype_digit(substr(trim($tag),2)))
+ continue;
$type = TERM_HASHTAG;
$term = substr($tag, 1);
} elseif (substr(trim($tag), 0, 1) == "@") {
function create_tags_from_itemuri($itemuri, $uid) {
$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
- foreach ($messages as $message)
- create_tags_from_item($message["id"]);
+ if(count($messages)) {
+ foreach ($messages as $message)
+ create_tags_from_item($message["id"]);
+ }
}
function update_items() {