Fill the item cache when storing item
This commit is contained in:
parent
f6218427a4
commit
60532ee7e4
1 changed files with 23 additions and 1 deletions
|
@ -1215,9 +1215,26 @@ class Item
|
||||||
Worker::add(['priority' => $priority, 'dont_fork' => true], 'Notifier', $notify_type, (int)$posted_item['uri-id'], (int)$posted_item['uid']);
|
Worker::add(['priority' => $priority, 'dont_fork' => true], 'Notifier', $notify_type, (int)$posted_item['uri-id'], (int)$posted_item['uid']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fill the cache with the rendered content.
|
||||||
|
if (in_array($posted_item['gravity'], [GRAVITY_PARENT, GRAVITY_COMMENT]) && ($posted_item['uid'] == 0)) {
|
||||||
|
self::updateDisplayCache($posted_item['uri-id']);
|
||||||
|
}
|
||||||
|
|
||||||
return $post_user_id;
|
return $post_user_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the display cache
|
||||||
|
*
|
||||||
|
* @param integer $uri_id
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public static function updateDisplayCache(int $uri_id)
|
||||||
|
{
|
||||||
|
$item = Post::selectFirst(self::DISPLAY_FIELDLIST, ['uri-id' => $uri_id]);
|
||||||
|
self::prepareBody($item, false, false, true);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change the owner of a parent item if it had been shared by a forum
|
* Change the owner of a parent item if it had been shared by a forum
|
||||||
*
|
*
|
||||||
|
@ -2763,6 +2780,7 @@ class Item
|
||||||
* @param array $item
|
* @param array $item
|
||||||
* @param boolean $attach
|
* @param boolean $attach
|
||||||
* @param boolean $is_preview
|
* @param boolean $is_preview
|
||||||
|
* @param boolean $only_cache
|
||||||
* @return string item body html
|
* @return string item body html
|
||||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||||
* @throws \ImagickException
|
* @throws \ImagickException
|
||||||
|
@ -2771,7 +2789,7 @@ class Item
|
||||||
* @hook prepare_body ('item'=>item array, 'html'=>body string, 'is_preview'=>boolean, 'filter_reasons'=>string array) after first bbcode to html
|
* @hook prepare_body ('item'=>item array, 'html'=>body string, 'is_preview'=>boolean, 'filter_reasons'=>string array) after first bbcode to html
|
||||||
* @hook prepare_body_final ('item'=>item array, 'html'=>body string) after attach icons and blockquote special case handling (spoiler, author)
|
* @hook prepare_body_final ('item'=>item array, 'html'=>body string) after attach icons and blockquote special case handling (spoiler, author)
|
||||||
*/
|
*/
|
||||||
public static function prepareBody(array &$item, $attach = false, $is_preview = false)
|
public static function prepareBody(array &$item, $attach = false, $is_preview = false, $only_cache = false)
|
||||||
{
|
{
|
||||||
$a = DI::app();
|
$a = DI::app();
|
||||||
Hook::callAll('prepare_body_init', $item);
|
Hook::callAll('prepare_body_init', $item);
|
||||||
|
@ -2812,6 +2830,10 @@ class Item
|
||||||
$item['body'] = $body;
|
$item['body'] = $body;
|
||||||
$s = $item["rendered-html"];
|
$s = $item["rendered-html"];
|
||||||
|
|
||||||
|
if ($only_cache) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Compile eventual content filter reasons
|
// Compile eventual content filter reasons
|
||||||
$filter_reasons = [];
|
$filter_reasons = [];
|
||||||
if (!$is_preview && public_contact() != $item['author-id']) {
|
if (!$is_preview && public_contact() != $item['author-id']) {
|
||||||
|
|
Loading…
Reference in a new issue