<?xml version="1.0" encoding="utf-8"?>
<creole>
    <files>
        <file filelist='roundcube' name='/etc/eole/eole-db.d/roundcube-db.yml' rm='True' mkdir='True'/>
    </files>

    <containers>
        <container name="web">
            <package>roundcube-apps</package>

            <service method="apache" servicelist="roundcube">roundcube</service>

            <file filelist='roundcube' name='/etc/apache2/sites-available/roundcube' source='roundcube-apache.conf' />
            <file filelist='roundcube' name='/var/www/html/roundcube/config/config.inc.php' source='roundcube-config.inc.php' rm='True' mkdir='True'/>
            <file filelist='roundcube' name='/var/www/html/roundcube/plugins/cas_authentication/config.inc.php' source='roundcube-cas.php' rm='True' mkdir='True'/>
        </container>
    </containers>

    <variables>
        <family name='applications web'>
            <variable name='activer_roundcube' type='oui/non' description="Activer Roundcube (webmail)" >
                <value>oui</value>
            </variable>

            <variable name='roundcube_skin' type='string' description="Thème par défaut de Roundcube" >
                <value>elastic</value>
            </variable>

            <variable type='oui/non' name='roundcube_tls' description='Serveur de courrier électronique est en TLS' mode="expert">
                <value>non</value>
            </variable>            
        </family>
        
        <family name='EoleDB' icon='database' mode='expert'>
            <variable type='string' name='roundcube_db_mode' description='Serveur de base de données à utiliser'/>
            <variable type='string' name='roundcube_dbserver' description='Adresse du serveur de base de données'/>
            <variable type='number' name='roundcube_dbport' description="Port d'écoute du serveur de base de données"/>
            <variable type='string' name='roundcube_allow_hosts' description="Hôtes autorisés à utiliser la base de données" multi='True'/>
            <variable type='string' name='roundcube_dbuser' description='Utilisateur du serveur de base de données'/>
            <variable type='string' name='roundcube_dbpass' description='Fichier de mot de passe du serveur'/>
        </family>    

        <separators>
            <separator name="roundcube_db_mode">Paramètres EoleDB associés à Roundcube</separator>
        </separators>
    </variables>

    <constraints>

        <condition name='disabled_if_in' source='activer_roundcube'>
            <param>non</param>
            <target type='filelist'>roundcube</target>
            <target type='servicelist'>roundcube</target>
            <target type='variable'>roundcube_skin</target>
            <target type='variable'>roundcube_tls</target>
        </condition>

        <condition name='disabled_if_in' source='activer_recuperation_courriel' fallback='True'>
            <param>non</param>
           <target>activer_roundcube</target>
       </condition>

        <check name='valid_enum' target='roundcube_skin'>
            <param>['elastic', 'larry']</param>
        </check>

        <check name='valid_enum' target='roundcube_db_mode'>
            <param>['default', 'externe', 'local']</param>
        </check>
        <condition name='disabled_if_in' source='roundcube_db_mode'>
            <param>local</param>
            <target type='variable'>roundcube_dbserver</target>
            <target type='variable'>roundcube_dbuser</target>
            <target type='variable'>roundcube_dbport</target>
            <target type='variable'>roundcube_dbpass</target>
        </condition>
        <condition name='disabled_if_in' source='roundcube_db_mode'>
            <param>default</param>
            <target type='variable'>roundcube_dbserver</target>
            <target type='variable'>roundcube_dbuser</target>
            <target type='variable'>roundcube_dbport</target>
            <target type='variable'>roundcube_dbpass</target>
            <target type='variable'>roundcube_allow_hosts</target>
        </condition>
    </constraints>

    <help>
        <variable name='activer_roundcube'>RoundCube est un client webmail Open Source</variable>
        <variable name='roundcube_db_mode'>Utilisation ou non d'un paramètrage spécifique de base de données pour roundcube</variable>
        <variable name='roundcube_dbserver'>Adresse du serveur de base de données par défaut de roundcube</variable>
        <variable name='roundcube_dbport'>Port d'écoute du serveur de base de données par défaut de roundcube</variable>
        <variable name='roundcube_dbuser'>Nom d'utilisateur d'administration du serveur de base de données par défaut de roundcube</variable>
        <variable name='roundcube_dbpass'>Fichier contenant le mot de passe de l'administrateur du serveur de base de données par défaut de roundcube</variable>
        <variable name='roundcube_allow_hosts'>Adresses IP avec lesquelles les utilisateurs de la base de données de roundcube sont suceptibles de se connecter</variable>
    </help>
</creole>
