ILIAS  Release_5_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)
 check condition
 _preloadData ($a_obj_ids, $a_ref_ids)
 Preload data.

Additional Inherited Members

- Static Public Member Functions inherited from ilObjectAccess
static _isOffline ($a_obj_id)
 Type-specific implementation of general status, has to be overwritten.

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 46207 2013-11-14 09:11:00Z jluetzen

Definition at line 17 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 32 of file class.ilObjGlossaryAccess.php.

References $ilUser, $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 114 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 78 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_content"),
array("permission" => "edit_content", "cmd" => "edit", "lang_var" => "edit_content"), // #11099
array("permission" => "write", "cmd" => "properties", "lang_var" => "settings")
);
return $commands;
}

+ Here is the caller graph for this function:

ilObjGlossaryAccess::_lookupOnline (   $a_id)

check wether learning module is online

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

References $ilDB, $lm_set, 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: