Use "account-type" instead of "page-flags"

This commit is contained in:
Michael 2022-02-09 05:56:12 +00:00
parent ce762b4154
commit b857c26999
6 changed files with 14 additions and 17 deletions

View file

@ -159,7 +159,7 @@ class Status extends BaseProfile
// Does the profile page belong to a forum? // Does the profile page belong to a forum?
// If not then we can improve the performance with an additional condition // If not then we can improve the performance with an additional condition
$condition2 = ['uid' => $profile['uid'], 'page-flags' => [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]]; $condition2 = ['uid' => $profile['uid'], 'account-type' => User::ACCOUNT_TYPE_COMMUNITY];
if (!DBA::exists('user', $condition2)) { if (!DBA::exists('user', $condition2)) {
$condition = DBA::mergeConditions($condition, ['contact-id' => $profile['id']]); $condition = DBA::mergeConditions($condition, ['contact-id' => $profile['id']]);
} }

View file

@ -208,7 +208,7 @@ class Index extends BaseSettings
'$baseurl' => DI::baseUrl()->get(true), '$baseurl' => DI::baseUrl()->get(true),
]); ]);
$personal_account = !in_array($profile['page-flags'], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]); $personal_account = ($profile['account-type'] != User::ACCOUNT_TYPE_COMMUNITY);
$tpl = Renderer::getMarkupTemplate('settings/profile/index.tpl'); $tpl = Renderer::getMarkupTemplate('settings/profile/index.tpl');
$o .= Renderer::replaceMacros($tpl, [ $o .= Renderer::replaceMacros($tpl, [

View file

@ -216,7 +216,7 @@ class Notify extends BaseRepository
} }
// Ensure that the important fields are set at any time // Ensure that the important fields are set at any time
$fields = ['nickname', 'page-flags', 'notify-flags', 'language', 'username', 'email']; $fields = ['nickname', 'account-type', 'notify-flags', 'language', 'username', 'email'];
$user = DBA::selectFirst('user', $fields, ['uid' => $params['uid']]); $user = DBA::selectFirst('user', $fields, ['uid' => $params['uid']]);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
@ -225,7 +225,7 @@ class Notify extends BaseRepository
} }
// There is no need to create notifications for forum accounts // There is no need to create notifications for forum accounts
if (in_array($user['page-flags'], [Model\User::PAGE_FLAGS_COMMUNITY, Model\User::PAGE_FLAGS_PRVGROUP])) { if ($user['account-type'] == Model\User::ACCOUNT_TYPE_COMMUNITY) {
return false; return false;
} }

View file

@ -505,13 +505,13 @@ class Transmitter
* @param array $item Item array * @param array $item Item array
* @param boolean $blindcopy addressing via "bcc" or "cc"? * @param boolean $blindcopy addressing via "bcc" or "cc"?
* @param integer $last_id Last item id for adding receivers * @param integer $last_id Last item id for adding receivers
* @param boolean $forum_mode "true" means that we are sending content to a forum * @param boolean $forum_post "true" means that we are sending content to a forum
* *
* @return array with permission data * @return array with permission data
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException * @throws \ImagickException
*/ */
private static function createPermissionBlockForItem($item, $blindcopy, $last_id = 0, $forum_mode = false) private static function createPermissionBlockForItem($item, $blindcopy, $last_id = 0, $forum_post = false)
{ {
if ($last_id == 0) { if ($last_id == 0) {
$last_id = $item['id']; $last_id = $item['id'];
@ -638,7 +638,7 @@ class Transmitter
// Public thread parent post always are directed to the followers. // Public thread parent post always are directed to the followers.
// This mustn't be done by posts that are directed to forum servers via the exclusive mention. // This mustn't be done by posts that are directed to forum servers via the exclusive mention.
// But possibly in that case we could add the "followers" collection of the forum to the message. // But possibly in that case we could add the "followers" collection of the forum to the message.
if (($item['private'] != Item::PRIVATE) && !$forum_mode) { if (($item['private'] != Item::PRIVATE) && !$forum_post) {
$data['cc'][] = $actor_profile['followers']; $data['cc'][] = $actor_profile['followers'];
} }
} }
@ -808,14 +808,14 @@ class Transmitter
* @param integer $uid User ID * @param integer $uid User ID
* @param boolean $personal fetch personal inboxes * @param boolean $personal fetch personal inboxes
* @param integer $last_id Last item id for adding receivers * @param integer $last_id Last item id for adding receivers
* @param boolean $forum_mode "true" means that we are sending content to a forum * @param boolean $forum_post "true" means that we are sending content to a forum
* @return array with inboxes * @return array with inboxes
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException * @throws \ImagickException
*/ */
public static function fetchTargetInboxes($item, $uid, $personal = false, $last_id = 0, $forum_mode = false) public static function fetchTargetInboxes($item, $uid, $personal = false, $last_id = 0, $forum_post = false)
{ {
$permissions = self::createPermissionBlockForItem($item, true, $last_id, $forum_mode); $permissions = self::createPermissionBlockForItem($item, true, $last_id, $forum_post);
if (empty($permissions)) { if (empty($permissions)) {
return []; return [];
} }

View file

@ -1547,7 +1547,7 @@ class DFRN
if ($item["thr-parent"] != $item["uri"]) { if ($item["thr-parent"] != $item["uri"]) {
$community = false; $community = false;
if ($importer["page-flags"] == User::PAGE_FLAGS_COMMUNITY || $importer["page-flags"] == User::PAGE_FLAGS_PRVGROUP) { if ($importer['account-type'] == User::ACCOUNT_TYPE_COMMUNITY) {
$sql_extra = ""; $sql_extra = "";
$community = true; $community = true;
Logger::notice("possible community action"); Logger::notice("possible community action");
@ -2381,14 +2381,11 @@ class DFRN
return false; return false;
} }
$user = DBA::selectFirst('user', ['page-flags', 'nickname'], ['uid' => $uid]); $user = DBA::selectFirst('user', ['account-type', 'nickname'], ['uid' => $uid]);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
return false; return false;
} }
$community_page = ($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY);
$prvgroup = ($user['page-flags'] == User::PAGE_FLAGS_PRVGROUP);
$link = Strings::normaliseLink(DI::baseUrl() . '/profile/' . $user['nickname']); $link = Strings::normaliseLink(DI::baseUrl() . '/profile/' . $user['nickname']);
/* /*
@ -2411,7 +2408,7 @@ class DFRN
return false; return false;
} }
return $community_page || $prvgroup; return ($user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY);
} }
/** /**

View file

@ -859,7 +859,7 @@ class Diaspora
// Yes, then it is fine. // Yes, then it is fine.
return true; return true;
// Is it a post to a community? // Is it a post to a community?
} elseif (($contact["rel"] == Contact::FOLLOWER) && in_array($importer["page-flags"], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP])) { } elseif (($contact["rel"] == Contact::FOLLOWER) && ($importer['account-type'] == User::ACCOUNT_TYPE_COMMUNITY)) {
// That's good // That's good
return true; return true;
// Is the message a global user or a comment? // Is the message a global user or a comment?