source: spip-zone/_plugins_/test-merge/noisetier.php @ 62034

Last change on this file since 62034 was 12949, checked in by nicolas1.krebs2@…, 14 years ago

test de copie d'une ancienne version, _plugins_/_dev_/noisetier/exec en version 12654. Pour corriger les déplacement par suppression-création telles que [12943]

File size: 5.5 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5include_spip('inc/presentation');
6include_spip('inc/noisetier_gestion');
7include_spip('options_noisetier');
8
9function exec_noisetier_dist(){
10        global $spip_lang_right, $les_notes;
11        global $theme_titre, $theme_descriptif, $theme_zones, $noisetier_pages, $noisetier_description_pages;
12
13        $page = _request('page');
14        if (!isset($page)) $page='';
15
16        $theme_zones['head']['nom'] = "head";
17        $theme_zones['head']['titre'] = _T('noisetier:head_titre');
18        $theme_zones['head']['descriptif'] = _T('noisetier:head_descriptif');
19        $theme_zones['head']['insere_avant'] = "<div style='width:100%'>";
20        $theme_zones['head']['insere_apres'] = "</div>";
21
22        pipeline('exec_init',array('args'=>array('exec'=>'noisetier'),'data'=>''));
23
24        //Affichage de la page
25       
26        debut_page(_T('noisetier:titre_noisetier'));
27        echo "<br/>";
28        gros_titre(_T('noisetier:titre_noisetier'));
29       
30        debut_gauche();
31        debut_boite_info();
32                echo "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" ;
33                echo _T('noisetier:theme_en_cours');
34                echo "<br /><span style='font-size:large;'>";
35                echo "$theme_titre";
36                echo '</span></div>';
37                if (isset($theme_descriptif)) echo propre($theme_descriptif);
38        fin_boite_info();
39        echo "<br />";
40        pipeline('affiche_gauche',array('args'=>array('exec'=>'noisetier'),'data'=>''));
41
42        creer_colonne_droite();
43        debut_boite_info();
44                if ($page!='') {
45                        echo "\n<div style='font-weight: bold; text-align: center' class='verdana1 spip_xx-small'>" ;
46                        echo _T('noisetier:page_affichee');
47                        echo "<br /><span style='font-size:large;'>";
48                        echo "$page";
49                        echo '</span></div>';
50                        if (isset($noisetier_description_pages[$page])) echo propre($noisetier_description_pages[$page]);
51                }
52                echo _T('noisetier:restreindre_page');
53                echo "<div style='text-align:center;'>";
54                echo "<form method='get' action='".generer_url_ecrire('noisetier')."'>";
55                echo "<input type='hidden' name='exec' value='noisetier' />";
56                echo "<select name='page' class='verdana1 toile_foncee' style='max-height: 24px; border: 1px solid white; color: white; width: 100px;'>";
57                if ($page!='') echo "<option value=''>"._T('noisetier:voir_toutes_noisettes')."</option>";
58                if ($page!='toutes') echo "<option value='toutes'>"._T('noisetier:toutes')."</option>";
59                asort($noisetier_pages);
60                foreach ($noisetier_pages as $unepage)
61                        if($unepage!=$page) echo "<option value='$unepage'>$unepage</option>";
62                echo "</select><input type='submit' class='fondo' value='"._T('noisetier:changer')."'/></form></div>";
63        fin_boite_info();
64
65        // Raccourcis
66        $res = icone_horizontale(_T('noisetier:gestion_distribution'), generer_url_ecrire("noisetier_distribution",""), "../"._DIR_PLUGIN_NOISETIER."/img_pack/distribution-24.png", "rien.gif",false);
67        $res .= icone_horizontale(_T('noisetier:maj_noisettes'), generer_url_ecrire("noisetier_majnoisettes",""), "../"._DIR_PLUGIN_NOISETIER."/img_pack/maj-24.png", "rien.gif",false);
68        $res .= icone_horizontale(_T('noisetier:gestion_mots'), generer_url_ecrire("noisetier_mots",""), "groupe-mot-24.gif", "rien.gif",false);
69        if (autoriser('gerer','noisetier')) echo bloc_des_raccourcis($res);
70
71        echo pipeline('affiche_droite',array('args'=>array('exec'=>'noiseteir'),'data'=>''));
72
73        debut_droite();
74        echo typo(_T('noisetier:presentation_noisetier')) ;
75        echo '<br /><br />';
76
77        echo noisetier_gestion_zone('head', $page, true);
78        $zones_affichees = array();
79        $zones_affichees['head'] = 'oui';
80        foreach ($theme_zones as $theme_une_zone){
81                //La zone head a déjà été insérée
82                if ($theme_une_zone['nom']!='head')
83                        //Restriction en fonction du paramètre page
84                        if(noisetier_affiche_zone_page($theme_une_zone,$page)) {
85                                echo noisetier_gestion_zone($theme_une_zone['nom'],$page);
86                                $nom_zone = $theme_une_zone['nom'];
87                                $zones_affichees[$nom_zone] = 'oui';
88                        }
89        }
90
91        //Afficher ici les zones non gérées par le thème en cours mais qui disposent néanmoins d'une déclaration dans la base de donnée
92        if ($page=='') $cond='';
93        else $cond="WHERE page REGEXP '(^|,)$page(,|$)'";
94        $res = spip_query("SELECT DISTINCT zone FROM spip_noisettes $cond");
95        $theme_zones_warning = array();
96        while ($row=spip_fetch_array($res)) {
97                $zone = $row['zone'];
98                if ($zones_affichees[$zone]!='oui') {
99                        $theme_zones_warning[$zone]['nom']=$zone;
100                }
101        }
102       
103        if (count($theme_zones_warning)>0){
104                echo "<p style='border-top:3px solid #900; clear:both;'>";
105                echo gros_titre("<img src='"._DIR_IMG_PACK."warning.gif' />&nbsp;"._T('noisetier:zones_non_gerees'));
106                echo "</p><p style='text-align:justify;font-size:90%;' class='serif'>"._T('noisetier:zones_non_gerees_explication')."</p>";
107        }
108        foreach ($theme_zones_warning as $theme_une_zone) {
109                echo noisetier_gestion_zone($theme_une_zone['nom'],$page,true);
110                }
111
112        if ($les_notes) {
113                debut_cadre_relief();
114                echo "<div $dir_lang class='arial11'>";
115                echo justifier("<b>"._T('info_notes')."&nbsp;:</b> ".$les_notes);
116                echo "</div>";
117                fin_cadre_relief();
118        }
119
120        echo fin_gauche(), fin_page();
121}
122
123// détermine si une zone donnée doit être affichée sur une page donnée
124function noisetier_affiche_zone_page($theme_une_zone,$page) {
125        if ($page=='') return true;
126        if (isset($theme_une_zone['pages_exclues']) && preg_match("/(^|,)".$page."(,|$)/",$theme_une_zone['pages_exclues']))
127                return false;
128        if (isset($theme_une_zone['pages']) 
129                && !preg_match("/(^|,)".$page."(,|$)/",$theme_une_zone['pages'])
130                && !preg_match("/(^|,)toutes(,|$)/",$theme_une_zone['pages']))
131                return false;
132        return true;
133}
134
135?>
Note: See TracBrowser for help on using the repository browser.