4include_once(
"./Services/Object/classes/class.ilObjectGUI.php");
 
   51    public function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0)
 
   60        $ilTabs = 
$DIC[
"ilTabs"];
 
   62        $ilAccess = 
$DIC[
"ilAccess"];
 
   63        $this->object_service = 
$DIC->object();
 
   72        $this->id_type = $a_id_type;
 
   73        $this->parent_id = $a_parent_node_id;
 
   77        $this->tabs_gui = $ilTabs;
 
   85        $this->locator = 
$DIC[
"ilLocator"];
 
   86        $this->
user = $DIC->user();
 
   87        $this->access = 
$DIC->access();
 
   90        $this->toolbar = 
$DIC->toolbar();
 
   94        switch ($this->id_type) {
 
   96                $this->node_id = $a_id;
 
   99                $this->access_handler = $ilAccess;
 
  100                $this->call_by_reference = 
true;  
 
  105                $this->object_id = $a_id;
 
  107                $this->access_handler = $ilAccess;
 
  113                $this->node_id = $a_id;
 
  114                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
 
  116                $this->object_id = $this->tree->lookupObjectId($this->node_id);
 
  117                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  124                $this->object_id = $a_id;
 
  125                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceTree.php";
 
  127                include_once 
"Services/PersonalWorkspace/classes/class.ilWorkspaceAccessHandler.php";
 
  133                $this->object_id = $a_id;
 
  134                include_once(
'./Modules/Portfolio/classes/class.ilPortfolioAccessHandler.php');
 
  140                $this->object_id = $a_id;
 
  141                include_once 
"Services/Object/classes/class.ilDummyAccessHandler.php";
 
  146        $this->ctrl->saveParameter($this, 
$params);
 
  151        if (!$this->object_id) {
 
  152            $this->creation_mode = 
true;
 
  154        if ($this->node_id) {
 
  156            if (!$this->parent_id && $this->tree) {
 
  157                $this->parent_id = $this->tree->getParentId($this->node_id);
 
  168        if (is_object($this->
object)) {
 
  169            $this->ctrl->setContext($this->object->getId(), $this->object->getType());
 
  187        $next_class = $this->ctrl->getNextClass($this);
 
  188        $cmd = $this->ctrl->getCmd();
 
  192        switch ($next_class) {
 
  193            case "ilworkspaceaccessgui":
 
  194                if ($this->node_id) {
 
  195                    $this->tabs_gui->activateTab(
"id_permissions");
 
  197                    include_once(
'./Services/PersonalWorkspace/classes/class.ilWorkspaceAccessGUI.php');
 
  199                    $this->ctrl->forwardCommand($wspacc);
 
  208                return $this->$cmd();
 
  219        if ($this->object_id != 0) {
 
  220            switch ($this->id_type) {
 
  257        $ilLocator = 
$DIC[
"ilLocator"];
 
  260        if ($this->omit_locator) {
 
  264        switch ($this->id_type) {
 
  269                $ilLocator->addRepositoryItems(
$ref_id);
 
  272                if (
$_GET[
"admin_mode"] == 
"" &&
 
  273                    strtolower($this->ctrl->getCmdClass()) == 
"ilobjrolegui") {
 
  274                    $this->ctrl->setParameterByClass(
 
  279                    $this->ctrl->setParameterByClass(
 
  285                        $this->lng->txt(
"role"),
 
  286                        $this->ctrl->getLinkTargetByClass(array(
"ilpermissiongui",
 
  287                            "ilobjrolegui"), 
"perm")
 
  292                if ($this->object_id) {
 
  308    public function delete()
 
  310        switch ($this->id_type) {
 
  313                return parent::deleteObject();
 
  338        $node_id = (int) $_REQUEST[
"item_ref_id"];
 
  341            $this->ctrl->redirect($this, 
"");
 
  345        $parent_node = $this->tree->getParentId(
$node_id);
 
  346        $this->ctrl->setParameter($this, 
"wsp_id", $parent_node);
 
  348        include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  350        $cgui->setHeaderText(
$lng->txt(
"info_delete_sure") . 
"<br/>" .
 
  351            $lng->txt(
"info_delete_warning_no_trash"));
 
  353        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  354        $cgui->setCancel(
$lng->txt(
"cancel"), 
"cancelDelete");
 
  355        $cgui->setConfirm(
$lng->txt(
"confirm"), 
"confirmedDelete");
 
  359            $children = $this->tree->getSubTree($this->tree->getNodeData(
$node_id));
 
  360            foreach ($children as $child) {
 
  369                    $this->ctrl->redirect($this);
 
  382        $tpl->setContent($cgui->getHTML());
 
  390        switch ($this->id_type) {
 
  393                return parent::confirmedDeleteObject();
 
  418        if (
sizeof(
$_POST[
"id"])) {
 
  420            $del_nodes = array();
 
  425            foreach ($del_nodes as 
$node_id => $node) {
 
  427                $this->tree->deleteReference(
$node_id);
 
  428                if ($this->tree->isInTree(
$node_id)) {
 
  429                    $this->tree->deleteTree($node);
 
  442            ilUtil::sendSuccess(
$lng->txt(
"msg_removed"), 
true);
 
  447        $this->ctrl->redirect($this, 
"");
 
  452        return parent::getHTML();
 
  460        return parent::withReferences();
 
  464        return parent::setCreationMode($a_mode);
 
  468        return parent::getCreationMode();
 
  472        return parent::prepareOutput($a_show_subobjects);
 
  476        return parent::setTitleAndDescription();
 
  480        return parent::showUpperIcon();
 
  485        return parent::omitLocator($a_omit);
 
  489        return parent::getTargetFrame($a_cmd, $a_target_frame);
 
  493        return parent::setTargetFrame($a_cmd, $a_target_frame);
 
  497        return parent::isVisible($a_ref_id, 
$a_type);
 
  501        return parent::getCenterColumnHTML();
 
  505        return parent::getRightColumnHTML();
 
  509        return parent::setColumnSettings($column_gui);
 
  513        return parent::checkPermission($a_perm, $a_cmd, 
$a_type, $a_ref_id);
 
  519        return parent::showPossibleSubObjects();
 
  524        return parent::trashObject();
 
  529        return parent::undeleteObject();
 
  533        return parent::cancelDeleteObject();
 
  537        return parent::removeFromSystemObject();
 
  541        return parent::redirectToRefId();
 
  547        return parent::fillCloneTemplate($a_tpl_varname, 
$a_type);
 
  551        return parent::fillCloneSearchTemplate($a_tpl_varname, 
$a_type);
 
  555        return parent::searchCloneSourceObject();
 
  559        return parent::cloneAllObject();
 
  563        return parent::buildCloneSelect($existing_objs);
 
  569        return parent::displayList();
 
  575        return parent::addAdminLocatorItems($a_do_not_add_object);
 
  583        switch ($this->id_type) {
 
  586                return parent::viewObject();
 
  590                return $this->render();
 
  608        $ilTabs = 
$DIC[
"ilTabs"];
 
  612        switch ($this->id_type) {
 
  618                        $lng->txt(
"perm_settings"),
 
  619                        $this->ctrl->getLinkTargetByClass(array(get_class($this), 
"ilpermissiongui"), 
"perm")
 
  627                if ($this->
checkPermissionBool(
"edit_permission") && in_array($this->type, array(
"file", 
"blog")) && $this->node_id) {
 
  630                        $lng->txt(
"wsp_permissions"),
 
  631                        $this->ctrl->getLinkTargetByClass(array(get_class($this), 
"ilworkspaceaccessgui"), 
"share")
 
  646        die(
"ilObject2GUI::getReturnLocation() is deprecated.");
 
  650        die(
"ilObject2GUI::setReturnLocation() is deprecated.");
 
  654        die(
"ilObject2GUI::showActions() is deprecated.");
 
  658        die(
"ilObject2GUI::getTabs() is deprecated.");
 
  662        die(
"ilObject2GUI::__showButton() is deprecated.");
 
  666        die(
"ilObject2GUI::hitsperpageObject() is deprecated.");
 
  670        die(
"ilObject2GUI::__initTableGUI() is deprecated.");
 
  674        die(
"ilObject2GUI::__setTableGUIBasicData() is deprecated.");
 
  708        parent::createObject();
 
  712        parent::saveObject();
 
  716        parent::editObject();
 
  720        parent::updateObject();
 
  724        parent::cancelObject();
 
  737        $forms = parent::initCreationForms($a_new_type);
 
  740        if ($this->id_type == self::WORKSPACE_NODE_ID) {
 
  741            unset($forms[self::CFORM_CLONE]);
 
  754        parent::importFileObject($this->parent_id);
 
  771        $this->object_id = $a_obj->
getId();
 
  773        if (!$a_parent_node_id) {
 
  778        if ((
int) $_REQUEST[
"crtptrefid"]) {
 
  779            $a_parent_node_id = (int) $_REQUEST[
"crtptrefid"];
 
  782        switch ($this->id_type) {
 
  785                if (!$this->node_id) {
 
  787                    $this->node_id = $a_obj->
getRefId();
 
  793                include_once 
"Services/AccessControl/classes/class.ilRbacLog.php";
 
  794                $rbac_log_roles = 
$rbacreview->getParentRoleIds($this->node_id, 
false);
 
  798                $this->ctrl->setParameter($this, 
"ref_id", $this->node_id);
 
  803                if (!$this->node_id) {
 
  804                    $this->node_id = $this->tree->insertObject($a_parent_node_id, $this->object_id);
 
  806                $this->
getAccessHandler()->setPermissions($a_parent_node_id, $this->node_id);
 
  808                $this->ctrl->setParameter($this, 
"wsp_id", $this->node_id);
 
  818        require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
 
  839        $a_callback_ref_id = (int) $a_callback_ref_id;
 
  840        if ($a_callback_ref_id) {
 
  842            $class_name = 
"ilObj" . 
$objDefinition->getClassName($callback_type) . 
"GUI";
 
  844            include_once(
$location . 
"/class." . $class_name . 
".php");
 
  845            if (in_array(strtolower($class_name), array(
"ilobjitemgroupgui"))) {
 
  846                $callback_obj = 
new $class_name($a_callback_ref_id);
 
  848                $callback_obj = 
new $class_name(
null, $a_callback_ref_id, 
true, 
false);
 
  850            $callback_obj->afterSaveCallback($a_obj);
 
  870        if ($a_perm == 
"create") {
 
  887        if ($this->obj_id && $this->object->getOwner() == 
$ilUser->getId()) {
 
  902        if ($this->id_type == self::WORKSPACE_NODE_ID) {
 
  903            if (!$this->creation_mode && $this->object_id) {
 
  904                include_once 
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
 
  913                $dispatcher->setSubObject($a_sub_type, $a_sub_id);
 
  915                include_once 
"Services/Object/classes/class.ilObjectListGUI.php";
 
  916                ilObjectListGUI::prepareJSLinks(
 
  917                    $this->ctrl->getLinkTarget($this, 
"redrawHeaderAction", 
"", 
true),
 
  918                    $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui", 
"ilnotegui"), 
"", 
"", 
true, 
false),
 
  919                    $this->ctrl->getLinkTargetByClass(array(
"ilcommonactiondispatchergui", 
"iltagginggui"), 
"", 
"", 
true, 
false)
 
  922                $lg = $dispatcher->initHeaderAction();
 
  924                if (is_object(
$lg)) {
 
  927                        $lg->setContainerObject($this);
 
  932                    $lg->enableNotes(
true);
 
  939            return parent::initHeaderAction();
 
  948        parent::redrawHeaderActionObject();
 
  953        if ($this->id_type == self::WORKSPACE_NODE_ID) {
 
  957        include_once(
'Services/PermanentLink/classes/class.ilPermanentLinkGUI.php');
 
  959        $plink->setIncludePermanentLinkText(
false);
 
  960        $plink->setAlignCenter($a_center);
 
  961        return $plink->getHTML();
 
  971        if ($this->id_type == self::REPOSITORY_NODE_ID) {
 
  972            parent::handleAutoRating($a_new_obj);
 
const PEAR_ERROR_CALLBACK
An exception for terminatinating execution or to throw for unit testing.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
Column user interface class.
Class ilCommonActionDispatcherGUI.
Confirmation screen class.
New implementation of ilObjectGUI.
getType()
Functions that must be overwritten.
setReturnLocation($a_cmd, $a_location)
set specific return location for command
setColumnSettings(ilColumnGUI $column_gui)
May be overwritten in subclasses.
executeCommand()
execute command
__setTableGUIBasicData(&$tbl, &$result_set, $a_from="")
standard implementation for tables use 'from' variable use different initial setting of table
handleAutoRating(ilObject $a_new_obj)
isVisible($a_ref_id, $a_type)
create()
Deleted in ilObject.
setTitleAndDescription()
called by prepare output
const PORTFOLIO_OBJECT_ID
setTabs()
create tabs (repository/workspace switch)
buildCloneSelect($existing_objs)
fillCloneTemplate($a_tpl_varname, $a_type)
Fill object clone template This method can be called from any object GUI class that wants to offer ob...
deleteConfirmation()
Display delete confirmation form (workspace specific)
getReturnLocation($a_cmd, $a_location="")
Deprecated functions.
const WORKSPACE_OBJECT_ID
getAccessHandler()
Get access handler.
redrawHeaderAction()
Updating icons after ajax call.
__showButton($a_cmd, $a_text, $a_target='')
prepareOutput($a_show_subobjects=true)
prepare output
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
Constructor.
omitLocator($a_omit=true)
getCenterColumnHTML()
Get center column.
getTargetFrame($a_cmd, $a_target_frame="")
get target frame for command (command is method name without "Object", e.g.
showPossibleSubObjects()
show possible subobjects (pulldown menu)
initCreationForms($a_new_type)
Init creation froms.
setTargetFrame($a_cmd, $a_target_frame)
set specific target frame for command
deleteConfirmedObjects()
Delete objects (workspace specific)
getTabs()
get tabs abstract method.
getPermanentLinkWidget($a_append=null, $a_center=false)
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add header action menu.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
getRightColumnHTML()
Display right column.
static handleAfterSaveCallback(ilObject $a_obj, $a_callback_ref_id)
After creation callback.
assignObject()
create object instance as internal property (repository/workspace switch)
setCreationMode($a_mode=true)
if true, a creation screen is displayed the current $_GET[ref_id] don't belong to the current class!...
view()
view object content (repository/workspace switch)
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
getCreationMode()
get creation mode
afterConstructor()
Do anything that should be done after constructor in here.
fillCloneSearchTemplate($a_tpl_varname, $a_type)
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
addLocatorItems()
Functions to be overwritten.
confirmedDelete()
Delete objects (repository/workspace switch)
withReferences()
Final/Private declaration of unchanged parent methods.
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 sav...
const REPOSITORY_OBJECT_ID
addAdminLocatorItems($a_do_not_add_object=false)
should be overwritten to add object specific items (repository items are preloaded)
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
static getClassByType($a_obj_type)
Get class by type.
Class ilObjectGUI Basic methods of all Output classes.
Class ilObject Basic functions for all objects.
createReference()
creates reference for object
static _lookupObjectId($a_ref_id)
lookup object id
setPermissions($a_parent_ref)
set permissions of object
getRefId()
get reference id @access public
getId()
get object id @access public
putInTree($a_parent_ref)
maybe this method should be in tree object!?
static _lookupType($a_id, $a_reference=false)
lookup object type
Class for permanent links.
Access handler for portfolio.
static add($a_action, $a_ref_id, array $a_diff, $a_source_ref_id=false)
static gatherFaPa($a_ref_id, array $a_role_ids, $a_add_action=false)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Access handler for personal workspace.
Tree handler for personal workspace.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.