MemberLookup


as of: July 30, 2013

Member Lookup modules take cashier input and search for member accounts. Custom modules could provide additional search methods beyond the default member number / last name options. Custom modules could also provide additional processing or even reroute POS entirely to a different page for additional input.

Methods

Return Values
Search results should return a keyed array. The class method default_value() provides an empty, default return value. The array should have two keys.

Example: find member by phone number

class LookupByPhone extends MemberLookup {

	public function handle_text(){
		return False;
	}

	public function lookup_by_number($num){
		$db = Database::pDataConnect();
		$ret = $this->default_value();

		// need table for lookup
		if (!$db->table_exists('meminfo'))
			return $ret;

		$query = 'SELECT CardNo,personNum,
			LastName,FirstName,phone
			FROM custdata AS c LEFT JOIN
			meminfo AS m ON c.CardNo=m.card_no
			WHERE m.phone='.((int)$num);
		$result = $db->query($query);
		while($row = $db->fetch_row($result)){
			$key = $row['CardNo'].'::'.$row['personNum'];
			$label = $row['LastName'].', '.$row['FirstName']
				.' ('.$row['phone'].')';
			$ret['results'][$key] = $label;
		}
		return $ret;
	}
}