2 function write_printer_def($id, $name, $descr, $queue, $host, $port, $timeout)
5 $sql = "UPDATE ".TB_PREF."printers SET description=".db_escape($descr)
6 .",name=".db_escape($name).",queue=".db_escape($queue)
7 .",host=".db_escape($host).",port='$port',timeout='$timeout' "
10 $sql = "INSERT INTO ".TB_PREF."printers ("
11 ."name,description,queue,host,port,timeout) "
12 ."VALUES (".db_escape($name).",".db_escape($descr).","
13 .db_escape($queue).",".db_escape($host).",'$port','$timeout')";
15 return db_query($sql,"could not write printer definition");
18 function get_all_printers()
20 $sql = "SELECT * FROM ".TB_PREF."printers";
21 return db_query($sql,"could not get printer definitions");
24 function get_printer($id)
26 $sql = "SELECT * FROM ".TB_PREF."printers
29 $result = db_query($sql,"could not get printer definition");
30 return db_fetch($result);
33 //============================================================================
34 // printer profiles functions
36 function update_printer_profile($name, $dest)
38 foreach( $dest as $rep => $printer) {
39 if ($printer != '' || $rep == '') {
40 $sql = "REPLACE INTO ".TB_PREF."print_profiles "
41 ."(profile, report, printer) VALUES ("
44 .db_escape($printer).")";
46 $sql = "DELETE FROM ".TB_PREF."print_profiles WHERE ("
47 ."report=" . db_escape($rep)
48 ." AND profile=".db_escape($name).")";
50 $result = db_query($sql,"could not update printing profile");
58 // Get destination for report defined in given printing profile.
60 function get_report_printer($profile, $report)
62 $sql = "SELECT printer FROM ".TB_PREF."print_profiles WHERE "
63 ."profile=".db_escape($profile)." AND report=";
65 $result = db_query($sql.db_escape($report), 'report printer lookup failed');
67 if (!$result) return false;
68 $ret = db_fetch($result);
70 $result = db_query($sql."''", 'default report printer lookup failed');
71 if (!$result) return false;
73 $ret = db_fetch($result);
74 if (!$ret) return false;
76 return get_printer($ret['printer']);
79 function delete_printer_profile($name)
81 $sql="DELETE FROM ".TB_PREF."print_profiles WHERE profile=".db_escape($name);
82 return db_query($sql,"could not delete printing profile");
85 // Get all report destinations for given profile.
87 function get_print_profile($name)
89 $sql = "SELECT * FROM ".TB_PREF."print_profiles WHERE profile=".db_escape($name);
90 return db_query($sql,"could not get printing profile");