X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=admin%2Fdb%2Fprinters_db.inc;h=0932b92f09b611240ed7974d70092ef4ca74d8ba;hb=fabc8d3e9dbd0ebeb28cefcdf85c5abf90a3496f;hp=043268a677f842249e74d2d9e9cb64a1f8549099;hpb=37da0ea920fdff712ccef4e1324aa822e981c8fc;p=fa-stable.git diff --git a/admin/db/printers_db.inc b/admin/db/printers_db.inc index 043268a6..0932b92f 100644 --- a/admin/db/printers_db.inc +++ b/admin/db/printers_db.inc @@ -1,18 +1,34 @@ . +***********************************************************************/ + 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='$port',timeout='$timeout' " - ."WHERE id=$id"; - else + .",host=".db_escape($host).",port=".db_escape($port).",timeout=".db_escape($timeout) + ." WHERE id=".db_escape($id); + 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).",'$port','$timeout')"; + .db_escape($queue).",".db_escape($host).",".db_escape($port).",".db_escape($timeout).")"; + + $result = db_query($sql,"could not write printer definition"); - return db_query($sql,"could not write printer definition"); + commit_transaction(); + return $result ? ($id ? $id : db_insert_id()) : false; } function get_all_printers() @@ -24,24 +40,35 @@ function get_all_printers() function get_printer($id) { $sql = "SELECT * FROM ".TB_PREF."printers - WHERE id=$id"; + WHERE id=".db_escape($id); $result = db_query($sql,"could not get printer definition"); 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) @@ -52,6 +79,8 @@ function update_printer_profile($name, $dest) return false; } } + + commit_transaction(); return true; } // @@ -78,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. @@ -90,4 +124,3 @@ function get_print_profile($name) return db_query($sql,"could not get printing profile"); } -?> \ No newline at end of file