$system['region'] = '';
$system['country-name'] = '';
$system['net-publish'] = false;
+ $system['picdate'] = '';
+ $system['theme'] = '';
// Ensure that the user contains data
- $user = DBA::selectFirst('user', ['prvkey'], ['uid' => 0]);
- if (empty($user['prvkey'])) {
+ $user = DBA::selectFirst('user', ['prvkey', 'guid'], ['uid' => 0]);
+ if (empty($user['prvkey']) || empty($user['guid'])) {
$fields = [
'username' => $system['name'],
'nickname' => $system['nick'],
'prvkey' => $system['prvkey'],
'spubkey' => $system['spubkey'],
'sprvkey' => $system['sprvkey'],
+ 'guid' => System::createUUID(),
'verified' => true,
'page-flags' => User::PAGE_FLAGS_SOAPBOX,
'account-type' => User::ACCOUNT_TYPE_RELAY,
];
DBA::update('user', $fields, ['uid' => 0]);
+
+ $system['guid'] = $fields['guid'];
+ } else {
+ $system['guid'] = $user['guid'];
}
return $system;
*/
public static function getDefaultGroup($uid, $network = '')
{
- $default_group = 0;
-
- if ($network == Protocol::OSTATUS) {
- $default_group = DI::pConfig()->get($uid, "ostatus", "default_group");
- }
-
- if ($default_group != 0) {
- return $default_group;
- }
-
$user = DBA::selectFirst('user', ['def_gid'], ['uid' => $uid]);
-
if (DBA::isResult($user)) {
$default_group = $user["def_gid"];
+ } else {
+ $default_group = 0;
}
return $default_group;
return $identities;
}
+ /**
+ * Check if the given user id has delegations or is delegated
+ *
+ * @param int $uid
+ * @return bool
+ */
+ public static function hasIdentities(int $uid):bool
+ {
+ if (empty($uid)) {
+ return false;
+ }
+
+ $user = DBA::selectFirst('user', ['parent-uid'], ['uid' => $uid, 'account_removed' => false]);
+ if (!DBA::isResult($user)) {
+ return false;
+ }
+
+ if ($user['parent-uid'] != 0) {
+ return true;
+ }
+
+ if (DBA::exists('user', ['parent-uid' => $uid, 'account_removed' => false])) {
+ return true;
+ }
+
+ if (DBA::exists('manage', ['uid' => $uid])) {
+ return true;
+ }
+
+ return false;
+ }
+
/**
* Returns statistical information about the current users of this node
*