"TYPO3 4.0.1: typo3_src-4.0.1/typo3/sysext/adodb/adodb/drivers/adodb-sqlitepo.inc.php Source File", "datetime" => "Sat Dec 2 19:22:26 2006", "date" => "2 Dec 2006", "doxygenversion" => "1.4.6", "projectname" => "TYPO3 4.0.1", "projectnumber" => "4.0.1" ); get_header($doxygen_vars); ?>

adodb-sqlitepo.inc.php

00001 <?php
00002 /*
00003 V4.90 8 June 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
00004   Released under both BSD license and Lesser GPL library license.
00005   Whenever there is any discrepancy between the two licenses,
00006   the BSD license will take precedence.
00007 
00008   Portable version of sqlite driver, to make it more similar to other database drivers.
00009   The main differences are
00010 
00011    1. When selecting (joining) multiple tables, in assoc mode the table
00012           names are included in the assoc keys in the "sqlite" driver.
00013           
00014           In "sqlitepo" driver, the table names are stripped from the returned column names. 
00015           When this results in a conflict,  the first field get preference.
00016 
00017         Contributed by Herman Kuiper  herman#ozuzo.net  
00018 */
00019 
00020 if (!defined('ADODB_DIR')) die();
00021 
00022 include_once(ADODB_DIR.'/drivers/adodb-sqlite.inc.php');
00023 
00024 class ADODB_sqlitepo extends ADODB_sqlite {
00025    var $databaseType = 'sqlitepo';
00026 
00027    function ADODB_sqlitepo()
00028    {
00029       $this->ADODB_sqlite();
00030    }
00031 }
00032 
00033 /*--------------------------------------------------------------------------------------
00034        Class Name: Recordset
00035 --------------------------------------------------------------------------------------*/
00036 
00037 class ADORecordset_sqlitepo extends ADORecordset_sqlite {
00038 
00039    var $databaseType = 'sqlitepo';
00040 
00041    function ADORecordset_sqlitepo($queryID,$mode=false)
00042    {
00043       $this->ADORecordset_sqlite($queryID,$mode);
00044    }
00045    
00046    // Modified to strip table names from returned fields
00047    function _fetch($ignore_fields=false)
00048    {
00049       $this->fields = array();
00050       $fields = @sqlite_fetch_array($this->_queryID,$this->fetchMode);
00051       if(is_array($fields))
00052          foreach($fields as $n => $v)
00053          {
00054             if(($p = strpos($n, ".")) !== false)
00055                $n = substr($n, $p+1);
00056             $this->fields[$n] = $v;
00057          }
00058 
00059       return !empty($this->fields);
00060    }
00061 }
00062 ?>