ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilRemoteObjectBaseGUI Class Reference
+ Inheritance diagram for ilRemoteObjectBaseGUI:
+ Collaboration diagram for ilRemoteObjectBaseGUI:

Public Member Functions

 __construct ($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
 Constructor.
 executeCommand ()
 execute command
 showObject ()
 show remote object
 setTabs ()
 get tabs
 callObject ()
 call remote object
 infoScreenObject ()
 this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed
 infoScreen ()
 show info screen
 editObject (ilPropertyFormGUI $a_form=null)
 Edit settings.
 updateObject ()
 update object
- Public Member Functions inherited from ilObject2GUI
 delete ()
 Display delete confirmation form (repository/workspace switch)
 confirmedDelete ()
 Delete objects (repository/workspace switch)
 getHTML ()
 withReferences ()
 Final/Private declaration of unchanged parent methods.
 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
 getCreationMode ()
 get creation mode
 isVisible ()
 trash ()
 undelete ()
 cancelDelete ()
 removeFromSystem ()
 cloneAll ()
 view ()
 view object content (repository/workspace switch)
 getType ()
 Functions that must be overwritten.
 create ()
 Deleted in ilObject.
 save ()
 edit ()
 update ()
 cancel ()
 importFile ()
 Import.
- Public Member Functions inherited from ilObjectGUI
 ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
 Constructor public.
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled
 cancelDeleteObject ()
 cancel deletion of object
 cancelObject ($in_rep=false)
 cancel action and go back to previous page public
 createObject ()
 create new object form
 cancelCreation ()
 cancel create action and go back to repository parent
 saveObject ()
 save object
 editObject ()
 edit object
 getFormAction ($a_cmd, $a_formaction="")
 get form action for command (command is method name without "Object", e.g.
 isVisible ($a_ref_id, $a_type)
 viewObject ()
 list childs of current object
 deleteObject ($a_error=false)
 Display deletion confirmation screen.
 cloneAllObject ()
 Clone single (not container object) Method is overwritten in ilContainerGUI.

Static Public Member Functions

static _goto ($a_target)
 redirect script

Protected Member Functions

 addCustomInfoFields (ilInfoScreenGUI $a_info)
 Add custom fields to info screen.
 initEditForm ()
 Init edit settings form.
 addCustomEditForm (ilPropertyFormGUI $a_form)
 Add custom fields to edit form.
 updateCustomValues (ilPropertyFormGUI $a_form)
 Update object custom values.
- Protected Member Functions inherited from ilObject2GUI
 afterConstructor ()
 Do anything that should be done after constructor in here.
 assignObject ()
 create object instance as internal property (repository/workspace switch)
 getAccessHandler ()
 Get access handler.
 setLocator ()
 set Locator
 deleteConfirmation ()
 Display delete confirmation form (workspace specific)
 deleteConfirmedObjects ()
 Delete objects (workspace specific)
 prepareOutput ()
 prepare output
 setTitleAndDescription ()
 called by prepare output
 showUpperIcon ()
 omitLocator ($a_omit=true)
 getTargetFrame ($a_cmd, $a_target_frame="")
 get target frame for command (command is method name without "Object", e.g.
 setTargetFrame ($a_cmd, $a_target_frame)
 set specific target frame for command
 getCenterColumnHTML ()
 Get center column.
 getRightColumnHTML ()
 Display right column.
 setColumnSettings ($column_gui)
 May be overwritten in subclasses.
 checkPermission ($a_perm, $a_cmd="")
 showPossibleSubObjects ()
 show possible subobjects (pulldown menu)
 redirectToRefId ()
 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.
 fillCloneSearchTemplate ($a_tpl_varname, $a_type)
 searchCloneSource ()
 buildCloneSelect ($existing_objs)
 addAdminLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded)
 getReturnLocation ()
 Deprecated functions.
 setReturnLocation ()
 showActions ()
 getTitlesByRefId ()
 getTabs ()
 __showButton ()
 hitsperpageObject ()
 __initTableGUI ()
 __setTableGUIBasicData ()
 __showClipboardTable ()
 addLocatorItems ()
 Functions to be overwritten.
 initCreationForms ($a_new_type)
 Init creation froms.
 putObjectInTree (ilObject $a_obj, $a_parent_node_id=null)
 Add object to tree at given position.
 checkPermissionBool ($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
 Check permission.
 initHeaderAction ($a_sub_type=null, $a_sub_id=null)
 Add header action menu.
 redrawHeaderAction ()
 Updating icons after ajax call.
 getPermanentLinkWidget ($a_append=null, $a_center=false)
- Protected Member Functions inherited from ilObjectGUI
 insertHeaderAction ($a_list_gui)
 Insert header action into main template.
 addHeaderAction ()
 Add header action menu.
 redrawHeaderActionObject ()
 Ajax call: redraw action header only.
 setAdminTabs ()
 set admin tabs public
 getCreationFormsHTML (array $a_forms)
 Get HTML for creation forms (accordion)
 initCreateForm ($a_new_type)
 Init object creation form.
 initDidacticTemplate (ilPropertyFormGUI $form)
 Show didactic template types.
 addDidacticTemplateOptions (array &$a_options)
 Add custom templates.
 getDidacticTemplateVar ($a_type)
 Get didactic template setting from creation screen.
 afterSave (ilObject $a_new_object)
 Post (successful) object creation hook.
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form.
 getEditFormValues ()
 Get values for edit form.
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields.
 updateCustom (ilPropertyFormGUI $a_form)
 Insert custom update form values into object.
 afterUpdate ()
 Post (successful) object update hook.
 initImportForm ($a_new_type)
 Init object import form.
 importFileObject ($parent_id=null)
 Import.
 afterImport (ilObject $a_new_object)
 Post (successful) object import hook.
 setFormAction ($a_cmd, $a_formaction)
 set specific form action for command
 getReturnLocation ($a_cmd, $a_location="")
 get return location for command (command is method name without "Object", e.g.
 setReturnLocation ($a_cmd, $a_location)
 set specific return location for command
 getTemplateFile ($a_cmd, $a_type="")
 get a template blockfile format: tpl.
 getTitlesByRefId ($a_ref_ids)
 get Titles of objects this method is used for error messages in methods cut/copy/paste
 getTabs (&$tabs_gui)
 get tabs abstract method.
 __showButton ($a_cmd, $a_text, $a_target= '')
 __setTableGUIBasicData (&$tbl, &$result_set, $a_from="")
 standard implementation for tables use 'from' variable use different initial setting of table
 __showClipboardTable ($a_result_set, $a_from="")
 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
 checkPermission ($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
 Check permission and redirect on error.

Additional Inherited Members

- Data Fields inherited from ilObject2GUI
 $tree
const OBJECT_ID = 0
const REPOSITORY_NODE_ID = 1
const WORKSPACE_NODE_ID = 2
const REPOSITORY_OBJECT_ID = 3
const WORKSPACE_OBJECT_ID = 4
- Protected Attributes inherited from ilObject2GUI
 $object_id
 $node_id
 $creation_forms = array()
 $id_type = array()
 $parent_id
 $access_handler

Detailed Description

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

Definition at line 13 of file class.ilRemoteObjectBaseGUI.php.

Constructor & Destructor Documentation

ilRemoteObjectBaseGUI::__construct (   $a_id = 0,
  $a_id_type = self::REPOSITORY_NODE_ID,
  $a_parent_node_id = 0 
)

Constructor.

Parameters
int$a_id
int$a_id_type
int$a_parent_node_id

Reimplemented from ilObject2GUI.

Reimplemented in ilObjRemoteCategoryGUI, ilObjRemoteFileGUI, ilObjRemoteGlossaryGUI, ilObjRemoteLearningModuleGUI, ilObjRemoteWikiGUI, ilObjRemoteCourseGUI, ilObjRemoteGroupGUI, and ilObjRemoteTestGUI.

Definition at line 15 of file class.ilRemoteObjectBaseGUI.php.

{
parent::__construct($a_id, $a_id_type, $a_parent_node_id);
$this->lng->loadLanguageModule('ecs');
}

Member Function Documentation

static ilRemoteObjectBaseGUI::_goto (   $a_target)
static

redirect script

Parameters
string$a_target

Definition at line 334 of file class.ilRemoteObjectBaseGUI.php.

References $_GET, $ilErr, ilObjectGUI\$lng, ilObject\_lookupObjId(), ilObject\_lookupTitle(), exit, and ilUtil\sendFailure().

{
global $ilErr, $lng, $ilAccess;
//static if ($this->checkPermissionBool("visible", "", "", $a_target))
if($ilAccess->checkAccess('visible','',$a_target))
{
$_GET["cmd"] = "infoScreen";
$_GET["ref_id"] = $a_target;
$_GET["baseClass"] = "ilRepositoryGUI";
include("ilias.php");
}
//static else if ($this->checkPermissionBool("read", "", "", ROOT_FOLDER_ID))
if($ilAccess->checkAccess('read','',ROOT_FOLDER_ID))
{
$_GET["cmd"] = "frameset";
$_GET["target"] = "";
$_GET["ref_id"] = ROOT_FOLDER_ID;
ilUtil::sendFailure(sprintf($lng->txt("msg_no_perm_read_item"),
$_GET["baseClass"] = "ilRepositoryGUI";
include("ilias.php");
}
$ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
}

+ Here is the call graph for this function:

ilRemoteObjectBaseGUI::addCustomEditForm ( ilPropertyFormGUI  $a_form)
protected

Add custom fields to edit form.

Parameters
ilPropertyFormGUI$a_form

Reimplemented in ilObjRemoteCourseGUI, ilObjRemoteGroupGUI, ilObjRemoteTestGUI, ilObjRemoteGlossaryGUI, ilObjRemoteLearningModuleGUI, and ilObjRemoteWikiGUI.

Definition at line 278 of file class.ilRemoteObjectBaseGUI.php.

Referenced by initEditForm().

{
}

+ Here is the caller graph for this function:

ilRemoteObjectBaseGUI::addCustomInfoFields ( ilInfoScreenGUI  $a_info)
protected

Add custom fields to info screen.

Parameters
ilInfoScreenGUI$a_info

Reimplemented in ilObjRemoteFileGUI, ilObjRemoteGlossaryGUI, ilObjRemoteLearningModuleGUI, ilObjRemoteWikiGUI, ilObjRemoteCourseGUI, ilObjRemoteGroupGUI, and ilObjRemoteTestGUI.

Definition at line 200 of file class.ilRemoteObjectBaseGUI.php.

Referenced by infoScreen().

{
}

+ Here is the caller graph for this function:

ilRemoteObjectBaseGUI::callObject ( )

call remote object

Returns
bool

Definition at line 109 of file class.ilRemoteObjectBaseGUI.php.

References infoScreenObject(), ilUtil\redirect(), and ilUtil\sendFailure().

{
// check if the assigned object is hosted on the same installation
$link = $this->object->getFullRemoteLink();
if($link)
{
return true;
}
else
{
ilUtil::sendFailure('Cannot call remote object.');
$this->infoScreenObject();
return false;
}
}

+ Here is the call graph for this function:

ilRemoteObjectBaseGUI::editObject ( ilPropertyFormGUI  $a_form = null)

Edit settings.

Parameters
ilPropertyFormGUI$a_form

Definition at line 210 of file class.ilRemoteObjectBaseGUI.php.

References $ilErr, ilObject2GUI\checkPermissionBool(), and initEditForm().

{
global $ilErr,$ilTabs;
if(!$this->checkPermissionBool('write'))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
}
$ilTabs->activateTab('edit');
if(!$a_form)
{
$a_form = $this->initEditForm();
}
$this->tpl->setContent($a_form->getHTML());
}

+ Here is the call graph for this function:

ilRemoteObjectBaseGUI::executeCommand ( )

execute command

Reimplemented from ilObject2GUI.

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

References $cmd, ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), infoScreen(), and ilObject2GUI\prepareOutput().

{
global $ilTabs;
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
$this->prepareOutput();
switch($next_class)
{
case 'ilinfoscreengui':
// forwards command
$this->infoScreen();
break;
case 'ilpermissiongui':
$ilTabs->activateTab('id_permissions');
include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
$this->ctrl->forwardCommand(new ilPermissionGUI($this));
break;
case "ilcommonactiondispatchergui":
include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
$this->ctrl->forwardCommand($gui);
break;
default:
if(!$cmd || $cmd == 'view')
{
$cmd = "editSettings";
}
$cmd .= "Object";
$this->$cmd();
break;
}
return true;
}

+ Here is the call graph for this function:

ilRemoteObjectBaseGUI::infoScreen ( )

show info screen

Definition at line 141 of file class.ilRemoteObjectBaseGUI.php.

References $ilErr, $ilUser, addCustomInfoFields(), ilObject2GUI\checkPermissionBool(), ilObject2GUI\getType(), ilAdvancedMDRecordGUI\MODE_INFO, and ilAdvancedMDRecordGUI\setInfoObject().

Referenced by executeCommand(), and infoScreenObject().

{
global $ilErr,$ilUser,$ilTabs;
if(!$this->checkPermissionBool('visible'))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
}
$ilTabs->activateTab('info');
include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
$info = new ilInfoScreenGUI($this);
if($ilUser->getId() == ANONYMOUS_USER_ID ||
$this->object->isLocalObject())
{
$info->addButton($this->lng->txt($this->getType().'_call'),
$this->object->getRemoteLink(),
'target="_blank"');
}
else
{
$info->addButton($this->lng->txt($this->getType().'_call'),
$this->ctrl->getLinkTarget($this,'call'),
'target="_blank"');
}
$info->addSection($this->lng->txt('ecs_general_info'));
$info->addProperty($this->lng->txt('title'),$this->object->getTitle());
if(strlen($this->object->getOrganization()))
{
$info->addProperty($this->lng->txt('organization'),$this->object->getOrganization());
}
if(strlen($this->object->getDescription()))
{
$info->addProperty($this->lng->txt('description'),$this->object->getDescription());
}
if(strlen($loc = $this->object->getLocalInformation()))
{
$info->addProperty($this->lng->txt('ecs_local_information'),$this->object->getLocalInformation());
}
$this->addCustomInfoFields($info);
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
$this->getType(),$this->object->getId());
$record_gui->setInfoObject($info);
$record_gui->parse();
$this->ctrl->forwardCommand($info);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRemoteObjectBaseGUI::infoScreenObject ( )

this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually, if everything works through ilCtrl in the future this may be changed

Definition at line 131 of file class.ilRemoteObjectBaseGUI.php.

References infoScreen().

Referenced by callObject().

{
$this->ctrl->setCmd("showSummary");
$this->ctrl->setCmdClass("ilinfoscreengui");
$this->infoScreen();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRemoteObjectBaseGUI::initEditForm ( )
protected

Init edit settings form.

Returns
ilPropertyFormGUI

Reimplemented from ilObjectGUI.

Definition at line 233 of file class.ilRemoteObjectBaseGUI.php.

References addCustomEditForm(), ilObject2GUI\getType(), ilAdvancedMDRecordGUI\MODE_EDITOR, ilAdvancedMDRecordGUI\setPropertyForm(), ilTextInputGUI\setValue(), and ilTextAreaInputGUI\setValue().

Referenced by editObject(), and updateObject().

{
include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
$form = new ilPropertyFormGUI();
$form->setFormAction($this->ctrl->getFormAction($this));
$form->setTitle($this->lng->txt('ecs_general_info'));
$form->addCommandButton('update',$this->lng->txt('save'));
$form->addCommandButton('edit',$this->lng->txt('cancel'));
$text = new ilTextInputGUI($this->lng->txt('title'),'title');
$text->setValue($this->object->getTitle());
$text->setSize(40);
$text->setMaxLength(128);
$text->setDisabled(true);
$form->addItem($text);
$area = new ilTextAreaInputGUI($this->lng->txt('description'),'description');
$area->setValue($this->object->getDescription());
$area->setRows(3);
$area->setCols(80);
$area->setDisabled(true);
$form->addItem($area);
$area = new ilTextAreaInputGUI($this->lng->txt('ecs_local_information'),'local_info');
$area->setValue($this->object->getLocalInformation());
$area->setRows(3);
$area->setCols(80);
$form->addItem($area);
$this->addCustomEditForm($form);
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
$this->getType(),$this->object->getId());
$record_gui->setPropertyForm($form);
$record_gui->parse();
return $form;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRemoteObjectBaseGUI::setTabs ( )

get tabs

Reimplemented from ilObject2GUI.

Definition at line 84 of file class.ilRemoteObjectBaseGUI.php.

References ilObject2GUI\checkPermissionBool().

{
global $ilTabs;
if($this->checkPermissionBool('visible'))
{
$ilTabs->addTab("info", $this->lng->txt("info_short"),
$this->ctrl->getLinkTarget($this, "infoScreen"));
}
if($this->checkPermissionBool('write'))
{
$ilTabs->addTab("edit", $this->lng->txt("edit"),
$this->ctrl->getLinkTarget($this, "edit"));
}
// will add permissions if needed
}

+ Here is the call graph for this function:

ilRemoteObjectBaseGUI::showObject ( )

show remote object

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

References $ilUser, and ilUtil\redirect().

{
global $ilUser;
if($ilUser->getId() == ANONYMOUS_USER_ID ||
$this->object->isLocalObject())
{
ilUtil::redirect($this->object->getRemoteLink());
}
else
{
$link = $this->object->getFullRemoteLink();
}
}

+ Here is the call graph for this function:

ilRemoteObjectBaseGUI::updateCustomValues ( ilPropertyFormGUI  $a_form)
protected

Update object custom values.

Parameters
ilPropertyFormGUI$a_form

Definition at line 324 of file class.ilRemoteObjectBaseGUI.php.

Referenced by updateObject().

{
}

+ Here is the caller graph for this function:

ilRemoteObjectBaseGUI::updateObject ( )

update object

Reimplemented from ilObjectGUI.

Definition at line 286 of file class.ilRemoteObjectBaseGUI.php.

References $ilErr, ilObject2GUI\checkPermissionBool(), ilObjectGUI\editObject(), ilObject2GUI\getType(), initEditForm(), ilAdvancedMDRecordGUI\loadFromPost(), ilAdvancedMDRecordGUI\MODE_EDITOR, ilUtil\sendSuccess(), and updateCustomValues().

{
global $ilErr;
if(!$this->checkPermissionBool('write'))
{
$ilErr->raiseError($this->lng->txt('msg_no_perm_read'),$ilErr->MESSAGE);
}
$form = $this->initEditForm();
if($form->checkInput())
{
$this->object->setLocalInformation($a_form->getInput('local_info'));
$this->updateCustomValues($form);
$this->object->update();
// Save advanced meta data
include_once('Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
$this->getType(), $this->object->getId());
$record_gui->loadFromPost();
$record_gui->saveValues();
ilUtil::sendSuccess($this->lng->txt("settings_saved"));
$this->editObject();
}
$form->setValuesByPost();
$this->editObject($form);
}

+ Here is the call graph for this function:


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