French template + Small ergnomoy improvements

This commit is contained in:
Phyks 2013-09-17 00:03:26 +02:00
parent 07d440a4e0
commit 2a02ae829c
23 changed files with 629 additions and 8 deletions

4
TODO
View File

@ -4,16 +4,16 @@ None
To fix :
========
* Best way to not cache the username on index page
* Better way to not cache the username on index page
Improvements :
==============
* French template
* User groups
* Search invoice
* JSON output => do index view
* API
* cf TODO in files
* README file
Manage paybacks :
=================

View File

@ -73,6 +73,7 @@
}
public function setAmount ($amount) {
$amount = str_replace(',', '.', $amount);
$this->amount = (int) ($amount * 100); // Amount is stored in cents
}

View File

@ -64,6 +64,7 @@
}
public function setAmount($amount) {
$amount = str_replace(',', '.', $amount);
$this->amount = (int) ($amount * 100); // Amount is stored in cents
}

View File

@ -1,6 +1,6 @@
{include="header"}
<h1 id="title">{$instance_title} - Connexion</h1>
<h1 id="title">{$instance_title} - Connection</h1>
<form method="post" action="index.php?do=connect" id="connexion_form">
<p><label for="login" class="label-block">Username : </label><input type="text" name="login" id="login" value="{$user_post}"/></p>

View File

@ -97,8 +97,20 @@
</td>
<td>{$value->getAmount()}{$currency}</td>
<td>{$value->getWhat()}</td>
<td><a href="index.php?do=edit_invoice&id={$value->getId()}">Edit</a></td>
<td><a href="index.php?do=delete_invoice&id={$value->getId()}">Delete</a></td>
<td>
{if condition="$value->getBuyer() == $current_user->getId() || $current_user->getAdmin()"}
<a href="index.php?do=edit_invoice&id={$value->getId()}">Edit</a>
{else}
-
{/if}
</td>
<td>
{if condition="$value->getBuyer() == $current_user->getId() || $current_user->getAdmin()"}
<a href="index.php?do=delete_invoice&id={$value->getId()}">Delete</a>
{else}
-
{/if}
</td>
</tr>
{/loop}
</table>

View File

@ -1,6 +1,6 @@
{include="header"}
<h2>Add a bill</h2>
<h2>{if condition="$id != 0"}Edit{else}Add{/if} a bill</h2>
<form method="post" action="index.php?do=new_invoice" id="invoice_form">
<fieldset>
@ -43,7 +43,7 @@
{/loop}
</fieldset>
<p class="center">
<input type="submit" value="Add"/>
<input type="submit" value="{if condition='$id != 0'}Edit{else}Add{/if}"/>
{if condition="$id != 0"}<input type="hidden" name="id" value="{$id}"/>{/if}
<input type="hidden" name="token" value="{$token}"/>
</p>

View File

@ -33,7 +33,7 @@
</p>
<p>
<label for="mysql_prefix">Prefix for the created tables : </label><input type="text" name="mysql_prefix" id="mysql_prefix" value="{$mysql_prefix}"/><br/>
<em>Note :</em> Leave the field blank to not use any.</p>
<em>Note :</em> Leave the field blank to not use any. You must create the necessary tables manually.</p>
</fieldset>
<fieldset>
<legend>General options</legend>

View File

@ -0,0 +1,13 @@
{include="header"}
<h1 id="title">{$instance_title} - Connexion</h1>
<form method="post" action="index.php?do=connect" id="connexion_form">
<p><label for="login" class="label-block">Identifiant : </label><input type="text" name="login" id="login" value="{$user_post}"/></p>
<p><label for="password" class="label-block">Mot de passe : </label><input type="password" name="password" id="password"/> <a href="" onclick="toggle_password('password'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
<p><input type="checkbox" name="remember_me" id="remember_me" value="1"/><label for="remember_me"> Se souvenir de moi ?</label></p>
<p><input type="submit" value="Connexion"/><input type="hidden" name="token" value="{$token}"/></p>
<p><a href="mailto:{$email_webmaster}?subject={$instance_title}%20password">Mot de passe oublié ?</a></p>
</form>
{include="footer"}

View File

@ -0,0 +1,173 @@
html {
height: 100%;
}
body {
position: relative;
padding-bottom: 2em;
min-height: calc(100% - 2em);
font-family: sans-serif;
margin: 0;
}
fieldset {
border: 1px solid #999;
margin-bottom: 1em;
}
form a {
position: relative;
}
form img {
height: 1.5em;
vertical-align: middle;
position: absolute;
left: .5em;
}
table {
margin: auto;
text-align: center;
max-width: 100%;
border-collapse: collapse;
}
table td, table th {
padding: 0.5em;
border: 1px solid black;
}
table th {
background-color: #DDD;
}
h2 {
background-color: #333;
padding: 0.5em;
text-align: right;
color: white;
border-top-right-radius: 1em;
border-bottom-right-radius: 1em;
display: inline-block;
padding-left: 3em;
border: 0.3em solid green;
border-left: none;
}
input[type="checkbox"] {
margin-left: 2em;
}
.center {
text-align: center;
}
.label-block {
display: inline-block;
text-align: right;
margin-right: 10px;
width: 200px;
}
.cell-disabled {
background-color: rgb(221, 221, 221);
}
input[type=submit] {
background-color: green;
color: white;
border-radius: 10px;
}
#title, #title a, #title a:visited, #install h1 {
background-color: #333;
border-bottom: 0.3em solid green;
color: white;
padding: 0.5em;
margin: 0;
text-align: center;
}
#title a {
text-decoration: none;
}
#menu ul {
text-align: center;
}
#menu li {
display: inline-block;
margin-left: 1em;
margin-right: 1em;
}
#notice {
text-align: center;
font-size: 1.5em;
background-color: green;
padding: 0.1em;
}
#detailed_summary {
margin-top: 2.5em;
}
#connexion_form {
margin: auto;
width: 67%;
text-align: center
}
#edit_password_form, #edit_user_form, #invoice_form, #notice_form {
width: 67%;
margin: auto;
}
#edit_password_form p, #edit_user_form p, #notice_form p {
text-align: center;
}
#edit_user_admin_rights {
text-align: center;
}
#textarea_notice {
width: 75%;
}
textarea#what {
width: 75%;
}
#list_expenses tr:hover, #balance_table tr:not(:first-child):hover *, .highlight_td {
background-color: green;
}
#user_connected {
text-align: right;
margin-right: 1em;
position: absolute;
bottom: 0;
height: 1em;
font-size: 0.75em;
right: 0;
font-style: italic;
}
#install {
margin: 0;
}
#install form, #settings_form {
width: 67%;
margin: auto;
}
.error {
font-size: 1.5em;
color: red;
font-weight: bold;
text-align: center;
}

View File

@ -0,0 +1,69 @@
{include="header"}
{if condition="$view == 'list_users'"}
<h2>List des utilisateurs</h2>
<p class="center">Vous pouvez également <a href="?do=add_user">ajouter un utilisateur</a>.</p>
<table id="edit_users">
<tr>
<th>Id</th>
<th>Identifiant</th>
<th>Nom affiché</th>
<th>Administrateur ?</th>
<th>Modifier</th>
<th>Supprimer</th>
</tr>
{loop="users"}
<tr>
<td>{$value->getId()}</td>
<td>{$value->getLogin()}</td>
<td>{$value->getDisplayName()}</td>
<td>{$value->getAdmin() ? "Yes" : "No"}</td>
<td><a href="index.php?do=edit_users&user_id={$value->getId()}">Modifier</a></td>
<td>{if condition="$value->getId() != $current_user->getId()"}<a href="index.php?do=delete_user&user_id={$value->getId()}">Supprimer</a>{/if}</td>
</tr>
{/loop}
</table>
{elseif condition="$view == 'edit_user'"}
<h2>{$user_id != -1 ? 'Modifier' : 'Ajouter'} un utilisateur</h2>
<form method="post" action="index.php?do={$user_id != -1 ? 'edit_users' : 'add_user'}" id="edit_user_form">
<p>
<label for="login" class="label-block">Identifiant : </label><input type="text" name="login" id="login" {if condition="$login_post != ''"} value="{$login_post}" {else} {$user_id != -1 ? 'value="'.$user_data->getLogin().'"' : ''} {/if}/>
</p>
<p>
<label for="display_name" class="label-block">Nom affiché : </label><input type="text" name="display_name" id="display_name" {if condition="$display_name_post != ''"} value="{$display_name_post}" {else} {$user_id != -1 ? 'value="'.$user_data->getDisplayName().'"' : ''} {/if}/>
</p>
<p>
<label for="password" class="label-block">Mot de passe : </label><input type="password" name="password" id="password"/> <a href="" onclick="toggle_password('password'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a>
{if condition="$user_id != -1"}
<br/><em>Note :</em> Laissez ce champ vide pour ne pas modifier le mot de passe.
{/if}
</p>
<p id="edit_user_admin_rights">
Donner des droits administateurs à cet utilisateur ?<br/>
<input type="radio" id="admin_yes" value="1" name="admin" {if condition="$admin_post == 1 || ($admin_post == -1 && $user_id != -1 && $user_data->getAdmin())"} checked{/if}/><label for="admin_yes">Oui</label><br/>
<input type="radio" id="admin_no" value="0" name="admin" {if condition="$admin_post == 0 || ($admin_post == -1 && ($user_id == -1 || !$user_data->getAdmin()))"} checked{/if}/><label for="admin_no">Non</label>
</p>
<p class="center">
<input type="submit" value="{$user_id != -1 ? 'Modifier' : 'Ajouter'}"/>
{if condition="$user_id != -1"}<input type="hidden" name="user_id" value="{$user_id}"/>{/if}
<input type="hidden" name="token" value="{$token}"/>
</p>
</form>
{if condition="$user_id != -1"}
<h2>Jeton d'identification pour l'utilisateur</h2>
<p>Le jeton personnel d'identification à utiliser pour la connection à l'API est : {$user_data->getJsonToken()}.<br/>Si vous pensez qu'il a pu être compromis, vous pouvez <a href="index.php?do=new_token&user_id={$user_data->getId()}">en générer un nouveau</a>.</p>
{/if}
{elseif condition="$view == 'password'"}
<h2>Modifier votre mot de passe</h2>
<form method="post" action="index.php?do=password" id="edit_password_form">
<p><label for="password" class="label-block">Nouveau mot de passe : </label><input type="password" id="password" name="password"/> <a href="" onclick="toggle_password('password'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
<p><label for="password_confirm" class="label-block">Confirmation : </label><input type="password" id="password_confirm" name="password_confirm"/> <a href="" onclick="toggle_password('password_confirm'); return false;"><img src="img/toggleVisible.png" alt="Afficher / Masquer"/></a></p>
<p class="center"><input type="submit" value="Update"/><input type="hidden" name="token" value="{$token}"</p>
</form>
<h2>Votre jeton de connexion à l'API</h2>
<p>Votre jeton personnel de connexion à l'API est : {$json_token}.<br/>Si vous pensez qu'il a pu être compromis, vous pouvez <a href="index.php?do=new_token">en générer un nouveau</a>.</p>
{/if}
{include="footer"}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

BIN
tpl/default_fr/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

7
tpl/default_fr/footer.html Executable file
View File

@ -0,0 +1,7 @@
{if condition="!$connection"}
<p id="user_connected">Connecté en tant que {$current_user->getDisplayName()}.</p>
{/if}
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</body>
</html>

34
tpl/default_fr/header.html Executable file
View File

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>{$instance_title}</title>
<link rel="stylesheet" media="screen" type="text/css" href="css/style.css" />
<meta name="viewport" content="width=device-width"/>
<link rel="icon" href="favicon-32.png" sizes="32x32">
<link rel="apple-touch-icon-precomposed" href="favicon-152.png">
<meta name="msapplication-TileColor" content="#333333">
<meta name="msapplication-TileImage" content="favicon-144.png">
</head>
<body>
{if condition="!$connection"}
<h1 id="title"><a href="{$base_url}">{$instance_title}</a></h1>
<div id="menu">
<ul>
<li><a href="index.php?do=new_invoice">Ajouter une dépense</a></li>
<li><a href="index.php?do=password">Modifier votre mot de passe</a></li>
<li><a href="index.php?do=paybacks">Voir les remboursements globaux</a></li>
<li><a href="index.php?do=disconnect">Se déconnecter</a></li>
</ul>
{if condition="$current_user->getAdmin() == 1"}
<ul>
<li><a href="index.php?do=manage_paybacks">Gérer les remboursements globaux</a></li>
<li><a href="index.php?do=edit_users">Modifier les utilisateurs</a></li>
<li><a href="index.php?do=edit_notice">Modifier l'annonce d'accueil</a></li>
<li><a href="index.php?do=settings">Préférences</a></li>
</ul>
{/if}
</div>
{/if}
{if condition="!empty($error)"}<p class="error">{$error}</p>{/if}

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

121
tpl/default_fr/index.html Executable file
View File

@ -0,0 +1,121 @@
{include="header"}
{if condition="$notice != ''"}
<div id="notice"><p>{$notice}</p></div>
{/if}
<div id="quick_summary">
<h2>Bilan</h2>
<p class="center">Lire <em>ligne</em> doit <em>case</em> {$currency} à <em>colonne</em>. Vous pouvez cliquer sur les liens pour confirmer les remboursements.
<table id="balance_table">
<tr>
<th>Doit\À</th>
{loop="users"}
<th>{$value->getDisplayName()}</th>
{/loop}
</tr>
{loop="users"}
<tr>
<th>{$value->getDisplayName()}</th>
{loop="users"}
{if condition="$balances[$value1->getId()][$value2->getId()] === 'X'"}
<td class="cell-disabled"></td>
{elseif condition="$balances[$value1->getId()][$value2->getId()] === '-' || ($value2->getId() != $current_user->getId() && !$current_user->getAdmin())"}
<td>{$balances[$value1->getId()][$value2->getId()]}</td>
{else}
<td><a href="?do=payall&amp;from={$value1->getId()}&amp;to={$value2->getId()}">{$balances[$value1->getId()][$value2->getId()]}</a></td>
{/if}
{/loop}
</tr>
{/loop}
</table>
</div>
<div id="detailed_summary">
<h2>Liste détaillée des dépenses{if condition="$all == 0"} du dernier mois{/if}</h2>
{if condition="$all == 0"}
<p class="center"><a href="?all=1">Afficher toutes les dépenses</a></p>
{else}
<p class="center"><a href="?all=0">Afficher uniquement les dépenses du dernier mois</a></p>
{/if}
{if condition="$invoices !== false && count($invoices)>=1"}
<table id="list_expenses">
<tr>
<th>Date</th>
<th>Payé par</th>
<th>Participants</th>
<th>Montant</th>
<th>Quoi ?</th>
<th>Modifier</th>
<th>Supprimer</th>
</tr>
{loop="invoices"}
<tr>
<td>{$value->getDate('d/m/Y A')}</td>
<td>{$users[$value->getBuyer()]->getDisplayName()}</td>
<td>
{loop="$value->getUsersIn()->get()"}
{$users[$key2]->getDisplayName()}
{if condition="$value2 > 1"}
({$value2} guests)
{elseif condition="$value2 == 1"}
({$value2} guest)
{/if}
{if condition="$value1->getBuyer() != $key2"}
-
{if condition="$paybacks[$value1->getId()] === false || !in_array($key2, array_keys($paybacks[$value1->getId()]))"}
{if condition="$current_user->getId() == $value1->getBuyer() || $current_user->getAdmin()"}
<a href="?do=confirm_payback&amp;from={$key2}&amp;to={$value1->getBuyer()}&amp;invoice_id={$value1->getId()}" title="Confirmer le remboursement">
{/if}
Reste {$value1->getAmountPerPerson($key2)} {$currency}
{if condition="$current_user->getId() == $value1->getBuyer() || $current_user->getAdmin()"}
</a>
{/if}
{else}
{if condition="$paybacks[$value1->getId()][$key2]->getAmount() == $value1->getAmountPerPerson($key2)"}
{if condition="$current_user->getId() == $value1->getBuyer() || $current_user->getAdmin()"}
<a href="?do=delete_payback&amp;from={$key2}&amp;to={$value1->getBuyer()}&amp;invoice_id={$value1->getId()}" title="Supprimer le remboursement">
{/if}
Payé
{if condition="$current_user->getId() == $value1->getBuyer() || $current_user->getAdmin()"}
</a>
{/if}
{else}
{if condition="$current_user->getId() == $value1->getBuyer() || $current_user->getAdmin()"}
<a href="?do=confirm_payback&amp;from={$key2}&amp;to={$value1->getBuyer()}&amp;invoice_id={$value1->getId()}&amp;payback_id={$paybacks[$value1->getId()][$key2]->getId()}" title="Confirmer le remboursement">
{/if}
Reste {$value1->getAmountPerPerson($key2) - $paybacks[$value1->getId()][$key2]->getAmount()}{$currency}
{if condition="$current_user->getId() == $value1->getBuyer() || $current_user->getAdmin()"}
</a>
{/if}
{/if}
{/if}
{/if}
<br/>
{/loop}
</td>
<td>{$value->getAmount()}{$currency}</td>
<td>{$value->getWhat()}</td>
<td>
{if condition="$value->getBuyer() == $current_user->getId() || $current_user->getAdmin()"}
<a href="index.php?do=edit_invoice&id={$value->getId()}">Modifier</a>
{else}
-
{/if}
</td>
<td>
{if condition="$value->getBuyer() == $current_user->getId() || $current_user->getAdmin()"}
<a href="index.php?do=delete_invoice&id={$value->getId()}">Supprimer</a>
{else}
-
{/if}
</td>
</tr>
{/loop}
</table>
{else}
<p class="center">Aucune dépense à afficher.</p>
{/if}
</div>
{include="footer"}

File diff suppressed because one or more lines are too long

67
tpl/default_fr/js/main.js Normal file
View File

@ -0,0 +1,67 @@
function set_days_month_year() {
var date_day = $('#date_day option:selected').val();
var date_month = $('#date_month option:selected').val();
var date_year = $('#date_year option:selected').val();
// Handle day for month
if(["4", "6", "9", "11"].indexOf(date_month) > -1) {
(! $('#date_day options[value=29]').length) && $('#date_day').append('<option value="29">29</option>');
(! $('#date_day options[value=30]').length) && $('#date_day').append('<option value="30">30</option>');
$('#date_day option[value=31]').remove();
}
else if(date_month == "2") {
// Handle bissextile years
$('#date_day option[value=30]').remove();
$('#date_day option[value=31]').remove();
if(date_year % 4 != 0 || date_year % 400 == 0) {
$('#date_day option[value=29]').remove();
}
}
else {
(! $('#date_day options[value=29]').length) && $('#date_day').append('<option value="29">29</option>');
(! $('#date_day options[value=30]').length) && $('#date_day').append('<option value="30">30</option>');
(! $('#date_day options[value=31]').length) && $('#date_day').append('<option value="31">31</option>');
}
}
function guest_user_label(id) {
if(document.getElementById('guest_user_'+id).value > 1)
document.getElementById('guest_user_'+id+'_label').innerHTML = ' invités';
else
document.getElementById('guest_user_'+id+'_label').innerHTML = ' invité';
}
function toggle_password(id) {
if(document.getElementById(id).type == 'password')
document.getElementById(id).type = 'text';
else
document.getElementById(id).type = 'password';
}
$(document).ready(function() {
$('#balance_table td').hover(function() {
$(this).closest('tr').find('td,th').addClass('highlight_td');
var col = $(this).index()+1;
$(this).closest('table').find('tr :nth-child('+col+')').addClass('highlight_td');
}, function() {
$(this).closest('tr').find('td,th').removeClass('highlight_td');
var col = $(this).index()+1;
$(this).closest('table').find('tr :nth-child('+col+')').removeClass('highlight_td');
});
$('#balance_table tr:first-child th:not(:first-child)').hover(function() {
var col = $(this).index()+1;
$(this).closest('table').find('tr :nth-child('+col+')').addClass('highlight_td');
}, function() {
var col = $(this).index()+1;
$(this).closest('table').find('tr :nth-child('+col+')').removeClass('highlight_td');
});
if($('#invoice_form').length) {
$('#invoice_form input[id^=users_in]').each(function () {
var id = $(this).attr('id').replace('users_in_', '');
guest_user_label(id);
});
}
});

52
tpl/default_fr/new_invoice.html Executable file
View File

@ -0,0 +1,52 @@
{include="header"}
<h2>{if condition="$id != 0"}Modifier{else}Ajouter{/if} une dépense</h2>
<form method="post" action="index.php?do=new_invoice" id="invoice_form">
<fieldset>
<legend>Dépense</legend>
<p>
<label for="what">Quoi ? </label>
</p>
<textarea name="what" id="what" rows="10">{$what_post}</textarea>
<p>
<label for="amount">Montant : </label>
<input type="text" name="amount" id="amount" {if condition="$amount_post != 0"} value="{$amount_post}" {/if} size="5"/> {$currency}
</p>
<p>
<label for="date_day">Date : </label>
<select name="date_day" id="date_day">
{loop="days"}
<option value="{$value}" {if condition="$value == $day_post"}selected{/if}>{$value}</option>
{/loop}
</select> /
<select name="date_month" id="date_month" onchange="set_days_month_year();">
{loop="months"}
<option value="{$value}" {if condition="$value == $month_post"}selected{/if}>{$value}</option>
{/loop}
</select> /
<select name="date_year" id="date_year" onchange="set_days_month_year();">
{loop="years"}
<option value="{$value}" {if condition="$value == $year_post"}selected{/if}>{$value}</option>
{/loop}
</select>
<select name="date_hour" id="date_hour">
<option value="0" {if condition="$hour_post == 0"}selected{/if}>AM</option>
<option value="1" {if condition="$hour_post == 1"}selected{/if}>PM</option>
</select>
</p>
</fieldset>
<fieldset>
<legend>Participants ?</legend>
{loop="users"}
<input type="checkbox" name="users_in[]" value="{$value->getId()}" id="users_in_{$value->getId()}" {if condition="($current_user->getId() == $value->getId() && empty($users_in)) || in_array($value->getId(), array_keys($users_in))"} checked {/if}/> <label for="users_in_{$value->getId()}">{$value->getDisplayName()}</label> et <input type="text" name="guest_user_{$value->getId()}" id="guest_user_{$value->getId()}" size="1" {if condition="in_array($value->getId(), array_keys($users_in))"} value="{$users_in[$value->getId()]}" {else} value="0" {/if} onkeyup="guest_user_label({$value->getId()});"/><label for="guest_user_{$value->getId()}" id="guest_user_{$value->getId()}_label"> invité</label>.<br/>
{/loop}
</fieldset>
<p class="center">
<input type="submit" value="{if condition='$id != 0'}Modifier{else}Ajouter{/id}"/>
{if condition="$id != 0"}<input type="hidden" name="id" value="{$id}"/>{/if}
<input type="hidden" name="token" value="{$token}"/>
</p>
</form>
{include="footer"}

View File

@ -0,0 +1,65 @@
{include="header"}
{if condition="!$show_settings"}
<h2>Modifier l'annonce d'accueil</h2>
<form method="post" id="notice_form" action="index.php?do=edit_notice">
<p>
<label for="textarea_notice">Annonce d'accueil :</label><br/>
<textarea name="notice" rows="15" id="textarea_notice">{$notice}</textarea>
</p>
<p><em>Note :</em> Vous pouvez utiliser du balisage HTML dans ce champ.</p>
<p class="center">
<input type="submit" value="Submit"/>
<input type="hidden" name="token" value="{$token}"/>
</p>
</form>
{else}
<h2>Change settings of your Bouffe@Ulm installation</h2>
<form method="post" action="index.php?do=settings" id="settings_form">
<fieldset>
<legend>Base de données</legend>
<p><em>Note :</em> Utilisez ces paramètres avec précaution. Votre base de données ne sera pas mise à jour par le script comme elle l'a été durant l'étape d'installation et vous devrez donc vous en occuper manuellement.</p>
<p><label for="mysql_host">Hôte MySQL : </label><input type="text" name="mysql_host" id="mysql_host" value="{$mysql_host}"/></p>
<p><label for="mysql_login">Login MySQL : </label><input type="text" name="mysql_login" id="mysql_login" value="{$mysql_login}"/></p>
<p>
<label for="mysql_password">Mot de passe MySQL : </label><input type="password" name="mysql_password" id="mysql_password"/> <a href="" onclick="toggle_password('mysql_password'); return false;"><img src="img/toggleVisible.png" alt="Afficher / masque"/></a><br/>
<em>Note :</em> Laissez ce champ vide pour ne pas le modifier.
</p>
<p>
<label for="mysql_db">Base de données à utiliser : </label><input type="text" name="mysql_db" id="mysql_db" value="{$mysql_db}"/><br/>
<em>Note :</em> Vous <em>devez</em> créer cette base de données d'abord.
</p>
<p>
<label for="mysql_prefix">Préfixe à utiliser pour les tables : </label><input type="text" name="mysql_prefix" id="mysql_prefix" value="{$mysql_prefix}"/><br/>
<em>Note :</em> Laissez ce champ vide pour ne pas en utiliser. Vous devez créer les tables manuellement.</p>
</fieldset>
<fieldset>
<legend>Options générales</legend>
<p><label for="instance_title">Titre de l'instance : </label><input type="text" name="instance_title" id="instance_title" value="{$instance_title}"/></p>
<p>
<label for="base_url">URL de base : </label><input type="text" size="30" name="base_url" id="base_url" value="{$base_url}"/><br/>
<em>Note :</em> Correspond à l'URL de base à partir de laquelle vous visitez cette instance. Vous devez conserver le slash ("/") final dans l'adresse.
</p>
<p><label for="currency">Devise : </label><input type="text" name="currency" id="currency" size="3" value="{$currency}"/></p>
<p>
<label for="timezone">Fuseau horaire : </label><input type="text" name="timezone" id="timezone" value="{$timezone}"/><br/>
<em>Par exemple :</em> Europe/Paris. Voir la doc pour plus d'infos.
</p>
<p>
<label for="template">Template : </label>
<select name="template" id="template">
{loop="templates"}
<option value="{$value['value']}" {if condition="$value == $current_template"} selected="selected" {/if}>{$value['option']}</option>
{/loop}
</select
</p>
<p><label for="email_webmaster">Adresse e-mail du webmaster : </label><input type="text" name="email_webmaster" id="email_webmaster" value="{$email_webmaster}"/></p>
</fieldset>
<p class="center"><input type="submit" value="Enregistrer"><input type="hidden" name="token" value="{$token}"/></p>
</form>
{/if}
{include="footer"}