Changeset 1168 in spip-zone for _squelettes_/bloog/abonnement.php3


Ignore:
Timestamp:
Oct 25, 2005, 4:20:41 PM (14 years ago)
Author:
booz.bloog@…
Message:

installation spip-listes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/bloog/abonnement.php3

    r17 r1168  
    11<?php
    2 /******************************************************************************************/
    3 /* La bloOgletter est un système de gestion de listes d'information par email pour SPIP   */
    4 /* Copyright (C) 2004 Vincent CARON  v.caron<at>laposte.net , http://bloog.net            */
    5 /*                                                                                        */
    6 /* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */
    7 /* de la Licence Publique Générale GNU publiée par la Free Software Foundation            */
    8 /* (version 2).                                                                           */
    9 /*                                                                                        */
    10 /* Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE,       */
    11 /* ni explicite ni implicite, y compris les garanties de commercialisation ou             */
    12 /* d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU  */
    13 /* pour plus de détails.                                                                  */
    14 /*                                                                                        */
    15 /* Vous devez avoir reçu une copie de la Licence Publique Générale GNU                    */
    16 /* en même temps que ce programme ; si ce n'est pas le cas, écrivez à la                  */
    17 /* Free Software Foundation,                                                              */
    18 /* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis.                   */
    19 /******************************************************************************************/
    20 
    212
    223include ("ecrire/inc_version.php3");
     
    3516
    3617
     18
     19// 3 Cas : 
     20// 1) La personne valide le formulaire de modif, traitement des données
     21// 2) Recuperer le cookie de relance désabonnement / afficher le forumlaire de modif
     22// 3) Envoyer par mail le cookie de relance modif abonnement
     23//presentation
     24
     25
     26 // La personne valide le formulaire
     27
     28 // revoir le test ?
    3729if($champs_extra AND ($confirm == 'oui') ){
    3830
    3931$res = spip_query("SELECT * FROM spip_auteurs WHERE cookie_oubli='$d' AND statut<>'5poubelle' AND pass<>''");
    4032   if ($row = spip_fetch_array($res)) {
     33    $id_auteur = $row['id_auteur'];
     34        $statut = $row['statut'];
     35        $nom = $row['nom'];
     36        $mail_abo = $row['email'];
     37
     38    // abonnement aux listes
     39    //(http://www.phpfrance.com/tutorials/index.php?page=2&id=13)
     40
     41//selectionne les listes et desabonne l'auteur
     42$listes = spip_query ("SELECT * FROM spip_articles WHERE statut = 'liste'");
     43while($row = spip_fetch_array($listes)) {
     44$id_liste = $row['id_article'] ;       
     45$query="DELETE FROM spip_auteurs_articles WHERE id_auteur='$id_auteur' AND id_article='$id_liste'";
     46$result=spip_query($query);
     47}
     48
     49if(is_array($list)){
     50
     51 // on abonne l'auteur aux listes choisies
     52 while( list(,$val) = each($list) ){
     53               
     54        $query="INSERT INTO spip_auteurs_articles (id_auteur,id_article) VALUES ('$id_auteur','$val')";
     55        $result=spip_query($query);
     56               
     57 }
     58} else { $desabo="oui"; }
     59
     60// fin de l'abo  aux listes
     61
     62 // prendre en compte les extras
    4163
    4264   $extras = bloog_extra_recup_saisie('auteurs');
     
    4466   spip_query("UPDATE spip_auteurs SET extra = '$extras' WHERE cookie_oubli ='$d'");
    4567   spip_query("UPDATE spip_auteurs SET cookie_oubli = '0' WHERE cookie_oubli ='$d'");
    46    
    47    
    48    $extra = get_extra($row['id_auteur'],'auteur');
    49    
     68
     69   // affichage des modifs
     70
     71   $extra = get_extra($id_auteur,'auteur');
     72
    5073   If ($extra['abo'] == 'non')  {
    51    bdebut_html(_T('bloog:desabonnement_valid'));
    52    echo"<h4>"._T('bloog:desabonnement_valid')."</h4>".$row['email']."<br>\n";
     74   bdebut_html(_T('spiplistes:desabonnement_valid'));
     75   echo"<h4>"._T('spiplistes:desabonnement_valid')."</h4>".$mail_abo."<br>\n";
    5376   bfin_html();
    5477   }
    5578   else {
    56    bdebut_html(_T('bloog:abonnement_modifie'));
    57    echo"<h4>"._T('bloog:abonnement_modifie')."</h4><p>"._T('bloog:abonnement_nouveau_format').$extra['abo']."<br>\n";
     79   bdebut_html(_T('spiplistes:abonnement_modifie'));
     80   echo"<h4>"._T('spiplistes:abonnement_modifie')."</h4>" ;
     81
     82
     83
     84   // $message .= _T('spiplistes:mail_format', array('nom_site_spip' => $nom_site_spip))." : ".$GLOBALS['suppl_abo']."\n";
     85        $message = "";
     86
     87        //SELECT des listes de l'abonné
     88        $query = "SELECT * FROM spip_auteurs_articles AS abonnements, spip_articles AS listes WHERE abonnements.id_auteur='$id_auteur' AND abonnements.id_article=listes.id_article AND listes.statut='liste'";
     89                $res = spip_query($query);
     90
     91                 //lister les listes
     92         $nb_listes_abo = spip_num_rows($res);
     93         if($nb_listes_abo>0){
     94                        while($row = spip_fetch_array($res)) {
     95                        $id_article = $row['id_article'] ;
     96                        $query = "SELECT * FROM spip_articles WHERE statut='liste' AND id_article=$id_article";
     97                    $result = spip_query($query);
     98                                if(spip_num_rows($result)>0){
     99                                $row = spip_fetch_array($result);
     100                                $titre = $row['titre'] ;
     101                                $message .= "<li>".$titre."</li>" ;
     102                                }
     103                        }
     104        echo "<ul>".$message."</ul>";
     105        }else{
     106        //echo " vous n'êtes plus abonné aux lettres d'information" ;
     107        }
     108   echo"<p>"._T('spiplistes:abonnement_nouveau_format').$extra['abo']."<br>\n";
    58109   bfin_html();
    59110   }
     
    67118}
    68119
    69 // recuperer le cookie de relance désabonnement
     120// recuperer le cookie de relance désabonnement, et afficher le formulaire de modif
    70121if ($d = addslashes($d) AND ($confirm != 'oui')) {
    71122
    72123        $res = spip_query ("SELECT * FROM spip_auteurs WHERE cookie_oubli='$d' AND statut<>'5poubelle' AND pass<>''");
    73124        if ($row = spip_fetch_array($res)) {
    74 
    75          // Modifier la valeur du champs .
    76 
    77                  
    78          bdebut_html(_T('bloog:abonnement'));
    79          echo "[".$row['nom']."]";
    80                  echo "<h4>"._T('bloog:abonnement')."</h4>"   ;
    81          echo"<form action='abonnement.php3' method='post'>";
    82          echo"<p align='center'>";
    83          bloog_extra_saisie($row['extra'], 'auteurs', 'inscription');
    84          echo"<input type='submit' name='Valider' value='"._T('bloog:abonnement_bouton')."'>";
    85          echo"<input type='hidden' name='d'  value=$d >";
    86          echo"<input type='hidden' name='confirm'  value='oui' >";
    87          echo"</p>";
    88          echo"</form>";
     125             $id_auteur = $row['id_auteur'];
     126                         $nom = $row['nom'];
     127                         $extra_aut = $row['extra'];
     128
     129          //SELECT des listes de l'abonné
     130       
     131                $listes = spip_query ("SELECT * FROM spip_articles WHERE statut = 'liste' OR statut = 'inact'");
     132                        while($row = spip_fetch_array($listes)) {
     133                        $id_liste = $row['id_article'] ;       
     134                        $query = "SELECT * FROM spip_auteurs_articles WHERE id_auteur=$id_auteur AND id_article=$id_liste";
     135                        $res = spip_query($query);
     136                        //lister les listes
     137            while($row2 = spip_fetch_array($res)) {
     138                        $tab_articles[] = $row2['id_article'] ;
     139            }
     140            }   
     141             
     142                 if(!is_array($tab_articles)) { $desabo="oui"; }
     143
     144         // permettre de modifier la valeur des champs d'abo .
     145
     146
     147         bdebut_html(_T('spiplistes:abonnement'));
     148         echo "[$nom]";
     149                 echo "<h4>"._T('spiplistes:abonnement')."</h4>"   ;
     150         echo "<form action='abonnement.php3' method='post'>";
     151         echo "<div style='text-align:left'>";
     152
     153                /***********/
     154
     155
     156            $list = spip_query ("SELECT * FROM spip_articles WHERE statut = 'liste' ");
     157                        $nb_listes = spip_num_rows($list);
     158                        if($nb_listes == 0){
     159                        echo "<fieldset>";
     160                        echo "<legend> Abonnement à la lettre d'information </legend>";
     161                        }
     162                        elseif($nb_listes == 1){
     163                        echo "<fieldset>";
     164                        echo "<legend> Abonnement à la lettre d'information </legend>";
     165                        echo "<ul style='width:350px'>" ;
     166                        while($row2 = spip_fetch_array($list)) {
     167
     168                        echo "<li>" ;
     169                        $id_article = $row2['id_article'] ;
     170                        $titre = $row2['titre'] ;
     171
     172
     173            echo "<div style='float:right'>"."<input type=\"checkbox\" name=\"list[]\" checked=\"checked\" value=\"".$id_article."\" />"."</div><a href='?liste=$id_article'>$titre</a>" ;
     174                        echo "</li>" ;
     175                        }
     176                        echo "</ul>" ;
     177                        }
     178                        else{
     179                       
     180
     181
     182
     183            echo "<fieldset> ";
     184                        echo "<legend> Abonnement aux listes de diffusion </legend>";
     185                        echo "<ul style='width:350px'>" ;
     186                        while($row3 = spip_fetch_array($list)) {
     187
     188                        echo "<li>" ;
     189                        $id_article = $row3['id_article'] ;
     190                        $titre = $row3['titre'] ;
     191                       
     192                        //Gérer les CHECKED
     193                        if ($desabo != "oui"){
     194                         if (in_array ($id_article, $tab_articles)) {
     195                         $checked = "checked=\"checked\"";
     196                         }else{$checked = "";}
     197                         
     198                        }
     199
     200            echo "<div style='float:right'>"."<input type=\"checkbox\" name=\"list[]\" ".$checked."  value=\"".$id_article."\" />"."</div><a href='?liste=$id_article' title='informations sur cette liste'>$titre</a>" ;
     201                        echo "</li>" ;
     202                        }
     203                        echo "</ul>" ;
     204
     205
     206                    } // fin du test nb listes
     207               
     208
     209
     210
     211               /**************/
     212
     213
     214
     215         bloog_extra_saisie($extra_aut, 'auteurs', 'inscription');
     216        echo "<input type='submit' name='Valider' value='"._T('spiplistes:abonnement_bouton')."' />";
     217        echo "<input type='hidden' name='d'  value=$d  />";
     218        echo "<input type='hidden' name='confirm'  value='oui' />";
     219        echo "</fieldset> </div> </form>";
    89220        bfin_html();
    90221
     
    110241                                spip_query("UPDATE spip_auteurs SET cookie_oubli = '$cookie' WHERE email ='$email'");
    111242
    112                                 $message = _T('bloog:abonnement_mail_passcookie', array('nom_site_spip' => $nomsite, 'adresse_site' => $urlsite, 'cookie' => $cookie));
    113                                 if (envoyer_mail($email, "[$nomsite] "._T('bloog:abonnement_titre_mail'), $message))
    114                                         $erreur = _T('bloog:pass_recevoir_mail');
     243                                $message = _T('spiplistes:abonnement_mail_passcookie', array('nom_site_spip' => $nomsite, 'adresse_site' => $urlsite, 'cookie' => $cookie));
     244                                if (envoyer_mail($email, "[$nomsite] "._T('spiplistes:abonnement_titre_mail'), $message))
     245                                        $erreur = _T('spiplistes:pass_recevoir_mail');
    115246                                else
    116247                                        $erreur = _T('pass_erreur_probleme_technique');
     
    126257if($confirm != 'oui'){
    127258        // debut presentation
    128         bdebut_html(_T('bloog:abonnement_change_format'));
    129         echo"["._T('bloog:lettre_d_information')."]";
    130                 echo"<h4>"._T('bloog:abonnement_change_format', array('nom_site_spip' => $nomsite))."</h4>\n";
    131        
    132         echo "<p>";
     259        bdebut_html(_T('spiplistes:abonnement_change_format'));
     260       
     261       
     262          echo "<fieldset> ";
     263        echo "<legend>"._T('spiplistes:lettre_d_information')." </legend>";
     264
     265       
     266        echo"<h4>"._T('spiplistes:abonnement_change_format', array('nom_site_spip' => $nomsite))."</h4>\n";
     267
     268
    133269        if ($erreur)
    134270                echo $erreur;
    135271        else {
    136                 echo _T('bloog:abonnement_texte_mail');
    137 
    138                 echo "<p>";
     272                echo _T('spiplistes:abonnement_texte_mail');
     273
    139274                echo "<form action='".$PHP_SELF."' method='post'>";
    140                 echo "<div align='right'>";
    141                 echo "<input type='text' class='fondo' name='email_desabo' value=''>";
    142                 echo "<input type='hidden' name='desabo' value='oui'>";
    143                 echo "<input type=submit class='fondl' name='oubli' value='OK'></div></form>";
    144 
     275                echo "<div style='text-align:right'>";
     276                echo "<input type='text' class='fondo' name='email_desabo' value='' />";
     277                echo "<input type='hidden' name='desabo' value='oui' />";
     278                echo "<input type='submit' class='fondl' name='oubli' value='OK' /></div></form>";
    145279        }
     280
     281        echo "</fieldset> ";
    146282      bfin_html();
    147283}
     
    164300        @Header("Content-Type: text/html; charset=$charset");
    165301
    166         echo "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n<head>\n<html>\n<title>[$nom_site_spip] $titre</title>\n";
    167         echo '<meta http-equiv="Content-Type" content="text/html; charset='.$charset.'">';
     302        echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
     303        echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">';
     304        echo "<head>";
     305        echo "<title>[$nom_site_spip] $titre</title>";
     306        echo "<meta http-equiv='Content-Type' content='text/html; charset=".$charset."' />";
    168307        echo '
    169      
    170       <style>
     308
     309      <style type="text/css">
    171310<!--
    172311
     312body {
     313        color:#000000;
     314        background-color:#F5F5F5;
     315}
     316
     317
    173318.cadre {
    174         border: 1px #000000 solid;
     319        /*border: 1px #000000 solid;*/
    175320        background-color:#FFFFFF;
    176321        text-align: justify;
     
    203348</style>
    204349  ';
    205      
    206         echo "</head><body text='#000000' bgcolor='#e4e4e4' ";
     350
     351        echo "</head><body ";
    207352        if ($spip_lang_rtl)
    208353                echo " dir='rtl'";
    209         echo "><div class='bloc'><h1>".$nom_site_spip."</h1><div class='cadre' align='center' >";
     354        echo "><div class='bloc'><h1>".$nom_site_spip."</h1><div class='cadre'>";
    210355}
    211356
     
    213358 $urlsite=lire_meta("adresse_site");
    214359
    215         echo "</div><p><a href='".$urlsite."'>"._T('pass_retour_public')."</a></p><br><div class='cdt'>"._T('bloog:desabonnement_cdt')."</div></div></body></html>\n";
     360        echo "</div><p><a href='".$urlsite."'>"._T('pass_retour_public')."</a></p><br /><div class='cdt'>"._T('spiplistes:abonnement_cdt')."</div></div></body></html>\n";
    216361
    217362}
Note: See TracChangeset for help on using the changeset viewer.