source: spip-zone/_plugins_/traduction_articles_autrement/inc/article_afficher_contenu.php @ 44108

Last change on this file since 44108 was 44108, checked in by abelass@…, 9 years ago

élimination de la variable inutile

File size: 8.5 KB
Line 
1<?php
2function inc_article_afficher_contenu_dist($id_article){
3                $row = sql_fetsel("*", "spip_articles", "id_article=$id_article");
4               
5                global $spip_lang_right, $dir_lang;
6               
7                $id_rubrique = $row['id_rubrique'];
8                $id_secteur = $row['id_secteur'];
9                $statut_article = $row['statut'];
10                $titre = $row["titre"];
11                $surtitre = $row["surtitre"];
12                $soustitre = $row["soustitre"];
13                $descriptif = $row["descriptif"];
14                $nom_site = $row["nom_site"];
15                $url_site = $row["url_site"];
16                $texte = $row["texte"];
17                $ps = $row["ps"];
18                $date = $row["date"];
19                $date_redac = $row["date_redac"];
20                $extra = $row["extra"];
21                $id_trad = $row["id_trad"];
22               
23                $virtuel = (strncmp($row["chapo"],'=',1)!==0) ? '' :
24                chapo_redirige(substr($row["chapo"], 1));
25               
26                $statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique);
27                $flag_editable = autoriser('modifier', 'article', $id_article);
28               
29                // Est-ce que quelqu'un a deja ouvert l'article en edition ?
30                if ($flag_editable
31                        AND $GLOBALS['meta']['articles_modif'] != 'non') {
32                        include_spip('inc/drapeau_edition');
33                        $modif = mention_qui_edite($id_article, 'article');
34                } else
35                        $modif = array();
36               
37               
38                // chargement prealable des fonctions produisant des formulaires
39               
40                $dater = charger_fonction('dater', 'inc');
41                $editer_mots = charger_fonction('editer_mots', 'inc');
42               
43                $editer_auteurs = charger_fonction('editer_auteurs', 'inc');
44                if ($flag_editable) $edition_seule=lire_config('taa/edition_seule');
45               
46                //if(!$edition_seule)$referencer_traduction = charger_fonction('referencer_traduction', 'inc');
47               
48                $discuter = charger_fonction('discuter', 'inc');
49               
50                $meme_rubrique = charger_fonction('meme_rubrique', 'inc');
51                $iconifier = charger_fonction('iconifier', 'inc');
52                $icone = $iconifier('id_article', $id_article,'articles', false, $flag_editable);
53               
54                $boite = pipeline ('boite_infos', array('data' => '',
55                                                        'args' => array(
56                                                        'type'=>'article',
57                                                        'id' => $id_article,
58                                                        'row' => $row
59                                                                )
60                                                        ));
61        if($edition_seule)$form_docs=recuperer_fond('prive/editer/docs',array('objet'=>'articles','id_objet'=>$id_article,'editable'=>'ok'),array('ajax'=>true)) ;
62       
63       
64        // affecter les globales dictant les regles de typographie de la langue
65        changer_typo($row['lang']);
66       
67        /*  Cacher le bouton si édition seule active dans cfg*/
68       
69        if(!$edition_seule){
70                $actions =($flag_editable ? bouton_modifier_articles($id_article, $id_rubrique, $modif, _T('avis_article_modifie', $modif), "article-24.gif", "edit.gif",$spip_lang_right) : "");
71                }
72       
73       
74        /*cr&eacute;ation des onglets traduction*/
75       
76        if (lire_config('langues_multilingue')) $langues_dispos=explode(',',lire_config('langues_multilingue'));
77        else $langues_dispos=explode(',',lire_config('langues_utilisees'));
78
79        $traductions    = array();
80       
81        if($langues_dispos){           
82        if($id_trad>0){
83                $sql=sql_select('lang,id_article','spip_articles','id_trad='.$id_trad);
84       
85       
86                while($row=sql_fetch($sql)){
87                        $traductions[$row['lang']]=$row['id_article'];
88                        }
89       
90                $clic = _T('trad_delier');     
91                $options = '<div class="options delier">'.icone_inline($clic, ajax_action_auteur("referencer_traduction","$id_article,-$id_trad",'articles', "id_article=$id_article",array($clic)), "traductions-24.gif", "supprimer.gif",'right', false).'</div>';           
92                }
93        else{
94                $id_trad=$id_article;
95                $row=sql_fetsel('lang,id_article','spip_articles','id_article='.$id_article);
96                $traductions[$row['lang']]=$row['id_article'];
97               
98                $options =  '<div class="options form_lier"><h2>'._T('taa:lier_traduction').'</h2>'.redirige_action_auteur("referencer_traduction",
99                        $id_article,
100                        "articles&id_article=$id_article",
101                        "id_article=$id_article",
102                        ("<label for='lier_trad'>" . _T('trad_lier') . "</label>" .
103                        "\n<input type='text' class='fondl' name='lier_trad' id='lier_trad' size='5' />\n"),
104                        _T('bouton_valider'),
105                        " class='fondl'").'</div>';
106                }
107       
108        $span_content='<div class="ref">*<span>'._T('spip:trad_reference').'</span></div>';     
109       
110        foreach($langues_dispos as $key => $value){
111        $class='';
112        $span='';       
113                if($traductions[$value]!=$id_article){
114                        if(array_key_exists($value,$traductions)){
115                                if($traductions[$value]==$id_trad){
116                                        $span=$span_content;                                   
117                                        }
118                                $onglets_traduction.='<div class="traduit onglet ajax">'.$span.'<a href="?exec=articles&id_article='.$traductions[$value].'">'.traduire_nom_langue($value).'</a></div>';                                       
119                        }
120                        else{
121                                // Si le plugin traduction rubriques est activé on regarde si on trouve la rubrique traduite
122                                if (test_plugin_actif('tradrub')) {
123                                        $id_rubrique_traduite=rubrique_traduction($value,$id_rubrique);
124                                        $section='oui';
125                                        }       
126                                $onglets_traduction.= '<div class="non_traduit onglet"><a href="'.generer_url_ecrire('articles_edit','new=oui&lier_trad='.$id_trad.'&id_rubrique='.$id_rubrique_traduite.'&lang_dest='.$value).'" title="'._T('ecrire:info_tout_site2').'">'.traduire_nom_langue($value).'</a></div>';
127                       
128                                $action=redirige_action_auteur ('changer_langue',$id_article,'articles',"id_article=$id_article");
129                                // Si le plugin traduction rubriques est activé on affiche pas les onglets changement de langue car la langue se change en modifiant la rubrique
130                                if(!$section){
131                                        $changer_traduction.='<div class="lang onglet"><a href="'.parametre_url($action,'changer_lang',$value).'">'.traduire_nom_langue($value).'</a></div>';                                   
132                                        }
133
134                                }
135                        }
136                else{
137                        if($traductions[$value]==$id_trad){
138                                        $span=$span_content;                                   
139                                        }
140                        $onglets_traduction.='<div class="onglet_off onglet">'.$span.traduire_nom_langue($value).'</div>';
141                        }
142                }
143        }
144        $contexte=array(
145                'onglets_traduction'=>$onglets_traduction,
146                'options'=>$options,
147                'langue_article'=>$langue_article,
148                'changer_traduction'=>$changer_traduction,
149                'edition_seule'=>$edition_seule,                                       
150                );     
151       
152        if(!autoriser('modifier','article',$id_article))$options='';
153        $haut =
154        "<div class='bandeau_actions'>$actions</div>".
155        (_INTERFACE_ONGLETS?"":"<span $dir_lang class='arial1 spip_medium'><b>" . typo($surtitre) . "</b></span>\n")
156        . gros_titre($titre, '' , false)
157        . (_INTERFACE_ONGLETS?"":"<span $dir_lang class='arial1 spip_medium'><b>" 
158                        . typo($soustitre) . "</b></span>" /*ajout des onglets traductions*/
159        . recuperer_fond('prive/editer/barre_traductions_article',$contexte,array('ajax'=>true)));
160       
161        //MODIFICATION insertion du formulaire d&eacute;edition
162        if($edition_seule AND autoriser('modifier','article',$id_article)){ 
163                $contexte = array(
164                'icone_retour'=>icone_inline(_T('icone_retour'), $oups, "article-24.gif", "rien.gif",$GLOBALS['spip_lang_left']),
165                'redirect'=>generer_url_ecrire("articles"),
166                'titre'=>$titre,
167                'new'=>$new?$new:$id_article,
168                'id_rubrique'=>$id_rubrique,
169                'id_secteur'=>$row['id_secteur'],
170                'lier_trad'=>$lier_trad,
171                'config_fonc'=>'articles_edit_config',
172                // passer row si c'est le retablissement d'une version anterieure
173                'row'=> $id_version
174                ? $row
175                : null
176                );
177               
178                $onglet_edition  = recuperer_fond("prive/editer/article_mod",$contexte,array('ajax'=>true));
179                }
180        else{
181                $onglet_contenu =afficher_corps_articles($id_article,$virtuel,$row);
182                }
183
184        $onglet_proprietes = ((!_INTERFACE_ONGLETS) ? "" :"")
185        . $dater($id_article, $flag_editable, $statut_article, 'article', 'articles', $date, $date_redac)
186        . $editer_auteurs('article', $id_article, $flag_editable, $cherche_auteur, $ids)
187        . (!$editer_mots ? '' : $editer_mots('article', $id_article, $cherche_mot, $select_groupe, $flag_editable, false, 'articles'))
188        . (!$referencer_traduction ? '' : $referencer_traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err))
189        . pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''))
190        ;
191       
192        $documenter_objet = charger_fonction('documenter_objet','inc');
193        $onglet_documents = $documenter_objet($id_article,'article','articles',$flag_editable);
194        $onglet_interactivite = (_INTERFACE_ONGLETS?boites_de_config_articles($id_article):"");
195       
196        $onglet_discuter = !$statut_forum ? '' : ($discuter($id_article, 'articles', 'id_article', $statut_forum, $debut_forum));
197       
198       
199        return
200        $navigation
201        //. $extra
202        . "<div class='fiche_objet'>"
203                . $haut
204                . afficher_onglets_pages(
205                array(
206                'voir' => _T('onglet_contenu'),
207                'props' => _T('onglet_proprietes'),
208                'docs' => _T('onglet_documents'),
209                'interactivite' => _T('onglet_interactivite'),
210                'discuter' => _T('onglet_discuter')),
211                array(
212                'props'=>$onglet_edition.$onglet_proprietes, //MODIFICATION insertion de du formulaire d'édition
213                'voir'=>$onglet_contenu,
214                'docs'=>$onglet_documents,
215                'interactivite'=>$onglet_interactivite,
216                'discuter'=>_INTERFACE_ONGLETS?$onglet_discuter:""))
217                . "</div>"
218        . (_INTERFACE_ONGLETS?"":$onglet_discuter);
219                }
220       
221?>
Note: See TracBrowser for help on using the repository browser.