X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FSettings%2FDelegation.php;h=134b002c1bc79c85df3820b26d1f9d2f45b07f06;hb=69e4254dcc51345a36e13fb96f94d9b57bc37489;hp=f0a335550a618a3d8b823bda9ceaba35e502f5ab;hpb=a3ea98a79fd1e008d79ce56f9b0c92edcf37be26;p=friendica.git diff --git a/src/Module/Settings/Delegation.php b/src/Module/Settings/Delegation.php index f0a335550a..134b002c1b 100644 --- a/src/Module/Settings/Delegation.php +++ b/src/Module/Settings/Delegation.php @@ -1,29 +1,44 @@ . + * + */ 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\Database\DBA; use Friendica\DI; use Friendica\Model\User; -use Friendica\Module\BaseSettingsModule; +use Friendica\Module\BaseSettings; use Friendica\Network\HTTPException; use Friendica\Util\Strings; /** * Account delegation settings module */ -class Delegation extends BaseSettingsModule +class Delegation extends BaseSettings { - public static function post(array $parameters = []) + protected function post(array $request = []) { - if (!local_user() || !empty(DI::app()->user['uid']) && DI::app()->user['uid'] != local_user()) { - throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); + if (!DI::app()->isLoggedIn()) { + throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } BaseModule::checkFormSecurityTokenRedirectOnError('settings/delegation', 'delegate'); @@ -34,24 +49,24 @@ class Delegation extends BaseSettingsModule if ($parent_uid != 0) { try { User::getIdFromPasswordAuthentication($parent_uid, $parent_password); - info(L10n::t('Delegation successfully granted.')); + DI::sysmsg()->addInfo(DI::l10n()->t('Delegation successfully granted.')); } catch (\Exception $ex) { - notice(L10n::t('Parent user not found, unavailable or password doesn\'t match.')); + DI::sysmsg()->addNotice(DI::l10n()->t('Parent user not found, unavailable or password doesn\'t match.')); return; } } else { - info(L10n::t('Delegation successfully revoked.')); + DI::sysmsg()->addInfo(DI::l10n()->t('Delegation successfully revoked.')); } - DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => local_user()]); + DBA::update('user', ['parent-uid' => $parent_uid], ['uid' => DI::userSession()->getLocalUserId()]); } - public static function content(array $parameters = []) + protected function content(array $request = []): string { - parent::content($parameters); + parent::content(); - if (!local_user()) { - throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); + if (!DI::userSession()->getLocalUserId()) { + throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } $args = DI::args(); @@ -61,39 +76,39 @@ class Delegation extends BaseSettingsModule $user_id = $args->get(3); if ($action === 'add' && $user_id) { - if (Session::get('submanage')) { - notice(L10n::t('Delegated administrators can view but not change delegation permissions.')); + if (DI::userSession()->getSubManagedUserId()) { + DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.')); DI::baseUrl()->redirect('settings/delegation'); } $user = User::getById($user_id, ['nickname']); if (DBA::isResult($user)) { $condition = [ - 'uid' => local_user(), + 'uid' => DI::userSession()->getLocalUserId(), 'nurl' => Strings::normaliseLink(DI::baseUrl() . '/profile/' . $user['nickname']) ]; if (DBA::exists('contact', $condition)) { - DBA::insert('manage', ['uid' => $user_id, 'mid' => local_user()]); + DBA::insert('manage', ['uid' => $user_id, 'mid' => DI::userSession()->getLocalUserId()]); } } else { - notice(L10n::t('Delegate user not found.')); + DI::sysmsg()->addNotice(DI::l10n()->t('Delegate user not found.')); } DI::baseUrl()->redirect('settings/delegation'); } if ($action === 'remove' && $user_id) { - if (Session::get('submanage')) { - notice(L10n::t('Delegated administrators can view but not change delegation permissions.')); + if (DI::userSession()->getSubManagedUserId()) { + DI::sysmsg()->addNotice(DI::l10n()->t('Delegated administrators can view but not change delegation permissions.')); DI::baseUrl()->redirect('settings/delegation'); } - DBA::delete('manage', ['uid' => $user_id, 'mid' => local_user()]); + DBA::delete('manage', ['uid' => $user_id, 'mid' => DI::userSession()->getLocalUserId()]); DI::baseUrl()->redirect('settings/delegation'); } // find everybody that currently has delegated management to this account/page - $delegates = DBA::selectToArray('user', [], ['`uid` IN (SELECT `uid` FROM `manage` WHERE `mid` = ?)', local_user()]); + $delegates = DBA::selectToArray('user', [], ['`uid` IN (SELECT `uid` FROM `manage` WHERE `mid` = ?)', DI::userSession()->getLocalUserId()]); $uids = []; foreach ($delegates as $user) { @@ -104,11 +119,12 @@ class Delegation extends BaseSettingsModule $potentials = []; $nicknames = []; - $condition = ['baseurl' => DI::baseUrl(), 'self' => false, 'uid' => local_user(), 'blocked' => false]; + $condition = ['baseurl' => DI::baseUrl(), 'self' => false, 'uid' => DI::userSession()->getLocalUserId(), 'blocked' => false]; $contacts = DBA::select('contact', ['nick'], $condition); while ($contact = DBA::fetch($contacts)) { $nicknames[] = $contact['nick']; } + DBA::close($contacts); // get user records for all potential page delegates who are not already delegates or managers $potentialDelegateUsers = DBA::selectToArray('user', ['uid', 'username', 'nickname'], ['nickname' => $nicknames]); @@ -120,48 +136,48 @@ class Delegation extends BaseSettingsModule $parent_user = null; $parent_password = null; - $user = User::getById(local_user(), ['parent-uid', 'email']); - if (DBA::isResult($user) && !DBA::exists('user', ['parent-uid' => local_user()])) { + $user = User::getById(DI::userSession()->getLocalUserId(), ['parent-uid', 'email']); + if (DBA::isResult($user) && !DBA::exists('user', ['parent-uid' => DI::userSession()->getLocalUserId()])) { $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]; $parent_users = DBA::selectToArray('user', $fields, $condition); foreach($parent_users as $parent) { - if ($parent['uid'] != local_user()) { + if ($parent['uid'] != DI::userSession()->getLocalUserId()) { $parents[$parent['uid']] = sprintf('%s (%s)', $parent['username'], $parent['nickname']); } } - $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'), - '$account_header' => L10n::t('Additional Accounts'), - '$account_desc' => L10n::t('Register additional accounts that are automatically connected to your existing account so you can manage it from this account.'), - '$add_account' => L10n::t('Register an additional account'), - '$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.'), + '$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' => L10n::t('Save Settings'), - '$header' => L10n::t('Manage Accounts'), - '$delegates_header' => L10n::t('Delegates'), + '$submit' => DI::l10n()->t('Save Settings'), + '$header' => DI::l10n()->t('Manage Accounts'), + '$delegates_header' => DI::l10n()->t('Delegates'), '$base' => DI::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'), + '$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;