Changeset 44980 in spip-zone


Ignore:
Timestamp:
Feb 26, 2011, 10:02:11 PM (10 years ago)
Author:
cedric@…
Message:

refactoring sur le formulaire de signature : dans la balise dynamique on se contente de rechercher id_article du contexte, et dans le #FORMULAIRE_SIGNATURE on fait explicitement les requetes sur spip_petitions pour trouver celle ci et ses proprietes. On predispose au refus de signature en presence d'un champ statut=off sur la petition (pour fermer une petition sans la perdre)

Location:
_core_/plugins/petitions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _core_/plugins/petitions/balise/formulaire_signature.php

    r43415 r44980  
    2727// http://doc.spip.org/@balise_FORMULAIRE_SIGNATURE
    2828function balise_FORMULAIRE_SIGNATURE ($p) {
    29         return calculer_balise_dynamique($p,'FORMULAIRE_SIGNATURE', array('id_article', 'petition'));
     29        return calculer_balise_dynamique($p,'FORMULAIRE_SIGNATURE', array('id_article'));
    3030}
    3131
     
    4242                return '';
    4343        }
    44         // article sans petition => pas de balise
    45         else if (!$args[1])
    46                 return '';
    47 
    48         else {
    49                 // aller chercher dans la base la petition associee
    50                 if ($r = sql_fetsel("texte, site_obli, message", 'spip_petitions', "id_article = ".intval($args[0]))) {
    51                         $args[2] = $r['texte'];
    52                         // le signataire doit-il donner un site ?
    53                         $args[3] = ($r['site_obli'] == 'oui') ? ' ':'';
    54                         // le signataire peut-il proposer un commentaire
    55                         $args[4] = ($r['message'] == 'oui') ? ' ':'';
    56                 }
    57                 return $args;
    58         }
     44        return $args;
    5945}
    6046?>
  • _core_/plugins/petitions/formulaires/signature.php

    r43415 r44980  
    1313if (!defined("_ECRIRE_INC_VERSION")) return;
    1414
    15 function formulaires_signature_charger_dist($id_article, $petition, $texte, $site_obli, $message) {
     15function formulaires_signature_charger_dist($id_article) {
     16        // pas de petition, pas de signature
     17        if (!$r = sql_fetsel('*','spip_petitions','id_article='.intval($id_article)))
     18                return false;
     19        // pas de signature sur une petition fermee (TODO)
     20        if (isset($r['statut']) AND $r['statut']=='off')
     21                return false;
     22
    1623        $valeurs = array(
    1724                'id_article' => $id_article,
     
    2229                'signature_nom_site'=>'',
    2330                'signature_url_site'=>'http://',
    24                 '_texte'=>$petition,
    25                 '_message'=>$message,
     31                '_texte'=>$r['texte'],
     32                '_message'=>($r['message'] == 'oui') ? ' ':'',
    2633                'message'=>'',
    27                 'site_obli' => $site_obli,
     34                'site_obli' => ($r['site_obli'] == 'oui'?' ':''),
    2835                'debut_signatures'=>'' // pour le nettoyer de l'url d'action !
    29                 );
     36        );
    3037
    3138        if ($c = _request('var_confirm')) {
     
    4148}
    4249
    43 function formulaires_signature_verifier_dist($id_article, $petition, $texte, $site_obli, $message) {
     50function formulaires_signature_verifier_dist($id_article) {
    4451        $erreurs = array();
    4552        $oblis = array('session_email','session_email');
    46 
    47         if ($site_obli){
     53        $r = sql_fetsel('*','spip_petitions','id_article='.intval($id_article));
     54
     55        if ($r['site_obli'] == 'oui'){
    4856                $oblis[] = 'signature_nom_site';
    4957                $oblis[] = 'signature_url_site';
     
    6472        elseif (strlen(_request('nobot'))
    6573                OR (@preg_match_all(',\bhref=[\'"]?http,i', // bug PHP
    66                                     $message
     74                                    _request('message')
    6775                                    # ,  PREG_PATTERN_ORDER
    6876                                   )
     
    7280                $erreurs['message_erreur'] = _T('form_pet_probleme_liens');
    7381        }
    74         if ($site_obli){
     82        if ($r['site_obli'] == 'oui'){
    7583                if (!vider_url($url_site = _request('signature_url_site'))) {
    7684                        $erreurs['signature_url_site'] = _T('form_indiquer_nom_site');
     
    114122}
    115123
    116 function formulaires_signature_traiter_dist($id_article, $petition, $texte, $site_obli, $message) {
     124function formulaires_signature_traiter_dist($id_article) {
    117125        $reponse = _T('form_pet_probleme_technique');
    118126        include_spip('base/abstract_sql');
Note: See TracChangeset for help on using the changeset viewer.