aboutsummaryrefslogtreecommitdiffstats
path: root/include/items.php
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2018-12-15 20:55:28 +0100
committerMario <mario@mariovavti.com>2018-12-15 20:55:28 +0100
commit3ed6763da9cd34a1124d57928a850d0583cdc023 (patch)
tree356172e9d8ffe837bee95bc9c1698ece3d5b4606 /include/items.php
parentdbeabb8ff08819e35774b527c18c31ba9237ca3f (diff)
parent09b2cdd618217c2dfc0149579ce1780c201a50ea (diff)
downloadvolse-hubzilla-3ed6763da9cd34a1124d57928a850d0583cdc023.tar.gz
volse-hubzilla-3ed6763da9cd34a1124d57928a850d0583cdc023.tar.bz2
volse-hubzilla-3ed6763da9cd34a1124d57928a850d0583cdc023.zip
Merge branch 'custom-item-types' into 'dev'
Add ITEM_TYPE_CUSTOM and hooks for processing custom item types See merge request hubzilla/core!1431
Diffstat (limited to 'include/items.php')
-rwxr-xr-xinclude/items.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/items.php b/include/items.php
index 0cbca23fc..02d31fcb5 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1591,6 +1591,14 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
'item' => $arr,
'allow_exec' => $allow_exec
];
+
+ if ($arr['item_type']==ITEM_TYPE_CUSTOM) {
+ /* Custom items are not stored by default
+ because they require an addon to process. */
+ $d['item']['cancel']=true;
+
+ call_hooks('item_custom',$d);
+ }
/**
* @hooks item_store
* Called when item_store() stores a record of type item.
@@ -2016,6 +2024,13 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
*/
call_hooks('post_remote_end', $arr);
+ /**
+ * @hooks item_stored
+ * Called after new item is stored in the database.
+ * (By this time we have an item_id and other frequently needed info.)
+ */
+ call_hooks('item_stored',$arr);
+
item_update_parent_commented($arr);
// If _creating_ a deleted item, don't propagate it further or send out notifications.
@@ -2049,6 +2064,15 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) {
'item' => $arr,
'allow_exec' => $allow_exec
];
+
+ if ($arr['item_type']==ITEM_TYPE_CUSTOM) {
+ /* Custom items are not stored by default
+ because they require an addon to process. */
+ $d['item']['cancel']=true;
+
+ call_hooks('item_custom_update',$d);
+ }
+
/**
* @hooks item_store_update
* Called when item_store_update() is called to update a stored item. It
@@ -2339,6 +2363,12 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) {
*/
call_hooks('post_remote_update_end', $arr);
+ /**
+ * @hooks item_stored_update
+ * Called after updated item is stored in the database.
+ */
+ call_hooks('item_stored_update',$arr);
+
if($deliver) {
send_status_notifications($orig_post_id,$arr);
tag_deliver($uid,$orig_post_id);