Fix regression from WebFinger update for singleuser sites
This commit is contained in:
parent
a23c4aa236
commit
24e0535001
|
@ -884,34 +884,31 @@ class User extends Managed_DataObject
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static function siteOwner()
|
public static function siteOwner()
|
||||||
{
|
{
|
||||||
$owner = self::cacheGet('user:site_owner');
|
$owner = self::cacheGet('user:site_owner');
|
||||||
|
|
||||||
if ($owner === false) { // cache miss
|
if ($owner === false) { // cache miss
|
||||||
|
|
||||||
$pr = new Profile_role();
|
$pr = new Profile_role();
|
||||||
|
|
||||||
$pr->role = Profile_role::OWNER;
|
$pr->role = Profile_role::OWNER;
|
||||||
|
|
||||||
$pr->orderBy('created');
|
$pr->orderBy('created');
|
||||||
|
|
||||||
$pr->limit(1);
|
$pr->limit(1);
|
||||||
|
|
||||||
if ($pr->find(true)) {
|
if (!$pr->find(true)) {
|
||||||
$owner = User::getKV('id', $pr->profile_id);
|
throw new NoResultException($pr);
|
||||||
} else {
|
|
||||||
$owner = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$owner = User::getKV('id', $pr->profile_id);
|
||||||
|
|
||||||
self::cacheSet('user:site_owner', $owner);
|
self::cacheSet('user:site_owner', $owner);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!($owner instanceof User)) {
|
if ($owner instanceof User) {
|
||||||
throw new ServerException(_('No site owner configured.'));
|
return $owner;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $owner;
|
throw new ServerException(_('No site owner configured.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -924,34 +921,23 @@ class User extends Managed_DataObject
|
||||||
* @throws ServerException if no valid single user account is present
|
* @throws ServerException if no valid single user account is present
|
||||||
* @throws ServerException if called when not in single-user mode
|
* @throws ServerException if called when not in single-user mode
|
||||||
*/
|
*/
|
||||||
static function singleUser()
|
public static function singleUser()
|
||||||
{
|
{
|
||||||
if (common_config('singleuser', 'enabled')) {
|
if (!common_config('singleuser', 'enabled')) {
|
||||||
|
|
||||||
$user = null;
|
|
||||||
|
|
||||||
$nickname = common_config('singleuser', 'nickname');
|
|
||||||
|
|
||||||
if (!empty($nickname)) {
|
|
||||||
$user = User::getKV('nickname', $nickname);
|
|
||||||
}
|
|
||||||
|
|
||||||
// if there was no nickname or no user by that nickname,
|
|
||||||
// try the site owner.
|
|
||||||
|
|
||||||
if (empty($user)) {
|
|
||||||
try {
|
|
||||||
$user = User::siteOwner();
|
|
||||||
return $user;
|
|
||||||
} catch (ServerException $e) {
|
|
||||||
// TRANS: Server exception.
|
|
||||||
throw new ServerException(_('No single user defined for single-user mode.'));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// TRANS: Server exception.
|
// TRANS: Server exception.
|
||||||
throw new ServerException(_('Single-user mode code called when not enabled.'));
|
throw new ServerException(_('Single-user mode code called when not enabled.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($nickname = common_config('singleuser', 'nickname')) {
|
||||||
|
$user = User::getKV('nickname', $nickname);
|
||||||
|
if ($user instanceof User) {
|
||||||
|
return $user;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there was no nickname or no user by that nickname,
|
||||||
|
// try the site owner. Throws exception if not configured.
|
||||||
|
return User::siteOwner();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user