From cf941ae99da318ea8ee2aac11eaa68cc56405293 Mon Sep 17 00:00:00 2001 From: Nik Okuntseff Date: Sun, 17 Jul 2016 22:06:20 +0000 Subject: [PATCH] Put environment checks into dbinstall.php. --- WEB-INF/templates/footer.tpl | 2 +- dbinstall.php | 86 ++++++++++++++++++++++++++ environment_check.php | 114 ----------------------------------- 3 files changed, 87 insertions(+), 115 deletions(-) delete mode 100644 environment_check.php diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index 9c9dc5f2..4fdd3c26 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
-
 Anuko Time Tracker 1.9.25.3500 | Copyright © Anuko | +  Anuko Time Tracker 1.9.25.3501 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/dbinstall.php b/dbinstall.php index 39c967ae..b35d3524 100644 --- a/dbinstall.php +++ b/dbinstall.php @@ -42,6 +42,92 @@ function setChange($sql) { print "successful update
\n"; } +if (!$request->isPost()) { + echo('

Environment check

'); + + // Require the configuration file with application settings. + if (file_exists(APP_DIR."/WEB-INF/config.php")) { + echo('WEB-INF/config.php file exists.
'); + } else { + echo('Error: WEB-INF/config.php file does not exist.
'); + } + + // Check whether DSN is defined. + if (defined('DSN')) { + // echo('DSN is defined as '.DSN.'
'); + echo('DSN is defined.
'); + } else { + echo('Error: DSN value is not defined. Check your config.php file.
'); + } + + // Depending on DSN, require either mysqli or mysql extensions. + if (strrpos(DSN, 'mysqli://', -strlen(DSN)) !== FALSE) { + if (extension_loaded('mysqli')) { + echo('mysqli PHP extension is loaded.
'); + } else { + echo('Error: mysqli PHP extension is required but is not loaded.
'); + } + } + if (strrpos(DSN, 'mysql://', -strlen(DSN)) !== FALSE) { + if (extension_loaded('mysql')) { + echo('mysql PHP extension is loaded.
'); + } else { + echo('Error: mysql PHP extension is required but is not loaded.
'); + } + } + + // Check mbstring extension. + if (extension_loaded('mbstring')) { + echo('mbstring PHP extension is loaded.
'); + } else { + echo('Error: mbstring PHP extension is not loaded.
'); + } + + // Check gd extension. + if (extension_loaded('gd')) { + echo('gd PHP extension is loaded.
'); + } else { + echo('Error: gd PHP extension is not loaded. It is required for charts plugin.
'); + } + + // Check ldap extension. + if (AUTH_MODULE == 'ldap') { + if (extension_loaded('ldap_')) { + echo('ldap PHP extension is loaded.
'); + } else { + echo('Error: ldap PHP extension is not loaded. It is required for LDAP authentication.
'); + } + } + + // Check database access. + require_once('MDB2.php'); + $conn = MDB2::connect(DSN); + if (!is_a($conn, 'MDB2_Error')) { + echo('Connection to database successful.
'); + } else { + die('Error: connection to database failed. '.$conn->getMessage().'
'); + } + + $conn->setOption('debug', true); + $conn->setFetchMode(MDB2_FETCHMODE_ASSOC); + + $sql = "show tables"; + $res = $conn->query($sql); + if (is_a($res, 'MDB2_Error')) { + die('Error: show tables returned an error. '.$res->getMessage().'
'); + } + $tblCnt = 0; + while ($val = $res->fetchRow()) { + $tblCnt++; + } + if ($tblCnt > 0) { + echo("There are $tblCnt tables in database.
"); + } else { + echo('There are no tables in database. Execute step 1 - Create database structure.
'); + } + $conn->disconnect(); +} + if ($_POST) { print "Processing...
\n"; diff --git a/environment_check.php b/environment_check.php deleted file mode 100644 index 1333cc50..00000000 --- a/environment_check.php +++ /dev/null @@ -1,114 +0,0 @@ -Environment check'); - -// Require the configuration file with application settings. -if (file_exists(APP_DIR."/WEB-INF/config.php")) { - echo('WEB-INF/config.php file exists.
'); -} else { - echo('Error: WEB-INF/config.php file does not exist.
'); -} - -// Check whether DSN is defined. -if (defined('DSN')) { - echo('DSN is defined as '.DSN.'
'); -} else { - echo('Error: DSN value is not defined. Check your config.php file.
'); -} - -// Depending on DSN, require either mysqli or mysql extensions. -if (strrpos(DSN, 'mysqli://', -strlen(DSN)) !== FALSE) { - if (extension_loaded('mysqli')) { - echo('mysqli PHP extension is loaded.
'); - } else { - echo('Error: mysqli PHP extension is required but is not loaded.
'); - } -} -if (strrpos(DSN, 'mysql://', -strlen(DSN)) !== FALSE) { - if (extension_loaded('mysql')) { - echo('mysql PHP extension is loaded.
'); - } else { - echo('Error: mysql PHP extension is required but is not loaded.
'); - } -} - -// Check mbstring extension. -if (extension_loaded('mbstring')) { - echo('mbstring PHP extension is loaded.
'); -} else { - echo('Error: mbstring PHP extension is not loaded.
'); -} - -// Check gd extension. -if (extension_loaded('gd')) { - echo('gd PHP extension is loaded.
'); -} else { - echo('Error: gd PHP extension is not loaded. It is required for charts plugin.
'); -} - -// Check ldap extension. -if (AUTH_MODULE == 'ldap') { - if (extension_loaded('ldap_')) { - echo('ldap PHP extension is loaded.
'); - } else { - echo('Error: ldap PHP extension is not loaded. It is required for LDAP authentication.
'); - } -} - -// Check database access. -require_once('MDB2.php'); -$conn = MDB2::connect(DSN); -if (!is_a($conn, 'MDB2_Error')) { - echo('Connection to database successful.
'); -} else { - die('Error: connection to database failed. '.$conn->getMessage().'
'); -} - -$conn->setOption('debug', true); -$conn->setFetchMode(MDB2_FETCHMODE_ASSOC); - -$sql = "show tables"; -$res = $conn->query($sql); -if (is_a($res, 'MDB2_Error')) { - die('Error: show tables returned an error. '.$res->getMessage().'
'); -} -$tblCnt = 0; -while ($val = $res->fetchRow()) { - $tblCnt++; -} -if ($tblCnt > 0) { - echo("There are $tblCnt tables in database.
"); -} else { - echo('Error: there are no tables in database. Use dbinstall.php.
'); -} -$conn->disconnect(); -- 2.20.1