Changeset 9 in ExiteCMS8


Ignore:
Timestamp:
01/10/11 23:18:59 (17 months ago)
Author:
WanWizard
Message:

merged upstream changes in the fuel core

Location:
trunk/fuel/core
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/fuel/core/bootstrap.php

    r6 r9  
    7676    'Fuel\\Core\\Database_Exception'            => COREPATH.'classes/database/exception.php', 
    7777    'Fuel\\Core\\Database_Expression'           => COREPATH.'classes/database/expression.php', 
     78    'Fuel\\Core\\Database_Pdo'                  => COREPATH.'classes/database/pdo.php', 
    7879    'Fuel\\Core\\Database_Query'                => COREPATH.'classes/database/query.php', 
    7980    'Fuel\\Core\\Database_Query_Builder'        => COREPATH.'classes/database/query/builder.php', 
     
    8586    'Fuel\\Core\\Database_Query_Builder_Join'   => COREPATH.'classes/database/query/builder/join.php', 
    8687    'Fuel\\Core\\Database_Result'               => COREPATH.'classes/database/result.php', 
     88    'Fuel\\Core\\Database_Result_Cached'        => COREPATH.'classes/database/result/cached.php', 
    8789    'Fuel\\Core\\Database_Mysql'                => COREPATH.'classes/database/mysql.php', 
    8890    'Fuel\\Core\\Database_MySQL_Result'         => COREPATH.'classes/database/mysql/result.php', 
  • trunk/fuel/core/classes/autoloader.php

    r2 r9  
    350350            } 
    351351        } 
     352         
     353        // Prevent failed load from keeping other classes from initializing 
     354        if (static::$auto_initialize == $class) 
     355        { 
     356            static::$auto_initialize = null; 
     357        } 
     358         
    352359        return false; 
    353360    } 
     
    363370        if (static::$auto_initialize === $class) 
    364371        { 
     372            static::$auto_initialize = null; 
    365373            if (is_callable($class.'::_init')) 
    366374            { 
     
    368376            } 
    369377        } 
    370         static::$auto_initialize = null; 
    371378    } 
    372379} 
  • trunk/fuel/core/classes/cookie.php

    r2 r9  
    8080     * @param   string   value of cookie 
    8181     * @param   integer  lifetime in seconds 
     82     * @param   string   path of the cookie 
     83     * @param   string   domain of the cookie 
    8284     * @return  boolean 
    8385     */ 
    84     public static function set($name, $value, $expiration = null) 
     86    public static function set($name, $value, $expiration = null, $path = null, $domain = null) 
    8587    { 
    8688        // If nothing is provided, use the standard amount of time 
     
    8991            $expiration = time() + 86500; 
    9092        } 
    91  
    9293        // If it's set, add the current time so we have an offset 
    9394        else 
     
    9697        } 
    9798 
    98         return setcookie($name, $value, $expiration, static::$path, static::$domain, static::$secure, static::$httponly); 
     99        // use the class defaults for path and domain if not provided 
     100        if (empty($path)) 
     101        { 
     102            $path = static::$path; 
     103        } 
     104 
     105        if (empty($domain)) 
     106        { 
     107            $domain = static::$domain; 
     108        } 
     109 
     110        return setcookie($name, $value, $expiration, $path, $domain, static::$secure, static::$httponly); 
    99111    } 
    100112 
  • trunk/fuel/core/classes/database/exception.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Exception extends Exception {} 
     14class Database_Exception extends \Exception {} 
  • trunk/fuel/core/classes/database/mysql.php

    r2 r9  
    1414 
    1515 
    16 class Database_MySQL extends Database { 
     16class Database_MySQL extends \Database { 
    1717 
    1818    // Database in use by each connection 
     
    3636            return; 
    3737 
    38         if (Database_MySQL::$_set_names === NULL) 
     38        if (static::$_set_names === NULL) 
    3939        { 
    4040            // Determine if we can use mysql_set_charset(), which is only 
    4141            // available on PHP 5.2.3+ when compiled against MySQL 5.0+ 
    42             Database_MySQL::$_set_names = ! function_exists('mysql_set_charset'); 
     42            static::$_set_names = ! function_exists('mysql_set_charset'); 
    4343        } 
    4444 
     
    7373            $this->_connection = NULL; 
    7474 
    75             throw new Database_Exception(mysql_error(), mysql_errno()); 
     75            throw new \Database_Exception(mysql_error(), mysql_errno()); 
    7676        } 
    7777 
     
    9999        { 
    100100            // Unable to select database 
    101             throw new Database_Exception(mysql_error($this->_connection), mysql_errno($this->_connection)); 
    102         } 
    103  
    104         Database_MySQL::$_current_databases[$this->_connection_id] = $database; 
     101            throw new \Database_Exception(mysql_error($this->_connection), mysql_errno($this->_connection)); 
     102        } 
     103 
     104        static::$_current_databases[$this->_connection_id] = $database; 
    105105    } 
    106106 
     
    135135        $this->_connection or $this->connect(); 
    136136 
    137         if (Database_MySQL::$_set_names === TRUE) 
     137        if (static::$_set_names === TRUE) 
    138138        { 
    139139            // PHP is compiled against MySQL 4.x 
     
    148148        if ($status === FALSE) 
    149149        { 
    150             throw new Database_Exception(mysql_error($this->_connection), mysql_errno($this->_connection)); 
     150            throw new \Database_Exception(mysql_error($this->_connection), mysql_errno($this->_connection)); 
    151151        } 
    152152    } 
     
    163163        } 
    164164 
    165         if ( ! empty($this->_config['connection']['persistent']) AND $this->_config['connection']['database'] !== Database_MySQL::$_current_databases[$this->_connection_id]) 
     165        if ( ! empty($this->_config['connection']['persistent']) AND $this->_config['connection']['database'] !== static::$_current_databases[$this->_connection_id]) 
    166166        { 
    167167            // Select database on persistent connections 
     
    178178            } 
    179179 
    180             throw new Database_Exception(mysql_error($this->_connection).' [ '.$sql.' ]', 
     180            throw new \Database_Exception(mysql_error($this->_connection).' [ '.$sql.' ]', 
    181181                mysql_errno($this->_connection)); 
    182182        } 
     
    190190        $this->last_query = $sql; 
    191191 
    192         if ($type === Database::SELECT) 
     192        if ($type === \Database::SELECT) 
    193193        { 
    194194            // Return an iterator of results 
    195             return new Database_MySQL_Result($result, $sql, $as_object); 
    196         } 
    197         elseif ($type === Database::INSERT) 
     195            return new \Database_MySQL_Result($result, $sql, $as_object); 
     196        } 
     197        elseif ($type === \Database::INSERT) 
    198198        { 
    199199            // Return a list of insert id and rows created 
     
    262262        { 
    263263            // Search for table names 
    264             $result = $this->query(Database::SELECT, 'SHOW TABLES LIKE '.$this->quote($like), FALSE); 
     264            $result = $this->query(\Database::SELECT, 'SHOW TABLES LIKE '.$this->quote($like), FALSE); 
    265265        } 
    266266        else 
    267267        { 
    268268            // Find all table names 
    269             $result = $this->query(Database::SELECT, 'SHOW TABLES', FALSE); 
     269            $result = $this->query(\Database::SELECT, 'SHOW TABLES', FALSE); 
    270270        } 
    271271 
     
    287287        { 
    288288            // Search for column names 
    289             $result = $this->query(Database::SELECT, 'SHOW FULL COLUMNS FROM '.$table.' LIKE '.$this->quote($like), FALSE); 
     289            $result = $this->query(\Database::SELECT, 'SHOW FULL COLUMNS FROM '.$table.' LIKE '.$this->quote($like), FALSE); 
    290290        } 
    291291        else 
    292292        { 
    293293            // Find all column names 
    294             $result = $this->query(Database::SELECT, 'SHOW FULL COLUMNS FROM '.$table, FALSE); 
     294            $result = $this->query(\Database::SELECT, 'SHOW FULL COLUMNS FROM '.$table, FALSE); 
    295295        } 
    296296 
     
    370370        if (($value = mysql_real_escape_string((string) $value, $this->_connection)) === FALSE) 
    371371        { 
    372             throw new Database_Exception(mysql_error($this->_connection), mysql_errno($this->_connection)); 
     372            throw new \Database_Exception(mysql_error($this->_connection), mysql_errno($this->_connection)); 
    373373        } 
    374374 
  • trunk/fuel/core/classes/database/mysql/result.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_MySQL_Result extends Database_Result { 
     14class Database_MySQL_Result extends \Database_Result { 
    1515 
    1616    protected $_internal_row = 0; 
  • trunk/fuel/core/classes/database/pdo.php

    r2 r9  
    1313 
    1414 
    15 class Database_PDO extends Database { 
     15class Database_PDO extends \Database { 
    1616 
    1717    // PDO uses no quoting for identifiers 
     
    6868        catch (\PDOException $e) 
    6969        { 
    70             throw new Database_Exception($e->getMessage(), $e->getCode(), $e); 
     70            throw new \Database_Exception($e->getMessage(), $e->getCode(), $e); 
    7171        } 
    7272 
     
    119119 
    120120            // Convert the exception in a database exception 
    121             throw new Database_Exception($e->getMessage().' with query: "'.$sql.'"'); 
     121            throw new \Database_Exception($e->getMessage().' with query: "'.$sql.'"'); 
    122122        } 
    123123 
     
    130130        $this->last_query = $sql; 
    131131 
    132         if ($type === Database::SELECT) 
     132        if ($type === \Database::SELECT) 
    133133        { 
    134134            // Convert the result into an array, as PDOStatement::rowCount is not reliable 
     
    149149 
    150150            // Return an iterator of results 
    151             return new Database_Result_Cached($result, $sql, $as_object); 
     151            return new \Database_Result_Cached($result, $sql, $as_object); 
    152152        } 
    153         elseif ($type === Database::INSERT) 
     153        elseif ($type === \Database::INSERT) 
    154154        { 
    155155            // Return a list of insert id and rows created 
  • trunk/fuel/core/classes/database/query.php

    r2 r9  
    5454        { 
    5555            // Return the SQL string 
    56             return $this->compile(Database::instance()); 
     56            return $this->compile(\Database::instance()); 
    5757        } 
    5858        catch (Exception $e) 
     
    191191        { 
    192192            // Get the database instance 
    193             $db = Database::instance($db); 
     193            $db = \Database::instance($db); 
    194194        } 
    195195 
     
    213213        { 
    214214            case 'SELECT': 
    215                 $this->_type = Database::SELECT; 
     215                $this->_type = \Database::SELECT; 
    216216                break; 
    217217            case 'INSERT': 
    218218            case 'CREATE': 
    219                 $this->_type = Database::INSERT; 
     219                $this->_type = \Database::INSERT; 
    220220                break; 
    221221        } 
  • trunk/fuel/core/classes/database/query/builder.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 abstract class Database_Query_Builder extends Database_Query { 
     14abstract class Database_Query_Builder extends \Database_Query { 
    1515 
    1616    /** 
  • trunk/fuel/core/classes/database/query/builder/delete.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Query_Builder_Delete extends Database_Query_Builder_Where { 
     14class Database_Query_Builder_Delete extends \Database_Query_Builder_Where { 
    1515 
    1616    // DELETE FROM ... 
     
    3232 
    3333        // Start the query with no SQL 
    34         return parent::__construct('', Database::DELETE); 
     34        return parent::__construct('', \Database::DELETE); 
    3535    } 
    3636 
  • trunk/fuel/core/classes/database/query/builder/insert.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Query_Builder_Insert extends Database_Query_Builder { 
     14class Database_Query_Builder_Insert extends \Database_Query_Builder { 
    1515 
    1616    // INSERT INTO ... 
     
    4545 
    4646        // Start the query with no SQL 
    47         return parent::__construct('', Database::INSERT); 
     47        return parent::__construct('', \Database::INSERT); 
    4848    } 
    4949 
     
    118118    public function select(Database_Query $query) 
    119119    { 
    120         if ($query->type() !== Database::SELECT) 
     120        if ($query->type() !== \Database::SELECT) 
    121121        { 
    122122            throw new \Exception('Only SELECT queries can be combined with INSERT queries'); 
  • trunk/fuel/core/classes/database/query/builder/join.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Query_Builder_Join extends Database_Query_Builder { 
     14class Database_Query_Builder_Join extends \Database_Query_Builder { 
    1515 
    1616    // Type of JOIN 
  • trunk/fuel/core/classes/database/query/builder/select.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Query_Builder_Select extends Database_Query_Builder_Where { 
     14class Database_Query_Builder_Select extends \Database_Query_Builder_Where { 
    1515 
    1616    // SELECT ... 
     
    5353 
    5454        // Start the query with no actual SQL statement 
    55         parent::__construct(Database::SELECT, ''); 
     55        parent::__construct(\Database::SELECT, ''); 
    5656    } 
    5757 
     
    123123    public function join($table, $type = NULL) 
    124124    { 
    125         $this->_join[] = $this->_last_join = new Database_Query_Builder_Join($table, $type); 
     125        $this->_join[] = $this->_last_join = new \Database_Query_Builder_Join($table, $type); 
    126126 
    127127        return $this; 
  • trunk/fuel/core/classes/database/query/builder/update.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Query_Builder_Update extends Database_Query_Builder_Where { 
     14class Database_Query_Builder_Update extends \Database_Query_Builder_Where { 
    1515 
    1616    // UPDATE ... 
     
    3535 
    3636        // Start the query with no SQL 
    37         return parent::__construct('', Database::UPDATE); 
     37        return parent::__construct('', \Database::UPDATE); 
    3838    } 
    3939 
  • trunk/fuel/core/classes/database/query/builder/where.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 abstract class Database_Query_Builder_Where extends Database_Query_Builder { 
     14abstract class Database_Query_Builder_Where extends \Database_Query_Builder { 
    1515 
    1616    // WHERE ... 
  • trunk/fuel/core/classes/database/result.php

    r2 r9  
    7171    public function cached() 
    7272    { 
    73         return new Database_Result_Cached($this->as_array(), $this->_query, $this->_as_object); 
     73        return new \Database_Result_Cached($this->as_array(), $this->_query, $this->_as_object); 
    7474    } 
    7575 
  • trunk/fuel/core/classes/database/result/cached.php

    r2 r9  
    1212namespace Fuel\Core; 
    1313 
    14 class Database_Result_Cached extends Database_Result { 
     14class Database_Result_Cached extends \Database_Result { 
    1515 
    1616    public function __construct(array $result, $sql, $as_object = NULL) 
  • trunk/fuel/core/classes/db.php

    r2 r9  
    3939    public static function query($sql, $type = null) 
    4040    { 
    41         return new Database_Query($sql, $type); 
     41        return new \Database_Query($sql, $type); 
    4242    } 
    4343 
     
    5858    public static function select($columns = NULL) 
    5959    { 
    60         return new Database_Query_Builder_Select(func_get_args()); 
     60        return new \Database_Query_Builder_Select(func_get_args()); 
    6161    } 
    6262 
     
    7272    public static function select_array(array $columns = NULL) 
    7373    { 
    74         return new Database_Query_Builder_Select($columns); 
     74        return new \Database_Query_Builder_Select($columns); 
    7575    } 
    7676 
     
    8787    public static function insert($table = NULL, array $columns = NULL) 
    8888    { 
    89         return new Database_Query_Builder_Insert($table, $columns); 
     89        return new \Database_Query_Builder_Insert($table, $columns); 
    9090    } 
    9191 
     
    101101    public static function update($table = NULL) 
    102102    { 
    103         return new Database_Query_Builder_Update($table); 
     103        return new \Database_Query_Builder_Update($table); 
    104104    } 
    105105 
     
    115115    public static function delete($table = NULL) 
    116116    { 
    117         return new Database_Query_Builder_Delete($table); 
     117        return new \Database_Query_Builder_Delete($table); 
    118118    } 
    119119 
     
    129129    public static function expr($string) 
    130130    { 
    131         return new Database_Expression($string); 
     131        return new \Database_Expression($string); 
    132132    } 
    133133 
     
    149149            return $string; 
    150150        } 
    151         return Database::instance($db)->quote_identifier($string); 
     151        return \Database::instance($db)->quote_identifier($string); 
    152152    } 
    153153 
     
    161161    public static function escape($string, $db = null) 
    162162    { 
    163         return Database::instance($db)->escape($string); 
     163        return \Database::instance($db)->escape($string); 
    164164    } 
    165165 
  • trunk/fuel/core/classes/html.php

    r2 r9  
    5555    public static function anchor($href, $text, $attributes = array()) 
    5656    { 
    57         if ( ! preg_match('#^\w+://# i', $href)) 
     57        if ( ! preg_match('#^(\w+://|javascript:)# i', $href)) 
    5858        { 
    5959            $href = \Uri::create($href); 
     
    7373    public static function prep_url($url, $schema = 'http') 
    7474    { 
    75         if ( ! preg_match('#^\w+://# i', $url)) 
     75        if ( ! preg_match('#^(\w+://|javascript:)# i', $url)) 
    7676        { 
    7777            $url = $schema.'://'.$url; 
  • trunk/fuel/core/classes/security.php

    r2 r9  
    8484 
    8585        return $value; 
     86    } 
     87 
     88    public static function htmlentities($value) 
     89    { 
     90        die('here'); 
    8691    } 
    8792 
  • trunk/fuel/core/classes/session/driver.php

    r2 r9  
    503503        if ($this->config['expire_on_close']) 
    504504        { 
    505             return \Cookie::set($this->config['cookie_name'], $payload, 0); 
     505            return \Cookie::set($this->config['cookie_name'], $payload, 0, $this->config['cookie_path'], $this->config['cookie_domain']); 
    506506        } 
    507507        else 
    508508        { 
    509             return \Cookie::set($this->config['cookie_name'], $payload, $this->config['expiration_time']); 
     509            return \Cookie::set($this->config['cookie_name'], $payload, $this->config['expiration_time'], $this->config['cookie_path'], $this->config['cookie_domain']); 
    510510        } 
    511511    } 
Note: See TracChangeset for help on using the changeset viewer.