2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
12 //--------------------------------------------------------------------------------------------------
14 function get_security_role($id)
16 $sql = "SELECT * FROM ".TB_PREF."security_roles WHERE id='$id'";
17 $ret = db_query($sql, "could not retrieve security roles");
18 $row = db_fetch($ret);
19 $row['areas'] = explode(';', $row['areas']);
20 $row['modules'] = explode(';', $row['modules']);
24 //--------------------------------------------------------------------------------------------------
26 function add_security_role($name, $description, $modules, $areas)
28 $sql = "INSERT INTO ".TB_PREF."security_roles (role, description, modules, areas)
31 .db_escape($description).","
32 .db_escape(implode(';',$modules)).","
33 .db_escape(implode(';',$areas)).")";
35 db_query($sql, "could not add new security role");
38 //--------------------------------------------------------------------------------------------------
40 function update_security_role($id, $name, $description, $modules, $areas)
42 $sql = "UPDATE ".TB_PREF."security_roles SET role=".db_escape($name)
43 .",description=".db_escape($description)
44 .",modules=".db_escape(implode(';',$modules))
45 .",areas=".db_escape(implode(';',$areas))
47 db_query($sql, "could not update role");
49 //--------------------------------------------------------------------------------------------------
51 function delete_security_role($id)
53 $sql = "DELETE FROM ".TB_PREF."security_roles WHERE id=$id";
55 db_query($sql, "could not delete role");
57 //--------------------------------------------------------------------------------------------------
59 function check_role_used($id) {
60 $sql = "SELECT count(*) FROM ".TB_PREF."users WHERE full_access=$id";
61 $ret = db_query($sql, 'cannot check role usage');
62 $row = db_fetch($ret);