Browse Source

Merge pull request #7640 from annando/hidewall

Changed "hidewall" behaviour
tags/2019.09
Hypolite Petovan GitHub 9 months ago
parent
commit
89e1fee01e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 9 deletions
  1. +3
    -2
      mod/community.php
  2. +0
    -4
      mod/item.php
  3. +4
    -3
      src/Model/Contact.php

+ 3
- 2
mod/community.php View File

@@ -227,6 +227,7 @@ function community_getitems($start, $itemspage, $content, $accounttype)
$values = [$start, $itemspage];
}

/// @todo Use "unsearchable" here as well (instead of "hidewall")
$r = DBA::p("SELECT `item`.`uri`, `author`.`url` AS `author-link` FROM `thread`
STRAIGHT_JOIN `user` ON `user`.`uid` = `thread`.`uid` AND NOT `user`.`hidewall`
STRAIGHT_JOIN `item` ON `item`.`id` = `thread`.`iid`
@@ -237,9 +238,9 @@ function community_getitems($start, $itemspage, $content, $accounttype)
return DBA::toArray($r);
} elseif ($content == 'global') {
if (!is_null($accounttype)) {
$condition = ["`uid` = ? AND `owner`.`contact-type` = ?", 0, $accounttype];
$condition = ["`uid` = ? AND NOT `author`.`unsearchable` AND NOT `owner`.`unsearchable` AND `owner`.`contact-type` = ?", 0, $accounttype];
} else {
$condition = ['uid' => 0];
$condition = ["`uid` = ? AND NOT `author`.`unsearchable` AND NOT `owner`.`unsearchable`", 0];
}

$r = Item::selectThreadForUser(0, ['uri'], $condition, ['order' => ['commented' => true], 'limit' => [$start, $itemspage]]);


+ 0
- 4
mod/item.php View File

@@ -284,10 +284,6 @@ function item_post(App $a) {

$private = ((strlen($str_group_allow) || strlen($str_contact_allow) || strlen($str_group_deny) || strlen($str_contact_deny)) ? 1 : 0);

if ($user['hidewall']) {
$private = 2;
}

// If this is a comment, set the permissions from the parent.

if ($toplevel_item) {


+ 4
- 3
src/Model/Contact.php View File

@@ -668,21 +668,21 @@ class Contact extends BaseObject
public static function updateSelfFromUserID($uid, $update_avatar = false)
{
$fields = ['id', 'name', 'nick', 'location', 'about', 'keywords', 'gender', 'avatar',
'xmpp', 'contact-type', 'forum', 'prv', 'avatar-date', 'url', 'nurl',
'xmpp', 'contact-type', 'forum', 'prv', 'avatar-date', 'url', 'nurl', 'unsearchable',
'photo', 'thumb', 'micro', 'addr', 'request', 'notify', 'poll', 'confirm', 'poco'];
$self = DBA::selectFirst('contact', $fields, ['uid' => $uid, 'self' => true]);
if (!DBA::isResult($self)) {
return;
}

$fields = ['nickname', 'page-flags', 'account-type'];
$fields = ['nickname', 'page-flags', 'account-type', 'hidewall'];
$user = DBA::selectFirst('user', $fields, ['uid' => $uid]);
if (!DBA::isResult($user)) {
return;
}

$fields = ['name', 'photo', 'thumb', 'about', 'address', 'locality', 'region',
'country-name', 'gender', 'pub_keywords', 'xmpp'];
'country-name', 'gender', 'pub_keywords', 'xmpp', 'net-publish'];
$profile = DBA::selectFirst('profile', $fields, ['uid' => $uid, 'is-default' => true]);
if (!DBA::isResult($profile)) {
return;
@@ -727,6 +727,7 @@ class Contact extends BaseObject
$fields['avatar'] = System::baseUrl() . '/photo/profile/' .$uid . '.' . $file_suffix;
$fields['forum'] = $user['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
$fields['prv'] = $user['page-flags'] == User::PAGE_FLAGS_PRVGROUP;
$fields['unsearchable'] = $user['hidewall'] || !$profile['net-publish'];

// it seems as if ported accounts can have wrong values, so we make sure that now everything is fine.
$fields['url'] = System::baseUrl() . '/profile/' . $user['nickname'];


Loading…
Cancel
Save