source: spip-zone/_plugins_/nouvelle_version/branches/version_3/versioning_pipeline.php @ 113566

Last change on this file since 113566 was 85983, checked in by frederic.bouteille.mae@…, 6 years ago

reorganisation en trunk/branches et changement de nom de fichiers de la V2.0

File size: 2.9 KB
Line 
1<?php
2
3/***************************************************************************\
4 * Plugin Nouvelle Version pour Spip 3.0
5 * Licence GPL (c) 2011
6 * Modération de la nouvelle version d'un article
7 *
8\***************************************************************************/
9
10function versioning_boite_infos($flux){
11        /*********************************************
12        Pour la création des icônes horizontales,
13        on convoque inc/presentation
14        **********************************************/
15        include_spip('inc/presentation');
16       
17        /**************************************************************
18        On récupère les infos du flux.
19        Ai dû rajouter version_of et statut dans les paramètres d'appel
20        de la pipeline dans squelette de l'espace privé   
21        ***************************************************************/
22       
23        $id_cur = $flux['args']['id'];
24        $version_of = $flux['args']['version_of'];
25        $type = $flux['args']['type'];
26        $statut = $flux['args']['statut'];
27
28        /// Existe t il une version de l'article déjà en cours d'édition
29        $row = sql_fetsel("id_article,statut", "spip_articles", "version_of=".$flux['args']['id']." AND statut!='archi' AND  statut!='poubelle'");
30       
31        /// Si oui, on ne propose pas d'en recréer une mais de se rendre sur cette version:
32        if($idversion = intval($row['id_article']))
33        {
34                $flux['data'] .= icone_horizontale(_T('versioning:se_rendre_sur_la_version'), generer_url_ecrire('article',"id_article=$idversion"), "",_DIR_PLUGIN_VERSIONING."images/voir_new_version-24.png", false);
35        }
36                else
37        {
38        ///// Sinon si il n'existe pas d'autre version on propose de la créer uniquement si l'article est publié
39                if (($id = intval($id_cur)) && ($type=='article') )
40                        if(!($idorig = $version_of) && ($statut=='publie')){
41                                $flux['data'] .= icone_horizontale(
42                                _T('versioning:icone_dupliquer_article'), 
43                                generer_url_ecrire('versioning_article',"id_objet=$id&type=$type"), 
44                                "",
45                                _DIR_PLUGIN_VERSIONING."images/article_new_version-24.png", 
46                                false);
47                        }
48                        else if(($idorig = $version_of) && ($statut!='poubelle') && ($statut!='archi'))
49                        {
50                                ///// Sinon enfin, si on est sur une nouvelle version on propose de la publier
51                                //// on verifie les autorisations de publications sur l'article d'origine
52                                if(autoriser('modifier','article',$version_of)){
53                                $flux['data'] .= icone_horizontale(
54                                        _T('versioning:icone_remplacer_article'), 
55                                        generer_url_ecrire('remplacer_article',"id_objet=$id&id_orig=$idorig&type=$type"), 
56                                        "",
57                                        _DIR_PLUGIN_VERSIONING."images/publier_new_version-24.png", 
58                                        false
59                                );
60                                $flux['data'] .= icone_horizontale(
61                                        _T('versioning:se_rendre_sur_l_original'), 
62                                        generer_url_ecrire('article',"id_article=$idorig"), 
63                                        "",
64                                        _DIR_PLUGIN_VERSIONING."images/voir_old_version-24.png", 
65                                        false
66                                );
67                                $flux['data'] .= "<script>$(\"select.statut option[value='publie']\").remove();</script>";
68                        }
69                }
70        }
71        return $flux;
72}
73?>
74
Note: See TracBrowser for help on using the repository browser.