Changeset 7841 in spip-zone


Ignore:
Timestamp:
Dec 9, 2006, 2:48:36 PM (12 years ago)
Author:
bertrand@…
Message:

Un point d'arret sur la config , ca fait encore rien mais ca s'assemble pas mal :)

Location:
_plugins_/_dev_/sms
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/sms/exec/config_sms.php

    r7815 r7841  
    1616    }
    1717        $result = $message = null;
    18         if (_request('envoi')) {
     18/*      if (_request('envoi')) {
    1919                $securiser_action = charger_fonction('securiser_action', 'inc');
    2020                $securiser_action();
     
    2323                                                        : _L('envoi_correct_pour') . ' ' . $contexte['to'];
    2424        }
    25         include_spip("inc/texte");
     25        $message = print_r(cherche_prestataires(), true);
     26*/
    2627        config_sms_debut_page($message);
    27 
     28// pour developpement, fixe clickatell
     29        $contexte['driver'] = 'clickatell_http';
    2830        echo config_sms_fond($contexte);
    2931       
     
    3234}
    3335
    34 /*
    35  Vérifier les parametre et faire la requete d'envoi du sms
    36         $contexte est un tableau (nom=>valeur) qui sera enrichi
    37         Retourne '' si tou s'est bien passé , message d'erreur sinon
    38 */
    39 function transmet_prestataire(&$contexte)
     36/**
     37    * Retourne une liste des prestataires disponibles driver=>(name=>...,desc=>...)
     38    *
     39    * @return array  An array of available drivers.
     40    */
     41function cherche_prestataires()
    4042{
     43    static $drivers = array();
     44    if (!empty($drivers)) {
     45        return $drivers;
     46    }
    4147        include_spip('inc/sms');
    42         $contexte['resultat'] = '';
    43 //      $contexte['resultat'] = print_r($contexte, true);
     48    $preg = '#^cfg_(\w+)\.html$#';
    4449
    45     $sender =& Net_SMS::factory($contexte['prestataire'],
    46                          array( 'user' => $contexte['user'],
    47                                                                 'password' => $contexte['password'],
    48                                                                 'api_id' => $contexte['api_id'] ));
    49     if (c_pear::isError($sender))   {
    50                 $contexte['resultat'] = _L('factory SMS failed') . '<br />' .
    51                         print_r($sender, true);
    52                 return $contexte['resultat'];
     50    if ($driver_dir = opendir(dirname(__FILE__) . '/../fonds/')) {
     51        while (false !== ($file = readdir($driver_dir))) {
     52            /* ne garder que les cfg_xxx.html */
     53            if (preg_match($preg, $file, $matches)) {
     54                $driver = $matches[1];
     55                $drivers[$driver] = Net_SMS::getGatewayInfo($driver);
     56            }
     57        }
     58        closedir($driver_dir);
    5359    }
    54         //send message and return result
    55         $msg = array('to'=>$contexte['to'],
    56                      'from'=>$contexte['from'],
    57                                  'id'=>$contexte['id'],
    58                                  'text'=>$contexte['text']);
    59         $e = $sender->send($msg);
    60     if (c_pear::isError($e))   {
    61                 $contexte['resultat'] = _L('transmission_loupee') .
    62                    '<br />' . print_r($msg, true) .
    63                    '<br />' . print_r($e, true);
    64     }
    65         return $contexte['resultat'];
     60
     61    return $drivers;
     62}
     63
     64function boite_liste($titre = "", $elements = array())
     65{
     66        if (!$elements) {
     67                return '';
     68        }
     69        $dedans = debut_boite_info(true);
     70        if ($titre) {
     71                $dedans .= '<h4>' . _L($titre) . '</h4>';
     72        }
     73        if (is_string($elements)) {
     74                return $dedans . $elements;
     75        }
     76        $dedans .= '<ul>';
     77        foreach ($elements as $elt) {
     78                $dedans .= '<li>' . $elt . '</li>';
     79        }
     80        $dedans .= '</ul>' . fin_boite_info(true);
     81        return $dedans;
     82}
     83
     84function liste_existants()
     85{
     86}
     87
     88function creer_nouveau()
     89{
     90        $liste = array();
     91        foreach (cherche_prestataires() as $driver => $info) {
     92                $liste[] = '<a href="' .
     93                        generer_url_ecrire('config_sms', 'adddriver=' . $driver ) . '">' .
     94                        $info['name'] . '</a><br />' . $info['desc'];
     95        }
     96        return boite_liste(_L('creer_nouveau_compte'), $liste);
    6697}
    6798
    6899/*
    69  Fabriquer les balises des champs d'apres un modele fonds/config_sms.html
     100 Fabriquer les balises des champs d'apres un modele fonds/cfg_<driver>.html
    70101        $contexte est un tableau (nom=>valeur) qui sera enrichi puis passe à recuperer_fond
    71102*/
     
    77108
    78109    include_spip('public/assembler');
    79     return recuperer_fond('config_clickatell', $contexte);
     110    return recuperer_fond('fonds/cfg_' . $contexte['driver'], $contexte);
    80111}
    81112
     
    85116
    86117        $commencer_page = charger_fonction('commencer_page', 'inc');
    87         echo $commencer_page(_L('Envoi de SMS'), 'sms', 'config_sms');
     118        echo $commencer_page(_L('Configuration SMS'), 'sms', 'config_sms');
    88119       
    89120        debut_gauche();
    90121       
    91122        debut_boite_info();
    92         echo propre(_L('Vous pouvez envoyer des SMS depuis cette page'));
     123        echo propre(_L('Cette page permet de configurer vos prestataires SMS'));
    93124        fin_boite_info();
    94125       
     
    99130        }
    100131       
     132        echo creer_nouveau();
     133       
    101134        debut_droite();
    102135       
    103         gros_titre(_L("Envoi de SMS"));
     136        gros_titre(_L("Configuration SMS"));
    104137       
    105138       
    106         debut_cadre_trait_couleur('','','',_L("Parametres d'envoi"));
     139        debut_cadre_trait_couleur('','','',_L("Parametres comptes SMS"));
    107140
    108141}
  • _plugins_/_dev_/sms/fonds/cfg_clickatell_http.html

    r7836 r7841  
    55]
    66#CACHE{0}
    7 <INCLURE{fond=config_sms_head}{hash}{arg}{compte=1}>
     7[(#INCLURE{fond=fonds/config_sms_head}{lang}{hash}{arg}{compte=1})]
    88
    99<fieldset><legend>Identification</legend>
     
    1616</fieldset>
    1717
    18 <INCLURE{fond=config_sms_foot}>
     18[(#INCLURE{fond=fonds/config_sms_foot}{lang}{hash}{arg})]
  • _plugins_/_dev_/sms/fonds/config_sms_foot.html

    r7815 r7841  
    44
    55]
    6 <input type="submit" name="envoi" value="<:SMS:Envoyer:>" />
     6<input type="submit" name="ok" value="<:OK:>" />
     7<input type="submit" name="delete" value="<:Supprimer:>" />
    78</form>
    89</div>
  • _plugins_/_dev_/sms/fonds/config_sms_head.html

    r7815 r7841  
    99<input name="arg" type="hidden" value="#ENV{arg}" />
    1010<input name="exec" type="hidden" value="config_sms" />
    11 <fieldset><legend><:SMS:parametres_pour_compte</legend>
     11<fieldset><legend><:SMS:parametres_pour_compte:></legend>
    1212<input type="text" name="compte" value="#ENV{compte}" size="15" />
     13<input type="hidden" name="was_compte" value="#ENV{compte}" />
    1314</fieldset>
Note: See TracChangeset for help on using the changeset viewer.