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

Class ilObjAdvancedEditingGUI. More...

+ Inheritance diagram for ilObjAdvancedEditingGUI:
+ Collaboration diagram for ilObjAdvancedEditingGUI:

Public Member Functions

 __construct ($a_data, $a_id, $a_call_by_reference)
 Constructor. More...
 
 executeCommand ()
 execute command More...
 
 saveObject ()
 save object @access public More...
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 addSubtabs ()
 Add rte subtabs. More...
 
 addPageEditorSettingsSubtabs ()
 Show page editor settings subtabs. More...
 
 getTabs ()
 get tabs @access public More...
 
 settingsObject ()
 Display assessment folder settings form. More...
 
 saveSettingsObject ()
 Save Assessment settings. More...
 
 assessmentObject ()
 Display settings for test and assessment. More...
 
 saveAssessmentSettingsObject ()
 
 surveyObject ()
 Display settings for surveys. More...
 
 saveSurveySettingsObject ()
 
 frmPostObject ()
 Display settings for forums. More...
 
 saveFrmPostSettingsObject ()
 
 excAssObject ()
 Display settings for exercise assignments. More...
 
 saveExcAssSettingsObject ()
 
 showPageEditorSettingsObject ()
 Show page editor settings. More...
 
 initPageEditorForm ($a_mode="edit")
 Init page editor form. More...
 
 savePageEditorSettingsObject ()
 Save page editor settings form. More...
 
 showGeneralPageEditorSettingsObject ()
 Show general page editor settings. More...
 
 initGeneralPageSettingsForm ()
 Init general page editor settings form. More...
 
 saveGeneralPageSettingsObject ()
 Save general page settings. More...
 
 initCharSelectorSettingsForm (ilCharSelectorGUI $char_selector)
 Init the settings form for the selector of unicode characters. More...
 
 showCharSelectorSettingsObject ()
 Show the settings for the selector of unicode characters. More...
 
 saveCharSelectorSettingsObject ()
 Save the settings for the selector of unicode characters. More...
 
- Public Member Functions inherited from ilObjectGUI
 executeCommand ()
 execute command More...
 
 withReferences ()
 determines wether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode ($a_mode=true)
 if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class! the mode is determined in ilrepositorygui More...
 
 getCreationMode ()
 get creation mode More...
 
 prepareOutput ($a_show_subobjects=true)
 prepare output More...
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelDeleteObject ()
 cancel deletion of object More...
 
 cancelObject ()
 cancel action and go back to previous page @access public More...
 
 createObject ()
 create new object form More...
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 save object More...
 
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 edit object More...
 
 addExternalEditFormCustom (ilPropertyFormGUI $a_form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g. More...
 
 isVisible ($a_ref_id, $a_type)
 
 viewObject ()
 viewObject container presentation for "administration -> repository, trash, permissions" More...
 
 deleteObject ($a_error=false)
 Display deletion confirmation screen. More...
 
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI. More...
 
 redirectAfterCreation ()
 Redirect after creation, see https://docu.ilias.de/goto_docu_wiki_wpage_5035_1357.html. More...
 
 addToDeskObject ()
 @inheritDoc More...
 
 removeFromDeskObject ()
 @inheritDoc More...
 
- Public Member Functions inherited from ILIAS\Object\ImplementsCreationCallback
 callCreationCallback (\ilObject $object, \ilObjectDefinition $obj_definition, int $requested_crtcb)
 

Data Fields

 $conditions
 
- Data Fields inherited from ilObjectGUI
const ALLOWED_TAGS_IN_TITLE_AND_DESCRIPTION
 
const COPY_WIZARD_NEEDS_PAGE = 1
 
 $objDefinition
 
 $tpl
 
 $tree
 
 $lng
 
 $data
 
 $object
 
 $ref_id
 
 $obj_id
 
 $maxcount
 
 $formaction
 
 $return_location
 
 $target_frame
 
 $tab_target_script
 
 $actions
 
 $sub_objects
 
 $omit_locator = false
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 

Protected Member Functions

 initTagsForm ($a_id, $a_cmd, $a_title)
 
 saveTags ($a_id, $a_cmd, $form)
 
 getPageObjectKeysWithOptionalHTML ()
 This limits the possibility to allow html for these page objects that supported the feature in the past. More...
 
- Protected Member Functions inherited from ilObjectGUI
 getObjectService ()
 Get object service. More...
 
 assignObject ()
 
 setTitleAndDescription ()
 called by prepare output More...
 
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction ($a_list_gui)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 setTabs ()
 set admin tabs @access public More...
 
 setAdminTabs ()
 set admin tabs @access public More...
 
 setLocator ()
 set Locator More...
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator ($a_omit=true)
 
 addAdminLocatorItems ($a_do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 initCreationForms ($a_new_type)
 Init creation froms. More...
 
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion) More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types. More...
 
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates. More...
 
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 Init object edit form. More...
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 Get values for edit form. More...
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $a_form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 initImportForm ($a_new_type)
 Init object import form. More...
 
 importFileObject ($parent_id=null, $a_catch_errors=true)
 Import. More...
 
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook. More...
 
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command More...
 
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command More...
 
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command More...
 
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu) More...
 
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl. More...
 
 getTabs ()
 get tabs abstract method. More...
 
 __showButton ($a_cmd, $a_text, $a_target='')
 
 hitsperpageObject ()
 
__initTableGUI ()
 
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table More...
 
 redirectToRefId ($a_ref_id, $a_cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current $_GET["ref_id"] value More...
 
 fillCloneTemplate ($a_tpl_varname, $a_type)
 Fill object clone template This method can be called from any object GUI class that wants to offer object cloning. More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 May be overwritten in subclasses. More...
 
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error. More...
 
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission. More...
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 handleAutoRating (ilObject $a_new_obj)
 Activate rating automatically if parent container setting. More...
 

Protected Attributes

 $rbacsystem
 
 $rbacadmin
 
 $tabs
 
 $access
 
 $settings
 
- Protected Attributes inherited from ilObjectGUI
const UPLOAD_TYPE_LOCAL = 1
 
const UPLOAD_TYPE_UPLOAD_DIRECTORY = 2
 
 $ilErr
 
 $locator
 
 $user
 
 $access
 
 $rbacsystem
 
 $settings
 
 $rbacreview
 
 $toolbar
 
 $tmp_import_dir
 
 $tabs_gui = null
 
 $ctrl
 
 $object_service
 
 $favourites
 
 $request
 

Additional Inherited Members

- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot ($a_raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode ($a_ref_id, $a_cmd="frameset")
 Goto repository root. More...
 

Detailed Description

Class ilObjAdvancedEditingGUI.

Author
Helmut Schottmüller hscho.nosp@m.ttm@.nosp@m.gmx.d.nosp@m.e
Version
$Id$

@ilCtrl_Calls ilObjAdvancedEditingGUI: ilPermissionGUI

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

Constructor & Destructor Documentation

◆ __construct()

ilObjAdvancedEditingGUI::__construct (   $a_data,
  $a_id,
  $a_call_by_reference 
)

Constructor.

Definition at line 49 of file class.ilObjAdvancedEditingGUI.php.

50 {
51 global $DIC;
52
53 $this->rbacsystem = $DIC->rbac()->system();
54 $this->rbacadmin = $DIC->rbac()->admin();
55 $this->ctrl = $DIC->ctrl();
56 $this->tabs = $DIC->tabs();
57 $this->tpl = $DIC["tpl"];
58 $this->lng = $DIC->language();
59 $this->access = $DIC->access();
60 $this->settings = $DIC->settings();
61 $rbacsystem = $DIC->rbac()->system();
62
63 $this->type = "adve";
64 parent::__construct($a_data, $a_id, $a_call_by_reference, false);
65 $this->lng->loadLanguageModule('adve');
66 $this->lng->loadLanguageModule('meta');
67 }
global $DIC
Definition: goto.php:24
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
settings()
Definition: settings.php:2

References $DIC, $rbacsystem, ILIAS\GlobalScreen\Provider\__construct(), and settings().

+ Here is the call graph for this function:

Member Function Documentation

◆ addPageEditorSettingsSubtabs()

ilObjAdvancedEditingGUI::addPageEditorSettingsSubtabs ( )

Show page editor settings subtabs.

Definition at line 171 of file class.ilObjAdvancedEditingGUI.php.

172 {
173 $ilCtrl = $this->ctrl;
174 $ilTabs = $this->tabs;
175
176 $ilTabs->addSubTabTarget(
177 "adve_pe_general",
178 $ilCtrl->getLinkTarget($this, "showGeneralPageEditorSettings"),
179 array("showGeneralPageEditorSettings", "", "view")
180 );
181
182 include_once("./Services/COPage/classes/class.ilPageEditorSettings.php");
184
185 foreach ($grps as $g => $types) {
186 $ilCtrl->setParameter($this, "grp", $g);
187 $ilTabs->addSubTabTarget(
188 "adve_grp_" . $g,
189 $ilCtrl->getLinkTarget($this, "showPageEditorSettings"),
190 array("showPageEditorSettings")
191 );
192 }
193 $ilCtrl->setParameter($this, "grp", $_GET["grp"]);
194 }
$_GET["client_id"]
static getGroups()
Get all settings groups.

References $_GET, ilObjectGUI\$ctrl, $tabs, and ilPageEditorSettings\getGroups().

+ Here is the call graph for this function:

◆ addSubtabs()

ilObjAdvancedEditingGUI::addSubtabs ( )

Add rte subtabs.

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

124 {
125 $ilCtrl = $this->ctrl;
126
127 if ($ilCtrl->getNextClass() != "ilpermissiongui" &&
128 !in_array($ilCtrl->getCmd(), array("showPageEditorSettings",
129 "showGeneralPageEditorSettings", "showCharSelectorSettings", "", "view"))) {
130 $this->tabs_gui->addSubTabTarget(
131 "adve_general_settings",
132 $this->ctrl->getLinkTarget($this, "settings"),
133 array("settings", "saveSettings"),
134 "",
135 ""
136 );
137 $this->tabs_gui->addSubTabTarget(
138 "adve_assessment_settings",
139 $this->ctrl->getLinkTarget($this, "assessment"),
140 array("assessment", "saveAssessmentSettings"),
141 "",
142 ""
143 );
144 $this->tabs_gui->addSubTabTarget(
145 "adve_survey_settings",
146 $this->ctrl->getLinkTarget($this, "survey"),
147 array("survey", "saveSurveySettings"),
148 "",
149 ""
150 );
151 $this->tabs_gui->addSubTabTarget(
152 "adve_frm_post_settings",
153 $this->ctrl->getLinkTarget($this, "frmPost"),
154 array("frmPost", "saveFrmPostSettings"),
155 "",
156 ""
157 );
158 $this->tabs_gui->addSubTabTarget(
159 "adve_excass_settings",
160 $this->ctrl->getLinkTarget($this, "excass"),
161 array("excass", "saveExcAssSettings"),
162 "",
163 ""
164 );
165 }
166 }

References ilObjectGUI\$ctrl.

Referenced by getTabs().

+ Here is the caller graph for this function:

◆ assessmentObject()

ilObjAdvancedEditingGUI::assessmentObject ( )

Display settings for test and assessment.

Definition at line 287 of file class.ilObjAdvancedEditingGUI.php.

288 {
289 $form = $this->initTagsForm(
290 "assessment",
291 "saveAssessmentSettings",
292 "advanced_editing_assessment_settings"
293 );
294
295 $this->tpl->setContent($form->getHTML());
296 }
initTagsForm($a_id, $a_cmd, $a_title)

References initTagsForm().

+ Here is the call graph for this function:

◆ excAssObject()

ilObjAdvancedEditingGUI::excAssObject ( )

Display settings for exercise assignments.

Definition at line 371 of file class.ilObjAdvancedEditingGUI.php.

372 {
373 $form = $this->initTagsForm(
374 "exc_ass",
375 "saveExcAssSettings",
376 "advanced_editing_excass_settings"
377 );
378
379 $this->tpl->setContent($form->getHTML());
380 }

References initTagsForm().

+ Here is the call graph for this function:

◆ executeCommand()

ilObjAdvancedEditingGUI::executeCommand ( )

execute command

Reimplemented from ilObjectGUI.

Definition at line 69 of file class.ilObjAdvancedEditingGUI.php.

70 {
71 if (!$this->rbacsystem->checkAccess('read', $this->object->getRefId())) {
72 $mess = str_replace("%s", $this->object->getTitle(), $this->lng->txt("msg_no_perm_read_item"));
73 $this->ilias->raiseError($mess, $this->ilias->error_obj->WARNING);
74 }
75
76 $next_class = $this->ctrl->getNextClass($this);
77 $cmd = $this->ctrl->getCmd();
78 $this->prepareOutput();
79
80 switch ($next_class) {
81
82 case 'ilpermissiongui':
83 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
84 $perm_gui = new ilPermissionGUI($this);
85 $ret = &$this->ctrl->forwardCommand($perm_gui);
86 break;
87
88 default:
89 if ($cmd == "" || $cmd == "view") {
90 $cmd = "showGeneralPageEditorSettings";
91 }
92 $cmd .= "Object";
93 $this->$cmd();
94
95 break;
96 }
97 return true;
98 }
prepareOutput($a_show_subobjects=true)
prepare output
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
redirection script todo: (a better solution should control the processing via a xml file)
$ret
Definition: parser.php:6

References $ret, and ilObjectGUI\prepareOutput().

+ Here is the call graph for this function:

◆ frmPostObject()

ilObjAdvancedEditingGUI::frmPostObject ( )

Display settings for forums.

Definition at line 343 of file class.ilObjAdvancedEditingGUI.php.

344 {
345 $form = $this->initTagsForm(
346 "frm_post",
347 "saveFrmPostSettings",
348 "advanced_editing_frm_post_settings"
349 );
350
351 $this->tpl->setContent($form->getHTML());
352 }

References initTagsForm().

+ Here is the call graph for this function:

◆ getAdminTabs()

ilObjAdvancedEditingGUI::getAdminTabs ( )

administration tabs show only permissions and trash folder

Reimplemented from ilObjectGUI.

Definition at line 115 of file class.ilObjAdvancedEditingGUI.php.

116 {
117 $this->getTabs();
118 }

References getTabs().

+ Here is the call graph for this function:

◆ getPageObjectKeysWithOptionalHTML()

ilObjAdvancedEditingGUI::getPageObjectKeysWithOptionalHTML ( )
protected

This limits the possibility to allow html for these page objects that supported the feature in the past.

PLEASE do not add additional keys here. The whole feature might be abandonded in the future.

Returns
array

Definition at line 688 of file class.ilObjAdvancedEditingGUI.php.

689 {
690 return ["lobj","copa","mep","blp","prtf","prtt","gdf","lm","qht","qpl","qfbg","qfbs","sahs","stys","cont","cstr","auth"];
691 }

Referenced by initGeneralPageSettingsForm(), and saveGeneralPageSettingsObject().

+ Here is the caller graph for this function:

◆ getTabs()

ilObjAdvancedEditingGUI::getTabs ( )

get tabs @access public

Parameters
objecttabs gui object

Reimplemented from ilObjectGUI.

Definition at line 201 of file class.ilObjAdvancedEditingGUI.php.

202 {
204
205 if ($rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
206 $this->tabs_gui->addTarget(
207 "adve_page_editor_settings",
208 $this->ctrl->getLinkTarget($this, "showGeneralPageEditorSettings"),
209 array("showPageEditorSettings", "","view")
210 );
211
212 $this->tabs_gui->addTarget(
213 "adve_rte_settings",
214 $this->ctrl->getLinkTarget($this, "settings"),
215 array("settings","assessment", "survey", "frmPost", "excass"),
216 "",
217 ""
218 );
219
220 $this->tabs_gui->addTarget(
221 "adve_char_selector_settings",
222 $this->ctrl->getLinkTarget($this, "showCharSelectorSettings"),
223 array("showCharSelectorSettings", "","view")
224 );
225 }
226
227 if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
228 $this->tabs_gui->addTarget(
229 "perm_settings",
230 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
231 array("perm","info","owner"),
232 'ilpermissiongui'
233 );
234 }
235 $this->addSubtabs($this->tabs_gui);
236 }

References $rbacsystem, and addSubtabs().

Referenced by getAdminTabs().

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

◆ initCharSelectorSettingsForm()

ilObjAdvancedEditingGUI::initCharSelectorSettingsForm ( ilCharSelectorGUI  $char_selector)

Init the settings form for the selector of unicode characters.

Definition at line 746 of file class.ilObjAdvancedEditingGUI.php.

747 {
749 $ilCtrl = $this->ctrl;
750
751 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
752 $form = new ilPropertyFormGUI();
753 $form->setTitle($lng->txt('settings'));
754 $form->setFormAction($ilCtrl->getFormAction($this));
755 if ($this->checkPermissionBool("write")) {
756 $form->addCommandButton("saveCharSelectorSettings", $lng->txt("save"));
757 }
758 $char_selector->addFormProperties($form);
759
760 return $form;
761 }
addFormProperties(ilPropertyFormGUI $a_form)
add the configuration elements to a property form
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
This class represents a property form user interface.

References ilObjectGUI\$ctrl, ilObjectGUI\$lng, ilCharSelectorGUI\addFormProperties(), and ilObjectGUI\checkPermissionBool().

Referenced by saveCharSelectorSettingsObject(), and showCharSelectorSettingsObject().

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

◆ initGeneralPageSettingsForm()

ilObjAdvancedEditingGUI::initGeneralPageSettingsForm ( )

Init general page editor settings form.

Definition at line 596 of file class.ilObjAdvancedEditingGUI.php.

597 {
599 $ilCtrl = $this->ctrl;
600
601 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
602 $form = new ilPropertyFormGUI();
603
604 $aset = new ilSetting("adve");
605
606 // use physical character styles
607 $cb = new ilCheckboxInputGUI($this->lng->txt("adve_use_physical"), "use_physical");
608 $cb->setInfo($this->lng->txt("adve_use_physical_info"));
609 $cb->setChecked($aset->get("use_physical"));
610 $form->addItem($cb);
611
612 // blocking mode
613 $cb = new ilCheckboxInputGUI($this->lng->txt("adve_blocking_mode"), "block_mode_act");
614 $cb->setChecked($aset->get("block_mode_minutes") > 0);
615 $form->addItem($cb);
616
617 // number of minutes
618 $ni = new ilNumberInputGUI($this->lng->txt("adve_minutes"), "block_mode_minutes");
619 $ni->setMinValue(2);
620 $ni->setMaxLength(5);
621 $ni->setSize(5);
622 $ni->setRequired(true);
623 $ni->setInfo($this->lng->txt("adve_minutes_info"));
624 $ni->setValue($aset->get("block_mode_minutes"));
625 $cb->addSubItem($ni);
626
627 // autosave
628 $as = new ilNumberInputGUI($this->lng->txt("adve_autosave"), "autosave");
629 $as->setSuffix($this->lng->txt("seconds"));
630 $as->setMaxLength(5);
631 $as->setSize(5);
632 $as->setInfo($this->lng->txt("adve_autosave_info"));
633 $as->setValue($aset->get("autosave"));
634 $form->addItem($as);
635
636 // auto url linking
637 $cb = new ilCheckboxInputGUI($this->lng->txt("adve_auto_url_linking"), "auto_url_linking");
638 $cb->setChecked($aset->get("auto_url_linking"));
639 $cb->setInfo($this->lng->txt("adve_auto_url_linking_info"));
640 $form->addItem($cb);
641
642 if ($this->checkPermissionBool("write")) {
643 $form->addCommandButton("saveGeneralPageSettings", $lng->txt("save"));
644 }
645
646 // enable html/js
647 $this->lng->loadLanguageModule("copg");
648 $sh = new ilFormSectionHeaderGUI();
649 $sh->setTitle($lng->txt("copg_allow_html"));
650 $sh->setInfo($lng->txt("copg_allow_html_info"));
651 $form->addItem($sh);
652
653 $comps = ilComponent::getAll();
654 $comps_per_dir = array_column(array_map(function ($k, $v) {
655 return [$v["type"] . "/" . $v["name"], $v];
656 }, array_keys($comps), $comps), 1, 0);
657
658 $cdef = new ilCOPageObjDef();
659 foreach ($cdef->getDefinitions() as $key => $def) {
660 if (in_array($key, $this->getPageObjectKeysWithOptionalHTML())) {
661 $comp_id = $comps_per_dir[$def["component"]]["id"];
662 $this->lng->loadLanguageModule($comp_id);
663 $cb = new ilCheckboxInputGUI($def["component"] . ": " . $this->lng->txt($comp_id . "_page_type_" . $key), "act_html_" . $key);
664 $cb->setChecked($aset->get("act_html_" . $key));
665 $form->addItem($cb);
666 }
667 }
668
669 // workaround for glossaries to force rewriting of shot texts
671
672
673 $form->setTitle($lng->txt("adve_pe_general"));
674 $form->setFormAction($ilCtrl->getFormAction($this));
675
676 return $form;
677 }
COPage page object definition handler.
This class represents a checkbox property in a property form.
static getAll()
Get all.
This class represents a section header in a property form.
static setShortTextsDirtyGlobally()
Set short texts dirty.
This class represents a number property in a property form.
getPageObjectKeysWithOptionalHTML()
This limits the possibility to allow html for these page objects that supported the feature in the pa...
ILIAS Setting Class.

References ilObjectGUI\$ctrl, ilObjectGUI\$lng, ilObjectGUI\checkPermissionBool(), ilComponent\getAll(), getPageObjectKeysWithOptionalHTML(), and ilGlossaryDefinition\setShortTextsDirtyGlobally().

Referenced by saveGeneralPageSettingsObject(), and showGeneralPageEditorSettingsObject().

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

◆ initPageEditorForm()

ilObjAdvancedEditingGUI::initPageEditorForm (   $a_mode = "edit")

Init page editor form.

Parameters
int$a_modeEdit Mode

Definition at line 479 of file class.ilObjAdvancedEditingGUI.php.

480 {
483
484 $lng->loadLanguageModule("content");
485
486 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
487 $this->form = new ilPropertyFormGUI();
488
489 if ($this->cgrp == "test") {
490 require_once 'Modules/Test/classes/class.ilObjAssessmentFolder.php';
491
492 $this->form->setTitle($lng->txt("adve_activation"));
493 $cb = new ilCheckboxInputGUI($this->lng->txt("advanced_editing_tst_editing"), "tst_page_edit");
494 $cb->setInfo($this->lng->txt("advanced_editing_tst_editing_desc"));
496 $cb->setChecked(true);
497 }
498 $this->form->addItem($cb);
499
500 $sh = new ilFormSectionHeaderGUI();
501 $sh->setTitle($lng->txt("adve_text_content_features"));
502 $this->form->addItem($sh);
503 } elseif ($this->cgrp == "rep") {
504 $this->form->setTitle($lng->txt("adve_activation"));
505 $cb = new ilCheckboxInputGUI($this->lng->txt("advanced_editing_rep_page_editing"), "cat_page_edit");
506 $cb->setInfo($this->lng->txt("advanced_editing_rep_page_editing_desc"));
507 if ($ilSetting->get("enable_cat_page_edit")) {
508 $cb->setChecked(true);
509 }
510 $this->form->addItem($cb);
511
512 $sh = new ilFormSectionHeaderGUI();
513 $sh->setTitle($lng->txt("adve_text_content_features"));
514 $this->form->addItem($sh);
515 } else {
516 $this->form->setTitle($lng->txt("adve_text_content_features"));
517 }
518
519
520 include_once("./Services/COPage/classes/class.ilPageEditorSettings.php");
521
522 include_once("./Services/COPage/classes/class.ilPageContentGUI.php");
524 foreach ($buttons as $b => $t) {
525 // command button activation
526 $cb = new ilCheckboxInputGUI(str_replace(":", "", $this->lng->txt("cont_text_" . $b)), "active_" . $b);
527 $cb->setChecked(ilPageEditorSettings::lookupSetting($this->cgrp, "active_" . $b, true));
528 $this->form->addItem($cb);
529 }
530
531 // save and cancel commands
532 if ($this->checkPermissionBool("write")) {
533 $this->form->addCommandButton("savePageEditorSettings", $lng->txt("save"));
534 }
535
536 $this->form->setFormAction($this->ctrl->getFormAction($this));
537 }
const ADDITIONAL_QUESTION_CONTENT_EDITING_MODE_PAGE_OBJECT_DISABLED
static _getCommonBBButtons()
Get common bb buttons.
static lookupSetting($a_grp, $a_name, $a_default=false)
Lookup setting.
global $ilSetting
Definition: privfeed.php:17

References Vendor\Package\$b, $ilSetting, ilObjectGUI\$lng, $settings, ilPageContentGUI\_getCommonBBButtons(), ilObjAssessmentFolder\ADDITIONAL_QUESTION_CONTENT_EDITING_MODE_PAGE_OBJECT_DISABLED, ilObjectGUI\checkPermissionBool(), and ilPageEditorSettings\lookupSetting().

Referenced by savePageEditorSettingsObject(), and showPageEditorSettingsObject().

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

◆ initTagsForm()

ilObjAdvancedEditingGUI::initTagsForm (   $a_id,
  $a_cmd,
  $a_title 
)
protected

Definition at line 396 of file class.ilObjAdvancedEditingGUI.php.

397 {
398 $ilAccess = $this->access;
399
400 include_once "Services/Form/classes/class.ilPropertyFormGUI.php";
401 $form = new ilPropertyFormGUI();
402 $form->setFormAction($this->ctrl->getFormAction($this, $a_cmd));
403 $form->setTitle($this->lng->txt($a_title));
404
405 $alltags = $this->object->getHTMLTags();
406 $alltags = array_combine($alltags, $alltags);
407
408 include_once "Services/Form/classes/class.ilMultiSelectInputGUI.php";
409 $tags = new ilMultiSelectInputGUI($this->lng->txt("advanced_editing_allow_html_tags"), "html_tags");
410 $tags->setHeight(400);
411 $tags->enableSelectAll(true);
412 $tags->enableSelectedFirst(true);
413 $tags->setOptions($alltags);
414 $tags->setValue(ilObjAdvancedEditing::_getUsedHTMLTags($a_id));
415 $form->addItem($tags);
416
417 if ($ilAccess->checkAccess("write", "", $this->object->getRefId())) {
418 $form->addCommandButton($a_cmd, $this->lng->txt("save"));
419 }
420
421 return $form;
422 }
This class represents a multi selection list property in a property form.
static _getUsedHTMLTags($a_module="")
Returns an array of all allowed HTML tags for text editing.

References $access, and ilObjAdvancedEditing\_getUsedHTMLTags().

Referenced by assessmentObject(), excAssObject(), frmPostObject(), saveAssessmentSettingsObject(), saveExcAssSettingsObject(), saveFrmPostSettingsObject(), saveSurveySettingsObject(), and surveyObject().

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

◆ saveAssessmentSettingsObject()

ilObjAdvancedEditingGUI::saveAssessmentSettingsObject ( )

Definition at line 298 of file class.ilObjAdvancedEditingGUI.php.

299 {
300 $form = $this->initTagsForm(
301 "assessment",
302 "saveAssessmentSettings",
303 "advanced_editing_assessment_settings"
304 );
305 if (!$this->saveTags("assessment", "assessment", $form)) {
306 $form->setValuesByPost();
307 $this->tpl->setContent($form->getHTML());
308 }
309 }

References initTagsForm(), and saveTags().

+ Here is the call graph for this function:

◆ saveCharSelectorSettingsObject()

ilObjAdvancedEditingGUI::saveCharSelectorSettingsObject ( )

Save the settings for the selector of unicode characters.

Definition at line 788 of file class.ilObjAdvancedEditingGUI.php.

789 {
791 $ilCtrl = $this->ctrl;
794
795 $this->checkPermission("write");
796
797 require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php';
799 $form = $this->initCharSelectorSettingsForm($char_selector);
800 if ($form->checkInput()) {
801 $char_selector->getFormValues($form);
802
803 $ilSetting->set('char_selector_availability', $char_selector->getConfig()->getAvailability());
804 $ilSetting->set('char_selector_definition', $char_selector->getConfig()->getDefinition());
805
806 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
807 $ilCtrl->redirect($this, "showCharSelectorSettings");
808 }
809 $form->setValuesByPost();
810 $tpl->setContent($form->getHTML());
811 }
This shows a character selector.
initCharSelectorSettingsForm(ilCharSelectorGUI $char_selector)
Init the settings form for the selector of unicode characters.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.

References ilObjectGUI\$ctrl, $ilSetting, ilObjectGUI\$lng, $settings, ilObjectGUI\$tpl, ilObjectGUI\checkPermission(), ilCharSelectorConfig\CONTEXT_ADMIN, and initCharSelectorSettingsForm().

+ Here is the call graph for this function:

◆ saveExcAssSettingsObject()

ilObjAdvancedEditingGUI::saveExcAssSettingsObject ( )

Definition at line 382 of file class.ilObjAdvancedEditingGUI.php.

383 {
384 $form = $this->initTagsForm(
385 "exc_ass",
386 "saveExcAssSettings",
387 "advanced_editing_excass_settings"
388 );
389 if (!$this->saveTags("exc_ass", "excAss", $form)) {
390 $form->setValuesByPost();
391 $this->tpl->setContent($form->getHTML());
392 }
393 }

References initTagsForm(), and saveTags().

+ Here is the call graph for this function:

◆ saveFrmPostSettingsObject()

ilObjAdvancedEditingGUI::saveFrmPostSettingsObject ( )

Definition at line 354 of file class.ilObjAdvancedEditingGUI.php.

355 {
356 $form = $this->initTagsForm(
357 "frm_post",
358 "saveFrmPostSettings",
359 "advanced_editing_frm_post_settings"
360 );
361 if (!$this->saveTags("frm_post", "frmPost", $form)) {
362 $form->setValuesByPost();
363 $this->tpl->setContent($form->getHTML());
364 }
365 }

References initTagsForm(), and saveTags().

+ Here is the call graph for this function:

◆ saveGeneralPageSettingsObject()

ilObjAdvancedEditingGUI::saveGeneralPageSettingsObject ( )

Save general page settings.

Definition at line 696 of file class.ilObjAdvancedEditingGUI.php.

697 {
698 $ilCtrl = $this->ctrl;
701
702 $this->checkPermission("write");
703
704 $form = $this->initGeneralPageSettingsForm();
705 if ($form->checkInput()) {
706 $autosave = (int) $form->getInput("autosave");
707 $ok = true;
708
709 // autosave must be greater 10, if activated
710 if ($autosave > 0 && $autosave < 10) {
711 $form->getItemByPostVar("autosave")->setAlert($this->lng->txt("adve_autosave_info_min_10"));
712 $ok = false;
713 }
714
715 if ($ok) {
716 $aset = new ilSetting("adve");
717 $aset->set("use_physical", $_POST["use_physical"]);
718 if ($_POST["block_mode_act"]) {
719 $aset->set("block_mode_minutes", (int) $_POST["block_mode_minutes"]);
720 } else {
721 $aset->set("block_mode_minutes", 0);
722 }
723 $aset->set("auto_url_linking", $_POST["auto_url_linking"]);
724
725 $aset->set("autosave", $form->getInput("autosave"));
726
727 $def = new ilCOPageObjDef();
728 foreach ($def->getDefinitions() as $key => $def) {
729 if (in_array($key, $this->getPageObjectKeysWithOptionalHTML())) {
730 $aset->set("act_html_" . $key, (int) $_POST["act_html_" . $key]);
731 }
732 }
733
734 ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true);
735 $ilCtrl->redirect($this, "showGeneralPageEditorSettings");
736 }
737 }
738
739 $form->setValuesByPost();
740 $tpl->setContent($form->getHTML());
741 }
$_POST["username"]
initGeneralPageSettingsForm()
Init general page editor settings form.

References $_POST, ilObjectGUI\$ctrl, ilObjectGUI\$lng, $ok, ilObjectGUI\$tpl, ilObjectGUI\checkPermission(), getPageObjectKeysWithOptionalHTML(), and initGeneralPageSettingsForm().

+ Here is the call graph for this function:

◆ saveObject()

ilObjAdvancedEditingGUI::saveObject ( )

save object @access public

Reimplemented from ilObjectGUI.

Definition at line 104 of file class.ilObjAdvancedEditingGUI.php.

105 {
106 $this->checkPermission("write");
107
108 parent::saveObject();
109
110 // always send a message
111 ilUtil::sendSuccess($this->lng->txt("object_added"), true);
112 $this->ctrl->redirect($this);
113 }

References ilObjectGUI\checkPermission().

+ Here is the call graph for this function:

◆ savePageEditorSettingsObject()

ilObjAdvancedEditingGUI::savePageEditorSettingsObject ( )

Save page editor settings form.

Definition at line 543 of file class.ilObjAdvancedEditingGUI.php.

544 {
546 $ilCtrl = $this->ctrl;
548
549 $this->checkPermission("write");
550
551 $this->initPageEditorForm();
552 if ($this->form->checkInput()) {
553 include_once("./Services/COPage/classes/class.ilPageEditorSettings.php");
554 include_once("./Services/COPage/classes/class.ilPageContentGUI.php");
556 foreach ($buttons as $b => $t) {
558 $_GET["grp"],
559 "active_" . $b,
560 $this->form->getInput("active_" . $b)
561 );
562 }
563
564 if ($_GET["grp"] == "test") {
565 $ilSetting->set("enable_tst_page_edit", (int) $_POST["tst_page_edit"]);
566 } elseif ($_GET["grp"] == "rep") {
567 $ilSetting->set("enable_cat_page_edit", (int) $_POST["cat_page_edit"]);
568 }
569
570 ilUtil::sendInfo($lng->txt("msg_obj_modified"), true);
571 }
572
573 $ilCtrl->setParameter($this, "grp", $_GET["grp"]);
574 $ilCtrl->redirect($this, "showPageEditorSettings");
575 }
initPageEditorForm($a_mode="edit")
Init page editor form.
static writeSetting($a_grp, $a_name, $a_value)
Write Setting.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.

References $_GET, $_POST, Vendor\Package\$b, ilObjectGUI\$ctrl, $ilSetting, ilObjectGUI\$lng, $settings, ilPageContentGUI\_getCommonBBButtons(), ilObjectGUI\checkPermission(), initPageEditorForm(), ilUtil\sendInfo(), and ilPageEditorSettings\writeSetting().

+ Here is the call graph for this function:

◆ saveSettingsObject()

ilObjAdvancedEditingGUI::saveSettingsObject ( )

Save Assessment settings.

Definition at line 269 of file class.ilObjAdvancedEditingGUI.php.

270 {
271 $this->checkPermission("write");
272
273 if ($_POST["use_tiny"]) {
274 $this->object->setRichTextEditor("tinymce");
275 } else {
276 $this->object->setRichTextEditor("");
277 }
278 ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true);
279
280 $this->ctrl->redirect($this, 'settings');
281 }

References $_POST, and ilObjectGUI\checkPermission().

+ Here is the call graph for this function:

◆ saveSurveySettingsObject()

ilObjAdvancedEditingGUI::saveSurveySettingsObject ( )

Definition at line 326 of file class.ilObjAdvancedEditingGUI.php.

327 {
328 $form = $this->initTagsForm(
329 "survey",
330 "saveSurveySettings",
331 "advanced_editing_survey_settings"
332 );
333 if (!$this->saveTags("survey", "survey", $form)) {
334 $form->setValuesByPost();
335 $this->tpl->setContent($form->getHTML());
336 }
337 }

References initTagsForm(), and saveTags().

+ Here is the call graph for this function:

◆ saveTags()

ilObjAdvancedEditingGUI::saveTags (   $a_id,
  $a_cmd,
  $form 
)
protected

Definition at line 424 of file class.ilObjAdvancedEditingGUI.php.

425 {
426 $this->checkPermission("write");
427 try {
428 if ($form->checkInput()) {
429 // get rid of select all
430 if (is_array($_POST['html_tags']) && $_POST['html_tags'][0] == "") {
431 unset($_POST['html_tags'][0]);
432 }
433
434 $this->object->setUsedHTMLTags((array) $_POST['html_tags'], $a_id);
435 ilUtil::sendSuccess($this->lng->txt('msg_obj_modified'), true);
436 } else {
437 return false;
438 }
440 ilUtil::sendInfo($e->getMessage(), true);
441 }
442
443 $this->ctrl->redirect($this, $a_cmd);
444 return true;
445 }
Class for advanced editing exception handling in ILIAS.

References $_POST, Vendor\Package\$e, ilObjectGUI\checkPermission(), and ilUtil\sendInfo().

Referenced by saveAssessmentSettingsObject(), saveExcAssSettingsObject(), saveFrmPostSettingsObject(), and saveSurveySettingsObject().

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

◆ settingsObject()

ilObjAdvancedEditingGUI::settingsObject ( )

Display assessment folder settings form.

Definition at line 242 of file class.ilObjAdvancedEditingGUI.php.

243 {
245 $ilCtrl = $this->ctrl;
247
248 $editor = $this->object->_getRichTextEditor();
249
250 include_once("Services/Form/classes/class.ilPropertyFormGUI.php");
251 $this->form = new ilPropertyFormGUI();
252 $this->form->setFormAction($ilCtrl->getFormAction($this));
253 $this->form->setTitle($lng->txt("adve_activation"));
254 $cb = new ilCheckboxInputGUI($this->lng->txt("adve_use_tiny_mce"), "use_tiny");
255 if ($editor == "tinymce") {
256 $cb->setChecked(true);
257 }
258 $this->form->addItem($cb);
259 if ($this->checkPermissionBool("write")) {
260 $this->form->addCommandButton("saveSettings", $lng->txt("save"));
261 }
262
263 $tpl->setContent($this->form->getHTML());
264 }

References ilObjectGUI\$ctrl, ilObjectGUI\$lng, ilObjectGUI\$tpl, and ilObjectGUI\checkPermissionBool().

+ Here is the call graph for this function:

◆ showCharSelectorSettingsObject()

ilObjAdvancedEditingGUI::showCharSelectorSettingsObject ( )

Show the settings for the selector of unicode characters.

Definition at line 767 of file class.ilObjAdvancedEditingGUI.php.

768 {
769 $ilTabs = $this->tabs;
772
773 $ilTabs->activateTab("adve_char_selector_settings");
774
775 require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php';
777 $char_selector->getConfig()->setAvailability($ilSetting->get('char_selector_availability'));
778 $char_selector->getConfig()->setDefinition($ilSetting->get('char_selector_definition'));
779 $form = $this->initCharSelectorSettingsForm($char_selector);
780 $char_selector->setFormValues($form);
781 $tpl->setContent($form->getHTML());
782 }

References $ilSetting, $settings, $tabs, ilObjectGUI\$tpl, ilCharSelectorConfig\CONTEXT_ADMIN, and initCharSelectorSettingsForm().

+ Here is the call graph for this function:

◆ showGeneralPageEditorSettingsObject()

ilObjAdvancedEditingGUI::showGeneralPageEditorSettingsObject ( )

Show general page editor settings.

Definition at line 581 of file class.ilObjAdvancedEditingGUI.php.

582 {
584 $ilTabs = $this->tabs;
585
586 $this->addPageEditorSettingsSubTabs();
587 $ilTabs->activateTab("adve_page_editor_settings");
588
589 $form = $this->initGeneralPageSettingsForm();
590 $tpl->setContent($form->getHTML());
591 }

References $tabs, ilObjectGUI\$tpl, and initGeneralPageSettingsForm().

+ Here is the call graph for this function:

◆ showPageEditorSettingsObject()

ilObjAdvancedEditingGUI::showPageEditorSettingsObject ( )

Show page editor settings.

Definition at line 451 of file class.ilObjAdvancedEditingGUI.php.

452 {
454 $ilTabs = $this->tabs;
455 $ilCtrl = $this->ctrl;
456
457 $this->addPageEditorSettingsSubTabs();
458
459 include_once("./Services/COPage/classes/class.ilPageEditorSettings.php");
461
462 $this->cgrp = $_GET["grp"];
463 if ($this->cgrp == "") {
464 $this->cgrp = key($grps);
465 }
466
467 $ilCtrl->setParameter($this, "grp", $this->cgrp);
468 $ilTabs->setSubTabActive("adve_grp_" . $this->cgrp);
469
470 $this->initPageEditorForm();
471 $tpl->setContent($this->form->getHtml());
472 }

References $_GET, ilObjectGUI\$ctrl, $tabs, ilObjectGUI\$tpl, ilPageEditorSettings\getGroups(), and initPageEditorForm().

+ Here is the call graph for this function:

◆ surveyObject()

ilObjAdvancedEditingGUI::surveyObject ( )

Display settings for surveys.

Definition at line 315 of file class.ilObjAdvancedEditingGUI.php.

316 {
317 $form = $this->initTagsForm(
318 "survey",
319 "saveSurveySettings",
320 "advanced_editing_survey_settings"
321 );
322
323 $this->tpl->setContent($form->getHTML());
324 }

References initTagsForm().

+ Here is the call graph for this function:

Field Documentation

◆ $access

ilObjAdvancedEditingGUI::$access
protected

Definition at line 37 of file class.ilObjAdvancedEditingGUI.php.

Referenced by initTagsForm().

◆ $conditions

ilObjAdvancedEditingGUI::$conditions

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

◆ $rbacadmin

ilObjAdvancedEditingGUI::$rbacadmin
protected

Definition at line 27 of file class.ilObjAdvancedEditingGUI.php.

◆ $rbacsystem

ilObjAdvancedEditingGUI::$rbacsystem
protected

Definition at line 22 of file class.ilObjAdvancedEditingGUI.php.

Referenced by __construct(), and getTabs().

◆ $settings

ilObjAdvancedEditingGUI::$settings
protected

◆ $tabs


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