Public Member Functions | Data Fields

ilObjectListGUI Class Reference

Class ilObjectListGUI. More...

Inheritance diagram for ilObjectListGUI:

Public Member Functions

 ilObjectListGUI ()
 constructor
 setContainerObject (&$container_obj)
 set the container object (e.g categorygui) Used for link, delete ...
 init ()
 initialisation
 enableProperties ($a_status)
 En/disable properties.
 getPropertiesStatus ()
 enablePreconditions ($a_status)
 En/disable preconditions.
 getPreconditionsStatus ()
 enableDescription ($a_status)
 En/disable description.
 getDescriptionStatus ()
 enableDelete ($a_status)
 En/disable delete.
 getDeleteStatus ()
 enableCut ($a_status)
 En/disable cut.
 getCutStatus ()
 enableSubscribe ($a_status)
 En/disable subscribe.
 getSubscribeStatus ()
 enablePayment ($a_status)
 En/disable payment.
 getPaymentStatus ()
 enableLink ($a_status)
 En/disable link.
 getLinkStatus ()
 enablePath ($a_path)
 En/disable path.
 getPathStatus ()
 enableCommands ($a_status)
 En/disable commands.
 getCommandsStatus ()
 enableInfoScreen ($a_info_screen)
 En/disable path.
 getInfoScreenStatus ()
 setTitle ($a_title)
 getTitle ()
 getTitle overwritten in class.ilObjLinkResourceList.php
 setDescription ($a_description)
 getDescription ()
 getDescription overwritten in class.ilObjLinkResourceList.php
 initItem ($a_ref_id, $a_obj_id, $a_title="", $a_description="")
 inititialize new item (is called by getItemHTML())
 getCommandLink ($a_cmd)
 Get command link url.
 getCommandFrame ($a_cmd)
 Get command target frame.
 getProperties ($a_item= '')
 Get item properties.
 addCustomProperty ($a_property="", $a_value="", $a_alert=false, $a_newline=false)
 add custom property
 getCustomProperties ($a_prop)
 get custom properties
 addCustomCommand ($a_link, $a_lang_var, $a_frame="")
 add a custom command
 getCommands ()
 get all current commands for a specific ref id (in the permission context of the current user)
 insertTitle ()
 insert item title
 insertDescription ()
 insert item description
 setMode ($a_mode)
 set output mode
 getMode ()
 get output mode
 setConditionDepth ($a_depth)
 set depth for precondition output (stops at level 5)
 isMode ($a_mode)
 check current output mode
 insertProperties ($a_item= '')
 insert properties
 insertPayment ()
 insert payment information
 insertPreconditions ()
 insert all missing preconditions
 insertCommand ($a_href, $a_text, $a_frame="")
 insert command button
 insertDeleteCommand ()
 insert cut command
 insertLinkCommand ()
 insert link command
 insertCutCommand ()
 insert cut command
 insertSubscribeCommand ()
 insert subscribe command
 insertInfoScreenCommand ()
 insert info screen command
 insertCommands ()
 insert all commands into html code
 appendRepositoryFrameParameter ($a_link)
 workaround: all links into the repository (from outside) must tell repository to setup the frameset
 insertPath ()
 insert path
 adminCommandsIncluded ()
 returns whether any admin commands (link, delete, cut) are included in the output
 getListItemHTML ($a_ref_id, $a_obj_id, $a_title, $a_description)
 Get all item information (title, commands, description) in HTML.

Data Fields

 $ctrl
 $description_enabled = true
 $preconditions_enabled = true
 $properties_enabled = true
 $commands_enabled = true
 $cust_prop = array()
 $cust_commands = array()
 $info_screen_enabled = false
 $condition_depth = 0

Detailed Description

Class ilObjectListGUI.

Important note:

All access checking should be made within $ilAccess and the checkAccess of the ilObj...Access classes. Do not additionally enable or disable any commands within this GUI class or in derived classes, except when the container (e.g. a search result list) generally refuses them.

Author:
Alex Killing <alex.killing@gmx.de>
Id:
class.ilObjectListGUI.php 11299 2006-07-03 15:10:19Z jconze

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


Member Function Documentation

ilObjectListGUI::addCustomCommand ( a_link,
a_lang_var,
a_frame = "" 
)

add a custom command

Definition at line 496 of file class.ilObjectListGUI.php.

        {
                $this->cust_commands[] =
                        array("link" => $a_link, "lang_var" => $a_lang_var,
                        "frame" => $a_frame);
        }

ilObjectListGUI::addCustomProperty ( a_property = "",
a_value = "",
a_alert = false,
a_newline = false 
)

add custom property

Definition at line 471 of file class.ilObjectListGUI.php.

        {
                $this->cust_prop[] = array("property" => $a_property, "value" => $a_value,
                        "alert" => $a_alert, "newline" => $a_newline);
        }

ilObjectListGUI::adminCommandsIncluded (  ) 

returns whether any admin commands (link, delete, cut) are included in the output

Definition at line 1112 of file class.ilObjectListGUI.php.

        {
                return $this->adm_commands_included;
        }

ilObjectListGUI::appendRepositoryFrameParameter ( a_link  ) 

workaround: all links into the repository (from outside) must tell repository to setup the frameset

Definition at line 1060 of file class.ilObjectListGUI.php.

References ilUtil::appendUrlParameterString().

Referenced by insertCommands(), and insertTitle().

        {
                $script = substr(strrchr($_SERVER["PHP_SELF"],"/"),1);

                if (substr($script,0,14) != "repository.php" &&
                        is_int(strpos($a_link,"repository.php")))
                {
                        if ($this->type != "frm")
                        {
                                $a_link = 
                                        ilUtil::appendUrlParameterString($a_link, "rep_frame=1");
                        }
                }
                
                return $a_link;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::enableCommands ( a_status  ) 

En/disable commands.

Parameters:
bool 
Returns:
void

Definition at line 310 of file class.ilObjectListGUI.php.

        {
                $this->commands_enabled = $a_status;

                return;
        }

ilObjectListGUI::enableCut ( a_status  ) 

En/disable cut.

Parameters:
bool 
Returns:
void

Definition at line 204 of file class.ilObjectListGUI.php.

        {
                $this->cut_enabled = $a_status;

                return;
        }

ilObjectListGUI::enableDelete ( a_status  ) 

En/disable delete.

Parameters:
bool 
Returns:
void

Definition at line 182 of file class.ilObjectListGUI.php.

        {
                $this->delete_enabled = $a_status;

                return;
        }

ilObjectListGUI::enableDescription ( a_status  ) 

En/disable description.

Parameters:
bool 
Returns:
void

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

        {
                $this->description_enabled = $a_status;

                return;
        }

ilObjectListGUI::enableInfoScreen ( a_info_screen  ) 

En/disable path.

Parameters:
bool 
Returns:
void

Definition at line 332 of file class.ilObjectListGUI.php.

        {
                $this->info_screen_enabled = $a_info_screen;
        }

ilObjectListGUI::enableLink ( a_status  ) 

En/disable link.

Parameters:
bool 
Returns:
void

Definition at line 267 of file class.ilObjectListGUI.php.

        {
                $this->link_enabled = $a_status;

                return;
        }

ilObjectListGUI::enablePath ( a_path  ) 

En/disable path.

Parameters:
bool 
Returns:
void

Definition at line 289 of file class.ilObjectListGUI.php.

        {
                $this->path_enabled = $a_path;
        }

ilObjectListGUI::enablePayment ( a_status  ) 

En/disable payment.

Parameters:
bool 
Returns:
void

Definition at line 246 of file class.ilObjectListGUI.php.

        {
                $this->payment_enabled = $a_status;

                return;
        }

ilObjectListGUI::enablePreconditions ( a_status  ) 

En/disable preconditions.

Parameters:
bool 
Returns:
void

Definition at line 138 of file class.ilObjectListGUI.php.

        {
                $this->preconditions_enabled = $a_status;

                return;
        }

ilObjectListGUI::enableProperties ( a_status  ) 

En/disable properties.

Parameters:
bool 
Returns:
void

Definition at line 116 of file class.ilObjectListGUI.php.

        {
                $this->properties_enabled = $a_status;

                return;
        }

ilObjectListGUI::enableSubscribe ( a_status  ) 

En/disable subscribe.

Parameters:
bool 
Returns:
void

Definition at line 225 of file class.ilObjectListGUI.php.

        {
                $this->subscribe_enabled = $a_status;

                return;
        }

ilObjectListGUI::getCommandFrame ( a_cmd  ) 

Get command target frame.

Overwrite this method if link frame is not current frame

Parameters:
string $a_cmd command
Returns:
string command target frame

Reimplemented in ilObjQuestionPoolListGUI, ilObjTestListGUI, ilObjExerciseListGUI, ilObjFileListGUI, ilObjForumListGUI, ilObjDlBookListGUI, ilObjFileBasedLMListGUI, ilObjGlossaryListGUI, ilObjLearningModuleListGUI, ilObjMediaPoolListGUI, ilObjSAHSLearningModuleListGUI, ilObjiLincClassroomListGUI, ilObjLinkResourceListGUI, ilObjSurveyListGUI, and ilObjSurveyQuestionPoolListGUI.

Definition at line 439 of file class.ilObjectListGUI.php.

Referenced by getCommands(), and insertInfoScreenCommand().

        {
                return "";
        }

Here is the caller graph for this function:

ilObjectListGUI::getCommandLink ( a_cmd  ) 

Get command link url.

Overwrite this method, if link target is not build by ctrl class (e.g. "lm_presentation.php", "forum.php"). This is the case for all links now, but bringing everything to ilCtrl should be realised in the future.

Parameters:
string $a_cmd command
Returns:
string command link url

Reimplemented in ilObjQuestionPoolListGUI, ilObjTestListGUI, ilObjChatListGUI, ilObjCategoryListGUI, ilObjExerciseListGUI, ilObjFolderListGUI, ilObjForumListGUI, ilObjGroupListGUI, ilObjRootFolderListGUI, ilObjDlBookListGUI, ilObjFileBasedLMListGUI, ilObjGlossaryListGUI, ilObjLearningModuleListGUI, ilObjMediaPoolListGUI, ilObjSAHSLearningModuleListGUI, ilObjiLincClassroomListGUI, ilObjiLincCourseListGUI, ilObjLinkResourceListGUI, ilObjSurveyListGUI, and ilObjSurveyQuestionPoolListGUI.

Definition at line 418 of file class.ilObjectListGUI.php.

Referenced by getCommands(), and insertInfoScreenCommand().

        {
                // don't use ctrl here in the moment
                return 'repository.php?ref_id='.$this->ref_id.'&cmd='.$a_cmd;

                // separate method for this line
                $cmd_link = $this->ctrl->getLinkTargetByClass($this->gui_class_name,
                        $a_cmd);
                return $cmd_link;
        }

Here is the caller graph for this function:

ilObjectListGUI::getCommands (  ) 

get all current commands for a specific ref id (in the permission context of the current user)

!!!NOTE!!!: Please use getListHTML() if you want to display the item including all commands

!!!NOTE 2!!!: Please do not overwrite this method in derived classes becaus it will get pretty large and much code will be simply copy-and-pasted. Insert smaller object type related method calls instead. (like getCommandLink() or getCommandFrame())

public

Parameters:
int $a_ref_id ref id of object
Returns:
array array of command arrays including "permission" => permission name "cmd" => command "link" => command link url "frame" => command link frame "lang_var" => language variable of command "granted" => true/false: command granted or not "access_info" => access info object (to do: implementation)

Reimplemented in ilObjiLincClassroomListGUI.

Definition at line 527 of file class.ilObjectListGUI.php.

References $cmd, $command, $ilBench, getCommandFrame(), and getCommandLink().

Referenced by insertCommands().

        {
                global $ilAccess, $ilBench;

                $ref_commands = array();
                foreach($this->commands as $command)
                {
                        $permission = $command["permission"];
                        $cmd = $command["cmd"];
                        $lang_var = $command["lang_var"];

                        // all access checking should be made within $ilAccess and
                        // the checkAccess of the ilObj...Access classes
                        $ilBench->start("ilObjectListGUI", "4110_get_commands_check_access");
                        $access = $ilAccess->checkAccess($permission, $cmd, $this->ref_id, $this->type);
                        $ilBench->stop("ilObjectListGUI", "4110_get_commands_check_access");

                        if ($access)
                        {
                                $cmd_link = $this->getCommandLink($command["cmd"]);
                                $cmd_frame = $this->getCommandFrame($command["cmd"]);
                                $access_granted = true;
                        }
                        else
                        {
                                $access_granted = false;
                                $info_object = $ilAccess->getInfo();
                        }

                        $ref_commands[] = array(
                                "permission" => $permission,
                                "cmd" => $cmd,
                                "link" => $cmd_link,
                                "frame" => $cmd_frame,
                                "lang_var" => $lang_var,
                                "granted" => $access_granted,
                                "access_info" => $info_object,
                                "default" => $command["default"]
                        );
                }

                return $ref_commands;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::getCommandsStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 321 of file class.ilObjectListGUI.php.

Referenced by insertCommands(), and insertTitle().

        {
                return $this->commands_enabled;
        }

Here is the caller graph for this function:

ilObjectListGUI::getCustomProperties ( a_prop  ) 

get custom properties

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

Referenced by insertProperties().

        {
                if (is_array($this->cust_prop))
                {
                        foreach($this->cust_prop as $prop)
                        {
                                $a_prop[] = $prop;
                        }
                }
                return $a_prop;
        }

Here is the caller graph for this function:

ilObjectListGUI::getCutStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 215 of file class.ilObjectListGUI.php.

        {
                return $this->cut_enabled;
        }

ilObjectListGUI::getDeleteStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 194 of file class.ilObjectListGUI.php.

        {
                return $this->delete_enabled;
        }

ilObjectListGUI::getDescription (  ) 

getDescription overwritten in class.ilObjLinkResourceList.php

Returns:
string description

Reimplemented in ilObjLinkResourceListGUI.

Definition at line 380 of file class.ilObjectListGUI.php.

Referenced by insertDescription().

        {
                return $this->description;
        }

Here is the caller graph for this function:

ilObjectListGUI::getDescriptionStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 172 of file class.ilObjectListGUI.php.

Referenced by ilObjiLincClassroomListGUI::getListItemHTML(), and getListItemHTML().

        {
                return $this->description_enabled;
        }

Here is the caller graph for this function:

ilObjectListGUI::getInfoScreenStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 342 of file class.ilObjectListGUI.php.

Referenced by insertCommands().

        {
                return $this->info_screen_enabled;
        }

Here is the caller graph for this function:

ilObjectListGUI::getLinkStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 278 of file class.ilObjectListGUI.php.

        {
                return $this->link_enabled;
        }

ilObjectListGUI::getListItemHTML ( a_ref_id,
a_obj_id,
a_title,
a_description 
)

Get all item information (title, commands, description) in HTML.

public

Parameters:
int $a_ref_id item reference id
int $a_obj_id item object id
int $a_title item title
int $a_description item description
Returns:
string html code

Definition at line 1127 of file class.ilObjectListGUI.php.

References $ilBench, $type, ilObject::_lookupType(), getDescriptionStatus(), getPreconditionsStatus(), getPropertiesStatus(), initItem(), insertCommands(), insertDescription(), insertPath(), insertPayment(), insertPreconditions(), insertProperties(), insertTitle(), and isMode().

        {
                global $ilAccess, $ilBench;
                
                // this variable stores wheter any admin commands
                // are included in the output
                $this->adm_commands_included = false;

                // only for permformance exploration
                $type = ilObject::_lookupType($a_obj_id);

                // initialization
                $ilBench->start("ilObjectListGUI", "1000_getListHTML_init$type");
                $this->tpl =& new ilTemplate ("tpl.container_list_item.html", true, true);
                $this->initItem($a_ref_id, $a_obj_id, $a_title, $a_description);
                $ilBench->stop("ilObjectListGUI", "1000_getListHTML_init$type");

                // visible check
                $ilBench->start("ilObjectListGUI", "2000_getListHTML_check_visible");
                if (!$ilAccess->checkAccess("visible", "", $a_ref_id, "", $a_obj_id))
                {
                        $ilBench->stop("ilObjectListGUI", "2000_getListHTML_check_visible");
                        return "";
                }
                $ilBench->stop("ilObjectListGUI", "2000_getListHTML_check_visible");

                // commands
                $ilBench->start("ilObjectListGUI", "4000_insert_commands");
                $this->insertCommands();
                $ilBench->stop("ilObjectListGUI", "4000_insert_commands");

                // insert title and describtion
                $ilBench->start("ilObjectListGUI", "3000_insert_title_desc");
                $this->insertTitle();
                if (!$this->isMode(IL_LIST_AS_TRIGGER))
                {
                        if ($this->getDescriptionStatus())
                        {
                                $this->insertDescription();
                        }
                }
                $ilBench->stop("ilObjectListGUI", "3000_insert_title_desc");

                // payment
                $ilBench->start("ilObjectListGUI", "5000_insert_pay");
                $this->insertPayment();
                $ilBench->stop("ilObjectListGUI", "5000_insert_pay");

                // properties
                $ilBench->start("ilObjectListGUI", "6000_insert_properties$type");
                if ($this->getPropertiesStatus())
                {
                        $this->insertProperties();
                }
                $ilBench->stop("ilObjectListGUI", "6000_insert_properties$type");

                // preconditions
                $ilBench->start("ilObjectListGUI", "7000_insert_preconditions");
                if ($this->getPreconditionsStatus())
                {
                        $this->insertPreconditions();
                }
                $ilBench->stop("ilObjectListGUI", "7000_insert_preconditions");

                // path
                $ilBench->start("ilObjectListGUI", "8000_insert_path");
                $this->insertPath();
                $ilBench->stop("ilObjectListGUI", "8000_insert_path");

                // reset properties and commands
                $this->cust_prop = array();
                $this->cust_commands = array();

                return $this->tpl->get();
        }

Here is the call graph for this function:

ilObjectListGUI::getMode (  ) 

get output mode

Returns:
string output mode (IL_LIST_FULL | IL_LIST_AS_TRIGGER)

Definition at line 638 of file class.ilObjectListGUI.php.

        {
                return $this->mode;
        }

ilObjectListGUI::getPathStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 299 of file class.ilObjectListGUI.php.

Referenced by insertPath().

        {
                return $this->path_enabled;
        }

Here is the caller graph for this function:

ilObjectListGUI::getPaymentStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 257 of file class.ilObjectListGUI.php.

        {
                return $this->payment_enabled;
        }

ilObjectListGUI::getPreconditionsStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 150 of file class.ilObjectListGUI.php.

Referenced by getListItemHTML().

        {
                return $this->preconditions_enabled;
        }

Here is the caller graph for this function:

ilObjectListGUI::getProperties ( a_item = ''  ) 

Get item properties.

Overwrite this method to add properties at the bottom of the item html

Returns:
array array of property arrays: "alert" (boolean) => display as an alert property (usually in red) "property" (string) => property name "value" (string) => property value

Reimplemented in ilObjiLincClassroomListGUI.

Definition at line 456 of file class.ilObjectListGUI.php.

Referenced by insertProperties().

        {
                $props = array();
                // please list alert properties first
                // example (use $lng->txt instead of "Status"/"Offline" strings):
                // $props[] = array("alert" => true, "property" => "Status", "value" => "Offline");
                // $props[] = array("alert" => false, "property" => ..., "value" => ...);
                // ...

                return $props;
        }

Here is the caller graph for this function:

ilObjectListGUI::getPropertiesStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 128 of file class.ilObjectListGUI.php.

Referenced by ilObjiLincClassroomListGUI::getListItemHTML(), and getListItemHTML().

        {
                return $this->properties_enabled;
        }

Here is the caller graph for this function:

ilObjectListGUI::getSubscribeStatus (  ) 
Parameters:
bool 
Returns:
bool

Definition at line 236 of file class.ilObjectListGUI.php.

        {
                return $this->subscribe_enabled;
        }

ilObjectListGUI::getTitle (  ) 

getTitle overwritten in class.ilObjLinkResourceList.php

Returns:
string title

Reimplemented in ilObjLinkResourceListGUI.

Definition at line 361 of file class.ilObjectListGUI.php.

Referenced by insertTitle().

        {
                return $this->title;
        }

Here is the caller graph for this function:

ilObjectListGUI::ilObjectListGUI (  ) 

constructor

Definition at line 61 of file class.ilObjectListGUI.php.

References $ilCtrl, $ilias, $lng, $rbacsystem, and init().

Referenced by ilObjCategoryListGUI::ilObjCategoryListGUI(), ilObjChatListGUI::ilObjChatListGUI(), ilObjCourseListGUI::ilObjCourseListGUI(), ilObjDlBookListGUI::ilObjDlBookListGUI(), ilObjExerciseListGUI::ilObjExerciseListGUI(), ilObjFileBasedLMListGUI::ilObjFileBasedLMListGUI(), ilObjFileListGUI::ilObjFileListGUI(), ilObjFolderListGUI::ilObjFolderListGUI(), ilObjForumListGUI::ilObjForumListGUI(), ilObjGlossaryListGUI::ilObjGlossaryListGUI(), ilObjGroupListGUI::ilObjGroupListGUI(), ilObjiLincClassroomListGUI::ilObjiLincClassroomListGUI(), ilObjiLincCourseListGUI::ilObjiLincCourseListGUI(), ilObjLearningModuleListGUI::ilObjLearningModuleListGUI(), ilObjLinkResourceListGUI::ilObjLinkResourceListGUI(), ilObjMediaPoolListGUI::ilObjMediaPoolListGUI(), ilObjQuestionPoolListGUI::ilObjQuestionPoolListGUI(), ilObjRootFolderListGUI::ilObjRootFolderListGUI(), ilObjSAHSLearningModuleListGUI::ilObjSAHSLearningModuleListGUI(), ilObjSurveyListGUI::ilObjSurveyListGUI(), ilObjSurveyQuestionPoolListGUI::ilObjSurveyQuestionPoolListGUI(), and ilObjTestListGUI::ilObjTestListGUI().

        {
                global $rbacsystem, $ilCtrl, $lng, $ilias;

                $this->rbacsystem = $rbacsystem;
                $this->ilias = $ilias;
                $this->ctrl = $ilCtrl;
                $this->lng = $lng;
                $this->mode = IL_LIST_FULL;
                $this->path_enabled = false;
//echo "list";
                $this->init();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::init (  ) 

initialisation

this method should be overwritten by derived classes

Reimplemented in ilObjQuestionPoolListGUI, ilObjTestListGUI, ilObjChatListGUI, ilObjCategoryListGUI, ilObjExerciseListGUI, ilObjFileListGUI, ilObjFolderListGUI, ilObjForumListGUI, ilObjGroupListGUI, ilObjRootFolderListGUI, ilObjDlBookListGUI, ilObjFileBasedLMListGUI, ilObjGlossaryListGUI, ilObjLearningModuleListGUI, ilObjMediaPoolListGUI, ilObjSAHSLearningModuleListGUI, ilObjCourseListGUI, ilObjiLincClassroomListGUI, ilObjiLincCourseListGUI, ilObjLinkResourceListGUI, ilObjSurveyListGUI, and ilObjSurveyQuestionPoolListGUI.

Definition at line 93 of file class.ilObjectListGUI.php.

References ilObjectAccess::_getCommands().

Referenced by ilObjectListGUI().

        {
                $this->delete_enabled = true;
                $this->cut_enabled = true;
                $this->subscribe_enabled = true;
                $this->link_enabled = false;
                $this->payment_enabled = false;
                $this->info_screen_enabled = false;
                $this->type = "";                                       // "cat", "course", ...
                $this->gui_class_name = "";                     // "ilobjcategorygui", "ilobjcoursegui", ...

                // general commands array, e.g.
                include_once('class.ilObjectAccess.php');
                $this->commands = ilObjectAccess::_getCommands();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::initItem ( a_ref_id,
a_obj_id,
a_title = "",
a_description = "" 
)

inititialize new item (is called by getItemHTML())

Parameters:
int $a_ref_id reference id
int $a_obj_id object id
string $a_title title
string $a_description description

Reimplemented in ilObjQuestionPoolListGUI, ilObjTestListGUI, ilObjExerciseListGUI, ilObjFileListGUI, ilObjForumListGUI, ilObjDlBookListGUI, ilObjLearningModuleListGUI, ilObjMediaPoolListGUI, ilObjCourseListGUI, ilObjiLincClassroomListGUI, ilObjLinkResourceListGUI, ilObjSurveyListGUI, and ilObjSurveyQuestionPoolListGUI.

Definition at line 393 of file class.ilObjectListGUI.php.

References setDescription(), and setTitle().

Referenced by getListItemHTML().

        {
                $this->ref_id = $a_ref_id;
                $this->obj_id = $a_obj_id;
                $this->setTitle($a_title);
                $this->setDescription($a_description);
                #$this->description = $a_description;
                                
                // checks, whether any admin commands are included in the output
                $this->adm_commands_included = false;
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertCommand ( a_href,
a_text,
a_frame = "" 
)

insert command button

private

Parameters:
string $a_href link url target
string $a_text link text
string $a_frame link frame target

Definition at line 831 of file class.ilObjectListGUI.php.

Referenced by ilObjiLincClassroomListGUI::insertCommands(), insertCommands(), insertCutCommand(), insertDeleteCommand(), insertInfoScreenCommand(), insertLinkCommand(), and insertSubscribeCommand().

        {
                if ($a_frame != "")
                {
                        $this->tpl->setCurrentBlock("item_frame");
                        $this->tpl->setVariable("TARGET_COMMAND", $a_frame);
                        $this->tpl->parseCurrentBlock();
                }

                $this->tpl->setCurrentBlock("item_command");
                $this->tpl->setVariable("HREF_COMMAND", $a_href);
                $this->tpl->setVariable("TXT_COMMAND", $a_text);
                $this->tpl->parseCurrentBlock();
        }

Here is the caller graph for this function:

ilObjectListGUI::insertCommands (  ) 

insert all commands into html code

private

Parameters:
object $a_tpl template object
int $a_ref_id item reference id

Reimplemented in ilObjiLincClassroomListGUI.

Definition at line 977 of file class.ilObjectListGUI.php.

References $command, appendRepositoryFrameParameter(), getCommands(), getCommandsStatus(), getInfoScreenStatus(), insertCommand(), insertCutCommand(), insertDeleteCommand(), insertInfoScreenCommand(), insertLinkCommand(), insertSubscribeCommand(), and isMode().

Referenced by getListItemHTML().

        {
                if (!$this->getCommandsStatus())
                {
                        return;
                }
                $this->ctrl->setParameterByClass($this->gui_class_name, "ref_id", $this->ref_id);

                $commands = $this->getCommands($this->ref_id, $this->obj_id);

                $this->default_command = false;
                
                foreach($commands as $command)
                {
                        if ($command["granted"] == true )
                        {
                                if (!$command["default"] === true)
                                {
                                        // workaround for repository frameset
                                        $command["link"] = 
                                                $this->appendRepositoryFrameParameter($command["link"]);
                                        
                                        $cmd_link = $command["link"];
                                        $this->insertCommand($cmd_link, $this->lng->txt($command["lang_var"]),
                                                $command["frame"]);
                                }
                                else
                                {
                                        // this is view/show most times and will be linked
                                        // with the item title in insertTitle
                                        $this->default_command = $command;
                                }
                        }
                }

                // custom commands
                if (is_array($this->cust_commands))
                {
                        foreach ($this->cust_commands as $command)
                        {
                                $this->insertCommand($command["link"], $this->lng->txt($command["lang_var"]),
                                        $command["frame"]);
                        }
                }

                // info screen commmand
                if ($this->getInfoScreenStatus())
                {
                        $this->insertInfoScreenCommand();
                }

                if (!$this->isMode(IL_LIST_AS_TRIGGER))
                {
                        // delete
                        if ($this->delete_enabled)
                        {
                                $this->insertDeleteCommand();
                        }

                        // link
                        if ($this->link_enabled)
                        {
                                $this->insertLinkCommand();
                        }

                        // cut
                        if ($this->cut_enabled)
                        {
                                $this->insertCutCommand();
                        }

                        // subscribe
                        if ($this->subscribe_enabled)
                        {
                                $this->insertSubscribeCommand();
                        }
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertCutCommand (  ) 

insert cut command

private

Parameters:
object $a_tpl template object
int $a_ref_id item reference id

Definition at line 895 of file class.ilObjectListGUI.php.

References insertCommand().

Referenced by insertCommands().

        {
                // if the permission is changed here, it  has
                // also to be changed in ilContainerGUI, admin command check
                if ($this->rbacsystem->checkAccess("delete", $this->ref_id))
                {
                        $this->ctrl->setParameter($this->container_obj, "ref_id",
                                $this->container_obj->object->getRefId());
                        $this->ctrl->setParameter($this->container_obj, "item_ref_id", $this->ref_id);
                        $cmd_link = $this->ctrl->getLinkTarget($this->container_obj, "cut");
                        $this->insertCommand($cmd_link, $this->lng->txt("move"));
                        $this->adm_commands_included = true;
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertDeleteCommand (  ) 

insert cut command

private

Parameters:
object $a_tpl template object
int $a_ref_id item reference id

Definition at line 853 of file class.ilObjectListGUI.php.

References insertCommand().

Referenced by ilObjiLincClassroomListGUI::insertCommands(), and insertCommands().

        {
                if ($this->rbacsystem->checkAccess("delete", $this->ref_id))
                {
                        $this->ctrl->setParameter($this->container_obj, "ref_id",
                                $this->container_obj->object->getRefId());
                        $this->ctrl->setParameter($this->container_obj, "item_ref_id", $this->ref_id);
                        $cmd_link = $this->ctrl->getLinkTarget($this->container_obj, "delete");
                        $this->insertCommand($cmd_link, $this->lng->txt("delete"));
                        $this->adm_commands_included = true;
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertDescription (  ) 

insert item description

private

Parameters:
object $a_tpl template object
string $a_desc item description

Definition at line 616 of file class.ilObjectListGUI.php.

References getDescription().

Referenced by ilObjiLincClassroomListGUI::getListItemHTML(), and getListItemHTML().

        {
                $this->tpl->setCurrentBlock("item_description");
                $this->tpl->setVariable("TXT_DESC", $this->getDescription());
                $this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertInfoScreenCommand (  ) 

insert info screen command

Definition at line 963 of file class.ilObjectListGUI.php.

References getCommandFrame(), getCommandLink(), and insertCommand().

Referenced by insertCommands().

        {
                $cmd_link = $this->getCommandLink("infoScreen");
                $cmd_frame = $this->getCommandFrame("infoScreen");
                $this->insertCommand($cmd_link, $this->lng->txt("info_short"), $cmd_frame);
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertLinkCommand (  ) 

insert link command

private

Parameters:
object $a_tpl template object
int $a_ref_id item reference id

Definition at line 873 of file class.ilObjectListGUI.php.

References insertCommand().

Referenced by insertCommands().

        {
                // if the permission is changed here, it  has
                // also to be changed in ilContainerGUI, admin command check
                if ($this->rbacsystem->checkAccess("delete", $this->ref_id))
                {
                        $this->ctrl->setParameter($this->container_obj, "ref_id",
                                $this->container_obj->object->getRefId());
                        $this->ctrl->setParameter($this->container_obj, "item_ref_id", $this->ref_id);
                        $cmd_link = $this->ctrl->getLinkTarget($this->container_obj, "link");
                        $this->insertCommand($cmd_link, $this->lng->txt("link"));
                        $this->adm_commands_included = true;
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertPath (  ) 

insert path

Definition at line 1080 of file class.ilObjectListGUI.php.

References $id, $lng, $tree, ilObject::_lookupObjId(), ilObject::_lookupTitle(), and getPathStatus().

Referenced by getListItemHTML().

        {
                global $tree, $lng;

                if ($this->getPathStatus() != false)
                {
                        $path = $tree->getPathId($this->ref_id);
                        $sep = false;
                        unset($path[count($path) - 1]);
                        unset($path[0]);
                        foreach ($path as $id)
                        {
                                $this->tpl->setCurrentBlock("path_item");
                                if ($sep)
                                {
                                        $this->tpl->setVariable("SEPARATOR", " > ");
                                }
                                $this->tpl->setVariable("PATH_ITEM",
                                        ilObject::_lookupTitle(ilObject::_lookupObjId($id)));
                                $this->tpl->parseCurrentBlock();
                                $sep = true;
                        }
                        $this->tpl->setCurrentBlock("path");
                        $this->tpl->setVariable("TXT_LOCATION", $lng->txt("locator"));
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertPayment (  ) 

insert payment information

private

Definition at line 734 of file class.ilObjectListGUI.php.

References ilPaymentObject::_hasAccess(), ilPaymentObject::_isBuyable(), ilPaymentObject::_isInCart(), and ilUtil::getImagePath().

Referenced by getListItemHTML().

        {
                include_once './payment/classes/class.ilPaymentObject.php';

                if ($this->payment_enabled &&
                        ilPaymentObject::_isBuyable($this->ref_id))
                {
                        if (ilPaymentObject::_hasAccess($this->ref_id))
                        {
                                $this->tpl->setCurrentBlock("payment");
                                $this->tpl->setVariable("PAYMENT_TYPE_IMG", ilUtil::getImagePath('icon_pays_access_b.gif'));
                                $this->tpl->setVariable("PAYMENT_ALT_IMG", $this->lng->txt('payment_system') . ": " . $this->lng->txt('payment_payed_access'));
                                $this->tpl->parseCurrentBlock();
                        }
                        else if (ilPaymentObject::_isInCart($this->ref_id))
                        {
                                $this->tpl->setCurrentBlock("payment");
                                $this->tpl->setVariable("PAYMENT_TYPE_IMG", ilUtil::getImagePath('icon_pays_cart_b.gif'));
                                $this->tpl->setVariable("PAYMENT_ALT_IMG", $this->lng->txt('payment_system') . ": " . $this->lng->txt('payment_in_sc'));
                                $this->tpl->parseCurrentBlock();
                        }
                        else
                        {
                                $this->tpl->setCurrentBlock("payment");
                                $this->tpl->setVariable("PAYMENT_TYPE_IMG", ilUtil::getImagePath('icon_pays_b.gif'));
                                $this->tpl->setVariable("PAYMENT_ALT_IMG", $this->lng->txt('payment_system') . ": " . $this->lng->txt('payment_buyable'));
                                $this->tpl->parseCurrentBlock();
                        }
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertPreconditions (  ) 

insert all missing preconditions

Definition at line 768 of file class.ilObjectListGUI.php.

References $lng, ilConditionHandler::_checkCondition(), ilConditionHandler::_getConditionsOfTarget(), and ilObject::_lookupTitle().

Referenced by getListItemHTML().

        {
                global $ilAccess, $lng, $objDefinition;

                include_once("classes/class.ilConditionHandler.php");

                $missing_cond_exist = false;
                
                // do not show multi level conditions (messes up layout)
                if ($this->condition_depth > 0)
                {
                        return;
                }

                foreach(ilConditionHandler::_getConditionsOfTarget($this->obj_id) as $condition)
                {
                        if(ilConditionHandler::_checkCondition($condition['id']))
                        {
                                continue;
                        }
                        $missing_cond_exist = true;

                        $cond_txt = $lng->txt("condition_".$condition["operator"])." ".
                                $condition["value"];

                        // display trigger item
                        $class = $objDefinition->getClassName($condition["trigger_type"]);
                        $location = $objDefinition->getLocation($condition["trigger_type"]);
                        $full_class = "ilObj".$class."ListGUI";
                        include_once($location."/class.".$full_class.".php");
                        $item_list_gui = new $full_class($this);
                        $item_list_gui->setMode(IL_LIST_AS_TRIGGER);
                        $item_list_gui->enablePath(true);
                        $item_list_gui->setConditionDepth($this->condition_depth + 1);
                        $trigger_html = $item_list_gui->getListItemHTML($condition['trigger_ref_id'],
                                $condition['trigger_obj_id'], trim($cond_txt).": ".ilObject::_lookupTitle($condition["trigger_obj_id"]),
                                 "");
                        $this->tpl->setCurrentBlock("precondition");
                        if ($trigger_html == "")
                        {
                                $trigger_html = $this->lng->txt("precondition_not_accessible");
                        }
                        //$this->tpl->setVariable("TXT_CONDITION", trim($cond_txt));
                        $this->tpl->setVariable("TRIGGER_ITEM", $trigger_html);
                        $this->tpl->parseCurrentBlock();
                }

                if ($missing_cond_exist)
                {
                        $this->tpl->setCurrentBlock("preconditions");
                        $this->tpl->setVariable("TXT_PRECONDITIONS", $lng->txt("preconditions"));
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertProperties ( a_item = ''  ) 

insert properties

private

Definition at line 675 of file class.ilObjectListGUI.php.

References $lng, getCustomProperties(), and getProperties().

Referenced by ilObjiLincClassroomListGUI::getListItemHTML(), and getListItemHTML().

        {
                global $ilAccess, $lng;

                $props = $this->getProperties($a_item);
                $props = $this->getCustomProperties($props);

                // add no item access note in public section
                // for items that are visible but not readable
                if ($this->ilias->account->getId() == ANONYMOUS_USER_ID)
                {
                        if (!$ilAccess->checkAccess("read", "", $this->ref_id, $this->type, $this->obj_id))
                        {
                                $props[] = array("alert" => true,
                                        "value" => $lng->txt("no_access_item_public"),
                                        "newline" => true);
                        }
                }

                $cnt = 1;
                if (is_array($props) && count($props) > 0)
                {
                        foreach($props as $prop)
                        {
                                if ($prop["alert"] == true)
                                {
                                        $this->tpl->touchBlock("alert_prop");
                                }
                                else
                                {
                                        $this->tpl->touchBlock("std_prop");
                                }
                                if ($prop["newline"] == true && $cnt > 1)
                                {
                                        $this->tpl->touchBlock("newline_prop");
                                }
                                if (isset($prop["property"]))
                                {
                                        $this->tpl->setCurrentBlock("prop_name");
                                        $this->tpl->setVariable("TXT_PROP", $prop["property"]);
                                        $this->tpl->parseCurrentBlock();
                                }
                                $this->tpl->setCurrentBlock("item_property");
                                $this->tpl->setVariable("VAL_PROP", $prop["value"]);
                                $this->tpl->parseCurrentBlock();

                                $cnt++;
                        }
                        $this->tpl->setCurrentBlock("item_properties");
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertSubscribeCommand (  ) 

insert subscribe command

private

Parameters:
object $a_tpl template object
int $a_ref_id item reference id

Definition at line 917 of file class.ilObjectListGUI.php.

References insertCommand().

Referenced by insertCommands().

        {
                if ($this->ilias->account->getId() != ANONYMOUS_USER_ID)
                {
                        if (!$this->ilias->account->isDesktopItem($this->ref_id, $this->type))
                        {
                                if ($this->rbacsystem->checkAccess("read", $this->ref_id)
                                        && is_object($this->container_obj))
                                {
                                        $this->ctrl->setParameter($this->container_obj, "ref_id",
                                                $this->container_obj->object->getRefId());
                                        $this->ctrl->setParameter($this->container_obj, "type", $this->type);
                                        $this->ctrl->setParameter($this->container_obj, "item_ref_id", $this->ref_id);
                                        $cmd_link = $this->ctrl->getLinkTarget($this->container_obj, "addToDesk");
                                        $this->insertCommand($cmd_link, $this->lng->txt("to_desktop"));
                                }
                        }
                        else
                        {
                                // not so nice, if no container object given, it must
                                // be personal desktop
                                if (is_object($this->container_obj))
                                {
                                        $this->ctrl->setParameter($this->container_obj, "ref_id",
                                                $this->container_obj->object->getRefId());
                                        $this->ctrl->setParameter($this->container_obj, "type", $this->type);
                                        $this->ctrl->setParameter($this->container_obj, "item_ref_id", $this->ref_id);
                                        $cmd_link = $this->ctrl->getLinkTarget($this->container_obj, "removeFromDesk");
                                        $this->insertCommand($cmd_link, $this->lng->txt("unsubscribe"));
                                }
                                else
                                {
                                        $this->ctrl->setParameterByClass("ilpersonaldesktopgui", "type", $this->type);
                                        $this->ctrl->setParameterByClass("ilpersonaldesktopgui", "item_ref_id", $this->ref_id);
                                        $cmd_link = $this->ctrl->getLinkTargetByClass("ilpersonaldesktopgui",
                                                "dropItem");
                                        $this->insertCommand($cmd_link, $this->lng->txt("unsubscribe"));
                                }
                        }
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::insertTitle (  ) 

insert item title

private

Parameters:
object $a_tpl template object
string $a_title item title

Definition at line 579 of file class.ilObjectListGUI.php.

References appendRepositoryFrameParameter(), getCommandsStatus(), and getTitle().

Referenced by ilObjiLincClassroomListGUI::getListItemHTML(), and getListItemHTML().

        {
                if (!$this->default_command || !$this->getCommandsStatus())
                {
                        $this->tpl->setCurrentBlock("item_title");
                        $this->tpl->setVariable("TXT_TITLE", $this->getTitle());
                        $this->tpl->parseCurrentBlock();
                }
                else
                {
                        if ($this->default_command["frame"] != "")
                        {
                                $this->tpl->setCurrentBlock("title_linked_frame");
                                $this->tpl->setVariable("TARGET_TITLE_LINKED", $this->default_command["frame"]);
                                $this->tpl->parseCurrentBlock();
                        }
                        
                        // workaround for repository frameset
                        $this->default_command["link"] = 
                                $this->appendRepositoryFrameParameter($this->default_command["link"]);

                        // the default command is linked with the title
                        $this->tpl->setCurrentBlock("item_title_linked");
                        $this->tpl->setVariable("TXT_TITLE_LINKED", $this->getTitle());
                        $this->tpl->setVariable("HREF_TITLE_LINKED", $this->default_command["link"]);
                        $this->tpl->parseCurrentBlock();
                }
        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjectListGUI::isMode ( a_mode  ) 

check current output mode

Parameters:
string $a_mode (IL_LIST_FULL | IL_LIST_AS_TRIGGER)
Returns:
boolen true if current mode is $a_mode

Definition at line 658 of file class.ilObjectListGUI.php.

Referenced by ilObjiLincClassroomListGUI::getListItemHTML(), getListItemHTML(), ilObjiLincClassroomListGUI::insertCommands(), and insertCommands().

        {
                if ($a_mode == $this->mode)
                {
                        return true;
                }
                else
                {
                        return false;
                }
        }

Here is the caller graph for this function:

ilObjectListGUI::setConditionDepth ( a_depth  ) 

set depth for precondition output (stops at level 5)

Definition at line 646 of file class.ilObjectListGUI.php.

        {
                $this->condition_depth = $a_depth;
        }

ilObjectListGUI::setContainerObject ( &$  container_obj  ) 

set the container object (e.g categorygui) Used for link, delete ...

commands

this method should be overwritten by derived classes

Definition at line 82 of file class.ilObjectListGUI.php.

        {
                $this->container_obj =& $container_obj;
        }

ilObjectListGUI::setDescription ( a_description  ) 
Parameters:
string description
Returns:
bool

Definition at line 370 of file class.ilObjectListGUI.php.

Referenced by initItem().

        {
                $this->description = $a_description;
        }

Here is the caller graph for this function:

ilObjectListGUI::setMode ( a_mode  ) 

set output mode

Parameters:
string $a_mode output mode (IL_LIST_FULL | IL_LIST_AS_TRIGGER)

Definition at line 628 of file class.ilObjectListGUI.php.

        {
                $this->mode = $a_mode;
        }

ilObjectListGUI::setTitle ( a_title  ) 
Parameters:
string title
Returns:
bool

Definition at line 351 of file class.ilObjectListGUI.php.

Referenced by initItem().

        {
                $this->title = $a_title;
        }

Here is the caller graph for this function:


Field Documentation

ilObjectListGUI::$commands_enabled = true

Definition at line 50 of file class.ilObjectListGUI.php.

ilObjectListGUI::$condition_depth = 0

Definition at line 54 of file class.ilObjectListGUI.php.

ilObjectListGUI::$ctrl

Definition at line 46 of file class.ilObjectListGUI.php.

ilObjectListGUI::$cust_commands = array()

Definition at line 52 of file class.ilObjectListGUI.php.

ilObjectListGUI::$cust_prop = array()

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

ilObjectListGUI::$description_enabled = true

Definition at line 47 of file class.ilObjectListGUI.php.

ilObjectListGUI::$info_screen_enabled = false

Definition at line 53 of file class.ilObjectListGUI.php.

ilObjectListGUI::$preconditions_enabled = true

Definition at line 48 of file class.ilObjectListGUI.php.

ilObjectListGUI::$properties_enabled = true

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


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