ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjGlossaryAccess Class Reference

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
- Public Member Functions inherited from ilObjectAccess
 _checkCondition ($a_obj_id, $a_operator, $a_value, $a_usr_id=0)
 check condition

Detailed Description

Class ilObjGlossaryAccess.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id:
class.ilObjGlossaryAccess.php 20915 2009-08-06 02:04:42Z 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_cmdcommand (not permission!)
string$a_permissionpermission
int$a_ref_idreference id
int$a_obj_idobject id
int$a_user_iduser 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, _lookupOnline(), and IL_NO_OBJECT_ACCESS.

{
global $ilUser, $lng, $rbacsystem, $ilAccess;
if ($a_user_id == "")
{
$a_user_id = $ilUser->getId();
}
switch ($a_permission)
{
case "read":
&& !$rbacsystem->checkAccessOfUser($a_user_id,'write',$a_ref_id))
{
$ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
return false;
}
break;
case "visible":
(!$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 130 of file class.ilObjGlossaryAccess.php.

References $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
require_once("./Modules/Glossary/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 96 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 115 of file class.ilObjGlossaryAccess.php.

References $ilDB, $q, and ilUtil\yn2tf().

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

{
global $ilDB;
$q = "SELECT * FROM glossary WHERE id = ".
$ilDB->quote($a_id, "integer");
$lm_set = $ilDB->query($q);
$lm_rec = $ilDB->fetchAssoc($lm_set);
return ilUtil::yn2tf($lm_rec["is_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: