<?php

/**
 *
 * @copyright  2010-2016 izend.org
 * @version    13
 * @link       http://www.izend.org
 */
?>
<?php extract($errors); ?>
<p>Votre site <b>iZend</b> est pratiquement fonctionnel.
Lisez les instructions suivantes, remplissez le formulaire et appuyez sur Configurer pour lancer le configurateur.</p>
<h6>Paramètres</h6>
<p>Entrez le nom du site, l'adresse d'email du webmestre et sélectionnez les langues gérées par le site.
Initialement, vous ne pourrez choisir que parmi les langues supportées par le noyau du logiciel.
Une fois le site configuré, vous pourrez facilement ajouter des contenus dans plusieurs autres langues.
Tous les paramètres du logiciel sont dans le dossier <i>includes</i>.
Le configurateur récrit les fichiers de configuration <i>config.inc</i>, <i>db.inc</i> et <i>aliases.inc</i> et les fichiers <i>sitemap.xml</i>, <i>robots.txt</i> et <i>.htaccess</i> dans le répertoire racine du site.</p>
<p>Pour plus de sécurité, vérifiez que l'accès aux fichiers de configuration est limité au serveur&nbsp;:</p>
<pre><code>$ cd <?php echo ROOT_DIR; ?>; sudo chgrp -R www-data .; chmod -R g+w .
$ cd <?php echo ROOT_DIR; ?>/includes; chmod 660 db.inc config.inc settings.inc aliases.inc paypal.inc</code></pre>
<p>NOTE&nbsp;: Le nom du groupe d'exécution du serveur est défini par la directive Group, généralement dans le fichier <i>/etc/apache2/apache2.conf</i>.</p>
<h6>Logo</h6>
<p>Le configurateur génère un logo à partir du nom du site et l'enregistre dans le fichier <i>sitelogo.png</i> dans le dossier <i>logos</i>.
Vous voudrez probablement le changer.</p>
<h6>Base de données</h6>
<p>iZend peut fonctionner sans une base de données.
Dans ce mode, vous pourrez toujours profiter de l'architecture du logiciel mais vous devrez rédiger les pages du site sans l'éditeur.
Optez pour cette configuration pour mettre en ligne un site avec des ressources limitées.
Notez que iZend peut occuper très peu de place sur disque.</p>
<p>Pour exploiter tout le potentiel d'iZend, vous devez disposer d'un serveur de bases de données.
Vous pouvez utiliser MySQL ou PostgreSQL.
Le configurateur peut créer une nouvelle base de données ou utiliser une base de données déjà existante.
<b>IMPORTANT</b>&nbsp;: Si la base de données est partagée, demandez au configurateur d'ajouter un préfixe aux noms des tables.
Dans tous les cas, utiliser un préfixe est plus prudent.</p>
<p>NOTE&nbsp;: Si vous développez le site en local avant de le mettre en ligne, ce qui est recommandé, utilisez les mêmes paramètres sur les deux serveurs.</p>
<h5 id="configuration">Configuration</h5>
<?php if ($bad_write_permission): ?>
<div class="alert">
<p>Le serveur n'est pas autorisé à modifier <?php if (count($bad_write_permission) > 1): ?>les dossiers ou les fichiers suivants<?php else: ?>le dossier ou le fichier suivant<?php endif; ?> dans le dossier <i><?php echo ROOT_DIR; ?></i>&nbsp;:
</p>
<ul>
<?php foreach ($bad_write_permission as $file): ?>
<li><i><?php echo $file; ?></i></li>
<?php endforeach; ?>
</ul>
</div>
<p>Pour modifier les droits d'accès, essayez la commande suivante&nbsp;:</p>
<pre><code>$ cd <?php echo ROOT_DIR; ?>; chmod a+w<?php foreach ($bad_write_permission as $fname) { echo ' ', $fname; }; ?></code></pre>
<?php endif; ?>
<?php $nerrors=count(array_keys($errors, true, true)); ?>
<?php if ($nerrors > 0): ?>
<div class="alert">
<p>Le formulaire a <?php echo $nerrors; ?> erreur<?php if ($nerrors > 1): ?>s<?php endif; ?>.
Vérifiez vos réponses et relancez la configuration.</p>
</div>
<?php endif; ?>
<?php if ($internal_error): ?>
<div class="alert">
<p>La génération des fichiers de configuration a échoué.</p>
</div>
<?php endif; ?>
<?php if ($file_error): ?>
<div class="alert">
<p>L'écriture des fichiers de configuration a échoué.</p>
</div>
<?php endif; ?>
<form class="compact" action="#configuration" method="post">
<input type="hidden" name="configure_token" value="<?php echo $token; ?>" />
<p>Quel est le nom du site&nbsp;?</p>
<p class="info">Spécifiez un nom de domaine sans le préfixer par www.</p>
<p>
<input type="text" name="configure_sitename" size="30" maxlength="40" title="" value="<?php echo $sitename; ?>" />
<span class="icon icon_web"></span>
</p>
<?php if ($missing_sitename): ?>
<p class="error">Entrez un nom de domaine tel que izend.org.</p>
<?php endif; ?>
<p>Quelle est l'adresse d'email du webmestre&nbsp;?</p>
<p class="info">La page de contact envoie les messages à cette adresse.</p>
<p>
<input type="text" name="configure_webmaster" size="50" maxlength="100" title="Email" value="<?php echo $webmaster; ?>" />
<span class="icon icon_mail"></span>
</p>
<?php if ($missing_webmaster): ?>
<p class="error">Spécifiez une adresse d'email valide.</p>
<?php endif; ?>
<p>Dans quelles langues le contenu du site est-il rédigé&nbsp;?</p>
<p class="info">Vous pourrez toujours ajouter d'autres langues plus tard.</p>
<p><?php foreach ($system_languages as $slang): ?><?php echo PHP_EOL; ?><input name="configure_content_languages[]" type="checkbox" value="<?php echo $slang; ?>" title="<?php echo $slang; ?>"<?php if (in_array($slang, $content_languages)) echo ' checked="checked"'; ?>/>&nbsp;<span class="lang <?php echo $slang; ?>" title="<?php echo $slang; ?>"><?php echo $slang; ?></span><?php endforeach; ?><?php echo PHP_EOL; ?></p>
<?php if ($missing_content_languages): ?>
<p class="error">Choisissez au moins une langue pour le contenu du site.</p>
<?php endif; ?>
<p>Quelle est la langue par défaut&nbsp;?</p>
<p><?php foreach ($system_languages as $slang): ?><?php echo PHP_EOL; ?><input name="configure_default_language" type="radio" value="<?php echo $slang; ?>" title="<?php echo $slang; ?>"<?php if ($slang == $default_language) echo ' checked="checked"'; ?> />&nbsp;<span class="lang <?php echo $slang; ?>" title="<?php echo $slang; ?>"><?php echo $slang; ?></span><?php endforeach; ?><?php echo PHP_EOL; ?></p>
<?php if ($bad_default_language): ?>
<p class="error">Vous n'avez pas mentionné cette langue dans la liste précédente.</p>
<?php endif; ?>
<h6>Base de données</h6>
<?php if ($db_error): ?>
<div class="alert">
<p>La configuration de la base de données a échoué avec l'erreur&nbsp;:</p>
<p><?php echo htmlspecialchars($db_error); ?></p>
<?php if ($db_flag and !$db_reuse): ?>
<?php if ($db_type == 'mysql'): ?>
<p><b>IMPORTANT</b>&nbsp;: Avant de relancer la configuration, vous devez supprimer manuellement la BD <code><?php echo $db_name; ?></code>
et les entrées pour l'utilisateur <code><?php echo $db_user; ?></code> dans les tables <i>user</i> et <i>db</i> de la BD <i>mysql</i>.</p>
<?php elseif ($db_type == 'pgsql'): ?>
<p><b>IMPORTANT</b>&nbsp;: Avant de relancer la configuration, vous devez supprimer manuellement la BD <code><?php echo $db_name; ?></code>
et le rôle <code><?php echo $db_user; ?></code>.</p>
<?php endif; ?>
<?php endif; ?>
</div>
<?php endif; ?>
<p>Avez-vous un serveur de bases de données&nbsp;?</p>
<p class="info">Sans une base de données, les fonctionnalités seront plus limitées.</p>
<p><input type="radio" name="configure_db_flag" value="yes"<?php if ($db_flag): ?> checked="checked"<?php endif; ?> />&nbsp;oui <input type="radio" name="configure_db_flag" value="no"<?php if (!$db_flag): ?> checked="checked"<?php endif; ?> />&nbsp;non</p>
<p>Utilisez-vous MySQL ou PostgreSQL&nbsp;?</p>
<p><input type="radio" name="configure_db_type" title="" value="mysql"<?php if ($db_type == 'mysql'): ?> checked="checked"<?php endif; ?> />&nbsp;MySQL
<input type="radio" name="configure_db_type" title="" value="pgsql"<?php if ($db_type == 'pgsql'): ?> checked="checked"<?php endif; ?> />&nbsp;PostgreSQL</p>
<?php if ($bad_db_type): ?>
<p class="error">Cochez l'option MySQL ou l'option PostgreSQL.</p>
<?php endif; ?>
<p>Quel est le nom de la base de données&nbsp;?</p>
<p><input type="text" name="configure_db_name" size="30" maxlength="40" title="" value="<?php echo $db_name; ?>" /></p>
<?php if ($missing_db_name or $bad_db_name): ?>
<p class="error">Entrez de 2 à 30 caractères (lettre, chiffre ou souligné) en commençant par une lettre.</p>
<?php endif; ?>
<p>Quel est le nom du serveur hôte de la base de données&nbsp;?</p>
<p><input type="text" name="configure_db_host" size="30" maxlength="40" title="" value="<?php echo $db_host; ?>" /></p>
<?php if ($missing_db_host or $bad_db_host): ?>
<p class="error">Entrez un nom de serveur ou une adresse IP.</p>
<?php endif; ?>
<p>Quels sont le nom et le mot de passe de l'utilisateur de la base de données&nbsp;?</p>
<p>
<input type="text" name="configure_db_user" size="30" maxlength="40" title="" value="<?php echo $db_user; ?>" />
<span class="icon icon_user"></span>
<input type="text" name="configure_db_password" size="30" maxlength="40" title="" value="<?php echo $db_password; ?>" autocomplete="off" />
<span class="icon icon_lock"></span>
</p>
<?php if ($missing_db_user and $missing_db_password): ?>
<p class="error">Choisissez un identifiant pour l'utilisateur de la base de données et un mot de passe.</p>
<?php else: ?>
<?php if ($missing_db_user or $bad_db_user): ?>
<p class="error">Entrez de 2 à 30 caractères (lettre, chiffre ou souligné) en commençant par une lettre.</p>
<?php endif; ?>
<?php if ($missing_db_password): ?>
<p class="error">Entrez un mot de passe.</p>
<?php elseif ($weak_db_password): ?>
<p class="error">Entrez une combinaison de lettres et de chiffres d'au moins 6 caractères.</p>
<?php endif; ?>
<?php endif; ?>
<p>Utilisez-vous une base de données déjà existante&nbsp;?</p>
<p><input type="radio" name="configure_db_reuse" value="yes" <?php if ($db_reuse) echo 'checked="checked"'; ?> />&nbsp;oui <input type="radio" name="configure_db_reuse" value="no" <?php if (!$db_reuse) echo 'checked="checked"'; ?> />&nbsp;non</p>
<p>Si non, quels sont le nom et le mot de passe de l'administrateur du serveur de bases de données&nbsp;?</p>
<p class="info">Ces informations ne seront pas enregistrées.</p>
<p>
<input type="text" name="configure_db_admin_user" size="30" maxlength="40" title="" value="<?php echo $db_admin_user; ?>" />
<span class="icon icon_user"></span>
<input type="password" name="configure_db_admin_password" size="30" maxlength="40" title="" value="<?php echo $db_admin_password; ?>" autocomplete="off" />
<span class="icon icon_lock"></span>
</p>
<?php if ($missing_db_admin_user and $missing_db_admin_password): ?>
<p class="error">Entrez l'identifiant de l'administrateur du serveur de bases de données suivi de son mot de passe.</p>
<?php else: ?>
<?php if ($missing_db_admin_user): ?>
<p class="error">Entrez l'identifiant de l'administrateur du serveur de bases de données.</p>
<?php endif; ?>
<?php if ($missing_db_admin_password): ?>
<p class="error">Entrez le mot de passe de l'administrateur du serveur de bases de données.</p>
<?php endif; ?>
<?php endif; ?>
<p>Quel est le préfixe des tables&nbsp;?</p>
<p class="info">Un préfixe est nécessaire si la base de données est partagée.</p>
<p><input type="text" name="configure_db_prefix" size="10" maxlength="20" title="" value="<?php echo $db_prefix; ?>" /></p>
<?php if ($bad_db_prefix): ?>
<p class="error">Entrez de 2 à 30 caractères (lettre, chiffre ou souligné) en commençant par une lettre.</p>
<?php endif; ?>
<p>Quels sont le nom et le mot de passe de l'administrateur du site&nbsp;?</p>
<p>
<input type="text" name="configure_site_admin_user" size="30" maxlength="40" title="" value="<?php echo $site_admin_user; ?>" />
<span class="icon icon_user"></span>
<input type="text" name="configure_site_admin_password" size="30" maxlength="40" title="" value="<?php echo $site_admin_password; ?>" autocomplete="off" />
<span class="icon icon_lock"></span>
</p>
<?php if ($missing_site_admin_user and $missing_site_admin_password): ?>
<p class="error">Choisissez un identifiant pour l'administrateur du site et un mot de passe.</p>
<?php else: ?>
<?php if ($missing_site_admin_user or $bad_site_admin_user): ?>
<p class="error">Entrez de 2 à 30 caractères (lettre, chiffre ou souligné) en commençant par une lettre.</p>
<?php endif; ?>
<?php if ($missing_site_admin_password): ?>
<p class="error">Entrez un mot de passe.</p>
<?php elseif ($weak_site_admin_password): ?>
<p class="error">Entrez une combinaison de lettres minuscules et majuscules et de chiffres d'au moins 6 caractères .</p>
<?php endif; ?>
<?php endif; ?>
<p><input type="submit" class="submit submit_configure" name="configure_configure" id="configure_configure" value="Configurer" /></p>
</form>
