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>"); ?> |