diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-07 08:56:18 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-07 08:56:18 +0000 |
| commit | 23bdb608fe93cf4a98683dae0a09fcca30aa9d1d (patch) | |
| tree | fa3b2460d754189c42780f7da474fb6599240856 /frontends/php/include/db.inc.php | |
| parent | dda9501aff9b7293055eee1a8c769068d3701ad7 (diff) | |
| download | zabbix-23bdb608fe93cf4a98683dae0a09fcca30aa9d1d.tar.gz zabbix-23bdb608fe93cf4a98683dae0a09fcca30aa9d1d.tar.xz zabbix-23bdb608fe93cf4a98683dae0a09fcca30aa9d1d.zip | |
- developed frontend installation wizard (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@3434 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include/db.inc.php')
| -rw-r--r-- | frontends/php/include/db.inc.php | 134 |
1 files changed, 95 insertions, 39 deletions
diff --git a/frontends/php/include/db.inc.php b/frontends/php/include/db.inc.php index 000c14fb..8be2f932 100644 --- a/frontends/php/include/db.inc.php +++ b/frontends/php/include/db.inc.php @@ -19,52 +19,113 @@ **/ ?> <?php + function DBconnect(&$error) + { + $result = true; + + global $DB, $DB_TYPE, $DB_SERVER, $DB_DATABASE, $DB_USER, $DB_PASSWORD; -// DATABASE CONFIGURATION - -// $DB_TYPE ="ORACLE"; -// $DB_TYPE ="POSTGRESQL"; - $DB_TYPE ="MYSQL"; - $DB_SERVER ="localhost"; - $DB_DATABASE ="osmiy1"; - $DB_USER ="root"; - $DB_PASSWORD =""; -// END OF DATABASE CONFIGURATION + if(!isset($DB_TYPE)) + { + $error = "Uncnown database type."; + $result = false; + } + else + { + if($DB_TYPE == "MYSQL") + { + $DB = mysql_pconnect($DB_SERVER,$DB_USER,$DB_PASSWORD); + if(!mysql_select_db($DB_DATABASE)) + { + $error = "Error connecting to database [".mysql_error()."]"; + $result = false; + } + else + { + mysql_select_db($DB_DATABASE); + } + } + if($DB_TYPE == "POSTGRESQL") + { + $DB=pg_pconnect("host='$DB_SERVER' dbname='$DB_DATABASE' user='$DB_USER' password='$DB_PASSWORD'"); + if(!$DB) + { + $error = "Error connecting to database"; + $result = false; + } + } - global $USER_DETAILS; + if($DB_TYPE == "ORACLE") + { + $DB = ocilogon($DB_USER, $DB_PASSWORD, ""); + // $DB = ocilogon($DB_USER, $DB_PASSWORD, "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$DB_SERVER)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=$DB_DATABASE)))"); + if(!$DB) + { + $error = "Error connecting to database"; + $result = false; + } + } + } + return $result; + } - if($DB_TYPE == "MYSQL") + function DBclose() { - $DB=mysql_pconnect($DB_SERVER,$DB_USER,$DB_PASSWORD); - if(!mysql_select_db($DB_DATABASE)) + global $DB, $DB_TYPE, $DB_SERVER, $DB_DATABASE, $DB_USER, $DB_PASSWORD; + + $result = false; + + if($DB) { - echo "Error connecting to database [".mysql_error()."]"; - exit; + if($DB_TYPE == "MYSQL") $result = mysql_close($DB); + elseif($DB_TYPE == "POSTGRESQL") $result = pg_close($DB); + elseif($DB_TYPE == "ORACLE") $result = ociclose($DB); } - mysql_select_db($DB_DATABASE); + unset( + $GLOBALS['DB'], + $GLOBALS['DB_TYPE'], + $GLOBALS['DB_SERVER'], + $GLOBALS['DB_DATABASE'], + $GLOBALS['DB_USER'], + $GLOBALS['DB_PASSWORD'] + ); + + + return $result; } - if($DB_TYPE == "POSTGRESQL") + + function DBloadfile($file, &$error) { - $DB=pg_pconnect("host='$DB_SERVER' dbname='$DB_DATABASE' user='$DB_USER' password='$DB_PASSWORD'"); - if(!$DB) + global $DB_TYPE; + + if(!file_exists($file)) { - echo "Error connecting to database"; - exit; + $error = 'DBloadfile. Missing file['.$file.']'; + return false; } - } + + $fl = file($file); + + foreach($fl as $n => $l) if(substr($l,0,2)=='--') unset($fl[$n]); + + $fl = explode(";\n", implode("\n",$fl)); + unset($fl[count($fl)-1]); + + $result = true; - if($DB_TYPE == "ORACLE") - { - $DB = ocilogon($DB_USER, $DB_PASSWORD, ""); -// $DB = ocilogon($DB_USER, $DB_PASSWORD, "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$DB_SERVER)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=$DB_DATABASE)))"); - if(!$DB) + foreach($fl as $sql) { - echo "Error connecting to database"; - exit; + if(empty($sql)) continue; + + if(!DBexecute($sql,0)) + { + $error = ''; + return false; + } } + return true; } - function DBstart() { /* TODO *//* start transaction */ @@ -103,7 +164,6 @@ { global $DB,$DB_TYPE; -// echo $query,"<br>"; COpt::savesqlrequest($query); if($DB_TYPE == "MYSQL") @@ -115,7 +175,7 @@ COpt::savesqlrequest($query); $result=mysql_query($query,$DB); if(!$result) { - echo "Error in query [$query] [".mysql_error()."]"; + error("Error in query [$query] [".mysql_error()."]"); } return $result; } @@ -155,7 +215,6 @@ COpt::savesqlrequest($query); { global $DB,$DB_TYPE; -// echo $query,"<br>"; COpt::savesqlrequest($query); $result = FALSE; @@ -201,7 +260,6 @@ COpt::savesqlrequest($query); } if($DB_TYPE == "ORACLE") { -// echo "DBfetch<br>"; if(!ocifetchinto($cursor, $row, OCI_ASSOC+OCI_NUM+OCI_RETURN_NULLS)) { return FALSE; @@ -235,8 +293,7 @@ COpt::savesqlrequest($query); $row=pg_fetch_row($result,$rownum); if(!$row) { - echo "Error getting row"; - exit; + fatal_error("Error getting row"); } return $row[$fieldnum]; } @@ -258,7 +315,6 @@ COpt::savesqlrequest($query); if($DB_TYPE == "POSTGRESQL") { $oid=pg_getlastoid($result); -// echo "OID:$oid<br>"; $sql="select $field from $table where oid=$oid"; $result=DBselect($sql); return get_field($result,0,0); @@ -279,7 +335,7 @@ COpt::savesqlrequest($query); } /* string value prepearing */ -if($DB_TYPE == "ORACLE") { +if(isset($DB_TYPE) && $DB_TYPE == "ORACLE") { function zbx_dbstr($var) { return "'".ereg_replace('\'','\'\'',$var)."'"; } |
