Browse Source

"last-child" is not used anymore

pull/4271/head
Michael 4 years ago
parent
commit
034d46196f
  1. 1
      database.sql
  2. 1
      include/api.php
  3. 1
      include/conversation.php
  4. 1
      include/event.php
  5. 14
      include/items.php
  6. 1
      include/like.php
  7. 4
      mod/dfrn_confirm.php
  8. 1
      mod/item.php
  9. 9
      mod/photos.php
  10. 1
      mod/poke.php
  11. 1
      mod/profiles.php
  12. 1
      mod/subthread.php
  13. 1
      mod/tagger.php
  14. 1
      src/Database/DBStructure.php
  15. 61
      src/Protocol/DFRN.php
  16. 2
      src/Protocol/Diaspora.php
  17. 5
      src/Protocol/Feed.php
  18. 5
      src/Worker/OnePoll.php

1
database.sql

@ -499,7 +499,6 @@ CREATE TABLE IF NOT EXISTS `item` (
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '',
`origin` boolean NOT NULL DEFAULT '0' COMMENT '',
`forum_mode` tinyint NOT NULL DEFAULT 0 COMMENT '',
`last-child` boolean NOT NULL DEFAULT '1' COMMENT '',
`mention` boolean NOT NULL DEFAULT '0' COMMENT '',
`network` varchar(32) NOT NULL DEFAULT '' COMMENT '',
`rendered-hash` varchar(32) NOT NULL DEFAULT '' COMMENT '',

1
include/api.php

@ -4713,7 +4713,6 @@ function post_photo_item($hash, $allow_cid, $deny_cid, $allow_gid, $deny_gid, $f
$arr['allow_gid'] = $allow_gid;
$arr['deny_cid'] = $deny_cid;
$arr['deny_gid'] = $deny_gid;
$arr['last-child'] = 1;
$arr['visible'] = $visibility;
$arr['origin'] = 1;

1
include/conversation.php

@ -430,7 +430,6 @@ These Fields are not added below (yet). They are here to for bug search.
`item`.`deleted`,
`item`.`origin`,
`item`.`forum_mode`,
`item`.`last-child`,
`item`.`mention`,
`item`.`global`,
`item`.`gcontact-id`,

1
include/event.php

@ -386,7 +386,6 @@ function event_store($arr) {
$item_arr['deny_cid'] = $arr['deny_cid'];
$item_arr['deny_gid'] = $arr['deny_gid'];
$item_arr['private'] = $arr['private'];
$item_arr['last-child'] = 1;
$item_arr['visible'] = 1;
$item_arr['verb'] = ACTIVITY_POST;
$item_arr['object-type'] = ACTIVITY_OBJ_EVENT;

14
include/items.php

@ -487,7 +487,6 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
$arr['wall'] = 1;
$arr['type'] = 'wall';
$arr['origin'] = 1;
$arr['last-child'] = 1;
$arr['network'] = NETWORK_DFRN;
$arr['protocol'] = PROTOCOL_DFRN;
@ -624,7 +623,6 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
$arr['title'] = ((x($arr, 'title')) ? trim($arr['title']) : '');
$arr['location'] = ((x($arr, 'location')) ? trim($arr['location']) : '');
$arr['coord'] = ((x($arr, 'coord')) ? notags(trim($arr['coord'])) : '');
$arr['last-child'] = ((x($arr, 'last-child')) ? intval($arr['last-child']) : 0 );
$arr['visible'] = ((x($arr, 'visible') !== false) ? intval($arr['visible']) : 1 );
$arr['deleted'] = 0;
$arr['parent-uri'] = ((x($arr, 'parent-uri')) ? notags(trim($arr['parent-uri'])) : $arr['uri']);
@ -1112,18 +1110,6 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
create_tags_from_item($current_post);
Term::createFromItem($current_post);
/*
* If this is now the last-child, force all _other_ children of this parent to *not* be last-child
* It is done after the transaction to avoid dead locks.
*/
if ($arr['last-child']) {
q("UPDATE `item` SET `last-child` = 0 WHERE `parent-uri` = '%s' AND `uid` = %d AND `id` != %d",
dbesc($arr['uri']),
intval($arr['uid']),
intval($current_post)
);
}
if ($arr['parent-uri'] === $arr['uri']) {
Item::addShadow($current_post);
} else {

1
include/like.php

@ -238,7 +238,6 @@ EOT;
'deny_gid' => $item['deny_gid'],
'visible' => 1,
'unseen' => 1,
'last-child' => 0
];
$new_item_id = item_store($new_item);

4
mod/dfrn_confirm.php

@ -432,8 +432,6 @@ function dfrn_confirm_post(App $a, $handsfree = null)
$arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $contact['thumb'] . '" />' . "\n");
$arr['object'] .= '</link></object>' . "\n";
$arr['last-child'] = 1;
$arr['allow_cid'] = $user['allow_cid'];
$arr['allow_gid'] = $user['allow_gid'];
$arr['deny_cid'] = $user['deny_cid'];
@ -696,8 +694,6 @@ function dfrn_confirm_post(App $a, $handsfree = null)
$arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $combined['thumb'] . '" />' . "\n");
$arr['object'] .= '</link></object>' . "\n";
$arr['last-child'] = 1;
$arr['allow_cid'] = $user['allow_cid'];
$arr['allow_gid'] = $user['allow_gid'];
$arr['deny_cid'] = $user['deny_cid'];

1
mod/item.php

@ -738,7 +738,6 @@ function item_post(App $a) {
$datarray['gcontact-id'] = GContact::getId(["url" => $datarray['author-link'], "network" => $datarray['network'],
"photo" => $datarray['author-avatar'], "name" => $datarray['author-name']]);
$datarray['object'] = $object;
$datarray['last-child'] = 1;
/*
* These fields are for the convenience of plugins...

9
mod/photos.php

@ -510,7 +510,6 @@ function photos_post(App $a)
$arr['allow_gid'] = $p[0]['allow_gid'];
$arr['deny_cid'] = $p[0]['deny_cid'];
$arr['deny_gid'] = $p[0]['deny_gid'];
$arr['last-child'] = 1;
$arr['visible'] = $visibility;
$arr['origin'] = 1;
@ -687,7 +686,6 @@ function photos_post(App $a)
$arr['allow_gid'] = $p[0]['allow_gid'];
$arr['deny_cid'] = $p[0]['deny_cid'];
$arr['deny_gid'] = $p[0]['deny_gid'];
$arr['last-child'] = 1;
$arr['visible'] = 1;
$arr['verb'] = ACTIVITY_TAG;
$arr['object-type'] = ACTIVITY_OBJ_PERSON;
@ -924,7 +922,6 @@ function photos_post(App $a)
$arr['allow_gid'] = $str_group_allow;
$arr['deny_cid'] = $str_contact_deny;
$arr['deny_gid'] = $str_group_deny;
$arr['last-child'] = 1;
$arr['visible'] = $visible;
$arr['origin'] = 1;
@ -1513,7 +1510,7 @@ function photos_content(App $a)
}
if (!DBM::is_result($r)) {
if (($can_post || can_write_wall($owner_uid)) && $link_item['last-child']) {
if (($can_post || can_write_wall($owner_uid))) {
$comments .= replace_macros($cmnt_tpl, [
'$return_path' => '',
'$jsreload' => $return_url,
@ -1552,7 +1549,7 @@ function photos_content(App $a)
$dislike = format_like($conv_responses['dislike'][$link_item['uri']], $conv_responses['dislike'][$link_item['uri'] . '-l'], 'dislike', $link_item['id']);
}
if (($can_post || can_write_wall($owner_uid)) && $link_item['last-child']) {
if (($can_post || can_write_wall($owner_uid))) {
$comments .= replace_macros($cmnt_tpl,[
'$return_path' => '',
'$jsreload' => $return_url,
@ -1625,7 +1622,7 @@ function photos_content(App $a)
'$comment' => $comment
]);
if (($can_post || can_write_wall($owner_uid)) && $item['last-child']) {
if (($can_post || can_write_wall($owner_uid))) {
$comments .= replace_macros($cmnt_tpl, [
'$return_path' => '',
'$jsreload' => $return_url,

1
mod/poke.php

@ -117,7 +117,6 @@ function poke_init(App $a) {
$arr['allow_gid'] = $allow_gid;
$arr['deny_cid'] = $deny_cid;
$arr['deny_gid'] = $deny_gid;
$arr['last-child'] = 1;
$arr['visible'] = 1;
$arr['verb'] = $activity;
$arr['private'] = $private;

1
mod/profiles.php

@ -593,7 +593,6 @@ function profile_activity($changed, $value) {
$arr['object'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . $self[0]['url'] . '?tab=profile' . '" />' . "\n");
$arr['object'] .= xmlify('<link rel="photo" type="image/jpeg" href="' . $self[0]['thumb'] . '" />' . "\n");
$arr['object'] .= '</link></object>' . "\n";
$arr['last-child'] = 1;
$arr['allow_cid'] = $a->user['allow_cid'];
$arr['allow_gid'] = $a->user['allow_gid'];

1
mod/subthread.php

@ -144,7 +144,6 @@ EOT;
$arr['deny_gid'] = $item['deny_gid'];
$arr['visible'] = 1;
$arr['unseen'] = 1;
$arr['last-child'] = 0;
$post_id = item_store($arr);

1
mod/tagger.php

@ -139,7 +139,6 @@ EOT;
$arr['deny_gid'] = $item['deny_gid'];
$arr['visible'] = 1;
$arr['unseen'] = 1;
$arr['last-child'] = 1;
$arr['origin'] = 1;
$post_id = item_store($arr);

1
src/Database/DBStructure.php

@ -1175,7 +1175,6 @@ class DBStructure {
"deleted" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
"origin" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
"forum_mode" => ["type" => "tinyint", "not null" => "1", "default" => "0", "comment" => ""],
"last-child" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => ""],
"mention" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => ""],
"network" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],
"rendered-hash" => ["type" => "varchar(32)", "not null" => "1", "default" => "", "comment" => ""],

61
src/Protocol/DFRN.php

@ -997,7 +997,7 @@ class DFRN
// "comment-allow" is some old fashioned stuff for old Friendica versions.
// It is included in the rewritten code for completeness
if ($comment) {
XML::addElement($doc, $entry, "dfrn:comment-allow", intval($item['last-child']));
XML::addElement($doc, $entry, "dfrn:comment-allow", 1);
}
if ($item['location']) {
@ -2117,23 +2117,6 @@ class DFRN
Worker::add(PRIORITY_HIGH, "Notifier", "comment-import", $current["id"]);
}
}
// update last-child if it changes
if ($item["last-child"] && ($item["last-child"] != $current["last-child"])) {
$r = q(
"UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` IN (0, %d)",
dbesc(datetime_convert()),
dbesc($item["parent-uri"]),
intval($importer["importer_uid"])
);
$r = q(
"UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` IN (0, %d)",
intval($item["last-child"]),
dbesc(datetime_convert()),
dbesc($item["uri"]),
intval($importer["importer_uid"])
);
}
return $changed;
}
@ -2459,7 +2442,7 @@ class DFRN
$item["edited"] = $xpath->query("atom:updated/text()", $entry)->item(0)->nodeValue;
$current = q(
"SELECT `id`, `uid`, `last-child`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
"SELECT `id`, `uid`, `edited`, `body` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
dbesc($item["uri"]),
intval($importer["importer_uid"])
);
@ -2523,7 +2506,6 @@ class DFRN
// We don't need the content element since "dfrn:env" is always present
//$item["body"] = $xpath->query("atom:content/text()", $entry)->item(0)->nodeValue;
$item["last-child"] = $xpath->query("dfrn:comment-allow/text()", $entry)->item(0)->nodeValue;
$item["location"] = $xpath->query("dfrn:location/text()", $entry)->item(0)->nodeValue;
$georsspoint = $xpath->query("georss:point", $entry);
@ -2747,22 +2729,6 @@ class DFRN
$parent_uri = $r[0]["parent-uri"];
}
if (!$is_like) {
$r1 = q(
"UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `uid` = %d AND `parent` = %d",
dbesc(datetime_convert()),
intval($importer["importer_uid"]),
intval($r[0]["parent"])
);
$r2 = q(
"UPDATE `item` SET `last-child` = 1, `changed` = '%s' WHERE `uid` = %d AND `id` = %d",
dbesc(datetime_convert()),
intval($importer["importer_uid"]),
intval($posted_id)
);
}
if ($posted_id && $parent && ($entrytype == DFRN_REPLY_RC)) {
logger("Notifying followers about comment ".$posted_id, LOGGER_DEBUG);
Worker::add(PRIORITY_HIGH, "Notifier", "comment-import", $posted_id);
@ -2928,28 +2894,7 @@ class DFRN
create_tags_from_itemuri($uri, $importer["uid"]);
Term::createFromItemURI($uri, $importer["uid"]);
update_thread_uri($uri, $importer["importer_uid"]);
if ($item["last-child"]) {
// ensure that last-child is set in case the comment that had it just got wiped.
q(
"UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` IN (0, %d)",
dbesc(datetime_convert()),
dbesc($item["parent-uri"]),
intval($item["uid"])
);
// who is the last child now?
$r = q(
"SELECT `id` FROM `item` WHERE `parent-uri` = '%s' AND `type` != 'activity' AND `deleted` = 0 AND `moderated` = 0 AND `uid` = %d
ORDER BY `created` DESC LIMIT 1",
dbesc($item["parent-uri"]),
intval($importer["uid"])
);
if (DBM::is_result($r)) {
q(
"UPDATE `item` SET `last-child` = 1 WHERE `id` = %d",
intval($r[0]["id"])
);
}
}
// if this is a relayed delete, propagate it to other recipients
if ($entrytype == DFRN_REPLY_RC) {

2
src/Protocol/Diaspora.php

@ -2409,8 +2409,6 @@ class Diaspora
$arr["object"] = self::constructNewFriendObject($contact);
$arr["last-child"] = 1;
$user = dba::selectFirst('user', ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid'], ['uid' => $importer["uid"]]);
$arr["allow_cid"] = $user["allow_cid"];

5
src/Protocol/Feed.php

@ -198,11 +198,6 @@ class Feed {
$header["contact-id"] = $contact["id"];
if (!strlen($contact["notify"])) {
// one way feed - no remote comment ability
$header["last-child"] = 0;
}
if (!is_object($entries)) {
logger("There are no entries in this feed.", LOGGER_DEBUG);
return;

5
src/Worker/OnePoll.php

@ -531,11 +531,6 @@ class OnePoll
$stored_item = item_store($datarray);
$condition = ['parent-uri' => $datarray['parent-uri'], 'uid' => $importer_uid];
dba::update('item', ['last-child' => false], $condition);
dba::update('item', ['last-child' => true], ['id' => $stored_item]);
switch ($mailconf['action']) {
case 0:
logger("Mail: Seen before ".$msg_uid." for ".$mailconf['user'].". Doing nothing.", LOGGER_DEBUG);

Loading…
Cancel
Save