aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2024-11-08 22:24:33 +0100
committerMario Vavti <mario@mariovavti.com>2024-11-08 22:24:33 +0100
commitebad9d56c9e9396847a66c07124e863cc2940b3c (patch)
tree427bf605076aaa25d3f3751d91fe97a4c5e6a462
parent0481901b593f861366f9a766e0f020cce7a31be7 (diff)
downloadvolse-hubzilla-ebad9d56c9e9396847a66c07124e863cc2940b3c.tar.gz
volse-hubzilla-ebad9d56c9e9396847a66c07124e863cc2940b3c.tar.bz2
volse-hubzilla-ebad9d56c9e9396847a66c07124e863cc2940b3c.zip
port to containers item_store() continued
-rw-r--r--Zotlabs/Module/Item.php12
-rw-r--r--Zotlabs/Module/Tagrm.php98
-rw-r--r--include/help.php4
-rw-r--r--include/import.php8
-rw-r--r--include/items.php2
-rw-r--r--include/photos.php15
6 files changed, 76 insertions, 63 deletions
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index cb9925c01..83b7bea1e 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -1271,6 +1271,7 @@ class Item extends Controller {
$this->add_listeners($datarray);
}
+ /* sync this is done in item_store_update()
if (!$parent) {
$r = q("select * from item where id = %d",
intval($post_id)
@@ -1281,9 +1282,14 @@ class Item extends Controller {
Libsync::build_sync_packet($profile_uid, ['item' => [encode_item($sync_item[0], true)]]);
}
}
- if (!$nopush)
- Master::Summon(['Notifier', 'edit_post', $post_id]);
+ */
+ if (!$nopush) {
+ Master::Summon(['Notifier', 'edit_post', $post_id]);
+ if (intval($x['approval_id'])) {
+ Master::Summon(['Notifier', 'edit_post', $x['approval_id']]);
+ }
+ }
if ($api_source)
return ($x);
@@ -1387,6 +1393,7 @@ class Item extends Controller {
killme();
}
+ /* sync this is done in item_store_update()
if ($parent || $datarray['item_private'] == 1) {
$r = q("select * from item where id = %d",
intval($post_id)
@@ -1397,6 +1404,7 @@ class Item extends Controller {
Libsync::build_sync_packet($profile_uid, ['item' => [encode_item($sync_item[0], true)]]);
}
}
+ */
$datarray['id'] = $post_id;
$datarray['llink'] = z_root() . '/display/' . $datarray['uuid'];
diff --git a/Zotlabs/Module/Tagrm.php b/Zotlabs/Module/Tagrm.php
index a6dc21798..34eaf85b2 100644
--- a/Zotlabs/Module/Tagrm.php
+++ b/Zotlabs/Module/Tagrm.php
@@ -7,141 +7,141 @@ require_once('include/bbcode.php');
class Tagrm extends \Zotlabs\Web\Controller {
function post() {
-
+
if(! local_channel())
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
-
+
+
if((x($_POST,'submit')) && ($_POST['submit'] === t('Cancel')))
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
$tag = ((x($_POST,'tag')) ? trim($_POST['tag']) : '');
$item = ((x($_POST,'item')) ? intval($_POST['item']) : 0 );
-
+
$r = q("SELECT * FROM item WHERE id = %d AND uid = %d LIMIT 1",
intval($item),
intval(local_channel())
);
-
+
if(! $r)
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
$r = fetch_post_tags($r,true);
-
+
$item = $r[0];
$new_tags = array();
-
+
if($item['term']) {
for($x = 0; $x < count($item['term']); $x ++) {
if($item['term'][$x]['term'] !== hex2bin($tag))
$new_tags[] = $item['term'][$x];
}
}
-
+
if($new_tags)
$item['term'] = $new_tags;
else
unset($item['term']);
-
- item_store_update($item);
-
+
+ item_store_update($item, deliver: false, addAndSync: false);
+
info( t('Tag removed') . EOL );
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
// NOTREACHED
-
+
}
-
-
-
+
+
+
function get() {
-
+
if(! local_channel()) {
goaway(z_root() . '/' . $_SESSION['photo_return']);
// NOTREACHED
}
-
+
// remove tag on the fly if item and tag are provided
if((argc() == 4) && (argv(1) === 'drop') && intval(argv(2))) {
-
+
$item = intval(argv(2));
$tag = argv(3);
-
+
$r = q("SELECT * FROM item WHERE id = %d AND uid = %d LIMIT 1",
intval($item),
intval(local_channel())
);
-
+
if(! $r)
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
$r = fetch_post_tags($r,true);
-
+
$item = $r[0];
-
+
$new_tags = array();
-
+
if($item['term']) {
for($x = 0; $x < count($item['term']); $x ++) {
if($item['term'][$x]['term'] !== hex2bin($tag))
$new_tags[] = $item['term'][$x];
}
}
-
+
if($new_tags)
$item['term'] = $new_tags;
else
unset($item['term']);
-
- item_store_update($item);
-
+
+ item_store_update($item, deliver: false, addAndSync: false);
+
info( t('Tag removed') . EOL );
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
}
-
+
//if we got only the item print a list of tags to select
if((argc() == 3) && (argv(1) === 'drop') && intval(argv(2))) {
-
+
$o = '';
-
+
$item = intval(argv(2));
-
+
$r = q("SELECT * FROM item WHERE id = %d AND uid = %d LIMIT 1",
intval($item),
intval(local_channel())
);
-
+
if(! $r)
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
$r = fetch_post_tags($r,true);
-
+
if(! count($r[0]['term']))
goaway(z_root() . '/' . $_SESSION['photo_return']);
-
+
$o .= '<h3>' . t('Remove Item Tag') . '</h3>';
-
+
$o .= '<p id="tag-remove-desc">' . t('Select a tag to remove: ') . '</p>';
-
+
$o .= '<form id="tagrm" action="tagrm" method="post" >';
$o .= '<input type="hidden" name="item" value="' . $item . '" />';
$o .= '<ul>';
-
-
+
+
foreach($r[0]['term'] as $x) {
$o .= '<li><input type="checkbox" name="tag" value="' . bin2hex($x['term']) . '" >' . bbcode($x['term']) . '</input></li>';
}
-
+
$o .= '</ul>';
$o .= '<input id="tagrm-submit" type="submit" name="submit" value="' . t('Remove') .'" />';
$o .= '<input id="tagrm-cancel" type="submit" name="submit" value="' . t('Cancel') .'" />';
$o .= '</form>';
-
+
return $o;
-
+
}
-
+
}
-
+
}
diff --git a/include/help.php b/include/help.php
index 12721a30b..5750da1a2 100644
--- a/include/help.php
+++ b/include/help.php
@@ -156,12 +156,12 @@ function store_doc_file($s) {
if($r) {
$item['id'] = $r[0]['id'];
$item['mid'] = $item['parent_mid'] = $r[0]['mid'];
- $x = item_store_update($item);
+ $x = item_store_update($item, deliver: false, addAndSync: false);
}
else {
$item['uuid'] = item_message_id();
$item['mid'] = $item['parent_mid'] = z_root() . '/item/' . $item['uuid'];
- $x = item_store($item);
+ $x = item_store($item, deliver: false, addAndSync: false);
}
return $x;
diff --git a/include/import.php b/include/import.php
index 479c2c255..77d35a3e7 100644
--- a/include/import.php
+++ b/include/import.php
@@ -825,13 +825,13 @@ function import_items($channel, $items, $sync = false, $relocate = null) {
if($item['edited'] >= $r[0]['edited']) {
$item['id'] = $r[0]['id'];
$item['uid'] = $channel['channel_id'];
- $item_result = item_store_update($item,$allow_code,$deliver);
+ $item_result = item_store_update($item, $allow_code, $deliver, addAndSync: false);
}
}
else {
$item['aid'] = $channel['channel_account_id'];
$item['uid'] = $channel['channel_id'];
- $item_result = item_store($item,$allow_code,$deliver);
+ $item_result = item_store($item, $allow_code, $deliver, addAndSync: false);
}
// preserve conversations you've been involved in from being expired
@@ -1886,7 +1886,7 @@ function import_webpage_element($element, $channel, $type) {
$arr['id'] = $i[0]['id'];
// don't update if it has the same timestamp as the original
if($arr['edited'] > $i[0]['edited'])
- $x = item_store_update($arr,$execflag);
+ $x = item_store_update($arr, $execflag, deliver: false, addAndSync: false);
}
else {
if(($i) && (intval($i[0]['item_deleted']))) {
@@ -1897,7 +1897,7 @@ function import_webpage_element($element, $channel, $type) {
);
}
else
- $x = item_store($arr,$execflag);
+ $x = item_store($arr, $execflag, deliver: false, addAndSync: false);
}
if($x && $x['success']) {
diff --git a/include/items.php b/include/items.php
index 8ca4b5ca0..98cff99f9 100644
--- a/include/items.php
+++ b/include/items.php
@@ -3401,7 +3401,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent, $group = false
$approval_id = $post['approval_id'] ?? 0;
if ($post_id) {
- Master::Summon([ 'Notifier','tgroup',$post_id ]);
+ Master::Summon(['Notifier', 'tgroup', $post_id]);
if ($approval_id) {
Master::Summon(['Notifier', 'tgroup', $approval_id]);
}
diff --git a/include/photos.php b/include/photos.php
index 85c97d1fd..511024107 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -541,14 +541,19 @@ function photo_upload($channel, $observer, $args) {
// linked item from leaking into the feed when somebody has a channel with read_stream restrictions.
$arr['public_policy'] = map_scope(PermissionLimits::Get($channel['channel_id'], 'view_stream'), true);
- if ($arr['public_policy'])
+
+ if ($arr['public_policy']) {
$arr['item_private'] = 1;
+ }
$result = item_store($arr, false, $deliver);
- $item_id = $result['item_id'];
- if ($visible && $deliver)
- Zotlabs\Daemon\Master::Summon(['Notifier', 'wall-new', $item_id]);
+ if ($visible && $deliver) {
+ Master::Summon(['Notifier', 'wall-new', $result['item_id']]);
+ if (!empty($result['approval_id'])) {
+ Master::Summon(['Notifier', 'wall-new', $result['approval_id']]);
+ }
+ }
}
$ret['success'] = true;
@@ -911,7 +916,7 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
. '[zmg]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['imgscale'] . '[/zmg]'
. '[/zrl]';
- $result = item_store($arr);
+ $result = item_store($arr, deliver: false, addAndSync: true);
$item_id = $result['item_id'];
return $item_id;