5 include($path_to_root . "/includes/session.inc");
7 page(_("Printer Locations"));
9 include($path_to_root . "/admin/db/printers_db.inc");
10 include($path_to_root . "/includes/ui.inc");
12 simple_page_mode(true);
13 //-------------------------------------------------------------------------------------------
14 if ($Mode=='ADD_ITEM' || $Mode=='UPDATE_ITEM')
19 if (empty($_POST['name']))
22 display_error( _("Printer name cannot be empty."));
25 elseif (empty($_POST['host']))
27 display_notification_centered( _("You have selected printing to server at user IP."));
29 elseif (!check_num('tout', 0, 60))
32 display_error( _("Timeout cannot be less than zero nor longer than 60 (sec)."));
38 write_printer_def($selected_id, get_post('name'), get_post('descr'),
39 get_post('queue'), get_post('host'), input_num('port',0),
42 display_notification_centered($selected_id==-1?
43 _('New printer definition has been created')
44 :_('Selected printer definition has been updated'));
49 if ($Mode == 'Delete')
51 // PREVENT DELETES IF DEPENDENT RECORDS IN print_profiles
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);
58 display_error(_("Cannot delete this printer definition, because print profile have been created using it."));
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'));
74 //-------------------------------------------------------------------------------------------------
76 $result = get_all_printers();
78 start_table($table_style);
79 $th = array(_("Name"), _("Description"), _("Host"), _("Printer Queue"),'','');
82 $k = 0; //row colour counter
83 while ($myrow = db_fetch($result))
85 alt_table_row_color($k);
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"));
96 } //END WHILE LIST LOOP
102 //-------------------------------------------------------------------------------------------------
106 start_table($table_style2);
108 if ($selected_id != -1)
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'];
119 hidden('selected_id', $selected_id);
121 if(!isset($_POST['host']))
122 $_POST['host'] = 'localhost';
123 if(!isset($_POST['port']))
124 $_POST['port'] = '515';
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);
136 submit_add_or_update_center($selected_id == -1, '', true);