. */ interface DBMethod { public function toQuery(IDB $db); } class DBMethodConcat implements DBMethod { private $field; private $appendValue; public function __construct($field, $appendValue) { $this->field = $field; $this->appendValue = $appendValue; } public function toQuery(IDB $db) { return "CONCAT(" . $db->escapeField($this->field) . ", " . $db->escapeValue($this->appendValue) . ")"; } } class DBMethodCount implements DBMethod { private $field; public function __construct($field) { $this->field = $field; } public function toQuery(IDB $db) { return "COUNT(" . $db->escapeField($this->field) . ")"; } } class DBMethodLeft implements DBMethod { private $field; private $length; public function __construct($field, $length) { $this->field = $field; $this->length = $length; } public function toQuery(IDB $db) { return "LEFT(" . $db->escapeField($this->field) . ", " . $db->escapeValue($this->length) . ")"; } } class DBMethodLength implements DBMethod { private $field; public function __construct($field) { $this->field = $field; } public function toQuery(IDB $db) { return "LENGTH(" . $db->escapeField($this->field) . ")"; } } class DBMethodLower implements DBMethod { private $field; public function __construct($field) { $this->field = $field; } public function toQuery(IDB $db) { return "LOWER(" . $db->escapeField($this->field) . ")"; } } class DBMethodMax implements DBMethod { private $field; public function __construct($field) { $this->field = $field; } public function toQuery(IDB $db) { return "MAX(" . $db->escapeField($this->field) . ")"; } } class DBMethodMin implements DBMethod { private $field; public function __construct($field) { $this->field = $field; } public function toQuery(IDB $db) { return "MIN(" . $db->escapeField($this->field) . ")"; } } ?>