%PDF- %PDF-
Direktori : /var/softaculous/humogen/ |
Current File : //var/softaculous/humogen/db_login.php |
<?php // *** To make HuMo-genealogy work, fill these lines properly! *** // *** Om HuMo-genealogy werkend te krijgen onderstaande regels GOED invullen! *** define("DATABASE_HOST", '[[softdbhost]]'); define("DATABASE_USERNAME", '[[softdbuser]]'); define("DATABASE_PASSWORD", '[[softdbpass]]'); define("DATABASE_NAME", '[[softdb]]'); // *** Needed for Docker *** $DATABASE_HOST= ''; $DATABASE_USERNAME=''; $DATABASE_PASSWORD=''; $DATABASE_NAME= ''; $USE_ENV_FOR_DB= true; // *** DON'T CHANGE ANYTHING BELOW THIS LINE! *** // *** HIERONDER NIETS WIJZIGEN! *** // *** Check if PDO driver is available *** if (!defined('PDO::ATTR_DRIVER_NAME')) { echo '<html> <header><title>ERROR</title><body> <h2>ERROR: The PDO driver is unavailable!</h2> Possible solutions:<br><br> 1) Update PHP to 7.x<br> 2) Check if the PDO driver is enabled.<br> 3) If the PDO driver is enabled but you receive this message from the Admin screen, try adding these three lines to the admin/php.ini file:<br> extension=pdo.so<br> extension=pdo_sqlite.so<br> extension=pdo_mysql.so<br> <p>If it\'s not possible to use PDO, you have to downgrade to HuMo-genealogy 4.9.4!<br> 1) Download HuMo-genealogy 4.9.4 at: <a href="https://sourceforge.net/projects/humo-gen/files">Sourceforge</a><br> 2) Follow <a href="https://sourceforge.net/projects/humo-gen/files/HuMo-gen_Manual/">HuMo-gen installation</a> instructions. </body></html> '; exit(); } // *** Override the database connection values with environment variables *** $temp_db_value = getenv("MYSQL_DATABASE", true); if ($USE_ENV_FOR_DB && $temp_db_value != false && $temp_db_value != '') { $DATABASE_NAME=$temp_db_value; //$temp_db_value = getenv("MYSQL_HOST", true); //if ($USE_ENV_FOR_DB && $temp_db_value != false && $temp_db_value != '') { // $DATABASE_HOST=$temp_db_value; $DATABASE_HOST='mariadb'; $temp_db_value = getenv("MYSQL_USER", true); if ($USE_ENV_FOR_DB && $temp_db_value != false && $temp_db_value != '') { $DATABASE_USERNAME=$temp_db_value; } $temp_db_value = getenv("MYSQL_PASSWORD", true); if ($USE_ENV_FOR_DB && $temp_db_value != false && $temp_db_value != '') { $DATABASE_PASSWORD=$temp_db_value; } // *** Open database using PDO ** $conn = 'mysql:host='.$DATABASE_HOST.';dbname='.$DATABASE_NAME.';charset=utf8'; try { $dbh = new PDO($conn,$DATABASE_USERNAME,$DATABASE_PASSWORD); @$database_check=1; } catch (PDOException $e) { unset($database_check); if(!isset($ADMIN)) { echo '<br><font color=red><b> Database is not yet installed! Possible problems:<br> - Login file not yet configured.<br> - Database not yet installed.<br> Go to the <a href="admin">administration area</a> to solve this problem. <p>De database is nog niet bereikbaar! Mogelijke oorzaken:<br> - Het login bestand is niet goed ingevuld.<br> - De database is nog niet gemaakt.<br> Ga naar het <a href="admin">administratie scherm</a> om dit probleem op te lossen. </b></font>'; exit(); } } } else{ // *** Open database using PDO ** //$conn = 'mysql:host='.DATABASE_HOST.';dbname='.DATABASE_NAME; $conn = 'mysql:host='.DATABASE_HOST.';dbname='.DATABASE_NAME.';charset=utf8'; try { //$dbh = new PDO($conn,DATABASE_USERNAME,DATABASE_PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $dbh = new PDO($conn,DATABASE_USERNAME,DATABASE_PASSWORD); @$database_check=1; } catch (PDOException $e) { unset($database_check); //echo $e->getMessage() . "<br/>"; if(!isset($ADMIN)) { echo '<br><font color=red><b> Database is not yet installed! Possible problems:<br> - Login file not yet configured.<br> - Database not yet installed.<br> Go to the <a href="admin">administration area</a> to solve this problem. <p>De database is nog niet bereikbaar! Mogelijke oorzaken:<br> - Het login bestand is niet goed ingevuld.<br> - De database is nog niet gemaakt.<br> Ga naar het <a href="admin">administratie scherm</a> om dit probleem op te lossen. </b></font>'; exit(); } } } if (isset($database_check) and $database_check == 1) { // TODO improve genealogical dates in database, then remove this code. // *** Added in mar. 2022: disable NO_ZERO_DATE and NO_ZERO_IN_DATE. To solve sorting problems in genealogical dates. *** $dbh->query("SET SESSION sql_mode=(SELECT REPLACE( REPLACE(@@SESSION.sql_mode,'NO_ZERO_DATE','') ,'NO_ZERO_IN_DATE',''));"); // TODO improve queries, then remove this code. // *** Added in mar. 2023. To prevent double results in search results *** $dbh->query("SET SESSION sql_mode=(SELECT REPLACE( REPLACE(@@SESSION.sql_mode,'ONLY_FULL_GROUP_BY','') ,'NO_ZERO_IN_DATE',''));"); }