Show
Ignore:
Timestamp:
09/01/09 20:52:50 (1 year ago)
Author:
bermi
Message:

When loading associations using load(), it will always return false is no associates are found.

Converting most Active record files to vanilla PHP5

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lib/AkActiveRecord/AkDbAdapters/AkMysqlDbAdapter.php

    r1245 r1399  
    11<?php 
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 
    32 
    43// +----------------------------------------------------------------------+ 
    54// | Akelos Framework - http://www.akelos.org                             | 
    65// +----------------------------------------------------------------------+ 
    7 // | Copyright (c) 2002-2006, Akelos Media, S.L.  & Bermi Ferrer Martinez | 
    86// | Released under the GNU Lesser General Public License, see LICENSE.txt| 
    97// +----------------------------------------------------------------------+ 
     
    1311 * @subpackage Base 
    1412 * @component DbAdapter MySQL 
    15  * @author Bermi Ferrer <bermi a.t akelos c.om> 2004 - 2007 
    16  * @author Kaste 2007 
    17  * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 
     13 * @author Bermi Ferrer <bermi a.t bermilabs c.om> 
     14 * @author Kaste 
     15 * @author Arno Schneider <arno a.t bermilabs c.om> 
     16 * @copyright Copyright (c) 2002-2009, The Akelos Team http://www.akelos.org 
    1817 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 
    1918 */ 
     
    2120class AkMysqlDbAdapter extends AkDbAdapter 
    2221{ 
    23      
    2422    /** 
    2523     * @param array $database_settings 
    2624     * @return string 
    2725     */ 
    28     function _constructDsn($database_settings) 
     26    public function _constructDsn($database_settings) 
    2927    { 
    3028        $dsn  = 'mysqlt://'; 
     
    3331        $dsn .= !empty($database_settings['port']) ? ':'.$database_settings['port'] : ''; 
    3432        $dsn .= '/'.$database_settings['database_name']; 
    35         if (empty($database_settings['options']) && !empty($database_settings['socket'])) $database_settings['options'] = 'socket='.urlencode($database_settings['socket']);  
     33        if (empty($database_settings['options']) && !empty($database_settings['socket'])) $database_settings['options'] = 'socket='.urlencode($database_settings['socket']); 
    3634        $dsn .= !empty($database_settings['options']) ? '?'.$database_settings['options'] : ''; 
    3735        return $dsn; 
    3836    } 
    39      
    40     function type() 
     37 
     38    public function type() 
    4139    { 
    4240        return 'mysql'; 
    4341    } 
    4442 
    45     function addLimitAndOffset(&$sql,$options) 
     43    public function addLimitAndOffset(&$sql,$options) 
    4644    { 
    4745        if (isset($options['limit']) && $limit = $options['limit']){ 
    4846            if (isset($options['offset']) && $offset = $options['offset']) 
    49                 $sql .= " LIMIT $offset, $limit"; 
     47            $sql .= " LIMIT $offset, $limit"; 
    5048            else 
    51                 $sql .= " LIMIT $limit"; 
     49            $sql .= " LIMIT $limit"; 
    5250        } 
    5351        return $sql; 
    5452    } 
    55      
     53 
    5654    /* SCHEMA */ 
    57      
    58     function renameColumn($table_name,$column_name,$new_name) 
     55 
     56    public function renameColumn($table_name,$column_name,$new_name) 
    5957    { 
    6058        $column_details = $this->selectOne("SHOW COLUMNS FROM $table_name LIKE '$column_name'"); 
     
    6866        return $this->execute("ALTER TABLE $table_name CHANGE COLUMN $column_name $new_name $column_type_definition"); 
    6967    } 
    70      
    71     /* QUOTING */  
    72      
    73     function quote_string($value) 
     68 
     69    /* QUOTING */ 
     70 
     71    public function quote_string($value) 
    7472    { 
    7573        return "'".mysql_real_escape_string($value, $this->connection->_connectionID)."'"; 
    7674    } 
    77      
    78     function connect($die_on_error=true) 
     75 
     76    public function connect($die_on_error=true) 
    7977    { 
    8078        parent::connect($die_on_error); 
    8179        if(defined('AK_SET_UTF8_ON_MYSQL_CONNECT') && AK_SET_UTF8_ON_MYSQL_CONNECT){ 
    82                if(isset($this->connection->_connectionID)){ 
    83                    if(function_exists('mysql_set_charset')){ 
    84                        mysql_set_charset('utf8', $this->connection->_connectionID); 
    85                    }else{ 
    86                        mysql_query('SET CHARACTER SET "utf8"', $this->connection->_connectionID); 
    87                    } 
    88                      
    89                
     80            if(isset($this->connection->_connectionID)){ 
     81                if(function_exists('mysql_set_charset')){ 
     82                    mysql_set_charset('utf8', $this->connection->_connectionID); 
     83                }else{ 
     84                    mysql_query('SET CHARACTER SET "utf8"', $this->connection->_connectionID); 
     85                } 
     86 
     87           
    9088        } 
    91     }     
     89    } 
    9290} 
     91 
    9392?> 
  • trunk/lib/AkActiveRecord/AkDbAdapters/AkPgsqlDbAdapter.php

    r468 r1399  
    11<?php 
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 
    32 
    43// +----------------------------------------------------------------------+ 
    54// | Akelos Framework - http://www.akelos.org                             | 
    65// +----------------------------------------------------------------------+ 
    7 // | Copyright (c) 2002-2006, Akelos Media, S.L.  & Bermi Ferrer Martinez | 
    86// | Released under the GNU Lesser General Public License, see LICENSE.txt| 
    97// +----------------------------------------------------------------------+ 
     
    1311 * @subpackage Base 
    1412 * @component DbAdapter PostgreSQL 
    15  * @author Bermi Ferrer <bermi a.t akelos c.om> 2004 - 2007 
    16  * @author Kaste 2007 
    17  * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 
     13 * @author Bermi Ferrer <bermi a.t bermilabs c.om> 
     14 * @author Kaste 
     15 * @author Arno Schneider <arno a.t bermilabs c.om> 
     16 * @copyright Copyright (c) 2002-2009, The Akelos Team http://www.akelos.org 
    1817 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 
    1918 */ 
     
    2120class AkPgsqlDbAdapter extends AkDbAdapter 
    2221{ 
    23      
    24      
    25     function type() 
     22 
     23    public function type() 
    2624    { 
    2725        return 'postgre'; 
    2826    } 
    29      
     27 
    3028    /* SCHEMA */ 
    31      
    32     function renameColumn($table_name,$column_name,$new_name) 
     29 
     30    public function renameColumn($table_name,$column_name,$new_name) 
    3331    { 
    3432        return $this->execute("ALTER TABLE $table_name RENAME COLUMN $column_name TO $new_name"); 
    3533    } 
    36      
     34 
    3735    /* META */ 
    38      
    39     function availableTables() 
     36 
     37    public function availableTables() 
    4038    { 
    4139        $schema_path = $this->selectValue('SHOW search_path'); 
     
    4442    } 
    4543 
    46     /* QUOTING */  
    47      
    48     function quote_string($value) 
     44    /* QUOTING */ 
     45 
     46    public function quote_string($value) 
    4947    { 
    50         if (AK_PHP5) { 
    51             return "'".pg_escape_string($this->connection->_connectionID,$value)."'"; 
    52         } else 
    53             return "'".pg_escape_string($value)."'"; 
     48        return "'".pg_escape_string($this->connection->_connectionID,$value)."'"; 
    5449    } 
    55      
     50 
    5651} 
    5752?> 
  • trunk/lib/AkActiveRecord/AkDbAdapters/AkSqliteDbAdapter.php

    r468 r1399  
    11<?php 
    2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 
    32 
    43// +----------------------------------------------------------------------+ 
    54// | Akelos Framework - http://www.akelos.org                             | 
    65// +----------------------------------------------------------------------+ 
    7 // | Copyright (c) 2002-2006, Akelos Media, S.L.  & Bermi Ferrer Martinez | 
    86// | Released under the GNU Lesser General Public License, see LICENSE.txt| 
    97// +----------------------------------------------------------------------+ 
     
    1311 * @subpackage Base 
    1412 * @component DbAdapter SQLite 
    15  * @author Bermi Ferrer <bermi a.t akelos c.om> 2004 - 2007 
    16  * @author Kaste 2007 
    17  * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 
     13 * @author Bermi Ferrer <bermi a.t bermilabs c.om> 
     14 * @author Kaste 
     15 * @author Arno Schneider <arno a.t bermilabs c.om> 
     16 * @copyright Copyright (c) 2002-2009, The Akelos Team http://www.akelos.org 
    1817 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 
    1918 */ 
     
    2120class AkSqliteDbAdapter extends AkDbAdapter 
    2221{ 
    23      
     22 
    2423    /** 
    2524     * @param array $database_settings 
    2625     * @return string 
    2726     */ 
    28     function _constructDsn($database_settings) 
     27    public function _constructDsn($database_settings) 
    2928    { 
    3029        $dsn  = $database_settings['type'].'://'; 
     
    3332        return $dsn; 
    3433    } 
    35      
    36     function type() 
     34 
     35    public function type() 
    3736    { 
    3837        return 'sqlite'; 
     
    4039 
    4140    /* DATABASE STATEMENTS - CRUD */ 
    42      
    43     function incrementsPrimaryKeyAutomatically(){ 
     41 
     42    public function incrementsPrimaryKeyAutomatically() 
     43    { 
    4444        return false; 
    4545    } 
    46      
    47     function getNextSequenceValueFor($table){ 
     46 
     47    public function getNextSequenceValueFor($table) 
     48    { 
    4849        $sequence_table = 'seq_'.$table; 
    4950        return $this->connection->GenID($sequence_table); 
    5051    } 
    51      
    52     /* QUOTING */  
    53      
    54     function quote_string($value) 
     52 
     53    /* QUOTING */ 
     54 
     55    public function quote_string($value) 
    5556    { 
    5657        return "'".sqlite_escape_string($value)."'"; 
    5758    } 
    58      
    59      
    6059} 
     60 
    6161?>