Changeset 61074 in spip-zone


Ignore:
Timestamp:
May 7, 2012, 12:55:08 PM (7 years ago)
Author:
eric@…
Message:

Mise au point de l'insertion d'n objet commentaire.
Autres corrections

Location:
_plugins_/relecture
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/relecture/barre_outils/relecture.php

    r61029 r61074  
    3838                                        p['element'] = 'texte';
    3939                                }
    40                                 u = parametre_url('?exec=commentaire_edit', 'id_relecture', p['id_relecture']);
     40                                u = parametre_url('?exec=commentaire_edit', 'new', 'oui');
     41                                u = parametre_url(u, 'id_relecture', p['id_relecture']);
    4142                                u = parametre_url(u, 'element', p['element']);
    4243                                u = parametre_url(u, 'index_debut', d);
  • _plugins_/relecture/base/relecture_declarations.php

    r61051 r61074  
    8888                        "texte"                         => "text DEFAULT '' NOT NULL",
    8989                        "reponse"                       => "text DEFAULT '' NOT NULL",
    90                         "date_crea"             => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     90                        "date_ouverture"        => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    9191                        "date_modif"            => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    9292                        "date_cloture"          => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
     
    100100                // Titre, date et gestion du statut
    101101                'titre'                                 => "id_commentaire AS titre, '' AS lang",
    102                 'date'                                  => 'date_crea',
    103                 'texte_changer_statut' => 'relecture:texte_instituer_commentaire',
    104                 'aide_changer_statut' => '',
    105                 'statut_titres' => array(
    106                         'ouvert' => 'relecture:titre_commentaire_ouvert',
    107                         'accepte' => 'relecture:titre_commentaire_accepte',
    108                         'refuse' => 'relecture:titre_commentaire_refuse'
     102                'date'                                  => 'date_ouverture',
     103                'texte_changer_statut'  => 'relecture:texte_instituer_commentaire',
     104                'aide_changer_statut'   => '',
     105                'statut_titres'                 => array(
     106                        'ouvert'        => 'relecture:titre_commentaire_ouvert',
     107                        'accepte'       => 'relecture:titre_commentaire_accepte',
     108                        'refuse'        => 'relecture:titre_commentaire_refuse',
     109                        'poubelle'      => 'relecture:titre_commentaire_poubelle'
    109110                ),
    110                 'statut_textes_instituer' =>    array(
    111                         'ouvert' => 'relecture:texte_commentaire_ouvert',
    112                         'accepte' => 'relecture:texte_commentaire_accepte',
    113                         'refuse' => 'relecture:texte_commentaire_refuse'
     111                'statut_textes_instituer'=>     array(
     112                        'ouvert'        => 'relecture:texte_commentaire_ouvert',
     113                        'accepte'       => 'relecture:texte_commentaire_accepte',
     114                        'refuse'        => 'relecture:texte_commentaire_refuse',
     115                        'poubelle'      => 'relecture:texte_commentaire_poubelle'
    114116                ),
    115                 'statut_images' => array(
    116                         'ouvert'=>'puce-preparer-8.png',
    117                         'accepte'=>'puce-publier-8.png',
    118                         'accepte'=>'puce-refuser-8.png'
     117                'statut_images'                 => array(
     118                        'ouvert'        => 'puce-preparer-8.png',
     119                        'accepte'       => 'puce-publier-8.png',
     120                        'refuse'        => 'puce-refuser-8.png',
     121                        'poubelle'      => 'puce-poubelle-8.png'
    119122                ),
    120123
    121124                // Edition, affichage et recherche
    122125                'page'                                  => '',
    123                 'url_voir' => 'commentaire_edit',
    124                 'url_edit' => 'commentaire_edit',
     126                'url_voir'                              => 'commentaire_edit',
     127                'url_edit'                              => 'commentaire_edit',
    125128                'editable'                              => 'oui',
    126129                'champs_editables'              => array('texte', 'reponse'),
  • _plugins_/relecture/formulaires/commenter_relecture.html

    r61015 r61074  
    2424                        <li class="editer editer_#ENV{element}[ (#ENV**{erreurs}|table_valeur{texte_element}|oui) erreur]">
    2525                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{texte_element})</span>]
    26                                 <textarea readonly="readonly" name="texte_element" id="texte_element"[ lang="(#LANG)"] rows="20" cols="40">
    27                                         [(#ENV**{texte_element})]
    28                                 </textarea>
     26                                <textarea readonly="readonly" name="texte_element" id="texte_element"[ lang="(#LANG)"] rows="20" cols="40">[(#ENV**{texte_element})]</textarea>
    2927                    </li>
    3028                </ul>
  • _plugins_/relecture/formulaires/editer_commentaire.html

    r61051 r61074  
    1 <div class="formulaire_spip formulaire_editer formulaire_editer_commentaire formulaire_editer_commentaire-#ENV{id_commentaire, new}">
     1<div class="formulaire_spip formulaire_editer formulaire_editer_commentaire formulaire_editer_commentaire-#ENV{id_commentaire, oui}">
    22        <!-- <br class='bugajaxie' /> -->
    33        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
  • _plugins_/relecture/formulaires/editer_commentaire.php

    r61051 r61074  
    55include_spip('inc/editer');
    66
    7 function formulaires_editer_commentaire_charger_dist($id_commentaire='oui', $element, $id_relecture, $index_debut, $index_fin, $redirect='') {
     7function formulaires_editer_commentaire_charger_dist($id_commentaire='oui', $redirect='') {
    88        // Traitement standard de chargement
    99        $valeurs = formulaires_editer_objet_charger('commentaire', $id_commentaire, 0, 0, $redirect, '');
    1010
    11         // Ajout des valeurs specifiques a l'objet commentaire
    12         // - si le commentaire est ouvert l'auteur de l'article peut le moderer.
    13         //   On lui renvoie le texte du commentaire et de la reponse
    14         if ($id = intval($id_commentaire)) {
     11        // Ouverture d'un commentaire
     12        if (($id_commentaire == 'oui')
     13        AND ($id_relecture = intval(_request('id_relecture')))) {
     14                // On supprime les index 'id_relecture', 'element' du tableau des valeurs afin qu'ils soient transmis dans
     15                // la fonction traiter() (car ce sont des champs de l'objet relecture)
     16                unset($valeurs['id_relecture']);
     17                unset($valeurs['element']);
     18        }
     19        // Modification d'une commentaire
     20        else if ($id = intval($id_commentaire)) {
     21                // - si le commentaire est ouvert l'auteur de l'article peut le moderer.
     22                //   On lui renvoie le texte du commentaire et de la reponse
    1523                $textes = sql_fetsel('texte, reponse', 'spip_commentaire', "id_commentaire=$id");
    1624                $valeurs = array_merge($valeurs, $textes);
     
    2028}
    2129
    22 function formulaires_editer_commentaire_verifier_dist($id_commentaire, $element, $id_relecture, $index_debut, $index_fin, $redirect='') {
     30function formulaires_editer_commentaire_verifier_dist($id_commentaire, $redirect='') {
    2331        $erreurs = formulaires_editer_objet_verifier('commentaire', $id_commentaire, array('texte'));
    2432
     
    2634        // - le texte du commentaire doit avoir plus de n caracteres.
    2735
    28 
    29 
    3036        return $erreurs;
    3137}
    3238
    3339// http://doc.spip.org/@inc_editer_article_dist
    34 function formulaires_editer_commentaire_traiter_dist($id_commentaire, $element, $id_relecture, $index_debut, $index_fin, $redirect='') {
     40function formulaires_editer_commentaire_traiter_dist($id_commentaire, $redirect='') {
    3541
    3642        // les autres traitements particuliers de creation de  l'objet commentaire sont faits dans le
  • _plugins_/relecture/formulaires/editer_relecture.html

    r61015 r61074  
    1212                                <label for="description"><:relecture:label_description:></label>
    1313                                [<span class="erreur_message">(#ENV**{erreurs}|table_valeur{description})</span>]
    14                                 <textarea class="inserer_barre_edition" name="description" id="description"[ lang="(#LANG)"] rows="12" cols="40">
    15                                         [(#ENV**{description})]
    16                                 </textarea>
     14                                <textarea class="inserer_barre_edition" name="description" id="description"[ lang="(#LANG)"] rows="12" cols="40">[(#ENV**{description})]</textarea>
    1715                    </li>
    1816                </ul>
  • _plugins_/relecture/formulaires/editer_relecture.php

    r61051 r61074  
    1313        AND ($id_article = intval(_request('id_article')))) {
    1414                // On supprime l'index 'id_article' du tableau des valeurs afin que id_article soit transmis dans
    15                 // la fonction traiter()
     15                // la fonction traiter() (car id_article est un champ de l'objet relecture)
    1616                unset($valeurs['id_article']);
    1717        }
  • _plugins_/relecture/lang/relecture_fr.php

    r61029 r61074  
    4040// L
    4141        'label_article_chapo' => 'Chapeau',
    42         'label_article_descriptif' => 'Descriptif',
     42        'label_article_descr' => 'Descriptif',
    4343        'label_article_ps' => 'Post-Scriptum',
    4444        'label_article_relu' => 'Article concerné',
  • _plugins_/relecture/prive/objets/contenu/relecture-enfants.html

    r61029 r61074  
    11[(#ID_RELECTURE|oui)
    22        [(#AUTORISER{commenter, relecture, #ID_RELECTURE})
    3                 [(#URL_ECRIRE{relecture_comment, id_relecture=#ID_RELECTURE}|icone{<:relecture:bouton_participer_relecture:>, commentaire, #LANG_RIGHT,'',ajax})]
     3                [(#URL_ECRIRE{relecture_comment,id_relecture=#ID_RELECTURE}|icone_verticale{<:relecture:bouton_participer_relecture:>, commentaire, '', right ajax preload})]
    44        ]
    55
  • _plugins_/relecture/prive/squelettes/contenu/commentaire_edit.html

    r61051 r61074  
    2626                [(#FORMULAIRE_{editer_commentaire,
    2727                        #ID_COMMENTAIRE|sinon{oui},
    28                         #ENV{element},
    29                         #ENV{id_relecture},
    30                         #ENV{index_debut},
    31                         #ENV{index_fin},
    3228                        #GET{redirect}})]
    3329[(#ENV{retourajax,''}|oui)
  • _plugins_/relecture/prive/squelettes/contenu/relecture.html

    r60838 r61074  
    8282        <div class="accordion" id="article">
    8383                [(#ARTICLE_DESCR*|strlen|oui)
    84                         <h5><a href="#"><:relecture:label_article_descriptif:></a></h5>
     84                        <h5><a href="#"><:relecture:label_article_descr:></a></h5>
    8585                        <div>#ARTICLE_DESCR</div>]
    8686                [(#ARTICLE_CHAPO*|strlen|oui)
  • _plugins_/relecture/prive/squelettes/contenu/relecture_comment.html

    r61029 r61074  
    3636        #SET{compteurs, #ID_RELECTURE|relecture_compter_commentaires{#GET{encours}}}
    3737        [(#BOITE_OUVRIR{'', raccourcis})]
    38         <div class="unit size1of1 lastunit"><strong><:relecture:info_periode_commentaire_ouverte{date=#GET{date_fin_periode}}:></strong></div>
     38        <div class="unit size1of1 lastunit">
     39                <strong><:relecture:info_periode_commentaire_ouverte{date=#GET{date_fin_periode}}:></strong>
     40        </div>
    3941        <div class="unit size1of3">
    4042                <span><:relecture:label_commentaires_ouverts:> : </span>
  • _plugins_/relecture/relecture_fonctions.php

    r60844 r61074  
    8080
    8181        if ($id_relecture = intval($id)) {
    82                 $select = array('article_chapo AS chapo', 'article_descr AS descriptif', 'article_texte AS texte', 'article_ps AS ps');
     82                $select = array('article_chapo AS chapo', 'article_descr AS descr', 'article_texte AS texte', 'article_ps AS ps');
    8383                $from = 'spip_relectures';
    8484                $where = array("id_relecture=$id_relecture");
  • _plugins_/relecture/relecture_pipelines.php

    r61051 r61074  
    146146
    147147/**
    148  * Surcharge de l'insertion standard d'un objet en incluant des traitements prealables pour une relecture :
     148 * Surcharge de l'insertion standard d'un objet relecture :
    149149 * - informations sur l'article
    150150 * - date de fin des commentaires
     151 *
     152 * Surcharge de l'insertion standard d'un objet commentaire :
     153 * - element et repere du commentaire dans le texte de cet element
    151154 *
    152155 * @param array $flux
     
    167170                                if ($_cle == 'id_article')
    168171                                        $flux['data'][$_cle] = intval($_valeur);
    169                                 else
     172                                else {
    170173                                        // On ne recupere que les textes qui comportent des mots !
    171174                                        $texte = trim($_valeur);
    172175                                        if ($texte)
    173176                                                $flux['data'][$_cle] = $texte;
     177                                }
    174178                        }
    175179
     
    182186        }
    183187        else if ($flux['args']['table'] == 'spip_commentaires') {
     188                if ($id_relecture = intval(_request('id_relecture'))) {
     189                        include_spip('inc/session');
     190
     191                        // - ajout des informations de base sur le commentaire
     192                        $flux['data']['id_relecture'] = $id_relecture;
     193                        $flux['data']['element'] = _request('element');
     194                        $flux['data']['repere'] = serialize(array(intval(_request('index_debut')), intval(_request('index_fin'))));
     195
     196                        // - l'auteur du commentaire (auteur connecte)
     197                        $flux['data']['id_emetteur'] = session_get('id_auteur');
     198
     199                        // - Le statut est mis a jour dans la fonction instituer surchargee dans le pipeline pre_edition
     200                }
    184201        }
    185202
     
    200217
    201218        $table = $flux['args']['table'];
    202         $id_relecture = intval($flux['args']['id_objet']);
     219        $id = intval($flux['args']['id_objet']);
    203220        $action = $flux['args']['action'];
    204221
    205222        // Traitements particuliers de l'objet relecture dans le cas d'une cloture :
    206223        if (($table == 'spip_relectures')
    207         AND ($id_relecture)) {
     224        AND ($id)) {
    208225
    209226                // Instituer
     
    212229                        // Recherche de l'id de l'article sur lequel porte la relecture
    213230                        $from = 'spip_relectures';
    214                         $where = array("id_relecture=$id_relecture");
     231                        $where = array("id_relecture=$id");
    215232                        $id_article = sql_getfetsel('id_article', $from, $where);
    216233                        // Determination de la revision courante de l'article
     
    242259                }
    243260        }
     261        else if (($table == 'spip_commentaires'   )
     262        AND ($id)) {
     263
     264                // Instituer
     265                if ($action == 'instituer') {
     266
     267                        // -- Ouverture
     268                        if ($flux['args']['statut_ancien'] == 'prepa') {
     269                                // - mise a jour du "vrai" statut de la relecture
     270                                $flux['data']['statut'] = 'ouvert';
     271
     272                                // - mise a jour de la date d'ouverture
     273                                $flux['data']['date_ouverture'] = date('Y-m-d H:i:s');
     274                        }
     275
     276                        // -- Cloture
     277                        if (($flux['args']['statut_ancien'] == 'ouvert')
     278                        AND (in_array($flux['data']['statut'], array('accepte', 'refuse', 'poubelle')))) {
     279                                // - mise a jour de la date de cloture
     280                                $flux['data']['date_cloture'] = date('Y-m-d H:i:s');
     281                        }
     282                }
     283        }
    244284
    245285        return $flux;
Note: See TracChangeset for help on using the changeset viewer.