aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2019-01-29 15:14:49 -0800
committerzotlabs <mike@macgirvin.com>2019-01-29 15:14:49 -0800
commitb15421826d91d7344ad28a16f0be047c191d5ec4 (patch)
tree845e7dc1ab631fb7585b91221fac28cdb66334a4
parent753f137575674a4fb1cfb16753baced6ed21145a (diff)
downloadvolse-hubzilla-b15421826d91d7344ad28a16f0be047c191d5ec4.tar.gz
volse-hubzilla-b15421826d91d7344ad28a16f0be047c191d5ec4.tar.bz2
volse-hubzilla-b15421826d91d7344ad28a16f0be047c191d5ec4.zip
cache embeds in the background on initial storage rather than on first access
-rw-r--r--Zotlabs/Daemon/Cache_embeds.php27
-rwxr-xr-xinclude/items.php12
2 files changed, 39 insertions, 0 deletions
diff --git a/Zotlabs/Daemon/Cache_embeds.php b/Zotlabs/Daemon/Cache_embeds.php
new file mode 100644
index 000000000..08088abd6
--- /dev/null
+++ b/Zotlabs/Daemon/Cache_embeds.php
@@ -0,0 +1,27 @@
+<?php /** @file */
+
+namespace Zotlabs\Daemon;
+
+
+class Cache_embeds {
+
+ static public function run($argc,$argv) {
+
+ if(! $argc == 2)
+ return;
+
+ $c = q("select body from item where id = %d ",
+ dbesc(intval($argv[1]))
+ );
+
+ if(! $c)
+ return;
+
+ $item = $c[0];
+
+ // bbcode conversion by default processes embeds that aren't already cached.
+ // Ignore the returned html output.
+
+ bbcode($item['body']);
+ }
+}
diff --git a/include/items.php b/include/items.php
index ed6fee597..1fe98c119 100755
--- a/include/items.php
+++ b/include/items.php
@@ -2048,6 +2048,11 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
item_update_parent_commented($arr);
+
+ if(strpos($arr['body'],'[embed]') !== false) {
+ Master::Summon([ 'Cache_embeds', $current_post ]);
+ }
+
// If _creating_ a deleted item, don't propagate it further or send out notifications.
// We need to store the item details just in case the delete came in before the original post,
// so that we have an item in the DB that's marked deleted and won't store a fresh post
@@ -2384,6 +2389,13 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) {
*/
call_hooks('item_stored_update',$arr);
+ if(strpos($arr['body'],'[embed]') !== false) {
+ Master::Summon([ 'Cache_embeds', $orig_post_id ]);
+ }
+
+
+
+
if($deliver) {
send_status_notifications($orig_post_id,$arr);
tag_deliver($uid,$orig_post_id);