Add view (WIP), add variable for DB type
This commit is contained in:
parent
7caa507600
commit
724e10fbc4
|
|
@ -52,3 +52,11 @@ CREATE TABLE `Status` (
|
||||||
`Text` text NOT NULL,
|
`Text` text NOT NULL,
|
||||||
PRIMARY KEY (`StatusID`)
|
PRIMARY KEY (`StatusID`)
|
||||||
);
|
);
|
||||||
|
DROP VIEW IF EXISTS `SchichtUebersicht`;
|
||||||
|
CREATE VIEW `SchichtUebersicht` AS SELECT
|
||||||
|
`Schicht`.`DienstID` AS `DienstID`,
|
||||||
|
`Schicht`.`SchichtID` AS `SchichtID`,
|
||||||
|
`Schicht`.`Von` AS `Von`,`Schicht`.
|
||||||
|
`Bis` AS `Bis`,
|
||||||
|
count(`EinzelSchicht`.`SchichtID`) AS `C`,
|
||||||
|
`Schicht`.`Soll` AS `Soll` FROM (`Schicht` LEFT JOIN `EinzelSchicht` ON(`Schicht`.`SchichtID` = `EinzelSchicht`.`SchichtID`)) GROUP BY `Schicht`.`SchichtID`;
|
||||||
|
|
|
||||||
|
|
@ -52,3 +52,11 @@ CREATE TABLE `Status` (
|
||||||
`Text` text NOT NULL,
|
`Text` text NOT NULL,
|
||||||
PRIMARY KEY (`StatusID`)
|
PRIMARY KEY (`StatusID`)
|
||||||
);
|
);
|
||||||
|
DROP VIEW IF EXISTS `SchichtUebersicht`;
|
||||||
|
CREATE VIEW `SchichtUebersicht` AS SELECT
|
||||||
|
`Schicht`.`DienstID` AS `DienstID`,
|
||||||
|
`Schicht`.`SchichtID` AS `SchichtID`,
|
||||||
|
`Schicht`.`Von` AS `Von`,`Schicht`.
|
||||||
|
`Bis` AS `Bis`,
|
||||||
|
count(`EinzelSchicht`.`SchichtID`) AS `C`,
|
||||||
|
`Schicht`.`Soll` AS `Soll` FROM (`Schicht` LEFT JOIN `EinzelSchicht` ON(`Schicht`.`SchichtID` = `EinzelSchicht`.`SchichtID`)) GROUP BY `Schicht`.`SchichtID`;
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,12 @@ class DB {
|
||||||
{
|
{
|
||||||
if(self::$instance == null){
|
if(self::$instance == null){
|
||||||
self::$instance = new DB();
|
self::$instance = new DB();
|
||||||
|
if(DBTYPE === 'mariadb'){
|
||||||
// Set database to german (FIXME should be configurable)
|
// Set database to german (FIXME should be configurable)
|
||||||
self::prepare(__METHOD__,"SET lc_time_names = 'de_DE'");
|
self::prepare(__METHOD__,"SET lc_time_names = 'de_DE'");
|
||||||
self::execute(__METHOD__);
|
self::execute(__METHOD__);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return self::$instance;
|
return self::$instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -269,7 +271,8 @@ function AlleSchichten($Sort, $HelferLevel = 1)
|
||||||
$db->onErrorDie(__METHOD__,'sort_by_was_von');
|
$db->onErrorDie(__METHOD__,'sort_by_was_von');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $db_erg;
|
$schichten = $db->fetchAll(__METHOD__);
|
||||||
|
return $schichten;
|
||||||
}
|
}
|
||||||
|
|
||||||
function AlleSchichtenCount($HelferLevel = 1)
|
function AlleSchichtenCount($HelferLevel = 1)
|
||||||
|
|
|
||||||
|
|
@ -191,8 +191,9 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1)
|
||||||
die('Ungueltige Abfrage: ' . mysqli_error($db_link));
|
die('Ungueltige Abfrage: ' . mysqli_error($db_link));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while($zeilen[] = mysqli_fetch_array($db_erg, MYSQLI_ASSOC));
|
||||||
return $db_erg;
|
array_pop($zeilen);
|
||||||
|
return $zeilen;
|
||||||
}
|
}
|
||||||
|
|
||||||
function AlleSchichtenCount($db_link, $HelferLevel = 1)
|
function AlleSchichtenCount($db_link, $HelferLevel = 1)
|
||||||
|
|
|
||||||
|
|
@ -36,15 +36,18 @@ $wizard->addCode('createdatabase',function($storedvariables){
|
||||||
fwrite($conf_file, "<?php\n");
|
fwrite($conf_file, "<?php\n");
|
||||||
if($storedvariables['selectdatabase']['databasetype'] == 'SQLite'){
|
if($storedvariables['selectdatabase']['databasetype'] == 'SQLite'){
|
||||||
fwrite($conf_file, "define( 'MYSQL_DSN', 'sqlite:". realpath("..") . "/helferdb.sqlite3' );\n");
|
fwrite($conf_file, "define( 'MYSQL_DSN', 'sqlite:". realpath("..") . "/helferdb.sqlite3' );\n");
|
||||||
|
fwrite($conf_file, "define( 'MYSQL_HOST', '' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_BENUTZER', '' );\n");
|
fwrite($conf_file, "define( 'MYSQL_BENUTZER', '' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_KENNWORT', '' );\n");
|
fwrite($conf_file, "define( 'MYSQL_KENNWORT', '' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_DATENBANK', '' );\n");
|
fwrite($conf_file, "define( 'MYSQL_DATENBANK', '' );\n");
|
||||||
|
fwrite($conf_file, "define( 'DBTYPE', 'sqlite');\n");
|
||||||
} elseif ($storedvariables['selectdatabase']['databasetype'] == 'MariaDB'){
|
} elseif ($storedvariables['selectdatabase']['databasetype'] == 'MariaDB'){
|
||||||
fwrite($conf_file, "define( 'MYSQL_DSN', 'mysql:host=" . $storedvariables['enterlogindata']['host'] . ";dbname=". $storedvariables['enterlogindata']['dbname'] . ";charset=utf8mb4' );\n");
|
fwrite($conf_file, "define( 'MYSQL_DSN', 'mysql:host=" . $storedvariables['enterlogindata']['host'] . ";dbname=". $storedvariables['enterlogindata']['dbname'] . ";charset=utf8mb4' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_HOST', '".$storedvariables['enterlogindata']['host']."' );\n");
|
fwrite($conf_file, "define( 'MYSQL_HOST', '".$storedvariables['enterlogindata']['host']."' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_BENUTZER', '".$storedvariables['enterlogindata']['user']."' );\n");
|
fwrite($conf_file, "define( 'MYSQL_BENUTZER', '".$storedvariables['enterlogindata']['user']."' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_KENNWORT', '".$storedvariables['enterlogindata']['password']."' );\n");
|
fwrite($conf_file, "define( 'MYSQL_KENNWORT', '".$storedvariables['enterlogindata']['password']."' );\n");
|
||||||
fwrite($conf_file, "define( 'MYSQL_DATENBANK', '".$storedvariables['enterlogindata']['dbname']."' );\n");
|
fwrite($conf_file, "define( 'MYSQL_DATENBANK', '".$storedvariables['enterlogindata']['dbname']."' );\n");
|
||||||
|
fwrite($conf_file, "define( 'DBTYPE', 'mariadb');\n");
|
||||||
}
|
}
|
||||||
fwrite($conf_file, "define( 'LOGFILE', '".$storedvariables['basedata']['logfile']."' );\n");
|
fwrite($conf_file, "define( 'LOGFILE', '".$storedvariables['basedata']['logfile']."' );\n");
|
||||||
fwrite($conf_file, "define( 'EVENTNAME', '".$storedvariables['basedata']['eventname']."' );\n");
|
fwrite($conf_file, "define( 'EVENTNAME', '".$storedvariables['basedata']['eventname']."' );\n");
|
||||||
|
|
|
||||||
|
|
@ -160,8 +160,11 @@ function TestHelferdatenAendern(){
|
||||||
|
|
||||||
function TestAlleSchichten(){
|
function TestAlleSchichten(){
|
||||||
$dbl = old\ConnectDB();
|
$dbl = old\ConnectDB();
|
||||||
$erg_old = old\AlleSchichten($dbl, $Sort, $HelferLevel = 1);
|
$erg_old = old\AlleSchichten($dbl, 1, 2);
|
||||||
$erg_new = AlleSchichten($Sort, $HelferLevel = 1);
|
var_dump($erg_old);
|
||||||
|
$erg_new = AlleSchichten(1, 2);
|
||||||
|
var_dump($erg_new);
|
||||||
|
die("Test");
|
||||||
if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){
|
if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){
|
||||||
echo "Old AlleSchichten returns".var_export($erg_old, true)."\n";
|
echo "Old AlleSchichten returns".var_export($erg_old, true)."\n";
|
||||||
echo "New AlleSchichten returns '".var_export($erg_new, true)."'\n";
|
echo "New AlleSchichten returns '".var_export($erg_new, true)."'\n";
|
||||||
|
|
@ -553,4 +556,5 @@ TestNewSchicht();
|
||||||
TestGetSchichtenEinesDienstes();
|
TestGetSchichtenEinesDienstes();
|
||||||
TestChangeSchicht();
|
TestChangeSchicht();
|
||||||
TestGetSchichtenForDienstForDay();
|
TestGetSchichtenForDienstForDay();
|
||||||
|
TestAlleSchichten();
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue