Commit 32aae58c authored by Gerd Schachtschneider's avatar Gerd Schachtschneider
Browse files

update mysql/mssql driver, php7

parent 5fc28954
......@@ -8,11 +8,11 @@
;
title = "Gefahrenmerkmale"
#debug = 1
;debug = 1
default_language = de
#default_browse_action = edit
#default_table = mpi_users#
#usage_mode = edit
;default_browse_action = edit
;default_table = mpi_users#
;usage_mode = edit
disable_session_ip_check = 1
disable_g2 = 1
......@@ -29,11 +29,12 @@ host = "localhost"
user = "mpg_gfk"
password = "Z8XwcFJmxepr4KL9"
name = "mpidb_mpg_gfk"
driver = "mysqli"
[_own]
dn = "mpi-magdeburg.mpg.de"
notify = 30
version = 1.0.03
version = 1.0.04
mailto = "db-responsable@<domain>.mpg.de"
mailname = "db-admin"
......@@ -49,11 +50,11 @@ list_reiter = "mehr .."
users_table = "mpi_users"
username_column = "username"
session_timeout = 86400
# Autorisierung ueber db
; Autorisierung ueber db
auth_type = basic
password_column = "password"
# Autorisierung ueber ldap
#auth_type = ldap
; Autorisierung ueber ldap
;auth_type = ldap
ldap_host = "ldap"
ldap_port = "389"
ldap_base = "dc=mpi-magdeburg,dc=mpg,dc=de"
......@@ -61,7 +62,7 @@ ldap_base = "dc=mpi-magdeburg,dc=mpg,dc=de"
[_prefs]
hide_updated = 0
hide_posted_by = 1
#horizontal_tables_menu = 1
;horizontal_tables_menu = 1
[history]
enabled = 1
......
......@@ -3,51 +3,54 @@
// Cronjob Skript fuer Aktionen ausserhalb der DB
// z.B. Mailbenachrichtigung, Loeschen verwaister Ablagen etc.
// Beispiele folgend
// schachi 2016-02-15
// schachi 2016-06-09
// stelle sicher das dieses Skript in einem Subdir liegt, normalerweise im Ordner cronjobs, sonst gibt es kausale Problem :-(
chdir(__DIR__);
chdir('../');
//print_r (realpath(__DIR__).' '.getcwd()."\n");
if (!is_readable('conf.ini') ) die ('Error loading config file from here '.getcwd()."\n");
$conf = array();
// $conf = array_merge(parse_ini_file('conf.ini', true), $conf);
$conf = parse_ini_file('conf.ini', true);
if ( !isset( $conf['_database'] ) ) {
die ('Error loading config file. No database specified.');
}
//print_r ($conf);
if ( !isset( $conf['_database'] ) ) die ('Error loading config file. No database specified.');
$dbinfo =& $conf['_database'];
//print_r ($dbinfo['host'].' '.$dbinfo['user'].' '.$dbinfo['password']);
if ( !is_array( $dbinfo ) || !isset($dbinfo['host']) || !isset( $dbinfo['user'] ) || !isset( $dbinfo['password'] ) || !isset( $dbinfo['name'] ) ) {
die ('Error loading config file. The database information was not entered correctly.');
}
if ( @$dbinfo['persistent'] ) {
$db = mysql_pconnect( $dbinfo['host'], $dbinfo['user'], $dbinfo['password'] );
} else {
$db = mysql_connect( $dbinfo['host'], $dbinfo['user'], $dbinfo['password'] );
}
if ( !$db ) {
die ('Error connecting to the database' . mysql_error());
}
$mysqlVersion = mysql_get_server_info($db);
mysql_select_db( $dbinfo['name'] ) or die("Could not select DB: ".mysql_error($db));
$db = mysqli_connect($dbinfo['host'], $dbinfo['user'], $dbinfo['password'], $dbinfo['name'] );
if ( !$db ) die ('Failed to connect to MySQL database: '.mysqli_connect_error()."\n");
$debug = 0; // 1 = ausgabe und keine Mail an User
$mailto = 0; // 0 = keine Mail an Debugger
//$mailto = 'schachi@mpi-magdeburg.mpg.de';
// url
$url = 'http';
if ( isset($conf['_own']['ssl'])) {
if ($conf['_own']['ssl'] == 1) $url = 'https';
}
$path = (basename(realpath('./')));
$host = shell_exec("hostname -f | tr -d '\n'");
$url = $url.'://'.$host.'/'.$path;
if ($debug) print_r($url."\n");
// loesche alle <table>__history, welche nicht erwuenscht sind
// Xataface hat nur einen globalen Schalter ON/OFF fuer history, aber wer braucht denn alle histories?
$sql = "SELECT reiter FROM view_reiter WHERE reiter IN (SELECT CONCAT(lst.reiter, '__history') AS table_his FROM list_reiter AS lst LEFT JOIN view_reiter AS vReit ON lst.reiter = vReit.reiter WHERE lst.history = '0' AND vReit.table_type = 'BASE TABLE' AND lst.reiter NOT LIKE '%__history') AND table_type = 'BASE TABLE';";
$query = mysql_query($sql) or die(mysql_error());
$count = mysql_num_rows($query);
$result = mysqli_query($db, $sql) OR die ('Query failed: '.mysqli_connect_error()."\n");
$count = mysqli_num_rows($result);
if ( $count >= 1 ) {
while($row = mysql_fetch_assoc($query)) {
while($row = mysqli_fetch_assoc($result)) {
$table = $row['reiter'];
$sql = "DROP TABLE IF EXISTS $table;";
//echo $sql."\n";
mysql_query($sql) or die(mysql_error($db));
$sql = "DROP TABLE IF EXISTS $table;";
if ($debug) echo "$sql\n";
mysqli_query($db, $sql) OR die ('Query failed: '.mysqli_connect_error()."\n");
}
}
mysql_close($db);
mysqli_close($db);
?>
......@@ -3,7 +3,7 @@
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: May 31, 2016 at 09:51 AM
-- Generation Time: Jun 09, 2016 at 11:48 AM
-- Server version: 5.5.49-0ubuntu0.14.04.1-log
-- PHP Version: 5.5.9-1ubuntu4.17
......@@ -154,6 +154,21 @@ END IF;
END IF;
IF ( SELECT MAX(version) FROM dataface__version ) < '1004' THEN
TRUNCATE dataface__version;
INSERT INTO dataface__version (version) VALUES ('1004');
END IF;
END$$
DELIMITER ;
......@@ -196,6 +211,27 @@ CREATE TABLE IF NOT EXISTS `dataface__mtimes` (
PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Dumping data for table `dataface__mtimes`
--
INSERT INTO `dataface__mtimes` (`name`, `mtime`) VALUES
('dataface__failed_logins', 1465465646),
('dataface__modules', 1465465646),
('dataface__mtimes', 1465465646),
('dataface__version', 1465465646),
('list_gefahr', 1465465646),
('list_katReiter', 1465465646),
('list_lgk', 1465465646),
('list_reiter', 1465465646),
('mpi_users', 1465465646),
('view_ablageAll', 1465465646),
('view_chemAll', 1465465646),
('view_favorit', 1465465646),
('view_gefahr', 1465465646),
('view_reiter', 1465465646),
('view_user', 1465465646);
-- --------------------------------------------------------
--
......@@ -211,7 +247,7 @@ CREATE TABLE IF NOT EXISTS `dataface__version` (
--
INSERT INTO `dataface__version` (`version`) VALUES
(1003);
(1004);
-- --------------------------------------------------------
......
......@@ -135,6 +135,20 @@ END IF;
END IF;
-- CHANGES V1.0.04 - 2016-06-09
-- ****************************
-- fs::conf.ini - change comment # to ;
-- fs::cronjob - update to mysqli driver
IF ( SELECT MAX(version) FROM dataface__version ) < '1004' THEN
-- nur file version
TRUNCATE dataface__version;
INSERT INTO dataface__version (version) VALUES ('1004');
END IF;
END;
$$
......
# sortierung nach software, statt in index.php
; sortierung nach software, statt in index.php
__sql__ = "SELECT * FROM list_gefahr ORDER BY hsatz"
[__global__]
noLinkFromListView = 1
[autoID]
#widget:type = "hidden"
;widget:type = "hidden"
visibility:list = "hidden"
#visibility:browse = "hidden"
#visibility:find = "hidden"
;visibility:browse = "hidden"
;visibility:find = "hidden"
[kategorie]
widget:label = "Gefahrenklasse"
......@@ -29,7 +29,7 @@ vocabulary = cmr
filter = 1
[anweisung]
# Typ: tinyint(1)
; Typ: tinyint(1)
widget:type = checkbox
vocabulary = anweisung
widget:label = BA notwendig
......
......@@ -8,7 +8,7 @@ class tables_list_gefahr {
$mailto = $app->_conf['_own']['mailto'];
$mname = $app->_conf['_own']['mailname'];
$sql = "SELECT MAX(version) FROM dataface__version";
list($db_ver) = mysql_fetch_row(mysql_query($sql, df_db()));
list($db_ver) = xf_db_fetch_row(xf_db_query($sql, df_db()));
$db_ver = str_pad($db_ver, 4, 0, STR_PAD_LEFT);
$fs_rep = str_replace('.','',$fs_ver);
if ( $fs_rep == $db_ver )
......@@ -19,7 +19,7 @@ class tables_list_gefahr {
$app = Dataface_Application::getInstance();
$fs_ver = $app->_conf['_own']['version'];
$sql = "SELECT MAX(version) FROM dataface__version";
list($db_ver) = mysql_fetch_row(mysql_query($sql, df_db()));
list($db_ver) = xf_db_fetch_row(xf_db_query($sql, df_db()));
$db_ver = str_pad($db_ver, 4, 0, STR_PAD_LEFT);
$fs_rep = str_replace('.','',$fs_ver);
if ( $fs_rep != $db_ver ) {
......
......@@ -2,20 +2,20 @@
noLinkFromListView = 1
[autoID]
#widget:type = "hidden"
;widget:type = "hidden"
visibility:list = "hidden"
#visibility:browse = "hidden"
#visibility:find = "hidden"
;visibility:browse = "hidden"
;visibility:find = "hidden"
[lgk]
#noLinkFromListView = 0
;noLinkFromListView = 0
widget:label = "Lagerklasse"
[beschreibung]
widget:atts:size = 75
[priority]
#visibility:browse = "visible"
;visibility:browse = "visible"
widget:label = "Priorität"
widget:description = "Berechnung der gefährlichsten Lagerklasse. Setzbar von höchste 0 bis niegrigste 255"
validators:numeric = 1
......
# global valuelists.ini fuer gemeinsame verwendung verlinkt innerhalb tabellen
# meist steht immer daselbe in jeder valuelists
# Vorteil:
# eine aenderung fuer alle
# alles an einem ort
# alle haben dann die gleiche Programmierung
# bessere uebersicht
# wichtige erlaeuterungen in einer datei zusammengefasst
# Nachteil:
# man muss etwas aufpassen, weil aenderung dann alle betrifft
# nach aendeerung suchen wer es benutzt und alle testen
# einfaches loeschen geht nicht so schnell
# Syntax:
# individuelle vocabularies mit eigenen Namen oder bei Gleichheit vocabulary_<table>
# Suche:
# grep -ir 'vocabulary = <>' tables/*
# Wichtiges:
# - sort (ORDER BY) nicht fuer schnellfilter moeglich
# - das OTHER... hinter dem select, verschwindet wenn man diese sql's forumliert - wahrscheinlich wegen parser
# "SELECT IFNULL(field, '--') FROM list_table ORDER BY field"
# "SELECT tab.tabID, tab.name FROM view_pc AS tab ORDER BY tab.name"
# mittlerweile auch in php mit block_after moeglich
# Beispiele:
# Mehrfachbenutzung
##
## con_softInv
## mpi_install
## mpi_inventar
## sort_lizenzSoft
## view_invInst
## view_install
##
#[version]
#__sql__ = "SELECT verID, version FROM mpi_version ORDER BY orderID"
# Einzelbenutzung
##
## con_verLic
##
#[versionCon]
#__sql__ = "SELECT ver.verID, CONCAT(soft.software,' : ',ver.version) FROM mpi_version AS ver LEFT JOIN mpi_software AS soft ON ver.softID = soft.softID ORDER BY soft.software"
# BEGIN
#
# view_chemAll
#
; global valuelists.ini fuer gemeinsame verwendung verlinkt innerhalb tabellen
; meist steht immer daselbe in jeder valuelists
; Vorteil:
; eine aenderung fuer alle
; alles an einem ort
; alle haben dann die gleiche Programmierung
; bessere uebersicht
; wichtige erlaeuterungen in einer datei zusammengefasst
; Nachteil:
; man muss etwas aufpassen, weil aenderung dann alle betrifft
; nach aendeerung suchen wer es benutzt und alle testen
; einfaches loeschen geht nicht so schnell
; Syntax:
; individuelle vocabularies mit eigenen Namen oder bei Gleichheit vocabulary_<table>
; Suche:
; grep -ir 'vocabulary = <>' tables/*
; Wichtiges:
; - sort (ORDER BY) nicht fuer schnellfilter moeglich
; - das OTHER... hinter dem select, verschwindet wenn man diese sql's forumliert - wahrscheinlich wegen parser
; "SELECT IFNULL(field, '--') FROM list_table ORDER BY field"
; "SELECT tab.tabID, tab.name FROM view_pc AS tab ORDER BY tab.name"
; mittlerweile auch in php mit block_after moeglich
; Beispiele:
; Mehrfachbenutzung
;#
;# con_softInv
;# mpi_install
;# mpi_inventar
;# sort_lizenzSoft
;# view_invInst
;# view_install
;#
;[version]
;__sql__ = "SELECT verID, version FROM mpi_version ORDER BY orderID"
; Einzelbenutzung
;#
;# con_verLic
;#
;[versionCon]
;__sql__ = "SELECT ver.verID, CONCAT(soft.software,' : ',ver.version) FROM mpi_version AS ver LEFT JOIN mpi_software AS soft ON ver.softID = soft.softID ORDER BY soft.software"
; BEGIN
;
; view_chemAll
;
[vFilename]
__sql__ = "SELECT ablageID, filename FROM view_ablageAll"
#
# list_gefahr
#
;
; list_gefahr
;
[lagerklasse]
__sql__ = "SELECT lgk,CONCAT(lgk,' : ',beschreibung) from list_lgk"
# ENDE
; ENDE
......@@ -3,9 +3,9 @@ noLinkFromListView = 1
[ablageID]
Key = PRI
#widget:type = "hidden"
#visibility:list = "hidden"
#visibility:browse = "hidden"
;widget:type = "hidden"
;visibility:list = "hidden"
;visibility:browse = "hidden"
visibility:find = "hidden"
noLinkFromListView = 0
order = 1
......
-- sql file gleich genutzt fuer mpg_chem und mpg_gfk
-- fake version mpg_gfk auf sich selbst, also ohne mpg_chem
-- version alone
-- fake auf sich selbst, also ohne db_chem's
CREATE OR REPLACE VIEW view_chemAll AS
SELECT
'1' AS tabID,
......@@ -18,7 +18,7 @@ CREATE OR REPLACE VIEW view_chemAll AS
;
-- version mpg_chem bzw. auf sich selbst bzw. bei mpg_gfk auf mpg_chem
-- version mpg mit mpg_chem
-- entsprechend erweitern/anpassen, wenn mehr chemie-db's existieren
-- siehe Beispiel mpi-dcts (4db's) in ../tables/view_chemAll/view_chemAll.sql
CREATE OR REPLACE VIEW view_chemAll AS
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment