source: spip-zone/_plugins_/_dev_/acces_groupes/inc/accesgroupes_prive.php @ 5862

Last change on this file since 5862 was 5862, checked in by cy_altern@…, 15 years ago

début du filtrage complet de l'espace privé par surcharge des requêtes SQL : plus de rubriques restreintes *presque partout*, reste les articles, les sites et les forums...

File size: 25.6 KB
Line 
1<?php
2// toutes les fonctions exec_xxx de l'espace privé modifiées par accesgroupes
3
4// http://doc.spip.org/@exec_articles_dist
5function exec_articles() {
6        global $cherche_auteur, $ids, $cherche_mot,  $select_groupe, $debut, $id_article, $trad_err; 
7     
8        global  $connect_id_auteur, $connect_statut, $options, $spip_display, $spip_lang_left, $spip_lang_right, $dir_lang;
9     
10        $id_article= intval($id_article);
11     
12        pipeline('exec_init',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
13     
14        $row = spip_fetch_array(spip_query("SELECT * FROM spip_articles WHERE id_article=$id_article"));
15     
16        if (!$row) {
17           // cas du numero hors table
18                $titre = _T('public:aucun_article');
19                debut_page("&laquo; $titre &raquo;", "naviguer", "articles");
20                debut_grand_cadre();
21                fin_grand_cadre();
22                echo $titre;
23                exit;
24        }
25     
26        $id_rubrique = $row['id_rubrique'];
27        $statut_article = $row['statut'];
28        $surtitre = $row["surtitre"];
29        $titre = sinon($row["titre"],_T('info_sans_titre'));
30        $soustitre = $row["soustitre"];
31        $descriptif = $row["descriptif"];
32        $nom_site = $row["nom_site"];
33        $url_site = $row["url_site"];
34        $chapo = $row["chapo"];
35        $texte = $row["texte"];
36        $ps = $row["ps"];
37        $date = $row["date"];
38        $maj = $row["maj"];
39        $date_redac = $row["date_redac"];
40        $visites = $row["visites"];
41        $referers = $row["referers"];
42        $extra = $row["extra"];
43        $id_trad = $row["id_trad"];
44        $id_version = $row["id_version"];
45       
46        $statut_rubrique = acces_rubrique($id_rubrique);
47     
48        $flag_auteur = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur LIMIT 1"));
49     
50        $flag_editable = ($statut_rubrique OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));
51     
52        debut_page("&laquo; $titre &raquo;", "naviguer", "articles", "", "", $id_rubrique);
53     
54        debut_grand_cadre();
55     
56        afficher_hierarchie($id_rubrique);
57     
58        fin_grand_cadre();
59     
60     
61      // MODIF GROUPEACCES : début du contrôle d'acces à la rubrique
62         
63          $acces = accesgroupes_verif_acces($id_rubrique, 'prive'); 
64      //echo '<br>$acces = '.$acces;
65      //echo '<br>accesgroupes_RubPrive(42, "prive") = '.accesgroupes_RubPrive(42, 'prive');           
66          if ($acces == 1 || $acces == 2) { 
67              accesgroupes_affichage_acces_restreint(); 
68          } 
69                else { 
70     
71      // FIN de la premiere partie d'ACCESGROUPES
72       
73       
74      //
75      // Affichage de la colonne de gauche
76      //
77     
78      debut_gauche();
79     
80      boite_info_articles($id_article, $statut_article, $visites, $id_version);
81     
82      //
83      // Logos de l'article
84      //
85     
86        if ($flag_editable AND ($spip_display != 4)) {
87          include_spip('inc/chercher_logo');
88          echo afficher_boite_logo('id_article', $id_article,
89                              _T('logo_article').aide ("logoart"), _T('logo_survol'), 'articles');
90        }
91     
92      // pour l'affichage du virtuel
93      $virtuel = '';
94      if (substr($chapo, 0, 1) == '=') {
95        $virtuel = substr($chapo, 1);
96      }
97     
98      // Boites de configuration avancee
99     
100      if ($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable)
101        {
102        boites_de_config_articles($id_article);
103       
104        boite_article_virtuel($id_article, $virtuel);
105        }
106     
107      //
108      // Articles dans la meme rubrique
109      //
110     
111      meme_rubrique_articles($id_rubrique, $id_article, $options);
112     
113      echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
114     
115      //
116      // Affichage de la colonne de droite
117      //
118     
119      creer_colonne_droite();
120       echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
121     
122      debut_droite();
123     
124      changer_typo('','article'.$id_article);
125     
126      debut_cadre_relief();
127     
128      //
129      // Titre, surtitre, sous-titre
130      //
131     
132      $modif = titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique);
133     
134     
135       echo "<div class='serif' align='$spip_lang_left'>";
136     
137       debut_cadre_couleur();
138       echo formulaire_dater($id_article, $flag_editable, $statut_article, $date, $date_redac);
139       fin_cadre_couleur();
140     
141      //
142      // Liste des auteurs de l'article
143      //
144     
145       echo formulaire_editer_auteurs($cherche_auteur, $ids, $id_article,$flag_editable);
146     
147      //
148      // Liste des mots-cles de l'article
149      //
150     
151      if ($options == 'avancees' AND $GLOBALS['meta']["articles_mots"] != 'non') {
152        echo formulaire_mots('article', $id_article, $cherche_mot, $select_groupe, $flag_editable);
153      }
154     
155      // Les langues
156     
157        if (($GLOBALS['meta']['multi_articles'] == 'oui')
158        OR (($GLOBALS['meta']['multi_rubriques'] == 'oui') AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) {
159     
160          echo formulaire_referencer_traduction($id_article, $id_rubrique, $id_trad,  $flag_editable, $trad_err);
161        }
162     
163       echo pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
164     
165       if ($statut_rubrique)
166         echo debut_cadre_relief('', true),
167           "\n<div id='instituer_article-$id_article'>",     
168           formulaire_instituer_article($id_article, $statut_article, 'articles', "id_article=$id_article"),
169           '</div>',
170           fin_cadre_relief('', true);
171     
172       afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra);
173     
174       if ($flag_editable) {
175        echo "\n<div align='$spip_lang_right'><br />";
176        bouton_modifier_articles($id_article, $id_rubrique, $modif,_T('texte_travail_article', $modif), "warning-24.gif", "");
177        echo "</div>";
178      }
179     
180      //
181      // Documents associes a l'article
182      //
183     
184       if ($spip_display != 4)
185       afficher_documents_et_portfolio($id_article, "article", $flag_editable);
186     
187       if ($flag_auteur AND  $statut_article == 'prepa' AND !$statut_rubrique)
188        echo demande_publication($id_article);
189     
190       echo "</div>";
191       echo "</div>";
192       fin_cadre_relief();
193     
194        echo "<br /><br />";
195       
196        $tm = rawurlencode($titre);
197        echo "\n<div align='center'>";
198        icone(_T('icone_poster_message'), generer_url_ecrire("forum_envoi","statut=prive&id_article=$id_article&titre_message=$tm&url=" . generer_url_retour("articles","id_article=$id_article")), "forum-interne-24.gif", "creer.gif");
199        echo "</div><br />";
200       
201        echo exec_discuter_dist($id_article, $debut);
202     
203     
204      // ACCESGROUPES : à placer avant fin_page();
205                        } 
206      // FIN ACCESGROUPES
207     
208       
209       
210        fin_page();
211     
212}
213     
214
215// http://doc.spip.org/@exec_articles_edit_dist
216function exec_articles_edit()
217{
218        $id_article = _request('id_article');
219        $id_rubrique = _request('id_rubrique');
220        $lier_trad = intval(_request('lier_trad'));
221        $new = _request('new');
222
223        pipeline('exec_init',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
224       
225        $row = article_select($id_article, $id_rubrique, $lier_trad, $new);
226        if (!$row) die ("<h3>"._T('info_acces_interdit')."</h3>");
227
228        $id_article = $row['id_article'];
229
230        // si une ancienne revision est demandee, la charger
231        // en lieu et place de l'actuelle ; attention les champs
232        // qui etaient vides ne sont pas vide's. Ca permet de conserver
233        // des complements ajoutes "orthogonalement", et ca fait un code
234        // plus generique.
235        if ($id_version = intval(_request('id_version'))) {
236                include_spip('inc/revisions');
237                if ($textes = recuperer_version($id_article, $id_version)) {
238                        foreach ($textes as $champ => $contenu)
239                                $row[$champ] = $contenu;
240                }
241        }
242
243        $id_rubrique = $row['id_rubrique'];
244        $titre = $row['titre'];
245
246        if ($id_version) $titre.= ' ('._T('version')." $id_version)";
247
248        debut_page(_T('titre_page_articles_edit', array('titre' => $titre)),
249                        "naviguer", "articles", "hauteurTextarea();", 
250                        "",
251                        $id_rubrique);
252
253        debut_grand_cadre();
254        afficher_hierarchie($id_rubrique);
255        fin_grand_cadre();
256
257
258// MODIF GROUPEACCES : début du contrôle d'acces à la rubrique
259   
260    $acces = accesgroupes_verif_acces($id_rubrique, 'prive'); 
261//echo '<br>$acces = '.$acces;
262//echo '<br>accesgroupes_RubPrive(42, "prive") = '.accesgroupes_RubPrive(42, 'prive');         
263    if ($acces == 1 || $acces == 2) { 
264        accesgroupes_affichage_acces_restreint(); 
265    } 
266                else { 
267
268// FIN de la premiere partie d'ACCESGROUPES
269       
270       
271        debut_gauche();
272
273        // Pave "documents associes a l'article"
274
275        if (!$new){
276
277                # affichage sur le cote des pieces jointes, en reperant les inserees
278                # note : traiter_modeles($texte, true) repere les doublons
279                # aussi efficacement que propre(), mais beaucoup plus rapidement
280                traiter_modeles(join('',$row), true);
281                afficher_documents_colonne($id_article, 'article', true);
282        }
283        echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
284        creer_colonne_droite();
285        echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
286        debut_droite();
287       
288        debut_cadre_formulaire();
289        echo formulaire_articles_edit($row, $lier_trad, $new, $GLOBALS['meta']);
290        fin_cadre_formulaire();
291
292// ACCESGROUPES : à placer avant fin_page();
293                        } 
294// FIN ACCESGROUPES
295               
296        fin_page();
297}
298
299
300// http://doc.spip.org/@exec_breves_edit_dist
301function exec_breves_edit()
302{
303global
304  $champs_extra,
305  $connect_statut,
306  $id_breve,
307  $id_rubrique,
308  $lien_titre,
309  $lien_url,
310  $new,
311  $spip_ecran,
312  $texte;
313
314$id_breve = intval($id_breve);
315
316if ($new != "oui") {
317        $result = spip_query("SELECT * FROM spip_breves WHERE id_breve=$id_breve");
318
319       
320        if ($row=spip_fetch_array($result)) {
321                $id_breve=$row['id_breve'];
322                $titre=$row['titre'];
323                $texte=$row['texte'];
324                $lien_titre=$row['lien_titre'];
325                $lien_url=$row['lien_url'];
326                $statut=$row['statut'];
327                $id_rubrique=$row['id_rubrique'];
328                $extra = $row['extra'];
329        }
330}
331else {
332        $titre = filtrer_entites(_T('titre_nouvelle_breve'));
333        $texte = "";
334        $onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
335        $lien_titre='';
336        $lien_url='';
337        $statut = "prop";
338        $row = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique = ".intval($id_rubrique)));
339        $id_rubrique = $row['id_secteur'];
340}
341
342pipeline('exec_init',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
343
344debut_page(_T('titre_page_breves_edit', array('titre' => $titre)), "naviguer", "breves", "", "", $id_rubrique);
345
346
347debut_grand_cadre();
348
349afficher_hierarchie($id_rubrique);
350
351fin_grand_cadre();
352
353
354// MODIF GROUPEACCES : début du contrôle d'acces à la rubrique
355   
356    $acces = accesgroupes_verif_acces($id_rubrique, 'prive'); 
357//echo '<br>$acces = '.$acces;
358//echo '<br>accesgroupes_RubPrive(42, "prive") = '.accesgroupes_RubPrive(42, 'prive');         
359    if ($acces == 1 || $acces == 2) { 
360        accesgroupes_affichage_acces_restreint(); 
361    } 
362                else { 
363
364// FIN de la premiere partie d'ACCESGROUPES
365
366
367debut_gauche();
368if ($new != 'oui' AND ($connect_statut=="0minirezo" OR $statut=="prop")) {
369        # affichage sur le cote des images, en reperant les inserees
370        # note : traiter_modeles($texte, true) repere les doublons
371        # aussi efficacement que propre(), mais beaucoup plus rapidement
372        traiter_modeles("$titre$texte", true);
373        afficher_documents_colonne($id_breve, "breve", true);
374}
375echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
376creer_colonne_droite();
377echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves_edit','id_breve'=>$id_breve),'data'=>''));
378debut_droite();
379debut_cadre_formulaire();
380
381
382if ($new != "oui") {
383        echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
384        echo "<tr width='100%'>";
385        echo "<td>";
386                icone(_T('icone_retour'), generer_url_ecrire("breves_voir","id_breve=$id_breve"), "breve-24.gif", "rien.gif");
387       
388        echo "</td>";
389        echo "<td>", http_img_pack("rien.gif", ' ', "width='10'"), "</td>\n";
390        echo "<td width='100%'>";
391        echo _T('info_modifier_breve');
392        gros_titre($titre);
393        echo "</td></tr></table>";
394        echo "<p>";
395}
396
397
398if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") {
399        if ($id_breve) $lien = "id_breve=$id_breve";
400        echo generer_url_post_ecrire('breves_voir',$lien, 'formulaire');
401
402        if ($new == "oui") echo "<INPUT TYPE='Hidden' NAME='new' VALUE=\"oui\">";
403
404        $titre = entites_html($titre);
405        $lien_titre = entites_html($lien_titre);
406
407        echo _T('entree_titre_obligatoire');
408        echo "<INPUT TYPE='text' CLASS='formo' NAME='titre' VALUE=\"$titre\" SIZE='40' $onfocus>";
409
410
411        /// Dans la rubrique....
412        echo "<INPUT TYPE='Hidden' NAME='id_rubrique_old' VALUE=\"$id_rubrique\"><p />";
413
414        if ($id_rubrique == 0) $logo_parent = "racine-site-24.gif";
415        else {
416                $result=spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique='$id_rubrique'");
417
418                while($row=spip_fetch_array($result)){
419                        $parent_parent=$row['id_parent'];
420                }
421                if ($parent_parent == 0) $logo_parent = "secteur-24.gif";
422                else $logo_parent = "rubrique-24.gif";
423        }
424
425
426        debut_cadre_couleur("$logo_parent", false, "",_T('entree_interieur_rubrique').aide ("brevesrub"));
427
428        // selecteur de rubrique (en general pas d'ajax car toujours racine)
429        $selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc');
430        echo $selecteur_rubrique($id_rubrique, 'breve', ($statut == 'publie'));
431
432        fin_cadre_couleur();
433       
434        if ($spip_ecran == "large") $rows = 28;
435        else $rows = 15;
436       
437        echo "<p /><B>"._T('entree_texte_breve')."</B><BR>";
438        echo afficher_barre('document.formulaire.texte');
439        echo "<TEXTAREA NAME='texte' ".$GLOBALS['browser_caret']." ROWS='$rows' CLASS='formo' COLS='40' wrap=soft>";
440        echo entites_html($texte);
441        echo "</TEXTAREA><P>\n";
442
443
444        echo _T('entree_liens_sites').aide ("breveslien")."<BR>";
445        echo _T('info_titre')."<BR>";
446        echo "<INPUT TYPE='text' CLASS='forml' NAME='lien_titre' VALUE=\"$lien_titre\" SIZE='40'><BR>";
447
448        echo _T('info_url')."<BR>";
449        echo "<INPUT TYPE='text' CLASS='forml' NAME='lien_url' VALUE=\"$lien_url\" SIZE='40'><P>";
450
451        if ($champs_extra) {
452                include_spip('inc/extra');
453                extra_saisie($extra, 'breves', $id_rubrique);
454        }
455
456        if ($connect_statut=="0minirezo" AND acces_rubrique($id_rubrique)) {
457                debut_cadre_relief();
458                echo "<B>"._T('entree_breve_publiee')."</B>\n";
459
460                echo "<SELECT NAME='statut' SIZE=1 CLASS='fondl'>\n";
461               
462                echo "<OPTION".mySel("prop",$statut)." style='background-color: white'>"._T('item_breve_proposee')."\n";               
463                echo "<OPTION".mySel("refuse",$statut). http_style_background('rayures-sup.gif'). ">"._T('item_breve_refusee')."\n";           
464                echo "<OPTION".mySel("publie",$statut)." style='background-color: #B4E8C5'>"._T('item_breve_validee')."\n";             
465
466                echo "</SELECT>".aide ("brevesstatut")."<P>\n";
467                fin_cadre_relief();
468        }
469        else {
470                echo "<INPUT TYPE='Hidden' NAME='statut' VALUE=\"$statut\">";
471        }
472        echo "<P ALIGN='right'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_enregistrer')."' CLASS='fondo'  >";
473        echo "</FORM>";
474}
475else echo "<H2>"._T('info_page_interdite')."</H2>";
476
477fin_cadre_formulaire();
478
479// ACCESGROUPES : à placer avant fin_page();
480                        }
481// FIN ACCESGROUPES
482
483fin_page();
484}
485
486
487// http://doc.spip.org/@exec_rubriques_edit_dist
488function exec_rubriques_edit()
489{
490  global
491    $champs_extra,
492    $connect_statut,
493    $id_parent,
494    $id_rubrique,
495    $new,
496    $options;
497
498if ($new == "oui") {
499        if (($connect_statut=='0minirezo') AND acces_rubrique($id_parent)) {
500                $id_parent = intval($id_parent);
501                $id_rubrique = 0;
502                $titre = filtrer_entites(_T('titre_nouvelle_rubrique'));
503                $onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
504                $descriptif = "";
505                $texte = "";
506        }
507        else {
508                echo _T('avis_acces_interdit');
509                exit;
510        }
511}
512else {
513        $id_rubrique = intval($id_rubrique);
514        $result = spip_query("SELECT * FROM spip_rubriques WHERE id_rubrique='$id_rubrique'");
515        while ($row = spip_fetch_array($result)) {
516                $id_parent = $row['id_parent'];
517                $titre = $row['titre'];
518                $descriptif = $row['descriptif'];
519                $texte = $row['texte'];
520                $id_secteur = $row['id_secteur'];
521                $extra = $row["extra"];
522        }
523}
524
525 pipeline('exec_init',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
526 debut_page(_T('info_modifier_titre', array('titre' => $titre)), "naviguer", "rubriques", '', '', $id_rubrique);
527
528if ($id_parent == 0) $ze_logo = "secteur-24.gif";
529else $ze_logo = "rubrique-24.gif";
530
531if ($id_parent == 0) $logo_parent = "racine-site-24.gif";
532else {
533        $id_secteur = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique='$id_parent'"));
534        $id_secteur = $id_secteur['id_secteur'];
535        if ($id_parent_== $id_secteur)
536                $logo_parent = "secteur-24.gif";
537        else    $logo_parent = "rubrique-24.gif";
538}
539
540
541debut_grand_cadre();
542
543afficher_hierarchie($id_parent);
544
545fin_grand_cadre();
546
547
548// MODIF GROUPEACCES : début du contrôle d'acces à la rubrique
549   
550    $acces = accesgroupes_verif_acces($id_rubrique, 'prive'); 
551//echo '<br>$acces = '.$acces;
552//echo '<br>accesgroupes_RubPrive(42, "prive") = '.accesgroupes_RubPrive(42, 'prive');         
553    if ($acces == 1 || $acces == 2) { 
554        accesgroupes_affichage_acces_restreint(); 
555    } 
556                else { 
557
558// FIN de la premiere partie d'ACCESGROUPES
559
560
561debut_gauche();
562//////// parents
563
564
565
566echo pipeline('affiche_gauche',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));
567creer_colonne_droite();
568echo pipeline('affiche_droite',array('args'=>array('exec'=>'rubriques_edit','id_rubrique'=>$id_rubrique),'data'=>''));   
569debut_droite();
570
571debut_cadre_formulaire();
572
573echo "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>";
574echo "<tr width='100%'>";
575echo "<td>";
576
577if ($id_rubrique) icone(_T('icone_retour'), generer_url_ecrire("naviguer","id_rubrique=$id_rubrique"), $ze_logo, "rien.gif");
578else icone(_T('icone_retour'), generer_url_ecrire("naviguer","id_rubrique=$id_parent"), $ze_logo, "rien.gif");
579
580echo "</td>";
581echo "<td>". http_img_pack('rien.gif', " ", "width='10'") . "</td>\n";
582echo "<td width='100%'>";
583echo _T('info_modifier_rubrique');
584gros_titre($titre);
585echo "</td></tr></table>";
586echo "<p>";
587
588echo  generer_url_post_ecrire("naviguer",($id_rubrique ? "id_rubrique=$id_rubrique" : ""));
589
590$titre = entites_html($titre);
591
592echo _T('entree_titre_obligatoire');
593echo "<INPUT TYPE='text' CLASS='formo' NAME='titre' VALUE=\"$titre\" SIZE='40' $onfocus><P>";
594
595
596debut_cadre_couleur("$logo_parent", false, '', _T('entree_interieur_rubrique').aide ("rubrub"));
597
598// selecteur de rubriques
599$selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc');
600$restreint = ($GLOBALS['statut'] == 'publie');
601echo $selecteur_rubrique($id_parent, 'rubrique', $restreint, $id_rubrique);
602
603
604// si c'est une rubrique-secteur contenant des breves, demander la
605// confirmation du deplacement
606 $contient_breves = spip_fetch_array(spip_query("SELECT COUNT(*) AS cnt FROM spip_breves WHERE id_rubrique='$id_rubrique' LIMIT 1"));
607 $contient_breves = $contient_breves['cnt'];
608
609if ($contient_breves > 0) {
610        $scb = ($contient_breves>1? 's':'');
611        echo "<div><font size='2'><input type='checkbox' name='confirme_deplace'
612        value='oui' id='confirme-deplace'
613        ><label for='confirme-deplace'>&nbsp;"
614        ._T('avis_deplacement_rubrique',
615                array('contient_breves' => $contient_breves,
616                        'scb' => $scb))
617        ."</font></label></div>\n";
618} else
619        echo "<input type='hidden' name='confirme_deplace' value='oui' />\n";
620
621
622fin_cadre_couleur();
623
624echo "<P>";
625
626
627if ($options == "avancees" OR $descriptif) {
628        echo "<B>"._T('texte_descriptif_rapide')."</B><BR>";
629        echo _T('entree_contenu_rubrique')."<BR>";
630        echo "<TEXTAREA NAME='descriptif' CLASS='forml' ROWS='4' COLS='40' wrap=soft>";
631        echo entites_html($descriptif);
632        echo "</TEXTAREA><P>\n";
633}
634else {
635        echo "<INPUT TYPE='Hidden' NAME='descriptif' VALUE=\"".entites_html($descriptif)."\" />";
636}
637
638echo "<B>"._T('info_texte_explicatif')."</B>";
639echo aide ("raccourcis");
640echo "<BR><TEXTAREA NAME='texte' ROWS='15' CLASS='formo' COLS='40' wrap=soft>";
641echo entites_html($texte);
642echo "</TEXTAREA>\n";
643
644        if ($champs_extra) {
645                include_spip('inc/extra');
646                extra_saisie($extra, 'rubriques', $id_secteur);
647        }
648
649echo "<input type='hidden' name='new' value='",
650          (($new == "oui") ? 'oui' : 'non'),
651          "' />";
652
653echo "\n<p align='right'><input type='submit' value='"._T('bouton_enregistrer')."' CLASS='fondo' />\n</p></form>";
654
655fin_cadre_formulaire();
656
657
658// ACCESGROUPES : à placer avant fin_page();
659                        } 
660// FIN ACCESGROUPES
661
662
663fin_page();
664}
665
666
667// http://doc.spip.org/@exec_naviguer_dist
668function exec_naviguer()
669{
670        global $new, $id_parent, $id_rubrique, $spip_display,  $connect_statut, $champs_extra, $cherche_mot,  $select_groupe, $descriptif, $texte, $titre;
671
672
673        $flag_editable = ($connect_statut == '0minirezo' AND (acces_rubrique($id_parent) OR acces_rubrique($id_rubrique))); // id_parent necessaire en cas de creation de sous-rubrique
674
675        $id_rubrique = intval($id_rubrique);
676        $id_parent = intval($id_parent);
677        if ($id_parent == $id_rubrique && $id_parent) exit;
678        if ($flag_editable AND $new) {
679                if ($new == 'oui')
680                        $id_rubrique = enregistre_creer_naviguer($id_parent);
681                enregistre_modifier_naviguer($id_rubrique,
682                                             $id_parent,
683                                             $titre,
684                                             $texte,
685                                             $descriptif
686                                             );
687
688                calculer_rubriques();
689                calculer_langues_rubriques();
690
691                        // invalider les caches marques de cette rubrique
692                include_spip('inc/invalideur');
693                suivre_invalideur("id='id_rubrique/$id_rubrique'");
694
695                // pour avoir id_rubrique dans l'URL
696                if ($new == 'oui') {
697                        redirige_par_entete(generer_url_ecrire('naviguer', 'id_rubrique='.$id_rubrique, true));
698                } 
699        }
700
701//
702// recuperer les infos sur cette rubrique
703//
704
705        $row=spip_fetch_array(spip_query("SELECT * FROM spip_rubriques WHERE id_rubrique='$id_rubrique'"));
706        if ($row) {
707                $id_parent=$row['id_parent'];
708                $titre=$row['titre'];
709                $descriptif=$row['descriptif'];
710                $texte=$row['texte'];
711                $statut = $row['statut'];
712                $extra = $row["extra"];
713        } else $statut = $titre = $descriptif = $texte = $extra = '';
714
715        if ($id_rubrique ==  0) $ze_logo = "racine-site-24.gif";
716        else if ($id_parent == 0) $ze_logo = "secteur-24.gif";
717        else $ze_logo = "rubrique-24.gif";
718
719///// debut de la page
720
721        pipeline('exec_init',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>''));
722
723        debut_page(($titre ? ("&laquo; ".textebrut(typo($titre))." &raquo;") :
724                    _T('titre_naviguer_dans_le_site')),
725                   "naviguer",
726                   "rubriques",
727                   '',
728                   '',
729                   $id_rubrique);
730
731//////// parents
732
733          debut_grand_cadre();
734
735          if ($id_rubrique  > 0) afficher_hierarchie($id_parent);
736          else $titre = _T('info_racine_site').": ". $GLOBALS['meta']["nom_site"];
737          fin_grand_cadre();
738
739// MODIF ACCESGROUPES : début du contrôle d'acces à la rubrique
740   
741    $acces = accesgroupes_verif_acces($id_rubrique, 'prive'); 
742//echo '<br>$acces = '.$acces;
743//echo '<br>accesgroupes_RubPrive(42, "prive") = '.accesgroupes_RubPrive(42, 'prive');         
744    if ($acces == 1 || $acces == 2) { 
745                         accesgroupes_affichage_acces_restreint();
746    } 
747                else { 
748
749// FIN de la premiere partie d'ACCESGROUPES
750               
751          changer_typo('', 'rubrique'.$id_rubrique);
752
753          debut_gauche();
754
755          if ($spip_display != 4) {
756
757                infos_naviguer($id_rubrique, $statut);
758
759//
760// Logos de la rubrique
761//
762                if ($flag_editable AND ($spip_display != 4)) {
763                        include_spip('inc/chercher_logo');
764                        echo afficher_boite_logo('id_rubrique', $id_rubrique, ($id_rubrique ? _T('logo_rubrique') : _T('logo_standard_rubrique'))." ".aide ("rublogo"), _T('logo_survol'), 'naviguer');
765                }
766
767//
768// Afficher les boutons de creation d'article et de breve
769//
770                raccourcis_naviguer($id_rubrique, $id_parent);
771          }
772               
773                echo pipeline('affiche_gauche',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>''));
774                creer_colonne_droite();
775                echo pipeline('affiche_droite',array('args'=>array('exec'=>'naviguer','id_rubrique'=>$id_rubrique),'data'=>''));         
776                debut_droite();
777
778          debut_cadre_relief($ze_logo);
779
780          montre_naviguer($id_rubrique, $titre, $descriptif, $ze_logo, $flag_editable);
781
782          if ($champs_extra AND $extra) {
783                include_spip('inc/extra');
784                extra_affichage($extra, "rubriques");
785          }
786
787/// Mots-cles
788            if ($GLOBALS['meta']["articles_mots"] != 'non' AND $id_rubrique > 0) {
789              echo "\n<p>",
790                formulaire_mots('rubrique', $id_rubrique,  $cherche_mot,  $select_groupe, $flag_editable);
791            }
792
793
794            if (strlen($texte) > 1) {
795              echo "\n<p><div align='justify'><font size=3 face='Verdana,Arial,Sans,sans-serif'>", justifier(propre($texte)), "&nbsp;</font></div>";
796            }
797
798
799//
800// Langue de la rubrique
801//
802
803            langue_naviguer($id_rubrique, $id_parent, $flag_editable);
804           
805            fin_cadre_relief();
806
807
808//
809// Gerer les modifications...
810//
811
812            contenu_naviguer($id_rubrique, $id_parent, $ze_logo, $flag_editable);
813
814// ACCESGROUPES : à placer avant fin_page();
815                        } 
816// FIN ACCESGROUPES
817                       
818            fin_page();
819}
820
821
822?>
Note: See TracBrowser for help on using the repository browser.