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 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 31 class Permission {
18 32  
19 33 /**
... ... @@ -125,7 +139,7 @@ class Permission {
125 139 function folderIsPublic($iFolderID) {
126 140 global $default, $lang_err_folder_not_public;
127 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 143 if ($sql->next_record()) {
130 144 return true;
131 145 }
... ... @@ -198,7 +212,7 @@ class Permission {
198 212 $default->log->info("Failed to retrieve folder with ID $iFolderID from database");
199 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 216 $sql->query("SELECT GFL.folder_id " .
203 217 "FROM groups_folders_link AS GFL INNER JOIN users_groups_link AS UGL ON GFL.group_id = UGL.group_id " .
204 218 "WHERE UGL.user_id = " . $_SESSION["userID"] . " " .
... ... @@ -221,7 +235,7 @@ class Permission {
221 235 function userIsInGroupID($iGroupID) {
222 236 global $default, $lang_err_user_group;
223 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 239 if ($sql->next_record()) {
226 240 return true;
227 241 }
... ... @@ -239,7 +253,7 @@ class Permission {
239 253 function userIsInGroupName($sGroupName) {
240 254 global $default, $lang_err_user_group;
241 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 257 if ($sql->next_record()) {
244 258 return true;
245 259 }
... ... @@ -258,8 +272,8 @@ class Permission {
258 272 function userHasWriteRoleForDocument($iDocumentID) {
259 273 global $default, $lang_err_user_role;
260 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 277 "WHERE FURL.user_id = " . $_SESSION["userID"] . " " .
264 278 "AND FURL.document_id = $iDocumentID " .
265 279 "AND R.can_write = 1 " .
... ... @@ -281,8 +295,8 @@ class Permission {
281 295 function userHasReadRoleForDocument($iDocumentID) {
282 296 global $default, $lang_err_user_role;
283 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 300 "WHERE FURL.user_id = " . $_SESSION["userID"] . " " .
287 301 "AND FURL.document_id = $iDocumentID " .
288 302 "AND R.can_read = 1");
... ... @@ -301,7 +315,7 @@ class Permission {
301 315 function documentIsTemplateForDependantDocument($iDocumentID) {
302 316 global $default;
303 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 319 if ($sql->next_record()) {
306 320 return true;
307 321 }
... ... @@ -318,7 +332,7 @@ class Permission {
318 332 function roleIDExists($iRoleID) {
319 333 global $default, $lang_err_role_not_exist;
320 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 336 if ($sql->next_record()) {
323 337 return true;
324 338 }
... ... @@ -336,7 +350,7 @@ class Permission {
336 350 function roleNameExists($sRoleName) {
337 351 global $default, $lang_err_role_not_exist;
338 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 354 if ($sql->next_record()) {
341 355 return true;
342 356 }
... ... @@ -355,7 +369,7 @@ class Permission {
355 369 global $default, $lang_err_database;
356 370 if (roleExists($sRoleName)) {
357 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 373 $sql->next_record();
360 374 return $sql->f("id");
361 375 }
... ... @@ -376,7 +390,7 @@ class Permission {
376 390 }
377 391 $sql = $default->db;
378 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 394 "WHERE UGL.user_id = $iUserID " .
381 395 "AND is_sys_admin = 1");
382 396 if ($sql->next_record()) {
... ... @@ -397,8 +411,8 @@ class Permission {
397 411 }
398 412 $sql = $default->db;
399 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 416 "WHERE UGL.user_id = $iUserID " .
403 417 "AND GL.is_unit_admin = 1");
404 418 return $sql->next_record();
... ... @@ -414,10 +428,10 @@ class Permission {
414 428 $sql = $default->db;
415 429  
416 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 435 "WHERE GL.is_unit_admin = 1 " .
422 436 "AND GFL.folder_id = $iFolderID " .
423 437 "AND UGL.user_id = " . $_SESSION["userID"]);
... ... @@ -437,7 +451,7 @@ class Permission {
437 451 $sql = $default->db;
438 452 // you're a guest user if you're in the Anonymous group
439 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 455 WHERE GL.name = 'Anonymous'
442 456 AND UGL.user_id = $iUserID");
443 457 return $sql->next_record();
... ...