Public Member Functions | Data Fields

ilObjFolderGUI Class Reference

Inheritance diagram for ilObjFolderGUI:
Collaboration diagram for ilObjFolderGUI:

Public Member Functions

 ilObjFolderGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=false)
 Constructor public.
 viewObject ()
 list childs of current object
executeCommand ()
 execute command note: this method is overwritten in all container objects
 setFolderTree ($a_tree)
 set tree
 createObject ()
 create new object form
 saveObject ($a_parent=0)
 save object
 updateObject ($a_return_to_parent=false)
 updates object entry in object_data
 getTabs (&$tabs_gui)
 common tabs for all container objects (should be called at the end of child getTabs() method
 initCourseContentInterface ()
 initConditionHandlerGUI ($item_id)
 __setSubTabs ($a_tab)
 set sub tabs
 _goto ($a_target)
 goto target group

Data Fields

 $folder_tree

Detailed Description

Definition at line 41 of file class.ilObjFolderGUI.php.


Member Function Documentation

ilObjFolderGUI::__setSubTabs ( a_tab  ) 

set sub tabs

Definition at line 346 of file class.ilObjFolderGUI.php.

References $_GET, and $rbacsystem.

Referenced by executeCommand().

        {
                global $rbacsystem,$ilUser;
        
                switch ($a_tab)
                {
                                
                        case "activation":
                                
                                $this->tabs_gui->addSubTabTarget("activation",
                                                                                                 $this->ctrl->getLinkTargetByClass('ilCourseItemAdministrationGUI','edit'),
                                                                                                 "edit", get_class($this));
                                $this->ctrl->setParameterByClass('ilconditionhandlerinterface','item_id',(int) $_GET['item_id']);
                                $this->tabs_gui->addSubTabTarget("preconditions",
                                                                                                 $this->ctrl->getLinkTargetByClass('ilConditionHandlerInterface','listConditions'),
                                                                                                 "", "ilConditionHandlerInterface");
                                break;
                }
        }

Here is the caller graph for this function:

ilObjFolderGUI::_goto ( a_target  ) 

goto target group

Definition at line 369 of file class.ilObjFolderGUI.php.

References $_GET, $ilErr, ilObjectGUI::$lng, and exit.

        {
                global $ilAccess, $ilErr, $lng;

                if ($ilAccess->checkAccess("read", "", $a_target))
                {
                        $_GET["cmd"] = "frameset";
                        $_GET["ref_id"] = $a_target;
                        include("repository.php");
                        exit;
                }
                /*
                else
                {
                        // to do: force flat view
                        
                        // no info screen for folders
                        if ($ilAccess->checkAccess("visible", "", $a_target))
                        {
                                $_GET["cmd"] = "infoScreen";
                                $_GET["ref_id"] = $a_target;
                                include("repository.php");
                                exit;
                        }
                        else
                        {
                                // This part will never be reached
                                if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID))
                                {
                                        $_GET["cmd"] = "frameset";
                                        $_GET["target"] = "";
                                        $_GET["ref_id"] = ROOT_FOLDER_ID;
                                        sendInfo(sprintf($lng->txt("msg_no_perm_read_item"),
                                                ilObject::_lookupTitle(ilObject::_lookupObjId($a_target))), true);
                                        include("repository.php");
                                        exit;
                                }
                        }
                }
                */
                $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
        }

ilObjFolderGUI::createObject (  ) 

create new object form

public

Reimplemented from ilObjectGUI.

Definition at line 161 of file class.ilObjFolderGUI.php.

References $_GET, $_POST, $_SESSION, ilObjectGUI::$data, $key, ilObjectGUI::$lng, ilObjectGUI::getFormAction(), ilObjectGUI::getTargetFrame(), ilObjectGUI::getTemplateFile(), ilUtil::prepareFormOutput(), and ilUtil::stripSlashes().

        {
                global $lng;

                $this->lng =& $lng;

                $new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"];

                // fill in saved values in case of error
                $data = array();
                $data["fields"] = array();
                $data["fields"]["title"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["title"],true);
                $data["fields"]["desc"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["desc"]);

                $this->getTemplateFile("edit",$new_type);

                foreach ($data["fields"] as $key => $val)
                {
                        $this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key));
                        $this->tpl->setVariable(strtoupper($key), $val);
                }

                $this->tpl->setVariable("FORMACTION", $this->getFormAction("save",$this->ctrl->getFormAction($this)."&new_type=".$new_type));
                $this->tpl->setVariable("TXT_HEADER", $this->lng->txt($this->type."_new"));
                $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
                $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt($this->type."_add"));
                $this->tpl->setVariable("CMD_SUBMIT", "save");
                $this->tpl->setVariable("TARGET", $this->getTargetFrame("save"));
                $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
        }

Here is the call graph for this function:

& ilObjFolderGUI::executeCommand (  ) 

execute command note: this method is overwritten in all container objects

Reimplemented from ilContainerGUI.

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

References $_GET, $cmd, __setSubTabs(), and ilObjectGUI::prepareOutput().

        {
                global $ilUser;

                $next_class = $this->ctrl->getNextClass($this);
                $cmd = $this->ctrl->getCmd();
                $this->prepareOutput();

                switch ($next_class)
                {
                        case "ilconditionhandlerinterface":
                                include_once './classes/class.ilConditionHandlerInterface.php';

                                if($_GET['item_id'])
                                {
                                        $this->ctrl->saveParameter($this,'item_id',$_GET['item_id']);
                                        $this->__setSubTabs('activation');
                                        $this->tabs_gui->setTabActive('view_content');

                                        $new_gui =& new ilConditionHandlerInterface($this,(int) $_GET['item_id']);
                                        $this->ctrl->forwardCommand($new_gui);
                                }
                                else
                                {
                                        $new_gui =& new ilConditionHandlerInterface($this);
                                        $this->ctrl->forwardCommand($new_gui);
                                }
                                break;
                                
                        case 'ilpermissiongui':
                                        include_once("./classes/class.ilPermissionGUI.php");
                                        $perm_gui =& new ilPermissionGUI($this);
                                        $ret =& $this->ctrl->forwardCommand($perm_gui);
                                        break;

                        case 'ilcoursecontentgui':

                                include_once './course/classes/class.ilCourseContentGUI.php';
                                $course_content_obj = new ilCourseContentGUI($this);
                                $this->ctrl->forwardCommand($course_content_obj);
                                break;

                        case "illearningprogressgui":
                                include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
                                
                                $new_gui =& new ilLearningProgressGUI(LP_MODE_REPOSITORY,
                                                                                                          $this->object->getRefId(),
                                                                                                          $_GET['user_id'] ? $_GET['user_id'] : $ilUser->getId());
                                $this->ctrl->forwardCommand($new_gui);
                                $this->tabs_gui->setTabActive('learning_progress');
                                break;


                        default:
                                if (empty($cmd))
                                {
                                        $cmd = "view";
                                }
                                $cmd .= "Object";
                                $this->$cmd();
                                break;
                }
        }

Here is the call graph for this function:

ilObjFolderGUI::getTabs ( &$  tabs_gui  ) 

common tabs for all container objects (should be called at the end of child getTabs() method

Reimplemented from ilContainerGUI.

Definition at line 264 of file class.ilObjFolderGUI.php.

References $_SESSION, $rbacsystem, and ilObjUserTracking::_enabledLearningProgress().

        {
                global $rbacsystem;

                $this->ctrl->setParameter($this,"ref_id",$this->ref_id);

                $tabs_gui->setTabActive("");
                if ($rbacsystem->checkAccess('read',$this->ref_id))
                {
                        $tabs_gui->addTarget("view_content",
                                $this->ctrl->getLinkTarget($this, ""), 
                                array("", "view", "cciMove", "enableAdministrationPanel", 
                                        "disableAdministrationPanel", "render"), 
                                get_class($this));
                }
                
                if ($rbacsystem->checkAccess('write',$this->ref_id))
                {
                        $tabs_gui->addTarget("edit_properties",
                                $this->ctrl->getLinkTarget($this, "edit"), "edit", get_class($this));
                }

                // learning progress
                include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
                if($rbacsystem->checkAccess('read',$this->ref_id) and ilObjUserTracking::_enabledLearningProgress())
                {
                        $tabs_gui->addTarget('learning_progress',
                                                                 $this->ctrl->getLinkTargetByClass(array('ilobjfoldergui','illearningprogressgui'),''),
                                                                 '',
                                                                 array('illplistofobjectsgui','illplistofsettingsgui','illearningprogressgui','illplistofprogressgui'));
                }

                if ($rbacsystem->checkAccess('edit_permission',$this->ref_id))
                {
                        $tabs_gui->addTarget("perm_settings",
                                $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
                }

                // show clipboard in repository
                if ($this->ctrl->getTargetScript() == "repository.php" and !empty($_SESSION['il_rep_clipboard']))
                {
                        $tabs_gui->addTarget("clipboard",
                                 $this->ctrl->getLinkTarget($this, "clipboard"), "clipboard", get_class($this));
                }

        }

Here is the call graph for this function:

ilObjFolderGUI::ilObjFolderGUI ( a_data,
a_id = 0,
a_call_by_reference = true,
a_prepare_output = false 
)

Constructor public.

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

References ilContainerGUI::ilContainerGUI().

        {
                $this->type = "fold";
                $this->ilContainerGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output, false);
        }

Here is the call graph for this function:

ilObjFolderGUI::initConditionHandlerGUI ( item_id  ) 

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

References $_GET.

        {
                include_once './classes/class.ilConditionHandlerInterface.php';

                if(!is_object($this->chi_obj))
                {
                        if($_GET['item_id'])
                        {
                                $this->chi_obj =& new ilConditionHandlerInterface($this,$item_id);
                                $this->ctrl->saveParameter($this,'item_id',$_GET['item_id']);
                        }
                        else
                        {
                                $this->chi_obj =& new ilConditionHandlerInterface($this);
                        }
                }
                return true;
        }

ilObjFolderGUI::initCourseContentInterface (  ) 

Definition at line 312 of file class.ilObjFolderGUI.php.

        {
                include_once "./course/classes/class.ilCourseContentInterface.php";
                        
                $this->cci_obj =& new ilCourseContentInterface($this,$this->object->getRefId());


                #aggregate($this,"ilCourseContentInterface");
                #$this->cci_init($this,$this->object->getRefId());
        }

ilObjFolderGUI::saveObject ( a_parent = 0  ) 

save object

public

Definition at line 197 of file class.ilObjFolderGUI.php.

References $_GET, $_POST, ilObjectGUI::$lng, sendInfo(), ilUtil::stripSlashes(), and ilObjectGUI::withReferences().

        {
                global $lng;

                $this->lng =& $lng;

                if ($a_parent == 0)
                {
                        $a_parent = $_GET["ref_id"];
                }

                // create and insert Folder in grp_tree
                include_once("classes/class.ilObjFolder.php");
                $folderObj = new ilObjFolder(0,$this->withReferences());
                $folderObj->setType($this->type);
                $folderObj->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"]));
                $folderObj->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"]));
                $folderObj->create();
                $this->object =& $folderObj;

                if (is_object($this->folder_tree))              // groups gui should call ObjFolderGUI->setFolderTree also
                {
                        $folderObj->setFolderTree($this->folder_tree);
                }
                else
                {
                        $folderObj->setFolderTree($this->tree);
                }

                if ($this->withReferences())            // check if this folders use references
                {                                                                       // note: e.g. folders in media pools don't
                        $folderObj->createReference();
                        $folderObj->setPermissions($a_parent);
                }

                $folderObj->putInTree($a_parent);
                        
                sendInfo($this->lng->txt("fold_added"),true);
                $this->ctrl->returnToParent($this);
                //$this->ctrl->redirect($this,"");
        }

Here is the call graph for this function:

ilObjFolderGUI::setFolderTree ( a_tree  ) 

set tree

Definition at line 151 of file class.ilObjFolderGUI.php.

        {
                $this->folder_tree =& $a_tree;
        }

ilObjFolderGUI::updateObject ( a_return_to_parent = false  ) 

updates object entry in object_data

public

Definition at line 244 of file class.ilObjFolderGUI.php.

References $_POST, sendInfo(), and ilUtil::stripSlashes().

        {
                $this->object->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"]));
                $this->object->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"]));
                $this->update = $this->object->update();

                sendInfo($this->lng->txt("msg_obj_modified"),true);

                if ($a_return_to_parent)
                {
                        $this->ctrl->returnToParent($this);
                }
                else
                {
                        $this->ctrl->redirect($this);
                }
        }

Here is the call graph for this function:

ilObjFolderGUI::viewObject (  ) 

list childs of current object

public

Reimplemented from ilObjectGUI.

Definition at line 56 of file class.ilObjFolderGUI.php.

References $_GET, ilObjectGUI::$tree, and ilContainerGUI::renderObject().

        {
                global $tree;

                if (strtolower($_GET["baseClass"]) == "iladministrationgui")
                {
                        parent::viewObject();
                        return true;
                }
                else if(!$tree->checkForParentType($this->ref_id,'crs'))
                {
                        //$this->ctrl->returnToParent($this);
                        $this->renderObject();
                }
                else
                {
                        include_once './course/classes/class.ilCourseContentGUI.php';
                        $course_content_obj = new ilCourseContentGUI($this);
                        
                        $this->ctrl->setCmdClass(get_class($course_content_obj));
                        $this->ctrl->forwardCommand($course_content_obj);
                }
                $this->tabs_gui->setTabActive('view_content');
                return true;
        }

Here is the call graph for this function:


Field Documentation

ilObjFolderGUI::$folder_tree

Definition at line 43 of file class.ilObjFolderGUI.php.


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