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!
 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 ($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 169 of file class.ilRepositoryExplorer.php.

References $ilCtrl.

Referenced by ilCourseContentInterface::cci_view(), ilRepositoryGUI::showForums(), and ilRepositoryGUI::showLinkResources().

        {
                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;
                                #$ilCtrl->setParameterByClass("ilObjCourseGUI","ref_id",$a_node_id);
                                #$ilCtrl->setParameterByClass("ilObjCourseGUI","set_mode","flat");
                                #return $ilCtrl->getLinkTargetByClass("ilObjCourseGUI");
                                
                        case "frm":
                                $ilCtrl->setParameterByClass('ilObjForumGUI','ref_id',$a_node_id);
                                //$ilCtrl->setParameterByClass("ilObjForumGUI","set_mode","flat");
                                
                                return $ilCtrl->getLinkTargetByClass('ilObjForumGUI','edit');
                                
                                #return "repository.php?ref_id=".$a_node_id."set_mode=flat&cmdClass=ilobjforumgui";
                                #return "forums_threads_liste.php?cmd=properties&ref_id=".$a_node_id."&backurl=repository";

                        case "glo":
                                return "content/glossary_edit.php?cmd=listTerms&ref_id=".$a_node_id;

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

                        case "chat":
                                return "chat/chat_rep.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 "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;
                }
        }               

Here is the caller graph for this function:

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 256 of file class.ilRepositoryExplorer.php.

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

Referenced by ilCourseContentInterface::__showLearningMaterials(), ilCourseContentInterface::__showOtherResources(), ilCourseContentInterface::cci_start_objects(), ilCourseContentInterface::cci_view(), ilPaymentBuyedObjectsGUI::showItems(), and ilLMPresentationGUI::showPreconditionsOfPage().

        {
                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";

                                if ($showViewInFrameset) 
                                {
                                        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";
                                if ($showViewInFrameset) 
                                {
                                        return "bottom";
                                }
                                else
                                {
                                        return "ilTest".$a_obj_id;
                                }
                                break;

                        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 ilCourseContentInterface::__showLearningMaterials(), ilCourseContentInterface::__showOtherResources(), ilCourseContentInterface::__showTests(), ilCourseContentInterface::cci_start_objects(), ilCourseContentInterface::cci_view(), ilPersonalDesktopGUI::getSelectedItemBlockHTML(), ilObjForumGUI::getTabs(), ilRepositoryGUI::showCourses(), ilRepositoryGUI::showForums(), ilPaymentBuyedObjectsGUI::showItems(), and ilRepositoryGUI::showLinkResources().

        {
                global $ilCtrl;

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

                        case "lm":
                        case "dbk":
                                return "content/lm_presentation.php?ref_id=".$a_node_id;

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

                        case "sahs":
                                return "content/sahs_presentation.php?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";
                                // seems not to work in some cases
                                #$ilCtrl->setParameterByClass("ilObjCourseGUI","ref_id",$a_node_id);
                                #$ilCtrl->setParameterByClass("ilObjCourseGUI","set_mode","flat");
                                #return $ilCtrl->getLinkTargetByClass("ilObjCourseGUI");
                                
                        case "frm":
                                #return "forums_threads_liste.php?ref_id=".$a_node_id."&backurl=repository";
                                $ilCtrl->setParameterByClass('ilObjForumGUI','ref_id',$a_node_id);
                                //$ilCtrl->setParameterByClass("ilObjForumGUI","set_mode","flat");
                                
                                return $ilCtrl->getLinkTargetByClass('ilObjForumGUI','showThreads');


                        case "glo":
                                return "content/glossary_presentation.php?ref_id=".$a_node_id;

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

                        case "chat":
                                return "chat/chat_rep.php?cmd=view&ref_id=".$a_node_id;

                        case "fold":
                                $ilCtrl->setParameterByClass("ilObjFolderGUI","ref_id",$a_node_id);
                                //$ilCtrl->setParameterByClass("ilObjFolderGUI","set_mode","flat");
                                return $ilCtrl->getLinkTargetByClass("ilObjFolderGUI");
                                
                        case "file":
                                return "repository.php?cmd=sendfile&ref_id=".$a_node_id;

                        case 'tst':
                                return "assessment/test.php?cmd=run&ref_id=".$a_node_id;

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

                        case 'spl':
                                return "survey/questionpool.php?cmd=questions&ref_id=".$a_node_id;

                        case 'qpl':
                                return "assessment/questionpool.php?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;
                }
        }

Here is the caller graph for this function:

ilRepositoryExplorer::formatHeader ( 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 518 of file class.ilRepositoryExplorer.php.

References ilExplorer::$ilias, $lng, and $tpl.

        {
                global $lng, $ilias;

                $tpl = new ilTemplate("tpl.tree.html", true, true);

                $tpl->setCurrentBlock("link");
                $tpl->setVariable("TITLE", $lng->txt("repository"));
                $tpl->setVariable("LINK_TARGET", "repository.php");
                $tpl->setVariable("TARGET", " target=\"content\"");
                $tpl->parseCurrentBlock();

                $tpl->setCurrentBlock("row");
                $tpl->parseCurrentBlock();

                $this->output[] = $tpl->get();
        }

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("fold");
                $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 316 of file class.ilRepositoryExplorer.php.

References $ilUser, $obj_id, $query, $rbacsystem, $res, $row, ilExplorer::$tree, ilConditionHandler::_checkAllConditionsOfTarget(), ilObject::_lookupObjectId(), ilObjGlossary::_lookupOnline(), and ilObjectFactory::getInstanceByRefId().

Referenced by ilSearch::__checkAccess(), ilCourseContentInterface::__showLearningMaterials(), ilCourseContentInterface::__showOtherResources(), ilCourseContentInterface::__showTests(), ilCourseContentInterface::cci_start_objects(), ilCourseContentInterface::cci_view(), ilPersonalDesktopGUI::getSelectedItemBlockHTML(), ilRepositoryGUI::showCourses(), and ilRepositoryGUI::showLinkResources().

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

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

                switch ($a_type)
                {
                        case "crs":
                                $tmp_obj =& ilObjectFactory::getInstanceByRefId($a_ref_id,false);
                                $tmp_obj->initCourseMemberObject();

                                if(!$tmp_obj->isActivated() and !$rbacsystem->checkAccess('write',$a_ref_id))
                                {
                                        unset($tmp_obj);
                                        return false;
                                }

                                if(($rbacsystem->checkAccess('join',$a_ref_id) or
                                   $rbacsystem->checkAccess('read',$a_ref_id)) and
                                   !$tmp_obj->members_obj->isBlocked($ilUser->getId()))
                                {
                                        return true;
                                }
                                
                                unset($tmp_obj);
                                return false;
                                break;

                        // 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 473 of file class.ilRepositoryExplorer.php.

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

Referenced by ilSearch::__checkAccess().

        {
                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:

Here is the caller graph for this function:

ilRepositoryExplorer::showChilds ( a_ref_id,
a_obj_id = 0 
)

Definition at line 450 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: