Commit f67caae8355bddb88541a869ee4561f4bcf80087

Authored by Michael Joseph
1 parent 30a56386

added copyright and gpl notice

removed owl prefix from table aliases
changed filename to proper case


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2565 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/security/permission.inc renamed to lib/security/Permission.inc
1 <?php 1 <?php
2 -  
3 /** 2 /**
4 -* Class Permission  
5 -*  
6 -* Contains static functions used to determine whether the current user:  
7 -* o has permission to perform certain actions  
8 -* o has a certain role  
9 -* o is assigned to a certain group  
10 -* o has read/write access for a specific folder/directory  
11 -*  
12 -* @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa  
13 -* @date 14 January 2003  
14 -* @package lib.roles  
15 -*/  
16 - 3 + * $Id$
  4 + *
  5 + * Contains static functions used to determine whether the current user:
  6 + * o has permission to perform certain actions
  7 + * o has a certain role
  8 + * o is assigned to a certain group
  9 + * o has read/write access for a specific folder/directory
  10 + *
  11 + * Copyright (c) 2003 Jam Warehouse http://www.jamwarehouse.com
  12 + *
  13 + * This program is free software; you can redistribute it and/or modify
  14 + * it under the terms of the GNU General Public License as published by
  15 + * the Free Software Foundation; either version 2 of the License, or
  16 + * (at your option) any later version.
  17 + *
  18 + * This program is distributed in the hope that it will be useful,
  19 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21 + * GNU General Public License for more details.
  22 + *
  23 + * You should have received a copy of the GNU General Public License
  24 + * along with this program; if not, write to the Free Software
  25 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  26 + *
  27 + * @version $Revision$
  28 + * @author Rob Cherry, Jam Warehouse (Pty) Ltd, South Africa
  29 + * @package lib.security
  30 + */
17 class Permission { 31 class Permission {
18 32
19 /** 33 /**
@@ -125,7 +139,7 @@ class Permission { @@ -125,7 +139,7 @@ class Permission {
125 function folderIsPublic($iFolderID) { 139 function folderIsPublic($iFolderID) {
126 global $default, $lang_err_folder_not_public; 140 global $default, $lang_err_folder_not_public;
127 $sql = $default->db; 141 $sql = $default->db;
128 - $sql->query("SELECT * FROM " . $default->owl_folders_table . " WHERE id = " . $iFolderID . " AND is_public = 1"); 142 + $sql->query("SELECT * FROM " . $default->folders_table . " WHERE id = " . $iFolderID . " AND is_public = 1");
129 if ($sql->next_record()) { 143 if ($sql->next_record()) {
130 return true; 144 return true;
131 } 145 }
@@ -198,7 +212,7 @@ class Permission { @@ -198,7 +212,7 @@ class Permission {
198 $default->log->info("Failed to retrieve folder with ID $iFolderID from database"); 212 $default->log->info("Failed to retrieve folder with ID $iFolderID from database");
199 return false; 213 return false;
200 } 214 }
201 - //$sql->query("SELECT * FROM " . $default->owl_groups_folders_table = "groups_folders_link" . " WHERE folder_id = " . $iFolderID . " AND user_id = " . $_SESSION["userID"] . " AND can_read = 1"); 215 + //$sql->query("SELECT * FROM " . $default->groups_folders_table = "groups_folders_link" . " WHERE folder_id = " . $iFolderID . " AND user_id = " . $_SESSION["userID"] . " AND can_read = 1");
202 $sql->query("SELECT GFL.folder_id " . 216 $sql->query("SELECT GFL.folder_id " .
203 "FROM groups_folders_link AS GFL INNER JOIN users_groups_link AS UGL ON GFL.group_id = UGL.group_id " . 217 "FROM groups_folders_link AS GFL INNER JOIN users_groups_link AS UGL ON GFL.group_id = UGL.group_id " .
204 "WHERE UGL.user_id = " . $_SESSION["userID"] . " " . 218 "WHERE UGL.user_id = " . $_SESSION["userID"] . " " .
@@ -221,7 +235,7 @@ class Permission { @@ -221,7 +235,7 @@ class Permission {
221 function userIsInGroupID($iGroupID) { 235 function userIsInGroupID($iGroupID) {
222 global $default, $lang_err_user_group; 236 global $default, $lang_err_user_group;
223 $sql = $default->db; 237 $sql = $default->db;
224 - $sql->query("SELECT id FROM " . $default->owl_groups_users_table . " WHERE id = " . $iGroupID . " AND user_id = " . $_SESSION["userID"]); 238 + $sql->query("SELECT id FROM " . $default->users_groups_table . " WHERE group_id = " . $iGroupID . " AND user_id = " . $_SESSION["userID"]);
225 if ($sql->next_record()) { 239 if ($sql->next_record()) {
226 return true; 240 return true;
227 } 241 }
@@ -239,7 +253,7 @@ class Permission { @@ -239,7 +253,7 @@ class Permission {
239 function userIsInGroupName($sGroupName) { 253 function userIsInGroupName($sGroupName) {
240 global $default, $lang_err_user_group; 254 global $default, $lang_err_user_group;
241 $sql = $default->db; 255 $sql = $default->db;
242 - $sql->query("SELECT GULT.id FROM " . $default->owl_users_groups_table . " AS GULT INNER JOIN " . $default->owl_groups_table . " AS G ON GULT.group_id = G.ID WHERE G.name = '" . $sGroupName . "' AND user_id = " . $_SESSION["userID"]); 256 + $sql->query("SELECT GULT.id FROM " . $default->users_groups_table . " AS GULT INNER JOIN " . $default->groups_table . " AS G ON GULT.group_id = G.ID WHERE G.name = '" . $sGroupName . "' AND user_id = " . $_SESSION["userID"]);
243 if ($sql->next_record()) { 257 if ($sql->next_record()) {
244 return true; 258 return true;
245 } 259 }
@@ -258,8 +272,8 @@ class Permission { @@ -258,8 +272,8 @@ class Permission {
258 function userHasWriteRoleForDocument($iDocumentID) { 272 function userHasWriteRoleForDocument($iDocumentID) {
259 global $default, $lang_err_user_role; 273 global $default, $lang_err_user_role;
260 $sql = $default->db; 274 $sql = $default->db;
261 - $sql->query("SELECT FURL.id FROM $default->owl_folders_user_roles_table AS FURL INNER JOIN $default->owl_groups_folders_approval_table AS GFAL ON FURL.group_folder_approval_id = GFAL.id " .  
262 - "INNER JOIN $default->owl_roles_table AS R ON GFAL.role_id = R.id " . 275 + $sql->query("SELECT FURL.id FROM $default->folders_user_roles_table AS FURL INNER JOIN $default->groups_folders_approval_table AS GFAL ON FURL.group_folder_approval_id = GFAL.id " .
  276 + "INNER JOIN $default->roles_table AS R ON GFAL.role_id = R.id " .
263 "WHERE FURL.user_id = " . $_SESSION["userID"] . " " . 277 "WHERE FURL.user_id = " . $_SESSION["userID"] . " " .
264 "AND FURL.document_id = $iDocumentID " . 278 "AND FURL.document_id = $iDocumentID " .
265 "AND R.can_write = 1 " . 279 "AND R.can_write = 1 " .
@@ -281,8 +295,8 @@ class Permission { @@ -281,8 +295,8 @@ class Permission {
281 function userHasReadRoleForDocument($iDocumentID) { 295 function userHasReadRoleForDocument($iDocumentID) {
282 global $default, $lang_err_user_role; 296 global $default, $lang_err_user_role;
283 $sql = $default->db; 297 $sql = $default->db;
284 - $sql->query("SELECT * FROM $default->owl_folders_user_roles_table AS FURL INNER JOIN $default->owl_groups_folders_approval_table AS GFAL ON FURL.group_folder_approval_id = GFAL.id " .  
285 - "INNER JOIN $default->owl_roles_table AS R ON GFAL.role_id = R.id " . 298 + $sql->query("SELECT * FROM $default->folders_user_roles_table AS FURL INNER JOIN $default->groups_folders_approval_table AS GFAL ON FURL.group_folder_approval_id = GFAL.id " .
  299 + "INNER JOIN $default->roles_table AS R ON GFAL.role_id = R.id " .
286 "WHERE FURL.user_id = " . $_SESSION["userID"] . " " . 300 "WHERE FURL.user_id = " . $_SESSION["userID"] . " " .
287 "AND FURL.document_id = $iDocumentID " . 301 "AND FURL.document_id = $iDocumentID " .
288 "AND R.can_read = 1"); 302 "AND R.can_read = 1");
@@ -301,7 +315,7 @@ class Permission { @@ -301,7 +315,7 @@ class Permission {
301 function documentIsTemplateForDependantDocument($iDocumentID) { 315 function documentIsTemplateForDependantDocument($iDocumentID) {
302 global $default; 316 global $default;
303 $sql = $default->db; 317 $sql = $default->db;
304 - $sql->query("SELECT id FROM $default->owl_dependant_document_instance_table WHERE template_document_id = $iDocumentID and user_id = " . $_SESSION["userID"]); 318 + $sql->query("SELECT id FROM $default->dependant_document_instance_table WHERE template_document_id = $iDocumentID and user_id = " . $_SESSION["userID"]);
305 if ($sql->next_record()) { 319 if ($sql->next_record()) {
306 return true; 320 return true;
307 } 321 }
@@ -318,7 +332,7 @@ class Permission { @@ -318,7 +332,7 @@ class Permission {
318 function roleIDExists($iRoleID) { 332 function roleIDExists($iRoleID) {
319 global $default, $lang_err_role_not_exist; 333 global $default, $lang_err_role_not_exist;
320 $sql = $default->db; 334 $sql = $default->db;
321 - $sql->query("SELECT id FROM " . $default->owl_roles_table . " WHERE id = " . $iRoleID); 335 + $sql->query("SELECT id FROM " . $default->roles_table . " WHERE id = " . $iRoleID);
322 if ($sql->next_record()) { 336 if ($sql->next_record()) {
323 return true; 337 return true;
324 } 338 }
@@ -336,7 +350,7 @@ class Permission { @@ -336,7 +350,7 @@ class Permission {
336 function roleNameExists($sRoleName) { 350 function roleNameExists($sRoleName) {
337 global $default, $lang_err_role_not_exist; 351 global $default, $lang_err_role_not_exist;
338 $sql = $default->db; 352 $sql = $default->db;
339 - $sql->query("SELECT id FROM " . $default->owl_roles_table . " WHERE name = '" . $sRoleName . "'"); 353 + $sql->query("SELECT id FROM " . $default->roles_table . " WHERE name = '" . $sRoleName . "'");
340 if ($sql->next_record()) { 354 if ($sql->next_record()) {
341 return true; 355 return true;
342 } 356 }
@@ -355,7 +369,7 @@ class Permission { @@ -355,7 +369,7 @@ class Permission {
355 global $default, $lang_err_database; 369 global $default, $lang_err_database;
356 if (roleExists($sRoleName)) { 370 if (roleExists($sRoleName)) {
357 $sql = $default->db; 371 $sql = $default->db;
358 - $sql->query("SELECT id FROM " . $default->owl_roles_table . " WHERE name = '" . $sRoleName . "'"); 372 + $sql->query("SELECT id FROM " . $default->roles_table . " WHERE name = '" . $sRoleName . "'");
359 $sql->next_record(); 373 $sql->next_record();
360 return $sql->f("id"); 374 return $sql->f("id");
361 } 375 }
@@ -376,7 +390,7 @@ class Permission { @@ -376,7 +390,7 @@ class Permission {
376 } 390 }
377 $sql = $default->db; 391 $sql = $default->db;
378 $sql->query("SELECT UGL.group_id " . 392 $sql->query("SELECT UGL.group_id " .
379 - "FROM $default->owl_users_groups_table AS UGL INNER JOIN $default->owl_groups_table AS GL ON UGL.group_id = GL.id " . 393 + "FROM $default->users_groups_table AS UGL INNER JOIN $default->groups_table AS GL ON UGL.group_id = GL.id " .
380 "WHERE UGL.user_id = $iUserID " . 394 "WHERE UGL.user_id = $iUserID " .
381 "AND is_sys_admin = 1"); 395 "AND is_sys_admin = 1");
382 if ($sql->next_record()) { 396 if ($sql->next_record()) {
@@ -397,8 +411,8 @@ class Permission { @@ -397,8 +411,8 @@ class Permission {
397 } 411 }
398 $sql = $default->db; 412 $sql = $default->db;
399 $sql->query("SELECT UGL.group_id " . 413 $sql->query("SELECT UGL.group_id " .
400 - "FROM $default->owl_users_groups_table AS UGL INNER JOIN $default->owl_groups_units_table AS GUL ON GUL.group_id = UGL.group_id " .  
401 - "INNER JOIN $default->owl_groups_table AS GL ON GL.id = UGL.group_id " . 414 + "FROM $default->users_groups_table AS UGL INNER JOIN $default->groups_units_table AS GUL ON GUL.group_id = UGL.group_id " .
  415 + "INNER JOIN $default->groups_table AS GL ON GL.id = UGL.group_id " .
402 "WHERE UGL.user_id = $iUserID " . 416 "WHERE UGL.user_id = $iUserID " .
403 "AND GL.is_unit_admin = 1"); 417 "AND GL.is_unit_admin = 1");
404 return $sql->next_record(); 418 return $sql->next_record();
@@ -414,10 +428,10 @@ class Permission { @@ -414,10 +428,10 @@ class Permission {
414 $sql = $default->db; 428 $sql = $default->db;
415 429
416 $sql->query("SELECT * " . 430 $sql->query("SELECT * " .
417 - "FROM $default->owl_groups_folders_table AS GFL INNER JOIN $default->owl_folders_table AS F ON GFL.folder_id = F.id " .  
418 - "INNER JOIN $default->owl_groups_units_table AS GUL ON GUL.unit_id = F.unit_id " .  
419 - "INNER JOIN $default->owl_groups_table AS GL ON GUL.group_id = GL.id " .  
420 - "INNER JOIN $default->owl_users_groups_table AS UGL ON UGL.group_id = GL.id " . 431 + "FROM $default->groups_folders_table AS GFL INNER JOIN $default->folders_table AS F ON GFL.folder_id = F.id " .
  432 + "INNER JOIN $default->groups_units_table AS GUL ON GUL.unit_id = F.unit_id " .
  433 + "INNER JOIN $default->groups_table AS GL ON GUL.group_id = GL.id " .
  434 + "INNER JOIN $default->users_groups_table AS UGL ON UGL.group_id = GL.id " .
421 "WHERE GL.is_unit_admin = 1 " . 435 "WHERE GL.is_unit_admin = 1 " .
422 "AND GFL.folder_id = $iFolderID " . 436 "AND GFL.folder_id = $iFolderID " .
423 "AND UGL.user_id = " . $_SESSION["userID"]); 437 "AND UGL.user_id = " . $_SESSION["userID"]);
@@ -437,7 +451,7 @@ class Permission { @@ -437,7 +451,7 @@ class Permission {
437 $sql = $default->db; 451 $sql = $default->db;
438 // you're a guest user if you're in the Anonymous group 452 // you're a guest user if you're in the Anonymous group
439 $sql->query("SELECT UGL.group_id 453 $sql->query("SELECT UGL.group_id
440 - FROM $default->owl_users_groups_table AS UGL INNER JOIN $default->owl_groups_table AS GL ON GL.id = UGL.group_id 454 + FROM $default->users_groups_table AS UGL INNER JOIN $default->groups_table AS GL ON GL.id = UGL.group_id
441 WHERE GL.name = 'Anonymous' 455 WHERE GL.name = 'Anonymous'
442 AND UGL.user_id = $iUserID"); 456 AND UGL.user_id = $iUserID");
443 return $sql->next_record(); 457 return $sql->next_record();