Changeset 108050 in spip-zone


Ignore:
Timestamp:
Dec 14, 2017, 12:03:33 PM (18 months ago)
Author:
pierrekuhn82@…
Message:

version 1.1.0 : Rajout de l'api http://www.octopush-dm.com/ , à amélioré suivant la demande.

Location:
_plugins_/sms/trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/sms/trunk/formulaires/configurer_sms.html

    r93733 r108050  
     1<script type="text/javascript">
     2$(function(){
     3        [(#ENV{prestataire}|=={smsfactor}|non)$( ".smsfactor" ).addClass( "none" );]
     4        [(#ENV{prestataire}|=={octopush}|non)$( ".octopush" ).addClass( "none" );]
     5        $( "#aucun" ).on( "click", function() {
     6                $( ".smsfactor" ).addClass( "none" );
     7                $( ".octopush" ).addClass( "none" );
     8        });
     9        $( "#smsfactor" ).on( "click", function() {
     10                $( ".octopush" ).addClass( "none" );
     11                $( ".smsfactor" ).removeClass( "none" );
     12        });
     13        $( "#octopush" ).on( "click", function() {
     14                $( ".smsfactor" ).addClass( "none" );
     15                $( ".octopush" ).removeClass( "none" );
     16        });
     17});
     18</script>
    119<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
    220
     
    1634                                <ul>
    1735                                        <li class="editer">
    18                                                 <input type="radio" name="prestataire" value="" [(#ENV{prestataire}|=={""}|oui) checked]><:sms:aucun:>
    19                                                 <input type="radio" name="prestataire" value="smsfactor" [(#ENV{prestataire}|=={smsfactor}|oui) checked]>SMS Factor
     36                                                <input type="radio" name="prestataire" id="aucun" value="" [(#ENV{prestataire}|=={""}|oui) checked]><:sms:aucun:>
     37                                                <input type="radio" name="prestataire" id="smsfactor" value="smsfactor" [(#ENV{prestataire}|=={smsfactor}|oui) checked]>SMS Factor
     38                                                <input type="radio" name="prestataire" id="octopush" value="octopush" [(#ENV{prestataire}|=={octopush}|oui) checked]>Octopush
    2039                                        </li>
    2140                                </ul>
    2241                        </li>
    2342
    24                         <li class="fieldset">
    25                                         <h3 class="legend">SMS Factor </h3>
    26                                         <p class="explication"><:sms:explication_smsfactor:></p>
    27                                         <ul>
    28                                                 <li class="editer">
    29                                                         <label for="login_smsfactor"><:sms:login:></label>
    30                                                         <input type="text" name="login_smsfactor" value="[(#ENV{login_smsfactor})]" placeholder="mon_mail@spip.net">
    31                                                 </li>
    32                                                 <li class="editer">
    33                                                         <label for="login_smsfactor"><:sms:mot_de_passe:></label>
    34                                                         <input type="password" name="mdp_smsfactor" value="[(#ENV{mdp_smsfactor})]">
    35                                                 </li>
    36                                                 <li class="editer">
    37                                                         <p class="explication"><:sms:explication_expediteur:></p>
    38                                                         <label for="expediteur_smsfactor"><:sms:expediteur:></label>
    39                                                         <input type="text" name="expediteur_smsfactor" value="[(#ENV{expediteur_smsfactor})]">
    40                                                 </li>
    41                                         </ul>
     43                        <li class="fieldset smsfactor">
     44                                <h3 class="legend">SMS Factor</h3>
     45                                <p class="explication"><:sms:explication_smsfactor:></p>
     46                                <ul>
     47                                        <li class="editer">
     48                                                <label for="login_smsfactor"><:sms:login:></label>
     49                                                <input type="text" name="login_smsfactor" value="[(#ENV{login_smsfactor})]" placeholder="mon_mail@spip.net" size="58">
     50                                        </li>
     51                                        <li class="editer">
     52                                                <label for="login_smsfactor"><:sms:mot_de_passe:></label>
     53                                                <input type="password" name="mdp_smsfactor" value="[(#ENV{mdp_smsfactor})]" size="58">
     54                                        </li>
     55                                        <li class="editer">
     56                                                <p class="explication"><:sms:explication_expediteur:></p>
     57                                                <label for="expediteur_smsfactor"><:sms:expediteur:></label>
     58                                                <input type="text" name="expediteur_smsfactor" value="[(#ENV{expediteur_smsfactor})]" size="11">
     59                                        </li>
     60                                </ul>
     61                        </li>
     62                        <li class="fieldset octopush">
     63                                <h3 class="legend">Octopush</h3>
     64                                #SET{standard,#VAL{standard}|balance}
     65                                #SET{premium,#VAL{premium}|balance}
     66                                <p class="explication"><:sms:explication_octopush{standard=#GET{standard}, premium=#GET{premium}}:></p>
     67                                <ul>
     68                                        <li class="editer">
     69                                                <label for="login_octopush"><:sms:login:></label>
     70                                                <input type="text" name="login_octopush" value="[(#ENV{login_octopush})]" placeholder="mon_mail@spip.net" size="58">
     71                                        </li>
     72                                        <li class="editer">
     73                                                <label for="login_octopush"><:sms:cle_api:></label>
     74                                                <input type="password" name="cle_api_octopush" value="[(#ENV{cle_api_octopush})]" size="58">
     75                                        </li>
     76                                        <li class="editer">
     77                                                <p class="explication"><:sms:explication_expediteur:></p>
     78                                                <label for="expediteur_octopush"><:sms:expediteur:></label>
     79                                                <input type="text" name="expediteur_octopush" value="[(#ENV{expediteur_octopush,#NOM_SITE_SPIP})]" size="11">
     80                                        </li>
     81                                        <li class="editer">
     82                                                <label for="mode_octopush"><:sms:mode_octopush:></label>
     83                                                <p class="explication"><:sms:explication_mode_octopush:></p>
     84                                                <input type="radio" name="mode_octopush" id="real" value="real" [(#ENV{mode_octopush}|=={real}|ou{#ENV{mode_octopush}|=={""}}|oui) checked]><:sms:reel:>
     85                                                <input type="radio" name="mode_octopush" id="simu" value="simu" [(#ENV{mode_octopush}|=={simu}|oui) checked]><:sms:simulation:>
     86                                        </li>
     87                                </ul>
    4288                        </li>
    4389
  • _plugins_/sms/trunk/lang/sms_fr.php

    r97533 r108050  
    1616        'cfg_titre_parametrages' => 'Paramétrages',
    1717        'choix_prestataire' => 'Choix du prestataire',
     18        'cle_api' => 'Clé API',
    1819
    1920        // E
    2021        'expediteur' => 'Expéditeur',
    21         'explication_expediteur' => 'Personnalisation de l’expéditeur avec du texte (11 caractères Max.)
    22         N° de Téléphone non pris en charge en France.',
     22        'explication_expediteur' => 'Personnalisation de l’expéditeur avec du texte (11 caractères Max.) N° de Téléphone non pris en charge en France.',
     23        'explication_mode_octopush' => 'Souhaitez-vous envoyer en réel ou en simulation ?',
     24        'explication_octopush' => 'Identifiants API (Votre solde : SMS Standard @standard@ ou SMS premium @premium@)',
    2325        'explication_smsfactor' => 'Identifiant de votre compte en ligne',
    2426
     
    2729
    2830        // M
     31        'mode_octopush' => 'Mode d\'envoi des sms',
    2932        'mot_de_passe' => 'Mot de passe',
    3033
     34        // R
     35        'reel' => 'Réel',
     36
    3137        // S
     38        'simulation' => 'Simulation',
    3239        'sms_titre' => 'SMS SPIP',
    3340
  • _plugins_/sms/trunk/paquet.xml

    r103720 r108050  
    22        prefix="sms"
    33        categorie="communication"
    4         version="1.0.4"
     4        version="1.1.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.1.*]"
  • _plugins_/sms/trunk/sms_fonctions.php

    r95828 r108050  
    1313
    1414//Utilisation de SMS factor
    15 if ( lire_config('sms/prestataire') == "smsfactor") {
    16 
    17         function envoyer_sms($message,$destinataire,$arg=array()){
     15if (lire_config('sms/prestataire') == "smsfactor") {
     16        function envoyer_sms($message,$destinataire,$arg=array()) {
    1817                return smsfactor($message,$destinataire,$arg);
     18        }
     19} elseif (lire_config('sms/prestataire') == "octopush") {
     20        function envoyer_sms($message,$destinataire,$arg=array()) {
     21                return octopush($message,$destinataire,$arg);
    1922        }
    2023}
     
    3033 * @return boolean
    3134**/
    32 function smsfactor($message,$destinataire,$arg){
     35function smsfactor($message,$destinataire,$arg) {
    3336        $username = lire_config('sms/login_smsfactor');
    3437        $password = lire_config('sms/mdp_smsfactor');
     
    4144
    4245        $reponse = new SimpleXMLElement($retour);
    43         if ( $reponse->message == "OK" ){
     46        if ( $reponse->message == "OK" ) {
    4447                return true;
    45         }else{
     48        } else {
    4649                return false;
    4750        }
    4851}
    4952
    50 function nettoyer_xml($texte){
     53/**
     54 * Envoie le sms en utilisant l'API du prestataire octopush-dm
     55 *
     56 * @param string $message
     57 *              le texte d'envoie doit etre du texte et non du html
     58 * @param array $destinataire
     59 * @param array $arg
     60 *              utilise pour : $arg['sms_sender']
     61 *              utilise pour : $arg['sms_mode'] => SMS_STANDARD (par defaut) ou SMS_PREMIUM
     62 *              utilise pour : $arg['sms_type'] => INSTANTANE (par defaut) ou DIFFERE (Non prévu pour le moment)
     63 * @return boolean
     64**/
     65function octopush($sms_text,$sms_recipients,$arg) {
     66        $user_login = lire_config('sms/login_octopush');
     67        $api_key        = lire_config('sms/cle_api_octopush');
     68        $sms_text       = nettoyer_xml($sms_text);
     69
     70        // Variable pour l'envoi
     71        $sms_type       = isset($arg['sms_type']) ? $arg['sms_type'] : 'SMS_STANDARD';
     72        $sms_mode       = isset($arg['sms_mode']) ? $arg['sms_mode'] : 'INSTANTANE';
     73        $sms_sender     = isset($arg['sms_sender']) ? $arg['sms_sender'] : lire_config('sms/expediteur_octopush');
     74        require_once('classes/octopush/sms.inc.php');
     75
     76        $sms = new SMS();
     77
     78        $sms->set_user_login($user_login);
     79        $sms->set_api_key($api_key);
     80        $sms->set_sms_mode($sms_mode);
     81        $sms->set_sms_text($sms_text);
     82        $sms->set_sms_recipients($sms_recipients);
     83        $sms->set_sms_type($sms_type);
     84        $sms->set_sms_sender($sms_sender);
     85        $sms->set_sms_request_id(uniqid());
     86        $sms->set_option_with_replies(0);
     87        $sms->set_option_transactional(1);
     88        $sms->set_sender_is_msisdn(0);
     89        //$sms->set_date(2016, 4, 17, 10, 19); // En cas d'envoi différé.
     90        $sms->set_request_keys('TRS');
     91        $xml = $sms->send();
     92        $xml = simplexml_load_string($xml);
     93        spip_log($xml, 'test');
     94        return $xml;
     95}
     96function filtre_balance($type) {
     97        $username = lire_config('sms/login_octopush');
     98        $password = lire_config('sms/cle_api_octopush');
     99
     100        require_once('classes/octopush/sms.inc.php');
     101        $sms = new SMS();
     102
     103        $sms->set_user_login($username);
     104        $sms->set_api_key($password);
     105
     106        $xml = $sms->getBalance();
     107        $xml = simplexml_load_string($xml);
     108        $balance = $xml->balance;
     109        $standard = $balance['0'];
     110        $premium = $balance['1'];
     111        $balance = array('standard' => $standard, 'premium' => $premium);
     112        $valeurs = intval($balance[$type]);
     113        return $valeurs;
     114}
     115
     116function nettoyer_xml($texte) {
    51117        $texte = str_replace('&', '&amp;',  $texte);
    52118        $texte = str_replace('<', '&lt;',   $texte);
Note: See TracChangeset for help on using the changeset viewer.