BaseChats.class.php
<?php
abstract class BaseChats extends ProjectDataObjects {
static private $columns = array(
'id' => DATA_TYPE_INTEGER,
'name' => DATA_TYPE_STRING,
'start_date' => DATA_TYPE_DATETIME,
'end_date' => DATA_TYPE_DATETIME,
'created_on' => DATA_TYPE_DATETIME,
'created_by_id' => DATA_TYPE_INTEGER,
'updated_on' => DATA_TYPE_DATETIME,
'updated_by_id' => DATA_TYPE_INTEGER,
'trashed_on' => DATA_TYPE_DATETIME,
'trashed_by_id' => DATA_TYPE_INTEGER,
);
function __construct() {
parent::__construct('Chat', 'chats', true);
} // __construct
// -------------------------------------------------------
// Description methods
// -------------------------------------------------------
function getColumns() {
return array_keys(self::$columns);
} // getColumns
function getColumnType($column_name) {
if(isset(self::$columns[$column_name])) {
return self::$columns[$column_name];
} else {
return DATA_TYPE_STRING;
} // if
} // getColumnType
function getPkColumns() {
return 'id';
} // getPkColumns
function getAutoIncrementColumn() {
return 'id';
} // getAutoIncrementColumn
// -------------------------------------------------------
// Finders
// -------------------------------------------------------
function find($arguments = null) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::find($arguments);
} else {
return Chats::instance()->find($arguments);
} // if
} // find
function findAll($arguments = null) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::findAll($arguments);
} else {
return Chats::instance()->findAll($arguments);
} // if
} // findAll
function findOne($arguments = null) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::findOne($arguments);
} else {
return Chats::instance()->findOne($arguments);
} // if
} // findOne
function findById($id, $force_reload = false) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::findById($id, $force_reload);
} else {
return Chats::instance()->findById($id, $force_reload);
//$instance =& Chats::instance();
//return $instance->findById($id, $force_reload);
} // if
} // findById
function count($condition = null) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::count($condition);
} else {
return Chats::instance()->count($condition);
} // if
} // count
function delete($condition = null) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::delete($condition);
} else {
return Chats::instance()->delete($condition);
} // if
} // delete
function paginate($arguments = null, $items_per_page = 10, $current_page = 1) {
if(isset($this) && instance_of($this, 'Chats')) {
return parent::paginate($arguments, $items_per_page, $current_page);
} else {
return Chats::instance()->paginate($arguments, $items_per_page, $current_page);
} // if
} // paginate
function instance() {
static $instance;
if(!instance_of($instance, 'Chats')) {
$instance = new Chats();
} // if
return $instance;
} // instance
} // BaseChats
?>
BaseChatLines.class.php
<?php
abstract class BaseChatLines extends ProjectDataObjects {
static private $columns = array(
'id' => DATA_TYPE_INTEGER,
'chat_id' => DATA_TYPE_INTEGER,
'sender_id' => DATA_TYPE_INTEGER,
'text' => DATA_TYPE_STRING,
'date' => DATA_TYPE_DATETIME,
'created_on' => DATA_TYPE_DATETIME,
'created_by_id' => DATA_TYPE_INTEGER,
'updated_on' => DATA_TYPE_DATETIME,
'updated_by_id' => DATA_TYPE_INTEGER,
'trashed_on' => DATA_TYPE_DATETIME,
'trashed_by_id' => DATA_TYPE_INTEGER,
);
function __construct() {
parent::__construct('ChatLine', 'chat_lines', true);
} // __construct
// -------------------------------------------------------
// Description methods
// -------------------------------------------------------
function getColumns() {
return array_keys(self::$columns);
} // getColumns
function getColumnType($column_name) {
if(isset(self::$columns[$column_name])) {
return self::$columns[$column_name];
} else {
return DATA_TYPE_STRING;
} // if
} // getColumnType
function getPkColumns() {
return 'id';
} // getPkColumns
function getAutoIncrementColumn() {
return 'id';
} // getAutoIncrementColumn
// -------------------------------------------------------
// Finders
// -------------------------------------------------------
function find($arguments = null) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::find($arguments);
} else {
return ChatLines::instance()->find($arguments);
} // if
} // find
function findAll($arguments = null) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::findAll($arguments);
} else {
return ChatLines::instance()->findAll($arguments);
} // if
} // findAll
function findOne($arguments = null) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::findOne($arguments);
} else {
return ChatLines::instance()->findOne($arguments);
} // if
} // findOne
function findById($id, $force_reload = false) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::findById($id, $force_reload);
} else {
return ChatLines::instance()->findById($id, $force_reload);
//$instance =& ChatLines::instance();
//return $instance->findById($id, $force_reload);
} // if
} // findById
function count($condition = null) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::count($condition);
} else {
return ChatLines::instance()->count($condition);
} // if
} // count
function delete($condition = null) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::delete($condition);
} else {
return ChatLines::instance()->delete($condition);
} // if
} // delete
function paginate($arguments = null, $items_per_page = 10, $current_page = 1) {
if(isset($this) && instance_of($this, 'ChatLines')) {
return parent::paginate($arguments, $items_per_page, $current_page);
} else {
return ChatLines::instance()->paginate($arguments, $items_per_page, $current_page);
} // if
} // paginate
function instance() {
static $instance;
if(!instance_of($instance, 'ChatLines')) {
$instance = new ChatLines();
} // if
return $instance;
} // instance
} // BaseChatLines
?>
BaseChat
<?php
abstract class BaseChat extends ProjectDataObject {
protected $objectTypeIdentifier = 'ch';
function getId() {
return $this->getColumnValue('id');
} // getId()
function setId($value) {
return $this->setColumnValue('id', $value);
} // setId()
function getName() {
return $this->getColumnValue('name');
} // getName()
function setName($value) {
return $this->setColumnValue('name', $value);
} // setName()
function getStartDate() {
return $this->getColumnValue('start_date');
} // getStartDate()
function setStartDate($value) {
return $this->setColumnValue('start_date', $value);
} // setStartDate()
function getEndDate() {
return $this->getColumnValue('end_date');
} // getEndDate()
function setEndDate($value) {
return $this->setColumnValue('end_date', $value);
} // setEndDate()
function manager() {
if(!($this->manager instanceof Chats)) $this->manager = Chats::instance();
return $this->manager;
} // manager
} // BaseChat
?>
BaseChatLine
<?php
abstract class BaseChatLine extends ProjectDataObject {
function getId() {
return $this->getColumnValue('id');
} // getId()
function setId($value) {
return $this->setColumnValue('id', $value);
} // setId()
function getChatId() {
return $this->getColumnValue('chat_id');
} // getChatId()
function setChatId($value) {
return $this->setColumnValue('chat_id', $value);
} // setChatId()
function getSenderId() {
return $this->getColumnValue('sender_id');
} // getSenderId()
function setSenderId($value) {
return $this->setColumnValue('sender_id', $value);
} // setSenderId()
function getText() {
return $this->getColumnValue('text');
} // getText()
function setText($value) {
return $this->setColumnValue('text', $value);
} // setText()
function getDate() {
return $this->getColumnValue('date');
} // getDate()
function setDate($value) {
return $this->setColumnValue('date', $value);
} // setDate()
function manager() {
if(!($this->manager instanceof ChatLines)) $this->manager = ChatLines::instance();
return $this->manager;
} // manager
} // BaseChatLine
?>
Chats.class.php
<?php
class Chats extends BaseChats {
function getOngoingChats() {
$chats = $this->findAll(array(
'condition' => array('`end_date` = ?',
EMPTY_DATETIME
),
'orderby' => '`start_date` DESC'
));
if (is_array($chats)) {
return $chats;
} else {
return array();
}
}
} // Chats
?>