diff --git a/trunk/css/default/LSformElement_mailQuota.css b/trunk/css/default/LSformElement_mailQuota.css
new file mode 100644
index 00000000..aeffd40f
--- /dev/null
+++ b/trunk/css/default/LSformElement_mailQuota.css
@@ -0,0 +1,14 @@
+input.LSformElement_mailQuota {
+ width: 3em !important;
+ text-align: right;
+}
+
+select.LSformElement_mailQuota {
+ width: 3em;
+}
+
+span.LSformElement_mailQuota_unknown {
+ color: #f59a67;
+}
+
+
diff --git a/trunk/includes/class/class.LSattr_html_mailQuota.php b/trunk/includes/class/class.LSattr_html_mailQuota.php
new file mode 100644
index 00000000..c8423564
--- /dev/null
+++ b/trunk/includes/class/class.LSattr_html_mailQuota.php
@@ -0,0 +1,34 @@
+
+ */
+class LSattr_html_mailQuota extends LSattr_html {
+
+ var $LSformElement_type = 'mailQuota';
+
+}
+
+?>
diff --git a/trunk/includes/class/class.LSformElement_mailQuota.php b/trunk/includes/class/class.LSformElement_mailQuota.php
new file mode 100644
index 00000000..5c19dd12
--- /dev/null
+++ b/trunk/includes/class/class.LSformElement_mailQuota.php
@@ -0,0 +1,151 @@
+
+ */
+
+class LSformElement_mailQuota extends LSformElement {
+
+ var $fieldTemplate = 'LSformElement_mailQuota_field.tpl';
+
+ var $sizeFacts = array(
+ 1 => 'o',
+ 1000 => 'Ko',
+ 1000000 => 'Mo',
+ 1000000000 => 'Go'
+ );
+
+ /**
+ * Retourne les infos d'affichage de l'élément
+ *
+ * Cette méthode retourne les informations d'affichage de l'élement
+ *
+ * @retval array
+ */
+ function getDisplay(){
+ $return = $this -> getLabelInfos();
+
+ $quotas=array();
+
+ foreach ($this -> values as $value) {
+ if (ereg('([0-9]*)S',$value,$regs)) {
+ $infos = array(
+ 'size' => $regs[1]
+ );
+ if ($infos['size'] >= 1000000000) {
+ $infos['valueSizeFact']=1000000000;
+ }
+ else if ($infos['size'] >= 1000000) {
+ $infos['valueSizeFact']=1000000;
+ }
+ else if ($infos['size'] >= 1000) {
+ $infos['valueSizeFact']=1000;
+ }
+ else {
+ $infos['valueSizeFact']=1;
+ }
+ $infos['valueSize'] = $infos['size'] / $infos['valueSizeFact'];
+ $infos['valueTxt'] = $infos['valueSize'].$this ->sizeFacts[$infos['valueSizeFact']];
+
+ $quotas[$value] = $infos;
+ }
+ else {
+ $quotas[$value] = array(
+ 'unknown' => _('Valeur incorrect')
+ );
+ }
+ }
+
+ $GLOBALS['LSsession'] -> addCssFile('LSformElement_mailQuota.css');
+
+ $return['html'] = $this -> fetchTemplate(
+ NULL,
+ array(
+ 'quotas' => $quotas,
+ 'sizeFacts' => $this -> sizeFacts
+ )
+ );
+ return $return;
+ }
+
+ /**
+ * Retourne le code HTML d'un champ vide
+ *
+ * @retval string Code HTML d'un champ vide.
+ */
+ function getEmptyField() {
+ return $this -> fetchTemplate(
+ $this -> fieldTemplate,
+ array(
+ 'sizeFacts' => $this -> sizeFacts
+ )
+ );
+ }
+
+ /**
+ * Recupère la valeur de l'élement passée en POST
+ *
+ * Cette méthode vérifie la présence en POST de la valeur de l'élément et la récupère
+ * pour la mettre dans le tableau passer en paramètre avec en clef le nom de l'élément
+ *
+ * @param[] array Pointeur sur le tableau qui recupèrera la valeur.
+ *
+ * @retval boolean true si la valeur est présente en POST, false sinon
+ */
+ function getPostData(&$return) {
+ if($this -> isFreeze()) {
+ return true;
+ }
+ if (isset($_POST[$this -> name.'_size'])) {
+ $return[$this -> name]=array();
+ if(!is_array($_POST[$this -> name.'_size'])) {
+ $_POST[$this -> name.'_size'] = array($_POST[$this -> name.'_size']);
+ }
+ if(isset($_POST[$this -> name.'_sizeFact']) && !is_array($_POST[$this -> name.'_sizeFact'])) {
+ $_POST[$this -> name.'_sizeFact'] = array($_POST[$this -> name.'_sizeFact']);
+ }
+ foreach($_POST[$this -> name.'_size'] as $key => $val) {
+ if (!empty($val)) {
+ $f = 1;
+ if (isset($_POST[$this -> name.'_sizeFact'][$key]) && ($_POST[$this -> name.'_sizeFact'][$key]!=1)) {
+ $f = $_POST[$this -> name.'_sizeFact'][$key];
+ }
+ $return[$this -> name][$key] = ($val*$f).'S';
+ }
+ }
+ return true;
+ }
+ else {
+ $return[$this -> name] = array();
+ return true;
+ }
+ }
+}
+
+?>
diff --git a/trunk/templates/default/LSformElement_mailQuota_field.tpl b/trunk/templates/default/LSformElement_mailQuota_field.tpl
new file mode 100644
index 00000000..edae538e
--- /dev/null
+++ b/trunk/templates/default/LSformElement_mailQuota_field.tpl
@@ -0,0 +1,19 @@
+{if $freeze}
+ {if $value}
+ {if $quotas[$value].unknown}
+ Valeur incorrecte
+ {else}
+ {$quotas[$value].valueTxt}
+ {/if}
+ {else}
+ {$noValueTxt}
+ {/if}
+{else}
+
+
+ {if $quotas[$value].unknown}
+ Valeur incorrecte
+ {/if}
+{/if}