Exposez-nous votre projet !
English version  | Version française

Notice: Undefined index: HTTP_REFERER in /home/_or/olivier/pub/www.samalyse.com/prepend.php on line 202

<< Retour

<?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

<< Retour

Icon
Faites-nous part de votre projet
Progress bar