--- /dev/null
+<?php
+require ("result.inc");
+
+class CLASS_DATABASE {
+
+/*
+var $Database="";
+var $User="";
+var $Password="";
+var $Url="";
+*/
+
+var $Master = true;
+var $_linkId = false;
+var $_url = "";
+var $_user = "";
+var $_password = "";
+var $_database = "";
+var $_halt_on_error = true;
+
+/*
+function CLASS_DATABASE ($database=DB_DATABASE,$user=DB_USER,$password=DB_PASS,$url=DB_HOST) {
+ $this->Database=$database;
+ $this->Password=$password;
+ $this->User=$user;
+ $this->Url=$url;
+*/
+
+function CLASS_DATABASE() {
+ $this->connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE);
+}
+
+function connect($url,$user,$password,$database, $halt_on_error = true) {
+ global $error;
+ $this->_halt_on_error = $halt_on_error;
+ if ($this->_linkId == false) {
+ $this->_linkId=mysql_connect($url, $user, $password);
+ if ($this->_linkId == false) {
+ $error='chcipla databaza';
+ $this->exception($error);
+ return false;
+ //die();
+ }// else {
+ // mysql_query('set character set utf8');
+ //}
+ $this->_url=$url;
+ $this->_user=$user;
+ $this->_password=$password;
+
+ if ($this->_linkId == false || mysql_select_db($database, $this->_linkId) == false) {
+ $this->exception("1Database failed.");
+ return false;
+ die();
+ }
+ $this->_database=$database;
+ }
+ return true;
+}
+
+function closeMysql() {
+ mysql_close($this->_linkId);
+}
+
+function query($sql) {
+
+// if (preg_match("/^select/i",$sql) && (rand(0,1000)>MASTER2SLAVE) && $this->Master) {
+// every select query goes to onyx + opraveny regexp, aby matchoval vnorene selecty (br)
+/* if (preg_match('/^\(?select/i',$sql) && $this->Master) {
+ $this->_linkId = false;
+ $this->connect(SLAVE_HOST,SLAVE_USER,SLAVE_PASS,SLAVE_DATABASE);
+ $this->Master = false;
+
+ }
+
+ elseif (!preg_match("/^select/i",$sql) && !$this->Master) {*/
+ $this->_linkId = false;
+ $this->connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE);
+ $this->Master = true;
+// }
+
+ $this->_queryId = mysql_query($sql,$this->_linkId);
+
+ if ($_SESSION['debugging']) {
+ if ($this->Master) echo "Master::";
+ else echo "Slave::";
+ echo $sql;
+ global $timer_start;
+ echo "<BR>".SubStr((Time()+SubStr(MicroTime(),0,8)-$timer_start),0,7);
+ }
+
+ if ($this->_queryId == false) {
+ $this->exception("query failed ::$sql::");
+ }
+
+ return new result($this->_queryId, $sql);
+ }
+
+
+function executequery($sql) {
+ return($this->query($sql));
+}
+
+function executetransaction($queries) {
+ $this->executequery("set autocommit=0");
+ if (is_array($queries)) {
+ foreach ($queries as $query) {
+ $this->executequery($query);
+ }
+ }
+ $this->executequery("commit");
+ $this->executequery("set autocommit=1");
+}
+
+function executeupdate($sql) {
+ return($this->update($sql));
+}
+
+function update($sql) {
+ if (!$this->Master) {
+ $this->_linkId = false;
+ $this->connect(DB_HOST,DB_USER,DB_PASS,DB_DATABASE);
+ $this->Master = true;
+ }
+
+ $this->_queryId = @mysql_db_query($this->_database,$sql,$this->_linkId);
+ if ($this->_queryId == false) {
+ $this->exception("update failed.");
+ }
+ $rows=@mysql_affected_rows($this->_linkId);
+ return($rows);
+}
+
+function getLastInsertId() {
+ return(@mysql_insert_id($this->_linkId));
+}
+
+function exception($errorMessage) {
+
+ echo "<!-- ";
+ echo @mysql_error($this->_linkId)," (",@mysql_errno($this->_linkId),")";
+ echo "-->";
+
+ if ($this->_halt_on_error) {
+ die("<pre>".$errorMessage."</pre>");
+ } else {
+ echo $errorMessage."<br>";
+ return false;
+ }
+ }
+}
+?>