From 3621480392a06d0d9f931cb195cc8c32f55b72a4 Mon Sep 17 00:00:00 2001 From: Alexis Lahouze Date: Tue, 18 Oct 2011 19:09:44 +0000 Subject: [PATCH] Merged changesets 3085, 3087, 3088, 3089, 3091, 3099, 3100, 3101, 3102, 3103 from branch stable 1.0 to trunk. --- bureau/class/m_admin.php | 2 +- bureau/class/m_dom.php | 31 +- bureau/class/m_err.php | 50 +-- bureau/locales/fr_FR/LC_MESSAGES/manual.po | 341 +++++++++++---------- debian/changelog | 13 + debian/control | 2 +- etc/alternc/phpmyadmin.inc.php | 1 + etc/alternc/templates/apache2/vhost.conf | 2 +- install/mysql.sql | 2 +- install/upgrades/1.0.sql | 2 +- src/functions_hosting.sh | 19 +- 11 files changed, 257 insertions(+), 208 deletions(-) diff --git a/bureau/class/m_admin.php b/bureau/class/m_admin.php index ccc7c1c5..55d77a56 100644 --- a/bureau/class/m_admin.php +++ b/bureau/class/m_admin.php @@ -852,7 +852,7 @@ EOF; file_put_contents($cachefile,serialize($checked)); } } - $db->query("SELECT m.login,d.domaine,d.gesdns,d.gesmx,d.noerase FROM domaines d LEFT JOIN membres m ON m.uid=d.compte ORDER BY domaine;"); + $db->query("SELECT m.uid,m.login,d.domaine,d.gesdns,d.gesmx,d.noerase FROM domaines d LEFT JOIN membres m ON m.uid=d.compte ORDER BY domaine;"); while ($db->next_record()) { $tmp=$db->Record; if ($alsocheck) { diff --git a/bureau/class/m_dom.php b/bureau/class/m_dom.php index d579e930..17a3dd83 100644 --- a/bureau/class/m_dom.php +++ b/bureau/class/m_dom.php @@ -186,6 +186,11 @@ class m_dom { function domains_type_update($name, $description, $target, $entry, $compatibility, $enable, $only_dns, $need_dns,$advanced) { global $err,$cuid,$db; $id=intval($id); + // The name MUST contain only letter and digits, it's an identifier after all ... + if (!preg_match("#^[a-z0-9]+$#",$name)) { + $err->raise("dom", 26); + return false; + } $name=mysql_real_escape_string($name); $description=mysql_real_escape_string($description); $target=mysql_real_escape_string($target); @@ -799,24 +804,33 @@ class m_dom { } //check_type_value + /* ----------------------------------------------------------------- */ + /** + * Check the compatibility of the POSTed parameters with the chosen + * domain type + * + * @param string $dom FQDN of the domain name + * @param string $sub SUBdomain + * @return boolean tell you if the subdomain can be installed there + */ function can_create_subdomain($dom,$sub,$type,$type_old='', $value_old='') { global $db,$err,$cuid; $err->log("dom","can_create_subdomain",$dom."/".$sub); - # Get the compatibility list for this domain type + // Get the compatibility list for this domain type $db->query("select upper(compatibility) as compatibility from domaines_type where upper(name)=upper('$type');"); if (!$db->next_record()) return false; $compatibility_lst = explode(",",$db->f('compatibility')); - # Get the list of type of subdomains already here who have the same name + // Get the list of type of subdomains already here who have the same name $db->query("select * from sub_domaines where sub='$sub' and domaine='$dom' and not (type='$type_old' and valeur='$value_old') and web_action != 'DELETE'"); #$db->query("select * from sub_domaines where sub='$sub' and domaine='$dom';"); while ($db->next_record()) { - # And if there is a domain with a incompatible type, return false + // And if there is a domain with a incompatible type, return false if (! in_array(strtoupper($db->f('type')),$compatibility_lst)) return false; } - # All is right, go ! Create ur domain ! + // All is right, go ! Create ur domain ! return true; } @@ -836,7 +850,6 @@ class m_dom { * de $type (url, ip, dossier...) * @return boolean Retourne FALSE si une erreur s'est produite, TRUE sinon. */ - // TODO : j'ai viré le type action, valider que plus personne ne l'utilise (quatrieme argument) function set_sub_domain($dom,$sub,$type,$dest, $type_old=null,$sub_old=null,$value_old=null) { global $db,$err,$cuid; $err->log("dom","set_sub_domain",$dom."/".$sub."/".$type."/".$dest); @@ -859,8 +872,8 @@ class m_dom { } if (! $this->check_type_value($type,$dest)) { - # TODO have a real err code - $err->raise("dom",667); + // Invalid domain type selected, please check. + $err->raise("dom",27); return false; } @@ -871,8 +884,8 @@ class m_dom { } if (! $this->can_create_subdomain($dom,$sub,$type,$type_old,$value_old)) { - # TODO have a real error code - $err->raise("dom", 654); + // The parameters for this subdomain and domain type are invalid. Please check for subdomain entries incompatibility + $err->raise("dom", 28); return false; } diff --git a/bureau/class/m_err.php b/bureau/class/m_err.php index 2fe424a4..196fe798 100644 --- a/bureau/class/m_err.php +++ b/bureau/class/m_err.php @@ -22,12 +22,12 @@ /** * Classe de gestion des erreurs apparaissant lors d'appels API. * -*

Cette classe gère les erreurs qui peuvent apparaitre lors d'appels -* à l'API d'AlternC. Ces erreurs sont stockées sous la forme de 2 nombres -* (Classe ID et Numéro d'erreur) ainsi qu'un texte facultatif associé. -* Des textes d'erreurs localisés sont aussi disponibles.

-*

Cette classe se charge aussi d'insérer les appels à l'API d'AlternC -* dans les logs du système dans /var/log/alternc/bureau.log +*

Cette classe gère les erreurs qui peuvent apparaitre lors d'appels +* à l'API d'AlternC. Ces erreurs sont stockées sous la forme de 2 nombres +* (Classe ID et Numéro d'erreur) ainsi qu'un texte facultatif associé. +* Des textes d'erreurs localisés sont aussi disponibles.

+*

Cette classe se charge aussi d'insérer les appels à l'API d'AlternC +* dans les logs du système dans /var/log/alternc/bureau.log *

* Copyleft {@link http://alternc.net/ AlternC Team} * @@ -38,10 +38,10 @@ class m_err { /** Numero de classe d'erreur actuelle */ var $clsid=0; - /** Dernière erreur enregistrée par la classe */ + /** Dernière erreur enregistrée par la classe */ var $error=0; - /** Paramètre chaine eventuellement associé à la dernière erreur */ + /** Paramètre chaine eventuellement associé à la dernière erreur */ var $param=""; /** Emplacement du fichier de logs d'AlternC */ @@ -51,13 +51,13 @@ class m_err { * Leve une erreur, signale celle-ci dans les logs et stocke le code erreur * * Cette fonction lance une erreur, l'ajoute dans les logs d'AlternC, - * et la met à disposition pour le bureau virtuel pour affichage ultérieur. + * et la met à disposition pour le bureau virtuel pour affichage ultérieur. * - * @todo ne plus utiliser $error de façon numérique, nulle part + * @todo ne plus utiliser $error de façon numérique, nulle part * - * @param integer $clsid Classe qui lève l'erreur - * @param mixed $error Numéro de l'erreur ou chaîne décrivant l'erreur - * @param string $param Paramètre chaine associé à l'erreur (facultatif) + * @param integer $clsid Classe qui lève l'erreur + * @param mixed $error Numéro de l'erreur ou chaîne décrivant l'erreur + * @param string $param Paramètre chaine associé à l'erreur (facultatif) * @return boolean TRUE si l'erreur est connue, FALSE sinon. * */ @@ -73,18 +73,18 @@ class m_err { } else { $this->clsid="err"; $this->error=1; - $this->param="Numéro $error, Classe $clsid, Valeur $param"; + $this->param="Error # $error in Class $clsid, Value is $param. (sorry, no text for this error in your language at the moment)"; $this->logerr(); return false; } } /** - * Retourne la chaine d'erreur correspondant à la dernière erreur rencontrée + * Retourne la chaine d'erreur correspondant à la dernière erreur rencontrée * - * Si la dernière erreur rencontrée est connue, retourne l'erreur en toute lettre - * dans la langue actuellement sélectionnée, ou en anglais par défaut. - * Si l'erreur n'est pas connue, retourne son numéro de classe et d'ereur. + * Si la dernière erreur rencontrée est connue, retourne l'erreur en toute lettre + * dans la langue actuellement sélectionnée, ou en anglais par défaut. + * Si l'erreur n'est pas connue, retourne son numéro de classe et d'ereur. * * @return string Chaine d'erreur. * @@ -108,9 +108,9 @@ class m_err { /** * Envoi un log d'erreur dans /var/log/alternc/bureau.log * - * Cette fonction Loggue la dernière erreur dans /var/log sur la machine, + * Cette fonction Loggue la dernière erreur dans /var/log sur la machine, * permettant ainsi aux admins de savoir ce qu'il se passe... - * Elle est appelée automatiquement par error + * Elle est appelée automatiquement par error * @access private */ function logerr() { @@ -127,13 +127,13 @@ class m_err { /** * Envoi un log d'appel d'API dans /var/log/alternc/bureau.log * - * Cette fonction loggue dans /var/log l'appel à la fonction de l'API + * Cette fonction loggue dans /var/log l'appel à la fonction de l'API * d'AlternC. * - * @param integer $clsid Numéro de la classe dont on a appelé une fonction - * @param string $function Nom de la fonction appelée - * @param string $param Paramètre (facultatif) passés à la fonction de l'API. - * @return boolean TRUE si le log a été ajouté, FALSE sinon + * @param integer $clsid Numéro de la classe dont on a appelé une fonction + * @param string $function Nom de la fonction appelée + * @param string $param Paramètre (facultatif) passés à la fonction de l'API. + * @return boolean TRUE si le log a été ajouté, FALSE sinon * */ function log($clsid,$function,$param="") { diff --git a/bureau/locales/fr_FR/LC_MESSAGES/manual.po b/bureau/locales/fr_FR/LC_MESSAGES/manual.po index 21a32d11..b6ccf15c 100644 --- a/bureau/locales/fr_FR/LC_MESSAGES/manual.po +++ b/bureau/locales/fr_FR/LC_MESSAGES/manual.po @@ -23,7 +23,7 @@ msgstr "" #. -- Only administrators can access this page !! -- msgid "err_admin_1" -msgstr "-- Seuls les administrateurs ont accès à ces pages !! --" +msgstr "-- Seuls les administrateurs ont accs ces pages !! --" #. Account not found msgid "err_admin_2" @@ -31,11 +31,11 @@ msgstr "Membre introuvable" #. This login already exists msgid "err_admin_3" -msgstr "Le login existe déjà !" +msgstr "Le login existe dj !" #. -- I cannot create this account -- msgid "err_admin_4" -msgstr "--Impossible de créer le compte--" +msgstr "--Impossible de crer le compte--" #. Please enter a valid email address msgid "err_admin_5" @@ -52,15 +52,15 @@ msgstr "" #. This account is ALREADY an administrator account msgid "err_admin_8" -msgstr "L'utilisateur spécifié est DÉJÀ Administrateur !" +msgstr "L'utilisateur spcifi est DJ Administrateur !" #. This account is NOT an administrator account ! msgid "err_admin_9" -msgstr "L'utilisateur spécifié n'est PAS Administrateur !" +msgstr "L'utilisateur spcifi n'est PAS Administrateur !" #. Login can only contains characters a-z, 0-9 and - msgid "err_admin_10" -msgstr "Les seuls caractères autorisés pour le login sont a-z 0-9 et -" +msgstr "Les seuls caractres autoriss pour le login sont a-z 0-9 et -" #. This TLD does not exist msgid "err_admin_11" @@ -68,11 +68,11 @@ msgstr "Ce TLD n'existe pas" #. This TLD already exists msgid "err_admin_12" -msgstr "Ce TLD existe déjà" +msgstr "Ce TLD existe dj" #. The login is too long (16 chars max) msgid "err_admin_13" -msgstr "Le login est trop long (16 caractères maximum)" +msgstr "Le login est trop long (16 caractres maximum)" #. Domain names msgid "quota_dom" @@ -101,13 +101,13 @@ msgstr "L'un des membres du nom de domaine est trop long." #. There is some forbidden characters in the domain name (only A-Z 0-9 and - are allowed). msgid "err_dom_6" msgstr "" -"Il y a des caractères interdits dans le nom de domaine (seuls A-Z 0-9 et - " -"sont autorisés)." +"Il y a des caractres interdits dans le nom de domaine (seuls A-Z 0-9 et - " +"sont autoriss)." #. The last member of the domain name is incorrect or cannot be hosted in that server. msgid "err_dom_7" msgstr "" -"Le dernier membre du domaine est incorrect ou non hébergeable sur ce serveur." +"Le dernier membre du domaine est incorrect ou non hbergeable sur ce serveur." #. The domain already exists. msgid "err_dom_8" @@ -116,16 +116,16 @@ msgstr "Le domaine existe deja." #. The domain has been deleted less than 5 minutes ago, please try again later. msgid "err_dom_9" msgstr "" -"Le domaine a été effacé il y a moins de 5 minutes, réessayez ultérieurement." +"Le domaine a t effac il y a moins de 5 minutes, ressayez ultrieurement." #. Your domain quota is over, you cannot create more domain names. msgid "err_dom_10" msgstr "" -"Vous avez atteint votre quota de domaines, vous ne pouvez plus en créer." +"Vous avez atteint votre quota de domaines, vous ne pouvez plus en crer." #. The Whois database is unavailable, please try again later. msgid "err_dom_11" -msgstr "Impossible de se connecter à la base Whois" +msgstr "Impossible de se connecter la base Whois" #. The domain cannot be found in the whois database. msgid "err_dom_12" @@ -134,7 +134,7 @@ msgstr "Domaine introuvable dans la base Whois" #. The domain has been changed less than 5 minutes ago. Please try again in a few minutes. msgid "err_dom_13" msgstr "" -"Le domaine a été modifié il y a moins de 5 minutes, réessayez ultérieurement." +"Le domaine a t modifi il y a moins de 5 minutes, ressayez ultrieurement." #. The sub-domain does not exist. msgid "err_dom_14" @@ -142,15 +142,15 @@ msgstr "Le sous-domaine n'existe pas." #. No change has been requested... msgid "err_dom_15" -msgstr "Aucune modification n'a été demandée ... " +msgstr "Aucune modification n'a t demande ... " #. The sub-domain already exists. msgid "err_dom_16" -msgstr "Le sous-domaine existe déjà." +msgstr "Le sous-domaine existe dj." #. --- Programm error --- Lock already obtained ! msgid "err_dom_17" -msgstr "--- Erreur de programmation --- Lock sur les domaines déjà obtenu !" +msgstr "--- Erreur de programmation --- Lock sur les domaines dj obtenu !" #. This domain is the server's domain !!! You cannot host it on your account ! msgid "err_dom_18" @@ -160,96 +160,109 @@ msgstr "" #. The IP address you entered is incorrect. msgid "err_dom_19" -msgstr "L'adresse IP entrée est incorrecte." +msgstr "L'adresse IP entre est incorrecte." #. The URL you entered is incorrect. msgid "err_dom_20" -msgstr "L'url entrée est incorrecte." +msgstr "L'url entre est incorrecte." #. The folder you entered is incorrect or does not exist. msgid "err_dom_21" -msgstr "Le répertoire entré est incorrect ou n'existe pas." +msgstr "Le rpertoire entr est incorrect ou n'existe pas." #. The requested domain is forbidden in this server, please contact the administrator msgid "err_dom_22" msgstr "" -"Le domaine demandé est interdit sur ce serveur, contactez l'administrateur" +"Le domaine demand est interdit sur ce serveur, contactez l'administrateur" #. The DNS of this domain do not match the server's DNS. Please change your #. domain's DNS (and eventually wait 1 day) before you install it again. msgid "err_dom_23" msgstr "" -"Les DNS de ce domaine ne correspondent pas à ceux du serveur.
Vous " +"Les DNS de ce domaine ne correspondent pas ceux du serveur.
Vous " "devez modifier les DNS du domaine (et, dans certains cas, attendre 24H)
avant de pouvoir l'installer" #. There is some forbidden characters in the sub domain (only A-Z 0-9 and - are allowed). msgid "err_dom_24" msgstr "" -"Il y a des caractères interdits dans le sous domaine (seuls A-Z 0-9 et - " -"sont autorisés)." +"Il y a des caractres interdits dans le sous domaine (seuls A-Z 0-9 et - " +"sont autoriss)." #. There is no MX record pointing to this server, and you are asking us to host the Mail here msgid "err_dom_25" msgstr "" "Il n'y a pas de MX pointant vers ce serveur, alors que vous nous demandez " -"d'héberger le mail ici." +"d'hberger le mail ici." + +#. The name of the domain type MUST contain only digits and letters +msgid "err_dom_26" +msgstr "Le nom des types de domaines ne doit être composé que de chiffres ou de lettres." + +#. Invalid domain type selected, please check. +msgid "err_dom_27" +msgstr "Un type de domaine invalide a été sélectionné, merci de vérifier." + +#. The parameters for this subdomain and domain type are invalid. Please check for subdomain entries incompatibility +msgid "err_dom_28" +msgstr "Les paramètres pour ce sous-domaine et ce type de domaine sont invalide. Vérifiez qu'aucune incompatibilité n'existe sur ce sous-domaine." + +#. - Entrez le nom du domaine que vous souhaitez hberger. Le nom de domaine +#. doit tre complet, mais sans le www.
IMPORTANT : Si vous voulez +#. un hbergement rel de domaine, il faut que les DNS de votre domaine +#. pointent vers nos serveurs DNS. Contacter votre hbergeur pour plus -#. - Entrez le nom du domaine que vous souhaitez héberger. Le nom de domaine -#. doit être complet, mais sans le www.
IMPORTANT : Si vous voulez -#. un hébergement réel de domaine, il faut que les DNS de votre domaine -#. pointent vers nos serveurs DNS. Contacter votre hébergeur pour plus #. d'information.
Exemples : globenet.org / demo.com / test.eu.org etc. #.
Plus d'info sur la gestion des domaines dans l'aide en ligne #. HELPID_200
msgid "hlp_add_domain" msgstr "" -"- Entrez le nom du domaine que vous souhaitez héberger. Le nom de domaine " -"doit être complet, mais sans le www.
IMPORTANT : Si vous voulez " -"un hébergement réel de domaine, il faut que les DNS de votre domaine " -"pointent vers nos serveurs DNS. Contacter votre hébergeur pour plus " +"- Entrez le nom du domaine que vous souhaitez hberger. Le nom de domaine " +"doit tre complet, mais sans le www.
IMPORTANT : Si vous voulez " +"un hbergement rel de domaine, il faut que les DNS de votre domaine " +"pointent vers nos serveurs DNS. Contacter votre hbergeur pour plus " "d'information.
Plus d'info sur la gestion des domaines dans l'aide en " "ligne HELPID_200
" -#. Cliquez sur le lien ci-dessus. Vous pourrez ensuite accéder aux paremètres -#. du domaine dans le menu à gauche.2 liens vont apparaitre :
- un -#. premier pour modifier les paramètres d'hébergement du domaine (sous- -#. domaines, redirections, hébergement mails ...)
- un second pour gérer -#. les comptes emails du domaine (si vous souhaitez créer des boites aux +#. Cliquez sur le lien ci-dessus. Vous pourrez ensuite accder aux paremtres +#. du domaine dans le menu gauche.2 liens vont apparaitre :
- un +#. premier pour modifier les paramtres d'hbergement du domaine (sous- +#. domaines, redirections, hbergement mails ...)
- un second pour grer +#. les comptes emails du domaine (si vous souhaitez crer des boites aux #. lettres).
Plus d'info sur la gestion des domaines dans l'aide en ligne #. HELPID_200
msgid "hlp_add_domain_2" msgstr "" -"Cliquez sur le lien ci-dessus. Vous pourrez ensuite accéder aux paramètres " -"du domaine dans le menu à gauche. 2 liens vont apparaitre :
- un " -"premier pour modifier les paramètres d'hébergement du domaine (sous-" -"domaines, redirections, hébergement mails ...)
- un second pour gérer " -"les comptes emails du domaine (si vous souhaitez créer des boites aux " +"Cliquez sur le lien ci-dessus. Vous pourrez ensuite accder aux paramtres " +"du domaine dans le menu gauche. 2 liens vont apparaitre :
- un " +"premier pour modifier les paramtres d'hbergement du domaine (sous-" +"domaines, redirections, hbergement mails ...)
- un second pour grer " +"les comptes emails du domaine (si vous souhaitez crer des boites aux " "lettres).
Plus d'info sur la gestion des domaines dans l'aide en ligne " "HELPID_200
" -#. Le domaine a été effacé, mais les fichiers de votre site n'ont pas été -#. détruits.
Si vous souhaitez détruire les fichiers du site web, utilisez +#. Le domaine a t effac, mais les fichiers de votre site n'ont pas t +#. dtruits.
Si vous souhaitez dtruire les fichiers du site web, utilisez #. le Gestionnaire de Fichier
Plus d'info sur la gestion des domaines dans #. l'aide en ligne HELPID_200
msgid "hlp_del_domain" msgstr "" -"Le domaine a été effacé, mais les fichiers de votre site n'ont pas été " -"détruits.
Si vous souhaitez détruire les fichiers du site web, utilisez " +"Le domaine a t effac, mais les fichiers de votre site n'ont pas t " +"dtruits.
Si vous souhaitez dtruire les fichiers du site web, utilisez " "le Gestionnaire de Fichiers ou un compte FTP
Plus d'info sur la gestion " "des domaines dans l'aide en ligne HELPID_200
" -#. Cette zone vous permet de modifier les paramètres de votre domaine, ainsi -#. que des sous-domaines installés
Vous pouvez créer un nouveau sous- +#. Cette zone vous permet de modifier les paramtres de votre domaine, ainsi +#. que des sous-domaines installs
Vous pouvez crer un nouveau sous- #. domaine et choisir, soit de le rediriger vers votre espace disque, vers une -#. autre adresse Internet, ou vers une adresse IP (utilisateurs avancés)
+#. autre adresse Internet, ou vers une adresse IP (utilisateurs avancs)
#. Plus d'info sur la gestion des domaines dans l'aide en ligne HELPID_200
msgid "hlp_edit_domain" msgstr "" -"Cette zone vous permet de modifier les paramètres de votre domaine, ainsi " -"que des sous-domaines installés
Vous pouvez créer un nouveau sous-" +"Cette zone vous permet de modifier les paramtres de votre domaine, ainsi " +"que des sous-domaines installs
Vous pouvez crer un nouveau sous-" "domaine et choisir, soit de le rediriger vers votre espace disque, vers une " -"autre adresse Internet, ou vers une adresse IP (utilisateurs avancés)
Vous pouvez aussi diriger un sous-domaine vers le webmail, vous permettant " "de lire votre mail par le web.
Plus d'info sur la gestion des domaines " "dans l'aide en ligne HELPID_200
" @@ -260,7 +273,7 @@ msgstr "Comptes FTP" #. No ftp account found msgid "err_ftp_1" -msgstr "Aucun compte ftp de trouvé." +msgstr "Aucun compte ftp de trouv." #. This ftp account does not exist msgid "err_ftp_2" @@ -268,79 +281,79 @@ msgstr "Ce compte ftp n'existe pas." #. The chosen prefix is not allowed msgid "err_ftp_3" -msgstr "Le préfixe choisi n'est pas autorisé" +msgstr "Le prfixe choisi n'est pas autoris" #. This ftp account already exists msgid "err_ftp_4" -msgstr "Ce compte ftp existe déjà !" +msgstr "Ce compte ftp existe dj !" #. Your ftp account quota is over. You cannot create more ftp accounts. msgid "err_ftp_5" msgstr "" -"Vous avez atteint votre quota de comptes ftp, vous ne pouvez plus en créer." +"Vous avez atteint votre quota de comptes ftp, vous ne pouvez plus en crer." #. The directory cannot be created. msgid "err_ftp_6" -msgstr "Impossible de créer le répertoire." +msgstr "Impossible de crer le rpertoire." -#. Voici la liste des comptes ftp ayant accès à votre compte. Cliquez sur +#. Voici la liste des comptes ftp ayant accs votre compte. Cliquez sur #. 'Modifier' pour changer le nom d'utilisateur, le mot de passe, ou le dossier #. racine.
Pour supprimer un compte, cochez la case correspondante et -#. cliquez sur le bouton 'Supprimer les comptes cochés'
Pour pouvoir -#. accéder à vos fichiers avec un logiciel de ftp, vous devez créer au moins un -#. compte. Chaque compte est associé à un dossier, et n'aura donc accès qu'aux -#. fichiers situés dans ce dossier ou en dessous.
Plus d'info sur le FTP +#. cliquez sur le bouton 'Supprimer les comptes cochs'
Pour pouvoir +#. accder vos fichiers avec un logiciel de ftp, vous devez crer au moins un +#. compte. Chaque compte est associ un dossier, et n'aura donc accs qu'aux +#. fichiers situs dans ce dossier ou en dessous.
Plus d'info sur le FTP #. dans l'aide en ligne HELPID_100
msgid "hlp_ftp_list" msgstr "" -"Voici la liste des comptes ftp ayant accès à votre compte. Cliquez sur " +"Voici la liste des comptes ftp ayant accs votre compte. Cliquez sur " "'Modifier' pour changer le nom d'utilisateur, le mot de passe, ou le " -"répertoire racine.
Pour supprimer un compte, cochez la case " -"correspondante et cliquez sur le bouton 'Supprimer les comptes cochés'
Pour pouvoir accéder à vos fichiers avec un logiciel de ftp, vous devez " -"créer au moins un compte. Chaque compte est associé à un répertoire, et " -"n'aura donc accès qu'aux fichiers situés dans ce répertoire ou en dessous. " +"rpertoire racine.
Pour supprimer un compte, cochez la case " +"correspondante et cliquez sur le bouton 'Supprimer les comptes cochs'
Pour pouvoir accder vos fichiers avec un logiciel de ftp, vous devez " +"crer au moins un compte. Chaque compte est associ un rpertoire, et " +"n'aura donc accs qu'aux fichiers situs dans ce rpertoire ou en dessous. " "
Plus d'info sur le FTP dans l'aide en ligne HELPID_100
" #. Vous n'avez actuellement aucun Compte FTP de disponible. Cliquez sur -#. 'Création d'un compte ftp' pour en créer un.
Pour pouvoir accéder à vos -#. fichiers avec un logiciel de ftp, vous devez créer au moins un compte. -#. Chaque compte est associé à un dossier, et n'aura donc accès qu'aux fichiers -#. situés dans ce dossier ou en dessous.
Plus d'info sur le FTP dans +#. 'Cration d'un compte ftp' pour en crer un.
Pour pouvoir accder vos +#. fichiers avec un logiciel de ftp, vous devez crer au moins un compte. +#. Chaque compte est associ un dossier, et n'aura donc accs qu'aux fichiers +#. situs dans ce dossier ou en dessous.
Plus d'info sur le FTP dans #. l'aide en ligne HELPID_100
msgid "hlp_ftp_list_no" msgstr "" "Vous n'avez actuellement aucun Compte FTP de disponible. Cliquez sur " -"'Création d'un compte FTP' pour en créer un.
Pour pouvoir accéder à vos " -"fichiers avec un logiciel de FTP, vous devez créer au moins un compte. " -"Chaque compte est associé à un répertoire, et n'aura donc accès qu'aux " -"fichiers situés dans ce répertoire ou en dessous.
Plus d'info sur le " +"'Cration d'un compte FTP' pour en crer un.
Pour pouvoir accder vos " +"fichiers avec un logiciel de FTP, vous devez crer au moins un compte. " +"Chaque compte est associ un rpertoire, et n'aura donc accs qu'aux " +"fichiers situs dans ce rpertoire ou en dessous.
Plus d'info sur le " "FTP dans l'aide en ligne HELPID_100
" #. Pour ajouter un compte ftp, vous devez choisir un Nom d'utilisateur, un mot -#. de passe, et un répertoire racine
Le nom d'utilisateur commence +#. de passe, et un rpertoire racine
Le nom d'utilisateur commence #. toujours par votre nom de login ou le nom d'un de vos domaines.
Le -#. répertoire racine, s'il n'existe pas, sera créé automatiquement.
Note : -#. Le compte que vous créez ainsi aura accès en lecture et en écriture aux -#. fichiers situés dans le répertoire et tous ses sous-répertoires.
Plus +#. rpertoire racine, s'il n'existe pas, sera cr automatiquement.
Note : +#. Le compte que vous crez ainsi aura accs en lecture et en criture aux +#. fichiers situs dans le rpertoire et tous ses sous-rpertoires.
Plus #. d'info sur le FTP dans l'aide en ligne HELPID_100
msgid "hlp_ftp_add" msgstr "" "Pour ajouter un compte ftp, vous devez choisir un Nom d'utilisateur, un mot " -"de passe, et un répertoire racine
Le nom d'utilisateur commence " +"de passe, et un rpertoire racine
Le nom d'utilisateur commence " "toujours par votre nom de login ou le nom d'un de vos domaines.
Le " -"répertoire racine, s'il n'existe pas, sera créé automatiquement.
Note : " -"Le compte que vous créez ainsi aura accès en lecture et en écriture aux " -"fichiers situés dans le répertoire et tous ses sous-répertoires.
Plus " +"rpertoire racine, s'il n'existe pas, sera cr automatiquement.
Note : " +"Le compte que vous crez ainsi aura accs en lecture et en criture aux " +"fichiers situs dans le rpertoire et tous ses sous-rpertoires.
Plus " "d'info sur le FTP dans l'aide en ligne HELPID_100
" #. An incompatible .htaccess file exists in this folder. msgid "err_hta_1" -msgstr "Un fichier .htaccess incompatible est présent dans le répertoire." +msgstr "Un fichier .htaccess incompatible est prsent dans le rpertoire." #. .htaccess parsed and syntaxically correct, a .htpassword file has been created. msgid "err_hta_2" -msgstr ".htaccess reconnu et syntaxe correcte, un .htpassword à été créé." +msgstr ".htaccess reconnu et syntaxe correcte, un .htpassword t cr." #. .htaccess parsed and syntaxically correct, a .htpasswd already exist. msgid "err_hta_3" @@ -348,7 +361,7 @@ msgstr ".htaccess reconnu et syntaxe correcte, .htpasswd existant." #. No protected folder msgid "err_hta_4" -msgstr "Aucun répertoire protégé" +msgstr "Aucun rpertoire protg" #. I cannot delete the file '%s'/.htaccess msgid "err_hta_5" @@ -364,7 +377,7 @@ msgstr "Le fichier .htaccess n'existe pas" #. The folder '%s' does not exist msgid "err_hta_8" -msgstr "Le répertoire '%s' n'existe pas" +msgstr "Le rpertoire '%s' n'existe pas" #. The file '%s' is not correct msgid "err_hta_9" @@ -372,7 +385,7 @@ msgstr "Le fichier '%s' n'est pas valide" #. The user '%s' already exist for this folder msgid "err_hta_10" -msgstr "L'utilisateur '%s' existe déja pour ce répertoire" +msgstr "L'utilisateur '%s' existe dja pour ce rpertoire" #. Please enter a valid username msgid "err_hta_11" @@ -380,7 +393,7 @@ msgstr "Veuillez saisir un nom d'utilisateur valide" #. Cannot write inside the requested folder. Please check your permissions msgid "err_hta_12" -msgstr "Impossible d'écrire dans le dossier concerné. Vérifiez vos permissions." +msgstr "Impossible d'crire dans le dossier concern. Vrifiez vos permissions." #. Email Accounts msgid "quota_mail" @@ -388,7 +401,7 @@ msgstr "Comptes emails" #. DB connection impossible, please try again later. msgid "err_mail_1" -msgstr "Connexion à la base de données impossible. Réessayez plus tard." +msgstr "Connexion la base de donnes impossible. Ressayez plus tard." #. No email on domain '%s' msgid "err_mail_2" @@ -407,7 +420,7 @@ msgstr "" #. -- Server error --- Parameter is incorrect (%s) msgid "err_mail_5" -msgstr "-- Erreur Serveur --- Paramètre incorrect (%s)" +msgstr "-- Erreur Serveur --- Paramtre incorrect (%s)" #. The domain '%s' does not exist. msgid "err_mail_6" @@ -415,16 +428,16 @@ msgstr "Le domaine '%s' n'existe pas." #. The email '%s' already exists. msgid "err_mail_7" -msgstr "Le mail '%s' existe déjà" +msgstr "Le mail '%s' existe dj" #. Your mail account quota is over. You cannot create more email accounts. msgid "err_mail_8" msgstr "" -"Vous avez atteint votre quota de comptes email, vous ne pouvez plus en créer." +"Vous avez atteint votre quota de comptes email, vous ne pouvez plus en crer." #. The domain '%s' does not exist. msgid "err_mail_9" -msgstr "Le domaine '%s' existe déjà." +msgstr "Le domaine '%s' existe dj." #. -- Programm error -- Mail quota does not exist msgid "err_mail_10" @@ -466,7 +479,7 @@ msgstr "Le message d'erreur n'existe pas (%s)" #. hh is the hour in 12 hours format, and am is 'am' or 'pm'. #. eg: english : %3$d/%1$d/%2$d, at %6$d:%5$d %7$s msgid "the %3$d-%2$d-%1$d at %4$d:%5$d" -msgstr "le %1$d/%2$d/%3$d, à %4$dh%5$d" +msgstr "le %1$d/%2$d/%3$d, %4$dh%5$d" #. User or password incorrect msgid "err_mem_1" @@ -474,7 +487,7 @@ msgstr "Utilisateur ou mot de passe incorrect" #. This account is locked, contact the administrator msgid "err_mem_2" -msgstr "Compte Verrouillé, contacter l'administrateur" +msgstr "Compte Verrouill, contacter l'administrateur" #. Cookie incorrect, please accept the session cookie msgid "err_mem_3" @@ -488,23 +501,23 @@ msgstr "Session inexistante, contacter l'administrateur" msgid "err_mem_5" msgstr "IP incorrecte, contacter l'administrateur" -# PROBLEME : il y avait 2 fois le 5, les autres messages doivent surement etre décalés (TODO) +# PROBLEME : il y avait 2 fois le 5, les autres messages doivent surement etre dcals (TODO) #. The old password is incorrect -#. PROBLEME : il y avait 2 fois le 5, les autres messages doivent surement etre décalés (TODO) +#. PROBLEME : il y avait 2 fois le 5, les autres messages doivent surement etre dcals (TODO) msgid "err_mem_6" msgstr "L'ancien mot de passe est incorrect" #. The new passwords are differents, please retry msgid "err_mem_7" -msgstr "Les deux nouveaux mots de passe sont différents" +msgstr "Les deux nouveaux mots de passe sont diffrents" #. A password must be at least 3 characters long. msgid "err_mem_8" -msgstr "Un mot de passe doit faire au moins 3 caractères" +msgstr "Un mot de passe doit faire au moins 3 caractres" #. The information you entered is incorrect msgid "err_mem_9" -msgstr "Les données entrées sont incorrectes" +msgstr "Les donnes entres sont incorrectes" #. You are not allowed to change your password. msgid "err_mem_11" @@ -513,19 +526,19 @@ msgstr "Vous ne pouvez pas changer votre mot de passe" #. You must be a system administrator to do this msgid "err_mem_12" msgstr "" -"Vous devez être administrateur pour pouvoir modifier vos préférences " +"Vous devez tre administrateur pour pouvoir modifier vos prfrences " "administrateur." # Please do NOT translate those strings to each language. Use the original language instead -#. Français (France) +#. Franais (France) #. Please do NOT translate those strings to each language. Use the original language instead msgid "fr_FR" -msgstr "Français (France)" +msgstr "Franais (France)" -#. Français (Canada) +#. Franais (Canada) #. Please do NOT translate those strings to each language. Use the original language instead msgid "fr_CA" -msgstr "Français (Canada)" +msgstr "Franais (Canada)" #. English (United States) #. Please do NOT translate those strings to each language. Use the original language instead @@ -542,15 +555,15 @@ msgstr "English (United Kingdom)" msgid "de_DE" msgstr "Deutsch (Germany)" -#. Español (Spania) +#. Espaol (Spania) #. Please do NOT translate those strings to each language. Use the original language instead msgid "es_ES" -msgstr "Español (Spania)" +msgstr "Espaol (Spania)" -#. Español (Venezuela) +#. Espaol (Venezuela) #. Please do NOT translate those strings to each language. Use the original language instead msgid "es_VE" -msgstr "Español (Venezuela)" +msgstr "Espaol (Venezuela)" #. OK msgid "err_quota_0" @@ -558,11 +571,11 @@ msgstr "OK" #. Error writing the quota entry ! msgid "err_quota_1" -msgstr "Les quotas disque ne sont pas activés sur le serveur" +msgstr "Les quotas disque ne sont pas activs sur le serveur" #. MySQL Databases msgid "quota_mysql" -msgstr "Bases de données MySQL" +msgstr "Bases de donnes MySQL" #. MySQL Users msgid "quota_mysql_users" @@ -575,16 +588,16 @@ msgstr "Espace disque (Ko)" #. Data base name can contain only digits or lowercase alphabetic characters msgid "err_mysql_2" msgstr "" -"Le nom de la base de données ne peut contenir que des chiffres ou lettres " +"Le nom de la base de donnes ne peut contenir que des chiffres ou lettres " "minuscules." #. The database does not exist, you'll get an access by creating it. msgid "err_mysql_3" -msgstr "Cette base de données existe déjà, utilisez un autre nom." +msgstr "Cette base de donnes existe dj, utilisez un autre nom." #. This database already exists! msgid "err_mysql_4" -msgstr "Cette base de données n'existe pas." +msgstr "Cette base de donnes n'existe pas." #. Your backup number is incorrect. msgid "err_mysql_5" @@ -592,7 +605,7 @@ msgstr "Le nombre de sauvegarde est incorrect." #. The folder is incorrect! msgid "err_mysql_6" -msgstr "Le répertoire est incorrect !" +msgstr "Le rpertoire est incorrect !" #. The file name you chose does not exist or is incorrect. msgid "err_mysql_7" @@ -600,33 +613,33 @@ msgstr "Vous n'avez aucune base, vous ne pouvez pas changer le mot de passe" #. The password is too long (16 chars max) msgid "err_mysql_8" -msgstr "Le mot de passe est trop long (16 caractères maximum)" +msgstr "Le mot de passe est trop long (16 caractres maximum)" #. The file is incorrect or does not exist. msgid "err_mysql_9" -msgstr "Le fichier entré n'existe pas ou est incorect." +msgstr "Le fichier entr n'existe pas ou est incorect." #. Your cannot create your main database : you still have other dbs ! msgid "err_mysql_10" msgstr "" -"Erreur : vous ne pouvez créer votre base principale : il vous reste " +"Erreur : vous ne pouvez crer votre base principale : il vous reste " "d'autres bases !" #. You have no database, click on 'Databases' to create the first one msgid "err_mysql_11" msgstr "" -"Vous n'avez aucune base de données, cliquez sur 'Bases de données' pour en " -"créer une" +"Vous n'avez aucune base de donnes, cliquez sur 'Bases de donnes' pour en " +"crer une" #. The data base name is too long (64 chars max) msgid "err_mysql_12" -msgstr "Le nom de la base de données est trop long (64 caractères maximum)" +msgstr "Le nom de la base de donnes est trop long (64 caractres maximum)" #. You cannot create more MySQL users msgid "err_mysql_13" msgstr "" "Vous avez atteint votre quota d'utilisateurs MySQL, vous ne pouvez plus en " -"créer" +"crer" #. MySQL users can only have a-z and 0-9 characters. msgid "err_mysql_14" @@ -636,11 +649,11 @@ msgstr "" #. MySQL users must be less than 16 characters long. msgid "err_mysql_15" -msgstr "Nom d'utilisateur trop long (16 caractères maximum)" +msgstr "Nom d'utilisateur trop long (16 caractres maximum)" #. This MySQL user already exists. msgid "err_mysql_16" -msgstr "Un utilisateur du même nom existe déjà" +msgstr "Un utilisateur du mme nom existe dj" #. Passwords do not match. msgid "err_mysql_17" @@ -652,7 +665,7 @@ msgstr "L'utilisateur n'existe pas" #. You have no MySQL users at the moment. msgid "err_mysql_19" -msgstr "Aucun utilisateur n'est défini dans MySQL." +msgstr "Aucun utilisateur n'est dfini dans MySQL." #. Your MySQL backups are stored in the chosen folder from db.sql.1 to db.sql.19
your database name replaces 'db'.
db.sql.1
à db.sql.19
où 'db' est " -"remplacé par le nom de la base de données.
ATTENTION :
- " -"Le répertoire doit déja exister, si ce n'est pas le cas créez le au " -"préalable
- si vous modifiez les paramètres de la sauvegarde (nombre de " +"Les sauvegardes de votre base MySQL sont stockes dans le rpertoire choisi " +"sous le nom db.sql.1 db.sql.19
o 'db' est " +"remplac par le nom de la base de donnes.
ATTENTION :
- " +"Le rpertoire doit dja exister, si ce n'est pas le cas crez le au " +"pralable
- si vous modifiez les paramtres de la sauvegarde (nombre de " "sauvegardes, compression ...) des vieilles sauvegardes peuvent rester dans " -"le répertoire concerné. Vous pouvez les effacer dans le gestionnaire de " +"le rpertoire concern. Vous pouvez les effacer dans le gestionnaire de " "fichiers." #. Web Statistics @@ -678,7 +691,7 @@ msgstr "Statistiques Web Brutes" msgid "err_sta2_1" msgstr "" "Vous avez atteint votre quota de jeux de statistiques, vous ne pouvez plus " -"en créer." +"en crer." #. There is currently no raw statistic set. msgid "err_sta2_2" @@ -686,31 +699,31 @@ msgstr "Aucune jeu de statistiques brutes" #. The requested raw statistic set has not been found. msgid "err_sta2_3" -msgstr "Jeu de statistiques brutes non trouvé" +msgstr "Jeu de statistiques brutes non trouv" #. File or folder name is incorrect msgid "err_bro_1" -msgstr "Répertoire ou fichier incorrect !" +msgstr "Rpertoire ou fichier incorrect !" #. You cannot move or copy a file to the same folder msgid "err_bro_2" -msgstr "Vous ne pouvez pas déplacer un fichier dans le même répertoire !" +msgstr "Vous ne pouvez pas dplacer un fichier dans le mme rpertoire !" #. Cannot create the requested file. Please check permissions. msgid "err_bro_3" -msgstr "Impossible de créer le fichier demandé. Vérifiez les permissions." +msgstr "Impossible de crer le fichier demand. Vrifiez les permissions." #. Cannot create the requested directory. Please check permissions. msgid "err_bro_4" -msgstr "Impossible de créer le répertoire demandé. Vérifiez les permissions." +msgstr "Impossible de crer le rpertoire demand. Vrifiez les permissions." #. Cannot edit the requested file. Please check permissions. msgid "err_bro_5" -msgstr "Impossible de modifier le fichier demandé. Vérifiez les permissions." +msgstr "Impossible de modifier le fichier demand. Vrifiez les permissions." #. Cannot read the requested file. Please check permissions. msgid "err_bro_6" -msgstr "Impossible de lire le fichier demandé. Vérifiez les permissions." +msgstr "Impossible de lire le fichier demand. Vrifiez les permissions." #. If we manage your DNS
You can manage your mails elsewhere if you want #. (MX field).
Write %s in this field if your mail @@ -750,7 +763,7 @@ msgid "%3$d-%2$d-%1$d %4$d:%5$d" msgstr "%1$d/%2$d/%3$d %4$d:%5$d" msgid "1 column, detailed" -msgstr "1 colonne, détaillée" +msgstr "1 colonne, dtaille" msgid "2 columns, short" msgstr "2 colonnes, court" @@ -767,43 +780,43 @@ msgstr "Editer le nouveau fichier" msgid "hlp_login" msgstr "" "Vous pouvez aussi consulter l'aide en ligne sur l'accueil du panneau de " -"contrôle HELPID_300
" +"contrle HELPID_300
" msgid "err_admin_14" msgstr "" -"La politique de mot de passe demandée n'a pas été trouvée, Ce password " -"est refusé (c'est une erreur de programmation ...)" +"La politique de mot de passe demande n'a pas t trouve, Ce password " +"est refus (c'est une erreur de programmation ...)" msgid "err_admin_15" msgstr "" "Le mot de passe est trop court selon votre politique de mot de passe, " -"merci de vérifier" +"merci de vrifier" msgid "err_admin_16" msgstr "" "Le mot de passe est trop long selon votre politique de mot de passe, " -"merci de vérifier" +"merci de vrifier" msgid "err_admin_17" msgstr "" -"Le mot de passe ne peut pas être le même que le nom d'utilisateur (ou " +"Le mot de passe ne peut pas tre le mme que le nom d'utilisateur (ou " "quelque chose de similaire) selon votre politique de mot de passe, merci " -"de vérifier" +"de vrifier" msgid "err_admin_18" msgstr "" -"Le mot de passe doit contenir des caractères de %s classes différentes " +"Le mot de passe doit contenir des caractres de %s classes diffrentes " "selon votre politique de mot de passe (il n'en contient que %s), merci de " -"vérifier" +"vrifier" msgid "err_mail_16" -msgstr "Ce compte esclave MX existe déjà" +msgstr "Ce compte esclave MX existe dj" msgid "err_mysql_20" msgstr "Le mot de passe est obligatoire" msgid "err_mysql_21" -msgstr "Le nom d'utilisateur ne peut pas être vide" +msgstr "Le nom d'utilisateur ne peut pas tre vide" # $d,$m,$y # 1 2 3 @@ -817,13 +830,13 @@ msgid "POP/IMAP account passwords" msgstr "Mots de passe des comptes POP/IMAP" msgid "Protected folders passwords" -msgstr "Mots de passe des dossiers protégés" +msgstr "Mots de passe des dossiers protgs" msgid "AlternC panel access" -msgstr "Accès au bureau AlternC" +msgstr "Accs au bureau AlternC" msgid "Locally hosted" -msgstr "Géré en local" +msgstr "Gr en local" msgid "URL redirection" msgstr "Redirection vers une url" @@ -832,25 +845,25 @@ msgid "IPv4 redirect" msgstr "Redirection vers une IPv4" msgid "Webmail access" -msgstr "Accès au webmail" +msgstr "Accs au webmail" msgid "IPv6 redirect" msgstr "Redirection vers une IPv6" msgid "CNAME DNS entry" -msgstr "Entrée DNS CNAME" +msgstr "Entre DNS CNAME" msgid "TXT DNS entry" -msgstr "Entrée DNS TXT" +msgstr "Entre DNS TXT" msgid "MX DNS entry" -msgstr "Entrée DNS MX" +msgstr "Entre DNS MX" msgid "secondary MX DNS entry" -msgstr "Entrée DNS MX secondaire" +msgstr "Entre DNS MX secondaire" msgid "Default mail server" -msgstr "Serveur de mail par défaut" +msgstr "Serveur de mail par dfaut" msgid "Default backup mail server" msgstr "Serveur de mail de secours" diff --git a/debian/changelog b/debian/changelog index 58c10324..41add24c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,19 @@ alternc (1.1) stable; urgency=low -- Alan Garcia Wed, 25 May 2011 09:24:30 +0200 +alternc (1.0.3) stable; urgency=high + * Bugfix : the 'connect' button in the list of installed domains didn't work, make it work + + - Benjamin Sonntag Wed, 12 Oct 2011 18:00:00 +0200 + +alternc (1.0.2) stable; urgency=high + * Bugfix : dependency on gamin OR fam : gamin is better for courier-imap + and fam makes sasl imap auth fail + * Bugfix : adding french messages for domain new error messages + * Bugfix : Fixing domaines types templates issues (incompatibility with pre 1.0 alternc) + + -- Benjamin Sonntag Thu, 11 Oct 2011 10:17:00 +0200 + alternc (1.0.1) stable; urgency=high * Bugfix : upgrades from 0.* to 1.0 was not working for MX fields, Fixed. diff --git a/debian/control b/debian/control index bce5fbeb..a3e105d8 100644 --- a/debian/control +++ b/debian/control @@ -10,7 +10,7 @@ Standards-Version: 3.9.1 Package: alternc Architecture: all Pre-depends: debconf (>= 0.5.00) | debconf-2.0 -Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, squirrelmail, squirrelmail-locales, postfix-tls, bind9, wget, rsync, quota, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, fam, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), adduser, mysql-client, dnsutils, bash, acl, dovecot-common (>= 1:1.2.15), dovecot-imapd, dovecot-pop3d +Depends: debianutils (>= 1.13.1), apache2-mpm-itk, libapache2-mod-php5, php5-mysql, phpmyadmin, postfix, proftpd-mod-mysql, proftpd-basic, squirrelmail, squirrelmail-locales, bind9, wget, rsync, quota, ca-certificates, locales, perl-suid, perl, postfix-mysql, wwwconfig-common, sasl2-bin, fam | gamin, libsasl2-modules, php5-cli, lockfile-progs (>= 0.1.9), gettext (>= 0.10.40-5), adduser, mysql-client, dnsutils, bash, acl, dovecot-common (>= 1:1.2.15), dovecot-imapd, dovecot-pop3d Recommends: mysql-server, dovecot-managesieved, dovecot-sieve, dovecot-mysql Conflicts: alternc-admintools, alternc-awstats (< 1.0), alternc-webalizer (<= 0.9.4), alternc-mailman (< 2.0), courier-authdaemon Provides: alternc-admintools diff --git a/etc/alternc/phpmyadmin.inc.php b/etc/alternc/phpmyadmin.inc.php index 5efc1df8..68fd56ac 100644 --- a/etc/alternc/phpmyadmin.inc.php +++ b/etc/alternc/phpmyadmin.inc.php @@ -15,6 +15,7 @@ */ include_once('/var/alternc/bureau/class/local.php'); +$cfg['SuhosinDisableWarning'] = true; $i = 1; diff --git a/etc/alternc/templates/apache2/vhost.conf b/etc/alternc/templates/apache2/vhost.conf index 92af2a0b..1e26e49e 100644 --- a/etc/alternc/templates/apache2/vhost.conf +++ b/etc/alternc/templates/apache2/vhost.conf @@ -4,7 +4,7 @@ AssignUserId #%%UID%% #%%GID%% - php_admin_value open_basedir "%%document_root%%:/usr/share/php/:/var/alternc/tmp:/tmp" + php_admin_value open_basedir "%%account_root%%:/usr/share/php/:/var/alternc/tmp:/tmp" Options +MultiViews -FollowSymLinks +SymLinksIfOwnerMatch AllowOverride AuthConfig FileInfo Limit Options Indexes diff --git a/install/mysql.sql b/install/mysql.sql index d5f7d94c..3e1edc20 100644 --- a/install/mysql.sql +++ b/install/mysql.sql @@ -526,7 +526,7 @@ PRIMARY KEY ( `name` ) INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, only_dns, need_dns, advanced, enable) values ('vhost','Locally hosted', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'txt,defmx,defmx2,mx,mx2', false, false, false, 'ALL'), -('url','URL redirection', 'URL', '%SUB% IN A @@PUBLIC_IP@@','txt,defmx,defmx2', true, true, false, 'ALL'), +('url','URL redirection', 'URL', '%SUB% IN A @@PUBLIC_IP@@','txt,defmx,defmx2', true, false, false, 'ALL'), ('ip','IPv4 redirect', 'IP', '%SUB% IN A %TARGET%','url,ip,ipv6,txt,mx,mx2,defmx,defmx2', false, true, false, 'ALL'), ('webmail', 'Webmail access', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'txt', false, false, false, 'ALL'), ('ipv6','IPv6 redirect', 'IPV6', '%SUB% IN AAAA %TARGET%','ip,ipv6,webmail,txt,mx,mx2,defmx,defmx2',true, true, true , 'ALL'), diff --git a/install/upgrades/1.0.sql b/install/upgrades/1.0.sql index 636c285e..5449635e 100644 --- a/install/upgrades/1.0.sql +++ b/install/upgrades/1.0.sql @@ -75,7 +75,7 @@ PRIMARY KEY ( `name` ) INSERT IGNORE INTO `domaines_type` (name, description, target, entry, compatibility, only_dns, need_dns, advanced, enable) values ('vhost','Locally hosted', 'DIRECTORY', '%SUB% IN A @@PUBLIC_IP@@', 'txt,defmx,defmx2,mx,mx2', false, false, false, 'ALL'), -('url','URL redirection', 'URL', '%SUB% IN A @@PUBLIC_IP@@','txt,defmx,defmx2', true, true, false, 'ALL'), +('url','URL redirection', 'URL', '%SUB% IN A @@PUBLIC_IP@@','txt,defmx,defmx2', true, false, false, 'ALL'), ('ip','IPv4 redirect', 'IP', '%SUB% IN A %TARGET%','url,ip,ipv6,txt,mx,mx2,defmx,defmx2', false, true, false, 'ALL'), ('webmail', 'Webmail access', 'NONE', '%SUB% IN A @@PUBLIC_IP@@', 'txt', false, false, false, 'ALL'), ('ipv6','IPv6 redirect', 'IPV6', '%SUB% IN AAAA %TARGET%','ip,ipv6,webmail,txt,mx,mx2,defmx,defmx2',true, true, true , 'ALL'), diff --git a/src/functions_hosting.sh b/src/functions_hosting.sh index a5a71f82..1671a683 100644 --- a/src/functions_hosting.sh +++ b/src/functions_hosting.sh @@ -60,6 +60,7 @@ host_create() { local G_ID=$(get_uid_by_name "$USER") local user_letter=`print_user_letter "$USER"` local DOCUMENT_ROOT="${HTML_HOME}/${user_letter}/${USER}/$TARGET_DIR" + local ACCOUNT_ROOT="${HTML_HOME}/${user_letter}/${USER}/" local FILE_TARGET="$VHOST_DIR/${user_letter}/$USER/$FQDN.conf" # In case VTYPE don't have the same name as the template file, @@ -84,19 +85,27 @@ host_create() { local TMP_FILE=$(mktemp "/tmp/alternc_host.XXXXXX") cp "$TEMPLATE" "$TMP_FILE" + # Substitute special characters : + FQDN2="`echo $FQDN | sed -e 's/\\\\/\\\\\\\\/g' -e 's/#/\\\\#/g' -e 's/&/\\\\\\&/g'`" + DOCUMENT_ROOT2="`echo $DOCUMENT_ROOT | sed -e 's/\\\\/\\\\\\\\/g' -e 's/#/\\\\#/g' -e 's/&/\\\\\\&/g'`" + ACCOUNT_ROOT2="`echo $ACCOUNT_ROOT | sed -e 's/\\\\/\\\\\\\\/g' -e 's/#/\\\\#/g' -e 's/&/\\\\\\&/g'`" + REDIRECT2="`echo $REDIRECT | sed -e 's/\\\\/\\\\\\\\/g' -e 's/#/\\\\#/g' -e 's/&/\\\\\\&/g'`" + # Put the good value in the conf file sed -i \ - -e "s#%%fqdn%%#$FQDN#g" \ - -e "s#%%document_root%%#$DOCUMENT_ROOT#g" \ - -e "s#%%redirect%%#$REDIRECT#g" \ + -e "s#%%fqdn%%#$FQDN2#g" \ + -e "s#%%document_root%%#$DOCUMENT_ROOT2#g" \ + -e "s#%%account_root%%#$ACCOUNT_ROOT2#g" \ + -e "s#%%redirect%%#$REDIRECT2#g" \ -e "s#%%UID%%#$U_ID#g" \ -e "s#%%GID%%#$G_ID#g" \ $TMP_FILE # Check if all is right in the conf file # If not, put a debug message - local ISNOTGOOD=$(grep "%%" "$TMP_FILE") - [ "$ISNOTGOOD" ] && (echo "# There was a probleme in the generation : $ISNOTGOOD" > "$TMP_FILE" ; return 44 ) +# NO : redirect and document_root COULD contains legitimate %% expressions (...) +# local ISNOTGOOD=$(grep "%%" "$TMP_FILE") +# [ "$ISNOTGOOD" ] && (echo "# There was a probleme in the generation : $ISNOTGOOD" > "$TMP_FILE" ; return 44 ) # Put the conf file in prod mkdir -p "$(dirname "$FILE_TARGET")"