Old ineffective sql_trail superseded by new improved db_trail logging only calls...
[fa-stable.git] / admin / db / security_db.inc
index 70027c2e7c3b489f161edbf05e23dea6b1b18815..67cbd625ac139bc14fe847a9ad2af9a1f79e8100 100644 (file)
@@ -27,6 +27,7 @@ function get_security_role($id)
 
 function add_security_role($name, $description, $sections, $areas)
 {
+       begin_transaction(__FUNCTION__, func_get_args());
        $sql = "INSERT INTO ".TB_PREF."security_roles (role, description, sections, areas)
        VALUES ("
        .db_escape($name).","
@@ -35,26 +36,31 @@ function add_security_role($name, $description, $sections, $areas)
        .db_escape(implode(';', $areas)).")";
 
        db_query($sql, "could not add new security role");
+       commit_transaction();
 }
 
 //--------------------------------------------------------------------------------------------------
 
 function update_security_role($id, $name, $description, $sections, $areas)
 {
+       begin_transaction(__FUNCTION__, func_get_args());
        $sql = "UPDATE ".TB_PREF."security_roles SET role=".db_escape($name)
        .",description=".db_escape($description)
        .",sections=".db_escape(implode(';', $sections))
        .",areas=".db_escape(implode(';', $areas))
        ." WHERE id=".(int)$id;
        db_query($sql, "could not update role");
+       commit_transaction();
 }
 //--------------------------------------------------------------------------------------------------
 
 function delete_security_role($id)
 {
+       begin_transaction(__FUNCTION__, func_get_args());
        $sql = "DELETE FROM ".TB_PREF."security_roles WHERE id=".(int)$id;
 
        db_query($sql, "could not delete role");
+       commit_transaction();
 }
 //--------------------------------------------------------------------------------------------------
 
@@ -64,3 +70,17 @@ function check_role_used($id) {
        $row = db_fetch($ret);
        return $row[0];
 }
+
+function write_security_role($id, $name, $description, $sections, $areas, $inactive)
+{
+       begin_transaction(__FUNCTION__, func_get_args());
+               $sections = array_values($sections);
+
+       if ($id == '') 
+                       add_security_role($name, $description, $sections, $areas); 
+               else {
+                       update_security_role($id, $name, $description, $sections, $areas);
+                       update_record_status($id, $inactive, 'security_roles', 'id');
+               }
+       commit_transaction();
+}