Commit f67caae8355bddb88541a869ee4561f4bcf80087
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
Showing
1 changed file
with
48 additions
and
34 deletions
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(); |