2 /************************************************************************/
4 /************************************************************************/
5 /* Copyright (c) 2010 */
6 /* Inclusive Design Institute */
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. */
11 /************************************************************************/
14 * DAO for "themes" table
20 if (!defined('TR_INCLUDE_PATH')) exit;
22 require_once(TR_INCLUDE_PATH. 'classes/DAO/DAO.class.php');
24 class PrivilegesDAO extends DAO {
27 * Return privileges that are open to public
36 FROM '.TABLE_PREFIX.'privileges p
37 ORDER BY privilege_id';
39 return $this->execute($sql);
43 * Return privileges that are open to public
49 function getPublicPrivileges()
52 FROM '.TABLE_PREFIX.'privileges p
53 WHERE open_to_public = 1
54 ORDER BY p.menu_sequence';
56 return $this->execute($sql);
60 * Return privileges of the given user
66 function getUserPrivileges($userID)
69 FROM '.TABLE_PREFIX.'users u, '.TABLE_PREFIX.'user_groups ug, '.TABLE_PREFIX.'user_group_privilege ugp, '.TABLE_PREFIX.'privileges p
70 WHERE u.user_id = '.$userID.'
71 AND u.user_group_id = ug.user_group_id
72 AND ug.user_group_id = ugp.user_group_id
73 AND ugp.privilege_id = p.privilege_id
74 ORDER BY p.menu_sequence';
76 return $this->execute($sql);
80 * Return privileges of the given user group
86 function getUserGroupPrivileges($userGroupID)
88 $sql = 'SELECT *, ug.description user_group_desc, p.description privilege_desc
89 FROM '.TABLE_PREFIX.'user_groups ug, '.TABLE_PREFIX.'user_group_privilege ugp, '.TABLE_PREFIX.'privileges p
90 WHERE ug.user_group_id = '.$userGroupID.'
91 AND ug.user_group_id = ugp.user_group_id
92 AND ugp.privilege_id = p.privilege_id
93 ORDER BY p.menu_sequence';
95 return $this->execute($sql);
99 * Return all privileges except the privilege ids in given string
101 * @param $privilegeIDs : a string of check ids separated by comma. for example: 1, 2, 3
103 * @author Cindy Qi Li
105 function getAllPrivsExceptListed($privilegeIDs)
107 if (trim($privilegeIDs) == '')
108 return $this->getAll();
111 $sql = "SELECT * FROM ". TABLE_PREFIX ."privileges
112 WHERE privilege_id NOT IN (".$privilegeIDs.")";
113 return $this->execute($sql);