51 lines
1.3 KiB
PHP
51 lines
1.3 KiB
PHP
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
/**
|
|
* This class overrides Kohana's ORM
|
|
*
|
|
* @package HAlMon
|
|
* @category Modifications
|
|
* @author Deon George
|
|
* @copyright (c) 2010 Deon George
|
|
* @license http://dev.leenooks.net/license.html
|
|
*/
|
|
class ORM extends Kohana_ORM {
|
|
protected $_table_names_plural = TRUE;
|
|
protected $_model_names_plural = FALSE;
|
|
private $_object_formated = array();
|
|
private $_formated = FALSE;
|
|
// Our filters used to display values in a friendly format
|
|
protected $_display_filters = array();
|
|
|
|
/**
|
|
* Format fields for display purposes
|
|
*
|
|
* @param string column name
|
|
* @return mixed
|
|
*/
|
|
private function _format() {
|
|
foreach ($this->_display_filters as $column => $formats)
|
|
$this->_object_formated[$column] = $this->run_filter($column,$this->__get($column),array($column=>$formats));
|
|
|
|
$this->_formated = TRUE;
|
|
}
|
|
|
|
/**
|
|
* Return a formated columns, as per the model definition
|
|
*/
|
|
public function display($column) {
|
|
// Trigger a load of the record.
|
|
$value = $this->__get($column);
|
|
|
|
// If some of our fields need to be formated for display purposes.
|
|
if ($this->_loaded AND ! $this->_formated AND $this->_display_filters)
|
|
$this->_format();
|
|
|
|
if (isset($this->_object_formated[$column]))
|
|
return $this->_object_formated[$column];
|
|
else
|
|
return HTML::nbsp($value);
|
|
}
|
|
}
|
|
?>
|