fixup commit for tag 'unstable_2_0_5'
[fa-stable.git] / admin / printers.php
1 <?php
2
3 $page_security = 15;
4 $path_to_root="..";
5 include($path_to_root . "/includes/session.inc");
6
7 page(_("Printer Locations"));
8
9 include($path_to_root . "/admin/db/printers_db.inc");
10 include($path_to_root . "/includes/ui.inc");
11
12 simple_page_mode(true);
13 //-------------------------------------------------------------------------------------------
14 if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM') 
15 {
16
17         $error = 0;
18
19         if (empty($_POST['name']))
20         {
21                 $error = 1;
22                 display_error( _("Printer name cannot be empty."));
23                 set_focus('name');
24         } 
25         elseif (empty($_POST['host'])) 
26         {
27                 display_notification_centered( _("You have selected printing to server at user IP."));
28         } 
29         elseif (!check_num('tout', 0, 60)) 
30         {
31                 $error = 1;
32                 display_error( _("Timeout cannot be less than zero nor longer than 60 (sec)."));
33                 set_focus('tout');
34         } 
35
36         if ($error != 1)
37         {
38                 write_printer_def($selected_id, get_post('name'), get_post('descr'),
39                         get_post('queue'), get_post('host'), input_num('port',0),
40                         input_num('tout',0));
41
42                 display_notification_centered($selected_id==-1? 
43                         _('New printer definition has been created') 
44                         :_('Selected printer definition has been updated'));
45                 $Mode = 'RESET';
46         }
47 }
48
49 if ($Mode == 'Delete')
50 {
51         // PREVENT DELETES IF DEPENDENT RECORDS IN print_profiles
52
53         $sql= "SELECT COUNT(*) FROM ".TB_PREF."print_profiles WHERE printer = '$selected_id'";
54         $result = db_query($sql,"check printers relations failed");
55         $myrow = db_fetch_row($result);
56         if ($myrow[0] > 0) 
57         {
58                 display_error(_("Cannot delete this printer definition, because print profile have been created using it."));
59         } 
60         else 
61         {
62                         $sql="DELETE FROM ".TB_PREF."printers WHERE id='$selected_id'";
63                         db_query($sql,"could not delete printer definition");
64                         display_notification(_('Selected printer definition has been deleted'));
65         }
66         $Mode = 'RESET';
67 }
68
69 if ($Mode == 'RESET')
70 {
71         $selected_id = -1;
72         unset($_POST);
73 }
74 //-------------------------------------------------------------------------------------------------
75
76 $result = get_all_printers();
77 start_form();
78 start_table($table_style);
79 $th = array(_("Name"), _("Description"), _("Host"), _("Printer Queue"),'','');
80 table_header($th);
81
82 $k = 0; //row colour counter
83 while ($myrow = db_fetch($result)) 
84 {
85         alt_table_row_color($k);
86
87     label_cell($myrow['name']);
88     label_cell($myrow['description']);
89     label_cell($myrow['host']);
90     label_cell($myrow['queue']);
91         edit_button_cell("Edit".$myrow['id'], _("Edit"));
92         edit_button_cell("Delete".$myrow['id'], _("Delete"));
93     end_row();
94
95
96 } //END WHILE LIST LOOP
97
98 end_table();
99 end_form();
100 echo '<br>';
101
102 //-------------------------------------------------------------------------------------------------
103
104 start_form();
105
106 start_table($table_style2);
107
108 if ($selected_id != -1) 
109 {
110         if ($Mode == 'Edit') {
111                 $myrow = get_printer($selected_id);
112                 $_POST['name'] = $myrow['name'];
113                 $_POST['descr'] = $myrow['description'];
114                 $_POST['queue'] = $myrow['queue'];
115                 $_POST['tout'] = $myrow['timeout'];
116                 $_POST['host'] = $myrow['host'];
117                 $_POST['port'] = $myrow['port'];
118         }
119         hidden('selected_id', $selected_id);
120 } else {
121         if(!isset($_POST['host']))
122                 $_POST['host'] = 'localhost';
123         if(!isset($_POST['port']))
124                 $_POST['port'] = '515';
125 }
126
127 text_row(_("Printer Name").':', 'name', null, 20, 20);
128 text_row(_("Printer Description").':', 'descr', null, 40, 60);
129 text_row(_("Host name or IP").':', 'host', null, 30, 40);
130 text_row(_("Port").':', 'port', null, 5, 5);
131 text_row(_("Printer Queue").':', 'queue', null, 20, 20);
132 text_row(_("Timeout").':', 'tout', null, 5, 5);
133
134 end_table(1);
135
136 submit_add_or_update_center($selected_id == -1, '', true);
137
138 end_form();
139
140 end_page();
141
142 ?>