Class ilObjAuthSettingsGUI. More...
Inheritance diagram for ilObjAuthSettingsGUI:
Collaboration diagram for ilObjAuthSettingsGUI:Public Member Functions | |
| ilObjAuthSettingsGUI ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true) | |
| Constructor public. | |
| viewObject () | |
| list childs of current object | |
| authSettingsObject () | |
| display settings menu | |
| saveLoginInfoObject () | |
| saves the login information data | |
| loginInfoObject () | |
| displays login information of all installed languages | |
| setDefLangFirst ($a_def_language, $a_languages) | |
| returns an array of all installed languages, default language at the first position | |
| cancelObject () | |
| setAuthModeObject () | |
| editLDAPObject () | |
| Configure LDAP settings. | |
| saveLDAPObject () | |
| validates all input data, save them to database if correct and active chosen auth mode | |
| editSHIBObject () | |
| Configure SHIB settings. | |
| saveSHIBObject () | |
| validates all input data, save them to database if correct and active chosen auth mode | |
| editCASObject () | |
| Configure cas settings. | |
| saveCASObject () | |
| validates all input data, save them to database if correct and active chosen auth mode | |
| editSOAPObject () | |
| Configure soap settings. | |
| testSoapAuthConnectionObject () | |
| saveSOAPObject () | |
| validates all input data, save them to database if correct and active chosen auth mode | |
| editScriptObject () | |
| Configure Custom settings. | |
| saveScriptObject () | |
| validates all input data, save them to database if correct and active chosen auth mode | |
| getAuthModeTitle () | |
| get the title of auth mode | |
| updateAuthRolesObject () | |
| updateAuthModeDeterminationObject () | |
| update auth mode determination | |
| & | executeCommand () |
| execute command | |
| getAdminTabs (&$tabs_gui) | |
| administration tabs show only permissions and trash folder | |
| getTabs (&$tabs_gui) | |
| get tabs public | |
| setSubTabs ($a_tab) | |
| set sub tabs | |
Protected Member Functions | |
| initAuthModeDetermination () | |
| init auth mode determinitation form | |
Class ilObjAuthSettingsGUI.
ilObjAuthSettingsGUI: ilPermissionGUI, ilRegistrationSettingsGUI, ilLDAPSettingsGUI, ilRadiusSettingsGUI
Definition at line 38 of file class.ilObjAuthSettingsGUI.php.
| ilObjAuthSettingsGUI::authSettingsObject | ( | ) |
display settings menu
public
Definition at line 75 of file class.ilObjAuthSettingsGUI.php.
References $ilSetting, ilAuthUtils::_getActiveAuthModes(), ilLDAPServer::_getActiveServerList(), ilAuthUtils::_getAllAuthModes(), ilAuthUtils::_getAuthModeName(), ilObjUser::_getNumberOfUsersPerAuthMode(), ilObjRole::_lookupRegisterAllowed(), ilObjectGUI::getTemplateFile(), initAuthModeDetermination(), and setSubTabs().
Referenced by updateAuthModeDeterminationObject().
{
global $rbacsystem, $ilSetting;
if (!$rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
$this->tabs_gui->setTabActive('authentication_settings');
$this->setSubTabs('authSettings');
$this->tabs_gui->setSubTabActive("auth_settings");
$this->getTemplateFile("general");
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_AUTH_TITLE", $this->lng->txt("auth_select"));
$this->tpl->setVariable("TXT_AUTH_MODE", $this->lng->txt("auth_mode"));
$this->tpl->setVariable("TXT_AUTH_DEFAULT", $this->lng->txt("default"));
$this->tpl->setVariable("TXT_AUTH_ACTIVE", $this->lng->txt("active"));
$this->tpl->setVariable("TXT_AUTH_NUM_USERS", $this->lng->txt("num_users"));
$this->tpl->setVariable("TXT_LOCAL", $this->lng->txt("auth_local"));
$this->tpl->setVariable("TXT_LDAP", $this->lng->txt("auth_ldap"));
$this->tpl->setVariable("TXT_SHIB", $this->lng->txt("auth_shib"));
$this->tpl->setVariable("TXT_CAS", $this->lng->txt("auth_cas"));
$this->tpl->setVariable("TXT_RADIUS", $this->lng->txt("auth_radius"));
$this->tpl->setVariable("TXT_SCRIPT", $this->lng->txt("auth_script"));
$auth_cnt = ilObjUser::_getNumberOfUsersPerAuthMode();
$auth_modes = ilAuthUtils::_getAllAuthModes();
foreach($auth_modes as $mode => $mode_name)
{
//echo "-".$ilSetting->get('auth_mode')."-".$mode."-";
if ($ilSetting->get('auth_mode') == $mode)
{
$this->tpl->setVariable("NUM_".strtoupper($mode_name),
((int) $auth_cnt[$mode_name] + $auth_cnt["default"])." (".$this->lng->txt("auth_per_default").
": ".$auth_cnt["default"].")");
}
else
{
$this->tpl->setVariable("NUM_".strtoupper($mode_name),
(int) $auth_cnt[$mode_name]);
}
}
$this->tpl->setVariable("TXT_CONFIGURE", $this->lng->txt("auth_configure"));
$this->tpl->setVariable("TXT_AUTH_REMARK", $this->lng->txt("auth_remark_non_local_auth"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "setAuthMode");
// local vars
$checked = "checked=\"checked\"";
$disabled = "disabled=\"disabled\"";
$style_disabled = "_disabled";
// icon handlers
$icon_ok = "<img src=\"".ilUtil::getImagePath("icon_ok.gif")."\" alt=\"".$this->lng->txt("enabled")."\" title=\"".$this->lng->txt("enabled")."\" border=\"0\" vspace=\"0\"/>";
$icon_not_ok = "<img src=\"".ilUtil::getImagePath("icon_not_ok.gif")."\" alt=\"".$this->lng->txt("disabled")."\" title=\"".$this->lng->txt("disabled")."\" border=\"0\" vspace=\"0\"/>";
$this->tpl->setVariable("AUTH_LOCAL_ACTIVE", $icon_ok);
include_once('Services/LDAP/classes/class.ilLDAPServer.php');
$this->tpl->setVariable('AUTH_LDAP_ACTIVE',count(ilLDAPServer::_getActiveServerList()) ? $icon_ok : $icon_not_ok);
#$this->tpl->setVariable("AUTH_LDAP_ACTIVE", $this->ilias->getSetting('ldap_active') ? $icon_ok : $icon_not_ok);
$this->tpl->setVariable("AUTH_RADIUS_ACTIVE", $this->ilias->getSetting('radius_active') ? $icon_ok : $icon_not_ok);
$this->tpl->setVariable("AUTH_SHIB_ACTIVE", $this->ilias->getSetting('shib_active') ? $icon_ok : $icon_not_ok);
$this->tpl->setVariable("AUTH_SCRIPT_ACTIVE", $this->ilias->getSetting('script_active') ? $icon_ok : $icon_not_ok);
$this->tpl->setVariable("AUTH_CAS_ACTIVE", $this->ilias->getSetting('cas_active') ? $icon_ok : $icon_not_ok);
// alter style and disable buttons depending on current selection
switch ($this->ilias->getSetting('auth_mode'))
{
case AUTH_LOCAL: // default
$this->tpl->setVariable("CHK_LOCAL", $checked);
break;
case AUTH_LDAP: // LDAP
$this->tpl->setVariable("CHK_LDAP", $checked);
break;
case AUTH_SHIBBOLETH: // SHIB
$this->tpl->setVariable("CHK_SHIB", $checked);
break;
case AUTH_RADIUS: // RADIUS
$this->tpl->setVariable("CHK_RADIUS", $checked);
break;
case AUTH_CAS: // CAS
$this->tpl->setVariable("CHK_CAS", $checked);
break;
case AUTH_SCRIPT: // script
$this->tpl->setVariable("CHK_SCRIPT", $checked);
break;
}
// auth mode determinitation
if($this->initAuthModeDetermination())
{
$this->tpl->setVariable('TABLE_AUTH_DETERMINATION',$this->form->getHTML());
}
// roles table
$this->tpl->setVariable("FORMACTION_ROLES",
$this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_AUTH_ROLES", $this->lng->txt("auth_active_roles"));
$this->tpl->setVariable("TXT_ROLE", $this->lng->txt("obj_role"));
$this->tpl->setVariable("TXT_ROLE_AUTH_MODE", $this->lng->txt("auth_role_auth_mode"));
$this->tpl->setVariable("CMD_SUBMIT_ROLES", "updateAuthRoles");
include_once("classes/class.ilObjRole.php");
$reg_roles = ilObjRole::_lookupRegisterAllowed();
// auth mode selection
include_once('./Services/Authentication/classes/class.ilAuthUtils.php');
$active_auth_modes = ilAuthUtils::_getActiveAuthModes();
foreach ($reg_roles as $role)
{
foreach ($active_auth_modes as $auth_name => $auth_key)
{
// do not list auth modes with external login screen
// even not default, because it can easily be set to
// a non-working auth mode
if ($auth_name == "default" || $auth_name == "cas"
|| $auth_name == "shibboleth" || $auth_name == 'ldap')
{
continue;
}
$this->tpl->setCurrentBlock("auth_mode_selection");
if ($auth_name == 'default')
{
$name = $this->lng->txt('auth_'.$auth_name)." (".$this->lng->txt('auth_'.ilAuthUtils::_getAuthModeName($auth_key)).")";
}
else
{
$name = $this->lng->txt('auth_'.$auth_name);
}
$this->tpl->setVariable("AUTH_MODE_NAME", $name);
$this->tpl->setVariable("AUTH_MODE", $auth_name);
if ($role['auth_mode'] == $auth_name)
{
$this->tpl->setVariable("SELECTED_AUTH_MODE", "selected=\"selected\"");
}
$this->tpl->parseCurrentBlock();
} // END auth_mode selection
$this->tpl->setCurrentBlock("roles");
$this->tpl->setVariable("ROLE", $role['title']);
$this->tpl->setVariable("ROLE_ID", $role['id']);
$this->tpl->parseCurrentBlock();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjAuthSettingsGUI::cancelObject | ( | ) |
Definition at line 417 of file class.ilObjAuthSettingsGUI.php.
References ilUtil::sendInfo().
{
ilUtil::sendInfo($this->lng->txt("msg_cancel"),true);
$this->ctrl->redirect($this, "authSettings");
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::editCASObject | ( | ) |
Configure cas settings.
public
Definition at line 959 of file class.ilObjAuthSettingsGUI.php.
References $_SESSION, $ilSetting, formSelect(), and ilObjectGUI::getTemplateFile().
{
global $rbacsystem, $rbacreview, $ilSetting;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
$this->tabs_gui->setTabActive('auth_cas');
// get template
$this->getTemplateFile("cas");
// get all settings
$settings = $ilSetting->getAll();
// get values in error case
if ($_SESSION["error_post_vars"])
{
if ($_SESSION["error_post_vars"]["cas"]["active"] == "1")
{
$this->tpl->setVariable("CHK_CAS_ACTIVE", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["cas"]["create_users"] == "1")
{
$this->tpl->setVariable("CHK_CREATE_USERS", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["cas"]["allow_local"] == "1")
{
$this->tpl->setVariable("CHK_ALLOW_LOCAL", "checked=\"checked\"");
}
$this->tpl->setVariable("CAS_SERVER", $_SESSION["error_post_vars"]["cas"]["server"]);
$this->tpl->setVariable("CAS_PORT", $_SESSION["error_post_vars"]["cas"]["port"]);
$this->tpl->setVariable("CAS_URI", $_SESSION["error_post_vars"]["cas"]["uri"]);
$this->tpl->setVariable("CAS_LOGIN_INSTRUCTIONS", $_SESSION["error_post_vars"]["cas"]["login_instructions"]);
$current_default_role = $_SESSION["error_post_vars"]["cas"]["user_default_role"];
}
else
{
if ($settings["cas_active"] == "1")
{
$this->tpl->setVariable("CHK_CAS_ACTIVE", "checked=\"checked\"");
}
if ($settings["cas_create_users"] == "1")
{
$this->tpl->setVariable("CHK_CREATE_USERS", "checked=\"checked\"");
}
if ($settings["cas_allow_local"] == "1")
{
$this->tpl->setVariable("CHK_ALLOW_LOCAL", "checked=\"checked\"");
}
$this->tpl->setVariable("CAS_SERVER", $settings["cas_server"]);
$this->tpl->setVariable("CAS_PORT", $settings["cas_port"]);
$this->tpl->setVariable("CAS_URI", $settings["cas_uri"]);
$this->tpl->setVariable("CAS_LOGIN_INSTRUCTIONS", $settings["cas_login_instructions"]);
$current_default_role = $settings["cas_user_default_role"];
}
// compose role list
$role_list = $rbacreview->getRolesByFilter(2,$this->object->getId());
if (!$current_default_role)
{
$current_default_role = 4;
}
$roles = array();
foreach ($role_list as $role)
{
$roles[$role['obj_id']] = $role['title'];
}
$selectElement = ilUtil::formSelect($current_default_role,
"cas[user_default_role]", $roles, false, true);
$this->tpl->setVariable("CAS_USER_DEFAULT_ROLE", $selectElement);
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("COLSPAN", 3);
$this->tpl->setVariable("TXT_CAS_TITLE", $this->lng->txt("auth_cas_auth"));
$this->tpl->setVariable("TXT_CAS_DESC", $this->lng->txt("auth_cas_auth_desc"));
$this->tpl->setVariable("TXT_OPTIONS", $this->lng->txt("options"));
$this->tpl->setVariable("TXT_CAS_ACTIVE", $this->lng->txt("active"));
$this->tpl->setVariable("TXT_CAS_SERVER", $this->lng->txt("server"));
$this->tpl->setVariable("TXT_CAS_SERVER_DESC", $this->lng->txt("auth_cas_server_desc"));
$this->tpl->setVariable("TXT_CAS_PORT", $this->lng->txt("port"));
$this->tpl->setVariable("TXT_CAS_PORT_DESC", $this->lng->txt("auth_cas_port_desc"));
$this->tpl->setVariable("TXT_CAS_URI", $this->lng->txt("uri"));
$this->tpl->setVariable("TXT_CAS_URI_DESC", $this->lng->txt("auth_cas_uri_desc"));
$this->tpl->setVariable("TXT_CAS_LOGIN_INSTRUCTIONS", $this->lng->txt("auth_login_instructions"));
$this->tpl->setVariable("TXT_CREATE_USERS", $this->lng->txt("auth_create_users"));
$this->tpl->setVariable("TXT_CREATE_USERS_DESC", $this->lng->txt("auth_cas_create_users_desc"));
$this->tpl->setVariable("TXT_CAS_USER_DEFAULT_ROLE", $this->lng->txt("auth_user_default_role"));
$this->tpl->setVariable("TXT_CAS_USER_DEFAULT_ROLE_DESC",
$this->lng->txt("auth_cas_user_default_role_desc"));
$this->tpl->setVariable("TXT_ALLOW_LOCAL", $this->lng->txt("auth_allow_local"));
$this->tpl->setVariable("TXT_ALLOW_LOCAL_DESC", $this->lng->txt("auth_cas_allow_local_desc"));
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "saveCAS");
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::editLDAPObject | ( | ) |
Configure LDAP settings.
public
Definition at line 492 of file class.ilObjAuthSettingsGUI.php.
References $_SESSION, and ilObjectGUI::getTemplateFile().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
$this->tabs_gui->setTabActive('auth_ldap');
if ($_SESSION["error_post_vars"])
{
if ($_SESSION["error_post_vars"]["ldap"]["active"] == "1")
{
$this->tpl->setVariable("CHK_LDAP_ACTIVE", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["ldap"]["tls"] == "1")
{
$this->tpl->setVariable("LDAP_TLS_CHK", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["ldap"]["version"] == "3")
{
$this->tpl->setVariable("LDAP_VERSION3_CHK", "checked=\"checked\"");
}
else
{
$this->tpl->setVariable("LDAP_VERSION2_CHK", "checked=\"checked\"");
}
$this->tpl->setVariable("LDAP_SERVER", $_SESSION["error_post_vars"]["ldap"]["server"]);
$this->tpl->setVariable("LDAP_BASEDN", $_SESSION["error_post_vars"]["ldap"]["basedn"]);
$this->tpl->setVariable("LDAP_SEARCH_BASE", $_SESSION["error_post_vars"]["ldap"]["search_base"]);
$this->tpl->setVariable("LDAP_PORT", $_SESSION["error_post_vars"]["ldap"]["port"]);
$this->tpl->setVariable("LDAP_LOGIN_KEY", $_SESSION["error_post_vars"]["ldap"]["login_key"]);
$this->tpl->setVariable("LDAP_OBJECTCLASS", $_SESSION["error_post_vars"]["ldap"]["objectclass"]);
}
else
{
// set already saved data or default value for port
$settings = $this->ilias->getAllSettings();
if ($settings["ldap_active"] == "1")
{
$this->tpl->setVariable("CHK_LDAP_ACTIVE", "checked=\"checked\"");
}
if ($settings["ldap_tls"] == "1")
{
$this->tpl->setVariable("LDAP_TLS_CHK", "checked=\"checked\"");
}
$this->tpl->setVariable("LDAP_SERVER", $settings["ldap_server"]);
$this->tpl->setVariable("LDAP_BASEDN", $settings["ldap_basedn"]);
$this->tpl->setVariable("LDAP_SEARCH_BASE", $settings["ldap_search_base"]);
if (empty($settings["ldap_port"]))
{
$this->tpl->setVariable("LDAP_PORT", LDAP_DEFAULT_PORT);
}
else
{
$this->tpl->setVariable("LDAP_PORT", $settings["ldap_port"]);
}
if (empty($settings["ldap_login_key"]))
{
$this->tpl->setVariable("LDAP_LOGIN_KEY", "uid");
}
else
{
$this->tpl->setVariable("LDAP_LOGIN_KEY", $settings["ldap_login_key"]);
}
if (empty($settings["ldap_objectclass"]))
{
$this->tpl->setVariable("LDAP_OBJECTCLASS", "posixAccount");
}
else
{
$this->tpl->setVariable("LDAP_OBJECTCLASS", $settings["ldap_objectclass"]);
}
if (empty($settings["ldap_version"]) or $settings["ldap_version"] == "2")
{
$this->tpl->setVariable("LDAP_VERSION2_CHK", "checked=\"checked\"");
}
else
{
$this->tpl->setVariable("LDAP_VERSION3_CHK", "checked=\"checked\"");
}
}
$this->getTemplateFile("ldap");
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("COLSPAN", 3);
$this->tpl->setVariable("TXT_LDAP_TITLE", $this->lng->txt("ldap_configure"));
$this->tpl->setVariable("TXT_OPTIONS", $this->lng->txt("options"));
$this->tpl->setVariable("TXT_LDAP_ACTIVE", $this->lng->txt("auth_ldap_enable"));
$this->tpl->setVariable("TXT_LDAP_TLS", $this->lng->txt("ldap_tls"));
$this->tpl->setVariable("TXT_LDAP_SERVER", $this->lng->txt("ldap_server"));
$this->tpl->setVariable("TXT_LDAP_BASEDN", $this->lng->txt("ldap_basedn"));
$this->tpl->setVariable("TXT_LDAP_SEARCH_BASE", $this->lng->txt("ldap_search_base"));
$this->tpl->setVariable("TXT_LDAP_PORT", $this->lng->txt("ldap_port"));
$this->tpl->setVariable("TXT_LDAP_TLS", $this->lng->txt("ldap_tls"));
$this->tpl->setVariable("TXT_LDAP_VERSION", $this->lng->txt("ldap_version"));
$this->tpl->setVariable("TXT_LDAP_VERSION2", $this->lng->txt("ldap_v2"));
$this->tpl->setVariable("TXT_LDAP_VERSION3", $this->lng->txt("ldap_v3"));
$this->tpl->setVariable("TXT_LDAP_LOGIN_KEY", $this->lng->txt("ldap_login_key"));
$this->tpl->setVariable("TXT_LDAP_OBJECTCLASS", $this->lng->txt("ldap_objectclass"));
$this->tpl->setVariable("TXT_LDAP_PASSWD", $this->lng->txt("ldap_passwd"));
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "saveLDAP");
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::editScriptObject | ( | ) |
Configure Custom settings.
public
Definition at line 1309 of file class.ilObjAuthSettingsGUI.php.
References $_SESSION, and ilObjectGUI::getTemplateFile().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
if ($_SESSION["error_post_vars"])
{
$this->tpl->setVariable("AUTH_SCRIPT_NAME", $_SESSION["error_post_vars"]["auth_script"]["name"]);
}
else
{
// set already saved data
$settings = $this->ilias->getAllSettings();
$this->tpl->setVariable("AUTH_SCRIPT_NAME", $settings["auth_script_name"]);
}
$this->tabs_gui->setTabActive('auth_script');
$this->getTemplateFile("script");
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("COLSPAN", 3);
$this->tpl->setVariable("TXT_AUTH_SCRIPT_TITLE", $this->lng->txt("auth_script_configure"));
$this->tpl->setVariable("TXT_OPTIONS", $this->lng->txt("options"));
$this->tpl->setVariable("TXT_AUTH_SCRIPT_NAME", $this->lng->txt("auth_script_name"));
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "saveScript");
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::editSHIBObject | ( | ) |
Configure SHIB settings.
public
Definition at line 735 of file class.ilObjAuthSettingsGUI.php.
References ilObjectGUI::getTemplateFile().
{
global $rbacsystem, $rbacreview;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
$this->tabs_gui->setTabActive('auth_shib');
// set already saved data or default value for port
$settings = $this->ilias->getAllSettings();
// Compose role list
$role_list = $rbacreview->getRolesByFilter(2,$this->object->getId());
$selectElement = '<select name="shib[user_default_role]">';
if (!isset($settings["shib_user_default_role"]))
{
$settings["shib_user_default_role"] = 4;
}
foreach ($role_list as $role)
{
$selectElement .= '<option value="'.$role['obj_id'].'"';
if ($settings["shib_user_default_role"] == $role['obj_id'])
$selectElement .= 'selected="selected"';
$selectElement .= '>'.$role['title'].'</option>';
}
$selectElement .= '</select>';
// Set text field content
$shib_settings = array(
'shib_login',
'shib_title',
'shib_firstname',
'shib_lastname',
'shib_email',
'shib_gender',
'shib_institution',
'shib_department',
'shib_zipcode',
'shib_city',
'shib_country',
'shib_street',
'shib_phone_office',
'shib_phone_home',
'shib_phone_mobile',
'shib_language'
);
$this->getTemplateFile("shib");
foreach ($shib_settings as $setting)
{
$field = ereg_replace('shib_','',$setting);
$this->tpl->setVariable(strtoupper($setting), $settings[$setting]);
$this->tpl->setVariable('SHIB_UPDATE_'.strtoupper($field), $settings["shib_update_".$field]);
if ($settings["shib_update_".$field])
{
$this->tpl->setVariable('chk_shib_update_'.strtolower($field), 'checked="checked"');
}
}
// Set some default values
if (!isset($settings["shib_login_button"]) || $settings["shib_login_button"] == ''){
$this->tpl->setVariable("SHIB_LOGIN_BUTTON", "templates/default/images/shib_login_button.gif");
}
if (isset($settings["shib_active"]) && $settings["shib_active"])
{
$this->tpl->setVariable("chk_shib_active", 'checked="checked"');
}
if (
!isset($settings["shib_hos_type"])
|| $settings["shib_hos_type"] == ''
|| $settings["shib_hos_type"] != 'external_wayf'
)
{
$this->tpl->setVariable("CHK_SHIB_LOGIN_INTERNAL_WAYF", 'checked="checked"');
$this->tpl->setVariable("CHK_SHIB_LOGIN_EXTERNAL_WAYF", '');
} else {
$this->tpl->setVariable("CHK_SHIB_LOGIN_INTERNAL_WAYF", '');
$this->tpl->setVariable("CHK_SHIB_LOGIN_EXTERNAL_WAYF", 'checked="checked"');
}
if (!isset($settings["shib_idp_list"]) || $settings["shib_idp_list"] == '')
{
$this->tpl->setVariable("SHIB_IDP_LIST", "urn:mace:organization1:providerID, Example Organization 1\nurn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/SWITCHaai");
} else {
$this->tpl->setVariable("SHIB_IDP_LIST", stripslashes($settings["shib_idp_list"]));
}
$this->tpl->setVariable("SHIB_USER_DEFAULT_ROLE", $selectElement);
$this->tpl->setVariable("SHIB_LOGIN_BUTTON", $settings["shib_login_button"]);
$this->tpl->setVariable("SHIB_LOGIN_INSTRUCTIONS", stripslashes($settings["shib_login_instructions"]));
$this->tpl->setVariable("SHIB_FEDERATION_NAME", stripslashes($settings["shib_federation_name"]));
$this->tpl->setVariable("SHIB_DATA_CONV", $settings["shib_data_conv"]);
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("COLSPAN", 3);
$this->tpl->setVariable("TXT_SHIB_INSTRUCTIONS",
$this->lng->txt("auth_shib_instructions"));
$this->tpl->setVariable("LINK_SHIB_INSTRUCTIONS",
"./Services/AuthShibboleth/README.SHIBBOLETH.txt");
$this->tpl->setVariable("TXT_SHIB", $this->lng->txt("shib"));
$this->tpl->setVariable("TXT_OPTIONS", $this->lng->txt("options"));
$this->tpl->setVariable("TXT_SHIB_UPDATE", $this->lng->txt("shib_update"));
$this->tpl->setVariable("TXT_SHIB_ACTIVE", $this->lng->txt("shib_active"));
$this->tpl->setVariable("TXT_SHIB_USER_DEFAULT_ROLE", $this->lng->txt("shib_user_default_role"));
$this->tpl->setVariable("TXT_SHIB_LOGIN_BUTTON", $this->lng->txt("shib_login_button"));
$this->tpl->setVariable("TXT_SHIB_LOGIN_TYPE", $this->lng->txt("shib_login_type"));
$this->tpl->setVariable("TXT_SHIB_LOGIN_INTERNAL_WAYF", $this->lng->txt("shib_login_internal_wayf"));
$this->tpl->setVariable("TXT_SHIB_LOGIN_EXTERNAL_WAYF", $this->lng->txt("shib_login_external_wayf"));
$this->tpl->setVariable("TXT_SHIB_IDP_LIST", $this->lng->txt("shib_idp_list"));
$this->tpl->setVariable("TXT_SHIB_FEDERATION_NAME", $this->lng->txt("shib_federation_name"));
$this->tpl->setVariable("TXT_SHIB_LOGIN_INSTRUCTIONS", $this->lng->txt("auth_login_instructions"));
$this->tpl->setVariable("TXT_SHIB_DATA_CONV", $this->lng->txt("shib_data_conv"));
foreach ($shib_settings as $setting)
{
$this->tpl->setVariable("TXT_".strtoupper($setting), $this->lng->txt($setting));
}
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "saveSHIB");
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::editSOAPObject | ( | ) |
Configure soap settings.
public
Definition at line 1101 of file class.ilObjAuthSettingsGUI.php.
References $_SESSION, $ilCtrl, $ilSetting, ilObjectGUI::$lng, $ret, formSelect(), and ilUtil::stripSlashes().
Referenced by testSoapAuthConnectionObject().
{
global $rbacsystem, $rbacreview, $ilSetting, $ilCtrl, $lng;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
$this->tabs_gui->setTabActive('auth_soap');
// get template
$stpl = new ilTemplate("tpl.auth_soap.html", true, true, "");
//$this->getTemplateFile("soap");
// get all settings
$settings = $ilSetting->getAll();
// get values in error case
if ($_SESSION["error_post_vars"])
{
if ($_SESSION["error_post_vars"]["soap"]["active"] == "1")
{
$stpl->setVariable("CHK_SOAP_ACTIVE", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["soap"]["use_https"] == "1")
{
$stpl->setVariable("CHK_USE_HTTPS", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["soap"]["create_users"] == "1")
{
$stpl->setVariable("CHK_CREATE_USERS", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["soap"]["allow_local"] == "1")
{
$stpl->setVariable("CHK_ALLOW_LOCAL", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["soap"]["account_mail"] == "1")
{
$stpl->setVariable("CHK_ACCOUNT_MAIL", "checked=\"checked\"");
}
if ($_SESSION["error_post_vars"]["soap"]["use_dotnet"] == "1")
{
$stpl->setVariable("CHK_USEDOTNET", "checked=\"checked\"");
}
$stpl->setVariable("SOAP_SERVER", $_SESSION["error_post_vars"]["soap"]["server"]);
$stpl->setVariable("SOAP_PORT", $_SESSION["error_post_vars"]["soap"]["port"]);
$stpl->setVariable("SOAP_URI", $_SESSION["error_post_vars"]["soap"]["uri"]);
$stpl->setVariable("SOAP_NAMESPACE", $_SESSION["error_post_vars"]["soap"]["namespace"]);
$current_default_role = $_SESSION["error_post_vars"]["soap"]["user_default_role"];
}
else
{
if ($settings["soap_auth_active"] == "1")
{
$stpl->setVariable("CHK_SOAP_ACTIVE", "checked=\"checked\"");
}
if ($settings["soap_auth_use_https"] == "1")
{
$stpl->setVariable("CHK_USE_HTTPS", "checked=\"checked\"");
}
if ($settings["soap_auth_create_users"] == "1")
{
$stpl->setVariable("CHK_CREATE_USERS", "checked=\"checked\"");
}
if ($settings["soap_auth_allow_local"] == "1")
{
$stpl->setVariable("CHK_ALLOW_LOCAL", "checked=\"checked\"");
}
if ($settings["soap_auth_account_mail"] == "1")
{
$stpl->setVariable("CHK_ACCOUNT_MAIL", "checked=\"checked\"");
}
if ($settings["soap_auth_use_dotnet"] == "1")
{
$stpl->setVariable("CHK_USE_DOTNET", "checked=\"checked\"");
}
$stpl->setVariable("SOAP_SERVER", $settings["soap_auth_server"]);
$stpl->setVariable("SOAP_PORT", $settings["soap_auth_port"]);
$stpl->setVariable("SOAP_URI", $settings["soap_auth_uri"]);
$stpl->setVariable("SOAP_NAMESPACE", $settings["soap_auth_namespace"]);
$current_default_role = $settings["soap_auth_user_default_role"];
}
// compose role list
$role_list = $rbacreview->getRolesByFilter(2,$this->object->getId());
if (!$current_default_role)
{
$current_default_role = 4;
}
$roles = array();
foreach ($role_list as $role)
{
$roles[$role['obj_id']] = $role['title'];
}
$selectElement = ilUtil::formSelect($current_default_role,
"soap[user_default_role]", $roles, false, true);
$stpl->setVariable("SOAP_USER_DEFAULT_ROLE", $selectElement);
$stpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$stpl->setVariable("COLSPAN", 3);
$stpl->setVariable("TXT_SOAP_TITLE", $this->lng->txt("auth_soap_auth"));
$stpl->setVariable("TXT_SOAP_DESC", $this->lng->txt("auth_soap_auth_desc"));
$stpl->setVariable("TXT_OPTIONS", $this->lng->txt("options"));
$stpl->setVariable("TXT_SOAP_ACTIVE", $this->lng->txt("active"));
$stpl->setVariable("TXT_SOAP_SERVER", $this->lng->txt("server"));
$stpl->setVariable("TXT_SOAP_SERVER_DESC", $this->lng->txt("auth_soap_server_desc"));
$stpl->setVariable("TXT_SOAP_PORT", $this->lng->txt("port"));
$stpl->setVariable("TXT_SOAP_PORT_DESC", $this->lng->txt("auth_soap_port_desc"));
$stpl->setVariable("TXT_SOAP_URI", $this->lng->txt("uri"));
$stpl->setVariable("TXT_SOAP_URI_DESC", $this->lng->txt("auth_soap_uri_desc"));
$stpl->setVariable("TXT_SOAP_NAMESPACE", $this->lng->txt("auth_soap_namespace"));
$stpl->setVariable("TXT_SOAP_NAMESPACE_DESC", $this->lng->txt("auth_soap_namespace_desc"));
$stpl->setVariable("TXT_USE_DOTNET", $this->lng->txt("auth_soap_use_dotnet"));
$stpl->setVariable("TXT_USE_HTTPS", $this->lng->txt("auth_soap_use_https"));
$stpl->setVariable("TXT_CREATE_USERS", $this->lng->txt("auth_create_users"));
$stpl->setVariable("TXT_CREATE_USERS_DESC", $this->lng->txt("auth_soap_create_users_desc"));
$stpl->setVariable("TXT_ACCOUNT_MAIL", $this->lng->txt("user_send_new_account_mail"));
$stpl->setVariable("TXT_ACCOUNT_MAIL_DESC", $this->lng->txt("auth_new_account_mail_desc"));
$stpl->setVariable("TXT_SOAP_USER_DEFAULT_ROLE", $this->lng->txt("auth_user_default_role"));
$stpl->setVariable("TXT_SOAP_USER_DEFAULT_ROLE_DESC",
$this->lng->txt("auth_soap_user_default_role_desc"));
$stpl->setVariable("TXT_ALLOW_LOCAL", $this->lng->txt("auth_allow_local"));
$stpl->setVariable("TXT_ALLOW_LOCAL_DESC", $this->lng->txt("auth_soap_allow_local_desc"));
$stpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
$stpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$stpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$stpl->setVariable("CMD_SUBMIT", "saveSOAP");
// test form
include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
$form = new ilPropertyFormGUI();
$form->setFormAction($ilCtrl->getFormAction($this));
$form->setTitle("Test Request");
$text_prop = new ilTextInputGUI("ext_uid", "ext_uid");
$form->addItem($text_prop);
$text_prop2 = new ilTextInputGUI("soap_pw", "soap_pw");
$form->addItem($text_prop2);
$cb = new ilCheckboxInputGUI("new_user", "new_user");
$form->addItem($cb);
$form->addCommandButton("testSoapAuthConnection",
"Send");
if ($ilCtrl->getCmd() == "testSoapAuthConnection")
{
include_once("./Services/SOAPAuth/classes/class.ilSOAPAuth.php");
$ret = "<br />".ilSOAPAuth::testConnection(
ilUtil::stripSlashes($_POST["ext_uid"]),
ilUtil::stripSlashes($_POST["soap_pw"]),
(boolean) $_POST["new_user"]
);
}
$stpl->setVariable("TEST_FORM", $form->getHtml().$ret);
$this->tpl->setContent($stpl->get());
}
Here is the call graph for this function:
Here is the caller graph for this function:| & ilObjAuthSettingsGUI::executeCommand | ( | ) |
execute command
Reimplemented from ilObjectGUI.
Definition at line 1527 of file class.ilObjAuthSettingsGUI.php.
References $cmd, $ilErr, $ret, and ilObjectGUI::prepareOutput().
{
global $ilAccess,$ilErr;
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
$this->prepareOutput();
if(!$ilAccess->checkAccess('read','',$this->object->getRefId()))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->WARNING);
}
switch($next_class)
{
case 'ilregistrationsettingsgui':
include_once './Services/Registration/classes/class.ilRegistrationSettingsGUI.php';
// Enable tabs
$this->tabs_gui->setTabActive('registration_settings');
$registration_gui =& new ilRegistrationSettingsGUI();
$this->ctrl->forwardCommand($registration_gui);
break;
case 'ilpermissiongui':
// Enable tabs
$this->tabs_gui->setTabActive('perm_settings');
include_once("./classes/class.ilPermissionGUI.php");
$perm_gui =& new ilPermissionGUI($this);
$ret =& $this->ctrl->forwardCommand($perm_gui);
break;
case 'illdapsettingsgui':
// Enable Tabs
$this->tabs_gui->setTabActive('auth_ldap');
include_once './Services/LDAP/classes/class.ilLDAPSettingsGUI.php';
$ldap_settings_gui = new ilLDAPSettingsGUI($this->object->getRefId());
$this->ctrl->forwardCommand($ldap_settings_gui);
break;
case 'ilradiussettingsgui':
$this->tabs_gui->setTabActive('auth_radius');
include_once './Services/Radius/classes/class.ilRadiusSettingsGUI.php';
$radius_settings_gui = new ilRadiusSettingsGUI($this->object->getRefId());
$this->ctrl->forwardCommand($radius_settings_gui);
break;
default:
if(!$cmd)
{
$cmd = "authSettings";
}
$cmd .= "Object";
$this->$cmd();
break;
}
return true;
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::getAdminTabs | ( | &$ | tabs_gui | ) |
administration tabs show only permissions and trash folder
Reimplemented from ilObjectGUI.
Definition at line 1595 of file class.ilObjAuthSettingsGUI.php.
References getTabs().
{
$this->getTabs($tabs_gui);
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::getAuthModeTitle | ( | ) |
get the title of auth mode
public
Definition at line 1383 of file class.ilObjAuthSettingsGUI.php.
Referenced by saveScriptObject(), and setAuthModeObject().
{
switch ($this->ilias->getSetting("auth_mode"))
{
case AUTH_LOCAL:
return $this->lng->txt("auth_local");
break;
case AUTH_LDAP:
return $this->lng->txt("auth_ldap");
break;
case AUTH_SHIBBOLETH:
return $this->lng->txt("auth_shib");
break;
case AUTH_RADIUS:
return $this->lng->txt("auth_radius");
break;
case AUTH_SCRIPT:
return $this->lng->txt("auth_script");
break;
default:
return $this->lng->txt("unknown");
break;
}
}
Here is the caller graph for this function:| ilObjAuthSettingsGUI::getTabs | ( | &$ | tabs_gui | ) |
get tabs public
| object | tabs gui object |
Reimplemented from ilObjectGUI.
Definition at line 1605 of file class.ilObjAuthSettingsGUI.php.
Referenced by getAdminTabs().
{
global $rbacsystem;
$this->ctrl->setParameter($this,"ref_id",$this->object->getRefId());
if ($rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
{
$tabs_gui->addTarget('registration_settings',
$this->ctrl->getLinkTargetByClass('ilregistrationsettingsgui','view'));
$tabs_gui->addTarget("authentication_settings", $this->ctrl->getLinkTarget($this, "authSettings"),
"", "", "");
$tabs_gui->addTarget("auth_ldap", $this->ctrl->getLinkTargetByClass('illdapsettingsgui','serverList'),
"", "", "");
#$tabs_gui->addTarget("auth_ldap", $this->ctrl->getLinkTarget($this, "editLDAP"),
# "", "", "");
$tabs_gui->addTarget("auth_shib", $this->ctrl->getLinkTarget($this, "editSHIB"),
"", "", "");
$tabs_gui->addTarget("auth_cas", $this->ctrl->getLinkTarget($this, "editCAS"),
"", "", "");
$tabs_gui->addTarget("auth_radius", $this->ctrl->getLinkTargetByClass('ilradiussettingsgui', "settings"),
"", "", "");
$tabs_gui->addTarget("auth_soap", $this->ctrl->getLinkTarget($this, "editSOAP"),
"", "", "");
}
if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
{
$tabs_gui->addTarget("perm_settings",
$this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
array("perm","info","owner"), 'ilpermissiongui');
}
}
Here is the caller graph for this function:| ilObjAuthSettingsGUI::ilObjAuthSettingsGUI | ( | $ | a_data, | |
| $ | a_id, | |||
| $ | a_call_by_reference, | |||
| $ | a_prepare_output = true | |||
| ) |
Constructor public.
Definition at line 44 of file class.ilObjAuthSettingsGUI.php.
References ilObjectGUI::ilObjectGUI().
{
$this->type = "auth";
$this->ilObjectGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
$this->lng->loadLanguageModule('registration');
define('LDAP_DEFAULT_PORT',389);
define('RADIUS_DEFAULT_PORT',1812);
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::initAuthModeDetermination | ( | ) | [protected] |
init auth mode determinitation form
protected
Definition at line 1434 of file class.ilObjAuthSettingsGUI.php.
References ilAuthModeDetermination::_getInstance().
Referenced by authSettingsObject().
{
if(is_object($this->form))
{
return true;
}
// Are there any authentication methods that support automatic determination ?
include_once('Services/Authentication/classes/class.ilAuthModeDetermination.php');
$det = ilAuthModeDetermination::_getInstance();
if($det->getCountActiveAuthModes() <= 1)
{
return false;
}
include_once('./Services/Form/classes/class.ilPropertyFormGUI.php');
$this->form = new ilPropertyFormGUI();
$this->form->setFormAction($this->ctrl->getFormAction($this));
$this->form->setTableWidth('100%');
$this->form->setTitle($this->lng->txt('auth_auth_mode_determination'));
$this->form->addCommandButton('updateAuthModeDetermination',$this->lng->txt('save'));
$this->form->addCommandButton('authSettings',$this->lng->txt('cancel'));
$kind = new ilRadioGroupInputGUI($this->lng->txt('auth_kind_determination'),'kind');
$kind->setInfo($this->lng->txt('auth_mode_determination_info'));
$kind->setValue($det->getKind());
$kind->setRequired(true);
$option_user = new ilRadioOption($this->lng->txt('auth_by_user'),0);
$kind->addOption($option_user);
$option_determination = new ilRadioOption($this->lng->txt('auth_automatic'),1);
include_once('Services/Authentication/classes/class.ilAuthUtils.php');
$auth_sequenced = $det->getAuthModeSequence();
$counter = 1;
foreach($auth_sequenced as $auth_mode)
{
switch($auth_mode)
{
case AUTH_LDAP:
$text = $this->lng->txt('auth_ldap');
break;
case AUTH_RADIUS:
$text = $this->lng->txt('auth_radius');
break;
case AUTH_LOCAL:
$text = $this->lng->txt('auth_local');
break;
}
$pos = new ilTextInputGUI($text,'position['.$auth_mode.']');
$pos->setValue($counter++);
$pos->setSize(1);
$pos->setMaxLength(1);
$option_determination->addSubItem($pos);
}
$kind->addOption($option_determination);
$this->form->addItem($kind);
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjAuthSettingsGUI::loginInfoObject | ( | ) |
displays login information of all installed languages
public
Definition at line 284 of file class.ilObjAuthSettingsGUI.php.
References $ilSetting, ilObjectGUI::$lng, ilLDAPServer::_getFirstActiveServer(), ilRadiusSettings::_getInstance(), setDefLangFirst(), and setSubTabs().
Referenced by saveLoginInfoObject().
{
global $rbacsystem, $lng,$ilSetting;
if (!$rbacsystem->checkAccess("visible,read", $this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
}
$this->tabs_gui->setTabActive("authentication_settings");
$this->setSubTabs("authSettings");
$this->tabs_gui->setSubTabActive("login_information");
$lng->loadLanguageModule("meta");
include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.auth_login_messages.html");
$form = new ilPropertyFormGUI();
$form->setFormAction($this->ctrl->getFormAction($this));
$form->setTitle($this->lng->txt('login_information'));
#$form->setInfo($this->lng->txt('login_information_desc'));
$form->addCommandButton('saveLoginInfo',$this->lng->txt('save'));
$form->addCommandButton('cancel',$this->lng->txt('cancel'));
include_once('Services/LDAP/classes/class.ilLDAPServer.php');
include_once('Services/Radius/classes/class.ilRadiusSettings.php');
$rad_settings = ilRadiusSettings::_getInstance();
if($ldap_id = ilLDAPServer::_getFirstActiveServer() or $rad_settings->isActive())
{
$select = new ilSelectInputGUI($this->lng->txt('default_auth_mode'),'default_auth_mode');
$select->setValue($ilSetting->get('default_auth_mode',AUTH_LOCAL));
$select->setInfo($this->lng->txt('default_auth_mode_info'));
$options[AUTH_LOCAL] = $this->lng->txt('auth_local');
if($ldap_id)
{
$options[AUTH_LDAP] = $this->lng->txt('auth_ldap');
}
if($rad_settings->isActive())
{
$options [AUTH_RADIUS] = $this->lng->txt('auth_radius');
}
$select->setOptions($options);
$form->addItem($select);
}
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_HEADLINE", $this->lng->txt("login_information"));
$this->tpl->setVariable("TXT_DESCRIPTION", $this->lng->txt("login_information_desc"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
if (!is_object($this->loginSettings))
{
$this->loginSettings = new ilSetting("login_settings");
}
$login_settings = $this->loginSettings->getAll();
$languages = $lng->getInstalledLanguages();
$def_language = $lng->getDefaultLanguage();
foreach ($this->setDefLangFirst($def_language, $languages) as $lang_key)
{
$add = "";
if ($lang_key == $def_language)
{
$add = " (".$lng->txt("default").")";
}
$textarea = new ilTextAreaInputGUI($lng->txt("meta_l_".$lang_key).$add,
'loginMessage['.$lang_key.']');
$textarea->setRows(10);
$textarea->setValue($login_settings["login_message_".$lang_key]);
$textarea->setUseRte(true);
$form->addItem($textarea);
unset($login_settings["login_message_".$lang_key]);
}
foreach ($login_settings as $key => $message)
{
$lang_key = substr($key, strrpos($key, "_") + 1, strlen($key) - strrpos($key, "_"));
$textarea = new ilTextAreaInputGUI($lng->txt("meta_l_".$lang_key).$add,
'loginMessage['.$lang_key.']');
$textarea->setRows(10);
$textarea->setValue($message);
$textarea->setUseRte(true);
if(!in_array($lang_key,$languages))
{
$textarea->setAlert($lng->txt("not_installed"));
}
$form->addItem($textarea);
}
$this->tpl->setVariable('LOGIN_INFO',$form->getHTML());
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjAuthSettingsGUI::saveCASObject | ( | ) |
validates all input data, save them to database if correct and active chosen auth mode
public
Definition at line 1066 of file class.ilObjAuthSettingsGUI.php.
References $ilSetting, and ilUtil::sendInfo().
{
global $ilUser, $ilSetting;
// validate required data
if (!$_POST["cas"]["server"] or !$_POST["cas"]["port"])
{
$this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
}
// validate port
if ((preg_match("/^[0-9]{0,5}$/",$_POST["cas"]["port"])) == false)
{
$this->ilias->raiseError($this->lng->txt("err_invalid_port"),$this->ilias->error_obj->MESSAGE);
}
$ilSetting->set("cas_server", $_POST["cas"]["server"]);
$ilSetting->set("cas_port", $_POST["cas"]["port"]);
$ilSetting->set("cas_uri", $_POST["cas"]["uri"]);
$ilSetting->set("cas_login_instructions", $_POST["cas"]["login_instructions"]);
$ilSetting->set("cas_active", $_POST["cas"]["active"]);
$ilSetting->set("cas_create_users", $_POST["cas"]["create_users"]);
$ilSetting->set("cas_allow_local", $_POST["cas"]["allow_local"]);
$ilSetting->set("cas_active", $_POST["cas"]["active"]);
$ilSetting->set("cas_user_default_role", $_POST["cas"]["user_default_role"]);
ilUtil::sendInfo($this->lng->txt("auth_cas_settings_saved"),true);
$this->ctrl->redirect($this,'editCAS');
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::saveLDAPObject | ( | ) |
validates all input data, save them to database if correct and active chosen auth mode
public
Definition at line 622 of file class.ilObjAuthSettingsGUI.php.
References ilUtil::sendInfo().
{
global $ilUser;
// validate required data
if (!$_POST["ldap"]["server"] or !$_POST["ldap"]["basedn"] or !$_POST["ldap"]["port"] or !$_POST["ldap"]["login_key"] or !$_POST["ldap"]["objectclass"])
{
$this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
}
// validate password
if (!$_POST["ldap"]["passwd"])
{
$this->ilias->raiseError($this->lng->txt("err_enter_current_passwd"),$this->ilias->error_obj->MESSAGE);
}
// validate port
if ((preg_match("/^[0-9]{0,5}$/",$_POST["ldap"]["port"])) == false)
{
$this->ilias->raiseError($this->lng->txt("err_invalid_port"),$this->ilias->error_obj->MESSAGE);
}
// TODO: implement TLS support
if ($_POST["ldap"]["tls"] != "1")
{
$_POST["ldap"]["tls"] = "0";
}
// check connection to ldap server
//include_once('classes/class.ilLDAPAuthentication.php');
$ldap_host = $_POST["ldap"]["server"];
$ldap_port = $_POST["ldap"]["port"];
$ldap_pass = $_POST["ldap"]["passwd"];
$ldap_userattr = $_POST["ldap"]["login_key"];
$ldap_useroc = $_POST["ldap"]["objectclass"];
$ldap_dn = $ldap_userattr."=".$this->ilias->account->getLogin().",";
// create base_dn
if ($_POST["ldap"]["search_base"])
{
$ldap_searchbase .= $_POST["ldap"]["search_base"].",";
}
$ldap_searchbase .= $_POST["ldap"]["basedn"];
$ldap_dn .= $ldap_searchbase;
// test connection
$ldap_conn = ldap_connect($ldap_host,$ldap_port);
@ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, $_POST["ldap"]["version"]);
// bind anonymously
if (($ldap_bind = ldap_bind($ldap_conn)) == false)
{
$this->ilias->raiseError($this->lng->txt("err_ldap_connect_failed"),$this->ilias->error_obj->MESSAGE);
}
// make user search
$filter = sprintf('(&(objectClass=%s)(%s=%s))', $ldap_useroc, $ldap_userattr, $ilUser->getLogin());
// make functions params array
$func_params = array($ldap_conn, $ldap_searchbase, $filter, array($ldap_userattr));
// search
if (($result_id = @call_user_func_array('ldap_search', $func_params)) == false)
{
$this->ilias->raiseError($this->lng->txt("err_ldap_search_failed"),$this->ilias->error_obj->MESSAGE);
}
if (ldap_count_entries($ldap_conn, $result_id) != 1)
{
$this->ilias->raiseError($this->lng->txt("err_ldap_user_not_found"),$this->ilias->error_obj->MESSAGE);
}
// then get the user dn
$entry_id = ldap_first_entry($ldap_conn, $result_id);
$user_dn = ldap_get_dn($ldap_conn, $entry_id);
ldap_free_result($result_id);
// bind with password
if (@ldap_bind($ldap_conn, $user_dn, $ldap_pass) == false)
{
$this->ilias->raiseError($this->lng->txt("err_ldap_auth_failed"),$this->ilias->error_obj->MESSAGE);
}
// close connection
@ldap_unbind($ldap_conn);
// all ok. save settings
$this->ilias->setSetting("ldap_tls", $_POST["ldap"]["tls"]);
$this->ilias->setSetting("ldap_server", $_POST["ldap"]["server"]);
$this->ilias->setSetting("ldap_basedn", $_POST["ldap"]["basedn"]);
$this->ilias->setSetting("ldap_search_base", $_POST["ldap"]["search_base"]);
$this->ilias->setSetting("ldap_port", $_POST["ldap"]["port"]);
$this->ilias->setSetting("ldap_version", $_POST["ldap"]["version"]);
$this->ilias->setSetting("ldap_login_key", $_POST["ldap"]["login_key"]);
$this->ilias->setSetting("ldap_objectclass", $_POST["ldap"]["objectclass"]);
$this->ilias->setSetting("ldap_active", $_POST["ldap"]["active"]);
ilUtil::sendInfo($this->lng->txt("auth_ldap_settings_saved"),true);
$this->ctrl->redirect($this,'editLDAP');;
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::saveLoginInfoObject | ( | ) |
saves the login information data
public
Definition at line 250 of file class.ilObjAuthSettingsGUI.php.
References $ilSetting, ilObjectGUI::$lng, loginInfoObject(), and ilUtil::sendInfo().
{
global $rbacsystem, $lng,$ilSetting;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
if (is_array($_POST["loginMessage"]))
{
$this->loginSettings = new ilSetting("login_settings");
foreach ($_POST["loginMessage"] as $key => $val)
{
$this->loginSettings->set("login_message_".$key, $val);
}
}
if($_POST['default_auth_mode'])
{
$ilSetting->set('default_auth_mode',(int) $_POST['default_auth_mode']);
}
ilUtil::sendInfo($this->lng->txt("login_information_settings_saved"));
$this->loginInfoObject();
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::saveScriptObject | ( | ) |
validates all input data, save them to database if correct and active chosen auth mode
public
Definition at line 1351 of file class.ilObjAuthSettingsGUI.php.
References getAuthModeTitle(), and ilUtil::sendInfo().
{
// validate required data
if (!$_POST["auth_script"]["name"])
{
$this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
}
// validate script url
/*
if (( TODO ,$_POST["ldap"]["server"])) == false)
{
$this->ilias->raiseError($this->lng->txt("err_invalid_server"),$this->ilias->error_obj->MESSAGE);
}*/
// TODO: check connection to server
// all ok. save settings and activate auth by external script
$this->ilias->setSetting("auth_script_name", $_POST["auth_script"]["name"]);
$this->ilias->setSetting("auth_mode", AUTH_SCRIPT);
ilUtil::sendInfo($this->lng->txt("auth_mode_changed_to")." ".$this->getAuthModeTitle(),true);
$this->ctrl->redirect($this,'editScript');
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::saveSHIBObject | ( | ) |
validates all input data, save them to database if correct and active chosen auth mode
public
Definition at line 876 of file class.ilObjAuthSettingsGUI.php.
References ilUtil::sendInfo().
{
global $ilUser;
// validate required data
if (
!$_POST["shib"]["login"]
or !$_POST["shib"]["hos_type"]
or !$_POST["shib"]["firstname"]
or !$_POST["shib"]["lastname"]
or !$_POST["shib"]["email"]
or !$_POST["shib"]["user_default_role"]
or !$_POST["shib"]["federation_name"]
)
{
$this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
}
// validate api
if (
$_POST["shib"]["data_conv"]
and $_POST["shib"]["data_conv"] != ''
and !is_readable($_POST["shib"]["data_conv"]) )
{
$this->ilias->raiseError($this->lng->txt("shib_data_conv_warning"),$this->ilias->error_obj->MESSAGE);
}
// all ok. save settings
$shib_settings = array(
'shib_login',
'shib_title',
'shib_firstname',
'shib_lastname',
'shib_email',
'shib_gender',
'shib_institution',
'shib_department',
'shib_zipcode',
'shib_city',
'shib_country',
'shib_street',
'shib_phone_office',
'shib_phone_home',
'shib_phone_mobile',
'shib_language'
);
foreach ($shib_settings as $setting)
{
$field = ereg_replace('shib_','',$setting);
if ($_POST["shib"]["update_".$field] != "1")
$_POST["shib"]["update_".$field] = "0";
$this->ilias->setSetting($setting, trim($_POST["shib"][$field]));
$this->ilias->setSetting("shib_update_".$field, $_POST["shib"]["update_".$field]);
}
if ($_POST["shib"]["active"] != "1")
{
$this->ilias->setSetting("shib_active", "0");
}
else
{
$this->ilias->setSetting("shib_active", "1");
}
$this->ilias->setSetting("shib_user_default_role", $_POST["shib"]["user_default_role"]);
$this->ilias->setSetting("shib_hos_type", $_POST["shib"]["hos_type"]);
$this->ilias->setSetting("shib_federation_name", $_POST["shib"]["federation_name"]);
$this->ilias->setSetting("shib_idp_list", $_POST["shib"]["idp_list"]);
$this->ilias->setSetting("shib_login_instructions", $_POST["shib"]["login_instructions"]);
$this->ilias->setSetting("shib_login_button", $_POST["shib"]["login_button"]);
$this->ilias->setSetting("shib_data_conv", $_POST["shib"]["data_conv"]);
ilUtil::sendInfo($this->lng->txt("shib_settings_saved"),true);
$this->ctrl->redirect($this,'editSHIB');
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::saveSOAPObject | ( | ) |
validates all input data, save them to database if correct and active chosen auth mode
public
Definition at line 1272 of file class.ilObjAuthSettingsGUI.php.
References $ilSetting, and ilUtil::sendInfo().
{
global $ilUser, $ilSetting;
// validate required data
if (!$_POST["soap"]["server"])
{
$this->ilias->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilias->error_obj->MESSAGE);
}
// validate port
if ($_POST["soap"]["server"] != "" && (preg_match("/^[0-9]{0,5}$/",$_POST["soap"]["port"])) == false)
{
$this->ilias->raiseError($this->lng->txt("err_invalid_port"),$this->ilias->error_obj->MESSAGE);
}
$ilSetting->set("soap_auth_server", $_POST["soap"]["server"]);
$ilSetting->set("soap_auth_port", $_POST["soap"]["port"]);
$ilSetting->set("soap_auth_active", $_POST["soap"]["active"]);
$ilSetting->set("soap_auth_uri", $_POST["soap"]["uri"]);
$ilSetting->set("soap_auth_namespace", $_POST["soap"]["namespace"]);
$ilSetting->set("soap_auth_create_users", $_POST["soap"]["create_users"]);
$ilSetting->set("soap_auth_allow_local", $_POST["soap"]["allow_local"]);
$ilSetting->set("soap_auth_account_mail", $_POST["soap"]["account_mail"]);
$ilSetting->set("soap_auth_use_https", $_POST["soap"]["use_https"]);
$ilSetting->set("soap_auth_use_dotnet", $_POST["soap"]["use_dotnet"]);
$ilSetting->set("soap_auth_user_default_role", $_POST["soap"]["user_default_role"]);
ilUtil::sendInfo($this->lng->txt("auth_soap_settings_saved"),true);
$this->ctrl->redirect($this,'editSOAP');
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::setAuthModeObject | ( | ) |
Definition at line 423 of file class.ilObjAuthSettingsGUI.php.
References $ilSetting, getAuthModeTitle(), ilObjectGUI::getReturnLocation(), ilUtil::redirect(), and ilUtil::sendInfo().
{
global $rbacsystem,$ilSetting;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
if (empty($_POST["auth_mode"]))
{
$this->ilias->raiseError($this->lng->txt("auth_err_no_mode_selected"),$this->ilias->error_obj->MESSAGE);
}
if ($_POST["auth_mode"] == AUTH_DEFAULT)
{
ilUtil::sendInfo($this->lng->txt("auth_mode").": ".$this->getAuthModeTitle()." ".$this->lng->txt("auth_mode_not_changed"),true);
$this->ctrl->redirect($this,'authSettings');
}
switch ($_POST["auth_mode"])
{
case AUTH_LDAP:
/*
if ($this->object->checkAuthLDAP() !== true)
{
ilUtil::sendInfo($this->lng->txt("auth_ldap_not_configured"),true);
ilUtil::redirect($this->getReturnLocation("authSettings",$this->ctrl->getLinkTarget($this,"editLDAP")));
}
*/
break;
case AUTH_SHIB:
if ($this->object->checkAuthSHIB() !== true)
{
ilUtil::sendInfo($this->lng->txt("auth_shib_not_configured"),true);
ilUtil::redirect($this->getReturnLocation("authSettings",$this->ctrl->getLinkTarget($this,"editSHIB")));
}
break;
case AUTH_RADIUS:
if ($this->object->checkAuthRADIUS() !== true)
{
ilUtil::sendInfo($this->lng->txt("auth_radius_not_configured"),true);
$this->ctrl->redirect($this,'editRADIUS');
}
break;
case AUTH_SCRIPT:
if ($this->object->checkAuthScript() !== true)
{
ilUtil::sendInfo($this->lng->txt("auth_script_not_configured"),true);
ilUtil::redirect($this->getReturnLocation("authSettings",$this->ctrl->getLinkTarget($this,"editScript")));
}
break;
}
$this->ilias->setSetting("auth_mode",$_POST["auth_mode"]);
ilUtil::sendInfo($this->lng->txt("auth_default_mode_changed_to")." ".$this->getAuthModeTitle(),true);
$this->ctrl->redirect($this,'authSettings');
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::setDefLangFirst | ( | $ | a_def_language, | |
| $ | a_languages | |||
| ) |
returns an array of all installed languages, default language at the first position
| string | $a_def_language Default language of the current installation | |
| array | $a_languages Array of all installed languages |
Definition at line 394 of file class.ilObjAuthSettingsGUI.php.
Referenced by loginInfoObject().
{
if (is_array($a_languages) && $a_def_language != "")
{
$languages = array();
$languages[] = $a_def_language;
foreach ($a_languages as $val)
{
if (!in_array($val, $languages))
{
$languages[] = $val;
}
}
return $languages;
}
else
{
return array();
}
}
Here is the caller graph for this function:| ilObjAuthSettingsGUI::setSubTabs | ( | $ | a_tab | ) |
set sub tabs
Definition at line 1652 of file class.ilObjAuthSettingsGUI.php.
Referenced by authSettingsObject(), and loginInfoObject().
{
global $rbacsystem,$ilUser,$ilAccess;
switch ($a_tab)
{
case 'authSettings':
if($ilAccess->checkAccess('write','',$this->object->getRefId()))
{
$this->tabs_gui->addSubTabTarget("auth_settings",
$this->ctrl->getLinkTarget($this,'authSettings'),
"");
}
if($ilAccess->checkAccess('write','',$this->object->getRefId()))
{
$this->tabs_gui->addSubTabTarget("login_information",
$this->ctrl->getLinkTarget($this,'loginInfo'),
"");
}
break;
}
}
Here is the caller graph for this function:| ilObjAuthSettingsGUI::testSoapAuthConnectionObject | ( | ) |
Definition at line 1262 of file class.ilObjAuthSettingsGUI.php.
References editSOAPObject().
{
$this->editSOAPObject();
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::updateAuthModeDeterminationObject | ( | ) |
update auth mode determination
public
Definition at line 1504 of file class.ilObjAuthSettingsGUI.php.
References ilAuthModeDetermination::_getInstance(), authSettingsObject(), and ilUtil::sendInfo().
{
include_once('Services/Authentication/classes/class.ilAuthModeDetermination.php');
$det = ilAuthModeDetermination::_getInstance();
$det->setKind((int) $_POST['kind']);
$pos = $_POST['position'] ? $_POST['position'] : array();
asort($pos,SORT_NUMERIC);
$counter = 0;
foreach($pos as $auth_mode => $dummy)
{
$position[$counter++] = $auth_mode;
}
$det->setAuthModeSequence($position ? $position : array());
$det->save();
ilUtil::sendInfo($this->lng->txt('settings_saved'));
$this->authSettingsObject();
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::updateAuthRolesObject | ( | ) |
Definition at line 1413 of file class.ilObjAuthSettingsGUI.php.
References ilObjRole::_updateAuthMode(), and ilUtil::sendInfo().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
include_once('classes/class.ilObjRole.php');
ilObjRole::_updateAuthMode($_POST['Fobject']);
ilUtil::sendInfo($this->lng->txt("auth_mode_roles_changed"),true);
$this->ctrl->redirect($this,'authSettings');
}
Here is the call graph for this function:| ilObjAuthSettingsGUI::viewObject | ( | ) |
list childs of current object
public
Reimplemented from ilObjectGUI.
Definition at line 55 of file class.ilObjAuthSettingsGUI.php.
{
// load ilRegistrationSettingsGUI
include_once './Services/Registration/classes/class.ilRegistrationSettingsGUI.php';
// Enable tabs
$this->tabs_gui->setTabActive('registration_settings');
$registration_gui =& new ilRegistrationSettingsGUI();
$this->ctrl->setCmdClass('ilregistrationsettingsgui');
$this->ctrl->forwardCommand($registration_gui);
}
1.7.1