* @copyright 2005 by http://wombat.exit0.net * @package wombatSite * @subpackage event */ /** * ticket * * @version 0.1.0 * @package wombatSite * @subpackage event */ class wbTicket { /** * Database connection * @var array $_ds */ var $_ds; /** * constructor * * @access public */ function __construct() { $this->_ds = wbFactory::create( 'wbDatasource' ); $this->_ds->setCallback( $this ); } /** * constructor wrapper for PHP4 * * @access public * @see __construct() */ function wbTicket() { $this->__construct(); } /** * recieve event message * * @access public * @return string $msg */ function getMsg() { $msg = $this->_msg; foreach( $this->_data as $key => $value ) { $msg = str_replace( '{' . strtoupper( $key ) . '}', $value, $msg ); } return $msg; } /** * recieve event data * * @access public * @return string $msg */ function getData() { return $this->_data; } /** * recieve event link information * * @access public * @return string $msg */ function getLink() { return $this->_link; } /** * create a new ticket * * @param string $type ticket type * @param string $state ticket state on creation * @param string $title human readable title * @param string $message describing blurb * @param array $link link variables for links * @return int $id ticket id */ function createTicket( $type, $state, $title, $msg, $link ) { $data = array( 'type' => $type, 'state' => $state, 'title' => $title, 'message' => $msg, ); $this->_ds->save( 'ticket', 'new', $data ); return true; } /** * callback function * * @access public * @param string $table * @param array $data * @param int $id * @return boolean true */ function callGetEntry( $table, &$data, $id ) { $data['id'] = $id; } /** * callback function * * @access public * @param string $table * @param array $data * @param int $id * @return boolean true */ function callGetEntries( $table, &$data, $id ) { $data['id'] = $id; } /** * callback function * * @access public * @param string $table * @param array $data * @param int $id * @return boolean true */ function callForSave( $table, &$data, $id ) { // add timestamps $data['changed'] = date( 'Y-m-d H:i:s' ); if( $id == 'new' ) { $data['created'] = date( 'Y-m-d H:i:s' ); } return true; } } ?>