";
print $error;
print "";
} /* }}} */
function printCheckError($resCheck) { /* {{{ */
$hasError = false;
foreach($resCheck as $keyRes => $paramRes) {
$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"];
printError($errorMes);
}
return $hasError;
} /* }}} */
/**
* Load default settings + set
*/
define("LETODMS_INSTALL", "on");
include("../inc/inc.Settings.php");
$configDir = Settings::getConfigDir();
/**
* Check if ENABLE_INSTALL_TOOL exists in config dir
*/
if (!file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
echo "For installation of LetoDMS, you must create the file conf/ENABLE_INSTALL_TOOL";
exit;
}
if (!file_exists($configDir."/settings.xml")) {
copy("settings.xml.template_install", $configDir."/settings.xml");
}
// Set folders settings
$settings = new Settings();
$settings->load($configDir."/settings.xml");
$rootDir = realpath ("..");
$rootDir = str_replace ("\\", "/" , $rootDir) . "/";
$installPath = realpath ("install.php");
$installPath = str_replace ("\\", "/" , $installPath);
$tmpToDel = str_replace ($rootDir, "" , $installPath);
$httpRoot = str_replace ($tmpToDel, "" , $_SERVER["REQUEST_URI"]);
do {
$httpRoot = str_replace ("//", "/" , $httpRoot, $count);
} while ($count<>0);
if(!$settings->_rootDir)
$settings->_rootDir = $rootDir;
//$settings->_coreDir = $settings->_rootDir;
//$settings->_luceneDir = $settings->_rootDir;
if(!$settings->_contentDir)
$settings->_contentDir = $settings->_rootDir . 'data/';
//$settings->_ADOdbPath = $settings->_rootDir;
//$settings->_httpRoot = $httpRoot;
/**
* Include GUI + Language
*/
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
UI::htmlStartPage("INSTALL");
UI::contentHeading("letoDMS Installation...");
UI::contentContainerStart();
/**
* Show phpinfo
*/
if (isset($_GET['phpinfo'])) {
echo '' . getMLText("back") . '';
phpinfo();
UI::contentContainerEnd();
UI::htmlEndPage();
exit();
}
/**
* Show phpinfo
*/
if (isset($_GET['disableinstall'])) {
if(file_exists($configDir."/ENABLE_INSTALL_TOOL")) {
if(unlink($configDir."/ENABLE_INSTALL_TOOL")) {
echo getMLText("settings_install_disabled");
echo "
";
echo '' . getMLText("settings_more_settings") .'';
}
} else {
echo getMLText("settings_cannot_disable");
echo "
";
echo '' . getMLText("back") . '';
}
UI::contentContainerEnd();
UI::htmlEndPage();
exit();
}
/**
* Check System
*/
if (printCheckError( $settings->checkSystem())) {
if (function_exists("apache_get_version")) {
echo "
Apache version: " . apache_get_version();
}
echo "
PHP version: " . phpversion();
echo '
';
echo '
';
echo '' . getMLText("refresh") . '';
echo ' - ';
echo '' . getMLText("version_info") . '';
exit;
}
if (isset($_POST["action"])) $action=$_POST["action"];
else if (isset($_GET["action"])) $action=$_GET["action"];
else $action=NULL;
//var_dump($settings);
if ($action=="setSettings") {
/**
* Get Parameters
*/
$settings->_rootDir = $_POST["rootDir"];
$settings->_httpRoot = $_POST["httpRoot"];
$settings->_contentDir = $_POST["contentDir"];
$settings->_luceneDir = $_POST["luceneDir"];
$settings->_stagingDir = $_POST["stagingDir"];
$settings->_ADOdbPath = $_POST["ADOdbPath"];
$settings->_dbDriver = $_POST["dbDriver"];
$settings->_dbHostname = $_POST["dbHostname"];
$settings->_dbDatabase = $_POST["dbDatabase"];
$settings->_dbUser = $_POST["dbUser"];
$settings->_dbPass = $_POST["dbPass"];
$settings->_coreDir = $_POST["coreDir"];
$settings->_luceneClassDir = $_POST["luceneClassDir"];
/**
* Check Parameters
*/
$hasError = printCheckError( $settings->check());
if (!$hasError)
{
// Create database
if (isset($_POST["createDatabase"]))
{
$createOK = false;
$errorMsg = "";
include $settings->_ADOdbPath."adodb/adodb.inc.php";
$connTmp = ADONewConnection($settings->_dbDriver);
if ($connTmp) {
$connTmp->Connect($settings->_dbHostname, $settings->_dbUser, $settings->_dbPass, $settings->_dbDatabase);
if ($connTmp->IsConnected()) {
// read SQL file
if ($settings->_dbDriver=="mysql")
$queries = file_get_contents("create_tables-innodb.sql");
else
$queries = file_get_contents("create_tables.sql");
// generate SQL query
$queries = explode(";", $queries);
// execute queries
foreach($queries as $query) {
// var_dump($query);
$query = trim($query);
if (!empty($query)) {
$connTmp->Execute($query);
if ($connTmp->ErrorNo()<>0) {
$errorMsg .= $connTmp->ErrorMsg() . "
";
}
}
}
// error ?
if (empty($errorMsg))
$createOK = true;
} else {
$errorMsg = $connTmp->ErrorMsg();
}
$connTmp->Disconnect();
}
// Show error
if (!$createOK) {
echo $errorMsg;
$hasError = true;
}
} // create database
if (!$hasError) {
// Save settings
$settings->save();
// Show Web page
echo getMLText("settings_install_success");
echo "
";
echo getMLText("settings_delete_install_folder");
echo "
";
echo '' . getMLText("settings_disable_install") . '';
echo "
";
echo '' . getMLText("settings_more_settings") .'';
}
}
// Back link
echo '
';
echo '
';
echo '' . getMLText("back") . '';
} else {
/**
* Set parameters
*/
?>