<?php
/**
 * db.wideitem.class
 *
 * DBWideItem
 *
 * @version:    0.1a
 * @package:    flame.core
 * @author:    alex <qfox@ya.ru> yaroshevich
 * @created:    28 nov 2007
 * @link:    http://src.qfox.ru/
 * 
 * @copyright:    (c) 2007 flamebox. All rights reserved.
 */

/** standart verifying */
if( !defined'FLAMECMS' ) ) return;


if( 
defined'__DB_WIDEITEM_CLASS_PHP' ) ) return;
define'__DB_WIDEITEM_CLASS_PHP''0.1' );

require_once( 
DIR_CLS.'db.plainitem.class.php' );


class 
fbDBWideItem extends fbDBPlainItem
{
    var 
$_attrTickers = array( );
    var 
$_attrTypes = array( );
    var 
$_attrDefaults = array( );
    var 
$_attrNames = array( );
    var 
$_values = array( );
    var 
$_table_a '';
    var 
$_table_v '';
    
    function 
fbDBWideItem$_table$_id )
    {
        if( 
sqlTNType$_table ) != 'wide' ) return null;
        
$this ->_table_a str_replace'_wide_''_wa_'$_table );
        
$this ->_table_v str_replace'_wide_''_wv_'$_table );
        
        
parent::fbDBPlainItem$_table$_id );
        
$this ->_id $_id;
    }
    
    function 
save( )
    {
        
parent::save( );
        
        
    }
    
    function 
load( )
    {
        
parent::load( );
        
        
$_attrs sqlget$this ->_table_a );
        
$this ->_attrTickers array_flat$_attrs'id_wa''wa_ticker' );
        
$this ->_attrTypes array_flat$_attrs'id_wa''wa_type' );
        
$this ->_attrNames array_flat$_attrs'id_wa''wa_name' );
        
$this ->_attrDefaults array_flat$_attrs'id_wa''wa_default' );
        
        
$_values array_flatsqlget$this ->_table_v, array( 'id' => $this ->_id ) ), 'wa_id''value' );
        
$this ->_values = array( );
        foreach( 
$this ->_attrTickers as $_id => $_ticker )
//fixme:            $this ->_values[ $_ticker ] = settype( __( $_values[ $_id ], $this ->_attrDefaults[ $_id ] ), $this ->_attrTypes[ $_id ] );
            
$this ->_values$_ticker ] = __$_values$_id ], $this ->_attrDefaults$_id ] );
    }
    
    
    function 
_get$k )
    {
        return 
__$this ->_values$k ] );
    }
};



?>