Mercurial > defr > DualBlog
view install.php @ 72:217f56e6bc77
Si on arrive pas à vérifier le commentaire via Akismet, on l'affichera
Le comportement précédent n'était pas réellement défini pour le cas ou
l'authentification auprès d'Akismet ne se fait pas correctement, c'est
maintenant réparé.
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Thu, 20 Mar 2008 19:47:11 +0100 |
parents | e08186e4ed77 |
children |
line wrap: on
line source
<?php require_once "classes.php"; $req = new Requete(); $pB = $req->Get('postBack', 'POST', false); $canWrite = is_writable('includes'); if(file_exists('includes/config.php')) { $tpl = '<p>Un fichier de configuration a déja été crée. Par mesure de sécurité, il est necessaire de supprimer manuellement ce fichier avant de pouvoir tenter une nouvelle installation</p>'; } else if($pB) { // 1. Vérification des identifiants MySQL, création des tables $db_host = $req->Get('db_host'); $db_user = $req->Get('db_user'); $db_pass = $req->Get('db_pass'); $db_db = $req->Get('db_db'); $myDB = new DataAccess($db_host, $db_user, $db_pass, $db_db); if($myDB->isInError()) { if($myDB->link === false) $erreur = "Le triplet (hôte, identifiant, mot de passe) est erroné)"; else $erreur = "La base de données mentionné n'existe pas"; $tpl = $erreur; } else { // Requete de créations des 5 tables. $myDB->Query("CREATE TABLE Brouillons( id_brouillon INTEGER NOT NULL auto_increment, Titre VARCHAR(70), Contenu TEXT, PRIMARY KEY (id_brouillon) )"); $myDB->Query("CREATE TABLE `Commentaires` ( `num_comm` int(11) NOT NULL auto_increment, `MessId` int(11) NOT NULL default '0', `Auteur` varchar(60) NOT NULL default '', `Adresse` varchar(150) NOT NULL default '', `AdresseMail` varchar(60) default NULL, `Comment` mediumtext NOT NULL, `DateComment` datetime default '0000-00-00 00:00:00', `isTrackback` tinyint(4) NOT NULL default '0', `ip` varchar(25) NOT NULL default '', `Visible` tinyint(4) NOT NULL default '1', PRIMARY KEY (`num_comm`), KEY `Visible` (`Visible`), KEY `Parent` (`MessId`) )"); $myDB->Query("CREATE TABLE `Mess` ( `num_mess` int(11) NOT NULL auto_increment, `Titre` varchar(70) NOT NULL default '', `DatePost` datetime NOT NULL default '0000-00-00 00:00:00', `num_version` varchar(30) NOT NULL default '0', `NbCommentaires` smallint(6) NOT NULL default '0', `Message` longtext NOT NULL, `CommentOpen` tinyint(1) NOT NULL default '0', `Emot` varchar(20) default NULL, PRIMARY KEY (`num_mess`) )"); $myDB->Query("CREATE TABLE `Tags` ( `idTag` int(11) NOT NULL auto_increment, `Tag` varchar(25) NOT NULL default '', PRIMARY KEY (`idTag`), KEY `Tag` (`Tag`) )"); $myDB->Query("CREATE TABLE `Lien_Tags_Posts` ( `idLien` int(11) NOT NULL auto_increment, `idTag` int(11) NOT NULL default '0', `idMess` int(11) NOT NULL default '0', PRIMARY KEY (`idLien`), KEY `idTag` (`idTag`), KEY `idMess` (`idMess`) )"); $tpl = "Yoopii tout bon au niveau de la base de données :-)"; // On va maintenant obtenir quelques renseignements supplémentaires // pour finaliser le fichier de configuration $akismet = $req->Get('akismet'); $mail = $req->Get('mail'); $dg = $req->Get('default_gravatar'); $blog_url = $req->Get('blog_url'); $conf = "<?php // Connexion à la base de données define('DB_HOST', '$db_host'); define('DB_USER', '$db_user'); define('DB_PASSWORD', '$db_pass'); define('DB_NAME', '$db_db'); // Informations de contact define('BLOG_URL', '$blog_url'); define('ADMIN_MAIL', '$mail'); // Image par défaut des auteurs des commentaires define('BLOG_DEFAULT_GRAVATAR', '$dg'); // Clé d'authentification pour l'utilisation du service Akismet define('AKISMET_API_KEY', '$akismet'); ?> "; } if(!isset($erreur)) { if($canWrite) { file_put_contents('includes/config.php', $conf); } else { $tpl = " <p>Ce script ne peut pas écrire dans votre dossier includes/. Par conséquent, il vous faudra de vous même y créer un fichier nommé <strong>config.php</strong> et y copier les lignes suivantes:</p> <pre>" . $conf . "</pre>"; } } //3. Génération du fichier .htpass $login = $req->Get('login'); $password = $req->Get('password'); system("htpasswd -cbm .htpass '$login' '$password'"); } else { $url = "http://" . $_SERVER['SERVER_NAME'] . dirname($_SERVER['REQUEST_URI']); $tpl = new Template('install_form.xml'); $tpl->setParams(array('#url@value' => $url)); } header('Content-Type: text/html; charset=utf-8'); ?> <!DOCTYPE html> <html> <head> <title>Installation</title> <link rel='stylesheet' type='text/css' href='css/install.css' /> </head> <body id='Main'> <h1>Installation de votre weblog</h1> <?php echo $tpl; ?> </body> </html>