Changeset 62573 in spip-zone for _plugins_/gestion_ml


Ignore:
Timestamp:
Jun 15, 2012, 8:52:09 PM (8 years ago)
Author:
yffic@…
Message:
  • Mise à jour de la version de l'API lors de l'install
  • Vérification des droits d'accès aux listes du domaine dans le formulaire de config
Location:
_plugins_/gestion_ml
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gestion_ml/base/gestionml_install.php

    r57783 r62573  
    2424                $config = array_merge(array(
    2525                                'hebergeur' => '0',
    26                                 'serveur_distant' => 'https://www.ovh.com/soapi/soapi-re-1.28.wsdl',
     26                                'serveur_distant' => 'https://www.ovh.com/soapi/soapi-re-1.38.wsdl',
    2727                                'domaine' => 'mondomaine.tld',
    2828                                'identifiant' => '',
  • _plugins_/gestion_ml/formulaires/configurer_gestionml.php

    r58881 r62573  
    100100        include_spip('inc/gestionml_api');
    101101        $resultat = gestionml_api_listes_toutes(true) ;
    102         $nom_listes = array_keys($resultat['listes']) ;
    103         $listes = array_combine($nom_listes,$nom_listes) ;
    104 
    105         if($config['cacher_admin_restreints']) {
    106                 $auteurs = sql_allfetsel("auteurs.id_auteur,auteurs.nom", "spip_auteurs AS auteurs LEFT JOIN spip_auteurs_rubriques AS restreints ON auteurs.id_auteur=restreints.id_auteur", "restreints.id_auteur IS NULL AND auteurs.statut='0minirezo'", "nom");
    107         } else {
    108                 $auteurs = sql_allfetsel("id_auteur, nom", "spip_auteurs", "statut='0minirezo'", "", "nom");
    109         }
    110 
    111         foreach($auteurs as $ligne){
    112                 $saisies[] = array(
    113                         'saisie' => 'selection_multiple',
    114                         'options' => array(
    115                                 'nom' => 'listes_auteur_'.$ligne['id_auteur'],
    116                                 'label' => _T('gestionml:label_liste_de',array('nom' => $ligne['nom'])),
    117                                 'explication' => _T('gestionml:explication_liste_de',array('nom' => $ligne['nom'])),
    118                                 'cacher_option_intro' => 'oui',
    119                                 'defaut' => $config['listes_auteur_'.$ligne['id_auteur']],
    120                                 'datas' => $listes
    121                         )
    122                 ) ;
     102        if( array_key_exists('listes',$resultat) ) {
     103                $nom_listes = array_keys($resultat['listes']) ;
     104                $listes = array_combine($nom_listes,$nom_listes) ;
     105       
     106                if($config['cacher_admin_restreints']) {
     107                        $auteurs = sql_allfetsel("auteurs.id_auteur,auteurs.nom", "spip_auteurs AS auteurs LEFT JOIN spip_auteurs_rubriques AS restreints ON auteurs.id_auteur=restreints.id_auteur", "restreints.id_auteur IS NULL AND auteurs.statut='0minirezo'", "nom");
     108                } else {
     109                        $auteurs = sql_allfetsel("id_auteur, nom", "spip_auteurs", "statut='0minirezo'", "", "nom");
     110                }
     111       
     112                foreach($auteurs as $ligne){
     113                        $saisies[] = array(
     114                                'saisie' => 'selection_multiple',
     115                                'options' => array(
     116                                        'nom' => 'listes_auteur_'.$ligne['id_auteur'],
     117                                        'label' => _T('gestionml:label_liste_de',array('nom' => $ligne['nom'])),
     118                                        'explication' => _T('gestionml:explication_liste_de',array('nom' => $ligne['nom'])),
     119                                        'cacher_option_intro' => 'oui',
     120                                        'defaut' => $config['listes_auteur_'.$ligne['id_auteur']],
     121                                        'datas' => $listes
     122                                )
     123                        ) ;
     124                }
    123125        }
    124126        return $saisies;
     
    130132        if( _request('hebergeur') != "0" ) {
    131133                include_spip('inc/gestionml_api');
    132                 $erreurs = gestionml_api_tester(_request('serveur_distant'), _request('identifiant'), _request('mot_de_passe')) ;
     134                $erreurs = gestionml_api_tester(_request('serveur_distant'), _request('domaine'), _request('identifiant'), _request('mot_de_passe')) ;
    133135        }
    134136        return ($erreurs);
  • _plugins_/gestion_ml/inc/gestionml_api.php

    r53425 r62573  
    1010 *
    1111 */
    12 function gestionml_api_tester($serveur, $ident, $psw) {
     12function gestionml_api_tester($serveur, $domaine, $ident, $psw) {
    1313        $retour = array() ;
    1414        try {
    1515                $soap = new SoapClient($serveur);
     16                // Tester la connexion
    1617                $session = $soap->login($ident, $psw,"fr", false);
     18                // Tester l'autorisation
     19                $result = $soap->emailAccessByNic($session);
     20                if(!in_array($domaine,$result))
     21                        $retour['message_erreur'] = _T("gestionml:erreur_droits");
    1722                $soap->logout($session);
    1823        } catch(SoapFault $fault) {
    19                 $retour['message_erreur'] .= $fault->faultstring;
     24                $retour['message_erreur'] = $fault->faultstring;
    2025        }
    2126        return ($retour);
     
    7176                //login
    7277                $session = $soap->login($config['identifiant'], $config['mot_de_passe'],"fr", false);
    73       $retour['listes'] = gestionml_api_liste_des_listes($soap->mailingListList($session, $config['domaine']),$toutes);
     78                $retour['listes'] = gestionml_api_liste_des_listes($soap->mailingListList($session, $config['domaine']),$toutes);
    7479
    7580                switch($ovhaction) {
  • _plugins_/gestion_ml/lang/gestionml_fr.php

    r57783 r62573  
    2727
    2828        // E
     29        'erreur_droits' => 'Droits insuffisants sur les emails de ce domaine',
    2930        'explication_cacher_admin_restreints' => 'Ne pas afficher les administrateurs restreints dans la liste ci-dessous' ,
    3031        'explication_domaine' => 'Saisissez votre domaine sans les www' ,
  • _plugins_/gestion_ml/plugin.xml

    r62048 r62573  
    33        <slogan>G&#233;rer les mailing lists chez votre h&#233;bergeur avec le protocole SOAP</slogan>
    44        <auteur>Yffic</auteur>
    5         <version>0.5.0</version>
     5        <version>0.5.1</version>
    66        <version_base>0.2</version_base>
    77        <etat>test</etat>
Note: See TracChangeset for help on using the changeset viewer.