All mysql specific calls moved to connect_db.inc
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 28 Oct 2010 09:30:35 +0000 (09:30 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Thu, 28 Oct 2010 09:30:35 +0000 (09:30 +0000)
admin/db/maintenance_db.inc
admin/inst_theme.php
includes/current_user.inc
includes/db/connect_db.inc
includes/db_pager.inc
install/index.php

index ed14e56a1de1e438b9eef8eee6cf1baaca07fb0c..9e0793f17c014173ac08dccb9fda2064329475c1 100644 (file)
@@ -251,45 +251,6 @@ function write_lang()
        return true;
 }
 
-function db_create_db($connection)
-{
-       $db = mysql_connect($connection["host"] ,
-               $connection["dbuser"], $connection["dbpassword"]);
-       if (!mysql_select_db($connection["dbname"], $db))
-       {
-               $sql = "CREATE DATABASE " . $connection["dbname"] . "";
-               if (!mysql_query($sql))
-                       return 0;
-               mysql_select_db($connection["dbname"], $db);
-       }
-       return $db;
-}
-
-function db_drop_db($connection)
-{
-
-       if ($connection["tbpref"] == "")
-       {
-               $sql = "DROP DATABASE " . $connection["dbname"] . "";
-               return mysql_query($sql);
-       }
-       else
-       {
-       $res = db_query("show table status");
-       $all_tables = array();
-       while($row = db_fetch($res))
-               $all_tables[] = $row;
-        // get table structures
-               foreach ($all_tables as $table)
-               {
-                       if (strpos($table['Name'], $connection["tbpref"]) === 0)
-                               db_query("DROP TABLE `".$table['Name'] . "`");
-               }
-               //deleting the tables, how??
-               return true;
-       }
-}
-
 function db_import($filename, $connection, $force=true)
 {
        global $db, $go_debug;
@@ -648,9 +609,6 @@ function db_export($conn, $filename, $zip='no', $comment='', $tbpref = TB_PREF,
                return false;
        }
 
-       // if (mysql_error()) return "DB_ERROR";
-       //@mysql_close($con);
-
        //if ($zip == "zip")
        //      $zip = $time;
        if (save_to_file($backupfile, $zip, $out))
index baea29cf5d2f54e84a14fb49c74b3faac07ee53f..af640e883b915f30f86348804f2aeb85334ce8e9 100644 (file)
@@ -32,15 +32,16 @@ function clean_user_themes($id)
        global $db_connections, $db, $installed_extensions;
 
        $theme = $installed_extensions[$id]['package'];
-       $db_sav = $db;
+       $comp = user_company();
 
        foreach ($db_connections as $n => $conn) {
-               $db = $_SESSION["wa_current_user"]->get_db_connection($n);
+               $db = $_SESSION["wa_current_user"]->set_db_connection($n);
                $sql = "UPDATE {$conn['tbpref']}users SET theme='default' WHERE theme='$theme'";
                if (!db_query($sql, 'Cannot update user theme settings'))
                        return false;
        }
-       $db = $db_sav;
+       $db = $_SESSION["wa_current_user"]->set_db_connection($comp);
+
        $_SESSION['wa_current_user']->prefs->theme = 'default';
        return true;
 }
index 8b94366f83178483e398a34bf3b755373d582717..b97db9f374bdf747390201ef5f29da3765c0d444 100644 (file)
@@ -153,19 +153,9 @@ class current_user
                return $this->can_access($page_level);
        }
 
-       function get_db_connection($id=-1)
+       function set_db_connection($id = -1)
        {
-       global $db_connections;
-
-               $this->cur_con = $id == -1 ? $this->company : $id;
-       $connection = $db_connections[$this->cur_con];
-
-       //print_r($connection);
-
-               $db = mysql_connect($connection["host"], $connection["dbuser"], $connection["dbpassword"]);
-               mysql_select_db($connection["dbname"], $db);
-
-       return $db;
+               return set_global_connection($id);
        }
 
        function update_prefs($prefs)
index 1e6c2c4a099d2913cc8ce2fe4ff166b9796cdab0..5705e3f2e3419160a94c258f6a68ab0c01e832ed 100644 (file)
 
 function set_global_connection($company=-1)
 {
-       global $db, $transaction_level;
+       global $db, $transaction_level, $db_connections;
 
        cancel_transaction(); // cancel all aborted transactions if any
        $transaction_level = 0;
 
-       $db = $_SESSION["wa_current_user"]->get_db_connection($company);
+       if ($company == -1) 
+               $company = $_SESSION["wa_current_user"]->company;
 
+       $_SESSION["wa_current_user"]->cur_con = $company;
+
+       $connection = $db_connections[$company];
+
+       $db = mysql_connect($connection["host"], $connection["dbuser"], $connection["dbpassword"]);
+               mysql_select_db($connection["dbname"], $db);
        return $db;
 }
 
@@ -153,4 +160,47 @@ function db_num_affected_rows()
        return mysql_affected_rows($db);
 }
 
-?>
+function db_field_name($result, $n)
+{
+       return mysql_field_name($result, $n);
+}
+
+function db_create_db($connection)
+{
+       $db = mysql_connect($connection["host"] ,
+               $connection["dbuser"], $connection["dbpassword"]);
+       if (!mysql_select_db($connection["dbname"], $db))
+       {
+               $sql = "CREATE DATABASE " . $connection["dbname"] . "";
+               if (!mysql_query($sql) || !mysql_select_db($connection["dbname"], $db))
+                       return 0;
+       }
+       return $db;
+}
+
+function db_drop_db($connection)
+{
+
+       if ($connection["tbpref"] == "")
+       {
+               $sql = "DROP DATABASE " . $connection["dbname"] . "";
+               return mysql_query($sql);
+       }
+       else
+       {
+       $res = db_query("show table status");
+       $all_tables = array();
+       while($row = db_fetch($res))
+               $all_tables[] = $row;
+        // get table structures
+               foreach ($all_tables as $table)
+               {
+                       if (strpos($table['Name'], $connection["tbpref"]) === 0)
+                               db_query("DROP TABLE `".$table['Name'] . "`");
+               }
+               //deleting the tables, how??
+               return true;
+       }
+}
+
+?>
\ No newline at end of file
index 9e414affa9de45f4547dfa65a55fdbefa72a6498..1629c47a000aeb7a9fd90a1033a1258a644afb83 100644 (file)
@@ -159,11 +159,11 @@ class db_pager {
                        $c = 0;
                  // add result field names to column defs for 
                  // col value retrieve and sort purposes 
-                  $cnt = min(mysql_num_fields($result), count($this->columns));
+                  $cnt = min(db_num_fields($result), count($this->columns));
                        for ($c = $i = 0; $c < $cnt; $c++) {
                                if (!(isset($this->columns[$c]['insert']) && $this->columns[$c]['insert'])) {
 //                                     if (!@($this->columns[$c]['type']=='skip'))
-                                               $this->columns[$c]['name']= mysql_field_name($result, $i);
+                                               $this->columns[$c]['name']= db_field_name($result, $i);
                                        if (!@($this->columns[$c]['type']=='insert'))
                                        $i++;
                                        }
index 2b43068dafb95adc936542e6b0ac39ecdf1f8ef0..590b5b4d0672d7a16d225f923bd8602ac6ad994f 100644 (file)
@@ -117,24 +117,12 @@ function install_connect_db() {
        global $db;
 
        $conn = $_SESSION['inst_set'];
-       
-       $db = mysql_connect($conn["host"] , $conn["dbuser"], $conn["dbpassword"]);
-       if(!$db) {
-               display_error('Cannot connect to database server. Host name, username and/or password incorrect.');
-               return false;
-       }
-       if (!defined('TB_PREF'))
-               define('TB_PREF', '&TB_PREF&');
 
-       if (!mysql_select_db($conn["dbname"], $db)) {
-               $sql = "CREATE DATABASE " . $conn["dbname"];
-               if (!mysql_query($sql)) {
-                       display_error('Cannot create database. Check your permissions to database creation or selct already created database.');
-                       return false;
-               }
-               return mysql_select_db($conn["dbname"], $db);
+       $db = db_create_db($conn);
+       if (!$db) {
+               display_error(_("Cannot connect to database. User or password is invalid or you have no permittions to create database."));
        }
-       return true;
+       return $db;
 }
 
 function do_install() {