aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install/install_install.php
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2009-01-21 17:03:00 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2009-01-21 17:03:00 +0000
commit9f060eba6eb8f2e54f5c26cc23c4f82eee7903b8 (patch)
treefb92caada98efb76568a64d2492b59cd17442934 /phpBB/install/install_install.php
parentdcd073bb44136ac0d22ade2a5ecf759e7e2ae3bc (diff)
downloadforums-9f060eba6eb8f2e54f5c26cc23c4f82eee7903b8.tar
forums-9f060eba6eb8f2e54f5c26cc23c4f82eee7903b8.tar.gz
forums-9f060eba6eb8f2e54f5c26cc23c4f82eee7903b8.tar.bz2
forums-9f060eba6eb8f2e54f5c26cc23c4f82eee7903b8.tar.xz
forums-9f060eba6eb8f2e54f5c26cc23c4f82eee7903b8.zip
some adjustements to the installer
git-svn-id: file:///svn/phpbb/trunk@9284 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/install/install_install.php')
-rw-r--r--phpBB/install/install_install.php34
1 files changed, 33 insertions, 1 deletions
diff --git a/phpBB/install/install_install.php b/phpBB/install/install_install.php
index 001acc4584..eb61be1f46 100644
--- a/phpBB/install/install_install.php
+++ b/phpBB/install/install_install.php
@@ -769,7 +769,8 @@ class install_install extends module
// Create a list of any PHP modules we wish to have loaded
$load_extensions = array();
$available_dbms = get_available_dbms($data['dbms']);
- $check_exts = array_merge(array($available_dbms[$data['dbms']]['MODULE']), $this->php_dlls_other);
+
+ $check_exts = array_merge($this->php_dlls_other);
foreach ($check_exts as $dll)
{
@@ -784,6 +785,37 @@ class install_install extends module
}
}
+ $db_module = $available_dbms[$data['dbms']]['MODULE'];
+
+ if (!is_array($db_module))
+ {
+ $db_module = array($db_module);
+ }
+
+ $load_dll = true;
+ foreach ($db_module as $dll)
+ {
+ if (@extension_loaded($dll))
+ {
+ $load_dll = false;
+ break;
+ }
+
+ if (!can_load_dll($dll))
+ {
+ $load_dll = false;
+ break;
+ }
+
+ $load_dll = true;
+ }
+
+ if ($load_dll)
+ {
+ $dll = current($db_module);
+ $load_extensions[] = $dll . '.' . PHP_SHLIB_SUFFIX;
+ }
+
// Create a lock file to indicate that there is an install in progress
$fp = @fopen(PHPBB_ROOT_PATH . 'cache/install_lock', 'wb');
if ($fp === false)