Changeset 103768 in spip-zone


Ignore:
Timestamp:
Apr 6, 2017, 7:04:19 AM (3 years ago)
Author:
erational@…
Message:

on stocke le titre, l'édito et la selection des articles et evenements dans meta pour permettre d'utiliser le plugin malettre comme un plugin de composition et l'utiliser dans d'autres plugins (par ex. dans le plugin newsletters)

Location:
_plugins_/ma-lettre/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/ma-lettre/trunk/formulaires/editer_malettre.php

    r103767 r103768  
    33 * Formulaire pour composer la lettre
    44 */
     5
     6
    57if (!defined('_ECRIRE_INC_VERSION')) {
    68        return;
     
    1416 */
    1517function formulaires_editer_malettre_charger_dist(){
    16   $contexte = array();
    17   return $contexte;
     18        $contexte = array();
     19        return $contexte;
    1820}
    1921
     
    2224 */
    2325function formulaires_editer_malettre_verifier_dist(){
    24         $erreurs = array();   
     26        $erreurs = array();
    2527        return $erreurs;
    2628}
     
    3133function formulaires_editer_malettre_traiter_dist(){
    3234
    33   include_spip("inc/charsets");
    34   include_spip("inc_presentation");
     35        include_spip("inc/charsets");
     36        include_spip("inc_presentation");
    3537
    36   // chemin
    37   $path = _DIR_IMG;
    38   $path_archive = "lettre";
    39   $path_archive_full = $path.$path_archive;
    40   $path_url = lire_meta("adresse_site");
    41   $path_url_archive = $path_url."/IMG";
     38        // chemin
     39        $path = _DIR_IMG;
     40        $path_archive = "lettre";
     41        $path_archive_full = $path.$path_archive;
     42        $path_url = lire_meta("adresse_site");
     43        $path_url_archive = $path_url."/IMG";
    4244
    43   $p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__file__))));
    44   define('_DIR_PLUGIN_MALETTRE',(_DIR_PLUGINS.end($p)));
    45   $path_plugin = dirname(__file__)."/../";
    46  
    47   $errorFlag = false;
    48   $message = "";
    49  
    50                 // ancien editer_malettre
    51                       $lettre_title = trim(strip_tags(_request('lettre_title')));
    52                 $lettre_title = str_replace("\"","'", $lettre_title);
    53                
    54                 $lang = _request('lang_select');
    55                 if ($lang=="") 
    56                           $lang = $GLOBALS['meta']['langue_site'];
    57                
    58                            
    59                                         // VERSION HTML & TXT
    60                                         $sourceHTML = "";
    61                                         $sourceTXT  = "";
    62                                         $selection = ""; // stocke les id des articles retenus separee par une virgule
    63                
    64                                                    
    65                 // radio button
    66                 $add = _request('add');
    67                 if (is_array($add))   
    68                     $selection = implode(",", $add);
    69                                                        
    70                 // csv articles                                         
    71                                         $art_csv = _request('art_csv');
    72                                         $csv = explode(",", $art_csv);
    73                                         if (is_array($csv)) {                                                     
    74                                                         foreach ($csv as $value2) {                                                             
    75                                                         $selection .= ",".trim($value2);
    76                                                         }
    77                                         }
    78                 // radio button
    79                 $addeve = _request('addeve');
    80                 if (is_array($addeve))   
    81                     $selection_eve = implode(",", $addeve);
    82            
    83                 // csv evenements                                               
    84                                         $eve_csv = _request('eve_csv');
    85                                         $csv_eve = explode(",", $eve_csv);
    86                                         if (is_array($csv_eve)) {                                                         
    87                                                         foreach ($csv_eve as $value2) {                                                         
    88                                                         $selection_eve .= ",".trim($value2);
    89                                                         }
    90                                         }       
    91                
    92                 // edito
    93                 include_spip('inc/config');
    94                 $id_article_edito = lire_config("malettre/id_article_edito");
    95                
    96                 // calcul du patron     
    97                 $flag_preserver = true; // empecher ajout feuille spip_admin.css
    98                 $sourceHTML .= malettre_get_contents("malettre",$id_article_edito,$selection,$selection_eve,$lang);                 
    99                                                 $sourceTXT  .= malettre_get_contents("malettre_txt",$id_article_edito,$selection,$selection_eve,$lang);
    100                
    101                 //$message = "titre: $lettre_title / sel;  $selection  / sek, $selection_eve / <textarea>$sourceHTML</textarea>";
    102                                                        
    103                                         // ecriture fichier                                                                                             
    104                                                 if ($handle = fopen($path_archive_full."/_malettre.html", w)) {                                                     
    105                                                         fwrite($handle, $sourceHTML);                                   
    106                                                         fclose($handle);
    107                    
    108                     if ($handle = fopen($path_archive_full."/_malettre_txt.html", w)) {                         
    109                                                                 fwrite($handle, $sourceTXT);                                   
    110                                                                 fclose($handle);
    111                                                   } else {
    112                       $errorFlag = true;
    113                       $message =  _T('malettre:erreur_ecriture')."($path.$path_archive)";
    114                     }                                                                           
    115                 } else {
    116                     $errorFlag = true;
    117                     $message = _T('malettre:erreur_ecriture')."($path.$path_archive)";                   
    118                                                 }                                                       
    119                                        
     45        $p = explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__file__))));
     46        define('_DIR_PLUGIN_MALETTRE',(_DIR_PLUGINS.end($p)));
     47        $path_plugin = dirname(__file__)."/../";
    12048
    121  
    122   $redirect = "";
    123  
    124   // pas d'erreur, on passe à l'étape suivante: choix destinaires
    125   if (!$errorFlag) {
    126       //refuser_traiter_formulaire_ajax();
    127       $redirect = parametre_url(generer_url_ecrire('malettre_envoi'),'lettre_title',$lettre_title );
    128   }
     49        $errorFlag = false;
     50        $message = "";
     51
     52                                $lettre_title = trim(strip_tags(_request('lettre_title')));
     53                                $lettre_title = str_replace("\"","'", $lettre_title);
     54                                ecrire_meta("malettre-titre", $lettre_title);
     55
     56                                $lang = _request('lang_select');
     57                                if ($lang == "")
     58                                                $lang = $GLOBALS['meta']['langue_site'];
     59
     60
     61                                // VERSION HTML & TXT
     62                                $sourceHTML = "";
     63                                $sourceTXT  = "";
     64                                $selection = "";                // stocke les id des articles retenus separee par une virgule
     65                                $selection_eve = "";    // stocke les id des evenements retenus separee par une virgule
     66
     67
     68                                // radio button
     69                                $add = _request('add');
     70                                if (is_array($add))
     71                                                $selection = implode(",", $add);
     72
     73                                // csv articles
     74                                $art_csv = _request('art_csv');
     75                                $csv = explode(",", $art_csv);
     76                                if (is_array($csv)) {
     77                                        foreach ($csv as $value2) {
     78                                                $selection .= ",".trim($value2);
     79                                        }
     80                                }
     81
     82                                ecrire_meta("malettre-selection", $selection);          // on stocke la selection dans meta, pour pouvoir l'utiliser ailleurs par ex.  sur le plugin newsletter
     83
     84
     85                                // evenements
     86                                // radio button
     87                                $addeve = _request('addeve');
     88                                if (is_array($addeve))
     89                                        $selection_eve = implode(",", $addeve);
     90
     91                                // csv evenements
     92                                $eve_csv = _request('eve_csv');
     93                                $csv_eve = explode(",", $eve_csv);
     94                                if (is_array($csv_eve)) {
     95                                                foreach ($csv_eve as $value2) {
     96                                                        $selection_eve .= ",".trim($value2);
     97                                                }
     98                                }
     99
     100                                ecrire_meta("malettre-selection_eve", $selection_eve);          // on stocke la selection dans meta, pour pouvoir l'utiliser ailleurs par ex.  sur le plugin newsletter
     101
     102
     103
     104                                // edito
     105                                include_spip('inc/config');
     106                                $id_article_edito = lire_config("malettre/id_article_edito");
     107                                ecrire_meta("malettre-selection_id_article_edito", $id_article_edito);          // on stocke la selection dans meta, pour pouvoir l'utiliser ailleurs par ex.  sur le plugin newsletter
     108
     109
     110
     111                                // calcul du patron     
     112                                $flag_preserver = true; // empecher ajout feuille spip_admin.css
     113                                $sourceHTML .= malettre_get_contents("malettre",$id_article_edito,$selection,$selection_eve,$lang);
     114                                $sourceTXT  .= malettre_get_contents("malettre_txt",$id_article_edito,$selection,$selection_eve,$lang);
     115
     116                                //$message = "titre: $lettre_title / sel;  $selection  / sek, $selection_eve / <textarea>$sourceHTML</textarea>";
     117
     118                                // ecriture fichier
     119                                if ($handle = fopen($path_archive_full."/_malettre.html", w)) {
     120                                        fwrite($handle, $sourceHTML);
     121                                        fclose($handle);
     122
     123                                        if ($handle = fopen($path_archive_full."/_malettre_txt.html", w)) {
     124                                                fwrite($handle, $sourceTXT);
     125                                                fclose($handle);
     126                                        } else {
     127                                                $errorFlag = true;
     128                                                $message =  _T('malettre:erreur_ecriture')."($path.$path_archive)";
     129                                        }
     130                                } else {
     131                                        $errorFlag = true;
     132                                        $message = _T('malettre:erreur_ecriture')."($path.$path_archive)";
     133                                }
     134
     135
     136
     137        $redirect = "";
     138
     139        // pas d'erreur, on passe à l'étape suivante: choix destinaires
     140        if (!$errorFlag) {
     141                //refuser_traiter_formulaire_ajax();
     142                $redirect = parametre_url(generer_url_ecrire('malettre_envoi'),'lettre_title',$lettre_title );
     143        }
    129144 
    130145        // message
     
    132147                "editable" => false,
    133148                "message_ok" => "$message",
    134     'redirect' => $redirect
     149                'redirect' => $redirect
    135150        );
    136151}
  • _plugins_/ma-lettre/trunk/paquet.xml

    r103767 r103768  
    22        prefix="malettre"
    33        categorie="communication"
    4         version="3.3.3"
     4        version="3.3.4"
    55        schema="1.0.0"
    66        etat="stable"
  • _plugins_/ma-lettre/trunk/prive/squelettes/contenu/malettre.html

    r78865 r103768  
    44
    55]
    6 [(#AUTORISER{voir, malettre})   
    7         <div class='ajax'> 
    8     #FORMULAIRE_EDITER_MALETTRE
     6[(#AUTORISER{voir, malettre})
     7        <div class='ajax'>
     8        #FORMULAIRE_EDITER_MALETTRE
    99        </div>
    1010]
Note: See TracChangeset for help on using the changeset viewer.