ProductSearch


as of: February 14, 2013

The ProductSearch module is used to look up products. The base class provides a single method that modules may implement:

array search(string $input)

The parameter $input is a string entered by the cashier. The return value is an array of records keyed by UPC. Each record should contain entries for upc, description, normal_price, and scale. An example return value:

array(
  "0000000004011" => array(
      "upc" => "0000000004011",
      "description" => "BANANAS",
      "normal_price" => "0.99",
      "scale" => "1",
  )
);

Example: this product search only checks certain departments:

class CustomDeptProductSearch extends ProductSearch {

	function search($input){
		/* get a database connect */
		$db = Database::pDataConnect();

		/* perform custom look up query */
		$query = "SELECT upc,description,normal_price,scale
			FROM products WHERE inUse=1 AND
			department BETWEEN 10 AND 25
			AND description like '%$input%'
			ORDER BY description";
		$results = $db->query($query);
	
		/* build a return value array */
		$return_value = array();
		while($row = $db->fetch_row($results)){
			$upc = $row['upc'];
			$return_value[$upc] = $row;
		}

		/* finish up */
		$db->close();
		return $return_value;
	}

}