X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FSettings%2FDelegation.php;h=d7f49e6a907cec48f0868e8ad4d97f855b06ecb8;hb=035e0c5a61b25073779fa5482efe5d79463207cb;hp=988487656623043cea8827bf1dc3c4f2ee0463eb;hpb=03038e7a3bb74bdab497d26b7f829a5c3036d1c2;p=friendica.git diff --git a/src/Module/Settings/Delegation.php b/src/Module/Settings/Delegation.php index 9884876566..d7f49e6a90 100644 --- a/src/Module/Settings/Delegation.php +++ b/src/Module/Settings/Delegation.php @@ -2,13 +2,9 @@ namespace Friendica\Module\Settings; -use Friendica\App\Arguments; use Friendica\BaseModule; -use Friendica\Core\L10n; -use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\Session; -use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\User; @@ -24,24 +20,24 @@ class Delegation extends BaseSettingsModule public static function post(array $parameters = []) { if (!local_user() || !empty(DI::app()->user['uid']) && DI::app()->user['uid'] != local_user()) { - throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); + throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } BaseModule::checkFormSecurityTokenRedirectOnError('settings/delegation', 'delegate'); - $parent_uid = $_POST['parent_user'] ?? 0; + $parent_uid = (int)$_POST['parent_user'] ?? 0; $parent_password = $_POST['parent_password'] ?? ''; if ($parent_uid != 0) { try { User::getIdFromPasswordAuthentication($parent_uid, $parent_password); - info(L10n::t('Delegation successfully granted.')); + info(DI::l10n()->t('Delegation successfully granted.')); } catch (\Exception $ex) { - notice(L10n::t('Parent user not found, unavailable or password doesn\'t match.')); + notice(DI::l10n()->t('Parent user not found, unavailable or password doesn\'t match.')); return; } } else { - info(L10n::t('Delegation successfully revoked.')); + info(DI::l10n()->t('Delegation successfully revoked.')); } DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => local_user()]); @@ -52,7 +48,7 @@ class Delegation extends BaseSettingsModule parent::content($parameters); if (!local_user()) { - throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); + throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } $args = DI::args(); @@ -63,7 +59,7 @@ class Delegation extends BaseSettingsModule if ($action === 'add' && $user_id) { if (Session::get('submanage')) { - notice(L10n::t('Delegated administrators can view but not change delegation permissions.')); + notice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.')); DI::baseUrl()->redirect('settings/delegation'); } @@ -71,13 +67,13 @@ class Delegation extends BaseSettingsModule if (DBA::isResult($user)) { $condition = [ 'uid' => local_user(), - 'nurl' => Strings::normaliseLink(System::baseUrl() . '/profile/' . $user['nickname']) + 'nurl' => Strings::normaliseLink(DI::baseUrl() . '/profile/' . $user['nickname']) ]; if (DBA::exists('contact', $condition)) { DBA::insert('manage', ['uid' => $user_id, 'mid' => local_user()]); } } else { - notice(L10n::t('Delegate user not found.')); + notice(DI::l10n()->t('Delegate user not found.')); } DI::baseUrl()->redirect('settings/delegation'); @@ -85,7 +81,7 @@ class Delegation extends BaseSettingsModule if ($action === 'remove' && $user_id) { if (Session::get('submanage')) { - notice(L10n::t('Delegated administrators can view but not change delegation permissions.')); + notice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.')); DI::baseUrl()->redirect('settings/delegation'); } @@ -103,29 +99,19 @@ class Delegation extends BaseSettingsModule // find every contact who might be a candidate for delegation $potentials = []; + $nicknames = []; - $contacts = DBA::selectToArray( - 'contact', - ['nurl'], - [ - "`self` = 0 AND SUBSTRING_INDEX(`nurl`, '/', 3) = ? AND `uid` = ? AND `network` = ?", - Strings::normaliseLink(System::baseUrl()), - local_user(), - Protocol::DFRN, - ] - ); - if ($contacts) { - $nicknames = []; - foreach ($contacts as $contact) { - $nicknames[] = "'" . DBA::escape(basename($contact['nurl'])) . "'"; - } + $condition = ['baseurl' => DI::baseUrl(), 'self' => false, 'uid' => local_user(), 'blocked' => false]; + $contacts = DBA::select('contact', ['nick'], $condition); + while ($contact = DBA::fetch($contacts)) { + $nicknames[] = $contact['nick']; + } - // get user records for all potential page delegates who are not already delegates or managers - $potentialDelegateUsers = DBA::selectToArray('user', ['uid', 'username', 'nickname'], ['nickname' => $nicknames]); - foreach ($potentialDelegateUsers as $user) { - if (!in_array($user['uid'], $uids)) { - $potentials[] = $user; - } + // get user records for all potential page delegates who are not already delegates or managers + $potentialDelegateUsers = DBA::selectToArray('user', ['uid', 'username', 'nickname'], ['nickname' => $nicknames]); + foreach ($potentialDelegateUsers as $user) { + if (!in_array($user['uid'], $uids)) { + $potentials[] = $user; } } @@ -134,7 +120,7 @@ class Delegation extends BaseSettingsModule $user = User::getById(local_user(), ['parent-uid', 'email']); if (DBA::isResult($user) && !DBA::exists('user', ['parent-uid' => local_user()])) { $parent_uid = $user['parent-uid']; - $parents = [0 => L10n::t('No parent user')]; + $parents = [0 => DI::l10n()->t('No parent user')]; $fields = ['uid', 'username', 'nickname']; $condition = ['email' => $user['email'], 'verified' => true, 'blocked' => false, 'parent-uid' => 0]; @@ -145,28 +131,34 @@ class Delegation extends BaseSettingsModule } } - $parent_user = ['parent_user', '', $parent_uid, '', $parents]; - $parent_password = ['parent_password', L10n::t('Parent Password:'), '', L10n::t('Please enter the password of the parent account to legitimize your request.')]; + $parent_user = ['parent_user', DI::l10n()->t('Parent User'), $parent_uid, '', $parents]; + $parent_password = ['parent_password', DI::l10n()->t('Parent Password:'), '', DI::l10n()->t('Please enter the password of the parent account to legitimize your request.')]; } + $is_child_user = !empty($user['parent-uid']); + $o = Renderer::replaceMacros(Renderer::getMarkupTemplate('settings/delegation.tpl'), [ '$form_security_token' => BaseModule::getFormSecurityToken('delegate'), - '$parent_header' => L10n::t('Parent User'), + '$account_header' => DI::l10n()->t('Additional Accounts'), + '$account_desc' => DI::l10n()->t('Register additional accounts that are automatically connected to your existing account so you can manage them from this account.'), + '$add_account' => DI::l10n()->t('Register an additional account'), + '$parent_header' => DI::l10n()->t('Parent User'), '$parent_user' => $parent_user, '$parent_password' => $parent_password, - '$parent_desc' => L10n::t('Parent users have total control about this account, including the account settings. Please double check whom you give this access.'), - '$submit' => L10n::t('Save Settings'), - '$header' => L10n::t('Delegate Page Management'), - '$delegates_header' => L10n::t('Delegates'), - '$base' => System::baseUrl(), - '$desc' => L10n::t('Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely.'), - '$head_delegates' => L10n::t('Existing Page Delegates'), + '$parent_desc' => DI::l10n()->t('Parent users have total control about this account, including the account settings. Please double check whom you give this access.'), + '$is_child_user' => $is_child_user, + '$submit' => DI::l10n()->t('Save Settings'), + '$header' => DI::l10n()->t('Manage Accounts'), + '$delegates_header' => DI::l10n()->t('Delegates'), + '$base' => DI::baseUrl(), + '$desc' => DI::l10n()->t('Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely.'), + '$head_delegates' => DI::l10n()->t('Existing Page Delegates'), '$delegates' => $delegates, - '$head_potentials' => L10n::t('Potential Delegates'), + '$head_potentials' => DI::l10n()->t('Potential Delegates'), '$potentials' => $potentials, - '$remove' => L10n::t('Remove'), - '$add' => L10n::t('Add'), - '$none' => L10n::t('No entries.') + '$remove' => DI::l10n()->t('Remove'), + '$add' => DI::l10n()->t('Add'), + '$none' => DI::l10n()->t('No entries.') ]); return $o;