Skip to content

Commit

Permalink
Added Database version check to Admin Enviroment Check
Browse files Browse the repository at this point in the history
  • Loading branch information
eSilverStrike committed Dec 22, 2016
1 parent 258326c commit e7a137b
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 1 deletion.
7 changes: 7 additions & 0 deletions language/english.php
Expand Up @@ -747,6 +747,13 @@
'ok' => 'OK',
'on' => 'On',
'open_basedir' => 'If <strong>open_basedir</strong> restrictions are enabled on your site, it may cause permission problems during the install. The File System Check below should point out any issues.',
'database_settings' => 'Database Settings',
'database_mysql_version' => 'MySQL Version',
'database_mysql_req_version' => 'Geeklog requires MySQL version 4.1.2 or newer (MySQL 5 recommended).',
'database_pgsql_version' => 'Postgresql Version',
'database_pgsql_req_version' => 'Geeklog requires Postgresql version 9.1.7 or newer.',
'database_dms' => 'Database Management System',
'database_dms_notes' => 'Failed to determine Database Management System. Geeklog requires either MySQL or Postgresql',
'php_req_version' => 'Geeklog requires PHP version 5.3.3 or newer.',
'php_settings' => 'PHP Settings',
'php_version' => 'PHP Version',
Expand Down
7 changes: 7 additions & 0 deletions language/english_utf-8.php
Expand Up @@ -746,6 +746,13 @@
'off' => 'Off',
'ok' => 'OK',
'on' => 'On',
'database_settings' => 'Database Settings',
'database_mysql_version' => 'MySQL Version',
'database_mysql_req_version' => 'Geeklog requires MySQL version 4.1.2 or newer (MySQL 5 recommended).',
'database_pgsql_version' => 'Postgresql Version',
'database_pgsql_req_version' => 'Geeklog requires Postgresql version 9.1.7 or newer.',
'database_dms' => 'Database Management System',
'database_dms_notes' => 'Failed to determine Database Management System. Geeklog requires either MySQL or Postgresql',
'open_basedir' => 'If <strong>open_basedir</strong> restrictions are enabled on your site, it may cause permission problems during the install. The File System Check below should point out any issues.',
'php_req_version' => 'Geeklog requires PHP version 5.3.3 or newer.',
'php_settings' => 'PHP Settings',
Expand Down
7 changes: 7 additions & 0 deletions language/japanese_utf-8.php
Expand Up @@ -755,6 +755,13 @@
'ok' => 'OK',
'on' => 'On',
'open_basedir' => '<strong>open_basedir</strong> の制限がこのサイトで有効な場合、インストールの際にパーミッションで問題が起きるかもしれません。以下のファイルシステムチェックを行ってください。',
'database_settings' => 'Database Settings',
'database_mysql_version' => 'MySQL Version',
'database_mysql_req_version' => 'Geeklog requires MySQL version 4.1.2 or newer (MySQL 5 recommended).',
'database_pgsql_version' => 'Postgresql Version',
'database_pgsql_req_version' => 'Geeklog requires Postgresql version 9.1.7 or newer.',
'database_dms' => 'Database Management System',
'database_dms_notes' => 'Failed to determine Database Management System. Geeklog requires either MySQL or Postgresql',
'php_req_version' => 'GeeklogにはPHP version 5.3.3以降が必要です。',
'php_settings' => 'PHPの設定',
'php_version' => 'PHPのバージョン',
Expand Down
74 changes: 73 additions & 1 deletion public_html/admin/envcheck.php
Expand Up @@ -46,7 +46,7 @@

function _checkEnvironment()
{
global $_CONF, $_TABLES, $_PLUGINS, $_SYSTEM, $LANG_ADMIN, $LANG_ENVCHECK, $_SCRIPTS;
global $_CONF, $_TABLES, $_PLUGINS, $_SYSTEM, $LANG_ADMIN, $LANG_ENVCHECK, $_SCRIPTS, $_DB_dbms;

$retval = '';
$permError = 0;
Expand Down Expand Up @@ -78,7 +78,75 @@ function _checkEnvironment()
$LANG_ENVCHECK['php_warning'],
$_CONF['layout_url'] . '/images/icons/envcheck.png'
);

// ***********************************************
// Database Settings Section
$dbms_error = false;
if (!empty($_DB_dbms)) {
$header_arr = array( // display 'text' and use table field 'field'
array('text' => $LANG_ENVCHECK['setting'], 'field' => 'settings'),
array('text' => $LANG_ENVCHECK['current'], 'field' => 'current'),
array('text' => $LANG_ENVCHECK['recommended'], 'field' => 'recommended'),
array('text' => $LANG_ENVCHECK['notes'], 'field' => 'notes')

);
$text_arr = array('has_menu' => false,
'title' => $LANG_ENVCHECK['database_settings'],
'form_url' => "{$_CONF['site_admin_url']}/envcheck.php"
);
$data_arr = array();

$current = preg_replace('#[^0-9\.]#', '', DB_getVersion());

if ($_DB_dbms == 'mysql') {
if (version_compare($current, '4.1.2', '>=')) {
$current = '<span class="yes">'.$current.'</span>';
} else {
$current = '<span class="notok">'.$current.'</span>';
}
$data_arr[] = array('settings' => $LANG_ENVCHECK['database_mysql_version'],
'current' => $current,
'recommended' => '4.1.2+',
'notes' => $LANG_ENVCHECK['database_mysql_req_version']);
} elseif ($_DB_dbms == 'pgsql') {
if (version_compare($current, '9.1.7', '>=')) {
$current = '<span class="yes">'.$current.'</span>';
} else {
$current = '<span class="notok">'.$current.'</span>';
}
$data_arr[] = array('settings' => $LANG_ENVCHECK['database_pgsql_version'],
'current' => $current,
'recommended' => '9.1.7+',
'notes' => $LANG_ENVCHECK['database_pgsql_req_version']);
} else {
$dbms_error = true;
}
} else {
$dbms_error = true;
}

if ($dbms_error) {
$header_arr = array( // display 'text' and use table field 'field'
array('text' => $LANG_ENVCHECK['item'], 'field' => 'item'),
array('text' => $LANG_ENVCHECK['status'], 'field' => 'status'),
array('text' => $LANG_ENVCHECK['notes'], 'field' => 'notes')
);
$text_arr = array('has_menu' => false,
'title' => $LANG_ENVCHECK['database_settings'],
'form_url' => "{$_CONF['site_admin_url']}/envcheck.php"
);
$data_arr = array();

$data_arr[] = array(
'item' => $LANG_ENVCHECK['database_dms'],
'status' => '<span class="notok">' . $LANG_ENVCHECK['not_found'] . '</span>',
'notes' => $LANG_ENVCHECK['database_dms_notes']
);
}

$admin_list = ADMIN_simpleList('', $header_arr, $text_arr, $data_arr);
$T->set_var('database_settings_list', $admin_list);

// ***********************************************
// PHP Settings Section - First we will validate the general environment.
$header_arr = array( // display 'text' and use table field 'field'
Expand All @@ -103,6 +171,7 @@ function _checkEnvironment()
'current' => $current,
'recommended' => '5.3.3+',
'notes' => $LANG_ENVCHECK['php_req_version']);


$rg = ini_get('register_globals');
$sm = ini_get('safe_mode');
Expand Down Expand Up @@ -173,6 +242,7 @@ function _checkEnvironment()

$admin_list = ADMIN_simpleList('', $header_arr, $text_arr, $data_arr);
$T->set_var('php_settings_list', $admin_list);


// ***********************************************
// Libraries
Expand Down Expand Up @@ -580,6 +650,8 @@ function php_v()
*/
function _phpOutOfDate()
{
// Min PHP Version 5.3.3

$phpv = php_v();
if (($phpv[0] < 5) || (($phpv[0] == 3) && ($phpv[1] < 3))) {
return true;
Expand Down
2 changes: 2 additions & 0 deletions public_html/layout/denim/admin/envcheck.thtml
@@ -1,5 +1,7 @@
{# begin {templatelocation} #}

{database_settings_list}

{php_settings_list}

{graphics_list}
Expand Down
2 changes: 2 additions & 0 deletions public_html/layout/modern_curve/admin/envcheck.thtml
@@ -1,5 +1,7 @@
{# begin {templatelocation} #}

{database_settings_list}

{php_settings_list}

{graphics_list}
Expand Down

0 comments on commit e7a137b

Please sign in to comment.