X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=admin%2Fdb%2Fprinters_db.inc;h=0932b92f09b611240ed7974d70092ef4ca74d8ba;hb=fabc8d3e9dbd0ebeb28cefcdf85c5abf90a3496f;hp=c1d80368b1d156acb76922d5a9a5a4d24c7eb33d;hpb=a1967ccee4671bb1145805540c8d1256a3908052;p=fa-stable.git diff --git a/admin/db/printers_db.inc b/admin/db/printers_db.inc index c1d80368..0932b92f 100644 --- a/admin/db/printers_db.inc +++ b/admin/db/printers_db.inc @@ -12,18 +12,23 @@ function write_printer_def($id, $name, $descr, $queue, $host, $port, $timeout) { + begin_transaction(__FUNCTION__, func_get_args()); + if ($id>0) $sql = "UPDATE ".TB_PREF."printers SET description=".db_escape($descr) .",name=".db_escape($name).",queue=".db_escape($queue) .",host=".db_escape($host).",port=".db_escape($port).",timeout=".db_escape($timeout) ." WHERE id=".db_escape($id); - else + else $sql = "INSERT INTO ".TB_PREF."printers (" ."name,description,queue,host,port,timeout) " ."VALUES (".db_escape($name).",".db_escape($descr)."," .db_escape($queue).",".db_escape($host).",".db_escape($port).",".db_escape($timeout).")"; - return db_query($sql,"could not write printer definition"); + $result = db_query($sql,"could not write printer definition"); + + commit_transaction(); + return $result ? ($id ? $id : db_insert_id()) : false; } function get_all_printers() @@ -41,18 +46,29 @@ function get_printer($id) return db_fetch($result); } +function delete_printer($id) +{ + begin_transaction(__FUNCTION__, func_get_args()); + + $sql="DELETE FROM ".TB_PREF."printers WHERE id=".db_escape($id); + db_query($sql,"could not delete printer definition"); + + commit_transaction(); +} //============================================================================ // printer profiles functions // function update_printer_profile($name, $dest) { + begin_transaction(__FUNCTION__, func_get_args()); + foreach( $dest as $rep => $printer) { if ($printer != '' || $rep == '') { $sql = "REPLACE INTO ".TB_PREF."print_profiles " ."(profile, report, printer) VALUES (" .db_escape($name)."," .db_escape($rep)."," - .db_escape($printer).")"; + .db_escape($printer ? $printer: null, true).")"; } else { $sql = "DELETE FROM ".TB_PREF."print_profiles WHERE (" ."report=" . db_escape($rep) @@ -63,6 +79,8 @@ function update_printer_profile($name, $dest) return false; } } + + commit_transaction(); return true; } // @@ -89,8 +107,13 @@ function get_report_printer($profile, $report) function delete_printer_profile($name) { + begin_transaction(__FUNCTION__, func_get_args()); + $sql="DELETE FROM ".TB_PREF."print_profiles WHERE profile=".db_escape($name); - return db_query($sql,"could not delete printing profile"); + $result = db_query($sql,"could not delete printing profile"); + + commit_transaction(); + return $result; } // // Get all report destinations for given profile. @@ -101,4 +124,3 @@ function get_print_profile($name) return db_query($sql,"could not get printing profile"); } -?> \ No newline at end of file