/** * Configure soap settings * * @access public */ function editSOAPObject() { global $rbacsystem, $rbacreview, $ilSetting, $ilCtrl, $lng; if (!$rbacsystem->checkAccess("read", $this->object->getRefId())) { $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE); } $this->tabs_gui->setTabActive('auth_soap'); //set Template $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.auth_soap.html', 'Services/Authentication'); // compose role list $role_list = $rbacreview->getRolesByFilter(2, $this->object->getId()); $roles = array(); foreach ($role_list as $role) { $roles[$role['obj_id']] = $role['title']; } //set property form gui include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $soap_config = new ilPropertyFormGUI(); $soap_config->setTitle($this->lng->txt("auth_soap_auth")); $soap_config->setDescription($this->lng->txt("auth_soap_auth_desc")); $soap_config->setFormAction($this->ctrl->getFormAction($this, "editSOAP")); $soap_config->addCommandButton("saveSOAP", $this->lng->txt("save")); $soap_config->addCommandButton("editSOAP", $this->lng->txt("cancel")); //set activ $active = new ilCheckboxInputGUI(); $active->setTitle($this->lng->txt("active")); $active->setPostVar("soap[active]"); //set server $server = new ilTextInputGUI(); $server->setTitle($this->lng->txt("server")); $server->setInfo($this->lng->txt("auth_soap_server_desc")); $server->setPostVar("soap[server]"); $server->setSize(50); $server->setMaxLength(256); $server->setRequired(true); //set port $port = new ilTextInputGUI(); $port->setTitle($this->lng->txt("port")); $port->setInfo($this->lng->txt("auth_soap_port_desc")); $port->setPostVar("soap[port]"); $port->setSize(7); $port->setMaxLength(5); //set https $https = new ilCheckboxInputGUI(); $https->setTitle($this->lng->txt("auth_soap_use_https")); $https->setPostVar("soap[use_https]"); //set uri $uri = new ilTextInputGUI(); $uri->setTitle($this->lng->txt("uri")); $uri->setInfo($this->lng->txt("auth_soap_uri_desc")); $uri->setPostVar("soap[uri]"); $uri->setSize(50); $uri->setMaxLength(256); //set namespace $namespace = new ilTextInputGUI(); $namespace->setTitle($this->lng->txt("auth_soap_namespace")); $namespace->setInfo($this->lng->txt("auth_soap_namespace_desc")); $namespace->setPostVar("soap[namespace]"); $namespace->setSize(50); $namespace->setMaxLength(256); //set dotnet $dotnet = new ilCheckboxInputGUI(); $dotnet->setTitle($this->lng->txt("auth_soap_use_dotnet")); $dotnet->setPostVar("soap[use_dotnet]"); //set create users $createuser = new ilCheckboxInputGUI(); $createuser->setTitle($this->lng->txt("auth_create_users")); $createuser->setInfo($this->lng->txt("auth_soap_create_users_desc")); $createuser->setPostVar("soap[create_users]"); //set account mail $sendmail = new ilCheckboxInputGUI(); $sendmail->setTitle($this->lng->txt("user_send_new_account_mail")); $sendmail->setInfo($this->lng->txt("auth_new_account_mail_desc")); $sendmail->setPostVar("soap[account_mail]"); //set user default role $defaultrole = new ilSelectInputGUI(); $defaultrole->setTitle($this->lng->txt("auth_user_default_role")); $defaultrole->setInfo($this->lng->txt("auth_soap_user_default_role_desc")); $defaultrole->setPostVar("soap[user_default_role]"); $defaultrole->setOptions($roles); //set allow local authentication $allowlocal = new ilCheckboxInputGUI(); $allowlocal->setTitle($this->lng->txt("auth_allow_local")); $allowlocal->setInfo($this->lng->txt("auth_soap_allow_local_desc")); $allowlocal->setPostVar("soap[allow_local]"); // get all settings $settings = $ilSetting->getAll(); // get values in error case if ($_SESSION["error_post_vars"]) { $active->setChecked($_SESSION["error_post_vars"]["soap"]["active"]); $server->setValue($_SESSION["error_post_vars"]["soap"]["server"]); $port->setValue($_SESSION["error_post_vars"]["soap"]["port"]); $https->setChecked($_SESSION["error_post_vars"]["soap"]["use_https"]); $uri->setValue($_SESSION["error_post_vars"]["soap"]["uri"]); $namespace->setValue($_SESSION["error_post_vars"]["soap"]["namespace"]); $dotnet->setChecked($_SESSION["error_post_vars"]["soap"]["use_dotnet"]); $createuser->setChecked($_SESSION["error_post_vars"]["soap"]["create_users"]); $allowlocal->setChecked($_SESSION["error_post_vars"]["soap"]["allow_local"]); $defaultrole->setValue($_SESSION["error_post_vars"]["soap"]["user_default_role"]); $sendmail->setChecked($_SESSION["error_post_vars"]["soap"]["account_mail"]); } else { $active->setChecked($settings["soap_auth_active"]); $server->setValue($settings["soap_auth_server"]); $port->setValue($settings["soap_auth_port"]); $https->setChecked($settings["soap_auth_use_https"]); $uri->setValue($settings["soap_auth_uri"]); $namespace->setValue($settings["soap_auth_namespace"]); $dotnet->setChecked($settings["soap_auth_use_dotnet"]); $createuser->setChecked($settings["soap_auth_create_users"]); $allowlocal->setChecked($settings["soap_auth_allow_local"]); $defaultrole->setValue($settings["soap_auth_user_default_role"]); $sendmail->setChecked($settings["soap_auth_account_mail"]); } if (!$defaultrole->getValue()) { $defaultrole->setValue(4); } //add Items to property gui $soap_config->addItem($active); $soap_config->addItem($server); $soap_config->addItem($port); $soap_config->addItem($https); $soap_config->addItem($uri); $soap_config->addItem($namespace); $soap_config->addItem($dotnet); $soap_config->addItem($createuser); $soap_config->addItem($sendmail); $soap_config->addItem($defaultrole); $soap_config->addItem($allowlocal); $this->tpl->setVariable("CONFIG_FORM", $soap_config->getHTML()); // test form $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"]), (bool) $_POST["new_user"]); } $this->tpl->setVariable("TEST_FORM", $form->getHTML() . $ret); }
/** * Init add cast item form. */ function initAddCastItemForm($a_mode = "create") { global $lng, $ilCtrl, $ilTabs; $this->checkPermission("write"); $ilTabs->activateTab("edit_content"); $lng->loadLanguageModule("mcst"); $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); include "Services/Form/classes/class.ilPropertyFormGUI.php"; $this->form_gui = new ilPropertyFormGUI(); $this->form_gui->setMultipart(true); // Property Title $text_input = new ilTextInputGUI($lng->txt("title"), "title"); $text_input->setMaxLength(200); $this->form_gui->addItem($text_input); // Property Content $text_area = new ilTextAreaInputGUI($lng->txt("description"), "description"); $text_area->setRequired(false); $this->form_gui->addItem($text_area); // Property Visibility if ($enable_internal_rss) { $radio_group = new ilRadioGroupInputGUI($lng->txt("access_scope"), "visibility"); $radio_option = new ilRadioOption($lng->txt("access_users"), "users"); $radio_group->addOption($radio_option); $radio_option = new ilRadioOption($lng->txt("access_public"), "public"); $radio_group->addOption($radio_option); $radio_group->setInfo($lng->txt("mcst_visibility_info")); $radio_group->setRequired(true); $radio_group->setValue($this->object->getDefaultAccess() == 0 ? "users" : "public"); $this->form_gui->addItem($radio_group); } // Duration $dur = new ilDurationInputGUI($lng->txt("mcst_duration"), "duration"); $dur->setInfo($lng->txt("mcst_duration_info")); $dur->setShowDays(false); $dur->setShowHours(true); $dur->setShowSeconds(true); $this->form_gui->addItem($dur); foreach (ilObjMediaCast::$purposes as $purpose) { if ($purpose == "VideoAlternative" && $a_mode == "create") { continue; } $section = new ilFormSectionHeaderGUI(); $section->setTitle($lng->txt("mcst_" . strtolower($purpose) . "_title")); $this->form_gui->addItem($section); if ($a_mode != "create") { $value = new ilHiddenInputGUI("value_" . $purpose); $label = new ilNonEditableValueGUI($lng->txt("value")); $label->setPostVar("label_value_" . $purpose); $label->setInfo($lng->txt("mcst_current_value_info")); $this->form_gui->addItem($label); $this->form_gui->addItem($value); } $file = new ilFileInputGUI($lng->txt("file"), "file_" . $purpose); $file->setSuffixes($this->purposeSuffixes[$purpose]); $this->form_gui->addItem($file); $text_input = new ilRegExpInputGUI($lng->txt("url"), "url_" . $purpose); $text_input->setPattern("/https?\\:\\/\\/.+/i"); $text_input->setInfo($lng->txt("mcst_reference_info")); $this->form_gui->addItem($text_input); if ($purpose != "Standard") { $clearCheckBox = new ilCheckboxInputGUI(); $clearCheckBox->setPostVar("delete_" . $purpose); $clearCheckBox->setTitle($lng->txt("mcst_clear_purpose_title")); $this->form_gui->addItem($clearCheckBox); } else { // mime type selection $mimeTypeSelection = new ilSelectInputGUI(); $mimeTypeSelection->setPostVar("mimetype_" . $purpose); $mimeTypeSelection->setTitle($lng->txt("mcst_mimetype")); $mimeTypeSelection->setInfo($lng->txt("mcst_mimetype_info")); $options = array("" => $lng->txt("mcst_automatic_detection")); $options = array_merge($options, $this->mimeTypes); $mimeTypeSelection->setOptions($options); $this->form_gui->addItem($mimeTypeSelection); // preview picure $pp = new ilImageFileInputGUI($lng->txt("mcst_preview_picture"), "preview_pic"); $pp->setSuffixes(array("png", "jpeg", "jpg")); $pp->setInfo($lng->txt("mcst_preview_picture_info") . " mp4, mp3, png, jp(e)g, gif"); $this->form_gui->addItem($pp); } } // save/cancel button if ($a_mode == "create") { $this->form_gui->setTitle($lng->txt("mcst_add_new_item")); $this->form_gui->addCommandButton("saveCastItem", $lng->txt("save")); } else { $this->form_gui->setTitle($lng->txt("mcst_edit_item")); $this->form_gui->addCommandButton("updateCastItem", $lng->txt("save")); } $this->form_gui->addCommandButton("listItems", $lng->txt("cancel")); $this->form_gui->setFormAction($ilCtrl->getFormAction($this, "saveCastItem")); }
/** * init propertyformgui for Assignment of LDAP Attributes to ILIAS User Profile * @param string $command command methode * @return \ilPropertyFormGUI */ private function initRoleMappingForm($command) { include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $this->setSubTabs(); $this->tabs_gui->setSubTabActive('ldap_role_mapping'); if (isset($_GET["mapping_id"])) { $this->ctrl->setParameter($this, 'mapping_id', $_GET["mapping_id"]); } $propertie_form = new ilPropertyFormGUI(); $propertie_form->setFormAction($this->ctrl->getFormAction($this, $command)); $propertie_form->addCommandButton($command, $this->lng->txt('save')); $propertie_form->addCommandButton("roleMapping", $this->lng->txt('cancel')); $url = new ilTextInputGUI($this->lng->txt('ldap_server')); $url->setPostVar("url"); $url->setSize(50); $url->setMaxLength(255); $url->setRequired(true); $group_dn = new ilTextInputGUI($this->lng->txt('ldap_group_dn')); $group_dn->setPostVar("dn"); $group_dn->setSize(50); $group_dn->setMaxLength(255); $group_dn->setInfo($this->lng->txt('ldap_dn_info')); $group_dn->setRequired(true); $member = new ilTextInputGUI($this->lng->txt('ldap_group_member')); $member->setPostVar("member"); $member->setSize(32); $member->setMaxLength(255); $member->setInfo($this->lng->txt('ldap_member_info')); $member->setRequired(true); $member_isdn = new ilCheckboxInputGUI(""); $member_isdn->setPostVar("memberisdn"); $member_isdn->setOptionTitle($this->lng->txt('ldap_memberisdn')); $role = new ilTextInputGUI($this->lng->txt('ldap_ilias_role')); $role->setPostVar("role"); $role->setSize(32); $role->setMaxLength(255); $role->setInfo($this->lng->txt('ldap_role_info')); $role->setRequired(true); $info = new ilTextAreaInputGUI($this->lng->txt('ldap_info_text')); $info->setPostVar("info"); $info->setCols(50); $info->setRows(3); $info->setInfo($this->lng->txt('ldap_info_text_info')); $info_type = new ilCheckboxInputGUI(""); $info_type->setPostVar("info_type"); $info_type->setOptionTitle($this->lng->txt('ldap_mapping_info_type')); $propertie_form->addItem($url); $propertie_form->addItem($group_dn); $propertie_form->addItem($member); $propertie_form->addItem($member_isdn); $propertie_form->addItem($role); $propertie_form->addItem($info); $propertie_form->addItem($info_type); return $propertie_form; }
public function settings() { global $rbacreview; $this->tabs_gui->setSubTabActive('shib_settings'); // set already saved data or default value for port $settings = $this->ilias->getAllSettings(); // Compose role list $role_list = $rbacreview->getRolesByFilter(2); $role = array(); if (!isset($settings["shib_user_default_role"])) { $settings["shib_user_default_role"] = 4; } if (!isset($settings["shib_idp_list"]) || $settings["shib_idp_list"] == '') { $settings["shib_idp_list"] = "urn:mace:organization1:providerID, Example Organization 1\nurn:mace:organization2:providerID, Example Organization 2, /Shibboleth.sso/WAYF/SWITCHaai"; } if (!isset($settings["shib_login_button"]) || $settings["shib_login_button"] == '') { $settings["shib_login_button"] = "templates/default/images/shib_login_button.png"; } if (!isset($settings["shib_hos_type"]) || $settings["shib_hos_type"] == '') { $settings["shib_hos_type"] = 'internal_wayf'; } foreach ($role_list as $data) { $role[$data["obj_id"]] = $data["title"]; } // 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', 'shib_matriculation'); //set PropertyFormGUI include_once "./Services/Form/classes/class.ilPropertyFormGUI.php"; $propertys = new ilPropertyFormGUI(); $propertys->setTitle($this->lng->txt("shib")); $propertys->setFormAction($this->ctrl->getFormAction($this, "save")); $propertys->addCommandButton("save", $this->lng->txt("save")); $propertys->addCommandButton("settings", $this->lng->txt("cancel")); //set enable shibboleth support $enable = new ilCheckboxInputGUI(); $enable->setTitle($this->lng->txt("shib_active")); $read_me_link = "./Services/AuthShibboleth/README.SHIBBOLETH.txt"; $info = "<a href='" . $read_me_link . "' target='_blank'>" . $this->lng->txt("auth_shib_instructions") . "</a>"; $enable->setInfo($info); $enable->setPostVar("shib[active]"); $enable->setChecked($settings["shib_active"]); //set allow local authentication $local = new ilCheckboxInputGUI(); $local->setTitle($this->lng->txt("auth_allow_local")); $local->setPostVar("shib[auth_allow_local]"); $local->setChecked($settings['shib_auth_allow_local']); //set user default role $defaultrole = new ilSelectInputGUI(); $defaultrole->setTitle($this->lng->txt("shib_user_default_role")); $defaultrole->setPostVar("shib[user_default_role]"); $defaultrole->setOptions($role); $defaultrole->setRequired(true); $defaultrole->setValue($settings["shib_user_default_role"]); //set name of federation $name = new ilTextInputGUI(); $name->setTitle($this->lng->txt("shib_federation_name")); $name->setPostVar("shib[federation_name]"); $name->setSize(40); $name->setMaxLength(50); $name->setRequired(true); $name->setValue(stripslashes($settings["shib_federation_name"])); //set Organize selection group include_once "./Services/Form/classes/class.ilRadioGroupInputGUI.php"; include_once "./Services/Form/classes/class.ilRadioOption.php"; $organize = new ilRadioGroupInputGUI(); $organize->setTitle($this->lng->txt("shib_login_type")); $organize->setPostVar("shib[hos_type]"); $organize->setRequired(true); $organize->setValue($settings["shib_hos_type"]); //set 1. option internalwayf $internalwayf = new ilRadioOption(); $internalwayf->setTitle($this->lng->txt("shib_login_internal_wayf")); $internalwayf->setValue("internal_wayf"); //set 1. option internalwayf textbox idplist $idplist = new ilTextAreaInputGUI(); $idplist->setInfo($this->lng->txt("shib_idp_list")); $idplist->setPostVar("shib[idp_list]"); $idplist->setRows(3); $idplist->setCols(50); $idplist->setValue($settings["shib_idp_list"]); //set 2. Option externalwayf $externalwayf = new ilRadioOption(); $externalwayf->setTitle($this->lng->txt("shib_login_external_wayf")); $externalwayf->setValue("external_wayf"); //set 2. Option externalwayf textfield path to login button image $loginbutton = new ilTextInputGUI(); $loginbutton->setInfo($this->lng->txt("shib_login_button")); $loginbutton->setPostVar("shib[login_button]"); $loginbutton->setSize(50); $loginbutton->setMaxLength(255); $loginbutton->setValue($settings["shib_login_button"]); //set 3. Option embeddedwayf $embeddedwayf = new ilRadioOption(); $embeddedwayf->setTitle($this->lng->txt("shib_login_embedded_wayf")); $embeddedwayf->setInfo($this->lng->txt("shib_login_embedded_wayf_description")); $embeddedwayf->setValue("embedded_wayf"); //set login instructions $logininstruction = new ilTextAreaInputGUI(); $logininstruction->setTitle($this->lng->txt("auth_login_instructions")); $logininstruction->setPostVar("shib[login_instructions]"); $logininstruction->setRows(3); $logininstruction->setCols(50); $logininstruction->setValue(stripslashes($settings["shib_login_instructions"])); //set path to data manipulation API $dataconv = new ilTextInputGUI(); $dataconv->setTitle($this->lng->txt("shib_data_conv")); $dataconv->setPostVar("shib[data_conv]"); $dataconv->setSize(80); $dataconv->setMaxLength(512); $dataconv->setValue($settings["shib_data_conv"]); //field mappings $fields = array(); foreach ($shib_settings as $setting) { $field = ereg_replace('shib_', '', $setting); $textinput = new ilTextInputGUI(); $textinput->setTitle($this->lng->txt($setting)); $textinput->setPostVar("shib[" . $field . "]"); $textinput->setValue($settings[$setting]); $textinput->setSize(40); $textinput->setMaxLength(50); $checkinput = new ilCheckboxInputGUI(""); $checkinput->setOptionTitle($this->lng->txt("shib_update")); $checkinput->setPostVar("shib[update_" . $field . "]"); $checkinput->setChecked($settings["shib_update_" . $field]); if ($setting == 'shib_login' || $setting == 'shib_title' || $setting == 'shib_firstname' || $setting == 'shib_lastname' || $setting == 'shib_email') { $textinput->setRequired(true); } $fields[$setting] = array("text" => $textinput, "check" => $checkinput); } $propertys->addItem($enable); $propertys->addItem($local); $propertys->addItem($defaultrole); $propertys->addItem($name); $internalwayf->addSubItem($idplist); $organize->addOption($internalwayf); $externalwayf->addSubItem($loginbutton); $organize->addOption($externalwayf); $organize->addOption($embeddedwayf); $propertys->addItem($organize); $propertys->addItem($logininstruction); $propertys->addItem($dataconv); foreach ($shib_settings as $setting) { $propertys->addItem($fields[$setting]["text"]); if ($setting != "shib_login") { $propertys->addItem($fields[$setting]["check"]); } } $this->tpl->setContent($propertys->getHTML()); }