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

Data Fields

 $root_id
 $output
 $ctrl

Detailed Description

Definition at line 35 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 161 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 "lm":
                        case "dbk":
                                return "content/lm_edit.php?ref_id=".$a_node_id;

                        case "htlm":
                                return "content/fblm_edit.php?ref_id=".$a_node_id;

                        case "sahs":
                                return "content/sahs_edit.php?ref_id=".$a_node_id;

                        case "mep":
                                return "content/mep_edit.php?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 "exercise.php?cmd=view&ref_id=".$a_node_id;

                        case "chat":
                                return "chat.php?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 "./link/link_resources.php?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 241 of file class.ilRepositoryExplorer.php.

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

Referenced by ilCourseObjectivePresentationGUI::__showLearningMaterials(), ilCourseContentInterface::__showLearningMaterials(), ilCourseObjectivePresentationGUI::__showOtherResources(), ilCourseContentInterface::__showOtherResources(), ilCourseContentInterface::cci_start_objects(), 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":
                                // 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 88 of file class.ilRepositoryExplorer.php.

References $ilCtrl.

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

        {
                global $ilCtrl;

                switch($a_type)
                {
                        case "cat":
                                return "repository.php?ref_id=".$a_node_id;

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

                        case "htlm":
                                return "content/fblm_presentation.php?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 "exercise.php?cmd=view&ref_id=".$a_node_id;

                        case "chat":
                                return "chat.php?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=run&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 "./link/link_resources.php?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 534 of file class.ilRepositoryExplorer.php.

References ilExplorer::$ilias, $lng, $tpl, and ilUtil::getImagePath().

        {
                global $lng, $ilias;

                $tpl->setCurrentBlock("icon");
                $tpl->setVariable("ICON_IMAGE", ilUtil::getImagePath("icon_root.gif"));
                $tpl->setVariable("TXT_ALT_IMG", $lng->txt("repository"));
                $tpl->parseCurrentBlock();

                $tpl->setCurrentBlock("link");
                $tpl->setVariable("TITLE", $lng->txt("repository"));
                $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 312 of file class.ilRepositoryExplorer.php.

References ilContainer::_lookupIconPath().

        {
                if ($a_type != "")
                {
                        // custom icons
                        if ($this->ilias->getSetting("custom_icons") &&
                                in_array($a_type, array("cat","grp","crs")))
                        {
                                require_once("classes/class.ilContainer.php");
                                if (($path = ilContainer::_lookupIconPath($a_obj_id, "small")) != "")
                                {
                                        return $path;
                                }
                        }
                }
                
                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 52 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 331 of file class.ilRepositoryExplorer.php.

References $obj_id, $query, $rbacsystem, $res, $row, ilExplorer::$tree, ilConditionHandler::_checkAllConditionsOfTarget(), ilObjCourse::_isActivated(), ilCourseMembers::_isBlocked(), ilObject::_lookupObjectId(), and ilObjGlossary::_lookupOnline().

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

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

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

                switch ($a_type)
                {
                        case "crs":
                                include_once './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 './course/classes/class.ilCourseMembers.php';

                                if(ilCourseMembers::_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("content/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("content/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("content/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("content/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 489 of file class.ilRepositoryExplorer.php.

References $rbacsystem, 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 "./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 466 of file class.ilRepositoryExplorer.php.

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

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

                if ($a_ref_id == 0)
                {
                        return true;
                }
                if(!ilConditionHandler::_checkAllConditionsOfTarget($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:


Field Documentation

ilRepositoryExplorer::$ctrl

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

ilRepositoryExplorer::$output

Reimplemented from ilExplorer.

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

ilRepositoryExplorer::$root_id

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


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