Public Member Functions

ilObjGlossaryAccess Class Reference
[Modules/Glossary]

Class ilObjGlossaryAccess. More...

Inheritance diagram for ilObjGlossaryAccess:
Collaboration diagram for ilObjGlossaryAccess:

Public Member Functions

 _checkAccess ($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id="")
 checks wether a user may invoke a command or not (this method is called by ilAccessHandler::checkAccess)
 _getCommands ()
 get commands
 _lookupOnline ($a_id)
 check wether learning module is online
 _checkGoto ($a_target)
 check whether goto script will succeed

Detailed Description

Class ilObjGlossaryAccess.

Author:
Alex Killing <alex.killing@gmx.de>
Version:
Id:
class.ilObjGlossaryAccess.php 11689 2006-07-29 16:12:36Z akill

Definition at line 35 of file class.ilObjGlossaryAccess.php.


Member Function Documentation

ilObjGlossaryAccess::_checkAccess ( a_cmd,
a_permission,
a_ref_id,
a_obj_id,
a_user_id = "" 
)

checks wether a user may invoke a command or not (this method is called by ilAccessHandler::checkAccess)

Parameters:
string $a_cmd command (not permission!)
string $a_permission permission
int $a_ref_id reference id
int $a_obj_id object id
int $a_user_id user id (if not provided, current user is taken)
Returns:
mixed true, if everything is ok, message (string) when access is not granted

Reimplemented from ilObjectAccess.

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

References $lng, $rbacsystem, and _lookupOnline().

        {
                global $ilUser, $lng, $rbacsystem, $ilAccess;

                if ($a_user_id == "")
                {
                        $a_user_id = $ilUser->getId();
                }

                switch ($a_cmd)
                {
                        case "view":

                                if(!ilObjGlossaryAccess::_lookupOnline($a_obj_id)
                                        && !$rbacsystem->checkAccessOfUser($a_user_id,'write',$a_ref_id))
                                {
                                        $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
                                        return false;
                                }
                                break;
                }

                switch ($a_permission)
                {
                        case "visible":
                                if (!ilObjGlossaryAccess::_lookupOnline($a_obj_id) &&
                                        (!$rbacsystem->checkAccessOfUser($a_user_id,'write', $a_ref_id)))
                                {
                                        $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
                                        return false;
                                }
                                break;
                }


                return true;
        }

Here is the call graph for this function:

ilObjGlossaryAccess::_checkGoto ( a_target  ) 

check whether goto script will succeed

Reimplemented from ilObjectAccess.

Definition at line 133 of file class.ilObjGlossaryAccess.php.

References $glo_id, $ref_id, ilObject::_getAllReferences(), and ilGlossaryTerm::_lookGlossaryID().

        {
                global $ilAccess;
                
                $t_arr = explode("_", $a_target);

                if (($t_arr[0] != "glo" && $t_arr[0] != "git") || ((int) $t_arr[1]) <= 0)
                {
                        return false;
                }

                if ($t_arr[0] == "glo")
                {
                        if ($ilAccess->checkAccess("read", "", $t_arr[1]) ||
                                $ilAccess->checkAccess("visible", "", $t_arr[1]))
                        {
                                return true;
                        }
                }

                if ($t_arr[0] == "git")
                {
                        if ($t_arr[2] > 0)
                        {
                                $ref_ids = array($t_arr[2]);
                        }
                        else
                        {
                                // determine learning object
                                include_once("content/classes/class.ilGlossaryTerm.php");
                                $glo_id = ilGlossaryTerm::_lookGlossaryID($t_arr[1]);
                                $ref_ids = ilObject::_getAllReferences($glo_id);
                        }
                        // check read permissions
                        foreach ($ref_ids as $ref_id)
                        {
                                // Permission check
                                if ($ilAccess->checkAccess("read", "", $ref_id))
                                {
                                        return true;
                                }
                        }
                }

                return false;
        }

Here is the call graph for this function:

ilObjGlossaryAccess::_getCommands (  ) 

get commands

this method returns an array of all possible commands/permission combinations

example: $commands = array ( array("permission" => "read", "cmd" => "view", "lang_var" => "show"), array("permission" => "write", "cmd" => "edit", "lang_var" => "edit"), );

Reimplemented from ilObjectAccess.

Definition at line 100 of file class.ilObjGlossaryAccess.php.

Referenced by ilObjGlossaryListGUI::init().

        {
                $commands = array
                (
                        array("permission" => "read", "cmd" => "view", "lang_var" => "show",
                                "default" => true),
                        array("permission" => "write", "cmd" => "edit", "lang_var" => "edit"),
                );
                
                return $commands;
        }

Here is the caller graph for this function:

ilObjGlossaryAccess::_lookupOnline ( a_id  ) 

check wether learning module is online

Definition at line 119 of file class.ilObjGlossaryAccess.php.

References $q, and ilUtil::yn2tf().

Referenced by _checkAccess(), and ilObjGlossaryListGUI::getProperties().

        {
                global $ilDB;

                $q = "SELECT * FROM glossary WHERE id = '".$a_id."'";
                $lm_set = $ilDB->query($q);
                $lm_rec = $lm_set->fetchRow(DB_FETCHMODE_ASSOC);

                return ilUtil::yn2tf($lm_rec["online"]);
        }

Here is the call graph for this function:

Here is the caller graph for this function:


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