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);
20 $row['areas'] = explode(';', $row['areas']);
21 $row['sections'] = explode(';', $row['sections']);
26 //--------------------------------------------------------------------------------------------------
28 function add_security_role($name, $description, $sections, $areas)
30 $sql = "INSERT INTO ".TB_PREF."security_roles (role, description, sections, areas)
33 .db_escape($description).","
34 .db_escape(implode(';', $sections)).","
35 .db_escape(implode(';', $areas)).")";
37 db_query($sql, "could not add new security role");
40 //--------------------------------------------------------------------------------------------------
42 function update_security_role($id, $name, $description, $sections, $areas)
44 $sql = "UPDATE ".TB_PREF."security_roles SET role=".db_escape($name)
45 .",description=".db_escape($description)
46 .",sections=".db_escape(implode(';', $sections))
47 .",areas=".db_escape(implode(';', $areas))
49 db_query($sql, "could not update role");
51 //--------------------------------------------------------------------------------------------------
53 function delete_security_role($id)
55 $sql = "DELETE FROM ".TB_PREF."security_roles WHERE id=$id";
57 db_query($sql, "could not delete role");
59 //--------------------------------------------------------------------------------------------------
61 function check_role_used($id) {
62 $sql = "SELECT count(*) FROM ".TB_PREF."users WHERE role_id=$id";
63 $ret = db_query($sql, 'cannot check role usage');
64 $row = db_fetch($ret);