refactor outgoing comment ability for off network contacts
This commit is contained in:
parent
188b1d2d6f
commit
e521dfd5e6
2 changed files with 19 additions and 16 deletions
|
@ -909,14 +909,14 @@ function consume_feed($xml,$importer,$contact, &$hub, $datedir = 0) {
|
||||||
// FIXME update content if 'updated' changes
|
// FIXME update content if 'updated' changes
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
|
$allow = $item->get_item_tags( NAMESPACE_DFRN, 'comment-allow');
|
||||||
if($allow && $allow[0]['data'] != $r[0]['last-child']) {
|
if((($allow) && ($allow[0]['data'] != $r[0]['last-child'])) || ($contact['network'] !== 'dfrn')) {
|
||||||
$r = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d",
|
$r = q("UPDATE `item` SET `last-child` = 0, `changed` = '%s' WHERE `parent-uri` = '%s' AND `uid` = %d",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
dbesc($parent_uri),
|
dbesc($parent_uri),
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
);
|
);
|
||||||
$r = q("UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("UPDATE `item` SET `last-child` = %d , `changed` = '%s' WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
intval($allow[0]['data']),
|
intval((($allow) ? $allow[0]['data'] : 1)),
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
dbesc($item_id),
|
dbesc($item_id),
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
|
@ -977,8 +977,9 @@ function consume_feed($xml,$importer,$contact, &$hub, $datedir = 0) {
|
||||||
if($contact['network'] === 'stat') {
|
if($contact['network'] === 'stat') {
|
||||||
if(strlen($datarray['title']))
|
if(strlen($datarray['title']))
|
||||||
unset($datarray['title']);
|
unset($datarray['title']);
|
||||||
if(($contact['rel'] == REL_VIP) || ($contact['rel'] == REL_BUD))
|
// if(($contact['rel'] == REL_VIP) || ($contact['rel'] == REL_BUD))
|
||||||
$datarray['last-child'] = 1;
|
// basically allow comments to/from any OStatus contact, unless blocked by readonly
|
||||||
|
$datarray['last-child'] = 1;
|
||||||
}
|
}
|
||||||
$datarray['parent-uri'] = $item_id;
|
$datarray['parent-uri'] = $item_id;
|
||||||
$datarray['uid'] = $importer['uid'];
|
$datarray['uid'] = $importer['uid'];
|
||||||
|
|
|
@ -10,19 +10,21 @@ function can_write_wall(&$a,$owner) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` LEFT JOIN `user` on `user`.`uid` = `contact`.`uid`
|
if(remote_user()) {
|
||||||
WHERE `contact`.`uid` = %d AND `contact`.`id` = %d AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` LEFT JOIN `user` on `user`.`uid` = `contact`.`uid`
|
||||||
AND `readonly` = 0 AND ( `contact`.`rel` IN ( %d , %d ) OR `user`.`page-flags` = %d OR (`contact`.`network` = 'stat' AND `contact`.rel` = %d)) LIMIT 1",
|
WHERE `contact`.`uid` = %d AND `contact`.`id` = %d AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
||||||
intval($owner),
|
AND `readonly` = 0 AND ( `contact`.`rel` IN ( %d , %d ) OR `user`.`page-flags` = %d ) LIMIT 1",
|
||||||
intval($_SESSION['visitor_id']),
|
intval($owner),
|
||||||
intval(REL_VIP),
|
intval(remote_user()),
|
||||||
intval(REL_BUD),
|
intval(REL_VIP),
|
||||||
intval(PAGE_COMMUNITY),
|
intval(REL_BUD),
|
||||||
intval(REL_FAN)
|
intval(PAGE_COMMUNITY)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
if(count($r))
|
||||||
|
return true;
|
||||||
|
|
||||||
if(count($r))
|
|
||||||
return true;
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue