ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilStartUpGUI Class Reference

StartUp GUI class. More...

+ Collaboration diagram for ilStartUpGUI:

Public Member Functions

 __construct (\ilObjUser $user=null, \ilTermsOfServiceDocumentEvaluation $termsOfServiceEvaluation=null, \ilTemplate $mainTemplate=null, ServerRequestInterface $httpRequest=null)
 ilStartUpGUI constructor. More...
 
 executeCommand ()
 execute command More...
 
 getLogger ()
 Get logger. More...
 
 jumpToRegistration ()
 jump to registration gui More...
 
 jumpToPasswordAssistance ()
 jump to password assistance More...
 
 showLogout ()
 show logout screen More...
 
 showClientList ()
 show client list More...
 
 showNoCookiesScreen ()
 show help screen, if cookies are disabled More...
 

Static Public Member Functions

static _checkGoto ($a_target)
 

Data Fields

const ACCOUNT_MIGRATION_MIGRATE = 1
 
const ACCOUNT_MIGRATION_NEW = 2
 

Protected Member Functions

 showLoginPage (ilPropertyFormGUI $form=null)
 
 showLogin ()
 Show login. More...
 
 showCodeForm ($a_username=null, $a_form=null)
 
 initCodeForm ($a_username)
 
 processCode ()
 
 initStandardLoginForm ()
 Initialize the standard. More...
 
 doShibbolethAuthentication ()
 Trying shibboleth authentication. More...
 
 doCasAuthentication ()
 Try CAS auth. More...
 
 doLTIAuthentication ()
 Handle lti requests. More...
 
 doApacheAuthentication ()
 Try apache auth. More...
 
 doStandardAuthentication ()
 Check form input; authenticate user. More...
 
 showLoginForm ($page_editor_html, ilPropertyFormGUI $form=null)
 Show login form ilSetting $ilSetting. More...
 
 showLoginInformation ($page_editor_html)
 Show login information. More...
 
 showCASLoginForm ($page_editor_html)
 Show cas login ilSetting $ilSetting. More...
 
 showShibbolethLoginForm ($page_editor_html)
 Show shibboleth login form. More...
 
 substituteLoginPageElements ($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
 Substitute login page elements. More...
 
 getLoginPageEditorHTML ()
 Get HTML of ILIAS login page editor. More...
 
 showRegistrationLinks ($page_editor_html)
 Show registration, password forgotten, client slection links ilLanguage $lng ilSetting $ilSetting <type> $ilIliasIniFile. More...
 
 showTermsOfServiceLink (string $page_editor_html)
 Show terms of service link. More...
 
 purgePlaceholders ($page_editor_html)
 Purge page editor html from unused placeholders. More...
 
 migrateAccount ()
 Migrate Account. More...
 
 doMigrationNewAccount ()
 Create new account for migration. More...
 
 doMigration ()
 Do migration of existing ILIAS database user account. More...
 
 getAcceptance ()
 Get terms of service. More...
 
 showTermsOfService ()
 Show terms of service. More...
 
 processIndexPHP ()
 process index.php More...
 
 showSamlLoginForm ($page_editor_html)
 
 showOpenIdConnectLoginForm ($page_editor_html)
 
 doOpenIdConnectAuthentication ()
 do open id connect authentication More...
 
 doSamlAuthentication ()
 
 showSamlIdpSelection (\ilSamlAuth $auth, array $idps)
 

Static Protected Member Functions

static getLanguageSelection ()
 language selection list More...
 

Protected Attributes

 $ctrl
 
 $lng
 
 $logger
 
 $mainTemplate
 
 $user
 
 $termsOfServiceEvaluation
 
 $httpRequest
 

Detailed Description

StartUp GUI class.

Handles Login and Registration.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$ ilStartUpGUI: ilAccountRegistrationGUI, ilPasswordAssistanceGUI, ilLoginPageGUI

Definition at line 15 of file class.ilStartUpGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilStartUpGUI::__construct ( \ilObjUser  $user = null,
\ilTermsOfServiceDocumentEvaluation  $termsOfServiceEvaluation = null,
\ilTemplate  $mainTemplate = null,
ServerRequestInterface  $httpRequest = null 
)

ilStartUpGUI constructor.

Parameters
\ilObjUser | null$user

Definition at line 44 of file class.ilStartUpGUI.php.

References $DIC, $httpRequest, $mainTemplate, $termsOfServiceEvaluation, $user, ilLoggerFactory\getLogger(), and user().

49  {
50  global $DIC;
51 
52  if ($user === null) {
53  $user = $DIC->user();
54  }
55  $this->user = $user;
56 
57  if ($termsOfServiceEvaluation === null) {
58  $termsOfServiceEvaluation = $DIC['tos.document.evaluator'];
59  }
60  $this->termsOfServiceEvaluation = $termsOfServiceEvaluation;
61 
62  if ($mainTemplate === null) {
63  $mainTemplate = $DIC->ui()->mainTemplate();
64  }
65  $this->mainTemplate = $mainTemplate;
66 
67  if ($httpRequest === null) {
68  $httpRequest = $DIC->http()->request();
69  }
70  $this->httpRequest = $httpRequest;
71 
72  $this->ctrl = $DIC->ctrl();
73  $this->lng = $DIC->language();
74  $this->lng->loadLanguageModule('auth');
75  $this->logger = ilLoggerFactory::getLogger('init');
76 
77  $this->ctrl->saveParameter($this, array("rep_ref_id", "lang", "target", "client_id"));
78 
79  $this->user->setLanguage($this->lng->getLangKey());
80  }
global $DIC
Definition: saml.php:7
user()
Definition: user.php:4
static getLogger($a_component_id)
Get component logger.
+ Here is the call graph for this function:

Member Function Documentation

◆ _checkGoto()

static ilStartUpGUI::_checkGoto (   $a_target)
static

Definition at line 1788 of file class.ilStartUpGUI.php.

References $_COOKIE, $_GET, $_SERVER, $_SESSION, $ilCtrl, $ilSetting, $ilUser, $lng, $location, $password, $path, $ret, $target, $tpl, $tree, $type, $user, ilObject\_getAllReferences(), ilObjCourse\_isActivated(), ilGroupParticipants\_isParticipant(), ilLMObject\_lookupContObjID(), ilObject\_lookupObjId(), ilObject\_lookupType(), ilObjCourse\_registrationEnabled(), ilObjUser\_verifyRegistrationHash(), ilUtil\generatePasswords(), ilParticipants\getDefaultMemberRole(), ilUtil\getImagePath(), ilPublicSectionSettings\getInstance(), ilObjectFactory\getInstanceByObjId(), ilLoggerFactory\getLogger(), ilPluginAdmin\getPluginObject(), IL_COMP_SERVICE, IL_PASSWD_PLAIN, ilUIFramework\init(), iljQueryUtil\initjQuery(), ilUtil\redirect(), and ilUtil\setCookie().

1789  {
1790  global $objDefinition, $ilPluginAdmin, $ilUser;
1791 
1792 
1793  if (is_object($ilPluginAdmin)) {
1794  // get user interface plugins
1795  $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "UIComponent", "uihk");
1796 
1797  // search
1798  foreach ($pl_names as $pl) {
1799  $ui_plugin = ilPluginAdmin::getPluginObject(IL_COMP_SERVICE, "UIComponent", "uihk", $pl);
1800  $gui_class = $ui_plugin->getUIClassInstance();
1801  $resp = $gui_class->checkGotoHook($a_target);
1802  if ($resp["target"] !== false) {
1803  $a_target = $resp["target"];
1804  break;
1805  }
1806  }
1807  }
1808 
1809  if ($a_target == "") {
1810  return false;
1811  }
1812 
1813  $t_arr = explode("_", $a_target);
1814  $type = $t_arr[0];
1815 
1816  if ($type == "git") {
1817  $type = "glo";
1818  }
1819 
1820  if ($type == "pg" | $type == "st") {
1821  $type = "lm";
1822  }
1823 
1824  $class = $objDefinition->getClassName($type);
1825  if ($class == "") {
1826  return false;
1827  }
1828 
1829  $location = $objDefinition->getLocation($type);
1830  $full_class = "ilObj" . $class . "Access";
1831  include_once($location . "/class." . $full_class . ".php");
1832 
1833  $ret = call_user_func(array($full_class, "_checkGoto"), $a_target);
1834 
1835  // if no access and repository object => check for parent course/group
1836  if (!$ret &&
1837  !stristr($a_target, "_wsp") &&
1838  $ilUser->getId() != ANONYMOUS_USER_ID && // #10637
1839  !$objDefinition->isAdministrationObject($type) &&
1840  $objDefinition->isRBACObject($type) &&
1841  $t_arr[1]) {
1842  global $tree, $rbacsystem, $ilAccess;
1843 
1844  // original type "pg" => pg_<page_id>[_<ref_id>]
1845  if ($t_arr[0] == "pg") {
1846  if (isset($t_arr[2])) {
1847  $ref_id = $t_arr[2];
1848  } else {
1849  $lm_id = ilLMObject::_lookupContObjID($t_arr[1]);
1850  $ref_id = ilObject::_getAllReferences($lm_id);
1851  if ($ref_id) {
1852  $ref_id = array_shift($ref_id);
1853  }
1854  }
1855  } else {
1856  $ref_id = $t_arr[1];
1857  }
1858 
1859  include_once "Services/Membership/classes/class.ilParticipants.php";
1860  $block_obj = array();
1861 
1862  // walk path to find parent container
1863  $path = $tree->getPathId($ref_id);
1864  array_pop($path);
1865  foreach ($path as $path_ref_id) {
1866  $redirect_infopage = false;
1867  $add_member_role = false;
1868 
1869  $ptype = ilObject::_lookupType($path_ref_id, true);
1870  $pobj_id = ilObject::_lookupObjId($path_ref_id);
1871 
1872  // core checks: timings/object-specific
1873  if (!$ilAccess->checkAccess(
1874  'read',
1875  '',
1876  $path_ref_id
1877  )) {
1878  // object in path is inaccessible - aborting
1879  return false;
1880  } elseif ($ptype == "crs") {
1881  // check if already participant
1882  include_once "Modules/Course/classes/class.ilCourseParticipant.php";
1883  $participants = new ilCourseParticipant($pobj_id, $ilUser->getId());
1884  if (!$participants->isAssigned()) {
1885  // subscription currently possible?
1886  include_once "Modules/Course/classes/class.ilObjCourse.php";
1887  if (ilObjCourse::_isActivated($pobj_id) &&
1889  $block_obj[] = $path_ref_id;
1890  $add_member_role = true;
1891  } else {
1892  $redirect_infopage = true;
1893  }
1894  }
1895  } elseif ($ptype == "grp") {
1896  // check if already participant
1897  include_once "Modules/Group/classes/class.ilGroupParticipants.php";
1898  if (!ilGroupParticipants::_isParticipant($path_ref_id, $ilUser->getId())) {
1899  // subscription currently possible?
1900  include_once "Modules/Group/classes/class.ilObjGroup.php";
1901  $group_obj = new ilObjGroup($path_ref_id);
1902  if ($group_obj->isRegistrationEnabled()) {
1903  $block_obj[] = $path_ref_id;
1904  $add_member_role = true;
1905  } else {
1906  $redirect_infopage = true;
1907  }
1908  }
1909  }
1910 
1911  // add members roles for all "blocking" objects
1912  if ($add_member_role) {
1913  // cannot join? goto will never work, so redirect to current object
1914  $rbacsystem->resetPACache($ilUser->getId(), $path_ref_id);
1915  if (!$rbacsystem->checkAccess("join", $path_ref_id)) {
1916  $redirect_infopage = true;
1917  } else {
1918  $rbacsystem->addTemporaryRole(
1919  $ilUser->getId(),
1921  );
1922  }
1923  }
1924 
1925  // redirect to infopage of 1st blocking object in path
1926  if ($redirect_infopage) {
1927  if ($rbacsystem->checkAccess("visible", $path_ref_id)) {
1928  ilUtil::redirect("ilias.php?baseClass=ilRepositoryGUI" .
1929  "&ref_id=" . $path_ref_id . "&cmd=infoScreen");
1930  } else {
1931  return false;
1932  }
1933  }
1934  }
1935 
1936 
1937  // check if access will be possible with all (possible) member roles added
1938  $rbacsystem->resetPACache($ilUser->getId(), $ref_id);
1939  if ($rbacsystem->checkAccess("read", $ref_id) && sizeof($block_obj)) { // #12128
1940  // this won't work with lm-pages (see above)
1941  // include_once "Services/Link/classes/class.ilLink.php";
1942  // $_SESSION["pending_goto"] = ilLink::_getStaticLink($ref_id, $type);
1943 
1944  // keep original target
1945  $_SESSION["pending_goto"] = "goto.php?target=" . $a_target;
1946 
1947  // redirect to 1st non-member object in path
1948  ilUtil::redirect("ilias.php?baseClass=ilRepositoryGUI" .
1949  "&ref_id=" . array_shift($block_obj));
1950  }
1951  }
1952 
1953  return $ret;
1954  }
$path
Definition: aliased.php:25
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
$_SESSION["AccountId"]
$type
$location
Definition: buildRTE.php:44
static _registrationEnabled($a_obj_id)
Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static getDefaultMemberRole($a_ref_id)
static _getAllReferences($a_id)
get all reference ids of object
static _lookupObjId($a_id)
$ilUser
Definition: imgupload.php:18
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
static _lookupType($a_id, $a_reference=false)
lookup object type
static _isActivated($a_obj_id)
Is activated.
$ret
Definition: parser.php:6
Class ilObjGroup.
static redirect($a_script)
const IL_COMP_SERVICE
+ Here is the call graph for this function:

◆ doApacheAuthentication()

ilStartUpGUI::doApacheAuthentication ( )
protected

Try apache auth.

Definition at line 829 of file class.ilStartUpGUI.php.

References $GLOBALS, PHPMailer\PHPMailer\$provider, ilUtil\appendUrlParameterString(), AUTH_APACHE, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilAuthStatus\getInstance(), ilLoggerFactory\getLogger(), getLogger(), ilUtil\sendFailure(), and showLoginPage().

830  {
831  $this->getLogger()->debug('Trying apache authentication');
832 
833  $credentials = new \ilAuthFrontendCredentialsApache($this->httpRequest, $this->ctrl);
834  $credentials->initFromRequest();
835 
836  $provider_factory = new \ilAuthProviderFactory();
837  $provider = $provider_factory->getProviderByAuthMode($credentials, AUTH_APACHE);
838 
839  $status = \ilAuthStatus::getInstance();
840 
841  $frontend_factory = new \ilAuthFrontendFactory();
842  $frontend_factory->setContext(\ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
843  $frontend = $frontend_factory->getFrontend(
844  $GLOBALS['DIC']['ilAuthSession'],
845  $status,
846  $credentials,
847  array($provider)
848  );
849 
850  $frontend->authenticate();
851 
852  switch ($status->getStatus()) {
853  case \ilAuthStatus::STATUS_AUTHENTICATED:
854  if ($credentials->hasValidTargetUrl()) {
855  \ilLoggerFactory::getLogger('auth')->debug(sprintf(
856  'Authentication successful. Redirecting to starting page: %s',
857  $credentials->getTargetUrl()
858  ));
859  $this->ctrl->redirectToURL($credentials->getTargetUrl());
860  } else {
861  \ilLoggerFactory::getLogger('auth')->debug(
862  'Authentication successful, but no valid target URL given. Redirecting to default starting page.'
863  );
864  \ilInitialisation::redirectToStartingPage();
865  }
866  break;
867 
868  case \ilAuthStatus::STATUS_ACCOUNT_MIGRATION_REQUIRED:
869  $this->ctrl->redirect($this, 'showAccountMigration');
870  break;
871 
872  case \ilAuthStatus::STATUS_AUTHENTICATION_FAILED:
873  \ilUtil::sendFailure($status->getTranslatedReason(), true);
874  $this->ctrl->redirectToURL(\ilUtil::appendUrlParameterString(
875  $this->ctrl->getLinkTarget($this, 'showLoginPage', '', false, false),
876  'passed_sso=1'
877  ));
878  break;
879  }
880 
881  \ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
882  $this->showLoginPage();
883  return false;
884  }
const AUTH_APACHE
getLogger()
Get logger.
showLoginPage(ilPropertyFormGUI $form=null)
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
static getLogger($a_component_id)
Get component logger.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ doCasAuthentication()

ilStartUpGUI::doCasAuthentication ( )
protected

Try CAS auth.

Definition at line 738 of file class.ilStartUpGUI.php.

References $DIC, $GLOBALS, PHPMailer\PHPMailer\$provider, AUTH_CAS, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilAuthStatus\getInstance(), getLogger(), ilUtil\sendFailure(), showLoginPage(), ilAuthStatus\STATUS_AUTHENTICATED, and ilAuthStatus\STATUS_AUTHENTICATION_FAILED.

739  {
740  global $DIC;
741 
742  $this->getLogger()->debug('Trying cas authentication');
743 
744  include_once './Services/CAS/classes/class.ilAuthFrontendCredentialsCAS.php';
745  $credentials = new ilAuthFrontendCredentialsCAS();
746 
747  include_once './Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
748  $provider_factory = new ilAuthProviderFactory();
749  $provider = $provider_factory->getProviderByAuthMode($credentials, AUTH_CAS);
750 
751  include_once './Services/Authentication/classes/class.ilAuthStatus.php';
752  $status = ilAuthStatus::getInstance();
753 
754  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
755  $frontend_factory = new ilAuthFrontendFactory();
756  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
757  $frontend = $frontend_factory->getFrontend(
758  $GLOBALS['DIC']['ilAuthSession'],
759  $status,
760  $credentials,
761  array($provider)
762  );
763 
764  $frontend->authenticate();
765  switch ($status->getStatus()) {
767  $this->getLogger()->debug('Authentication successful.');
768  ilInitialisation::redirectToStartingPage();
769  break;
770 
772  default:
773  ilUtil::sendFailure($DIC->language()->txt($status->getReason()));
774  $this->showLoginPage();
775  return false;
776  }
777  }
global $DIC
Definition: saml.php:7
const STATUS_AUTHENTICATION_FAILED
Factory for auth frontend classes.
const AUTH_CAS
getLogger()
Get logger.
showLoginPage(ilPropertyFormGUI $form=null)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
Auth frontend credentials for CAS auth.
+ Here is the call graph for this function:

◆ doLTIAuthentication()

ilStartUpGUI::doLTIAuthentication ( )
protected

Handle lti requests.

Definition at line 782 of file class.ilStartUpGUI.php.

References $GLOBALS, PHPMailer\PHPMailer\$provider, AUTH_PROVIDER_LTI, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilAuthStatus\getInstance(), ilLoggerFactory\getLogger(), getLogger(), ilUtil\sendFailure(), showLoginPage(), ilAuthStatus\STATUS_ACCOUNT_MIGRATION_REQUIRED, ilAuthStatus\STATUS_AUTHENTICATED, and ilAuthStatus\STATUS_AUTHENTICATION_FAILED.

783  {
784  $this->getLogger()->debug('Trying lti authentication');
785 
786  $credentials = new ilAuthFrontendCredentialsLTI();
787  $credentials->initFromRequest();
788 
789  $provider_factory = new ilAuthProviderFactory();
790  $provider = $provider_factory->getProviderByAuthMode($credentials, AUTH_PROVIDER_LTI);
791 
792  $status = ilAuthStatus::getInstance();
793 
794  $frontend_factory = new ilAuthFrontendFactory();
795  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
796  $frontend = $frontend_factory->getFrontend(
797  $GLOBALS['DIC']['ilAuthSession'],
798  $status,
799  $credentials,
800  array($provider)
801  );
802 
803  $frontend->authenticate();
804 
805  switch ($status->getStatus()) {
807  ilLoggerFactory::getLogger('auth')->debug('Authentication successful; Redirecting to starting page.');
808  ilInitialisation::redirectToStartingPage();
809  return;
810 
812  return $GLOBALS['ilCtrl']->redirect($this, 'showAccountMigration');
813 
815  ilUtil::sendFailure($GLOBALS['lng']->txt($status->getReason()), true);
816  $GLOBALS['ilCtrl']->redirect($this, 'showLoginPage');
817  return false;
818  }
819 
820  ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
821  $this->showLoginPage();
822  return false;
823  }
const STATUS_AUTHENTICATION_FAILED
Factory for auth frontend classes.
Auth credentials for lti oauth based authentication.
getLogger()
Get logger.
showLoginPage(ilPropertyFormGUI $form=null)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
static getLogger($a_component_id)
Get component logger.
const AUTH_PROVIDER_LTI
const STATUS_ACCOUNT_MIGRATION_REQUIRED
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ doMigration()

ilStartUpGUI::doMigration ( )
protected

Do migration of existing ILIAS database user account.

Definition at line 1428 of file class.ilStartUpGUI.php.

References $_POST, $GLOBALS, PHPMailer\PHPMailer\$provider, AUTH_LOCAL, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilSession\get(), ilAuthStatus\getInstance(), getLogger(), ilAuthFrontend\MIG_TRIGGER_AUTHMODE, ilUtil\sendFailure(), and ilAuthStatus\STATUS_AUTHENTICATED.

Referenced by migrateAccount().

1429  {
1430  include_once './Services/Authentication/classes/class.ilAuthFactory.php';
1431 
1432  $this->logger->debug('Starting account migration for user: ' . (string) ilSession::get('mig_ext_account'));
1433 
1434  // try database authentication
1435  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentials.php';
1436  $credentials = new ilAuthFrontendCredentials();
1437  $credentials->setUsername((string) $_POST['mig_username']);
1438  $credentials->setPassword((string) $_POST['mig_password']);
1439 
1440  include_once './Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
1441  $provider_factory = new ilAuthProviderFactory();
1442  $provider = $provider_factory->getProviderByAuthMode($credentials, AUTH_LOCAL);
1443 
1444  include_once './Services/Authentication/classes/class.ilAuthStatus.php';
1445  $status = ilAuthStatus::getInstance();
1446 
1447  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
1448  $frontend_factory = new ilAuthFrontendFactory();
1449  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
1450  $frontend = $frontend_factory->getFrontend(
1451  $GLOBALS['DIC']['ilAuthSession'],
1452  $status,
1453  $credentials,
1454  array($provider)
1455  );
1456 
1457  $frontend->authenticate();
1458 
1459  switch ($status->getStatus()) {
1461  $this->getLogger()->debug('Account migration: authentication successful for ' . (string) $_POST['mig_username']);
1462 
1463  $provider = $provider_factory->getProviderByAuthMode(
1464  $credentials,
1466  );
1467  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
1468  $frontend = $frontend_factory->getFrontend(
1469  $GLOBALS['DIC']['ilAuthSession'],
1470  $status,
1471  $credentials,
1472  array($provider)
1473  );
1474  if (
1475  $frontend->migrateAccount($GLOBALS['DIC']['ilAuthSession'])
1476  ) {
1477  include_once './Services/Init/classes/class.ilInitialisation.php';
1478  ilInitialisation::redirectToStartingPage();
1479  } else {
1480  ilUtil::sendFailure($this->lng->txt('err_wrong_login'), true);
1481  $this->ctrl->redirect($this, 'showAccountMigration');
1482  }
1483  break;
1484 
1485  default:
1486  $this->getLogger()->info('Account migration failed for user ' . (string) $_POST['mig_username']);
1487  $this->showAccountMigration($GLOBALS['lng']->txt('err_wrong_login'));
1488  return false;
1489  }
1490  }
Factory for auth frontend classes.
static get($a_var)
Get a value.
getLogger()
Get logger.
const AUTH_LOCAL
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
$_POST["username"]
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doMigrationNewAccount()

ilStartUpGUI::doMigrationNewAccount ( )
protected

Create new account for migration.

Definition at line 1386 of file class.ilStartUpGUI.php.

References $GLOBALS, PHPMailer\PHPMailer\$provider, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilSession\get(), ilAuthStatus\getInstance(), ilAuthFrontend\MIG_EXTERNAL_ACCOUNT, ilAuthFrontend\MIG_TRIGGER_AUTHMODE, and ilUtil\sendFailure().

Referenced by migrateAccount().

1387  {
1388  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontend.php';
1389 
1390  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentials.php';
1391  $credentials = new ilAuthFrontendCredentials();
1392  $credentials->setUsername(ilSession::get(ilAuthFrontend::MIG_EXTERNAL_ACCOUNT));
1393 
1394  include_once './Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
1395  $provider_factory = new ilAuthProviderFactory();
1396  $provider = $provider_factory->getProviderByAuthMode($credentials, ilSession::get(ilAuthFrontend::MIG_TRIGGER_AUTHMODE));
1397 
1398  $this->logger->debug('Using provider: ' . get_class($provider) . ' for further processing.');
1399 
1400  include_once './Services/Authentication/classes/class.ilAuthStatus.php';
1401  $status = ilAuthStatus::getInstance();
1402 
1403  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
1404  $frontend_factory = new ilAuthFrontendFactory();
1405  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
1406  $frontend = $frontend_factory->getFrontend(
1407  $GLOBALS['DIC']['ilAuthSession'],
1408  $status,
1409  $credentials,
1410  array($provider)
1411  );
1412 
1413  if ($frontend->migrateAccountNew()) {
1414  include_once './Services/Init/classes/class.ilInitialisation.php';
1415  ilInitialisation::redirectToStartingPage();
1416  }
1417 
1418  ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
1419  $this->ctrl->redirect($this, 'showAccountMigration');
1420  }
Factory for auth frontend classes.
static get($a_var)
Get a value.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doOpenIdConnectAuthentication()

ilStartUpGUI::doOpenIdConnectAuthentication ( )
protected

do open id connect authentication

Definition at line 2199 of file class.ilStartUpGUI.php.

References $DIC, $GLOBALS, PHPMailer\PHPMailer\$provider, AUTH_OPENID_CONNECT, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilAuthStatus\getInstance(), ilLoggerFactory\getLogger(), getLogger(), ilUtil\sendFailure(), showLoginPage(), ilAuthStatus\STATUS_AUTHENTICATED, and ilAuthStatus\STATUS_AUTHENTICATION_FAILED.

2200  {
2201  global $DIC;
2202 
2203  $this->getLogger()->debug('Trying openid connect authentication');
2204 
2205  $credentials = new ilAuthFrontendCredentialsOpenIdConnect();
2206  $credentials->initFromRequest();
2207 
2208  $provider_factory = new ilAuthProviderFactory();
2209  $provider = $provider_factory->getProviderByAuthMode($credentials, AUTH_OPENID_CONNECT);
2210 
2211  $status = ilAuthStatus::getInstance();
2212 
2213  $frontend_factory = new ilAuthFrontendFactory();
2214  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
2215  $frontend = $frontend_factory->getFrontend(
2216  $GLOBALS['DIC']['ilAuthSession'],
2217  $status,
2218  $credentials,
2219  array($provider)
2220  );
2221 
2222  $frontend->authenticate();
2223 
2224  switch ($status->getStatus()) {
2226  ilLoggerFactory::getLogger('auth')->debug('Authentication successful; Redirecting to starting page.');
2227  include_once './Services/Init/classes/class.ilInitialisation.php';
2228  ilInitialisation::redirectToStartingPage();
2229  return;
2230 
2232  ilUtil::sendFailure($status->getTranslatedReason(), true);
2233  $GLOBALS['ilCtrl']->redirect($this, 'showLoginPage');
2234  return false;
2235  }
2236 
2237  ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
2238  $this->showLoginPage();
2239  return false;
2240  }
global $DIC
Definition: saml.php:7
const STATUS_AUTHENTICATION_FAILED
const AUTH_OPENID_CONNECT
Factory for auth frontend classes.
getLogger()
Get logger.
showLoginPage(ilPropertyFormGUI $form=null)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
static getLogger($a_component_id)
Get component logger.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ doSamlAuthentication()

ilStartUpGUI::doSamlAuthentication ( )
protected
Returns
bool

Definition at line 2246 of file class.ilStartUpGUI.php.

References $_GET, $_POST, $auth, $authData, $DIC, $factory, $GLOBALS, $idp, PHPMailer\PHPMailer\$params, PHPMailer\PHPMailer\$provider, $request, AUTH_SAML, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilSamlIdp\geIdpIdByEntityId(), ilSamlIdp\getActiveIdpList(), ilAuthStatus\getInstance(), ilLoggerFactory\getLogger(), getLogger(), ilUtil\sendFailure(), showLoginPage(), showSamlIdpSelection(), ilAuthStatus\STATUS_ACCOUNT_MIGRATION_REQUIRED, ilAuthStatus\STATUS_AUTHENTICATED, ilAuthStatus\STATUS_AUTHENTICATION_FAILED, and ilUtil\stripSlashes().

2247  {
2248  global $DIC;
2249 
2250  $this->getLogger()->debug('Trying saml authentication');
2251 
2252  $request = $DIC->http()->request();
2253  $params = $request->getQueryParams();
2254 
2255  require_once 'Services/Saml/classes/class.ilSamlAuthFactory.php';
2256  $factory = new ilSamlAuthFactory();
2257  $auth = $factory->auth();
2258 
2259  if (isset($params['action']) && $params['action'] == 'logout') {
2260  $auth->logout(isset($params['logout_url']) ? $params['logout_url'] : '');
2261  }
2262 
2263  if (isset($params['target']) && !isset($params['returnTo'])) {
2264  $params['returnTo'] = $params['target'];
2265  }
2266  if (isset($params['returnTo'])) {
2267  $auth->storeParam('target', $params['returnTo']);
2268  }
2269 
2270  ilLoggerFactory::getLogger('auth')->debug('Started SAML authentication request');
2271 
2272  if (!$auth->isAuthenticated()) {
2273  ilLoggerFactory::getLogger('auth')->debug('User is not authenticated, yet');
2274  if (!isset($_GET['idpentityid']) || !isset($_GET['saml_idp_id'])) {
2275  $activeIdps = ilSamlIdp::getActiveIdpList();
2276  if (1 == count($activeIdps)) {
2277  $idp = current($activeIdps);
2278  $_GET['idpentityid'] = $idp->getEntityId();
2279  $_GET['saml_idp_id'] = $idp->getIdpId();
2280 
2281  ilLoggerFactory::getLogger('auth')->debug(sprintf(
2282  'Found exactly one active IDP with id %s: %s',
2283  $idp->getIdpId(),
2284  $idp->getEntityId()
2285  ));
2286  } elseif (0 == count($activeIdps)) {
2287  ilLoggerFactory::getLogger('auth')->debug('Did not find any active IDP, skipp authentication process');
2288  $GLOBALS['DIC']->ctrl()->redirect($this, 'showLoginPage');
2289  } else {
2290  ilLoggerFactory::getLogger('auth')->debug('Found multiple active IPDs, presenting IDP selection...');
2291  $this->showSamlIdpSelection($auth, $activeIdps);
2292  return;
2293  }
2294  }
2295 
2296  $auth->storeParam('idpId', (int) $_GET['saml_idp_id']);
2297  ilLoggerFactory::getLogger('auth')->debug(sprintf(
2298  'Stored relevant IDP id in session: %s',
2299  (string) $auth->getParam('idpId')
2300  ));
2301  }
2302 
2303  // re-init
2304  $auth = $factory->auth();
2305 
2306  ilLoggerFactory::getLogger('auth')->debug('Checking SAML authentication status...');
2307 
2308  $auth->protectResource();
2309 
2310  ilLoggerFactory::getLogger('auth')->debug(
2311  'SAML authentication successful, continuing with ILIAS internal authentication process...'
2312  );
2313 
2314  $idpId = (int) $auth->getParam('idpId');
2315 
2316  ilLoggerFactory::getLogger('auth')->debug(sprintf(
2317  'Internal SAML IDP id fetched from session: %s',
2318  (string) $idpId
2319  ));
2320 
2321  if ($idpId < 1) {
2322  ilLoggerFactory::getLogger('auth')->debug(
2323  'No valid internal IDP id found (most probably due to IDP initiated SSO), trying fallback determination...'
2324  );
2325  $authData = $auth->getAuthDataArray();
2326  if (isset($authData['saml:sp:IdP'])) {
2327  $idpId = ilSamlIdp::geIdpIdByEntityId($authData['saml:sp:IdP']);
2328  ilLoggerFactory::getLogger('auth')->debug(sprintf(
2329  'Searching active ILIAS IDP by entity id "%s" results in: %s',
2330  $authData['saml:sp:IdP'],
2331  (string) $idpId
2332  ));
2333  } else {
2334  ilLoggerFactory::getLogger('auth')->debug(
2335  'Could not execute fallback determination, no IDP entity ID found SAML authentication session data'
2336  );
2337  }
2338  }
2339  $_GET['target'] = $auth->popParam('target');
2340 
2341  $_POST['auth_mode'] = AUTH_SAML . '_' . $idpId;
2342 
2343  require_once 'Services/Saml/classes/class.ilAuthFrontendCredentialsSaml.php';
2344  $credentials = new ilAuthFrontendCredentialsSaml($auth);
2345  $credentials->initFromRequest();
2346 
2347  require_once 'Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
2348  $provider_factory = new ilAuthProviderFactory();
2349  $provider = $provider_factory->getProviderByAuthMode($credentials, ilUtil::stripSlashes($_POST['auth_mode']));
2350 
2351  require_once 'Services/Authentication/classes/class.ilAuthStatus.php';
2352  $status = ilAuthStatus::getInstance();
2353 
2354  require_once 'Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
2355  $frontend_factory = new ilAuthFrontendFactory();
2356  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
2357  $frontend = $frontend_factory->getFrontend(
2358  $GLOBALS['DIC']['ilAuthSession'],
2359  $status,
2360  $credentials,
2361  array($provider)
2362  );
2363 
2364  $frontend->authenticate();
2365 
2366  switch ($status->getStatus()) {
2368  ilLoggerFactory::getLogger('auth')->debug('Authentication successful; Redirecting to starting page.');
2369  require_once 'Services/Init/classes/class.ilInitialisation.php';
2370  return ilInitialisation::redirectToStartingPage();
2371 
2373  return $GLOBALS['DIC']->ctrl()->redirect($this, 'showAccountMigration');
2374 
2376  ilUtil::sendFailure($status->getTranslatedReason(), true);
2377  $GLOBALS['DIC']->ctrl()->redirect($this, 'showLoginPage');
2378  return false;
2379  }
2380 
2381  ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
2382  $this->showLoginPage();
2383 
2384  return false;
2385  }
static geIdpIdByEntityId($entityId)
foreach($paths as $path) $request
Definition: asyncclient.php:32
global $DIC
Definition: saml.php:7
$_GET["client_id"]
const STATUS_AUTHENTICATION_FAILED
Factory for auth frontend classes.
$factory
Definition: metadata.php:43
const AUTH_SAML
$auth
Definition: fileserver.php:48
getLogger()
Get logger.
$authData
showLoginPage(ilPropertyFormGUI $form=null)
Class ilAuthFrontendCredentialsSaml.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
showSamlIdpSelection(\ilSamlAuth $auth, array $idps)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$idp
Definition: prp.php:13
static getInstance()
Get status instance.
Class ilSamlAuthFactory.
static getLogger($a_component_id)
Get component logger.
static getActiveIdpList()
const STATUS_ACCOUNT_MIGRATION_REQUIRED
$_POST["username"]
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ doShibbolethAuthentication()

ilStartUpGUI::doShibbolethAuthentication ( )
protected

Trying shibboleth authentication.

Definition at line 687 of file class.ilStartUpGUI.php.

References $GLOBALS, PHPMailer\PHPMailer\$provider, AUTH_SHIBBOLETH, ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilAuthStatus\getInstance(), ilLoggerFactory\getLogger(), getLogger(), ilUtil\sendFailure(), showLoginPage(), ilAuthStatus\STATUS_ACCOUNT_MIGRATION_REQUIRED, ilAuthStatus\STATUS_AUTHENTICATED, and ilAuthStatus\STATUS_AUTHENTICATION_FAILED.

688  {
689  $this->getLogger()->debug('Trying shibboleth authentication');
690 
691  include_once './Services/AuthShibboleth/classes/class.ilAuthFrontendCredentialsShibboleth.php';
692  $credentials = new ilAuthFrontendCredentialsShibboleth();
693  $credentials->initFromRequest();
694 
695  include_once './Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
696  $provider_factory = new ilAuthProviderFactory();
697  $provider = $provider_factory->getProviderByAuthMode($credentials, AUTH_SHIBBOLETH);
698 
699  include_once './Services/Authentication/classes/class.ilAuthStatus.php';
700  $status = ilAuthStatus::getInstance();
701 
702  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
703  $frontend_factory = new ilAuthFrontendFactory();
704  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
705  $frontend = $frontend_factory->getFrontend(
706  $GLOBALS['DIC']['ilAuthSession'],
707  $status,
708  $credentials,
709  array($provider)
710  );
711 
712  $frontend->authenticate();
713 
714  switch ($status->getStatus()) {
716  ilLoggerFactory::getLogger('auth')->debug('Authentication successful; Redirecting to starting page.');
717  include_once './Services/Init/classes/class.ilInitialisation.php';
718  ilInitialisation::redirectToStartingPage();
719  return;
720 
722  return $GLOBALS['ilCtrl']->redirect($this, 'showAccountMigration');
723 
725  ilUtil::sendFailure($status->getTranslatedReason(), true);
726  $GLOBALS['ilCtrl']->redirect($this, 'showLoginPage');
727  return false;
728  }
729 
730  ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
731  $this->showLoginPage();
732  return false;
733  }
const STATUS_AUTHENTICATION_FAILED
Factory for auth frontend classes.
const AUTH_SHIBBOLETH
getLogger()
Get logger.
showLoginPage(ilPropertyFormGUI $form=null)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getInstance()
Get status instance.
static getLogger($a_component_id)
Get component logger.
const STATUS_ACCOUNT_MIGRATION_REQUIRED
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ doStandardAuthentication()

ilStartUpGUI::doStandardAuthentication ( )
protected

Check form input; authenticate user.

Definition at line 889 of file class.ilStartUpGUI.php.

References $form, $GLOBALS, ilAuthModeDetermination\_getInstance(), ilAuthUtils\_hasMultipleAuthenticationMethods(), ilObjUser\_lookupLogin(), ilAuthFrontendFactory\CONTEXT_STANDARD_FORM, ilAuthStatus\getInstance(), ilLoggerFactory\getLogger(), getLogger(), initStandardLoginForm(), ilUtil\sendFailure(), showCodeForm(), showLoginPage(), ilAuthStatus\STATUS_ACCOUNT_MIGRATION_REQUIRED, ilAuthStatus\STATUS_AUTHENTICATED, ilAuthStatus\STATUS_AUTHENTICATION_FAILED, and ilAuthStatus\STATUS_CODE_ACTIVATION_REQUIRED.

890  {
891  $form = $this->initStandardLoginForm();
892  if ($form->checkInput()) {
893  $this->getLogger()->debug('Trying to authenticate user.');
894 
895  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentials.php';
896  $credentials = new ilAuthFrontendCredentials();
897  $credentials->setUsername($form->getInput('username'));
898  $credentials->setPassword($form->getInput('password'));
899  $credentials->setCaptchaCode($form->getInput('captcha_code'));
900 
901  // set chosen auth mode
902  include_once './Services/Authentication/classes/class.ilAuthModeDetermination.php';
904  if (ilAuthUtils::_hasMultipleAuthenticationMethods() and $det->isManualSelection()) {
905  $credentials->setAuthMode($form->getInput('auth_mode'));
906  }
907 
908  include_once './Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
909  $provider_factory = new ilAuthProviderFactory();
910  $providers = $provider_factory->getProviders($credentials);
911 
912  include_once './Services/Authentication/classes/class.ilAuthStatus.php';
913  $status = ilAuthStatus::getInstance();
914 
915  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
916  $frontend_factory = new ilAuthFrontendFactory();
917  $frontend_factory->setContext(ilAuthFrontendFactory::CONTEXT_STANDARD_FORM);
918  $frontend = $frontend_factory->getFrontend(
919  $GLOBALS['DIC']['ilAuthSession'],
920  $status,
921  $credentials,
922  $providers
923  );
924 
925  $frontend->authenticate();
926 
927  switch ($status->getStatus()) {
929  ilLoggerFactory::getLogger('auth')->debug('Authentication successful; Redirecting to starting page.');
930  include_once './Services/Init/classes/class.ilInitialisation.php';
931  ilInitialisation::redirectToStartingPage();
932  return;
933 
935  return $this->showCodeForm(ilObjUser::_lookupLogin($status->getAuthenticatedUserId()));
936 
938  return $GLOBALS['ilCtrl']->redirect($this, 'showAccountMigration');
939 
941  ilUtil::sendFailure($status->getTranslatedReason());
942  return $this->showLoginPage($form);
943  }
944  }
945  ilUtil::sendFailure($this->lng->txt('err_wrong_login'));
946  $this->showLoginPage($form);
947  return false;
948  }
static _lookupLogin($a_user_id)
lookup login
showCodeForm($a_username=null, $a_form=null)
static _hasMultipleAuthenticationMethods()
const STATUS_AUTHENTICATION_FAILED
Factory for auth frontend classes.
getLogger()
Get logger.
initStandardLoginForm()
Initialize the standard.
showLoginPage(ilPropertyFormGUI $form=null)
if(isset($_POST['submit'])) $form
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const STATUS_CODE_ACTIVATION_REQUIRED
static getInstance()
Get status instance.
static getLogger($a_component_id)
Get component logger.
const STATUS_ACCOUNT_MIGRATION_REQUIRED
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ executeCommand()

ilStartUpGUI::executeCommand ( )

execute command

See also
register.php

Definition at line 86 of file class.ilStartUpGUI.php.

Referenced by jumpToPasswordAssistance(), and jumpToRegistration().

87  {
88  $cmd = $this->ctrl->getCmd("processIndexPHP", array('processIndexPHP','showLoginPage'));
89  $next_class = $this->ctrl->getNextClass($this);
90 
91  switch ($next_class) {
92  case 'ilLoginPageGUI':
93  break;
94 
95  case "ilaccountregistrationgui":
96  require_once("Services/Registration/classes/class.ilAccountRegistrationGUI.php");
97  return $this->ctrl->forwardCommand(new ilAccountRegistrationGUI());
98 
99  case "ilpasswordassistancegui":
100  require_once("Services/Init/classes/class.ilPasswordAssistanceGUI.php");
101  return $this->ctrl->forwardCommand(new ilPasswordAssistanceGUI());
102 
103  default:
104  if (method_exists($this, $cmd)) {
105  return $this->$cmd();
106  }
107  }
108  }
Class ilAccountRegistrationGUI.
Password assistance facility for users who have forgotten their password or for users for whom no pas...
+ Here is the caller graph for this function:

◆ getAcceptance()

ilStartUpGUI::getAcceptance ( )
protected

Get terms of service.

Definition at line 1699 of file class.ilStartUpGUI.php.

References showTermsOfService().

1700  {
1701  $this->showTermsOfService();
1702  }
showTermsOfService()
Show terms of service.
+ Here is the call graph for this function:

◆ getLanguageSelection()

static ilStartUpGUI::getLanguageSelection ( )
staticprotected

language selection list

Returns
string ilGroupedList

Definition at line 2111 of file class.ilStartUpGUI.php.

References ilMainMenuGUI\getLanguageSelection().

2112  {
2113  include_once("./Services/MainMenu/classes/class.ilMainMenuGUI.php");
2115  }
static getLanguageSelection($a_in_topbar=false)
+ Here is the call graph for this function:

◆ getLogger()

ilStartUpGUI::getLogger ( )

◆ getLoginPageEditorHTML()

ilStartUpGUI::getLoginPageEditorHTML ( )
protected

Get HTML of ILIAS login page editor.

Returns
string html

Definition at line 1125 of file class.ilStartUpGUI.php.

References $lng, $ret, $tpl, ilPageUtil\_existsAndNotEmpty(), ilObjStyleSheet\getContentStylePath(), ilAuthLoginPageEditorSettings\getInstance(), ilObjStyleSheet\getSyntaxStylePath(), and ilLanguage\lookupId().

Referenced by showLogin(), and showLoginPage().

1126  {
1127  global $lng, $tpl;
1128 
1129  include_once './Services/Authentication/classes/class.ilAuthLoginPageEditorSettings.php';
1131  $active_lang = $lpe->getIliasEditorLanguage($lng->getLangKey());
1132 
1133  if (!$active_lang) {
1134  return '';
1135  }
1136 
1137  // if page does not exist, return nothing
1138  include_once './Services/COPage/classes/class.ilPageUtil.php';
1139  if (!ilPageUtil::_existsAndNotEmpty('auth', ilLanguage::lookupId($active_lang))) {
1140  return '';
1141  }
1142 
1143  include_once './Services/Authentication/classes/class.ilLoginPage.php';
1144  include_once './Services/Authentication/classes/class.ilLoginPageGUI.php';
1145 
1146  include_once("./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1147  $tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath(0));
1148  $tpl->setCurrentBlock("SyntaxStyle");
1149  $tpl->setVariable("LOCATION_SYNTAX_STYLESHEET", ilObjStyleSheet::getSyntaxStylePath());
1150  $tpl->parseCurrentBlock();
1151 
1152  // get page object
1153  $page_gui = new ilLoginPageGUI(ilLanguage::lookupId($active_lang));
1154 
1155  include_once("./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1156  $page_gui->setStyleId(0, 'auth');
1157 
1158  $page_gui->setPresentationTitle("");
1159  $page_gui->setTemplateOutput(false);
1160  $page_gui->setHeader("");
1161  $ret = $page_gui->showPage();
1162 
1163  return $ret;
1164  }
Login page GUI class.
$tpl
Definition: ilias.php:10
static _existsAndNotEmpty($a_parent_type, $a_id, $a_lang="-")
checks whether page exists and is not empty (may return true on some empty pages) ...
static getSyntaxStylePath()
get syntax style path
static getContentStylePath($a_style_id, $add_random=true)
get content style path
$ret
Definition: parser.php:6
static lookupId($a_lang_key)
Lookup obj_id of language ilDB $ilDB.
static getInstance()
Get singelton instance.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCodeForm()

ilStartUpGUI::initCodeForm (   $a_username)
protected

Definition at line 503 of file class.ilStartUpGUI.php.

References $form, $ilCtrl, $lng, and ilFormPropertyGUI\setRequired().

Referenced by processCode(), and showCodeForm().

504  {
505  global $lng, $ilCtrl;
506 
507  $lng->loadLanguageModule("auth");
508 
509  include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
510 
511  $form = new ilPropertyFormGUI();
512  $form->setFormAction($ilCtrl->getFormAction($this, 'showcodeform'));
513  $form->setTitle($lng->txt('auth_account_code_title'));
514 
515  $count = new ilTextInputGUI($lng->txt('auth_account_code'), 'code');
516  $count->setRequired(true);
517  $count->setInfo($lng->txt('auth_account_code_info'));
518  $form->addItem($count);
519 
520  // #11658
521  $uname = new ilHiddenInputGUI("uname");
522  $uname->setValue($a_username);
523  $form->addItem($uname);
524 
525  $form->addCommandButton('processCode', $lng->txt('send'));
526 
527  return $form;
528  }
This class represents a property form user interface.
global $ilCtrl
Definition: ilias.php:18
This class represents a hidden form property in a property form.
if(isset($_POST['submit'])) $form
This class represents a text property in a property form.
setRequired($a_required)
Set Required.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initStandardLoginForm()

ilStartUpGUI::initStandardLoginForm ( )
protected

Initialize the standard.

Returns

Definition at line 619 of file class.ilStartUpGUI.php.

References $form, $key, ilAuthModeDetermination\_getInstance(), ilAuthUtils\_getMultipleAuthModeOptions(), ilAuthUtils\_hasMultipleAuthenticationMethods(), ilFormPropertyGUI\setRequired(), ilTextInputGUI\setSize(), and ilPasswordInputGUI\setUseStripSlashes().

Referenced by doStandardAuthentication(), and showLoginForm().

620  {
621  include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
622  $form = new ilPropertyFormGUI();
623  $form->setFormAction($this->ctrl->getFormAction($this, ''));
624  $form->setName("formlogin");
625  $form->setShowTopButtons(false);
626  $form->setTitle($this->lng->txt("login_to_ilias"));
627 
628  include_once './Services/Authentication/classes/class.ilAuthModeDetermination.php';
630 
631  if (ilAuthUtils::_hasMultipleAuthenticationMethods() and $det->isManualSelection()) {
632  $visible_auth_methods = array();
633  $radg = new ilRadioGroupInputGUI($this->lng->txt("auth_selection"), "auth_mode");
634  foreach (ilAuthUtils::_getMultipleAuthModeOptions($this->lng) as $key => $option) {
635  if (isset($option['hide_in_ui']) && $option['hide_in_ui']) {
636  continue;
637  }
638 
639  $op1 = new ilRadioOption($option['txt'], $key);
640  $radg->addOption($op1);
641  if (isset($option['checked'])) {
642  $radg->setValue($key);
643  }
644  $visible_auth_methods[] = $op1;
645  }
646 
647  if (count($visible_auth_methods) == 1) {
648  $first_auth_method = current($visible_auth_methods);
649  $hidden_auth_method = new ilHiddenInputGUI("auth_mode");
650  $hidden_auth_method->setValue($first_auth_method->getValue());
651  $form->addItem($hidden_auth_method);
652  } else {
653  $form->addItem($radg);
654  }
655  }
656 
657  $ti = new ilTextInputGUI($this->lng->txt("username"), "username");
658  $ti->setSize(20);
659  $ti->setRequired(true);
660  $form->addItem($ti);
661 
662  $pi = new ilPasswordInputGUI($this->lng->txt("password"), "password");
663  $pi->setUseStripSlashes(false);
664  $pi->setRetype(false);
665  $pi->setSkipSyntaxCheck(true);
666  $pi->setSize(20);
667  $pi->setDisableHtmlAutoComplete(false);
668  $pi->setRequired(true);
669  $form->addItem($pi);
670 
671  require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
672  if (ilCaptchaUtil::isActiveForLogin()) {
673  require_once 'Services/Captcha/classes/class.ilCaptchaInputGUI.php';
674  $captcha = new ilCaptchaInputGUI($this->lng->txt('captcha_code'), 'captcha_code');
675  $captcha->setRequired(true);
676  $form->addItem($captcha);
677  }
678 
679  $form->addCommandButton("doStandardAuthentication", $this->lng->txt("log_in"));
680 
681  return $form;
682  }
This class represents an option in a radio group.
static _hasMultipleAuthenticationMethods()
This class represents a property form user interface.
This class represents a captcha input in a property form.
This class represents a hidden form property in a property form.
This class represents a property in a property form.
setUseStripSlashes($a_stat)
En/disable use of stripslashes.
if(isset($_POST['submit'])) $form
static _getMultipleAuthModeOptions($lng)
setSize($a_size)
Set Size.
This class represents a text property in a property form.
This class represents a password property in a property form.
$key
Definition: croninfo.php:18
setRequired($a_required)
Set Required.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ jumpToPasswordAssistance()

ilStartUpGUI::jumpToPasswordAssistance ( )

jump to password assistance

See also
pwassist.php

Definition at line 134 of file class.ilStartUpGUI.php.

References $GLOBALS, executeCommand(), ilSession\SESSION_CLOSE_USER, ilSession\setClosingContext(), showLoginPage(), and user().

135  {
136  $this->ctrl->setCmdClass("ilpasswordassistancegui");
137  $this->ctrl->setCmd("");
138  $this->executeCommand();
139  }
executeCommand()
execute command
+ Here is the call graph for this function:

◆ jumpToRegistration()

ilStartUpGUI::jumpToRegistration ( )

jump to registration gui

See also
register.php

Definition at line 123 of file class.ilStartUpGUI.php.

References executeCommand().

124  {
125  $this->ctrl->setCmdClass("ilaccountregistrationgui");
126  $this->ctrl->setCmd("");
127  $this->executeCommand();
128  }
executeCommand()
execute command
+ Here is the call graph for this function:

◆ migrateAccount()

ilStartUpGUI::migrateAccount ( )
protected

Migrate Account.

Returns
bool

Definition at line 1356 of file class.ilStartUpGUI.php.

References $_POST, $GLOBALS, doMigration(), and doMigrationNewAccount().

1357  {
1358  if (!isset($_POST['account_migration'])) {
1359  $this->showAccountMigration(
1360  $GLOBALS['DIC']->language()->txt('err_choose_migration_type')
1361  );
1362  return false;
1363  }
1364 
1365  if (
1366  ($_POST['account_migration'] == self::ACCOUNT_MIGRATION_MIGRATE) &&
1367  (!strlen($_POST['mig_username']) || !strlen($_POST['mig_password']))
1368  ) {
1369  $this->showAccountMigration(
1370  $GLOBALS['DIC']->language()->txt('err_wrong_login')
1371  );
1372  return false;
1373  }
1374 
1375  if ((int) $_POST['account_migration'] == self::ACCOUNT_MIGRATION_MIGRATE) {
1376  return $this->doMigration();
1377  }
1378  if ((int) $_POST['account_migration'] == static::ACCOUNT_MIGRATION_NEW) {
1379  return $this->doMigrationNewAccount();
1380  }
1381  }
doMigrationNewAccount()
Create new account for migration.
doMigration()
Do migration of existing ILIAS database user account.
$_POST["username"]
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ processCode()

ilStartUpGUI::processCode ( )
protected
Todo:
has to be refactored.

ilLanguage $lng type $ilAuth type $ilCtrl

Returns
boolean

Definition at line 537 of file class.ilStartUpGUI.php.

References $_POST, $code, $form, $GLOBALS, $ilCtrl, $lng, $user, ilObjUser\_lookupId(), ilAccountCode\applyAccessLimits(), ilAccountCode\applyRoleAssignments(), ilAccountCode\getCodeValidUntil(), initCodeForm(), ilAccountCode\isUnusedCode(), showCodeForm(), showLogin(), and ilAccountCode\useCode().

538  {
539  global $lng, $ilAuth, $ilCtrl;
540 
541  $uname = $_POST["uname"];
542 
543  $form = $this->initCodeForm($uname);
544  if ($uname && $form->checkInput()) {
545  $code = $form->getInput("code");
546 
547  include_once "Services/User/classes/class.ilAccountCode.php";
549  $valid_until = ilAccountCode::getCodeValidUntil($code);
550 
551  if (!$user_id = ilObjUser::_lookupId($uname)) {
552  $this->showLogin();
553  return false;
554  }
555 
556  $invalid_code = false;
557  $user = new ilObjUser($user_id);
558 
559  if ($valid_until === "0") {
560  $user->setTimeLimitUnlimited(true);
561  } else {
562  if (is_numeric($valid_until)) {
563  $valid_until = strtotime("+" . $valid_until . "days");
564  } else {
565  $valid_until = explode("-", $valid_until);
566  $valid_until = mktime(
567  23,
568  59,
569  59,
570  $valid_until[1],
571  $valid_until[2],
572  $valid_until[0]
573  );
574  if ($valid_until < time()) {
575  $invalid_code = true;
576  }
577  }
578 
579  if (!$invalid_code) {
580  $user->setTimeLimitUnlimited(false);
581  $user->setTimeLimitUntil($valid_until);
582  }
583  }
584 
585  if (!$invalid_code) {
586  $user->setActive(true);
587 
589 
590  // apply registration code role assignments
592 
593  // apply registration code time limits
595 
596  $user->update();
597 
598  $ilCtrl->setParameter($this, "cu", 1);
599  $GLOBALS['DIC']->language()->loadLanguageModule('auth');
600  ilUtil::sendSuccess($GLOBALS['DIC']->language()->txt('auth_activation_code_success'), true);
601  $ilCtrl->redirect($this, "showLoginPage");
602  }
603  }
604 
605  $lng->loadLanguageModule("user");
606  $field = $form->getItemByPostVar("code");
607  $field->setAlert($lng->txt("user_account_code_not_valid"));
608  }
609 
610  $form->setValuesByPost();
611  $this->showCodeForm($uname, $form);
612  }
static applyRoleAssignments(ilObjUser $user, $code)
initCodeForm($a_username)
static applyAccessLimits(ilObjUser $user, $code)
showCodeForm($a_username=null, $a_form=null)
$code
Definition: example_050.php:99
static useCode($code)
static _lookupId($a_user_str)
Lookup id by login.
global $ilCtrl
Definition: ilias.php:18
showLogin()
Show login.
if(isset($_POST['submit'])) $form
static getCodeValidUntil($code)
static isUnusedCode($code)
$_POST["username"]
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ processIndexPHP()

ilStartUpGUI::processIndexPHP ( )
protected

process index.php

Definition at line 1760 of file class.ilStartUpGUI.php.

References $_GET, $_SERVER, $GLOBALS, $ilIliasIniFile, $ilSetting, ilPublicSectionSettings\getInstance(), ilInitialisation\goToPublicSection(), showClientList(), and showLoginPage().

Referenced by showClientList().

1761  {
1762  global $ilIliasIniFile, $ilAuth, $ilSetting;
1763 
1764  // In case of an valid session, redirect to starting page
1765  if ($GLOBALS['DIC']['ilAuthSession']->isValid()) {
1766  include_once './Services/Init/classes/class.ilInitialisation.php';
1767  ilInitialisation::redirectToStartingPage();
1768  return;
1769  }
1770 
1771  // no valid session => show client list, if no client info is given
1772  if (
1773  !isset($_GET["client_id"]) &&
1774  ($_GET["cmd"] == "") &&
1775  $ilIliasIniFile->readVariable("clients", "list")) {
1776  return $this->showClientList();
1777  }
1778 
1779  if (ilPublicSectionSettings::getInstance()->isEnabledForDomain($_SERVER['SERVER_NAME'])) {
1781  }
1782 
1783  // otherwise show login page
1784  return $this->showLoginPage();
1785  }
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
$_GET["client_id"]
static goToPublicSection()
go to public section
showLoginPage(ilPropertyFormGUI $form=null)
showClientList()
show client list
global $ilSetting
Definition: privfeed.php:17
$ilIliasIniFile
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ purgePlaceholders()

ilStartUpGUI::purgePlaceholders (   $page_editor_html)
protected

Purge page editor html from unused placeholders.

Parameters
string$page_editor_html
Returns
string

Definition at line 1271 of file class.ilStartUpGUI.php.

References $_POST, $form, $lng, $pass, $tpl, $user, ilRadioOption\addSubItem(), ilUtil\prepareFormOutput(), ilUtil\sendFailure(), ilRadioGroupInputGUI\setValue(), and ilRadioOption\setValue().

Referenced by showLogin(), and showLoginPage().

1272  {
1273  return str_replace(
1274  array(
1275  '[list-language-selection] ',
1276  '[list-registration-link]',
1277  '[list-user-agreement]',
1278  '[list-login-form]',
1279  '[list-cas-login-form]',
1280  '[list-shibboleth-login-form]'
1281  ),
1282  array('','','','','','',''),
1283  $page_editor_html
1284  );
1285  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showCASLoginForm()

ilStartUpGUI::showCASLoginForm (   $page_editor_html)
protected

Show cas login ilSetting $ilSetting.

Parameters
string$page_editor_html
Returns
string $page_editor_html

Definition at line 1014 of file class.ilStartUpGUI.php.

References $GLOBALS, $ilSetting, $lng, $tpl, ilUtil\getImagePath(), and substituteLoginPageElements().

Referenced by showLogin(), and showLoginPage().

1015  {
1016  global $ilSetting, $lng;
1017 
1018 
1019  // cas login link
1020  if ($ilSetting->get("cas_active")) {
1021  $tpl = new ilTemplate('tpl.login_form_cas.html', true, true, 'Services/Init');
1022  $tpl->setVariable("TXT_CAS_LOGIN", $lng->txt("login_to_ilias_via_cas"));
1023  $tpl->setVariable("TXT_CAS_LOGIN_BUTTON", ilUtil::getImagePath("cas_login_button.png"));
1024  $tpl->setVariable("TXT_CAS_LOGIN_INSTRUCTIONS", $ilSetting->get("cas_login_instructions"));
1025  $this->ctrl->setParameter($this, "forceCASLogin", "1");
1026  $tpl->setVariable("TARGET_CAS_LOGIN", $this->ctrl->getLinkTarget($this, "doCasAuthentication"));
1027  $this->ctrl->setParameter($this, "forceCASLogin", "");
1028 
1029  return $this->substituteLoginPageElements(
1030  $GLOBALS['tpl'],
1031  $page_editor_html,
1032  $tpl->get(),
1033  '[list-cas-login-form]',
1034  'CAS_LOGIN_FORM'
1035  );
1036  }
1037  return $page_editor_html;
1038  }
$tpl
Definition: ilias.php:10
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
global $ilSetting
Definition: privfeed.php:17
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showClientList()

ilStartUpGUI::showClientList ( )

show client list

Definition at line 1568 of file class.ilStartUpGUI.php.

References $_GET, $client, $data, $ilIliasIniFile, $key, $list, $lng, $tbl, $tpl, exit, ilUtil\getStyleSheetLocation(), and processIndexPHP().

Referenced by processIndexPHP().

1569  {
1570  global $tpl, $ilIliasIniFile, $lng;
1571 
1572  if (!$ilIliasIniFile->readVariable("clients", "list")) {
1573  $this->processIndexPHP();
1574  return;
1575  }
1576 
1577  // fix #21612
1578  // $tpl = new ilTemplate("tpl.main.html", true, true);
1579  $tpl->setAddFooter(false); // no client yet
1580 
1581  $tpl->setVariable("PAGETITLE", $lng->txt("clientlist_clientlist"));
1582  $tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
1583 
1584  // load client list template
1585  self::initStartUpTemplate("tpl.client_list.html");
1586 
1587  // load template for table
1588  $tpl->addBlockfile("CLIENT_LIST", "client_list", "tpl.table.html");
1589 
1590  // load template for table content data
1591  $tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html");
1592 
1593  // load table content data
1594  require_once("setup/classes/class.ilClientList.php");
1595  require_once("setup/classes/class.ilClient.php");
1596  require_once("setup/classes/class.ilDBConnections.php");
1597  require_once("./Services/Table/classes/class.ilTableGUI.php");
1598  $this->db_connections = new ilDBConnections();
1599  $clientlist = new ilClientList($this->db_connections);
1600  $list = $clientlist->getClients();
1601 
1602  if (count($list) == 0) {
1603  header("Location: ./setup/setup.php");
1604  exit();
1605  }
1606 
1607  $hasPublicSection = false;
1608  foreach ($list as $key => $client) {
1609  $client->setDSN();
1610  if ($client->checkDatabaseExists(true)) {
1611  $client->connect();
1612  if ($client->ini->readVariable("client", "access") and $client->getSetting("setup_ok")) {
1613  $this->ctrl->setParameter($this, "client_id", $key);
1614  $tmp = array();
1615  $tmp[] = $client->getName();
1616  $tmp[] = "<a href=\"" . "login.php?cmd=force_login&client_id=" . urlencode($key) . "\">" . $lng->txt("clientlist_login_page") . "</a>";
1617 
1618  if ($client->getSetting('pub_section')) {
1619  $hasPublicSection = true;
1620  $tmp[] = "<a href=\"" . "ilias.php?baseClass=ilRepositoryGUI&client_id=" . urlencode($key) . "\">" . $lng->txt("clientlist_start_page") . "</a>";
1621  } else {
1622  $tmp[] = '';
1623  }
1624 
1625  $data[] = $tmp;
1626  }
1627  }
1628  }
1629 
1630  // create table
1631  $tbl = new ilTableGUI();
1632 
1633  // title & header columns
1634  if ($hasPublicSection) {
1635  $tbl->setTitle($lng->txt("clientlist_available_clients"));
1636  $tbl->setHeaderNames(array($lng->txt("clientlist_installation_name"), $lng->txt("clientlist_login"), $lng->txt("clientlist_public_access")));
1637  $tbl->setHeaderVars(array("name","index","login"));
1638  $tbl->setColumnWidth(array("50%","25%","25%"));
1639  } else {
1640  $tbl->setTitle($lng->txt("clientlist_available_clients"));
1641  $tbl->setHeaderNames(array($lng->txt("clientlist_installation_name"), $lng->txt("clientlist_login"), ''));
1642  $tbl->setHeaderVars(array("name","login",''));
1643  $tbl->setColumnWidth(array("70%","25%",'1px'));
1644  }
1645 
1646  // control
1647  $tbl->setOrderColumn($_GET["sort_by"], "name");
1648  $tbl->setOrderDirection($_GET["sort_order"]);
1649  $tbl->setLimit($_GET["limit"]);
1650  $tbl->setOffset($_GET["offset"]);
1651 
1652  // content
1653  $tbl->setData($data);
1654 
1655  $tbl->disable("icon");
1656  $tbl->disable("numinfo");
1657  $tbl->disable("sort");
1658  $tbl->disable("footer");
1659 
1660  // render table
1661  $tbl->render();
1662  $tpl->show("DEFAULT", true, true);
1663  }
if(isset($_REQUEST['delete'])) $list
Definition: registry.php:41
Administrates DB connections in setup.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
$_GET["client_id"]
$tbl
Definition: example_048.php:81
$tpl
Definition: ilias.php:10
Class ilTableGUI.
processIndexPHP()
process index.php
if($_SERVER['argc']< 4) $client
Definition: cron.php:12
client management
exit
Definition: backend.php:16
$ilIliasIniFile
$key
Definition: croninfo.php:18
$data
Definition: bench.php:6
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showCodeForm()

ilStartUpGUI::showCodeForm (   $a_username = null,
  $a_form = null 
)
protected

Definition at line 487 of file class.ilStartUpGUI.php.

References $lng, $tpl, initCodeForm(), and ilUtil\sendFailure().

Referenced by doStandardAuthentication(), processCode(), and showLogin().

488  {
489  global $tpl, $lng;
490 
491  self::initStartUpTemplate("tpl.login_reactivate_code.html");
492 
493  ilUtil::sendFailure($lng->txt("time_limit_reached"));
494 
495  if (!$a_form) {
496  $a_form = $this->initCodeForm($a_username);
497  }
498 
499  $tpl->setVariable("FORM", $a_form->getHTML());
500  $tpl->show("DEFAULT", false);
501  }
initCodeForm($a_username)
$tpl
Definition: ilias.php:10
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showLogin()

ilStartUpGUI::showLogin ( )
protected

Show login.

ilLanguage $lng

Deprecated:
since 5.2

Definition at line 263 of file class.ilStartUpGUI.php.

References $_COOKIE, $_GET, $_SERVER, $failure, $ilSetting, $lng, $success, $tpl, AUTH_APACHE_FAILED, AUTH_CAPTCHA_INVALID, AUTH_CAS_NO_ILIAS_USER, AUTH_LDAP_NO_ILIAS_USER, AUTH_MODE_INACTIVE, AUTH_RADIUS_NO_ILIAS_USER, AUTH_SAML_FAILED, AUTH_SOAP_NO_ILIAS_USER, AUTH_USER_INACTIVE, AUTH_USER_SIMULTANEOUS_LOGIN, AUTH_USER_TIME_LIMIT_EXCEEDED, AUTH_USER_WRONG_IP, getLogger(), getLoginPageEditorHTML(), purgePlaceholders(), ilUtil\redirect(), ilUtil\sendFailure(), ilSession\SESSION_CLOSE_CAPTCHA, ilSession\SESSION_CLOSE_INACTIVE, ilSession\SESSION_CLOSE_IP, ilSession\SESSION_CLOSE_SIMUL, ilSession\SESSION_CLOSE_TIME, ilSession\setClosingContext(), ilUtil\setCookie(), showCASLoginForm(), showCodeForm(), showLoginForm(), showLoginInformation(), showRegistrationLinks(), showSamlLoginForm(), showShibbolethLoginForm(), showTermsOfServiceLink(), and ilLogLevel\WARNING.

Referenced by processCode().

264  {
265  global $ilSetting, $ilAuth, $tpl, $ilias, $lng;
266 
267  $this->getLogger()->warning('Using deprecated startup method');
268  $this->getLogger()->logStack(ilLogLevel::WARNING);
269 
270  $status = $ilAuth->getStatus();
271  if ($status == "" && isset($_GET["auth_stat"])) {
272  $status = $_GET["auth_stat"];
273  }
274 
275  if ($ilAuth->getAuth() && !$status) {
276  // deprecated?
277  if ($_GET["rep_ref_id"] != "") {
278  $_GET["ref_id"] = $_GET["rep_ref_id"];
279  }
280  include_once './Services/Init/classes/class.ilInitialisation.php';
281  ilInitialisation::redirectToStartingPage();
282  return;
283  }
284 
285  // check for session cookies enabled
286  if (!isset($_COOKIE['iltest'])) {
287  if (empty($_GET['cookies'])) {
288  $additional_params = '';
289  ilUtil::setCookie("iltest", "cookie", false);
290  ilUtil::redirect("login.php?target=" . $_GET["target"] . "&soap_pw=" . $_GET["soap_pw"] .
291  "&ext_uid=" . $_GET["ext_uid"] . "&cookies=nocookies&client_id=" .
292  rawurlencode(CLIENT_ID) . "&lang=" . $lng->getLangKey() . $additional_params);
293  } else {
294  $_COOKIE['iltest'] = "";
295  }
296  } else {
297  unset($_GET['cookies']);
298  }
299 
300  if ($ilSetting->get("shib_active") && $ilSetting->get("shib_hos_type")) {
301  require_once "./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
302  // Check if we user selects Home Organization
303  $WAYF = new ShibWAYF();
304  }
305 
306  if (isset($WAYF) && $WAYF->is_selection()) {
307  if ($WAYF->is_valid_selection()) {
308  // Set cookie
309  $WAYF->setSAMLCookie();
310 
311  // Redirect
312  $WAYF->redirect();
313  }
314  }
315 
316  $failure = $success = null;
317 
318  // :TODO: handle internally?
319  if (isset($_GET['reg_confirmation_msg']) && strlen(trim($_GET['reg_confirmation_msg']))) {
320  $lng->loadLanguageModule('registration');
321  if ($_GET['reg_confirmation_msg'] == 'reg_account_confirmation_successful') {
322  $success = $lng->txt(trim($_GET['reg_confirmation_msg']));
323  } else {
324  $failure = $lng->txt(trim($_GET['reg_confirmation_msg']));
325  }
326  } elseif (isset($_GET['reached_session_limit']) && $_GET['reached_session_limit']) {
327  $failure = $lng->txt("reached_session_limit");
328  } elseif (isset($_GET['accdel']) && $_GET['accdel']) {
329  $lng->loadLanguageModule('user');
330  $failure = $lng->txt("user_account_deleted_confirmation");
331  }
332 
333  if (!empty($status)) {
334  switch ($status) {
335  case AUTH_IDLED:
336  // lang variable err_idled not existing
337  // $tpl->setVariable(TXT_MSG_LOGIN_FAILED, $lng->txt("err_idled"));
338  // fallthrough
339 
340  case AUTH_EXPIRED:
341  $failure = $lng->txt("err_session_expired");
342  break;
343 
345  $failure = $lng->txt("err_auth_cas_no_ilias_user");
346  break;
347 
349  $failure = $lng->txt("err_auth_soap_no_ilias_user");
350  break;
351 
353  $failure = $lng->txt("err_auth_ldap_no_ilias_user");
354  break;
355 
357  $failure = $lng->txt("err_auth_radius_no_ilias_user");
358  break;
359 
360  case AUTH_MODE_INACTIVE:
361  $failure = $lng->txt("err_auth_mode_inactive");
362  break;
363 
364  case AUTH_APACHE_FAILED:
365  $failure = $lng->txt("err_auth_apache_failed");
366  break;
367  case AUTH_SAML_FAILED:
368  $lng->loadLanguageModule('auth');
369  $failure = $lng->txt("err_auth_saml_failed");
370  break;
372  $lng->loadLanguageModule('cptch');
374  $ilAuth->logout();
375  session_destroy();
376  $failure = $lng->txt("cptch_wrong_input");
377  break;
378 
379  // special cases: extended user validation failed
380  // ilAuth was successful, so we have to logout here
381 
382  case AUTH_USER_WRONG_IP:
384  $ilAuth->logout();
385  session_destroy();
386 
387  $failure = sprintf($lng->txt('wrong_ip_detected'), $_SERVER['REMOTE_ADDR']);
388  break;
389 
392  $ilAuth->logout();
393  session_destroy();
394 
395  $failure = $lng->txt("simultaneous_login_detected");
396  break;
397 
400  $username = $ilAuth->getExceededUserName(); // #16327
401  $ilAuth->logout();
402 
403  // user could reactivate by code?
404  if ($ilSetting->get('user_reactivate_code')) {
405  return $this->showCodeForm($username);
406  }
407 
408  session_destroy();
409 
410  $failure = $lng->txt("time_limit_reached");
411  break;
412 
413  case AUTH_USER_INACTIVE:
415  $ilAuth->logout();
416  session_destroy();
417 
418  $failure = $lng->txt("err_inactive");
419  break;
420 
421  // special cases end
422 
423 
424  case AUTH_WRONG_LOGIN:
425  default:
426  $add = "";
427  $auth_error = $ilias->getAuthError();
428  if (is_object($auth_error)) {
429  $add = "<br>" . $auth_error->getMessage();
430  }
431  $failure = $lng->txt("err_wrong_login") . $add;
432  break;
433  }
434  }
435 
436  if (isset($_GET['cu']) && $_GET['cu']) {
437  $lng->loadLanguageModule("auth");
438  $success = $lng->txt("auth_account_code_used");
439  }
440 
441 
442  // --- render
443 
444  // Instantiate login template
445  self::initStartUpTemplate("tpl.login.html");
446 
447  // we need the template for this
448  if ($failure) {
450  } elseif ($success) {
451  ilUtil::sendSuccess($success);
452  }
453 
454  // Draw single page editor elements
455  $page_editor_html = $this->getLoginPageEditorHTML();
456  $page_editor_html = $this->showLoginInformation($page_editor_html);
457  $page_editor_html = $this->showLoginForm($page_editor_html);
458  $page_editor_html = $this->showCASLoginForm($page_editor_html);
459  $page_editor_html = $this->showShibbolethLoginForm($page_editor_html);
460  $page_editor_html = $this->showSamlLoginForm($page_editor_html);
461  $page_editor_html = $this->showRegistrationLinks($page_editor_html);
462  $page_editor_html = $this->showTermsOfServiceLink($page_editor_html);
463  $page_editor_html = $this->purgePlaceholders($page_editor_html);
464 
465  // not controlled by login page editor
466  $tpl->setVariable("PAGETITLE", "- " . $lng->txt("startpage"));
467  $tpl->setVariable("ILIAS_RELEASE", $ilSetting->get("ilias_version"));
468 
469  $tpl->setVariable("PHP_SELF", $_SERVER['PHP_SELF']);
470 
471  // browser does not accept cookies
472  if (isset($_GET['cookies']) && $_GET['cookies'] == 'nocookies') {
473  ilUtil::sendFailure($lng->txt("err_no_cookies"));
474  }
475 
476  if (strlen($page_editor_html)) {
477  $tpl->setVariable('LPE', $page_editor_html);
478  }
479 
480  $tpl->fillWindowTitle();
481  $tpl->fillCssFiles();
482  $tpl->fillJavaScriptFiles();
483 
484  $tpl->show("DEFAULT", false);
485  }
const AUTH_MODE_INACTIVE
const AUTH_USER_INACTIVE
$_COOKIE['client_id']
Definition: server.php:9
$failure
const SESSION_CLOSE_CAPTCHA
showLoginForm($page_editor_html, ilPropertyFormGUI $form=null)
Show login form ilSetting $ilSetting.
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
showCodeForm($a_username=null, $a_form=null)
const AUTH_USER_WRONG_IP
getLoginPageEditorHTML()
Get HTML of ILIAS login page editor.
$_GET["client_id"]
const SESSION_CLOSE_INACTIVE
$tpl
Definition: ilias.php:10
const AUTH_SAML_FAILED
showShibbolethLoginForm($page_editor_html)
Show shibboleth login form.
const AUTH_CAPTCHA_INVALID
const AUTH_RADIUS_NO_ILIAS_USER
const SESSION_CLOSE_TIME
const AUTH_CAS_NO_ILIAS_USER
const AUTH_USER_TIME_LIMIT_EXCEEDED
Class ShibbolethWAYF.
getLogger()
Get logger.
const AUTH_APACHE_FAILED
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
$success
Definition: Utf8Test.php:86
const AUTH_SOAP_NO_ILIAS_USER
purgePlaceholders($page_editor_html)
Purge page editor html from unused placeholders.
showRegistrationLinks($page_editor_html)
Show registration, password forgotten, client slection links ilLanguage $lng ilSetting $ilSetting ...
showSamlLoginForm($page_editor_html)
const AUTH_USER_SIMULTANEOUS_LOGIN
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const AUTH_LDAP_NO_ILIAS_USER
const SESSION_CLOSE_SIMUL
static setClosingContext($a_context)
set closing context (for statistics)
global $ilSetting
Definition: privfeed.php:17
showLoginInformation($page_editor_html)
Show login information.
showTermsOfServiceLink(string $page_editor_html)
Show terms of service link.
static redirect($a_script)
showCASLoginForm($page_editor_html)
Show cas login ilSetting $ilSetting.
const SESSION_CLOSE_IP
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showLoginForm()

ilStartUpGUI::showLoginForm (   $page_editor_html,
ilPropertyFormGUI  $form = null 
)
protected

Show login form ilSetting $ilSetting.

Parameters
string$page_editor_html

Definition at line 959 of file class.ilStartUpGUI.php.

References $form, $ilSetting, $lng, $tpl, AUTH_CAS, AUTH_SHIBBOLETH, initStandardLoginForm(), and substituteLoginPageElements().

Referenced by showLogin(), and showLoginPage().

960  {
961  global $ilSetting,$lng,$tpl;
962 
963  // @todo move this to auth utils.
964  // login via ILIAS (this also includes radius and ldap)
965  // If local authentication is enabled for shibboleth users, we
966  // display the login form for ILIAS here.
967  if (($ilSetting->get("auth_mode") != AUTH_SHIBBOLETH ||
968  $ilSetting->get("shib_auth_allow_local")) &&
969  $ilSetting->get("auth_mode") != AUTH_CAS) {
970  if (!$form instanceof ilPropertyFormGUI) {
971  $form = $this->initStandardLoginForm();
972  }
973 
974  return $this->substituteLoginPageElements(
975  $tpl,
976  $page_editor_html,
977  $form->getHTML(),
978  '[list-login-form]',
979  'LOGIN_FORM'
980  );
981  }
982  return $page_editor_html;
983  }
This class represents a property form user interface.
$tpl
Definition: ilias.php:10
const AUTH_CAS
const AUTH_SHIBBOLETH
initStandardLoginForm()
Initialize the standard.
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
global $ilSetting
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showLoginInformation()

ilStartUpGUI::showLoginInformation (   $page_editor_html)
protected

Show login information.

Parameters
string$page_editor_html
Returns
string $page_editor_html

Definition at line 990 of file class.ilStartUpGUI.php.

References $lng, and $tpl.

Referenced by showLogin(), and showLoginPage().

991  {
992  global $lng,$tpl;
993 
994  if (strlen($page_editor_html)) {
995  // page editor active return
996  return $page_editor_html;
997  }
998 
999  $loginSettings = new ilSetting("login_settings");
1000  $information = $loginSettings->get("login_message_" . $lng->getLangKey());
1001 
1002  if (strlen(trim($information))) {
1003  $tpl->setVariable("TXT_LOGIN_INFORMATION", $information);
1004  }
1005  return $page_editor_html;
1006  }
$tpl
Definition: ilias.php:10
+ Here is the caller graph for this function:

◆ showLoginPage()

ilStartUpGUI::showLoginPage ( ilPropertyFormGUI  $form = null)
protected
Todo:
check for forced authentication like ecs, ...

Show login page

Definition at line 196 of file class.ilStartUpGUI.php.

References $_GET, $form, $GLOBALS, $ilSetting, $tpl, getLogger(), getLoginPageEditorHTML(), ILIAS\FileDelivery\http(), purgePlaceholders(), ilUtil\sendFailure(), showCASLoginForm(), showLoginForm(), showLoginInformation(), showOpenIdConnectLoginForm(), showRegistrationLinks(), showSamlLoginForm(), showShibbolethLoginForm(), showTermsOfServiceLink(), and ilUtil\stripSlashes().

Referenced by doApacheAuthentication(), doCasAuthentication(), doLTIAuthentication(), doOpenIdConnectAuthentication(), doSamlAuthentication(), doShibbolethAuthentication(), doStandardAuthentication(), jumpToPasswordAssistance(), and processIndexPHP().

197  {
198  global $tpl, $ilSetting;
199 
200  $this->getLogger()->debug('Showing login page');
201 
202  $extUid = '';
203  if (isset($_GET['ext_uid']) && is_string($_GET['ext_uid'])) {
204  $extUid = $_GET['ext_uid'];
205  }
206  $soapPw = '';
207  if (isset($_GET['soap_pw']) && is_string($_GET['soap_pw'])) {
208  $soapPw = $_GET['soap_pw'];
209  }
210 
211  require_once 'Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsSoap.php';
212  $credentials = new ilAuthFrontendCredentialsSoap($GLOBALS['DIC']->http()->request(), $this->ctrl, $ilSetting);
213  $credentials->setUsername(ilUtil::stripSlashes($extUid));
214  $credentials->setPassword(ilUtil::stripSlashes($soapPw));
215  $credentials->tryAuthenticationOnLoginPage();
216 
217  // try apache auth
218  include_once './Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsApache.php';
219  $frontend = new ilAuthFrontendCredentialsApache($this->httpRequest, $this->ctrl);
220  $frontend->tryAuthenticationOnLoginPage();
221 
222  // Instantiate login template
223  self::initStartUpTemplate("tpl.login.html");
224 
225  $page_editor_html = $this->getLoginPageEditorHTML();
226  $page_editor_html = $this->showOpenIdConnectLoginForm($page_editor_html);
227  $page_editor_html = $this->showLoginInformation($page_editor_html);
228  $page_editor_html = $this->showLoginForm($page_editor_html, $form);
229  $page_editor_html = $this->showCASLoginForm($page_editor_html);
230  $page_editor_html = $this->showShibbolethLoginForm($page_editor_html);
231  $page_editor_html = $this->showSamlLoginForm($page_editor_html);
232  $page_editor_html = $this->showRegistrationLinks($page_editor_html);
233  $page_editor_html = $this->showTermsOfServiceLink($page_editor_html);
234 
235  $page_editor_html = $this->purgePlaceholders($page_editor_html);
236 
237  // not controlled by login page editor
238  $tpl->setVariable("PAGETITLE", "- " . $this->lng->txt("startpage"));
239  $tpl->setVariable("ILIAS_RELEASE", $ilSetting->get("ilias_version"));
240 
241  // check expired session and send message
242  if ($GLOBALS['DIC']['ilAuthSession']->isExpired()) {
243  ilUtil::sendFailure($GLOBALS['lng']->txt('auth_err_expired'));
244  }
245 
246 
247  if (strlen($page_editor_html)) {
248  $tpl->setVariable('LPE', $page_editor_html);
249  }
250 
251  $tpl->fillWindowTitle();
252  $tpl->fillCssFiles();
253  $tpl->fillJavaScriptFiles();
254  $tpl->show("DEFAULT", false);
255  }
showOpenIdConnectLoginForm($page_editor_html)
showLoginForm($page_editor_html, ilPropertyFormGUI $form=null)
Show login form ilSetting $ilSetting.
getLoginPageEditorHTML()
Get HTML of ILIAS login page editor.
$_GET["client_id"]
$tpl
Definition: ilias.php:10
showShibbolethLoginForm($page_editor_html)
Show shibboleth login form.
getLogger()
Get logger.
static http()
Fetches the global http state from ILIAS.
purgePlaceholders($page_editor_html)
Purge page editor html from unused placeholders.
showRegistrationLinks($page_editor_html)
Show registration, password forgotten, client slection links ilLanguage $lng ilSetting $ilSetting ...
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
showSamlLoginForm($page_editor_html)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
global $ilSetting
Definition: privfeed.php:17
showLoginInformation($page_editor_html)
Show login information.
showTermsOfServiceLink(string $page_editor_html)
Show terms of service link.
showCASLoginForm($page_editor_html)
Show cas login ilSetting $ilSetting.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showLogout()

ilStartUpGUI::showLogout ( )

show logout screen

Definition at line 1497 of file class.ilStartUpGUI.php.

References $_COOKIE, $_SERVER, $client_id, $DIC, $GLOBALS, $ilIliasIniFile, $ilSetting, $lng, $tpl, AUTH_SAML, ilSession\get(), ilPublicSectionSettings\getInstance(), ilUtil\redirect(), ilSession\SESSION_CLOSE_USER, ilSession\setClosingContext(), ilUtil\setCookie(), and user().

1498  {
1499  global $DIC;
1500 
1501 
1502  $tpl = $DIC->ui()->mainTemplate();
1503  $ilSetting = $DIC->settings();
1504  $lng = $DIC->language();
1505  $ilIliasIniFile = $DIC['ilIliasIniFile'];
1506  $ilAppEventHandler = $DIC['ilAppEventHandler'];
1507 
1508  $ilAppEventHandler->raise(
1509  'Services/Authentication',
1510  'beforeLogout',
1511  [
1512  'user_id' => $this->user->getId()
1513  ]
1514  );
1515 
1517  $GLOBALS['DIC']['ilAuthSession']->logout();
1518 
1519  $GLOBALS['ilAppEventHandler']->raise(
1520  'Services/Authentication',
1521  'afterLogout',
1522  array(
1523  'username' => $this->user->getLogin()
1524  )
1525  );
1526 
1527  // reset cookie
1528  $client_id = $_COOKIE["ilClientId"];
1529  ilUtil::setCookie("ilClientId", "");
1530 
1531  if ((int) $this->user->getAuthMode(true) == AUTH_SAML && ilSession::get('used_external_auth')) {
1532  ilUtil::redirect('saml.php?action=logout&logout_url=' . urlencode(ILIAS_HTTP_PATH . '/login.php'));
1533  }
1534 
1535  //instantiate logout template
1536  self::initStartUpTemplate("tpl.logout.html");
1537 
1538  if (ilPublicSectionSettings::getInstance()->isEnabledForDomain($_SERVER['SERVER_NAME'])) {
1539  $tpl->setCurrentBlock("homelink");
1540  $tpl->setVariable("CLIENT_ID", "?client_id=" . $client_id . "&lang=" . $lng->getLangKey());
1541  $tpl->setVariable("TXT_HOME", $lng->txt("home"));
1542  $tpl->parseCurrentBlock();
1543  }
1544 
1545  if ($ilIliasIniFile->readVariable("clients", "list")) {
1546  $tpl->setCurrentBlock("client_list");
1547  $tpl->setVariable("TXT_CLIENT_LIST", $lng->txt("to_client_list"));
1548  $this->ctrl->setParameter($this, "client_id", $client_id);
1549  $tpl->setVariable(
1550  "CMD_CLIENT_LIST",
1551  $this->ctrl->getLinkTarget($this, "showClientList")
1552  );
1553  $tpl->parseCurrentBlock();
1554  $this->ctrl->setParameter($this, "client_id", "");
1555  }
1556 
1557  $tpl->setVariable("TXT_PAGEHEADLINE", $lng->txt("logout"));
1558  $tpl->setVariable("TXT_LOGOUT_TEXT", $lng->txt("logout_text"));
1559  $tpl->setVariable("TXT_LOGIN", $lng->txt("login_to_ilias"));
1560  $tpl->setVariable("CLIENT_ID", "?client_id=" . $client_id . "&lang=" . $lng->getLangKey());
1561 
1562  $tpl->show();
1563  }
$_COOKIE['client_id']
Definition: server.php:9
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
global $DIC
Definition: saml.php:7
$tpl
Definition: ilias.php:10
static get($a_var)
Get a value.
const AUTH_SAML
user()
Definition: user.php:4
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
const SESSION_CLOSE_USER
static setClosingContext($a_context)
set closing context (for statistics)
global $ilSetting
Definition: privfeed.php:17
$ilIliasIniFile
$client_id
static redirect($a_script)
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:

◆ showNoCookiesScreen()

ilStartUpGUI::showNoCookiesScreen ( )

show help screen, if cookies are disabled

to do: link to online help here

Definition at line 1670 of file class.ilStartUpGUI.php.

References $tpl.

1671  {
1672  global $tpl;
1673 
1674  $str = "<p style=\"margin:15px;\">
1675  You need to enable Session Cookies in your Browser to use ILIAS.
1676  <br/>
1677  <br/><b>Firefox</b>
1678  <br/>Tools -> Options -> Privacy -> Cookies
1679  <br/>Enable 'Allow sites to set cookies' and activate option 'Keep
1680  <br/>cookies' auf 'until I close Firefox'
1681  <br/>
1682  <br/><b>Mozilla/Netscape</b>
1683  <br/>Edit -> Preferences -> Privacy&Security -> Cookies
1684  <br/>Go to 'Cookie Lifetime Policy' and check option 'Accept for current
1685  <br/>session only'.
1686  <br/>
1687  <br/><b>Internet Explorer</b>
1688  <br/>Tools -> Internet Options -> Privacy -> Advanced
1689  <br/>- Check 'Override automatic cookie handling'
1690  <br/>- Check 'Always allow session cookies'
1691  </p>";
1692  $tpl->setVariable("CONTENT", $str);
1693  $tpl->show();
1694  }
$tpl
Definition: ilias.php:10

◆ showOpenIdConnectLoginForm()

ilStartUpGUI::showOpenIdConnectLoginForm (   $page_editor_html)
protected
Parameters
$page_editor_html
Returns
string

Definition at line 2156 of file class.ilStartUpGUI.php.

References $_GET, $DIC, $lang, $target, $tpl, ilOpenIdConnectSettings\getInstance(), ilOpenIdConnectSettings\LOGIN_ELEMENT_TYPE_IMG, ilOpenIdConnectSettings\LOGIN_ELEMENT_TYPE_TXT, and substituteLoginPageElements().

Referenced by showLoginPage().

2157  {
2158  global $DIC;
2159 
2160  $lang = $DIC->language();
2161 
2162  $oidc_settings = ilOpenIdConnectSettings::getInstance();
2163  if ($oidc_settings->getActive()) {
2164  $tpl = new ilTemplate('tpl.login_element.html', true, true, 'Services/OpenIdConnect');
2165 
2166  $lang->loadLanguageModule('auth');
2167  $tpl->setVariable('TXT_OIDCONNECT_HEADER', $lang->txt('auth_oidc_login_element_info'));
2168 
2169  $target = empty($_GET['target']) ? '' : ('?target=' . (string) $_GET['target']);
2170  switch ($oidc_settings->getLoginElementType()) {
2172 
2173 
2174  $tpl->setVariable('SCRIPT_OIDCONNECT_T', ILIAS_HTTP_PATH . '/openidconnect.php' . $target);
2175  $tpl->setVariable('TXT_OIDC', $oidc_settings->getLoginElemenText());
2176  break;
2177 
2179  $tpl->setVariable('SCRIPT_OIDCONNECT_I', ILIAS_HTTP_PATH . '/openidconnect.php' . $target);
2180  $tpl->setVariable('IMG_SOURCE', $oidc_settings->getImageFilePath());
2181  break;
2182  }
2183 
2184  return $this->substituteLoginPageElements(
2185  $DIC->ui()->mainTemplate(),
2186  $page_editor_html,
2187  $tpl->get(),
2188  '[list-openid-connect-login]',
2189  'OPEN_ID_CONNECT_LOGIN_FORM'
2190  );
2191  }
2192 
2193  return $page_editor_html;
2194  }
global $DIC
Definition: saml.php:7
$_GET["client_id"]
$tpl
Definition: ilias.php:10
static getInstance()
Get singleton instance.
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
special template class to simplify handling of ITX/PEAR
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
Definition: langwiz.php:349
$target
Definition: test.php:19
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showRegistrationLinks()

ilStartUpGUI::showRegistrationLinks (   $page_editor_html)
protected

Show registration, password forgotten, client slection links ilLanguage $lng ilSetting $ilSetting <type> $ilIliasIniFile.

Parameters
string$page_editor_html
Returns
string

Definition at line 1174 of file class.ilStartUpGUI.php.

References $_COOKIE, $_SERVER, $GLOBALS, $ilIliasIniFile, $ilSetting, $lng, ilRegistrationSettings\_lookupRegistrationType(), ilPublicSectionSettings\getInstance(), IL_REG_DISABLED, and substituteLoginPageElements().

Referenced by showLogin(), and showLoginPage().

1175  {
1176  global $lng, $ilSetting, $ilIliasIniFile, $ilAccess;
1177 
1178  $rtpl = new ilTemplate('tpl.login_registration_links.html', true, true, 'Services/Init');
1179 
1180  // allow new registrations?
1181  include_once 'Services/Registration/classes/class.ilRegistrationSettings.php';
1183  $rtpl->setCurrentBlock("new_registration");
1184  $rtpl->setVariable("REGISTER", $lng->txt("registration"));
1185  $rtpl->setVariable(
1186  "CMD_REGISTER",
1187  $this->ctrl->getLinkTargetByClass("ilaccountregistrationgui", "")
1188  );
1189  $rtpl->parseCurrentBlock();
1190  }
1191  // allow password assistance? Surpress option if Authmode is not local database
1192  if ($ilSetting->get("password_assistance")) {
1193  $rtpl->setCurrentBlock("password_assistance");
1194  $rtpl->setVariable("FORGOT_PASSWORD", $lng->txt("forgot_password"));
1195  $rtpl->setVariable("FORGOT_USERNAME", $lng->txt("forgot_username"));
1196  $rtpl->setVariable(
1197  "CMD_FORGOT_PASSWORD",
1198  $this->ctrl->getLinkTargetByClass("ilpasswordassistancegui", "")
1199  );
1200  $rtpl->setVariable(
1201  "CMD_FORGOT_USERNAME",
1202  $this->ctrl->getLinkTargetByClass("ilpasswordassistancegui", "showUsernameAssistanceForm")
1203  );
1204  $rtpl->setVariable("LANG_ID", $lng->getLangKey());
1205  $rtpl->parseCurrentBlock();
1206  }
1207 
1208  if (ilPublicSectionSettings::getInstance()->isEnabledForDomain($_SERVER['SERVER_NAME']) &&
1209  $ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID, "read", "", ROOT_FOLDER_ID)) {
1210  $rtpl->setCurrentBlock("homelink");
1211  $rtpl->setVariable("CLIENT_ID", "?client_id=" . $_COOKIE["ilClientId"] . "&lang=" . $lng->getLangKey());
1212  $rtpl->setVariable("TXT_HOME", $lng->txt("home"));
1213  $rtpl->parseCurrentBlock();
1214  }
1215 
1216  if ($ilIliasIniFile->readVariable("clients", "list")) {
1217  $rtpl->setCurrentBlock("client_list");
1218  $rtpl->setVariable("TXT_CLIENT_LIST", $lng->txt("to_client_list"));
1219  $rtpl->setVariable("CMD_CLIENT_LIST", $this->ctrl->getLinkTarget($this, "showClientList"));
1220  $rtpl->parseCurrentBlock();
1221  }
1222 
1223  return $this->substituteLoginPageElements(
1224  $GLOBALS['tpl'],
1225  $page_editor_html,
1226  $rtpl->get(),
1227  '[list-registration-link]',
1228  'REG_PWD_CLIENT_LINKS'
1229  );
1230  }
$_COOKIE['client_id']
Definition: server.php:9
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
special template class to simplify handling of ITX/PEAR
global $ilSetting
Definition: privfeed.php:17
$ilIliasIniFile
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showSamlIdpSelection()

ilStartUpGUI::showSamlIdpSelection ( \ilSamlAuth  $auth,
array  $idps 
)
protected
Parameters
\ilSamlAuth$auth

Definition at line 2391 of file class.ilStartUpGUI.php.

References $DIC, $factory, $idp, and $table.

Referenced by doSamlAuthentication().

2392  {
2393  global $DIC;
2394 
2395  self::initStartUpTemplate(array('tpl.saml_idp_selection.html', 'Services/Saml'));
2396 
2397  $mainTpl = $DIC->ui()->mainTemplate();
2398  $factory = $DIC->ui()->factory();
2399  $renderer = $DIC->ui()->renderer();
2400 
2401  $DIC->ctrl()->setTargetScript('saml.php');
2402 
2403  $items = [];
2404 
2405  require_once 'Services/Saml/classes/class.ilSamlIdpSelectionTableGUI.php';
2406  $table = new ilSamlIdpSelectionTableGUI($this, 'doSamlAuthentication');
2407 
2408  foreach ($idps as $idp) {
2409  $DIC->ctrl()->setParameter($this, 'saml_idp_id', $idp->getIdpId());
2410  $DIC->ctrl()->setParameter($this, 'idpentityid', urlencode($idp->getEntityId()));
2411 
2412  $items[] = [
2413  'idp_link' => $renderer->render($factory->link()->standard($idp->getEntityId(), $DIC->ctrl()->getLinkTarget($this, 'doSamlAuthentication')))
2414  ];
2415  }
2416 
2417  $table->setData($items);
2418  $mainTpl->setVariable('CONTENT', $table->getHtml());
2419 
2420  $mainTpl->fillWindowTitle();
2421  $mainTpl->fillCssFiles();
2422  $mainTpl->fillJavaScriptFiles();
2423  $mainTpl->show('DEFAULT', false);
2424  }
global $DIC
Definition: saml.php:7
$factory
Definition: metadata.php:43
Class ilSamlIdpSelectionTableGUI.
$idp
Definition: prp.php:13
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the caller graph for this function:

◆ showSamlLoginForm()

ilStartUpGUI::showSamlLoginForm (   $page_editor_html)
protected
Parameters
string$page_editor_html
Returns
string

Definition at line 2121 of file class.ilStartUpGUI.php.

References $_GET, $GLOBALS, $tpl, ilSamlIdp\getActiveIdpList(), ilSamlSettings\getInstance(), ilUtil\stripSlashes(), and substituteLoginPageElements().

Referenced by showLogin(), and showLoginPage().

2122  {
2123  require_once 'Services/Saml/classes/class.ilSamlIdp.php';
2124  require_once 'Services/Saml/classes/class.ilSamlSettings.php';
2125 
2126  if (count(ilSamlIdp::getActiveIdpList()) > 0 && ilSamlSettings::getInstance()->isDisplayedOnLoginPage()) {
2127  $tpl = new ilTemplate('tpl.login_form_saml.html', true, true, 'Services/Saml');
2128 
2129  $return = '';
2130  if (isset($_GET['target'])) {
2131  $return = '?returnTo=' . urlencode(ilUtil::stripSlashes($_GET['target']));
2132  }
2133 
2134  $tpl->setVariable('SAML_SCRIPT_URL', './saml.php' . $return);
2135  $tpl->setVariable('TXT_LOGIN', $GLOBALS['DIC']->language()->txt('saml_log_in'));
2136  $tpl->setVariable('LOGIN_TO_ILIAS_VIA_SAML', $GLOBALS['DIC']->language()->txt('login_to_ilias_via_saml'));
2137  $tpl->setVariable('TXT_SAML_LOGIN_TXT', $GLOBALS['DIC']->language()->txt('saml_login_form_txt'));
2138  $tpl->setVariable('TXT_SAML_LOGIN_INFO_TXT', $GLOBALS['DIC']->language()->txt('saml_login_form_info_txt'));
2139 
2140  return $this->substituteLoginPageElements(
2141  $GLOBALS['tpl'],
2142  $page_editor_html,
2143  $tpl->get(),
2144  '[list-saml-login-form]',
2145  'SAML_LOGIN_FORM'
2146  );
2147  }
2148 
2149  return $page_editor_html;
2150  }
$_GET["client_id"]
$tpl
Definition: ilias.php:10
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
special template class to simplify handling of ITX/PEAR
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getActiveIdpList()
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showShibbolethLoginForm()

ilStartUpGUI::showShibbolethLoginForm (   $page_editor_html)
protected

Show shibboleth login form.

Parameters
string$page_editor_html
Returns
string $page_editor_html

Definition at line 1045 of file class.ilStartUpGUI.php.

References $_GET, $GLOBALS, $ilSetting, $lng, $tpl, and substituteLoginPageElements().

Referenced by showLogin(), and showLoginPage().

1046  {
1047  global $ilSetting, $lng;
1048 
1049  // Refactoring with ilFormPropertyGUI
1050  // [...]
1051 
1052  // shibboleth login link
1053  if ($ilSetting->get("shib_active")) {
1054  $tpl = new ilTemplate('tpl.login_form_shibboleth.html', true, true, 'Services/Init');
1055 
1056  $tpl->setVariable('SHIB_FORMACTION', './shib_login.php'); // Bugfix http://ilias.de/mantis/view.php?id=10662 {$tpl->setVariable('SHIB_FORMACTION', $this->ctrl->getFormAction($this));}
1057 
1058  if ($ilSetting->get("shib_hos_type") == 'external_wayf') {
1059  $tpl->setCurrentBlock("shibboleth_login");
1060  $tpl->setVariable("TXT_SHIB_LOGIN", $lng->txt("login_to_ilias_via_shibboleth"));
1061  $tpl->setVariable("IL_TARGET", $_GET["target"]);
1062  $tpl->setVariable("TXT_SHIB_FEDERATION_NAME", $ilSetting->get("shib_federation_name"));
1063  $tpl->setVariable("TXT_SHIB_LOGIN_BUTTON", $ilSetting->get("shib_login_button"));
1064  $tpl->setVariable("TXT_SHIB_LOGIN_INSTRUCTIONS", sprintf($lng->txt("shib_general_login_instructions"), $ilSetting->get("shib_federation_name")) . ' <a href="mailto:' . $ilSetting->get("admin_email") . '">ILIAS ' . $lng->txt("administrator") . '</a>.');
1065  $tpl->setVariable("TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get("shib_login_instructions"));
1066  $tpl->parseCurrentBlock();
1067  } elseif ($ilSetting->get("shib_hos_type") == 'embedded_wayf') {
1068  $tpl->setCurrentBlock("shibboleth_custom_login");
1069  $customInstructions = stripslashes($ilSetting->get("shib_login_instructions"));
1070  $tpl->setVariable("TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $customInstructions);
1071  $tpl->parseCurrentBlock();
1072  } else {
1073  $tpl->setCurrentBlock("shibboleth_wayf_login");
1074  $tpl->setVariable("TXT_SHIB_LOGIN", $lng->txt("login_to_ilias_via_shibboleth"));
1075  $tpl->setVariable("TXT_SHIB_FEDERATION_NAME", $ilSetting->get("shib_federation_name"));
1076  $tpl->setVariable("TXT_SELECT_HOME_ORGANIZATION", sprintf($lng->txt("shib_select_home_organization"), $ilSetting->get("shib_federation_name")));
1077  $tpl->setVariable("TXT_CONTINUE", $lng->txt("btn_next"));
1078  $tpl->setVariable("TXT_SHIB_HOME_ORGANIZATION", $lng->txt("shib_home_organization"));
1079  $tpl->setVariable("TXT_SHIB_LOGIN_INSTRUCTIONS", $lng->txt("shib_general_wayf_login_instructions") . ' <a href="mailto:' . $ilSetting->get("admin_email") . '">ILIAS ' . $lng->txt("administrator") . '</a>.');
1080  $tpl->setVariable("TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get("shib_login_instructions"));
1081 
1082  require_once "./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
1083  $WAYF = new ShibWAYF();
1084 
1085  $tpl->setVariable("TXT_SHIB_INVALID_SELECTION", $WAYF->showNotice());
1086  $tpl->setVariable("SHIB_IDP_LIST", $WAYF->generateSelection());
1087  $tpl->setVariable("ILW_TARGET", $_GET["target"]);
1088  $tpl->parseCurrentBlock();
1089  }
1090 
1091  return $this->substituteLoginPageElements($GLOBALS['tpl'], $page_editor_html, $tpl->get(), '[list-shibboleth-login-form]', 'SHIB_LOGIN_FORM');
1092  }
1093 
1094  return $page_editor_html;
1095  }
$_GET["client_id"]
$tpl
Definition: ilias.php:10
Class ShibbolethWAYF.
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
special template class to simplify handling of ITX/PEAR
global $ilSetting
Definition: privfeed.php:17
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showTermsOfService()

ilStartUpGUI::showTermsOfService ( )
protected

Show terms of service.

Definition at line 1707 of file class.ilStartUpGUI.php.

References $_GET, $_POST, $target, ilUtil\formCheckbox(), ilSession\get(), ilSystemSupportContacts\getMailToAddress(), ilTermsOfServiceHelper\isEnabled(), ilUtil\prepareFormOutput(), ilUtil\redirect(), ilSession\set(), and user().

Referenced by getAcceptance().

1708  {
1709  $back_to_login = ('getAcceptance' != $this->ctrl->getCmd());
1710 
1711  if (!$this->user->getId()) {
1712  $this->user->setId(ANONYMOUS_USER_ID);
1713  }
1714 
1715  self::initStartUpTemplate('tpl.view_terms_of_service.html', $back_to_login, !$back_to_login);
1716  $this->mainTemplate->setVariable('TXT_PAGEHEADLINE', $this->lng->txt('usr_agreement'));
1717 
1718  $handleDocument = \ilTermsOfServiceHelper::isEnabled() && $this->termsOfServiceEvaluation->hasDocument();
1719  if ($handleDocument) {
1720  $document = $this->termsOfServiceEvaluation->document();
1721  if ('getAcceptance' == $this->ctrl->getCmd()) {
1722  if (isset($_POST['status']) && 'accepted' == $_POST['status']) {
1723  $helper = new \ilTermsOfServiceHelper();
1724 
1725  $helper->trackAcceptance($this->user, $document);
1726 
1727  if (ilSession::get('orig_request_target')) {
1728  $target = ilSession::get('orig_request_target');
1729  ilSession::set('orig_request_target', '');
1731  } else {
1732  ilUtil::redirect('index.php?target=' . $_GET['target'] . '&client_id=' . CLIENT_ID);
1733  }
1734  }
1735 
1736  $this->mainTemplate->setVariable('FORM_ACTION', $this->ctrl->getFormAction($this, $this->ctrl->getCmd()));
1737  $this->mainTemplate->setVariable('ACCEPT_CHECKBOX', ilUtil::formCheckbox(0, 'status', 'accepted'));
1738  $this->mainTemplate->setVariable('ACCEPT_TERMS_OF_SERVICE', $this->lng->txt('accept_usr_agreement'));
1739  $this->mainTemplate->setVariable('TXT_SUBMIT', $this->lng->txt('submit'));
1740  }
1741 
1742  $this->mainTemplate->setPermanentLink('usr', null, 'agreement');
1743  $this->mainTemplate->setVariable('TERMS_OF_SERVICE_CONTENT', $document->content());
1744  } else {
1745  $this->mainTemplate->setVariable(
1746  'TERMS_OF_SERVICE_CONTENT',
1747  sprintf(
1748  $this->lng->txt('no_agreement_description'),
1750  )
1751  );
1752  }
1753 
1754  $this->mainTemplate->show();
1755  }
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
$_GET["client_id"]
static get($a_var)
Get a value.
static set($a_var, $a_val)
Set a value.
user()
Definition: user.php:4
static getMailToAddress()
Get mailto: email.
static redirect($a_script)
$target
Definition: test.php:19
$_POST["username"]
static formCheckbox($checked, $varname, $value, $disabled=false)
??? public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showTermsOfServiceLink()

ilStartUpGUI::showTermsOfServiceLink ( string  $page_editor_html)
protected

Show terms of service link.

Parameters
string$page_editor_html
Returns
string

Definition at line 1237 of file class.ilStartUpGUI.php.

References $GLOBALS, ilTermsOfServiceHelper\isEnabled(), substituteLoginPageElements(), and user().

Referenced by showLogin(), and showLoginPage().

1237  : string
1238  {
1239  if (!$this->user->getId()) {
1240  $this->user->setId(ANONYMOUS_USER_ID);
1241  }
1242 
1243  if (\ilTermsOfServiceHelper::isEnabled() && $this->termsOfServiceEvaluation->hasDocument()) {
1244  $utpl = new ilTemplate('tpl.login_terms_of_service_link.html', true, true, 'Services/Init');
1245  $utpl->setVariable('TXT_TERMS_OF_SERVICE', $this->lng->txt('usr_agreement'));
1246  $utpl->setVariable('LINK_TERMS_OF_SERVICE', $this->ctrl->getLinkTarget($this, 'showTermsOfService'));
1247 
1248  return $this->substituteLoginPageElements(
1249  $GLOBALS['tpl'],
1250  $page_editor_html,
1251  $utpl->get(),
1252  '[list-user-agreement]',
1253  'USER_AGREEMENT'
1254  );
1255  }
1256 
1257  return $this->substituteLoginPageElements(
1258  $GLOBALS['tpl'],
1259  $page_editor_html,
1260  '',
1261  '[list-user-agreement]',
1262  'USER_AGREEMENT'
1263  );
1264  }
user()
Definition: user.php:4
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
special template class to simplify handling of ITX/PEAR
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ substituteLoginPageElements()

ilStartUpGUI::substituteLoginPageElements (   $tpl,
  $page_editor_html,
  $element_html,
  $placeholder,
  $fallback_tplvar 
)
protected

Substitute login page elements.

Parameters
ilTemplate$tpl
string$page_editor_html
string$element_html
string$placeholder
string$fallback_tplvarreturn string $page_editor_html

Definition at line 1107 of file class.ilStartUpGUI.php.

References $tpl.

Referenced by showCASLoginForm(), showLoginForm(), showOpenIdConnectLoginForm(), showRegistrationLinks(), showSamlLoginForm(), showShibbolethLoginForm(), and showTermsOfServiceLink().

1108  {
1109  if (!strlen($page_editor_html)) {
1110  $tpl->setVariable($fallback_tplvar, $element_html);
1111  return $page_editor_html;
1112  }
1113  // Try to replace placeholders
1114  if (!stristr($page_editor_html, $placeholder)) {
1115  $tpl->setVariable($fallback_tplvar, $element_html);
1116  return $page_editor_html;
1117  }
1118  return str_replace($placeholder, $element_html, $page_editor_html);
1119  }
$tpl
Definition: ilias.php:10
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilStartUpGUI::$ctrl
protected

Definition at line 21 of file class.ilStartUpGUI.php.

◆ $httpRequest

ilStartUpGUI::$httpRequest
protected

Definition at line 35 of file class.ilStartUpGUI.php.

Referenced by __construct().

◆ $lng

◆ $logger

ilStartUpGUI::$logger
protected

Definition at line 23 of file class.ilStartUpGUI.php.

Referenced by getLogger().

◆ $mainTemplate

ilStartUpGUI::$mainTemplate
protected

Definition at line 26 of file class.ilStartUpGUI.php.

Referenced by __construct().

◆ $termsOfServiceEvaluation

ilStartUpGUI::$termsOfServiceEvaluation
protected

Definition at line 32 of file class.ilStartUpGUI.php.

Referenced by __construct().

◆ $user

ilStartUpGUI::$user
protected

Definition at line 29 of file class.ilStartUpGUI.php.

Referenced by __construct(), _checkGoto(), processCode(), and purgePlaceholders().

◆ ACCOUNT_MIGRATION_MIGRATE

const ilStartUpGUI::ACCOUNT_MIGRATION_MIGRATE = 1

Definition at line 17 of file class.ilStartUpGUI.php.

◆ ACCOUNT_MIGRATION_NEW

const ilStartUpGUI::ACCOUNT_MIGRATION_NEW = 2

Definition at line 18 of file class.ilStartUpGUI.php.


The documentation for this class was generated from the following file: