63 lines
1.4 KiB
PHP
63 lines
1.4 KiB
PHP
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
/**
|
|
* TSM database show result. See [Results](/database/results) for usage and examples.
|
|
*
|
|
* @package TSM Database Module
|
|
* @category Database
|
|
* @author Deon George
|
|
* @copyright (c) 2010-2014 Deon George
|
|
* @license http://dev.leenooks.net/license.html
|
|
*/
|
|
abstract class lnApp_Database_Result extends Kohana_Database_Result {
|
|
protected $_internal_row = 0;
|
|
protected $_rows;
|
|
|
|
// Required Abstract Classes
|
|
public function __destruct() {}
|
|
|
|
public function seek($offset) {
|
|
if ($this->offsetExists($offset)) {
|
|
// Set the current row to the offset
|
|
$this->_current_row = $this->_internal_row = $offset;
|
|
|
|
return TRUE;
|
|
|
|
} else {
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
public function current() {
|
|
if ($this->_current_row !== $this->_internal_row AND ! $this->seek($this->_current_row))
|
|
return FALSE;
|
|
|
|
// Return an stdClass
|
|
if ($this->_as_object === TRUE) {
|
|
return $this;
|
|
|
|
} elseif (is_string($this->_as_object)) {
|
|
// Return an object of given class name
|
|
$o = new $this->_as_object;
|
|
|
|
return $o->load_object($this->_rows[$this->_current_row]);
|
|
|
|
// Return an array of the row
|
|
} else {
|
|
return $this->_rows[$this->_current_row];
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get a row value from the query
|
|
*
|
|
* TSM returns all columns in upper case
|
|
*/
|
|
public function get($name, $default = NULL) {
|
|
$name = strtoupper($name);
|
|
|
|
return parent::get($name,$default);
|
|
}
|
|
}
|
|
?>
|