19declare(strict_types=1);
49 private readonly \ilObjUser
$user;
55 $this->legal_documents =
$DIC[
'legalDocuments'];
56 $this->
user = $DIC[
'ilUser'];
57 $this->starting_point_repository =
LocalDIC::dic()[StartingPointRepository::class];
70 $additional_params = $request->getAdditionalParameters();
71 $cmd = $additional_params[0] ??
'';
74 self::CHANGE_EMAIL_OPERATION =>
$context->isUserLoggedIn()
77 self::REGISTRATION_OPERATION =>
$context->ctrl()->redirectByClass(
78 [\ilStartUpGUI::class, \ilAccountRegistrationGUI::class],
81 self::USERNAME_ASSIST_OPERATION =>
$context->ctrl()->redirectByClass(
82 [\ilStartUpGUI::class, \ilPasswordAssistanceGUI::class],
83 'showUsernameAssistanceForm'
85 self::PASSWORD_ASSIST_OPERATION =>
$context->ctrl()->redirectByClass(
86 [\ilStartUpGUI::class, \ilPasswordAssistanceGUI::class],
92 'approveContactRequest'
97 'ignoreContactRequest'
107 return $response_factory->
can($uri);
123 $request->getNamespace(),
124 $request->getReferenceId(),
125 $request->getAdditionalParameters()
128 return '/login.php?target='
129 . str_replace(
'/',
'_', rtrim($target,
'/'))
130 .
'&cmd=force_login&lang=' .
$context->getUserLanguage();
138 && $this->
user->hasDeletionFlag()) {
139 $context->ctrl()->setTargetScript(
'ilias.php');
140 return $context->ctrl()->getLinkTargetByClass(
141 [\ilDashboardGUI::class, \ilPersonalSkillsGUI::class],
142 'deleteOwnAccountStep2'
146 $context->mainTemplate()->setOnScreenMessage(
148 $context->lng()->txt(
'account_not_flagged_for_deletion'),
151 return $this->starting_point_repository->getValidAndAccessibleStartingPointAsUrl();
156 ?
int $target_user_id,
159 if (substr($cmd, -4) ==
'_bdg') {
163 $legal_documents_target = $this->legal_documents->findGotoLink($cmd);
164 if ($legal_documents_target->isOK()) {
165 $ctrl->setTargetScript(
'ilias.php');
166 foreach ($legal_documents_target->value()->queryParams() as $key => $value) {
167 $ctrl->setParameterByClass(
168 $legal_documents_target->value()->guiName(),
173 return $ctrl->getLinkTargetByClass(
174 $legal_documents_target->value()->guiPath(),
175 $legal_documents_target->value()->command()
179 return $this->buildProfileUrl(
180 $target_user_id->toInt(),
182 PublicProfileGUI::DEFAULT_CMD
188 ?
int $target_user_id,
191 if ($target_user_id === null) {
193 [\ilDashboardGUI::class],
197 $ctrl->setParameterByClass(PublicProfileGUI::class,
'user_id', $target_user_id);
198 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.
const PASSWORD_ASSIST_OPERATION
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
buildProfileUrl(\ilCtrl $ctrl, ?int $target_user_id, string $cmd)
const DEL_OWN_ACCOUNT_OPERATION
const CONTACT_IGNORE_OPERATION
getRedirectToOtherComponentsOrProfile(\ilCtrl $ctrl, ?int $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'))