Ignore:
Timestamp:
Oct 26, 2007, 10:04:19 AM (13 years ago)
Author:
cedric@…
Message:

"versions tout en squelette, remise au gout du jour"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/_test_/recommander/action/fragment_recommander.php

    r13167 r16351  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
    5 define ('_SECRET', '1234');  # trouver une meilleure methode pour definir le secret... un meta() dans la base...
    6 
    7 
     5// initaliser le secret la premiere fois : md5 de l'url et de la date
     6if (!isset($GLOBALS['meta']['recommander_secret'])){
     7        include_spip('inc/meta');
     8        ecrire_meta('recommander_secret',md5(self().date('Y-m-d H:i:s')));
     9        ecrire_metas();
     10}
    811
    912function verifier_email_ou_erreur($email) {
    1013        if (!$email = trim($email))
    11                 return '<div class="erreur">'._T('form_prop_indiquer_email').'</div>';
     14                return _T('form_prop_indiquer_email');
    1215        if (!email_valide($email))
    13                 return '<div class="erreur">'
    14                         . _T('pass_erreur_non_valide',
     16                return _T('pass_erreur_non_valide',
    1517                                array(
    1618                                'email_oubli' => htmlspecialchars($email)
    1719                                )
    18                         ).'</div>';
     20                        );
    1921}
    2022
     
    3537        // envoyer le mail
    3638        include_spip('inc/filtres');
    37         include_spip('inc/mail');
    3839#       var_dump($contexte_inclus);
    3940
     
    4849# i18n
    4950# _T('recommander_lecture', array('from' => _request('recommander_from')))
    50         $body = "Bonjour,\n\n"
    51                 . _request('recommander_from')
    52                 . " vous recommande la lecture de cet article :\n\n"
    53                 . "* ". textebrut($contexte_inclus['titre'])." *\n\n"
    54                 . textebrut($contexte_inclus['texte'])."\n\n"
    55                 . ' -> '.url_absolue(sinon ($contexte_inclus['url'], self()))
    56                 . "\n\n"
    57                 . _request('recommander_message')
    58                 . "\n\n-- "._T('envoi_via_le_site')
    59                 . " ".supprimer_tags(extraire_multi($GLOBALS['meta']['nom_site']))
    60                 . " (".$GLOBALS['meta']['adresse_site']."/) --\n";
     51        $contexte = array(
     52                'titre'=>$contexte_inclus['titre'],
     53                'texte'=>$contexte_inclus['texte'],
     54                'url'=>$contexte_inclus['url']?$contexte_inclus['url']:self(),
     55                'recommander_from'=>_request('recommander_from'),
     56                'recommander_to'=>_request('recommander_to'),
     57                'recommander_message'=>_request('recommander_message'),
     58        );
     59        include_spip('public/assembler');
     60        $body = recuperer_fond('recommander/email',$contexte);
    6161
    6262        lang_dselect();
    6363
    64         if (!envoyer_mail(
     64        $envoyer_mail = charger_fonction('envoyer_mail','inc');
     65        if (!$envoyer_mail(
    6566                _request('recommander_to'),
    6667                $subject,
     
    6970                "X-Originating-IP: ".$GLOBALS['ip']
    7071        ))
    71                 return "<div class='erreur'>"._L("Erreur lors de l'envoi du message.")."</div>";
     72                return _L("Erreur lors de l'envoi du message.");
    7273
    7374}
    7475
    7576
    76 function action_fragment_recommander() {
     77function action_fragment_recommander($return = false, $contexte_inclus = array()) {
    7778        if (!_request('recommander_env')
    78         OR (_request('recommander_cle') <> md5(_SECRET._request('recommander_env')))
     79        OR (_request('recommander_cle') <> md5($GLOBALS['meta']['recommander_secret']._request('recommander_env')))
    7980        OR $erreur = envoi_recommander(
    8081                @unserialize(base64_decode(_request('recommander_env'))))
    8182        ) {
    82 
    83                 $r = $erreur;
    84 
    85                 $r .= "<form method='post' action='".self()."'>";
    86 
    87                 $r .= "<p><label for='recommander_from'>"._T('form_pet_votre_email')."</label>";
    88                 $r .= " <input type='text' id='recommander_from' name='recommander_from'
    89                 value='".htmlspecialchars(_request('recommander_from'))."'  class='forml' /></p>";
    90                 $r .= "<p><label for='recommander_to'>"._T('recommander:destinataire')."</label>";
    91                 $r .= " <input type='text' id='recommander_to' name='recommander_to' class='forml'
    92                 value='".htmlspecialchars(_request('recommander_to'))."' class='formo' /></p>";
    93                 $r .= "<p><label for='recommander_message'>"._T('forum_texte')."</label>";
    94                 $r .= " <textarea id='recommander_message' name='recommander_message' class='forml'
    95                 value='".htmlspecialchars(_request('recommander_message'))."' class='forml'></textarea></p>";
    96                 $r .= "<div class='spip_bouton'><input type='submit' name='recommander_email' value='"._T('recommander:recommander_message')."' /></div>";
    97 
    9883                if (!_request('recommander_cle')) {
    99                         $contexte = base64_encode(serialize($GLOBALS['contexte_inclus']));
    100                         $cle = md5(_SECRET.$contexte);
     84                        $contexte = base64_encode(serialize($contexte_inclus));
     85                        $cle = md5($GLOBALS['meta']['recommander_secret'].$contexte);
    10186                } else {
    10287                        $contexte = htmlspecialchars(_request('recommander_env'));
    10388                        $cle = htmlspecialchars(_request('recommander_cle'));
    10489                }
    105                 $r .= "<input type='hidden' name='recommander_env' value='$contexte' />\n";
    106                 $r .= "<input type='hidden' name='recommander_cle' value='$cle' />\n";
    107                 $r .= "</form>";
     90               
     91                $contexte = array(
     92                        'erreur' =>$erreur,
     93                        'recommander_env'=>$contexte,
     94                        'recommander_cle'=>$cle,
     95                        'recommander_from'=>_request('recommander_from'),
     96                        'recommander_to'=>_request('recommander_to'),
     97                        'recommander_message'=>_request('recommander_message'),
     98                        'titre'=>$contexte_inclus['titre'],
     99                        'texte'=>$contexte_inclus['texte'],
     100                        'url'=>$contexte_inclus['url'],
     101                        'self'=>self()
     102                );
     103                include_spip('public/assembler');
     104                $r = recuperer_fond('recommander/formulaire',$contexte);
    108105        }
    109106       
    110107        else {
    111                 $r = _T('form_prop_message_envoye');
     108                $contexte = array(
     109                        'recommander_from'=>_request('recommander_from'),
     110                        'recommander_to'=>_request('recommander_to'),
     111                        'recommander_message'=>_request('recommander_message'),
     112                        'titre'=>$contexte_inclus['titre'],
     113                        'texte'=>$contexte_inclus['texte'],
     114                        'url'=>$contexte_inclus['url'],
     115                );
     116                include_spip('public/assembler');
     117                $r = recuperer_fond('recommander/envoye',$contexte);
    112118        }
    113119
    114         echo $r;
     120        if ($return)
     121                return $r;
     122        else
     123                echo $r;
    115124}
    116125
Note: See TracChangeset for help on using the changeset viewer.