Preloading of items in the cache when receiving them.
This commit is contained in:
parent
452ff19d73
commit
82c00660e0
|
@ -524,7 +524,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
||||||
$hashtags = array();
|
$hashtags = array();
|
||||||
$mentions = array();
|
$mentions = array();
|
||||||
|
|
||||||
$taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
|
$taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d) ORDER BY `tid`",
|
||||||
intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION));
|
intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION));
|
||||||
|
|
||||||
foreach($taglist as $tag) {
|
foreach($taglist as $tag) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ require_once('include/salmon.php');
|
||||||
require_once('include/crypto.php');
|
require_once('include/crypto.php');
|
||||||
require_once('include/Photo.php');
|
require_once('include/Photo.php');
|
||||||
require_once('include/tags.php');
|
require_once('include/tags.php');
|
||||||
|
require_once('include/text.php');
|
||||||
|
|
||||||
function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
|
function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
|
||||||
|
|
||||||
|
@ -238,7 +239,7 @@ function construct_activity_object($item) {
|
||||||
$r->link = str_replace('&','&', $r->link);
|
$r->link = str_replace('&','&', $r->link);
|
||||||
$r->link = preg_replace('/\<link(.*?)\"\>/','<link$1"/>',$r->link);
|
$r->link = preg_replace('/\<link(.*?)\"\>/','<link$1"/>',$r->link);
|
||||||
$o .= $r->link;
|
$o .= $r->link;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$o .= '<link rel="alternate" type="text/html" href="' . xmlify($r->link) . '" />' . "\r\n";
|
$o .= '<link rel="alternate" type="text/html" href="' . xmlify($r->link) . '" />' . "\r\n";
|
||||||
}
|
}
|
||||||
|
@ -270,7 +271,7 @@ function construct_activity_target($item) {
|
||||||
$r->link = str_replace('&','&', $r->link);
|
$r->link = str_replace('&','&', $r->link);
|
||||||
$r->link = preg_replace('/\<link(.*?)\"\>/','<link$1"/>',$r->link);
|
$r->link = preg_replace('/\<link(.*?)\"\>/','<link$1"/>',$r->link);
|
||||||
$o .= $r->link;
|
$o .= $r->link;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$o .= '<link rel="alternate" type="text/html" href="' . xmlify($r->link) . '" />' . "\r\n";
|
$o .= '<link rel="alternate" type="text/html" href="' . xmlify($r->link) . '" />' . "\r\n";
|
||||||
}
|
}
|
||||||
|
@ -882,7 +883,7 @@ function item_store($arr,$force_parent = false) {
|
||||||
$arr['gravity'] = 0;
|
$arr['gravity'] = 0;
|
||||||
elseif(activity_match($arr['verb'],ACTIVITY_POST))
|
elseif(activity_match($arr['verb'],ACTIVITY_POST))
|
||||||
$arr['gravity'] = 6;
|
$arr['gravity'] = 6;
|
||||||
else
|
else
|
||||||
$arr['gravity'] = 6; // extensible catchall
|
$arr['gravity'] = 6; // extensible catchall
|
||||||
|
|
||||||
if(! x($arr,'type'))
|
if(! x($arr,'type'))
|
||||||
|
@ -1072,10 +1073,9 @@ function item_store($arr,$force_parent = false) {
|
||||||
|
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$current_post = $r[0]['id'];
|
$current_post = $r[0]['id'];
|
||||||
create_tags_from_item($r[0]['id']);
|
|
||||||
logger('item_store: created item ' . $current_post);
|
logger('item_store: created item ' . $current_post);
|
||||||
}
|
create_tags_from_item($r[0]['id']);
|
||||||
else {
|
} else {
|
||||||
logger('item_store: could not locate created item');
|
logger('item_store: could not locate created item');
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1153,6 +1153,15 @@ function item_store($arr,$force_parent = false) {
|
||||||
|
|
||||||
tag_deliver($arr['uid'],$current_post);
|
tag_deliver($arr['uid'],$current_post);
|
||||||
|
|
||||||
|
// Store the fresh generated item into the cache
|
||||||
|
$cachefile = get_cachefile($arr["guid"]."-".hash("md5", $arr['body']));
|
||||||
|
|
||||||
|
if (($cachefile != '') AND !file_exists($cachefile)) {
|
||||||
|
$s = prepare_text($arr['body']);
|
||||||
|
file_put_contents($cachefile, $s);
|
||||||
|
logger('item_store: put item '.$current_post.' into cachefile '.$cachefile);
|
||||||
|
}
|
||||||
|
|
||||||
return $current_post;
|
return $current_post;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ function create_tags_from_item($itemid) {
|
||||||
|
|
||||||
$searchpath = $a->get_baseurl()."/search?tag=";
|
$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)
|
if (!$messages)
|
||||||
return;
|
return;
|
||||||
|
@ -42,6 +42,14 @@ function create_tags_from_item($itemid) {
|
||||||
if ($message["deleted"])
|
if ($message["deleted"])
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
$cachefile = get_cachefile($message["guid"]."-".hash("md5", $message['body']));
|
||||||
|
|
||||||
|
if (($cachefile != '') AND !file_exists($cachefile)) {
|
||||||
|
$s = prepare_text($message['body']);
|
||||||
|
file_put_contents($cachefile, $s);
|
||||||
|
logger('create_tags_from_item: put item '.$message["id"].' into cachefile '.$cachefile);
|
||||||
|
}
|
||||||
|
|
||||||
$taglist = explode(",", $message["tag"]);
|
$taglist = explode(",", $message["tag"]);
|
||||||
|
|
||||||
$tags = "";
|
$tags = "";
|
||||||
|
|
|
@ -1019,7 +1019,8 @@ function prepare_body($item,$attach = false) {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
call_hooks('prepare_body_init', $item);
|
call_hooks('prepare_body_init', $item);
|
||||||
|
|
||||||
$cachefile = get_cachefile($item["guid"]."-".strtotime($item["edited"])."-".hash("crc32", $item['body']));
|
//$cachefile = get_cachefile($item["guid"]."-".strtotime($item["edited"])."-".hash("crc32", $item['body']));
|
||||||
|
$cachefile = get_cachefile($item["guid"]."-".hash("md5", $item['body']));
|
||||||
|
|
||||||
if (($cachefile != '')) {
|
if (($cachefile != '')) {
|
||||||
if (file_exists($cachefile))
|
if (file_exists($cachefile))
|
||||||
|
@ -1027,6 +1028,7 @@ function prepare_body($item,$attach = false) {
|
||||||
else {
|
else {
|
||||||
$s = prepare_text($item['body']);
|
$s = prepare_text($item['body']);
|
||||||
file_put_contents($cachefile, $s);
|
file_put_contents($cachefile, $s);
|
||||||
|
logger('prepare_body: put item '.$item["id"].' into cachefile '.$cachefile);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
$s = prepare_text($item['body']);
|
$s = prepare_text($item['body']);
|
||||||
|
|
|
@ -757,6 +757,15 @@ function item_post(&$a) {
|
||||||
// update filetags in pconfig
|
// update filetags in pconfig
|
||||||
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
|
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
|
||||||
|
|
||||||
|
// Store the fresh generated item into the cache
|
||||||
|
$cachefile = get_cachefile($datarray["guid"]."-".hash("md5", $datarray['body']));
|
||||||
|
|
||||||
|
if (($cachefile != '') AND !file_exists($cachefile)) {
|
||||||
|
$s = prepare_text($datarray['body']);
|
||||||
|
file_put_contents($cachefile, $s);
|
||||||
|
logger('mod_item: put item '.$r[0]['id'].' into cachefile '.$cachefile);
|
||||||
|
}
|
||||||
|
|
||||||
if($parent) {
|
if($parent) {
|
||||||
|
|
||||||
// This item is the last leaf and gets the comment box, clear any ancestors
|
// This item is the last leaf and gets the comment box, clear any ancestors
|
||||||
|
|
|
@ -150,7 +150,7 @@ class Item extends BaseObject {
|
||||||
$hashtags = array();
|
$hashtags = array();
|
||||||
$mentions = array();
|
$mentions = array();
|
||||||
|
|
||||||
$taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
|
$taglist = q("SELECT `type`, `term`, `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d) ORDER BY `tid`",
|
||||||
intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION));
|
intval(TERM_OBJ_POST), intval($item['id']), intval(TERM_HASHTAG), intval(TERM_MENTION));
|
||||||
|
|
||||||
foreach($taglist as $tag) {
|
foreach($taglist as $tag) {
|
||||||
|
|
Loading…
Reference in a new issue