Changeset 3057


Ignore:
Timestamp:
03/12/10 01:29:14 (11 years ago)
Author:
kent1
Message:

Pouvoir exclure certains sous-domaines dans la configuration

Location:
plugins_spip/gestion_mutu
Files:
5 edited
1 moved

Legend:

Unmodified
Added
Removed
  • plugins_spip/gestion_mutu/formulaires/config_gestion_mutu.html

    r2992 r3057  
    1414                        label=<:gestion_mutus:label_domaines:>,
    1515                        explication=<:gestion_mutus:explication_domaines:>})]
     16
     17                [(#ENV{domaines}|oui)
     18                        #SET{domaines,#ENV{domaines}|explode{';'}}
     19                ]
     20                [(#ENV{domaines}|non)
     21                        #SET{domaines,#EVAL{_DOMAINES_MUTU}|explode{';'}}
     22                ]
     23                <BOUCLE_ssdomaine_interdits(POUR){tableau #GET{domaines}}>
     24                [(#VALEUR|oui)
     25                [(#SAISIE{input,ssdomaine_interdits_[(#VALEUR|replace{'\.',''})],
     26                        label=<:gestion_mutus:label_ssdomaines_interdits{ssdomaine=#VALEUR}:>,
     27                        explication=<:gestion_mutus:explication_ssdomaines_interdits{ssdomaine=#VALEUR}:>})]
     28                ]
     29                </BOUCLE_ssdomaine_interdits>
    1630                </ul>
    1731                <p class="boutons">
  • plugins_spip/gestion_mutu/formulaires/editer_mutu.html

    r2993 r3057  
    1111                                        obligatoire=oui})]
    1212                                [(#SAISIE{input,ssdomaine,
     13                                        explication=<:gestion_mutus:explications_ssdomaine:>,
    1314                                        label=<:gestion_mutus:label_ssdomaine:>,
    1415                                        obligatoire=oui})]
  • plugins_spip/gestion_mutu/formulaires/editer_mutu.php

    r3017 r3057  
    1515        $erreurs = formulaires_editer_objet_verifier('mutu',$id_mutu,array('titre','ssdomaine','domaine'));
    1616        $verifier = charger_fonction('verifier','inc',true);
    17 
     17        $erreurs['ssdomaine'] = $verifier(_request('ssdomaine'),'ssdomaine');
     18        if(_request('ssdomaine')){
     19                $erreurs['ssdomaine'] = $verifier(_request('ssdomaine'),'ssdomaine',array('domaine'=>_request('domaine')));
     20        }
    1821        return $erreurs;
    1922}
     
    2932    return $res;
    3033}
     34
     35/**
     36 * Fonction donnant la liste des domaines possibles
     37 * Retourne soit un array (s'il y en a plusieurs) soit un string (un seul possible)
     38 */
     39function gestion_mutu_domaines(){
     40        $domaines = explode(';',lire_config('gestion_mutu/domaines',_DOMAINES_MUTU));
     41        if(count($domaines) == 1){
     42                $domaines_possibles = $domaines[0];
     43        }else{
     44                $domaines_possibles = $domaines;
     45        }
     46        return $domaines_possibles;
     47}
    3148?>
  • plugins_spip/gestion_mutu/gestion_mutu_fonctions.php

    r3012 r3057  
    11<?php
    22
    3 /**
    4  * Fonction donnant la liste des domaines possibles
    5  * Retourne soit un array (s'il y en a plusieurs) soit un string (un seul possible)
    6  */
    7 function gestion_mutu_domaines(){
    8         $domaines = explode(';',lire_config('gestion_mutu/domaines',_DOMAINES_MUTU));
    9         if(count($domaines) == 1){
    10                 $domaines_possibles = $domaines[0];
    11         }else{
    12                 $domaines_possibles = $domaines;
    13         }
    14         return $domaines_possibles;
    15 }
     3
    164
    175?>
  • plugins_spip/gestion_mutu/lang/gestion_mutus_fr.php

    r3056 r3057  
    1010        'editer_mutus_nouveau' => 'Cr&eacute;er une instance de mutualisation',
    1111        'editer_mutus_titre' => 'Instances de la mutualisation',
     12        'erreur_ssdomaine_existant' => 'Ce sous domaine existe d&eacute;j&agrave;',
     13        'erreur_ssdomaine_invalide' => 'Ce sous domaine est invalide.',
    1214        'explication_domaines' => 'Vous pouvez laisser la possibilit&eacute; &agrave; l\'utilisateur de choisir entre plusieurs domaines diff&eacute;rents. S&eacute;parez chaque domaine par un point virgule &laquo;;&raquo;.',
     15        'explications_ssdomaine' => 'Le sous domaine ne doit contenir aucun caract&egrave;re sp&eacute;cial ni de ponctuation.',
     16        'explication_ssdomaines_interdits' => 'Vous pouvez ne pas autoriser certains sous domaines pour le domaine &laquo;@ssdomaine&raquo;. Il suffit de les inscrire ci-dessous et de les s&eacute;parer d\'un point virgule &laquo;;&raquo;.',
    1317
    1418        // F
     
    3337        'label_i3_gestion_mutu_descriptif' => 'Afficher le champs de descriptif',
    3438        'label_ssdomaine' => 'Sous-domaine',
     39        'label_ssdomaines_interdits' => 'Sous domaines interdits pour &laquo;@ssdomaine@&raquo;',
    3540        'label_titre' => 'Titre',
    3641        'legende_creer_mutu' => 'Cr&eacute;er une instance de mutualisation',
  • plugins_spip/gestion_mutu/verifier/ssdomaine.php

    r3018 r3057  
    11<?php
     2
     3if (!defined("_ECRIRE_INC_VERSION")) return;
     4
    25/**
    36 * GénÚre le nom du sous domaine final aprÚs avoir viré les caractÚres potentiellement impossibles
     
    69 */
    710function verifier_ssdomaine_dist($valeur,$options=array()){
    8         include_spip('inc/filtres');
    9 
    10         $ssdomaine = supprimer_tags(supprimer_numero(extraire_multi($ssdomaine)));
    11         $ssdomaine = translitteration(corriger_caracteres($ssdomaine));
    12         $ssdomaine = str_replace('_', chr(7), $ssdomaine);
    13         $ssdomaine = preg_replace(',[[:punct:][:space:]]+,u', ' ', $ssdomaine);
    14         $ssdomaine = str_replace(chr(7), '_', $ssdomaine);
    15         $ssdomaine = str_replace(' ', '_', $ssdomaine);
    16 
    17         return $ssdomaine;
     11        if(!preg_match('/^[a-z0-9-]*$/',$valeur)){
     12                return _T('gestion_mutus:erreur_ssdomaine_invalide');
     13        }else if(sql_getfetsel('id_mutu','spip_mutus','ssdomaine='.sql_quote($valeur))){
     14                return _T('gestion_mutus:erreur_ssdomaine_existant');
     15        }else if(isset($options['domaine'])){
     16                $domaine_ss_pt = str_replace('.','',$options['domaine']);
     17                spip_log($domaine_ss_pt,'test');
     18                $ssdomaines_interdits = lire_config('gestion_mutu/ssdomaine_interdits_'.$domaine_ss_pt,'');
     19                spip_log($ssdomaines_interdits);
     20                if(in_array($valeur,explode(';',$ssdomaines_interdits))){
     21                        return _T('gestion_mutus:erreur_ssdomaine_existant');
     22                }
     23        }
     24        return '';
    1825}
    1926?>
Note: See TracChangeset for help on using the changeset viewer.