|
From: <jhe...@us...> - 2002-08-05 07:47:31
|
Update of /cvsroot/upcase-project/UpCase
In directory usw-pr-cvs1:/tmp/cvs-serv21529
Added Files:
install.php
Log Message:
Ask for info about the database, create the xml config file, the upcase
config file, and ModeliXe config file.
--- NEW FILE: install.php ---
<?php
include_once("./config/uc_tables.inc");
include_once("./lib/adodb/adodb.inc.php");
// Check if we have all we need to access the database
// else display a from to get the info.
if (!isset($dbname) || $dbname == ""
|| !isset($dbuser) || $dbuser == ""
|| !isset($dbpasswd) || $dbpasswd == ""
|| !isset($dbhost) || $dbhost == ""
|| !isset($tblprefix) || $tblprefix == "")
{
?>
<form>
<table>
<tr>
<td>Database Name : </td><td><input type="text" name="dbname"></td>
</tr>
<tr>
<td>Database User : </td><td><input type="text" name="dbuser"></td>
</tr>
<tr>
<td>Database Password : </td><td><input type="text" name="dbpasswd"></td>
</tr>
<tr>
<td>Database Host : </td><td><input type="text" name="dbhost"></td>
</tr>
<tr>
<td>Tables prefix : </td><td><input type="text" name="tblprefix"></td>
</tr>
<tr>
<td colspan="2"><input type="submit"></td>
</tr>
</table>
</form>
<?
exit();
}
// Try to create our tables
$db = NewADOConnection("mysql");
if (!$db->Connect($dbhost, $dbuser, $dbpasswd, $dbname))
{
die("Unable to connect to database !");
}
// Execute each query one by one
foreach ($tables_create as $query)
{
$res = $db->Execute($query);
if (!$res)
{
die($db->ErrorMsg());
}
}
foreach ($tables_insert as $query)
{
$res = $db->Execute($query);
if (!$res)
{
die($db->ErrorMsg());
}
}
$docroot = dirname($DOCUMENT_ROOT . $PHP_SELF);
$modules = $docroot . "/modules";
$rooturl = $HTTP_HOST . "/UpCase";
$modsurl = $rooturl . "/modules";
// Create the config file
$xmlConfig =<<< _EOF_
<?xml version="1.0"?>
<upcase>
<!--
Path in local filesystem and url
-->
<paths>
<docroot>$docroot</docroot>
<modules>$modules</modules>
<rooturl>http://$rooturl</rooturl>
<modsurl>http://$modsurl</modsurl>
</paths>
<!-- Database connection data -->
<database>
<engine>MySQL</engine>
<name>$dbname</name>
<host>$dbhost</host>
<user>$dbuser</user>
<password>$dbpasswd</password>
<prefix>$tblprefix</prefix>
<table data="sessions">sessions</table>
<table data="users">users</table>
</database>
<!-- Available languages -->
<languages>
<defaultlang>en</defaultlang>
<lang id="fr">Français</lang>
<lang id="nl">Nederlands</lang>
<lang id="en">English</lang>
</languages>
<!-- Session data -->
<sessions>
<session_timeout>3600</session_timeout>
</sessions>
</upcase>
_EOF_;
// Write it to disk
$fd = fopen($docroot . "/config/upcase.xml", "w");
fwrite($fd, $xmlConfig);
fclose($fd);
$ucConfig =
'<?php
ini_set("include_path", ".:' . $docroot . ':' . $docroot . '/config");
include_once("lib/uc_config.php");
$xmlConf = "' . $docroot . '/config/upcase.xml";
$ucConfig = new UcConfig($xmlConf);
// ModeliXe config
define("MX_GENERAL_PATH", $ucConfig->filesRoot . "config/");
define("MX_ERROR_PATH", $ucConfig->filesRoot . "lib/");
// translation files
$uc_translations["object_descriptions"] =
$ucConfig->filesRoot . "/templates/objdescr.xml";
// Message pages
$msgdir = $ucConfig->wwwRoot . "/admin/messages";
$uc_info["objectRegistered"] = $msgdir . "/newobject.php";
$uc_info["badLoginMsg"] = $msgdir . "/badlogin.php";
$uc_info["accessDenied"] = $msgdir . "/accessdenied.php";
$uc_info["adminsOnly"] = $msgdir . "/adminsonly.php";
$uc_info["sessionSteal"] = $msgdir . "/sessionsteal.php";
?>';
// Write it to disk
$fd = fopen($docroot . "/config/uc_config.inc", "w");
fwrite($fd, $ucConfig);
fclose($fd);
$mxConf =
'<?php
//Configuration générale de ModeliXe
define(\'MX_FLAGS_TYPE\', \'xml\'); //Précise le mode d\'écriture des templates par défaut (xml ou pear).
define(\'MX_OUTPUT_TYPE\', \'xhtml\'); //Précise le type de balisage en sortie.
define(\'MX_TEMPLATE_PATH\', \'' . $docroot . '/templates\'); //Précise le répertoire de template par défaut.
define(\'MX_DEFAULT_PARAMETER\', \'\'); //Précise un fichier de paramètres par défaut.
define(\'MX_CACHE_PATH\', \'' . $docroot . '/cache\'); //Précise le répertoire du cache.
define(\'MX_CACHE_DELAY\', 0); //Définit le délai de renouvellement du cache en secondes.
define(\'MX_SIGNATURE\', \'off\'); //Laisse la signature de ModeliXe dans la page HTML générée (on ou off).
define(\'MX_COMPRESS\', \'off\'); //Mets en oeuvre la compression des pages si le navigateur le supporte (on ou off).
define(\'MX_REWRITEURL\', \'off\'); //Uitilise le mode_rewrite pour créer les urls (on ou off).
define(\'MX_PERFORMANCE_TRACER\', \'on\'); //Précise si on désire mettre en oeuvre le chronométrage des performances (on ou off).
//Configuration de la gestion des erreurs
define(\'ERROR_MANAGER_SYSTEM\', \'on\'); //Les erreurs sont remontées pour on, ignorées pour off.
define(\'ERROR_MANAGER_LEVEL\', \'3\'); //Précise le niveau d\'erreur toléré, plus il est bas, moins les erreurs sont tolérées.
define(\'ERROR_MANAGER_ESCAPE\', \'html/erreur.html\'); //Permet de spécifier une url locale de remplacement en cas de remontée d\'erreurs.
define(\'ERROR_MANAGER_LOG\', \'data/erreur.txt\'); //Permet de définir un fichier de log.
define(\'ERROR_MANAGER_ALARME\', \'mod...@ph...\'); //Permet de définir une série d\'adresse email à laquelle sera envoyé un mail d\'alerte.
?>';
// Write it to disk
$fd = fopen($docroot . "/config/Mxconf.php", "w");
fwrite($fd, $mxConf);
fclose($fd);
print("Configuration done<br>");
?>
|