Move Contact::Page_* constants to User::PAGE_FLAGS_*

This commit is contained in:
Hypolite Petovan 2019-01-06 12:37:48 -05:00
parent 11a4a57bfe
commit ad9c67663d
23 changed files with 126 additions and 86 deletions

View File

@ -78,7 +78,7 @@ function notification($params)
['uid' => $params['uid']]); ['uid' => $params['uid']]);
// There is no need to create notifications for forum accounts // There is no need to create notifications for forum accounts
if (!DBA::isResult($user) || in_array($user["page-flags"], [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP])) { if (!DBA::isResult($user) || in_array($user["page-flags"], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP])) {
return; return;
} }
$nickname = $user["nickname"]; $nickname = $user["nickname"];

View File

@ -1988,11 +1988,11 @@ function admin_page_users(App $a)
$adminlist = explode(",", str_replace(" ", "", Config::get('config', 'admin_email'))); $adminlist = explode(",", str_replace(" ", "", Config::get('config', 'admin_email')));
$_setup_users = function ($e) use ($adminlist) { $_setup_users = function ($e) use ($adminlist) {
$page_types = [ $page_types = [
Contact::PAGE_NORMAL => L10n::t('Normal Account Page'), User::PAGE_FLAGS_NORMAL => L10n::t('Normal Account Page'),
Contact::PAGE_SOAPBOX => L10n::t('Soapbox Page'), User::PAGE_FLAGS_SOAPBOX => L10n::t('Soapbox Page'),
Contact::PAGE_COMMUNITY => L10n::t('Public Forum'), User::PAGE_FLAGS_COMMUNITY => L10n::t('Public Forum'),
Contact::PAGE_FREELOVE => L10n::t('Automatic Friend Page'), User::PAGE_FLAGS_FREELOVE => L10n::t('Automatic Friend Page'),
Contact::PAGE_PRVGROUP => L10n::t('Private Forum') User::PAGE_FLAGS_PRVGROUP => L10n::t('Private Forum')
]; ];
$account_types = [ $account_types = [
Contact::ACCOUNT_TYPE_PERSON => L10n::t('Personal Page'), Contact::ACCOUNT_TYPE_PERSON => L10n::t('Personal Page'),

View File

@ -202,11 +202,11 @@ function dfrn_confirm_post(App $a, $handsfree = null)
$params['duplex'] = 1; $params['duplex'] = 1;
} }
if ($user['page-flags'] == Contact::PAGE_COMMUNITY) { if ($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY) {
$params['page'] = 1; $params['page'] = 1;
} }
if ($user['page-flags'] == Contact::PAGE_PRVGROUP) { if ($user['page-flags'] == User::PAGE_FLAGS_PRVGROUP) {
$params['page'] = 2; $params['page'] = 2;
} }

View File

@ -351,7 +351,7 @@ function dfrn_notify_content(App $a) {
$rino = $rino_remote; $rino = $rino_remote;
} }
if (($importer['rel'] && ($importer['rel'] != Contact::SHARING)) || ($importer['page-flags'] == Contact::PAGE_COMMUNITY)) { if (($importer['rel'] && ($importer['rel'] != Contact::SHARING)) || ($importer['page-flags'] == User::PAGE_FLAGS_COMMUNITY)) {
$perm = 'rw'; $perm = 'rw';
} else { } else {
$perm = 'r'; $perm = 'r';

View File

@ -544,7 +544,7 @@ function dfrn_request_content(App $a)
$auto_confirm = false; $auto_confirm = false;
if (DBA::isResult($r)) { if (DBA::isResult($r)) {
if ($r[0]['page-flags'] != Contact::PAGE_NORMAL && $r[0]['page-flags'] != Contact::PAGE_PRVGROUP) { if ($r[0]['page-flags'] != User::PAGE_FLAGS_NORMAL && $r[0]['page-flags'] != User::PAGE_FLAGS_PRVGROUP) {
$auto_confirm = true; $auto_confirm = true;
} }
@ -572,7 +572,7 @@ function dfrn_request_content(App $a)
'node' => $r[0]['nickname'], 'node' => $r[0]['nickname'],
'dfrn_id' => $r[0]['issued-id'], 'dfrn_id' => $r[0]['issued-id'],
'intro_id' => $intro[0]['id'], 'intro_id' => $intro[0]['id'],
'duplex' => (($r[0]['page-flags'] == Contact::PAGE_FREELOVE) ? 1 : 0), 'duplex' => (($r[0]['page-flags'] == User::PAGE_FLAGS_FREELOVE) ? 1 : 0),
]; ];
dfrn_confirm_post($a, $handsfree); dfrn_confirm_post($a, $handsfree);
} }
@ -623,7 +623,7 @@ function dfrn_request_content(App $a)
* because nobody is going to read the comments and * because nobody is going to read the comments and
* it doesn't matter if they know you or not. * it doesn't matter if they know you or not.
*/ */
if ($a->profile['page-flags'] == Contact::PAGE_NORMAL) { if ($a->profile['page-flags'] == User::PAGE_FLAGS_NORMAL) {
$tpl = Renderer::getMarkupTemplate('dfrn_request.tpl'); $tpl = Renderer::getMarkupTemplate('dfrn_request.tpl');
} else { } else {
$tpl = Renderer::getMarkupTemplate('auto_request.tpl'); $tpl = Renderer::getMarkupTemplate('auto_request.tpl');

View File

@ -29,7 +29,7 @@ function hcard_init(App $a)
Profile::load($a, $which, $profile); Profile::load($a, $which, $profile);
if (!empty($a->profile['page-flags']) && ($a->profile['page-flags'] == Contact::PAGE_COMMUNITY)) { if (!empty($a->profile['page-flags']) && ($a->profile['page-flags'] == User::PAGE_FLAGS_COMMUNITY)) {
$a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />'; $a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
} }
if (!empty($a->profile['openidserver'])) { if (!empty($a->profile['openidserver'])) {

View File

@ -153,7 +153,7 @@ function photos_post(App $a)
$visitor = 0; $visitor = 0;
$page_owner_uid = $a->data['user']['uid']; $page_owner_uid = $a->data['user']['uid'];
$community_page = $a->data['user']['page-flags'] == Contact::PAGE_COMMUNITY; $community_page = $a->data['user']['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
if (local_user() && (local_user() == $page_owner_uid)) { if (local_user() && (local_user() == $page_owner_uid)) {
$can_post = true; $can_post = true;
@ -938,7 +938,7 @@ function photos_content(App $a)
$owner_uid = $a->data['user']['uid']; $owner_uid = $a->data['user']['uid'];
$community_page = (($a->data['user']['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false); $community_page = (($a->data['user']['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
if (local_user() && (local_user() == $owner_uid)) { if (local_user() && (local_user() == $owner_uid)) {
$can_post = true; $can_post = true;

View File

@ -62,7 +62,7 @@ function profile_init(App $a)
$blocked = !local_user() && !remote_user() && Config::get('system', 'block_public'); $blocked = !local_user() && !remote_user() && Config::get('system', 'block_public');
$userblock = !local_user() && !remote_user() && $a->profile['hidewall']; $userblock = !local_user() && !remote_user() && $a->profile['hidewall'];
if (!empty($a->profile['page-flags']) && $a->profile['page-flags'] == Contact::PAGE_COMMUNITY) { if (!empty($a->profile['page-flags']) && $a->profile['page-flags'] == User::PAGE_FLAGS_COMMUNITY) {
$a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />'; $a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
} }
@ -172,7 +172,7 @@ function profile_content(App $a, $update = 0)
$o .= Widget::commonFriendsVisitor($a->profile['profile_uid']); $o .= Widget::commonFriendsVisitor($a->profile['profile_uid']);
$commpage = $a->profile['page-flags'] == Contact::PAGE_COMMUNITY; $commpage = $a->profile['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
$commvisitor = $commpage && $remote_contact; $commvisitor = $commpage && $remote_contact;
$a->page['aside'] .= posted_date_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], $a->profile['profile_uid'], true); $a->page['aside'] .= posted_date_widget(System::baseUrl(true) . '/profile/' . $a->profile['nickname'], $a->profile['profile_uid'], true);
@ -256,7 +256,7 @@ function profile_content(App $a, $update = 0)
// 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
$condition = ['uid' => $a->profile['profile_uid'], 'page-flags' => [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP]]; $condition = ['uid' => $a->profile['profile_uid'], 'page-flags' => [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]];
if (!DBA::exists('user', $condition)) { if (!DBA::exists('user', $condition)) {
$sql_extra3 = sprintf(" AND `thread`.`contact-id` = %d ", intval(intval($a->profile['contact_id']))); $sql_extra3 = sprintf(" AND `thread`.`contact-id` = %d ", intval(intval($a->profile['contact_id'])));
} else { } else {

View File

@ -532,7 +532,7 @@ function profiles_content(App $a) {
]); ]);
$personal_account = !(in_array($a->user["page-flags"], $personal_account = !(in_array($a->user["page-flags"],
[Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP])); [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]));
$detailled_profile = (PConfig::get(local_user(), 'system', 'detailled_profile') AND $personal_account); $detailled_profile = (PConfig::get(local_user(), 'system', 'detailled_profile') AND $personal_account);

View File

@ -474,14 +474,14 @@ function settings_post(App $a)
} }
// Adjust the page flag if the account type doesn't fit to the page flag. // Adjust the page flag if the account type doesn't fit to the page flag.
if (($account_type == Contact::ACCOUNT_TYPE_PERSON) && !in_array($page_flags, [Contact::PAGE_NORMAL, Contact::PAGE_SOAPBOX, Contact::PAGE_FREELOVE])) { if (($account_type == Contact::ACCOUNT_TYPE_PERSON) && !in_array($page_flags, [User::PAGE_FLAGS_NORMAL, User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_FREELOVE])) {
$page_flags = Contact::PAGE_NORMAL; $page_flags = User::PAGE_FLAGS_NORMAL;
} elseif (($account_type == Contact::ACCOUNT_TYPE_ORGANISATION) && !in_array($page_flags, [Contact::PAGE_SOAPBOX])) { } elseif (($account_type == Contact::ACCOUNT_TYPE_ORGANISATION) && !in_array($page_flags, [User::PAGE_FLAGS_SOAPBOX])) {
$page_flags = Contact::PAGE_SOAPBOX; $page_flags = User::PAGE_FLAGS_SOAPBOX;
} elseif (($account_type == Contact::ACCOUNT_TYPE_NEWS) && !in_array($page_flags, [Contact::PAGE_SOAPBOX])) { } elseif (($account_type == Contact::ACCOUNT_TYPE_NEWS) && !in_array($page_flags, [User::PAGE_FLAGS_SOAPBOX])) {
$page_flags = Contact::PAGE_SOAPBOX; $page_flags = User::PAGE_FLAGS_SOAPBOX;
} elseif (($account_type == Contact::ACCOUNT_TYPE_COMMUNITY) && !in_array($page_flags, [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP])) { } elseif (($account_type == Contact::ACCOUNT_TYPE_COMMUNITY) && !in_array($page_flags, [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP])) {
$page_flags = Contact::PAGE_COMMUNITY; $page_flags = User::PAGE_FLAGS_COMMUNITY;
} }
$err = ''; $err = '';
@ -555,7 +555,7 @@ function settings_post(App $a)
PConfig::set(local_user(), 'system', 'email_textonly', $email_textonly); PConfig::set(local_user(), 'system', 'email_textonly', $email_textonly);
PConfig::set(local_user(), 'system', 'detailed_notif', $detailed_notif); PConfig::set(local_user(), 'system', 'detailed_notif', $detailed_notif);
if ($page_flags == Contact::PAGE_PRVGROUP) { if ($page_flags == User::PAGE_FLAGS_PRVGROUP) {
$hidewall = 1; $hidewall = 1;
if (!$str_contact_allow && !$str_group_allow && !$str_contact_deny && !$str_group_deny) { if (!$str_contact_allow && !$str_group_allow && !$str_contact_deny && !$str_group_deny) {
if ($def_gid) { if ($def_gid) {
@ -1014,7 +1014,7 @@ function settings_content(App $a)
// Set the account type to "Community" when the page is a community page but the account type doesn't fit // Set the account type to "Community" when the page is a community page but the account type doesn't fit
// This is only happening on the first visit after the update // This is only happening on the first visit after the update
if (in_array($a->user['page-flags'], [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP]) && if (in_array($a->user['page-flags'], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]) &&
($a->user['account-type'] != Contact::ACCOUNT_TYPE_COMMUNITY)) ($a->user['account-type'] != Contact::ACCOUNT_TYPE_COMMUNITY))
$a->user['account-type'] = Contact::ACCOUNT_TYPE_COMMUNITY; $a->user['account-type'] = Contact::ACCOUNT_TYPE_COMMUNITY;
@ -1046,25 +1046,25 @@ function settings_content(App $a)
L10n::t('Account for community discussions.'), L10n::t('Account for community discussions.'),
($a->user['account-type'] == Contact::ACCOUNT_TYPE_COMMUNITY)], ($a->user['account-type'] == Contact::ACCOUNT_TYPE_COMMUNITY)],
'$page_normal' => ['page-flags', L10n::t('Normal Account Page'), Contact::PAGE_NORMAL, '$page_normal' => ['page-flags', L10n::t('Normal Account Page'), User::PAGE_FLAGS_NORMAL,
L10n::t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'), L10n::t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'),
($a->user['page-flags'] == Contact::PAGE_NORMAL)], ($a->user['page-flags'] == User::PAGE_FLAGS_NORMAL)],
'$page_soapbox' => ['page-flags', L10n::t('Soapbox Page'), Contact::PAGE_SOAPBOX, '$page_soapbox' => ['page-flags', L10n::t('Soapbox Page'), User::PAGE_FLAGS_SOAPBOX,
L10n::t('Account for a public profile that automatically approves contact requests as "Followers".'), L10n::t('Account for a public profile that automatically approves contact requests as "Followers".'),
($a->user['page-flags'] == Contact::PAGE_SOAPBOX)], ($a->user['page-flags'] == User::PAGE_FLAGS_SOAPBOX)],
'$page_community' => ['page-flags', L10n::t('Public Forum'), Contact::PAGE_COMMUNITY, '$page_community' => ['page-flags', L10n::t('Public Forum'), User::PAGE_FLAGS_COMMUNITY,
L10n::t('Automatically approves all contact requests.'), L10n::t('Automatically approves all contact requests.'),
($a->user['page-flags'] == Contact::PAGE_COMMUNITY)], ($a->user['page-flags'] == User::PAGE_FLAGS_COMMUNITY)],
'$page_freelove' => ['page-flags', L10n::t('Automatic Friend Page'), Contact::PAGE_FREELOVE, '$page_freelove' => ['page-flags', L10n::t('Automatic Friend Page'), User::PAGE_FLAGS_FREELOVE,
L10n::t('Account for a popular profile that automatically approves contact requests as "Friends".'), L10n::t('Account for a popular profile that automatically approves contact requests as "Friends".'),
($a->user['page-flags'] == Contact::PAGE_FREELOVE)], ($a->user['page-flags'] == User::PAGE_FLAGS_FREELOVE)],
'$page_prvgroup' => ['page-flags', L10n::t('Private Forum [Experimental]'), Contact::PAGE_PRVGROUP, '$page_prvgroup' => ['page-flags', L10n::t('Private Forum [Experimental]'), User::PAGE_FLAGS_PRVGROUP,
L10n::t('Requires manual approval of contact requests.'), L10n::t('Requires manual approval of contact requests.'),
($a->user['page-flags'] == Contact::PAGE_PRVGROUP)], ($a->user['page-flags'] == User::PAGE_FLAGS_PRVGROUP)],
]); ]);

View File

@ -178,7 +178,7 @@ function videos_content(App $a)
$owner_uid = $a->data['user']['uid']; $owner_uid = $a->data['user']['uid'];
$community_page = (($a->data['user']['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false); $community_page = (($a->data['user']['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
if ((local_user()) && (local_user() == $owner_uid)) { if ((local_user()) && (local_user() == $owner_uid)) {
$can_post = true; $can_post = true;

View File

@ -41,7 +41,7 @@ function wall_attach_post(App $a) {
$page_owner_uid = $r[0]['uid']; $page_owner_uid = $r[0]['uid'];
$page_owner_cid = $r[0]['id']; $page_owner_cid = $r[0]['id'];
$community_page = (($r[0]['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false); $community_page = (($r[0]['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
if ((local_user()) && (local_user() == $page_owner_uid)) { if ((local_user()) && (local_user() == $page_owner_uid)) {
$can_post = true; $can_post = true;

View File

@ -69,7 +69,7 @@ function wall_upload_post(App $a, $desktopmode = true)
$page_owner_uid = $r[0]['uid']; $page_owner_uid = $r[0]['uid'];
$default_cid = $r[0]['id']; $default_cid = $r[0]['id'];
$page_owner_nick = $r[0]['nickname']; $page_owner_nick = $r[0]['nickname'];
$community_page = (($r[0]['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false); $community_page = (($r[0]['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
if ((local_user()) && (local_user() == $page_owner_uid)) { if ((local_user()) && (local_user() == $page_owner_uid)) {
$can_post = true; $can_post = true;

View File

@ -242,7 +242,7 @@ class Nav
$nav['home'] = ['profile/' . $a->user['nickname'], L10n::t('Home'), '', L10n::t('Your posts and conversations')]; $nav['home'] = ['profile/' . $a->user['nickname'], L10n::t('Home'), '', L10n::t('Your posts and conversations')];
// Don't show notifications for public communities // Don't show notifications for public communities
if (defaults($_SESSION, 'page_flags', '') != Contact::PAGE_COMMUNITY) { if (defaults($_SESSION, 'page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
$nav['introductions'] = ['notifications/intros', L10n::t('Introductions'), '', L10n::t('Friend Requests')]; $nav['introductions'] = ['notifications/intros', L10n::t('Introductions'), '', L10n::t('Friend Requests')];
$nav['notifications'] = ['notifications', L10n::t('Notifications'), '', L10n::t('Notifications')]; $nav['notifications'] = ['notifications', L10n::t('Notifications'), '', L10n::t('Notifications')];
$nav['notifications']['all'] = ['notifications/system', L10n::t('See all notifications'), '', '']; $nav['notifications']['all'] = ['notifications/system', L10n::t('See all notifications'), '', ''];

View File

@ -32,15 +32,8 @@ use Friendica\Util\Strings;
class Contact extends BaseObject class Contact extends BaseObject
{ {
/** /**
* Page/profile types * @deprecated since version 2019.03
* * @see User::PAGE_FLAGS_NORMAL
* PAGE_NORMAL is a typical personal profile account
* PAGE_SOAPBOX automatically approves all friend requests as Contact::SHARING, (readonly)
* PAGE_COMMUNITY automatically approves all friend requests as Contact::SHARING, but with
* write access to wall and comments (no email and not included in page owner's ACL lists)
* PAGE_FREELOVE automatically approves all friend requests as full friends (Contact::FRIEND).
*
* @{
*/ */
const PAGE_NORMAL = 0; const PAGE_NORMAL = 0;
const PAGE_SOAPBOX = 1; const PAGE_SOAPBOX = 1;
@ -48,6 +41,32 @@ class Contact extends BaseObject
const PAGE_FREELOVE = 3; const PAGE_FREELOVE = 3;
const PAGE_BLOG = 4; const PAGE_BLOG = 4;
const PAGE_PRVGROUP = 5; const PAGE_PRVGROUP = 5;
const PAGE_NORMAL = User::PAGE_FLAGS_NORMAL;
/**
* @deprecated since version 2019.03
* @see User::PAGE_FLAGS_SOAPBOX
*/
const PAGE_SOAPBOX = User::PAGE_FLAGS_SOAPBOX;
/**
* @deprecated since version 2019.03
* @see User::PAGE_FLAGS_COMMUNITY
*/
const PAGE_COMMUNITY = User::PAGE_FLAGS_COMMUNITY;
/**
* @deprecated since version 2019.03
* @see User::PAGE_FLAGS_FREELOVE
*/
const PAGE_FREELOVE = User::PAGE_FLAGS_FREELOVE;
/**
* @deprecated since version 2019.03
* @see User::PAGE_FLAGS_BLOG
*/
const PAGE_BLOG = User::PAGE_FLAGS_BLOG;
/**
* @deprecated since version 2019.03
* @see User::PAGE_FLAGS_PRVGROUP
*/
const PAGE_PRVGROUP = User::PAGE_FLAGS_PRVGROUP;
/** /**
* @} * @}
*/ */
@ -529,8 +548,8 @@ class Contact extends BaseObject
$fields['micro'] = System::baseUrl() . '/images/person-48.jpg'; $fields['micro'] = System::baseUrl() . '/images/person-48.jpg';
} }
$fields['forum'] = $user['page-flags'] == self::PAGE_COMMUNITY; $fields['forum'] = $user['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
$fields['prv'] = $user['page-flags'] == self::PAGE_PRVGROUP; $fields['prv'] = $user['page-flags'] == User::PAGE_FLAGS_PRVGROUP;
// it seems as if ported accounts can have wrong values, so we make sure that now everything is fine. // 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']; $fields['url'] = System::baseUrl() . '/profile/' . $user['nickname'];
@ -1465,10 +1484,10 @@ class Contact extends BaseObject
{ {
// There are several fields that indicate that the contact or user is a forum // There are several fields that indicate that the contact or user is a forum
// "page-flags" is a field in the user table, // "page-flags" is a field in the user table,
// "forum" and "prv" are used in the contact table. They stand for self::PAGE_COMMUNITY and self::PAGE_PRVGROUP. // "forum" and "prv" are used in the contact table. They stand for User::PAGE_FLAGS_COMMUNITY and User::PAGE_FLAGS_PRVGROUP.
// "community" is used in the gcontact table and is true if the contact is self::PAGE_COMMUNITY or self::PAGE_PRVGROUP. // "community" is used in the gcontact table and is true if the contact is User::PAGE_FLAGS_COMMUNITY or User::PAGE_FLAGS_PRVGROUP.
if ((isset($contact['page-flags']) && (intval($contact['page-flags']) == self::PAGE_COMMUNITY)) if ((isset($contact['page-flags']) && (intval($contact['page-flags']) == User::PAGE_FLAGS_COMMUNITY))
|| (isset($contact['page-flags']) && (intval($contact['page-flags']) == self::PAGE_PRVGROUP)) || (isset($contact['page-flags']) && (intval($contact['page-flags']) == User::PAGE_FLAGS_PRVGROUP))
|| (isset($contact['forum']) && intval($contact['forum'])) || (isset($contact['forum']) && intval($contact['forum']))
|| (isset($contact['prv']) && intval($contact['prv'])) || (isset($contact['prv']) && intval($contact['prv']))
|| (isset($contact['community']) && intval($contact['community'])) || (isset($contact['community']) && intval($contact['community']))
@ -1983,7 +2002,7 @@ class Contact extends BaseObject
/// @TODO Encapsulate this into a function/method /// @TODO Encapsulate this into a function/method
$fields = ['uid', 'username', 'email', 'page-flags', 'notify-flags', 'language']; $fields = ['uid', 'username', 'email', 'page-flags', 'notify-flags', 'language'];
$user = DBA::selectFirst('user', $fields, ['uid' => $importer['uid']]); $user = DBA::selectFirst('user', $fields, ['uid' => $importer['uid']]);
if (DBA::isResult($user) && !in_array($user['page-flags'], [self::PAGE_SOAPBOX, self::PAGE_FREELOVE, self::PAGE_COMMUNITY])) { if (DBA::isResult($user) && !in_array($user['page-flags'], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_FREELOVE, User::PAGE_FLAGS_COMMUNITY])) {
// create notification // create notification
$hash = Strings::getRandomHex(); $hash = Strings::getRandomHex();
@ -1996,7 +2015,7 @@ class Contact extends BaseObject
Group::addMember(User::getDefaultGroup($importer['uid'], $contact_record["network"]), $contact_record['id']); Group::addMember(User::getDefaultGroup($importer['uid'], $contact_record["network"]), $contact_record['id']);
if (($user['notify-flags'] & NOTIFY_INTRO) && if (($user['notify-flags'] & NOTIFY_INTRO) &&
in_array($user['page-flags'], [self::PAGE_NORMAL])) { in_array($user['page-flags'], [User::PAGE_FLAGS_NORMAL])) {
notification([ notification([
'type' => NOTIFY_INTRO, 'type' => NOTIFY_INTRO,
@ -2014,7 +2033,7 @@ class Contact extends BaseObject
]); ]);
} }
} elseif (DBA::isResult($user) && in_array($user['page-flags'], [self::PAGE_SOAPBOX, self::PAGE_FREELOVE, self::PAGE_COMMUNITY])) { } elseif (DBA::isResult($user) && in_array($user['page-flags'], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_FREELOVE, User::PAGE_FLAGS_COMMUNITY])) {
$condition = ['uid' => $importer['uid'], 'url' => $url, 'pending' => true]; $condition = ['uid' => $importer['uid'], 'url' => $url, 'pending' => true];
DBA::update('contact', ['pending' => false], $condition); DBA::update('contact', ['pending' => false], $condition);

View File

@ -2526,8 +2526,8 @@ class Item extends BaseObject
return; return;
} }
$community_page = (($user['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false); $community_page = (($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
$prvgroup = (($user['page-flags'] == Contact::PAGE_PRVGROUP) ? true : false); $prvgroup = (($user['page-flags'] == User::PAGE_FLAGS_PRVGROUP) ? true : false);
$item = self::selectFirst(self::ITEM_FIELDLIST, ['id' => $item_id]); $item = self::selectFirst(self::ITEM_FIELDLIST, ['id' => $item_id]);
if (!DBA::isResult($item)) { if (!DBA::isResult($item)) {

View File

@ -28,6 +28,26 @@ use LightOpenID;
*/ */
class User class User
{ {
/**
* @name page/profile types
*
* PAGE_NORMAL is a typical personal profile account
* PAGE_SOAPBOX automatically approves all friend requests as Contact::SHARING, (readonly)
* PAGE_COMMUNITY automatically approves all friend requests as Contact::SHARING, but with
* write access to wall and comments (no email and not included in page owner's ACL lists)
* PAGE_FREELOVE automatically approves all friend requests as full friends (Contact::FRIEND).
*
* @{
*/
const PAGE_FLAGS_NORMAL = 0;
const PAGE_FLAGS_SOAPBOX = 1;
const PAGE_FLAGS_COMMUNITY = 2;
const PAGE_FLAGS_FREELOVE = 3;
const PAGE_FLAGS_BLOG = 4;
const PAGE_FLAGS_PRVGROUP = 5;
/**
* @}
*/
/** /**
* Returns true if a user record exists with the provided id * Returns true if a user record exists with the provided id
* *

View File

@ -899,7 +899,7 @@ class Image
/// @TODO /// @TODO
/// $default_cid = $r[0]['id']; /// $default_cid = $r[0]['id'];
/// $community_page = (($r[0]['page-flags'] == Contact::PAGE_COMMUNITY) ? true : false); /// $community_page = (($r[0]['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
if ((strlen($imagedata) == 0) && ($url == "")) { if ((strlen($imagedata) == 0) && ($url == "")) {
Logger::log("No image data and no url provided", Logger::DEBUG); Logger::log("No image data and no url provided", Logger::DEBUG);

View File

@ -232,7 +232,7 @@ class Transmitter
'vcard:region' => $profile['region'], 'vcard:locality' => $profile['locality']]; 'vcard:region' => $profile['region'], 'vcard:locality' => $profile['locality']];
$data['summary'] = $contact['about']; $data['summary'] = $contact['about'];
$data['url'] = $contact['url']; $data['url'] = $contact['url'];
$data['manuallyApprovesFollowers'] = in_array($user['page-flags'], [Contact::PAGE_NORMAL, Contact::PAGE_PRVGROUP]); $data['manuallyApprovesFollowers'] = in_array($user['page-flags'], [User::PAGE_FLAGS_NORMAL, User::PAGE_FLAGS_PRVGROUP]);
$data['publicKey'] = ['id' => $contact['url'] . '#main-key', $data['publicKey'] = ['id' => $contact['url'] . '#main-key',
'owner' => $contact['url'], 'owner' => $contact['url'],
'publicKeyPem' => $user['pubkey']]; 'publicKeyPem' => $user['pubkey']];

View File

@ -587,14 +587,14 @@ class DFRN
} }
// For backward compatibility we keep this element // For backward compatibility we keep this element
if ($owner['page-flags'] == Contact::PAGE_COMMUNITY) { if ($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY) {
XML::addElement($doc, $root, "dfrn:community", 1); XML::addElement($doc, $root, "dfrn:community", 1);
} }
// The former element is replaced by this one // The former element is replaced by this one
XML::addElement($doc, $root, "dfrn:account_type", $owner["account-type"]); XML::addElement($doc, $root, "dfrn:account_type", $owner["account-type"]);
/// @todo We need a way to transmit the different page flags like "Contact::PAGE_PRVGROUP" /// @todo We need a way to transmit the different page flags like "User::PAGE_FLAGS_PRVGROUP"
XML::addElement($doc, $root, "updated", DateTimeFormat::utcNow(DateTimeFormat::ATOM)); XML::addElement($doc, $root, "updated", DateTimeFormat::utcNow(DateTimeFormat::ATOM));
@ -1264,11 +1264,11 @@ class DFRN
$perm = (($res->perm) ? $res->perm : null); $perm = (($res->perm) ? $res->perm : null);
$dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0); $dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0);
$rino_remote_version = intval($res->rino); $rino_remote_version = intval($res->rino);
$page = (($owner['page-flags'] == Contact::PAGE_COMMUNITY) ? 1 : 0); $page = (($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? 1 : 0);
Logger::log("Remote rino version: ".$rino_remote_version." for ".$contact["url"], Logger::DEBUG); Logger::log("Remote rino version: ".$rino_remote_version." for ".$contact["url"], Logger::DEBUG);
if ($owner['page-flags'] == Contact::PAGE_PRVGROUP) { if ($owner['page-flags'] == User::PAGE_FLAGS_PRVGROUP) {
$page = 2; $page = 2;
} }
@ -1285,7 +1285,7 @@ class DFRN
} }
if (($contact['duplex'] && strlen($contact['pubkey'])) if (($contact['duplex'] && strlen($contact['pubkey']))
|| ($owner['page-flags'] == Contact::PAGE_COMMUNITY && strlen($contact['pubkey'])) || ($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY && strlen($contact['pubkey']))
|| ($contact['rel'] == Contact::SHARING && strlen($contact['pubkey'])) || ($contact['rel'] == Contact::SHARING && strlen($contact['pubkey']))
) { ) {
openssl_public_decrypt($sent_dfrn_id, $final_dfrn_id, $contact['pubkey']); openssl_public_decrypt($sent_dfrn_id, $final_dfrn_id, $contact['pubkey']);
@ -1314,7 +1314,7 @@ class DFRN
$postvars['dissolve'] = '1'; $postvars['dissolve'] = '1';
} }
if ((($contact['rel']) && ($contact['rel'] != Contact::SHARING) && (! $contact['blocked'])) || ($owner['page-flags'] == Contact::PAGE_COMMUNITY)) { if ((($contact['rel']) && ($contact['rel'] != Contact::SHARING) && (! $contact['blocked'])) || ($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY)) {
$postvars['data'] = $atom; $postvars['data'] = $atom;
$postvars['perm'] = 'rw'; $postvars['perm'] = 'rw';
} else { } else {
@ -1349,7 +1349,7 @@ class DFRN
if ($dfrn_version >= 2.1) { if ($dfrn_version >= 2.1) {
if (($contact['duplex'] && strlen($contact['pubkey'])) if (($contact['duplex'] && strlen($contact['pubkey']))
|| ($owner['page-flags'] == Contact::PAGE_COMMUNITY && strlen($contact['pubkey'])) || ($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY && strlen($contact['pubkey']))
|| ($contact['rel'] == Contact::SHARING && strlen($contact['pubkey'])) || ($contact['rel'] == Contact::SHARING && strlen($contact['pubkey']))
) { ) {
openssl_public_encrypt($key, $postvars['key'], $contact['pubkey']); openssl_public_encrypt($key, $postvars['key'], $contact['pubkey']);
@ -1357,7 +1357,7 @@ class DFRN
openssl_private_encrypt($key, $postvars['key'], $contact['prvkey']); openssl_private_encrypt($key, $postvars['key'], $contact['prvkey']);
} }
} else { } else {
if (($contact['duplex'] && strlen($contact['prvkey'])) || ($owner['page-flags'] == Contact::PAGE_COMMUNITY)) { if (($contact['duplex'] && strlen($contact['prvkey'])) || ($owner['page-flags'] == User::PAGE_FLAGS_COMMUNITY)) {
openssl_private_encrypt($key, $postvars['key'], $contact['prvkey']); openssl_private_encrypt($key, $postvars['key'], $contact['prvkey']);
} else { } else {
openssl_public_encrypt($key, $postvars['key'], $contact['pubkey']); openssl_public_encrypt($key, $postvars['key'], $contact['pubkey']);
@ -2146,7 +2146,7 @@ class DFRN
if ($item["parent-uri"] != $item["uri"]) { if ($item["parent-uri"] != $item["uri"]) {
$community = false; $community = false;
if ($importer["page-flags"] == Contact::PAGE_COMMUNITY || $importer["page-flags"] == Contact::PAGE_PRVGROUP) { if ($importer["page-flags"] == User::PAGE_FLAGS_COMMUNITY || $importer["page-flags"] == User::PAGE_FLAGS_PRVGROUP) {
$sql_extra = ""; $sql_extra = "";
$community = true; $community = true;
Logger::log("possible community action"); Logger::log("possible community action");
@ -3073,8 +3073,8 @@ class DFRN
return false; return false;
} }
$community_page = ($user['page-flags'] == Contact::PAGE_COMMUNITY); $community_page = ($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY);
$prvgroup = ($user['page-flags'] == Contact::PAGE_PRVGROUP); $prvgroup = ($user['page-flags'] == User::PAGE_FLAGS_PRVGROUP);
$link = Strings::normaliseLink(System::baseUrl() . '/profile/' . $user['nickname']); $link = Strings::normaliseLink(System::baseUrl() . '/profile/' . $user['nickname']);

View File

@ -639,7 +639,7 @@ class Diaspora
return false; return false;
} }
$importer = ["uid" => 0, "page-flags" => Contact::PAGE_FREELOVE]; $importer = ["uid" => 0, "page-flags" => User::PAGE_FLAGS_FREELOVE];
$success = self::dispatch($importer, $msg, $fields); $success = self::dispatch($importer, $msg, $fields);
return $success; return $success;
@ -1123,7 +1123,7 @@ class Diaspora
*/ */
// It is deactivated by now, due to side effects. See issue https://github.com/friendica/friendica/pull/4033 // It is deactivated by now, due to side effects. See issue https://github.com/friendica/friendica/pull/4033
// It is not removed by now. Possibly the code is needed? // It is not removed by now. Possibly the code is needed?
//if (!$is_comment && $contact["rel"] == Contact::FOLLOWER && in_array($importer["page-flags"], array(Contact::PAGE_FREELOVE))) { //if (!$is_comment && $contact["rel"] == Contact::FOLLOWER && in_array($importer["page-flags"], array(User::PAGE_FLAGS_FREELOVE))) {
// DBA::update( // DBA::update(
// 'contact', // 'contact',
// array('rel' => Contact::FRIEND, 'writable' => true), // array('rel' => Contact::FRIEND, 'writable' => true),
@ -1143,7 +1143,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"], [Contact::PAGE_COMMUNITY, Contact::PAGE_PRVGROUP])) { } elseif (($contact["rel"] == Contact::FOLLOWER) && in_array($importer["page-flags"], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP])) {
// 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?
@ -2422,7 +2422,7 @@ class Diaspora
} }
} }
if (!$following && $sharing && in_array($importer["page-flags"], [Contact::PAGE_SOAPBOX, Contact::PAGE_NORMAL])) { if (!$following && $sharing && in_array($importer["page-flags"], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_NORMAL])) {
Logger::log("Author ".$author." wants to share with us - but doesn't want to listen. Request is ignored.", Logger::DEBUG); Logger::log("Author ".$author." wants to share with us - but doesn't want to listen. Request is ignored.", Logger::DEBUG);
return false; return false;
} elseif (!$following && !$sharing) { } elseif (!$following && !$sharing) {
@ -2480,7 +2480,7 @@ class Diaspora
Contact::updateAvatar($ret["photo"], $importer['uid'], $contact_record["id"], true); Contact::updateAvatar($ret["photo"], $importer['uid'], $contact_record["id"], true);
if (in_array($importer["page-flags"], [Contact::PAGE_NORMAL, Contact::PAGE_PRVGROUP])) { if (in_array($importer["page-flags"], [User::PAGE_FLAGS_NORMAL, User::PAGE_FLAGS_PRVGROUP])) {
Logger::log("Sending intra message for author ".$author.".", Logger::DEBUG); Logger::log("Sending intra message for author ".$author.".", Logger::DEBUG);
$hash = Strings::getRandomHex().(string)time(); // Generate a confirm_key $hash = Strings::getRandomHex().(string)time(); // Generate a confirm_key
@ -2508,9 +2508,9 @@ class Diaspora
* but if our page-type is Profile::PAGE_COMMUNITY or Profile::PAGE_SOAPBOX * but if our page-type is Profile::PAGE_COMMUNITY or Profile::PAGE_SOAPBOX
* we are going to change the relationship and make them a follower. * we are going to change the relationship and make them a follower.
*/ */
if (($importer["page-flags"] == Contact::PAGE_FREELOVE) && $sharing && $following) { if (($importer["page-flags"] == User::PAGE_FLAGS_FREELOVE) && $sharing && $following) {
$new_relation = Contact::FRIEND; $new_relation = Contact::FRIEND;
} elseif (($importer["page-flags"] == Contact::PAGE_FREELOVE) && $sharing) { } elseif (($importer["page-flags"] == User::PAGE_FLAGS_FREELOVE) && $sharing) {
$new_relation = Contact::SHARING; $new_relation = Contact::SHARING;
} else { } else {
$new_relation = Contact::FOLLOWER; $new_relation = Contact::FOLLOWER;

View File

@ -9,6 +9,7 @@ use Friendica\BaseObject;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Model\Contact; use Friendica\Model\Contact;
use Friendica\Model\Group; use Friendica\Model\Group;
use Friendica\Model\User;
/** /**
* Secures that User is allow to do requests * Secures that User is allow to do requests
@ -65,7 +66,7 @@ class Security extends BaseObject
intval($cid), intval($cid),
intval(Contact::SHARING), intval(Contact::SHARING),
intval(Contact::FRIEND), intval(Contact::FRIEND),
intval(Contact::PAGE_COMMUNITY) intval(User::PAGE_FLAGS_COMMUNITY)
); );
if (DBA::isResult($r)) { if (DBA::isResult($r)) {

View File

@ -162,8 +162,8 @@ function update_1203()
{ {
$r = q("UPDATE `user` SET `account-type` = %d WHERE `page-flags` IN (%d, %d)", $r = q("UPDATE `user` SET `account-type` = %d WHERE `page-flags` IN (%d, %d)",
DBA::escape(Contact::ACCOUNT_TYPE_COMMUNITY), DBA::escape(Contact::ACCOUNT_TYPE_COMMUNITY),
DBA::escape(Contact::PAGE_COMMUNITY), DBA::escape(User::PAGE_FLAGS_COMMUNITY),
DBA::escape(Contact::PAGE_PRVGROUP) DBA::escape(User::PAGE_FLAGS_PRVGROUP)
); );
} }