19declare(strict_types=1);
52 private readonly \ilObjUser
$user;
58 $this->legal_documents =
$DIC[
'legalDocuments'];
59 $this->
user = $DIC[
'ilUser'];
60 $this->starting_point_repository =
LocalDIC::dic()[StartingPointRepository::class];
73 $additional_params = $request->getAdditionalParameters();
74 $cmd = $additional_params[0] ??
'';
80 self::REGISTRATION_OPERATION => $context->
ctrl()->redirectByClass(
81 [\ilStartUpGUI::class, \ilAccountRegistrationGUI::class],
84 self::USERNAME_ASSIST_OPERATION => $context->
ctrl()->redirectByClass(
85 [\ilStartUpGUI::class, \ilPasswordAssistanceGUI::class],
86 'showUsernameAssistanceForm'
88 self::PASSWORD_ASSIST_OPERATION => $context->
ctrl()->redirectByClass(
89 [\ilStartUpGUI::class, \ilPasswordAssistanceGUI::class],
95 'approveContactRequest'
100 'ignoreContactRequest'
110 return $response_factory->
can($uri);
126 $request->getNamespace(),
127 $request->getReferenceId(),
128 $request->getAdditionalParameters()
131 return '/login.php?target='
132 . str_replace(
'/',
'_', rtrim($target,
'/'))
141 && $this->
user->hasDeletionFlag()) {
142 $context->
ctrl()->setTargetScript(
'ilias.php');
143 return $context->
ctrl()->getLinkTargetByClass(
144 [\ilDashboardGUI::class, PersonalSettingsGUI::class, DeleteAccountGUI::class],
145 'deleteOwnAccountStep2'
151 $context->
lng()->txt(
'account_not_flagged_for_deletion'),
154 return $this->starting_point_repository->getValidAndAccessibleStartingPointAsUrl();
162 if (str_starts_with($cmd,
'_bdg')) {
166 $legal_documents_target = $this->legal_documents->findGotoLink($cmd);
167 if ($legal_documents_target->isOK()) {
168 $ctrl->setTargetScript(
'ilias.php');
169 foreach ($legal_documents_target->value()->queryParams() as $key => $value) {
170 $ctrl->setParameterByClass(
171 $legal_documents_target->value()->guiName(),
176 return $ctrl->getLinkTargetByClass(
177 $legal_documents_target->value()->guiPath(),
178 $legal_documents_target->value()->command()
182 return $this->buildProfileUrl(
185 PublicProfileGUI::DEFAULT_CMD
194 if ($target_user_id === null) {
196 [\ilDashboardGUI::class],
200 $ctrl->setParameterByClass(PublicProfileGUI::class,
'user_id', $target_user_id->toInt());
201 return $ctrl->getLinkTargetByClass([\ilPublicProfileBaseClassGUI::class, PublicProfileGUI::class], $cmd);
can(string $uri_path, bool $shift=false)
GUI class for personal profile.
GUI class for public user profile presentation.
@ilCtrl_Calls ILIAS\User\Settings\PersonalSettingsGUI: ILIAS\User\Account\DeleteAccountGUI @ilCtrl_Ca...
const PASSWORD_ASSIST_OPERATION
buildProfileUrl(\ilCtrl $ctrl, ?ReferenceId $target_user_id, string $cmd)
handle(Request $request, Context $context, Factory $response_factory)
buildChangeEmailUrl(string $token, \ilCtrl $ctrl)
const USERNAME_ASSIST_OPERATION
const REGISTRATION_OPERATION
readonly StartingPointRepository $starting_point_repository
const CHANGE_EMAIL_OPERATION
const DEL_OWN_ACCOUNT_OPERATION
const CONTACT_IGNORE_OPERATION
getRedirectToOtherComponentsOrProfile(\ilCtrl $ctrl, ?ReferenceId $target_user_id, string $cmd)
buildDeleteUsrUrl(Context $context)
getLoginUrl(Request $request, Context $context)
readonly LegalDocumentsConductor $legal_documents
const CONTACT_APPROVE_OPERATION
Class ilCtrl provides processing control methods.
clearParameterByClass(string $a_class, string $a_parameter)
@inheritDoc
setParameterByClass(string $a_class, string $a_parameter, $a_value)
@inheritDoc
getLinkTargetByClass( $a_class, ?string $a_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!file_exists('../ilias.ini.php'))