Public Member Functions | Data Fields

ilRepositoryExplorer Class Reference

Inheritance diagram for ilRepositoryExplorer:
Collaboration diagram for ilRepositoryExplorer:

Public Member Functions

 ilRepositoryExplorer ($a_target)
 Constructor public.
 buildLinkTarget ($a_node_id, $a_type)
 note: most of this stuff is used by ilCourseContentInterface too
 buildEditLinkTarget ($a_node_id, $a_type)
 note: this method is not used by repository explorer any more but still by ilCourseContentInterface (should be redesigned)
 buildFrameTarget ($a_type, $a_child=0, $a_obj_id=0)
 STATIC, do not use $this inside!
 getImage ($a_name, $a_type="", $a_obj_id="")
 get image path
 isClickable ($a_type, $a_ref_id, $a_obj_id=0)
 showChilds ($a_ref_id, $a_obj_id=0)
 isVisible ($a_ref_id, $a_type)
 formatHeader (&$tpl, $a_obj_id, $a_option)
 overwritten method from base class public
 sortNodes ($a_nodes, $a_parent_obj_id)
 sort nodes

Data Fields

 $root_id
 $output
 $ctrl

Detailed Description

Definition at line 34 of file class.ilRepositoryExplorer.php.


Member Function Documentation

ilRepositoryExplorer::buildEditLinkTarget ( a_node_id,
a_type 
)

note: this method is not used by repository explorer any more but still by ilCourseContentInterface (should be redesigned)

Definition at line 160 of file class.ilRepositoryExplorer.php.

References $ilCtrl.

        {
                global $ilCtrl;

                switch($a_type)
                {
                        case "cat":
                                return "repository.php?cmd=edit&ref_id=".$a_node_id;
                                
                        case 'chat':
                                return 'ilias.php?baseClass=ilChatHandlerGUI&ref_id= '.$a_node_id;

                        case "lm":
                        case "dbk":
                                return "ilias.php?baseClass=ilLMEditorGUI&ref_id=".$a_node_id;

                        case "htlm":
                                return "ilias.php?baseClass=ilHTLMEditorGUI&ref_id=".$a_node_id;

                        case "sahs":
                                return "ilias.php?baseClass=ilSAHSEditGUI&ref_id=".$a_node_id;

                        case "mep":
                                return "ilias.php?baseClass=ilMediaPoolPresentationGUI&ref_id=".$a_node_id;

                        case "grp":
                                return; // following link is the same as "read" link
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjgroupgui";

                        case "crs":
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjcoursegui&cmd=edit";
                                return "ilias.php?ref_id=".$a_node_id."cmdClass=ilobjcoursegui&cmd=edit";
                                
                        case "frm":
                                return "repository.php?cmd=edit&ref_id=".$a_node_id;

                        case "glo":
                                return "ilias.php?baseClass=ilGlossaryEditorGUI&ref_id=".$a_node_id;

                        case "exc":
                                return "ilias.php?baseClass=ilExerciseHandlerGUI&cmd=view&ref_id=".$a_node_id;

                        case "fold":
                                return "repository.php?cmd=edit&ref_id=".$a_node_id;
                                
                        case "file":
                                return "repository.php?cmd=edit&cmdClass=ilobjfilegui&ref_id=".$a_node_id;

                        case 'tst':
                                return "ilias.php?baseClass=ilObjTestGUI&ref_id=".$a_node_id;
                                #return "assessment/test.php?ref_id=".$a_node_id;
                                
                        case 'svy':
                                return "survey/survey.php?ref_id=".$a_node_id;
                                
                        case 'qpl':
                                return "assessment/questionpool.php?ref_id=".$a_node_id
                                        ."&cmd=questions";
                                        
                        case 'spl':
                                return "survey/questionpool.php?ref_id=".$a_node_id
                                        ."&cmd=questions";

                        case 'svy':
                                return "survey/survey.php?ref_id=".$a_node_id;

                        case 'crsg':
                                return "repository.php?cmd=edit&ref_id=".$a_node_id;

                        case 'webr':
                                return "ilias.php?baseClass=ilLinkResourceHandlerGUI&cmd=editItems&ref_id=".$a_node_id;
                }
        }               

ilRepositoryExplorer::buildFrameTarget ( a_type,
a_child = 0,
a_obj_id = 0 
)

STATIC, do not use $this inside!

Note: this is used by course interface !?

Reimplemented from ilExplorer.

Definition at line 240 of file class.ilRepositoryExplorer.php.

References ilExplorer::$ilias, and ilFrameTargetInfo::_getFrame().

Referenced by ilCourseObjectivePresentationGUI::__showLearningMaterials(), ilCourseObjectivePresentationGUI::__showOtherResources(), ilPaymentBuyedObjectsGUI::showItems(), ilLMPresentationGUI::showPreconditionsOfPage(), and ilCourseContentGUI::showStartObjects().

        {
                global $ilias;
                
                switch($a_type)
                {
                        case "cat":
                                $t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "cat");
                                return $t_frame;

                        case "lm":
                        case "dbk":
                        case "htlm":
                        case "sahs":
                                if ($a_type == "sahs")
                                {
                                        return "_blank";
                                }
                                // Determine whether the view of a learning resource should
                                // be shown in the frameset of ilias, or in a separate window.
                                //$showViewInFrameset = $ilias->ini->readVariable("layout","view_target") == "frame";
                                $showViewInFrameset = true;

                                if ($showViewInFrameset) 
                                {
                                        return ilFrameTargetInfo::_getFrame("MainContent");
                                        //return "bottom";
                                }
                                else
                                {
                                        return "ilContObj".$a_obj_id;
                                }

                        case "grp":
                                $t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "grp");
                                return $t_frame;

                        case "crs":
                                $t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "crs");
                                return $t_frame;

                        case "frm":
                                return "";

                        case "glo":
                                return "";

                        case "tst":
                                //$showViewInFrameset = $ilias->ini->readVariable("layout","view_target") == "frame";
                                $showViewInFrameset = true;
                                if ($showViewInFrameset) 
                                {
                                        return ilFrameTargetInfo::_getFrame("MainContent");
                                        //return "bottom";
                                }
                                else
                                {
                                        return "ilTest".$a_obj_id;
                                }
                                break;

                        case "icrs":
                                $t_frame = ilFrameTargetInfo::_getFrame("RepositoryContent", "icrs");
                                return $t_frame;

                        default:
                                return "";
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilRepositoryExplorer::buildLinkTarget ( a_node_id,
a_type 
)

note: most of this stuff is used by ilCourseContentInterface too

Reimplemented from ilExplorer.

Definition at line 87 of file class.ilRepositoryExplorer.php.

References $ilCtrl.

Referenced by ilCourseObjectivePresentationGUI::__showLearningMaterials(), ilCourseObjectivePresentationGUI::__showOtherResources(), ilCourseObjectivePresentationGUI::__showTests(), ilObjForumGUI::getTabs(), ilPaymentBuyedObjectsGUI::showItems(), and ilLMPresentationGUI::showPreconditionsOfPage().

        {
                global $ilCtrl;

                switch($a_type)
                {
                        case "cat":
                                return "repository.php?ref_id=".$a_node_id;
                                
                        case 'chat':
                                return 'ilias.php?baseClass=ilChatHandlerGUI&ref_id= '.$a_node_id;

                        case "lm":
                        case "dbk":
                                return "ilias.php?baseClass=ilLMPresentationGUI&ref_id=".$a_node_id;

                        case "htlm":
                                return "ilias.php?baseClass=ilHTLMPresentationGUI&ref_id=".$a_node_id;

                        case "sahs":
                                return "ilias.php?baseClass=ilSAHSPresentationGUI&ref_id=".$a_node_id;

                        case "mep":
                                return "";

                        case "grp":
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjgroupgui";

                        case "crs":
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjcoursegui&cmd=view";
                                
                        case "frm":
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjforumgui";

                        case "glo":
                                return "ilias.php?baseClass=ilGlossaryPresentationGUI&ref_id=".$a_node_id;

                        case "exc":
                                return "ilias.php?baseClass=ilExerciseHandlerGUI&cmd=view&ref_id=".$a_node_id;

                        case "fold":
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjfoldergui";
                                
                        case "file":
                                return "repository.php?cmd=sendfile&ref_id=".$a_node_id;

                        case 'tst':
                                return "ilias.php?cmd=infoScreen&baseClass=ilObjTestGUI&ref_id=".$a_node_id;

                        case 'svy':
                                return "ilias.php?baseClass=ilObjSurveyGUI&cmd=infoScreen&ref_id=".$a_node_id;

                        case 'spl':
                                return "ilias.php?baseClass=ilObjSurveyQuestionPoolGUI&cmd=questions&ref_id=".$a_node_id;

                        case 'qpl':
                                return "ilias.php?baseClass=ilObjQuestionPoolGUI&cmd=questions&ref_id=".$a_node_id;

                        case 'crsg':
                                return "repository.php?ref_id=".$a_node_id;

                        case 'webr':
                                return "ilias.php?baseClass=ilLinkResourceHandlerGUI&ref_id=".$a_node_id;
                                
                        case "icrs":
                                return "repository.php?ref_id=".$a_node_id."&cmdClass=ilobjilinccoursegui";
                }
        }

Here is the caller graph for this function:

ilRepositoryExplorer::formatHeader ( &$  tpl,
a_obj_id,
a_option 
)

overwritten method from base class public

Parameters:
integer obj_id
integer array options
Returns:
string

Reimplemented from ilExplorer.

Definition at line 526 of file class.ilRepositoryExplorer.php.

References ilExplorer::$ilias, $lng, $title, $tpl, ilExplorer::$tree, and ilObject::_getIcon().

        {
                global $lng, $ilias, $tree;

                // custom icons
                /*
                if ($this->ilias->getSetting("custom_icons"))
                {
                        require_once("classes/class.ilContainer.php");
                        if (($path = ilContainer::_lookupIconPath($a_obj_id, "tiny")) == "")
                        {
                                $path = ilUtil::getImagePath("icon_root_s.gif");
                        }
                }*/
                
                $path = ilObject::_getIcon($a_obj_id, "tiny", "root");

                $tpl->setCurrentBlock("icon");
                $nd = $tree->getNodeData(ROOT_FOLDER_ID);
                $title = $nd["title"];
                if ($title == "ILIAS")
                {
                        $title = $lng->txt("repository");
                }

                $tpl->setVariable("ICON_IMAGE", $path);
                $tpl->setVariable("TXT_ALT_IMG", $title);
                $tpl->parseCurrentBlock();

                $tpl->setCurrentBlock("link");
                $tpl->setVariable("TITLE", $title);
                $tpl->setVariable("LINK_TARGET", "repository.php?ref_id=1");
                $tpl->setVariable("TARGET", " target=\"rep_content\"");
                $tpl->parseCurrentBlock();

                $tpl->setCurrentBlock("element");
                $tpl->parseCurrentBlock();
        }

Here is the call graph for this function:

ilRepositoryExplorer::getImage ( a_name,
a_type = "",
a_obj_id = "" 
)

get image path

Reimplemented from ilExplorer.

Definition at line 313 of file class.ilRepositoryExplorer.php.

References ilObject::_getIcon().

        {
                if ($a_type != "")
                {
                        return ilObject::_getIcon($a_obj_id, "tiny", $a_type);
                }
                
                return parent::getImage($a_name);
        }

Here is the call graph for this function:

ilRepositoryExplorer::ilRepositoryExplorer ( a_target  ) 

Constructor public.

Parameters:
string scriptname
int user_id

Definition at line 51 of file class.ilRepositoryExplorer.php.

References $ilCtrl, ilExplorer::$tree, ilExplorer::addFilter(), ilExplorer::ilExplorer(), ilExplorer::setFiltered(), ilExplorer::setFilterMode(), and ilExplorer::setSessionExpandVariable().

        {
                global $tree,$ilCtrl;

                $this->ctrl = $ilCtrl;

                parent::ilExplorer($a_target);
                $this->tree = $tree;
                $this->root_id = $this->tree->readRootId();
                $this->order_column = "title";
                $this->setSessionExpandVariable("repexpand");

                // please do not uncomment this
                $this->addFilter("root");
                $this->addFilter("cat");
                //$this->addFilter("exc");
                //$this->addFilter("sahs");
                $this->addFilter("grp");
                //$this->addFilter("lm");
                //$this->addFilter("htlm");
                //$this->addFilter("mep");
                //$this->addFilter("frm");
                //$this->addFilter("dbk");
                //$this->addFilter("chat");
                //$this->addFilter("glo");
                //$this->addFilter("file");
                $this->addFilter("icrs");
                $this->addFilter("crs");
                //$this->addFilter('tst');
                $this->setFiltered(true);
                $this->setFilterMode(IL_FM_POSITIVE);
        }

Here is the call graph for this function:

ilRepositoryExplorer::isClickable ( a_type,
a_ref_id,
a_obj_id = 0 
)

Definition at line 323 of file class.ilRepositoryExplorer.php.

References $res, ilExplorer::$tree, ilConditionHandler::_checkAllConditionsOfTarget(), ilObjCourse::_isActivated(), ilCourseParticipants::_isBlocked(), ilObject::_lookupObjectId(), and ilObjGlossary::_lookupOnline().

Referenced by ilCourseObjectivePresentationGUI::__showLearningMaterials(), ilCourseObjectivePresentationGUI::__showOtherResources(), and ilCourseObjectivePresentationGUI::__showTests().

        {
                global $rbacsystem,$tree,$ilDB,$ilUser;

                if(!ilConditionHandler::_checkAllConditionsOfTarget($a_ref_id,$a_obj_id))
                {
                        return false;
                }

                switch ($a_type)
                {
                        case "crs":
                                include_once './Modules/Course/classes/class.ilObjCourse.php';

                                // Has to be replaced by ilAccess calls
                                if(!ilObjCourse::_isActivated($a_obj_id) and !$rbacsystem->checkAccess('write',$a_ref_id))
                                {
                                        return false;
                                }
                                
                                include_once './Modules/Course/classes/class.ilCourseParticipants.php';

                                if(ilCourseParticipants::_isBlocked($a_obj_id,$ilUser->getId()))
                                {
                                        return false;
                                }
                                if(($rbacsystem->checkAccess('join',$a_ref_id) or
                                        $rbacsystem->checkAccess('read',$a_ref_id)))
                                {
                                        return true;
                                }
                                return false;

                        // visible groups can allways be clicked; group processing decides
                        // what happens next
                        case "grp":
                                return true;
                                break;

                        case 'tst':
                                if(!$rbacsystem->checkAccess("read", $a_ref_id))
                                {
                                        return false;
                                }

                                $query = sprintf("SELECT * FROM tst_tests WHERE obj_fi=%s",$a_obj_id);
                                $res = $ilDB->query($query);
                                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                                {
                                        return (bool) $row->complete;
                                }
                                return false;

                        case 'svy':
                                if(!$rbacsystem->checkAccess("read", $a_ref_id))
                                {
                                        return false;
                                }

                                $query = sprintf("SELECT * FROM survey_survey WHERE obj_fi=%s",$a_obj_id);
                                $res = $ilDB->query($query);
                                while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
                                {
                                        return (bool) $row->complete;
                                }
                                return false;

                        // media pools can only be edited
                        case "mep":
                                if ($rbacsystem->checkAccess("read", $a_ref_id))
                                {
                                        return true;
                                }
                                else
                                {
                                        return false;
                                }
                                break;

                        // all other types are only clickable, if read permission is given
                        default:
                                if ($rbacsystem->checkAccess("read", $a_ref_id))
                                {
                                        // check if lm is online
                                        if ($a_type == "lm")
                                        {
                                                include_once("./Modules/LearningModule/classes/class.ilObjLearningModule.php");
                                                $lm_obj =& new ilObjLearningModule($a_ref_id);
                                                if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess('write',$a_ref_id)))
                                                {
                                                        return false;
                                                }
                                        }
                                        // check if fblm is online
                                        if ($a_type == "htlm")
                                        {
                                                include_once("./Modules/HTMLLearningModule/classes/class.ilObjFileBasedLM.php");
                                                $lm_obj =& new ilObjFileBasedLM($a_ref_id);
                                                if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess('write',$a_ref_id)))
                                                {
                                                        return false;
                                                }
                                        }
                                        // check if fblm is online
                                        if ($a_type == "sahs")
                                        {
                                                include_once("./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php");
                                                $lm_obj =& new ilObjSAHSLearningModule($a_ref_id);
                                                if((!$lm_obj->getOnline()) && (!$rbacsystem->checkAccess('write',$a_ref_id)))
                                                {
                                                        return false;
                                                }
                                        }
                                        // check if glossary is online
                                        if ($a_type == "glo")
                                        {
                                                $obj_id = ilObject::_lookupObjectId($a_ref_id);
                                                include_once("./Modules/Glossary/classes/class.ilObjGlossary.php");
                                                if((!ilObjGlossary::_lookupOnline($obj_id)) &&
                                                        (!$rbacsystem->checkAccess('write',$a_ref_id)))
                                                {
                                                        return false;
                                                }
                                        }

                                        return true;
                                }
                                else
                                {
                                        return false;
                                }
                                break;
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilRepositoryExplorer::isVisible ( a_ref_id,
a_type 
)

Reimplemented from ilExplorer.

Definition at line 481 of file class.ilRepositoryExplorer.php.

References ilExplorer::$tree, ilCourseItems::_isActivated(), and ilObjectFactory::getInstanceByRefId().

        {
                global $rbacsystem,$tree;

                if(!$rbacsystem->checkAccess('visible',$a_ref_id))
                {
                        return false;
                }
                if($crs_id = $tree->checkForParentType($a_ref_id,'crs'))
                {
                        if(!$rbacsystem->checkAccess('write',$crs_id))
                        {
                                // Show only activated courses
                                $tmp_obj =& ilObjectFactory::getInstanceByRefId($crs_id,false);

                                if(!$tmp_obj->isActivated())
                                {
                                        unset($tmp_obj);
                                        return false;
                                }
                                if(($crs_id != $a_ref_id) and $tmp_obj->isArchived())
                                {
                                        return false;
                                }
                                // Show only activated course items
                                include_once "./Modules/Course/classes/class.ilCourseItems.php";

                                if(($crs_id != $a_ref_id) and (!ilCourseItems::_isActivated($a_ref_id)))
                                {
                                        return false;
                                }
                        }
                }
                return true;
        }

Here is the call graph for this function:

ilRepositoryExplorer::showChilds ( a_ref_id,
a_obj_id = 0 
)

Definition at line 458 of file class.ilRepositoryExplorer.php.

References ilExplorer::$tree, and ilConditionHandler::_checkAllConditionsOfTarget().

        {
                global $rbacsystem,$tree;
//vd($a_ref_id);

                if ($a_ref_id == 0)
                {
                        return true;
                }
                if(!ilConditionHandler::_checkAllConditionsOfTarget($a_ref_id,$a_obj_id))
                {
                        return false;
                }
                if ($rbacsystem->checkAccess("read", $a_ref_id))
                {
                        return true;
                }
                else
                {
                        return false;
                }
        }

Here is the call graph for this function:

ilRepositoryExplorer::sortNodes ( a_nodes,
a_parent_obj_id 
)

sort nodes

public

Parameters:
@return 

Reimplemented from ilExplorer.

Definition at line 572 of file class.ilRepositoryExplorer.php.

        {
                include_once('Services/Container/classes/class.ilContainerSorting.php');
                $sort = new ilContainerSorting($a_parent_obj_id);
                
                if($sort->isManualSortingEnabled())
                {
                        $sorted = $sort->sortTreeData($a_nodes);
                        return $sorted;
                }
                return parent::sortNodes($a_nodes,$a_parent_obj_id);
        }


Field Documentation

ilRepositoryExplorer::$ctrl

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

ilRepositoryExplorer::$output

Reimplemented from ilExplorer.

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

ilRepositoryExplorer::$root_id

Reimplemented from ilExplorer.

Definition at line 42 of file class.ilRepositoryExplorer.php.


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