_dbDriver) {
case 'mysql':
case 'mysqli':
case 'mysqlnd':
case 'pgsql':
$tmp = explode(":", $settings->_dbHostname);
$dsn = $settings->_dbDriver.":dbname=".$settings->_dbDatabase.";host=".$tmp[0];
if(isset($tmp[1]))
$dsn .= ";port=".$tmp[1];
break;
case 'sqlite':
$dsn = $settings->_dbDriver.":".$settings->_dbDatabase;
break;
}
$connTmp = new PDO($dsn, $settings->_dbUser, $settings->_dbPass);
return $connTmp;
} /* }}} */
function printError($error) { /* {{{ */
print "
\n";
print $error;
print "
";
} /* }}} */
function printWarning($error) { /* {{{ */
print "";
print "Warning
";
print $error;
print "
";
} /* }}} */
function printCheckError($resCheck) { /* {{{ */
$hasError = false;
foreach($resCheck as $keyRes => $paramRes) {
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
$hasError = true;
$errorMes = getMLText("settings_$keyRes"). " : " . getMLText("settings_".$paramRes["status"]);
if (isset($paramRes["currentvalue"]))
$errorMes .= "
=> " . getMLText("settings_currentvalue") . " : " . $paramRes["currentvalue"];
if (isset($paramRes["suggestionvalue"]))
$errorMes .= "
=> " . getMLText("settings_suggestionvalue") . " : " . $paramRes["suggestionvalue"];
if (isset($paramRes["suggestion"]))
$errorMes .= "
=> " . getMLText("settings_".$paramRes["suggestion"]);
if (isset($paramRes["systemerror"]))
$errorMes .= "
=> " . $paramRes["systemerror"];
if(isset($paramRes['type']) && $paramRes['type'] == 'error')
printError($errorMes);
else
printWarning($errorMes);
}
return $hasError;
} /* }}} */
function fileExistsInIncludePath($file) { /* {{{ */
$paths = explode(PATH_SEPARATOR, get_include_path());
$found = false;
foreach($paths as $p) {
$fullname = $p.DIRECTORY_SEPARATOR.$file;
if(is_file($fullname)) {
$found = $fullname;
break;
}
}
return $found;
} /* }}} */
/**
* Load default settings + set
*/
require_once('../inc/inc.Version.php');
$ver = new SeedDMS_Version();
define("SEEDDMS_INSTALL", "on");
define("SEEDDMS_VERSION", $ver->version());
require_once('../inc/inc.ClassSettings.php');
$configDir = Settings::getConfigDir();
/**
* Check if ENABLE_INSTALL_TOOL exists in config dir
*/
if (!$configDir) {
echo "Fatal error! I could not even find a configuration directory.";
exit;
}
if (!file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
echo "For installation of SeedDMS, you must create the file ".$configDir."ENABLE_INSTALL_TOOL";
exit;
}
if (!file_exists($configDir."/settings.xml")) {
if(!copy("settings.xml.template_install", $configDir."/settings.xml")) {
echo "Could not create initial configuration file from template. Check directory permission of conf/.";
exit;
}
}
// Set folders settings
$settings = new Settings();
$settings->load($configDir."/settings.xml");
$rootDir = realpath ("..");
$installPath = realpath ("install.php");
$installPath = str_replace ("\\", "/" , $installPath);
$tmpToDel = str_replace ($rootDir, "" , $installPath);
$httpRoot = str_replace ($tmpToDel, "" , $_SERVER["SCRIPT_NAME"]).'/';
/* Correct rootDir to ensure it points to 'www' instead of the versioned
* seeddms dir.
*/
if(file_exists($rootDir.'/../www'))
$rootDir = realpath($rootDir.'/..').'/www';
$rootDir = str_replace ("\\", "/" , $rootDir) . "/";
do {
$httpRoot = str_replace ("//", "/" , $httpRoot, $count);
} while ($count<>0);
if($rootDir != $settings->_rootDir) {
$msg = "Your Root directory has been modified to fit your installation path!";
}
$settings->_rootDir = $rootDir;
if(!$settings->_contentDir) {
$settings->_contentDir = realpath($settings->_rootDir."..") . '/data/';
$settings->_luceneDir = $settings->_contentDir . 'lucene/';
$settings->_stagingDir = $settings->_contentDir . 'staging/';
$settings->_cacheDir = $settings->_contentDir . 'cache/';
$settings->_backupDir = $settings->_contentDir . 'backup/';
} else {
if(!$settings->_cacheDir) {
$settings->_cacheDir = $settings->_contentDir . 'cache/';
}
}
$settings->_httpRoot = $httpRoot;
if(isset($settings->_extraPath))
ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path'));
/**
* Include GUI + Language
*/
$theme = "bootstrap";
include("../inc/inc.Language.php");
include "../languages/en_GB/lang.inc";
include("../inc/inc.ClassUI.php");
include("class.Install.php");
$view = new SeedDMS_View_Install(array('settings'=>$settings, 'session'=>null, 'sitename'=>'SeedDMS', 'printdisclaimer'=>0, 'showmissingtranslations'=>0, 'absbaseprefix'=>'/', 'enabledropfolderlist'=>0, 'enablemenutasks'=>0, 'configdir'=>$configDir));
$view->install();
?>