Changeset 182

Show
Ignore:
Timestamp:
01/28/07 20:15:35 (13 years ago)
Author:
exi
Message:

First version of a sql caching class which gets invoked instead of the standard one.
Changed the loading of db.php to use the common path.

Location:
dev/common
Files:
2 added
3 modified

Legend:

Unmodified
Added
Removed
  • dev/common/class.config.php

    r181 r182  
    8686    function init() 
    8787    { 
    88         static $init = false; 
     88        global $config_init; 
    8989 
    90         if ($init) 
     90        if ($config_init) 
    9191        { 
    9292            return; 
     
    9999            config::put($row['cfg_key'], $row['cfg_value']); 
    100100        } 
    101         $init = true; 
     101        $config_init = true; 
    102102 
    103103        if (config::get('post_password') === null) 
  • dev/common/db.php

    r155 r182  
    44require_once('php_compat.php'); 
    55 
    6 class DBConnection 
     6if (DB_USE_QCACHE) 
    77{ 
    8     function DBConnection() 
    9     { 
    10         if (!$this->id_ = mysql_pconnect(DB_HOST, DB_USER, DB_PASS)) 
    11             die("Unable to connect to mysql database."); 
    12  
    13         mysql_select_db(DB_NAME); 
    14     } 
    15  
    16     function id() 
    17     { 
    18         return $this->id_; 
    19     } 
    20  
    21     function affectedRows() 
    22     { 
    23         return mysql_affected_rows($this->id_); 
    24     } 
     8    require_once('class.db_cache.php'); 
    259} 
    26  
    27 class DBQuery 
     10else 
    2811{ 
    29     function DBQuery() 
    30     { 
    31         $this->executed_ = false; 
    32         $this->dbconn_ = new DBConnection; 
    33     } 
    34  
    35     function execute($sql) 
    36     { 
    37         $t1 = strtok(microtime(), ' ') + strtok(''); 
    38  
    39         $this->resid_ = mysql_query($sql, $this->dbconn_->id()); 
    40  
    41         if ($this->resid_ == false) 
    42         { 
    43             if (defined('DB_HALTONERROR') && DB_HALTONERROR) 
    44             { 
    45                 echo "Database error: " . mysql_error($this->dbconn_->id()) . "<br>"; 
    46                 echo "SQL: " . $sql . "<br>"; 
    47                 exit; 
    48             } 
    49             else 
    50             { 
    51                 return false; 
    52             } 
    53         } 
    54  
    55         $this->exectime_ = strtok(microtime(), ' ') + strtok('') - $t1; 
    56         $this->executed_ = true; 
    57  
    58         if (KB_PROFILE == 2) 
    59         { 
    60             file_put_contents('/tmp/profile.lst', $sql . "\nExecution time: " . $this->exectime_ . "\n", FILE_APPEND); 
    61         } 
    62  
    63         return true; 
    64     } 
    65  
    66     function recordCount() 
    67     { 
    68         return mysql_num_rows($this->resid_); 
    69     } 
    70  
    71     function getRow() 
    72     { 
    73         if ($this->resid_) 
    74         { 
    75             return mysql_fetch_assoc($this->resid_); 
    76         } 
    77         return false; 
    78     } 
    79  
    80     function rewind() 
    81     { 
    82         @mysql_data_seek($this->resid_, 0); 
    83     } 
    84  
    85     function getInsertID() 
    86     { 
    87         return mysql_insert_id(); 
    88     } 
    89  
    90     function execTime() 
    91     { 
    92         return $this->exectime_; 
    93     } 
    94  
    95     function executed() 
    96     { 
    97         return $this->executed_; 
    98     } 
    99  
    100     function getErrorMsg() 
    101     { 
    102         $msg = $this->sql_ . "<br>"; 
    103         $msg .= "Query failed. " . mysql_error($this->dbconn_->id()); 
    104  
    105         return $msg; 
    106     } 
     12    require_once('class.db.php'); 
    10713} 
    10814?> 
  • dev/common/index.php

    r181 r182  
    11<?php 
    2 require_once('db.php'); 
     2// many ppl had issues with pear and relative paths 
     3require_once('common/db.php'); 
    34require_once('class.killboard.php'); 
    45require_once('smarty/Smarty.class.php'); 
    56require_once('class.event.php'); 
    67require_once('class.roles.php'); 
     8 
    79// smarty doesnt like it (i either) 
    810@set_magic_quotes_runtime(0);