Ignore:
Timestamp:
Apr 28, 2012, 7:06:38 PM (8 years ago)
Author:
eric@…
Message:

Amélioration de la page d'accueil.
Meilleure découpage entre les traitements des fonctions inserer et instituer.
Renommage.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/relecture/relecture_pipelines.php

    r60734 r60741  
    3737                        $id_table_objet = id_table_objet($type);
    3838
    39                         $flux['data'] .= recuperer_fond('prive/squelettes/navigation/article-relecture_ouverte',
     39                        $flux['data'] .= recuperer_fond('prive/squelettes/navigation/article-relecture',
    4040                                                                array($id_table_objet => $id));
    4141                }
     
    9191                $where = array("id_relecture=$id_objet");
    9292                $statut = sql_getfetsel('statut', $from, $where);
    93                 $flux['data']['editable'] = ($statut !== 'fermee');
     93                $flux['data']['editable'] = autoriser('modifier', 'relecture', $id_objet);
    9494
    9595                if ($form == 'dater') {
     
    119119 * Surcharge de l'insertion standard d'un objet en incluant des traitements prealables pour une relecture :
    120120 * - informations sur l'article
    121  * - information sur l'ouverture et la date de fin des commentaires
    122  * - positionnement du statut a ouvert
     121 * - date de fin des commentaires
    123122 *
    124123 * @param array $flux
     
    140139                        }
    141140
    142                         // - mise a jour de la revision d'ouverture
    143141                        // - correction de la date de fin de commentaire positionnee par defaut a cause de la configuration
    144                         // - mise a jour de la date d'ouverture
    145                         $from = 'spip_versions';
    146                         $where = array("objet=" . sql_quote('article'), "id_objet=$id_article");
    147                         $revision = sql_getfetsel('max(id_version) AS revision_ouverture', $from, $where);
    148                         $flux['data']['revision_ouverture'] = $revision;
    149                         $flux['data']['date_ouverture'] = $flux['data']['date_fin_commentaire'];
    150142                        $flux['data']['date_fin_commentaire'] = date('Y-m-d H:i:s', strtotime("+1 week"));
    151143
    152                         // - surcharge la valeur du statut mis par le traitement par defaut
    153                         $flux['data']['statut'] = 'ouverte';
     144                        // - Le statut, la date d'ouverture et la revision de l'article a l'ouverture sont mis a jour dans la fonction
     145                        // instituer surchargee dans le pipeline pre_edition
    154146                }
    155147        }
     
    161153/**
    162154 * Surcharge de l'action instituer standard d'un objet en incluant des traitements prealables pour une relecture :
    163  * - date et revision de cloture
     155 * - pour une ouverture, on ecrase le statut a ouverte car il est automatiquement mis a prepa par defaut
     156 * - pour une cloture, date et revision de cloture
    164157 *
    165158 * @param array $flux
     
    175168        // Traitements particuliers de l'objet relecture dans le cas d'une cloture :
    176169        if (($table == 'spip_relectures')
    177         AND ($action == 'instituer')) {
    178                 if (($id_relecture) AND ($flux['args']['statut_ancien'] == 'ouverte')) {
    179                         // - mise a jour de la date de cloture
    180                         $flux['data']['date_cloture'] = date('Y-m-d H:i:s');
    181 
    182                         // - mise a jour de la revision de cloture
     170        AND ($id_relecture)) {
     171
     172                // Instituer
     173                if ($action == 'instituer') {
     174
     175                        // Recherche de l'id de l'article sur lequel porte la relecture
    183176                        $from = 'spip_relectures';
    184177                        $where = array("id_relecture=$id_relecture");
    185178                        $id_article = sql_getfetsel('id_article', $from, $where);
    186 
     179                        // Determination de la revision courante de l'article
    187180                        $from = 'spip_versions';
    188181                        $where = array("objet=" . sql_quote('article'), "id_objet=$id_article");
    189                         $flux['data']['revision_cloture'] = sql_getfetsel('max(id_version) AS revision', $from, $where);
     182                        $revision = sql_getfetsel('max(id_version) AS revision', $from, $where);
     183
     184                        // -- Ouverture
     185                        if ($flux['args']['statut_ancien'] == 'prepa') {
     186                                // - mise a jour du "vrai" statut de la relecture
     187                                $flux['data']['statut'] = 'ouverte';
     188
     189                                // - mise a jour de la date d'ouverture
     190                                $flux['data']['date_ouverture'] = date('Y-m-d H:i:s');
     191
     192                                // - mise a jour de la revision d'ouverture
     193                                $flux['data']['revision_ouverture'] = $revision;
     194                        }
     195
     196                        // -- Cloture
     197                        if (($flux['args']['statut_ancien'] == 'ouverte')
     198                        AND ($flux['data']['statut'] == 'fermee')) {
     199                                // - mise a jour de la date de cloture
     200                                $flux['data']['date_cloture'] = date('Y-m-d H:i:s');
     201
     202                                // - mise a jour de la revision de cloture
     203                                $flux['data']['revision_cloture'] = $revision;
     204                        }
    190205                }
    191206        }
Note: See TracChangeset for help on using the changeset viewer.