Changeset 59984 in spip-zone


Ignore:
Timestamp:
Apr 1, 2012, 5:34:13 PM (7 years ago)
Author:
eric@…
Message:

Suite de la page article

Location:
_plugins_/relecture
Files:
9 added
7 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/relecture/lang/relecture_fr.php

    r59954 r59984  
    1212// B
    1313        'bouton_ouvrir_relecture' => 'Ouvrir un cycle de relecture',
     14        'bouton_historique_relectures' => 'Afficher les relectures clôturées',
     15
     16// T
     17        'titre_info_relecture_article' => 'Relecture en cours',
    1418
    1519);
  • _plugins_/relecture/paquet.xml

    r59954 r59984  
    2121        <pipeline nom="declarer_tables_auxiliaires" inclure="base/relecture_declarations.php" />
    2222        <pipeline nom="autoriser" inclure="relecture_autorisations.php" />
    23         <pipeline nom="affiche_droite" inclure="relecture_pipelines.php" />
     23        <pipeline nom="affiche_gauche" inclure="relecture_pipelines.php" />
     24        <pipeline nom="boite_infos" inclure="relecture_pipelines.php" />
    2425
    2526</paquet>
  • _plugins_/relecture/prive/squelettes/navigation/article_relecture.html

    r59954 r59984  
    1010
    1111[(#REM) <!-- Information sur la relecture en cours --> ]
     12<BOUCLE_relecture_en_cours(RELECTURES){id_article}{etat=ouverte}>
     13[(#AUTORISER{voir, relecture, #ID_RELECTURE})
     14        #BOITE_OUVRIR{'', info}
     15        <div class="infos">
     16                <div class="numero"><:relecture:titre_info_relecture_article:></div>
     17                [(#PERIODE_FIN|affdate_court)], #REV_OUVERTURE
     18        </div>
     19        #BOITE_FERMER
     20]
     21</BOUCLE_relecture_en_cours>
    1222
    1323[(#REM) <!-- Liste des relectures closes --> ]
  • _plugins_/relecture/relecture_autorisations.php

    r59954 r59984  
    2222        // Conditions :
    2323        // - l'auteur connecte est un des auteurs de l'article
     24        // - l'article est dans l'état "en cours de rédaction"
    2425        // - l'article n'a pas deja une relecture d'ouverte
    2526
    2627        $les_auteurs = lister_objets_lies('auteur', 'article', $id, 'auteurs_liens');
     28
     29        $from = 'spip_articles';
     30        $where = array("id_article=$id");
     31        $statut = sql_getfetsel('statut', $from, $where);
    2732
    2833        $from = 'spip_relectures';
     
    3035        $nb_relecture_ouverte = sql_countsel($from, $where);
    3136
    32         return (in_array($qui['id_auteur'], $les_auteurs) AND ($nb_relecture_ouverte==0));
     37        return
     38                (in_array($qui['id_auteur'], $les_auteurs)
     39                AND ($statut=='prepa')
     40                AND ($nb_relecture_ouverte==0));
    3341}
    3442
    3543
    3644/**
    37  * Autorisation d'affichage d'une fiche relecture
     45 * Autorisation d'ouverture d'une relecture
     46 *
     47 * @param object $faire
     48 * @param object $type
     49 * @param object $id
     50 * @param object $qui
     51 * @param object $opt
     52 * @return
     53 */
     54function autoriser_article_voirrelectures_dist($faire, $type, $id, $qui, $opt) {
     55
     56        // Conditions :
     57        // - pour l'instant tout le monde peut afficher les fiches de relecture clôturées
     58
     59        return true;
     60}
     61
     62
     63/**
     64 * Autorisation d'affichage d'une relecture en cours
    3865 *
    3966 * @param object $faire
     
    4673function autoriser_relecture_voir_dist($faire, $type, $id, $qui, $opt) {
    4774
    48         return true;
     75        // Conditions :
     76        // - l'auteur connecte est un des auteurs ou des relecteurs de l'article
     77
     78        $from = 'spip_relectures';
     79        $where = array("id_relecture=$id");
     80        $infos = sql_fetsel('id_article, relecteurs', $from, $where);
     81        $les_relecteurs = unserialize($infos['relecteurs']);
     82
     83        $les_auteurs = lister_objets_lies('auteur', 'article', $infos['id_article'], 'auteurs_liens');
     84
     85        return
     86                (in_array($qui['id_auteur'], $les_auteurs)
     87                OR in_array($qui['id_auteur'], $les_relecteurs));
     88
    4989}
    5090
    51 
    5291?>
  • _plugins_/relecture/relecture_pipelines.php

    r59954 r59984  
    1414
    1515/**
    16  * Affichage du bloc lie aux relectures de l'article en cours d'affichage
     16 * Affichage du bloc relecture de l'article en cours d'affichage :
     17 * - bouton ouvrir une relecture
     18 * - ou informations sur la relecture en cours
    1719 *
    1820 * @param array $flux
     
    2022 *
    2123**/
    22 function relecture_affiche_droite($flux) {
     24function relecture_affiche_gauche($flux) {
    2325
    2426        if (($type = $flux['args']['exec'])=='article'){
    25                 $id = $flux['args']['id_article'];
    26                 $table = table_objet($type);
    27                 $id_table_objet = id_table_objet($type);
     27                if ($id = intval($flux['args']['id_article'])) {
     28                        $table = table_objet($type);
     29                        $id_table_objet = id_table_objet($type);
    2830
    29                 $flux['data'] .= recuperer_fond('prive/squelettes/extra/article_relectures', array($id_table_objet => $id));
     31                        $flux['data'] .= recuperer_fond('prive/squelettes/navigation/article_relecture', array($id_table_objet => $id));
     32                }
     33        }
     34
     35        return $flux;
     36}
     37
     38
     39/**
     40 * Affichage dans la boite d'informations de l'article en cours d'affichage :
     41 * - du lien menant a l'historique des relectures cloturees
     42 *
     43 * @param array $flux
     44 * @return array
     45 *
     46**/
     47function relecture_boite_infos($flux){
     48
     49        if (($type = $flux['args']['type'])=='article') {
     50                if ($id = intval($flux['args']['id']) AND autoriser('voirrelectures', $type, $id)) {
     51                        $from = 'spip_relectures';
     52                        $where = array("id_article=$id", "etat=" . sql_quote('fermee'));
     53                        $nb_relectures_fermees = sql_countsel($from, $where);
     54
     55                        if ($nb_relectures_fermees > 0) {
     56                                include_spip('inc/presentation');
     57                                $flux['data'] .= icone_horizontale(
     58                                                                        _T('relecture:bouton_historique_relectures'),
     59                                                                        generer_url_ecrire('relectures',"id_article=$id"),
     60                                                                        "relecture-ok-24.png");
     61                        }
     62                }
    3063        }
    3164
Note: See TracChangeset for help on using the changeset viewer.