Viewing file:      inc_database.php (4.27 KB)      -rw-r--r-- Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
 
 /********************************************************************************
     - MemHT Portal -
     
     Copyright (C) 2007-2008 by Miltenovik Manojlo
     http://www.memht.com
     
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your opinion) any later version.
     
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     GNU General Public License for more details.
     
     You should have received a copy of the GNU General Public License along
     with this program; if not, see <http://www.gnu.org/licenses/> (GPLv2)
     or write to the Free Software Foundation, Inc., 51 Franklin Street,
     Fifth Floor, Boston, MA02110-1301, USA.
         
 ********************************************************************************/
 
 if (stristr(htmlentities($_SERVER['PHP_SELF']), "inc_database.php")) {
     die("<table style='padding: 2px; border: 1px solid #999; background-color: #EEE; font-family: Verdana; font-size: 10px;' align='center'><tr><td><b>Error:</b> This file cannot be opened directly!</td></tr></table>");
 }
 
 //Hooks
 require_once("inc_hooks.php");
 
 class database {
     var $dblink;
     var $host = "localhost";
     var $user = "root";
     var $pass;
     var $name;
     
     //PHP5 Constructor
     function __construct() {
         global $db_host,$db_user,$db_pass,$db_name;
             
         $this->host = $db_host;
         $this->user = $db_user;
         $this->pass = $db_pass;
         $this->name = $db_name;
     }
     //PHP4 Constructor
     function database() {
         global $db_host,$db_user,$db_pass,$db_name;
         
         $this->host = $db_host;
         $this->user = $db_user;
         $this->pass = $db_pass;
         $this->name = $db_name;
     }
 
     function connect() {
         $this->dblink = @mysql_connect($this->host,$this->user,$this->pass) or die("<table style='padding: 2px; border: 1px solid #999; background-color: #EEE; font-family: Verdana; font-size: 10px;' align='center'><tr><td><b>Database error:</b> Cannot establish connection.</td></tr></table>");
         @mysql_select_db($this->name,$this->dblink) or die("<table style='padding: 2px; border: 1px solid #999; background-color: #EEE; font-family: Verdana; font-size: 10px;' align='center'><tr><td><b>Database error:</b> Cannot select database.</td></tr></table>");
     //mysql_query("SET NAMES 'utf8' ",$this->dblink);
     }
     
     function disconnect() {
         @mysql_close($this->dblink);
     }
     
     function ping() {
         if (!mysql_ping($this->dblink)) {
             $this->disconnect();
             $this->connect();
         }
     }
     
     function query($query) {
         $result = mysql_query($query,$this->dblink);
 
         return $result;
     }
     
     function get_row($query) {
         $result = $this->query($query);
         $returned = mysql_fetch_assoc($result);
         @mysql_free_result($result);
         return $returned;
     }
     
     function get_list($query) {
         $returned = array();
         
         $result = $this->query($query);
         while ($row = mysql_fetch_assoc($result)) {
             $returned[] = $row;
         }
         
         @mysql_free_result($result);
         return $returned;
     }
     
     function get_num($query) {
         $result = $this->query($query);
         $num = mysql_num_rows($result);
         @mysql_free_result($result);
         return $num;
     }
     
     //Do not print errors
     function get_num_noerr($query) {
         $result = @$this->query($query);
         $num = @mysql_num_rows($result);
         @mysql_free_result($result);
         return $num;
     }
     
     function optimize($gfx=false) {
         global $db_name;
         
         if ($gfx) { echo "<b>"._OPTIMIZINGDATABASE_."</b><br><br>"; }
         $result = mysql_list_tables($db_name);
         $i = 0;
         $toopt = array();
         while ($i < mysql_num_rows($result)) {
             $name_table = mysql_table_name($result, $i);
             if ($gfx) { echo "<img src='images/check-green.gif' title='"._TABLE_." $name_table "._OPTIMIZED_."' border='0' alt='Ok'> $name_table<br>"; }
             $toopt[] = $name_table;
             $i++;
         }
         $sql = "OPTIMIZE TABLE ".implode(",",$toopt);
         if ($result_set = @mysql_query($sql)) {
             if ($gfx) { echo "<br><b>"._OPTIMIZINGDATABASEFINISHED_."</b>"; }
             return true;
         } else {
             return false;
         }
         mysql_free_result($result_set);
     }
     
     function affected_rows(){
         return mysql_affected_rows();
     }
 }
 
 
 ?>
 
  |