ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilContainerReferenceAccess.php
Go to the documentation of this file.
1<?php
2/*
3 +-----------------------------------------------------------------------------+
4 | ILIAS open source |
5 +-----------------------------------------------------------------------------+
6 | Copyright (c) 1998-2006 ILIAS open source, University of Cologne |
7 | |
8 | This program is free software; you can redistribute it and/or |
9 | modify it under the terms of the GNU General Public License |
10 | as published by the Free Software Foundation; either version 2 |
11 | of the License, or (at your option) any later version. |
12 | |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | GNU General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software |
20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21 +-----------------------------------------------------------------------------+
22*/
23
24include_once('./Services/Object/classes/class.ilObjectAccess.php');
25
37{
50 public function _checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id = "")
51 {
52 return true;
53 }
54
61 public static function _isAccessible($a_ref_id)
62 {
63 global $DIC;
64
65 $ilDB = $DIC->database();
66 $tree = $DIC->repositoryTree();
67 $access = $DIC->access();
68
69 $obj_id = ilObject::_lookupObjId($a_ref_id);
70 $query = "SELECT target_obj_id FROM container_reference " .
71 "WHERE obj_id = " . $ilDB->quote($obj_id, 'integer') . " ";
72 $res = $ilDB->query($query);
73 while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
74 $target_id = $row->target_obj_id;
75 }
76 $target_ref_ids = ilObject::_getAllReferences($target_id);
77 $target_ref_id = current($target_ref_ids);
78 return
79 !$tree->isDeleted($target_ref_id) &&
80 $access->checkAccess('read', '', $target_ref_id);
81 }
82}
An exception for terminatinating execution or to throw for unit testing.
static _isAccessible($a_ref_id)
Check if target is accessible and not deleted.
_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::checkAcce...
Class ilObjectAccess.
static _lookupObjId($a_id)
static _getAllReferences($a_id)
get all reference ids of object
global $DIC
Definition: goto.php:24
$target_id
Definition: goto.php:51
$query
foreach($_POST as $key=> $value) $res
global $ilDB