Notice: Undefined index: HTTP_REFERER in /home/_or/olivier/pub/www.samalyse.com/prepend.php on line 202
<?php
/**
* Mercure - API for Accountancy Documents Generation
*
* @package Mercure
* @copyright 2004 Samalyse SARL corporation
* @author Olivier Guilyardi <olivier@samalyse.com>
*/
require_once 'DB/DataObject.php';
/**
* Base class for Mercure's dataobjects
*
* @copyright 2004 Samalyse SARL corporation
* @author Olivier Guilyardi <olivier@samalyse.com>
* @package Mercure
*/
class Mercure_DataObject extends DB_DataObject
{
/**
* Mercure_I18N object
* @var object
* @access private
*/
var $_i18n;
/**
* Callback function to call right after fetching data
* @access private
* @var string
*/
var $_onFetchHandler = null;
/**
* Current user
* @var string
* @access private
*/
var $_user;
/**
* Current connection ID
* @var string
* @access private
*/
var $_connectionID;
var $_perm;
/**
* Assign an I18N object to this dataobject
*
* @param object $I18N Mercure_I18N object
* @return void
* @access public
*/
function setI18N (&$i18n)
{
$this->_i18n = &$i18n;
}
/**
* Identify the current user
* @param Object $user Mercure_User object
* @return void
* @access public
*/
function setUser (&$user)
{
$this->_user =& $user;
}
/**
* Set the connection ID
* @param string $username Current connection's ID
* @return void
* @access public
*/
function setConnectionID ($cid)
{
$this->_connectionID = $cid;
}
/**
* Assign a callback function to be called right after fetching data
* @param array $function A function name, or an array like array (&$obj,'methodName')
* @return void
* @access public
*/
function setOnFetchHandler($function)
{
$this->_onFetchHandler = $function;
}
/**
* Fetch a row of data
*
* @return bool TRUE on success, FALSE otherwise
* @access public
*/
function fetch()
{
if (($r = parent::fetch()) === false) return false;
if ($func = $this->_onFetchHandler) {
if (is_array ($func)) {
if ($func[0]->$func[1]($this) === false) {
return false;
}
} else {
if ($func($this) === false) {
return false;
}
}
}
return $r;
}
/**
* Replace a row of data
*
* This is similar to MySQL's REPLACE construct
*
* @return bool TRUE on success, FALSE otherwise
* @access public
*/
function replace()
{
$do = DB_DataObject::factory($this->__table);
if ($do->get($this->id)) {
$this->update();
} else {
$this->insert();
}
}
function setPerm(&$perm)
{
$this->_perm =& $perm;
}
}
Notice: Undefined index: HTTP_REFERER in /home/_or/olivier/pub/www.samalyse.com/prepend.php on line 208


