This file is indexed.

/usr/share/ltsp-cluster-control/Admin/util/Printer.php is in ltsp-cluster-control 2.0.3-0ubuntu3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<?php
/*
# Copyright 2004, Revolution Linux Inc., Nicolas Dufresne and Yves Trudeau
#
# This file is part of the MILLE-XTERM distribution.
# See the MILLE-XTERM (english) and/or the MILLE (french) project web site
#
# http://www.revolutionlinux.com/mille-xterm/
# http://www.mille.ca/
#
# The MILLE-XTERM framework is covered by the GNU General Public License. See
# the COPYING file in the top-level MILLE-XTERM directory. Software packages
# that are included in the MILLE-XTERM distribution have their own licenses.
#
# -------------------------------------------------------------------------
*/
	require_once 'dbFunctions.php';
	
	/**
	*
	* Printers Browser class
	* 
	* @package MILLE-CONFIGURATOR
	* @author Alban Crequy
	*/
	class Printer {

		/**
		* Id of the printer (primary key)
		* @access private
		* @var int
		*/
		var $id;
		/**
		* printer name
		* @access private
		* @var string
		*/
		var $printername;
		/**
		* printer description
		* @access private
		* @var string
		*/
		var $description;
		/**
		* printer price per page
		* @access private
		* @var string
		*/
		var $priceperpage;
		/**
		* printer price per job
		* @access private
		* @var float
		*/
		var $priceperjob;

		/**
		* OK: FALSE/TRUE: Show if the instantiation is correct
		* @access private
		* @var boolean
		*/
		var $ok;
		/**
		* Last Error
		* @access private
		* @var string
		*/
		var $lastError;
		

		/**
		* The constructor of a Printer
		*
		* Can be initialised in two different ways :
		* <ul>
		* <li> ID of the printer
		* <li> Printer name
		* </ul>
		* 
		* Example of valid initialisation :
		*
		* <code>
		*   $prt=new Printer(7); // Use the Printer ID initialisation
		*   $prt=new Printer("printer01"); //Use the printer name initialisation
		* </code>
		*
		* @access public
		*/
		function Printer($id) {
			$this->ok = true;
			
			if (is_numeric($id)) 
				$prt = $this->getFromDB("*", "id=".$id);
			elseif (is_string($id))
				$prt = $this->getFromDB("*","printername='".$id."'");
			else {
				$this->ok = false;
				$this->lastError = getMessage('bad_printer_id')." : id=".$id;
			}
			$this->id = $prt['id'];
			$this->printername = $prt['printername'];
			$this->description = $prt['description'];
			$this->priceperpage = $prt['priceperpage'];
			$this->priceperjob = $prt['priceperjob'];
		}

		/**
		* Get the printer ID
		*
		* @access public
		* @return int
		*/
		function getID() {
			return $this->id;
		}

		/**
		* Get the printer name
		*
		* @access public
		* @return string
		*/
		function getPrinterName() {
			return $this->printername;
		}

		/**
		* Get the printer description
		*
		* @access public
		* @return string
		*/
		function getDescription() {
			return $this->description;
		}

		/**
		* Get the printer price per page
		*
		* @access public
		* @return float
		*/
		function getPriceperpage() {
			return $this->priceperpage;
		}

		/**
		* Get the printer price per job
		*
		* @access public
		* @return float
		*/
		function getPriceperjob() {
			return $this->priceperjob;
		}

		/**
		* Return yes if the object exists
		* To be used just after the construction
		*
		* @access public
		* @return float
		*/
		function isError() {
			return !$this->ok;
		}

		/**
		* Get the last error
		*
		* @access public
		* @return float
		*/
		function lastError() {
			return $this->lastError;
		}

		/**
		* GetFromDB
		*
		* @access private
		* @return array
		*/
		function getFromDB($column,$where,$from="printers") {
			$sql_query='SELECT '.$column.' FROM '.$from.' WHERE '.$where;
			if (!$result = singleResultSelect($sql_query)) {
				$this->lastError = getMessage('printer_not_found')." : ".htmlspecialchars($where);
				$this->ok = false;
				return NULL;
			}
			elseif (!is_array($result)) {
				$this->lastError = getMessage('db_error').htmlspecialchars($result)." : ".htmlspecialchars($sql_query);
				$this->ok = false;
				return NULL;
			}
			else 
				return $result;
		}

		/**
		* Change the printer name
		*
		* Return false if error.
		*
		* @access public
		* @return unknown
		*/
		function setPrinterName($name) {
			if (strlen($name) > 0) {
				$this->printername = $name;
				return $this->updatePrinter("printername='".$name."'");
			}
			else {
				$this->lastError = getMessage('empty_printer_name');
				return false;
			}
		}

		/**
		* updatePrinter
		*
		* @access private
		* @return unknown
		*/
		function updatePrinter($toSet, $from="printers") {
			if ($error = write("UPDATE ".$from." SET ".$toSet." WHERE id=".$this->id)) {
				$this->lastError = getMessage('db_write_error').htmlspecialchars($error);
				return false;
			}
			else
				return true;
		}

		/**
		* Print all informations about the printer with printerView.php
		*
		* @access public
		* @return none
		*/
		function print_printer() {
			include 'printerView.php';
		}

		/**
		* Print just a little informations about the printer
		*
		* @access public
		* @return none
		*/
		function print_printer_resume() {
			print $this->getPrinterName()." (#".$this->getId().")";
		}
		
	} // class Printer
?>