ILIAS  release_7 Revision v7.30-3-g800a261c036
ilContainerReferenceGUI Class Reference
+ Inheritance diagram for ilContainerReferenceGUI:
+ Collaboration diagram for ilContainerReferenceGUI:

Public Member Functions

 __construct ($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor. More...
 
 executeCommand ()
 Execute command. More...
 
 redirectObject ()
 redirect to target More...
 
 createObject ()
 Create object. More...
 
 saveObject ()
 save object More...
 
 editReferenceObject ()
 
 editObject (ilPropertyFormGUI $form=null)
 edit title More...
 
 updateObject ()
 update title More...
 
 getTargetType ()
 get target type More...
 
 getReferenceType ()
 get reference type More...
 
 getTabs ()
 get tabs More...
 
 getId ()
 
- 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

const MAX_SELECTION_ENTRIES = 50
 
const MODE_CREATE = 1
 
const MODE_EDIT = 2
 
- 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

 addLocatorItems ()
 Add locator item. More...
 
 initCreateForm ($a_new_type)
 Init object creation form. More...
 
 afterSave (ilObject $a_new_object)
 
 firstEditObject ()
 show edit screen without info message More...
 
 initForm ($a_mode=self::MODE_EDIT)
 Init title form. More...
 
 loadPropertiesFromSettingsForm (\ilPropertyFormGUI $form)
 
- 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

 $tabs
 
 $locator
 
 $user
 
 $access
 
 $error
 
 $settings
 
 $existing_objects = array()
 
 $target_type
 
 $reference_type
 
 $form
 
- 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

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilContainerReferenceGUI::__construct (   $a_data,
  $a_id,
  $a_call_by_reference = true,
  $a_prepare_output = true 
)

Constructor.

Parameters

Reimplemented in ilObjGroupReferenceGUI, ilObjStudyProgrammeReferenceGUI, ilObjCategoryReferenceGUI, and ilObjCourseReferenceGUI.

Definition at line 93 of file class.ilContainerReferenceGUI.php.

94 {
95 global $DIC;
96
97 $this->lng = $DIC->language();
98 $this->ctrl = $DIC->ctrl();
99 $this->tabs = $DIC->tabs();
100 $this->locator = $DIC["ilLocator"];
101 $this->user = $DIC->user();
102 $this->access = $DIC->access();
103 $this->error = $DIC["ilErr"];
104 $this->settings = $DIC->settings();
105 $lng = $DIC->language();
106 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
107
108 $lng->loadLanguageModule('objref');
109 }
user()
Definition: user.php:4
error($a_errmsg)
set error message @access public
global $DIC
Definition: goto.php:24
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
settings()
Definition: settings.php:2

References $DIC, ilObjectGUI\$lng, ILIAS\GlobalScreen\Provider\__construct(), error(), settings(), and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ addLocatorItems()

ilContainerReferenceGUI::addLocatorItems ( )
protected

Add locator item.

Reimplemented from ilObjectGUI.

Definition at line 159 of file class.ilContainerReferenceGUI.php.

160 {
161 $ilLocator = $this->locator;
162
163 if ($this->object instanceof ilObject) {
164 $ilLocator->addItem($this->object->getPresentationTitle(), $this->ctrl->getLinkTarget($this));
165 }
166 }
Class ilObject Basic functions for all objects.

References $locator.

◆ afterSave()

ilContainerReferenceGUI::afterSave ( ilObject  $a_new_object)
protected
Parameters
ilObject$a_new_object

Reimplemented from ilObjectGUI.

Definition at line 237 of file class.ilContainerReferenceGUI.php.

238 {
239 $target_obj_id = ilObject::_lookupObjId((int) $this->form->getInput('target_id'));
240 $a_new_object->setTargetId($target_obj_id);
241
242 $a_new_object->setTitleType($this->form->getInput('title_type'));
243 if ($this->form->getInput('title_type') == ilContainerReference::TITLE_TYPE_CUSTOM) {
244 $a_new_object->setTitle($this->form->getInput('title'));
245 } elseif ($this->form->getInput('title_type') == ilContainerReference::TITLE_TYPE_REUSE) {
246 $a_new_object->setTitle(ilObject::_lookupTitle($a_new_object->getTargetId()));
247 }
248
249 $a_new_object->update();
250
251 ilUtil::sendSuccess($this->lng->txt("object_added"), true);
252 $this->ctrl->setParameter($this, 'ref_id', $a_new_object->getRefId());
253 $this->ctrl->setParameter($this, 'creation_mode', 0);
254 $this->ctrl->redirect($this, 'firstEdit');
255 }
static _lookupObjId($a_id)
update()
update object in db
static _lookupTitle($a_id)
lookup object title
setTitle($a_title)
set object title
getRefId()
get reference id @access public

References ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\getRefId(), ilObject\setTitle(), ilContainerReference\TITLE_TYPE_CUSTOM, ilContainerReference\TITLE_TYPE_REUSE, and ilObject\update().

+ Here is the call graph for this function:

◆ createObject()

ilContainerReferenceGUI::createObject ( )

Create object.

Returns
void

Reimplemented from ilObjectGUI.

Definition at line 185 of file class.ilContainerReferenceGUI.php.

186 {
188 $ilAccess = $this->access;
191
192 $new_type = $_REQUEST["new_type"];
193 $this->ctrl->saveParameter($this, "crtptrefid");
194 // use forced callback after object creation
195 $this->ctrl->saveParameter($this, "crtcb");
196 if (!$ilAccess->checkAccess("create_" . $this->getReferenceType(), '', $_GET["ref_id"], $new_type)) {
197 $ilErr->raiseError($this->lng->txt("permission_denied"), $ilErr->MESSAGE);
198 }
199 $form = $this->initForm(self::MODE_CREATE);
200 $this->tpl->setContent($form->getHTML());
201 }
$_GET["client_id"]
initForm($a_mode=self::MODE_EDIT)
Init title form.
$ilUser
Definition: imgupload.php:18
global $ilSetting
Definition: privfeed.php:17

References $_GET, $access, $error, $form, ilObjectGUI\$ilErr, $ilSetting, $ilUser, $settings, $user, and initForm().

Referenced by ilObjStudyProgrammeReferenceGUI\saveObject(), and saveObject().

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

◆ editObject()

ilContainerReferenceGUI::editObject ( ilPropertyFormGUI  $form = null)

edit title

Parameters
ilPropertyFormGUI$form

Definition at line 275 of file class.ilContainerReferenceGUI.php.

276 {
277 global $DIC;
278
279 $main_tpl = $DIC->ui()->mainTemplate();
280
281 $ilTabs = $this->tabs;
282
283 $ilTabs->setTabActive('settings');
284
285 if (!$form instanceof ilPropertyFormGUI) {
286 $form = $this->initForm();
287 }
288 $main_tpl->setContent($form->getHTML());
289 }
This class represents a property form user interface.

References $DIC, $form, $tabs, and initForm().

+ Here is the call graph for this function:

◆ editReferenceObject()

ilContainerReferenceGUI::editReferenceObject ( )

Definition at line 265 of file class.ilContainerReferenceGUI.php.

266 {
267 $this->editObject();
268 }
editObject()
edit object

References ilObjectGUI\editObject().

+ Here is the call graph for this function:

◆ executeCommand()

ilContainerReferenceGUI::executeCommand ( )

Execute command.

@access public

Returns
bool|mixed
Exceptions
ilCtrlException

Reimplemented from ilObjectGUI.

Reimplemented in ilObjCategoryReferenceGUI, ilObjCourseReferenceGUI, and ilObjGroupReferenceGUI.

Definition at line 119 of file class.ilContainerReferenceGUI.php.

120 {
121 $ilCtrl = $this->ctrl;
122 $ilTabs = $this->tabs;
123
124
125 if (isset($_GET['creation_mode']) && $_GET['creation_mode'] == self::MODE_CREATE) {
126 $this->setCreationMode(true);
127 }
128
129 $next_class = $ilCtrl->getNextClass($this);
130 $cmd = $ilCtrl->getCmd();
131
132 $this->prepareOutput();
133
134 switch ($next_class) {
135 case "ilpropertyformgui":
136 $form = $this->initForm($this->creation_mode ? self::MODE_CREATE : self::MODE_EDIT);
137 $this->ctrl->forwardCommand($form);
138 break;
139
140 case 'ilpermissiongui':
141 $ilTabs->setTabActive('perm_settings');
142 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
143 $ilCtrl->forwardCommand(new ilPermissionGUI($this));
144 break;
145
146 default:
147 if (!$cmd || $cmd == 'view') {
148 $cmd = "edit";
149 }
150 $cmd .= "Object";
151 $this->$cmd();
152 break;
153 }
154 return true;
155 }
prepareOutput($a_show_subobjects=true)
prepare output
setCreationMode($a_mode=true)
if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class!...
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.

References $_GET, ilObjectGUI\$ctrl, $form, $tabs, initForm(), ilObjectGUI\prepareOutput(), and ilObjectGUI\setCreationMode().

+ Here is the call graph for this function:

◆ firstEditObject()

ilContainerReferenceGUI::firstEditObject ( )
protected

show edit screen without info message

Definition at line 260 of file class.ilContainerReferenceGUI.php.

261 {
262 $this->editObject();
263 }

References ilObjectGUI\editObject().

+ Here is the call graph for this function:

◆ getId()

ilContainerReferenceGUI::getId ( )
Returns
int

Definition at line 495 of file class.ilContainerReferenceGUI.php.

496 {
497 return $this->obj_id;
498 }

References ilObjectGUI\$obj_id.

◆ getReferenceType()

ilContainerReferenceGUI::getReferenceType ( )

get reference type

@access public

Returns
string

Definition at line 456 of file class.ilContainerReferenceGUI.php.

References $reference_type.

Referenced by ilObjCourseReferenceGUI\getTabs(), and getTabs().

+ Here is the caller graph for this function:

◆ getTabs()

ilContainerReferenceGUI::getTabs ( )

get tabs

@access public

Parameters
objecttabs gui object

Reimplemented from ilObjectGUI.

Reimplemented in ilObjCourseReferenceGUI.

Definition at line 467 of file class.ilContainerReferenceGUI.php.

468 {
469 global $DIC;
470
471 $ilHelp = $DIC['ilHelp'];
472 $ilHelp->setScreenIdComponent($this->getReferenceType());
473
474 if ($this->access->checkAccess('write', '', $this->object->getRefId())) {
475 $this->tabs_gui->addTarget(
476 "settings",
477 $this->ctrl->getLinkTarget($this, "edit"),
478 array(),
479 ""
480 );
481 }
482 if ($this->access->checkAccess('edit_permission', '', $this->object->getRefId())) {
483 $this->tabs_gui->addTarget(
484 "perm_settings",
485 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"),
486 array("perm","info","owner"),
487 'ilpermissiongui'
488 );
489 }
490 }

References $DIC, and getReferenceType().

+ Here is the call graph for this function:

◆ getTargetType()

ilContainerReferenceGUI::getTargetType ( )

get target type

@access public

Returns
string

Definition at line 445 of file class.ilContainerReferenceGUI.php.

References $target_type.

Referenced by initForm().

+ Here is the caller graph for this function:

◆ initCreateForm()

ilContainerReferenceGUI::initCreateForm (   $a_new_type)
protected

Init object creation form.

Parameters
string$a_new_type
Returns
ilPropertyFormGUI

Reimplemented from ilObjectGUI.

Definition at line 229 of file class.ilContainerReferenceGUI.php.

230 {
231 return $this->initForm(self::MODE_CREATE);
232 }

References initForm().

+ Here is the call graph for this function:

◆ initForm()

ilContainerReferenceGUI::initForm (   $a_mode = self::MODE_EDIT)
protected

Init title form.

Parameters
int$a_mode
Returns
ilPropertyFormGUI

Reimplemented in ilObjCourseReferenceGUI.

Definition at line 296 of file class.ilContainerReferenceGUI.php.

297 {
298 include_once './Services/Form/classes/class.ilPropertyFormGUI.php';
299 include_once './Services/ContainerReference/classes/class.ilContainerReference.php';
300 $form = new ilPropertyFormGUI();
301
302 if ($a_mode == self::MODE_CREATE) {
303 $form->setTitle($this->lng->txt($this->getReferenceType() . '_new'));
304
305 $this->ctrl->setParameter($this, 'creation_mode', $a_mode);
306 $this->ctrl->setParameter($this, 'new_type', $_REQUEST['new_type']);
307 } else {
308 $form->setTitle($this->lng->txt('edit'));
309 }
310
311 $form->setFormAction($this->ctrl->getFormAction($this));
312 if ($a_mode == self::MODE_CREATE) {
313 $form->addCommandButton('save', $this->lng->txt('create'));
314 $form->addCommandButton('cancel', $this->lng->txt('cancel'));
315 } else {
316 $form->addCommandButton('update', $this->lng->txt('save'));
317 }
318
319 // title type
320 $ttype = new ilRadioGroupInputGUI($this->lng->txt('title'), 'title_type');
321 if ($a_mode == self::MODE_EDIT) {
322 $ttype->setValue($this->object->getTitleType());
323 } else {
325 }
326
327 $reuse = new ilRadioOption($this->lng->txt('objref_reuse_title'));
329 $ttype->addOption($reuse);
330
331 $custom = new ilRadioOption($this->lng->txt('objref_custom_title'));
333
334 // title
335 $title = new ilTextInputGUI($this->lng->txt('title'), 'title');
336 $title->setSize(min(40, ilObject::TITLE_LENGTH));
337 $title->setMaxLength(ilObject::TITLE_LENGTH);
338 $title->setRequired(true);
339
340 if ($a_mode == self::MODE_EDIT) {
341 $title->setValue($this->object->getTitle());
342 }
343
344 $custom->addSubItem($title);
345 $ttype->addOption($custom);
346 $form->addItem($ttype);
347
348 include_once("./Services/Form/classes/class.ilRepositorySelector2InputGUI.php");
349 $repo = new ilRepositorySelector2InputGUI($this->lng->txt("objref_edit_ref"), "target_id");
350 //$repo->setParent($this);
351 $repo->setRequired(true);
352 $repo->getExplorerGUI()->setSelectableTypes(array($this->getTargetType()));
353 $repo->getExplorerGUI()->setTypeWhiteList(
354 array_merge(
355 array($this->getTargetType()),
356 array("root", "cat", "grp", "fold", "crs")
357 )
358 );
359 $repo->setInfo($this->lng->txt($this->getReferenceType() . '_edit_info'));
360
361 if ($a_mode == self::MODE_EDIT) {
362 $repo->getExplorerGUI()->setPathOpen($this->object->getTargetRefId());
363 $repo->setValue($this->object->getTargetRefId());
364 }
365
366 $form->addItem($repo);
367 $this->form = $form;
368 return $form;
369 }
const TITLE_LENGTH
max length of object title
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a text property in a property form.

References $form, getTargetType(), ilObject\TITLE_LENGTH, ilContainerReference\TITLE_TYPE_CUSTOM, and ilContainerReference\TITLE_TYPE_REUSE.

Referenced by createObject(), editObject(), executeCommand(), initCreateForm(), and updateObject().

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

◆ loadPropertiesFromSettingsForm()

ilContainerReferenceGUI::loadPropertiesFromSettingsForm ( \ilPropertyFormGUI  $form)
protected
Parameters
\ilPropertyFormGUI$form
Returns
bool

Definition at line 376 of file class.ilContainerReferenceGUI.php.

376 : bool
377 {
378 global $DIC;
379
380 $ok = true;
381 $access = $DIC->access();
382
383 // check access
384 if (
385 !$access->checkAccess('visible', '', (int) $form->getInput('target_id'))
386 ) {
387 $ok = false;
388 $form->getItemByPostVar('target_id')->setAlert($this->lng->txt('permission_denied'));
389 }
390 // check target type
391 if (ilObject::_lookupType($form->getInput('target_id'), true) != $this->target_type) {
392 $ok = false;
393 $form->getItemByPostVar('target_id')->setAlert(
394 $this->lng->txt('objref_failure_target_type') .
395 ': ' .
396 $this->lng->txt('obj_' . $this->target_type)
397 );
398 }
399
400 $this->object->setTargetId(
401 \ilObject::_lookupObjId((int) $form->getInput('target_id'))
402 );
403
404 // set title after target id, so that the title can be reused immediately
405 $this->object->setTitleType($form->getInput('title_type'));
406 if ($form->getInput('title_type') == ilContainerReference::TITLE_TYPE_CUSTOM) {
407 $this->object->setTitle($form->getInput('title'));
408 } elseif ($form->getInput('title_type') == ilContainerReference::TITLE_TYPE_REUSE) {
409 $this->object->setTitle(ilObject::_lookupTitle($this->object->getTargetId()));
410 }
411
412 return $ok;
413 }
static _lookupType($a_id, $a_reference=false)
lookup object type

References $access, $DIC, $form, $ok, ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), ilPropertyFormGUI\getInput(), ilContainerReference\TITLE_TYPE_CUSTOM, and ilContainerReference\TITLE_TYPE_REUSE.

+ Here is the call graph for this function:

◆ redirectObject()

ilContainerReferenceGUI::redirectObject ( )

redirect to target

Parameters

Definition at line 172 of file class.ilContainerReferenceGUI.php.

173 {
174 $ilCtrl = $this->ctrl;
175
176 $ilCtrl->setParameterByClass("ilrepositorygui", "ref_id", $this->object->getTargetRefId());
177 $ilCtrl->redirectByClass("ilrepositorygui", "");
178 }

References ilObjectGUI\$ctrl.

◆ saveObject()

ilContainerReferenceGUI::saveObject ( )

save object

@access public

Parameters

return

Reimplemented from ilObjectGUI.

Reimplemented in ilObjStudyProgrammeReferenceGUI.

Definition at line 211 of file class.ilContainerReferenceGUI.php.

212 {
213 $ilAccess = $this->access;
214
215 if (!(int) $_REQUEST['target_id']) {
216 ilUtil::sendFailure($this->lng->txt('select_one'));
217 $this->createObject();
218 return false;
219 }
220 if (!$ilAccess->checkAccess('visible', '', (int) $_REQUEST['target_id'])) {
221 ilUtil::sendFailure($this->lng->txt('permission_denied'));
222 $this->createObject();
223 return false;
224 }
225
226 parent::saveObject();
227 }
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References $access, createObject(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ updateObject()

ilContainerReferenceGUI::updateObject ( )

update title

Reimplemented from ilObjectGUI.

Definition at line 419 of file class.ilContainerReferenceGUI.php.

420 {
421 $this->checkPermission('write');
422
423 $ilAccess = $this->access;
424 $form = $this->initForm();
425 if (
426 $form->checkInput() &&
427 $this->loadPropertiesFromSettingsForm($form)
428 ) {
429 $this->object->update();
430 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
431 $this->ctrl->redirect($this, 'edit');
432 }
433 $form->setValuesByPost();
434 ilUtil::sendFailure($this->lng->txt('err_check_input'));
435 $this->editObject($form);
436 return true;
437 }
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.

References $access, $form, ilObjectGUI\checkPermission(), ilObjectGUI\editObject(), initForm(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

Field Documentation

◆ $access

◆ $error

ilContainerReferenceGUI::$error
protected

Definition at line 65 of file class.ilContainerReferenceGUI.php.

Referenced by createObject().

◆ $existing_objects

ilContainerReferenceGUI::$existing_objects = array()
protected

Definition at line 73 of file class.ilContainerReferenceGUI.php.

◆ $form

◆ $locator

ilContainerReferenceGUI::$locator
protected

Definition at line 50 of file class.ilContainerReferenceGUI.php.

Referenced by addLocatorItems().

◆ $reference_type

ilContainerReferenceGUI::$reference_type
protected

Definition at line 82 of file class.ilContainerReferenceGUI.php.

Referenced by getReferenceType().

◆ $settings

ilContainerReferenceGUI::$settings
protected

Definition at line 70 of file class.ilContainerReferenceGUI.php.

Referenced by createObject().

◆ $tabs

ilContainerReferenceGUI::$tabs
protected

Definition at line 45 of file class.ilContainerReferenceGUI.php.

Referenced by editObject(), and executeCommand().

◆ $target_type

ilContainerReferenceGUI::$target_type
protected

Definition at line 78 of file class.ilContainerReferenceGUI.php.

Referenced by getTargetType().

◆ $user

ilContainerReferenceGUI::$user
protected

◆ MAX_SELECTION_ENTRIES

const ilContainerReferenceGUI::MAX_SELECTION_ENTRIES = 50

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

◆ MODE_CREATE

const ilContainerReferenceGUI::MODE_CREATE = 1

Definition at line 39 of file class.ilContainerReferenceGUI.php.

◆ MODE_EDIT

const ilContainerReferenceGUI::MODE_EDIT = 2

Definition at line 40 of file class.ilContainerReferenceGUI.php.


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