ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjDataCollectionAccess Class Reference

Class ilObjDataCollectionAccess. More...

+ Inheritance diagram for ilObjDataCollectionAccess:
+ Collaboration diagram for ilObjDataCollectionAccess:

Public Member Functions

 _getCommands ()
 get commands
 _checkGoto ($a_target)
 check whether goto script will succeed
 _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)
 _lookupOnline ($a_id)
 Check wether datacollection is online.
- 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.

Static Public Member Functions

static checkAccessForDataCollectionId ($data_collection_id)
static checkActionForObjId ($action, $obj_id)
static hasWriteAccess ($ref)
static hasAddRecordAccess ($ref)
static hasReadAccess ($ref)
- Static Public Member Functions inherited from ilObjectAccess
static _isOffline ($a_obj_id)
 Type-specific implementation of general status, has to be overwritten.

Detailed Description

Member Function Documentation

ilObjDataCollectionAccess::_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
boolean true, if everything is ok

Reimplemented from ilObjectAccess.

Definition at line 74 of file class.ilObjDataCollectionAccess.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_cmd) {
case "view":
&& ! $rbacsystem->checkAccessOfUser($a_user_id, 'write', $a_ref_id)
) {
$ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
return false;
}
break;
// for permission query feature
case "infoScreen":
$ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
} else {
$ilAccess->addInfoItem(IL_STATUS_MESSAGE, $lng->txt("online"));
}
break;
}
switch ($a_permission) {
case "read":
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:

ilObjDataCollectionAccess::_checkGoto (   $a_target)

check whether goto script will succeed

Reimplemented from ilObjectAccess.

Definition at line 45 of file class.ilObjDataCollectionAccess.php.

{
global $ilAccess;
$t_arr = explode("_", $a_target);
if ($t_arr[0] != "dcl" || ((int)$t_arr[1]) <= 0) {
return false;
}
if ($ilAccess->checkAccess("read", "", $t_arr[1])) {
return true;
}
return false;
}
ilObjDataCollectionAccess::_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 31 of file class.ilObjDataCollectionAccess.php.

Referenced by ilObjDataCollectionListGUI\init().

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

+ Here is the caller graph for this function:

ilObjDataCollectionAccess::_lookupOnline (   $a_id)

Check wether datacollection is online.

Parameters
int$a_idwiki id

Definition at line 123 of file class.ilObjDataCollectionAccess.php.

References $ilDB.

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

{
global $ilDB;
$q = "SELECT * FROM il_dcl_data WHERE id = " . $ilDB->quote($a_id, "integer");
$dcl_set = $ilDB->query($q);
$dcl_rec = $ilDB->fetchAssoc($dcl_set);
return $dcl_rec["is_online"];
}

+ Here is the caller graph for this function:

static ilObjDataCollectionAccess::checkAccessForDataCollectionId (   $data_collection_id)
static
Parameters
$data_collection_iduse checkActionForId instead
Returns
bool

Definition at line 143 of file class.ilObjDataCollectionAccess.php.

References ilObject2\_getAllReferences().

{
global $ilAccess;
$perm = false;
$references = ilObject2::_getAllReferences($data_collection_id);
if ($ilAccess->checkAccess("add_entry", "", array_shift($references))) {
$perm = true;
}
return $perm;
}

+ Here is the call graph for this function:

static ilObjDataCollectionAccess::checkActionForObjId (   $action,
  $obj_id 
)
static
Parameters
$action
$obj_id
Returns
bool

Definition at line 163 of file class.ilObjDataCollectionAccess.php.

References $ref_id, and ilObject2\_getAllReferences().

Referenced by ilDataCollectionTableEditGUI\save().

{
foreach (ilObject2::_getAllReferences($obj_id) as $ref_id) {
if (self::checkActionForRefId($action, $ref_id)) {
return true;
}
}
return false;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilObjDataCollectionAccess::hasAddRecordAccess (   $ref)
static
Parameters
$refint the reference id of the datacollection object to check.
Returns
bool whether or not the current user has admin/write access to the referenced datacollection

Definition at line 208 of file class.ilObjDataCollectionAccess.php.

Referenced by ilDataCollectionRecordEditGUI\executeCommand(), ilDataCollectionTable\hasPermissionToAddRecord(), ilDataCollectionTable\hasPermissionToDeleteRecord(), and ilDataCollectionTable\hasPermissionToEditRecord().

{
global $ilAccess;
return $ilAccess->checkAccess("add_entry", "", $ref);
}

+ Here is the caller graph for this function:

static ilObjDataCollectionAccess::hasReadAccess (   $ref)
static
Parameters
$refint the reference id of the datacollection object to check.
Returns
bool whether or not the current user has read access to the referenced datacollection

Definition at line 220 of file class.ilObjDataCollectionAccess.php.

Referenced by ilObjDataCollection\_hasReadAccess().

{
global $ilAccess;
return $ilAccess->checkAccess("read", "", $ref);
}

+ Here is the caller graph for this function:

static ilObjDataCollectionAccess::hasWriteAccess (   $ref)
static
Parameters
$refint the reference id of the datacollection object to check.
Returns
bool whether or not the current user has admin/write access to the referenced datacollection

Definition at line 196 of file class.ilObjDataCollectionAccess.php.

Referenced by ilObjDataCollection\_hasWriteAccess(), ilDataCollectionRecordViewGUI\doExtReplace(), ilDataCollectionTable\getPartialRecords(), ilDataCollectionTable\hasPermissionToAddRecord(), ilDataCollectionTable\hasPermissionToAddTable(), ilDataCollectionTable\hasPermissionToDeleteRecord(), ilDataCollectionTable\hasPermissionToDeleteRecords(), ilDataCollectionTable\hasPermissionToEditRecord(), and ilDataCollectionTable\hasPermissionToFields().

{
global $ilAccess;
return $ilAccess->checkAccess("write", "", $ref);
}

+ Here is the caller graph for this function:


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