ILIAS  release_7 Revision v7.30-3-g800a261c036
ilAdministrationSettingsFormHandler Class Reference

Administration settings form handler. More...

+ Collaboration diagram for ilAdministrationSettingsFormHandler:

Static Public Member Functions

static getSettingsGUIInstance ($a_settings_obj_type)
 
static addFieldsToForm ($a_form_id, ilPropertyFormGUI $a_form, ilObjectGUI $a_parent_gui)
 

Data Fields

const FORM_PRIVACY = 1
 
const FORM_SECURITY = 2
 
const FORM_LP = 4
 
const FORM_MAIL = 5
 
const FORM_COURSE = 6
 
const FORM_GROUP = 7
 
const FORM_REPOSITORY = 8
 
const FORM_LDAP = 9
 
const FORM_FORUM = 10
 
const FORM_ACCESSIBILITY = 11
 
const FORM_WSP = 12
 
const FORM_TAGGING = 13
 
const FORM_CERTIFICATE = 14
 
const FORM_META_COPYRIGHT = 15
 
const FORM_TOS = 16
 
const SETTINGS_USER = "usrf"
 
const SETTINGS_GENERAL = "adm"
 
const SETTINGS_FILE = "facs"
 
const SETTINGS_ROLE = "rolf"
 
const SETTINGS_FORUM = "frma"
 
const SETTINGS_LRES = "lrss"
 
const SETTINGS_REPOSITORY = "reps"
 
const SETTINGS_PR = "prss"
 
const SETTINGS_COURSE = "crss"
 
const SETTINGS_GROUP = "grps"
 
const SETTINGS_PRIVACY_SECURITY = "ps"
 
const SETTINGS_CALENDAR = "cals"
 
const SETTINGS_AUTH = "auth"
 
const SETTINGS_WIKI = "wiks"
 
const SETTINGS_PORTFOLIO = "prfa"
 
const SETTINGS_LP_COMPLETION_STATUS = "trac"
 
const SETTINGS_LEARNINGSEQUENCE = "lsos"
 
const SETTINGS_COMMENTS = "coms"
 
const VALUE_BOOL = "bool"
 

Static Protected Member Functions

static initObjectMap ()
 
static getRefId ($a_obj_type)
 
static parseFieldValue ($a_field_type, & $a_field_value)
 
static parseFieldDefinition ($a_type, ilPropertyFormGUI $a_form, ilObjectGUI $a_gui, $a_data)
 

Static Protected Attributes

static $OBJ_MAP
 

Detailed Description

Administration settings form handler.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
Id
class.ilAdministrationGUI.php 43022 2013-06-26 13:32:48Z tamstutz

Definition at line 10 of file class.ilAdministrationSettingsFormHandler.php.

Member Function Documentation

◆ addFieldsToForm()

static ilAdministrationSettingsFormHandler::addFieldsToForm (   $a_form_id,
ilPropertyFormGUI  $a_form,
ilObjectGUI  $a_parent_gui 
)
static

Definition at line 99 of file class.ilAdministrationSettingsFormHandler.php.

100 {
101 switch ($a_form_id) {
103 $types = array(self::SETTINGS_USER, self::SETTINGS_FILE, self::SETTINGS_ROLE);
104 break;
105
107 $types = array(self::SETTINGS_ROLE, self::SETTINGS_FORUM, self::SETTINGS_LRES, self::SETTINGS_COMMENTS);
108 break;
109
110 case self::FORM_LP:
111 $types = array(self::SETTINGS_REPOSITORY);
112 break;
113
115 $types = array(self::SETTINGS_FORUM, self::SETTINGS_AUTH, self::SETTINGS_WIKI);
116 break;
117
118 case self::FORM_MAIL:
119 $types = array(self::SETTINGS_COURSE, self::SETTINGS_GROUP, self::SETTINGS_LEARNINGSEQUENCE);
120 break;
121
123 $types = array(self::SETTINGS_PRIVACY_SECURITY, self::SETTINGS_CALENDAR, self::SETTINGS_GENERAL);
124 break;
125
126 case self::FORM_GROUP:
127 $types = array(self::SETTINGS_PRIVACY_SECURITY, self::SETTINGS_CALENDAR, self::SETTINGS_GENERAL, self::SETTINGS_COURSE);
128 break;
129
130 case self::FORM_WSP:
131 $types = array(self::SETTINGS_PORTFOLIO);
132 break;
133
135 $types = array(self::SETTINGS_REPOSITORY);
136 break;
137
139 $types = array(self::SETTINGS_LP_COMPLETION_STATUS);
140 break;
141
142 case self::FORM_TOS:
143 $types = [self::SETTINGS_USER];
144 break;
145
146 default:
147 $types = null;
148 break;
149 }
150
151 if (is_array($types)) {
152 foreach ($types as $type) {
154 if ($gui && method_exists($gui, "addToExternalSettingsForm")) {
155 $data = $gui->addToExternalSettingsForm($a_form_id);
156 if (is_array($data)) {
157 self::parseFieldDefinition($type, $a_form, $gui, $data);
158 }
159 }
160 }
161 }
162
163 // cron jobs - special handling
164
165 include_once "Modules/SystemFolder/classes/class.ilObjSystemFolderGUI.php";
166 $parent_gui = new ilObjSystemFolderGUI(null, SYSTEM_FOLDER_ID, true);
167 $parent_gui->setCreationMode(true);
168
169 include_once "Services/Cron/classes/class.ilCronManagerGUI.php";
170 $gui = new ilCronManagerGUI();
171 $data = $gui->addToExternalSettingsForm($a_form_id);
172 if (is_array($data) && sizeof($data)) {
173 self::parseFieldDefinition("cron", $a_form, $parent_gui, $data);
174 }
175 }
static parseFieldDefinition($a_type, ilPropertyFormGUI $a_form, ilObjectGUI $a_gui, $a_data)
Class ilCronManagerGUI.
Class ilObjSystemFolderGUI.
const SYSTEM_FOLDER_ID
Definition: constants.php:33
$type
$data
Definition: storeScorm.php:23

References $data, $type, FORM_ACCESSIBILITY, FORM_CERTIFICATE, FORM_COURSE, FORM_GROUP, FORM_LP, FORM_MAIL, FORM_PRIVACY, FORM_SECURITY, FORM_TAGGING, FORM_TOS, FORM_WSP, getSettingsGUIInstance(), parseFieldDefinition(), SETTINGS_USER, and SYSTEM_FOLDER_ID.

Referenced by ilObjMailGUI\getGeneralSettingsForm(), ilObjForumAdministrationGUI\getSettingsForm(), ilObjAccessibilitySettingsGUI\getSettingsForm(), ilObjTermsOfServiceGUI\getSettingsForm(), ilLDAPSettingsGUI\initForm(), ilMembershipAdministrationGUI\initFormSettings(), ilObjTaggingSettingsGUI\initFormSettings(), ilObjMDSettingsGUI\initSettingsForm(), ilObjRepositorySettingsGUI\initSettingsForm(), ilObjUserTrackingGUI\initSettingsForm(), ilObjCertificateSettingsGUI\settings(), ilObjPrivacySecurityGUI\showPrivacy(), and ilObjPrivacySecurityGUI\showSecurity().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRefId()

static ilAdministrationSettingsFormHandler::getRefId (   $a_obj_type)
staticprotected

Definition at line 67 of file class.ilAdministrationSettingsFormHandler.php.

68 {
69 if (!is_array(self::$OBJ_MAP)) {
71 }
72 return self::$OBJ_MAP[$a_obj_type];
73 }

References initObjectMap().

Referenced by getSettingsGUIInstance().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSettingsGUIInstance()

static ilAdministrationSettingsFormHandler::getSettingsGUIInstance (   $a_settings_obj_type)
static

Definition at line 75 of file class.ilAdministrationSettingsFormHandler.php.

76 {
77 global $DIC;
78
79 $objDefinition = $DIC["objDefinition"];
80 $ilCtrl = $DIC->ctrl();
81
82 $ref_id = self::getRefId($a_settings_obj_type);
83 $obj_type = ilObject::_lookupType($ref_id, true);
84
85 $class_name = $objDefinition->getClassName($obj_type);
86 $class_name = "ilObj" . $class_name . "GUI";
87 $class_path = $ilCtrl->lookupClassPath($class_name);
88 if (is_subclass_of($class_name, "ilObject2GUI")) {
89 $gui_obj = new $class_name($ref_id, ilObject2GUI::REPOSITORY_NODE_ID);
90 } else {
91 $gui_obj = new $class_name("", $ref_id, true, false);
92 }
93
94 $gui_obj->setCreationMode(true);
95
96 return $gui_obj;
97 }
static _lookupType($a_id, $a_reference=false)
lookup object type
global $DIC
Definition: goto.php:24

References $DIC, ilObject\_lookupType(), getRefId(), and ilObject2GUI\REPOSITORY_NODE_ID.

Referenced by addFieldsToForm(), ilLDAPSettingsGUI\initForm(), ilObjBlogAdministrationGUI\initFormSettings(), and ilObjPortfolioAdministrationGUI\initFormSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initObjectMap()

static ilAdministrationSettingsFormHandler::initObjectMap ( )
staticprotected

Definition at line 53 of file class.ilAdministrationSettingsFormHandler.php.

54 {
55 global $DIC;
56
57 $tree = $DIC->repositoryTree();
58
59 $map = array("adm" => SYSTEM_FOLDER_ID);
60 foreach ($tree->getChilds(SYSTEM_FOLDER_ID) as $obj) {
61 $map[$obj["type"]] = $obj["ref_id"];
62 }
63
64 self::$OBJ_MAP = $map;
65 }

References $DIC, and SYSTEM_FOLDER_ID.

Referenced by getRefId().

+ Here is the caller graph for this function:

◆ parseFieldDefinition()

static ilAdministrationSettingsFormHandler::parseFieldDefinition (   $a_type,
ilPropertyFormGUI  $a_form,
ilObjectGUI  $a_gui,
  $a_data 
)
staticprotected

Definition at line 202 of file class.ilAdministrationSettingsFormHandler.php.

203 {
204 global $DIC;
205
206 $lng = $DIC->language();
207 $rbacsystem = $DIC->rbac()->system();
208 $ilCtrl = $DIC->ctrl();
209 $ilAccess = $DIC->access();
210
211 if (!is_array($a_data)) {
212 return;
213 }
214
215 // write permission for current gui?
216 $has_write = $ilAccess->checkAccess("write", "", (int) $_REQUEST["ref_id"]);
217
218 foreach ($a_data as $area_caption => $fields) {
219 if (is_numeric($area_caption) || !trim($area_caption)) {
220 $area_caption = "obj_" . $a_type;
221 }
222
223 if (is_array($fields) && sizeof($fields) == 2) {
224 $cmd = $fields[0];
225 $fields = $fields[1];
226 if (is_array($fields)) {
227 $ftpl = new ilTemplate("tpl.external_settings.html", true, true, "Services/Administration");
228
229
230 $stack = array();
231 foreach ($fields as $field_caption_id => $field_value) {
232 $field_type = $subitems = null;
233 if (is_array($field_value)) {
234 $field_type = $field_value[1];
235 $subitems = $field_value[2];
236 $field_value = $field_value[0];
237 }
238
239 if (self::parseFieldValue($field_type, $field_value)) {
240 $ftpl->setCurrentBlock("value_bl");
241 $ftpl->setVariable("VALUE", $field_value);
242 $ftpl->parseCurrentBlock();
243 }
244
245 if (is_array($subitems)) {
246 $ftpl->setCurrentBlock("subitem_bl");
247 foreach ($subitems as $sub_caption_id => $sub_value) {
248 $sub_type = null;
249 if (is_array($sub_value)) {
250 $sub_type = $sub_value[1];
251 $sub_value = $sub_value[0];
252 }
253 self::parseFieldValue($sub_type, $sub_value);
254
255 $ftpl->setVariable("SUBKEY", $lng->txt($sub_caption_id));
256 $ftpl->setVariable("SUBVALUE", $sub_value);
257 $ftpl->parseCurrentBlock();
258 }
259 }
260
261 $ftpl->setCurrentBlock("row_bl");
262 $ftpl->setVariable("KEY", $lng->txt($field_caption_id));
263 $ftpl->parseCurrentBlock();
264 }
265
266 if ($has_write &&
267 $rbacsystem->checkAccess("visible,read", $a_gui->object->getRefId())) {
268 if (!$cmd) {
269 $cmd = "view";
270 }
271 $ilCtrl->setParameter($a_gui, "ref_id", $a_gui->object->getRefId());
272
273 $ftpl->setCurrentBlock("edit_bl");
274 $ftpl->setVariable("URL_EDIT", $ilCtrl->getLinkTargetByClass(array("ilAdministrationGUI", get_class($a_gui)), $cmd));
275 $ftpl->setVariable("TXT_EDIT", $lng->txt("adm_external_setting_edit"));
276 $ftpl->parseCurrentBlock();
277 }
278
279 $ext = new ilCustomInputGUI($lng->txt($area_caption));
280 $ext->setHtml($ftpl->get());
281 $a_form->addItem($ext);
282 }
283 }
284 }
285 }
static parseFieldValue($a_field_type, & $a_field_value)
This class represents a custom property in a property form.
addItem($a_item)
Add Item (Property, SectionHeader).
special template class to simplify handling of ITX/PEAR
$lng

References $DIC, $lng, ilPropertyFormGUI\addItem(), and parseFieldValue().

Referenced by addFieldsToForm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseFieldValue()

static ilAdministrationSettingsFormHandler::parseFieldValue (   $a_field_type,
$a_field_value 
)
staticprotected

Definition at line 177 of file class.ilAdministrationSettingsFormHandler.php.

178 {
179 global $DIC;
180
181 $lng = $DIC->language();
182
183 switch ($a_field_type) {
184 case self::VALUE_BOOL:
185 $a_field_value = (bool) $a_field_value ?
186 $lng->txt("enabled") :
187 $lng->txt("disabled");
188 return $a_field_value;
189 }
190
191 if (!is_numeric($a_field_value) &&
192 $a_field_value !== null && !trim($a_field_value)) {
193 $a_field_value = "-";
194 }
195
196 if (is_numeric($a_field_value) || $a_field_value !== "") {
197 return true;
198 }
199 return false;
200 }

References $DIC, $lng, and VALUE_BOOL.

Referenced by parseFieldDefinition().

+ Here is the caller graph for this function:

Field Documentation

◆ $OBJ_MAP

ilAdministrationSettingsFormHandler::$OBJ_MAP
staticprotected

◆ FORM_ACCESSIBILITY

◆ FORM_CERTIFICATE

const ilAdministrationSettingsFormHandler::FORM_CERTIFICATE = 14

◆ FORM_COURSE

◆ FORM_FORUM

const ilAdministrationSettingsFormHandler::FORM_FORUM = 10

◆ FORM_GROUP

◆ FORM_LDAP

const ilAdministrationSettingsFormHandler::FORM_LDAP = 9

◆ FORM_LP

const ilAdministrationSettingsFormHandler::FORM_LP = 4

◆ FORM_MAIL

const ilAdministrationSettingsFormHandler::FORM_MAIL = 5

◆ FORM_META_COPYRIGHT

const ilAdministrationSettingsFormHandler::FORM_META_COPYRIGHT = 15

◆ FORM_PRIVACY

◆ FORM_REPOSITORY

const ilAdministrationSettingsFormHandler::FORM_REPOSITORY = 8

◆ FORM_SECURITY

◆ FORM_TAGGING

const ilAdministrationSettingsFormHandler::FORM_TAGGING = 13

◆ FORM_TOS

const ilAdministrationSettingsFormHandler::FORM_TOS = 16

◆ FORM_WSP

const ilAdministrationSettingsFormHandler::FORM_WSP = 12

◆ SETTINGS_AUTH

const ilAdministrationSettingsFormHandler::SETTINGS_AUTH = "auth"

◆ SETTINGS_CALENDAR

const ilAdministrationSettingsFormHandler::SETTINGS_CALENDAR = "cals"

◆ SETTINGS_COMMENTS

const ilAdministrationSettingsFormHandler::SETTINGS_COMMENTS = "coms"

◆ SETTINGS_COURSE

const ilAdministrationSettingsFormHandler::SETTINGS_COURSE = "crss"

◆ SETTINGS_FILE

const ilAdministrationSettingsFormHandler::SETTINGS_FILE = "facs"

◆ SETTINGS_FORUM

const ilAdministrationSettingsFormHandler::SETTINGS_FORUM = "frma"

◆ SETTINGS_GENERAL

const ilAdministrationSettingsFormHandler::SETTINGS_GENERAL = "adm"

◆ SETTINGS_GROUP

const ilAdministrationSettingsFormHandler::SETTINGS_GROUP = "grps"

◆ SETTINGS_LEARNINGSEQUENCE

const ilAdministrationSettingsFormHandler::SETTINGS_LEARNINGSEQUENCE = "lsos"

◆ SETTINGS_LP_COMPLETION_STATUS

const ilAdministrationSettingsFormHandler::SETTINGS_LP_COMPLETION_STATUS = "trac"

◆ SETTINGS_LRES

const ilAdministrationSettingsFormHandler::SETTINGS_LRES = "lrss"

◆ SETTINGS_PORTFOLIO

const ilAdministrationSettingsFormHandler::SETTINGS_PORTFOLIO = "prfa"

◆ SETTINGS_PR

const ilAdministrationSettingsFormHandler::SETTINGS_PR = "prss"

◆ SETTINGS_PRIVACY_SECURITY

const ilAdministrationSettingsFormHandler::SETTINGS_PRIVACY_SECURITY = "ps"

◆ SETTINGS_REPOSITORY

const ilAdministrationSettingsFormHandler::SETTINGS_REPOSITORY = "reps"

◆ SETTINGS_ROLE

const ilAdministrationSettingsFormHandler::SETTINGS_ROLE = "rolf"

◆ SETTINGS_USER

const ilAdministrationSettingsFormHandler::SETTINGS_USER = "usrf"

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

Referenced by addFieldsToForm().

◆ SETTINGS_WIKI

const ilAdministrationSettingsFormHandler::SETTINGS_WIKI = "wiks"

◆ VALUE_BOOL


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