[SPIP] ~2.1.12 -->2.1.25
[velocampus/web/www.git] / www / ecrire / inc / couleurs.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 // Appelee sans argument, cette fonction retourne un menu de couleurs
16 // Avec un argument numerique, elle retourne les parametres d'URL
17 // pour les feuilles de style calculees (cf commencer_page et svg)
18 // Avec un argument de type tableau, soit elle remplace le tableau par defaut
19 // par celui donne en argument, soit, avec le second parametre
20 // a true, elle complete le tableau par celui donne en premier argument.
21
22 // http://doc.spip.org/@inc_couleurs_dist
23 function inc_couleurs_dist($choix=NULL, $ajouter=false)
24 {
25 static $couleurs_spip = array(
26 // Vert
27 1 => array (
28 "couleur_foncee" => "#9DBA00",
29 "couleur_claire" => "#C5E41C",
30 "couleur_lien" => "#657701",
31 "couleur_lien_off" => "#A6C113"
32 ),
33 // Violet clair
34 2 => array (
35 "couleur_foncee" => "#eb68b3",
36 "couleur_claire" => "#ffa9e6",
37 "couleur_lien" => "#8F004D",
38 "couleur_lien_off" => "#BE6B97"
39 ),
40 // Orange
41 3 => array (
42 "couleur_foncee" => "#fa9a00",
43 "couleur_claire" => "#ffc000",
44 "couleur_lien" => "#FF5B00",
45 "couleur_lien_off" => "#B49280"
46 ),
47 // Saumon
48 4 => array (
49 "couleur_foncee" => "#CDA261",
50 "couleur_claire" => "#FFDDAA",
51 "couleur_lien" => "#AA6A09",
52 "couleur_lien_off" => "#B79562"
53 ),
54 // Bleu pastel
55 5 => array (
56 "couleur_foncee" => "#5da7c5",
57 "couleur_claire" => "#97d2e1",
58 "couleur_lien" => "#116587",
59 "couleur_lien_off" => "#81B7CD"
60 ),
61 // Gris
62 6 => array (
63 "couleur_foncee" => "#85909A",
64 "couleur_claire" => "#C0CAD4",
65 "couleur_lien" => "#3B5063",
66 "couleur_lien_off" => "#6D8499"
67 ),
68 );
69
70 if (is_numeric($choix)) {
71 // Compatibilite ascendante (plug-ins notamment)
72 $GLOBALS["couleur_claire"] = $couleurs_spip[$choix]['couleur_claire'];
73 $GLOBALS["couleur_foncee"] = $couleurs_spip[$choix]['couleur_foncee'];
74 $GLOBALS["couleur_lien"] = $couleurs_spip[$choix]['couleur_lien'];
75 $GLOBALS["couleur_lien_off"] = $couleurs_spip[$choix]['couleur_lien_off'];
76
77 return
78 "couleur_claire=" .
79 substr($couleurs_spip[$choix]['couleur_claire'],1).
80 '&couleur_foncee=' .
81 substr($couleurs_spip[$choix]['couleur_foncee'],1);
82 } else {
83 if (is_array($choix)) {
84 if ($ajouter) {
85 foreach($choix as $c)
86 $couleurs_spip[] = $c;
87 return $couleurs_spip;
88 } else {
89 return $couleurs_spip = $choix;
90 }
91 }
92
93 $evt = '
94 onmouseover="changestyle(\'bandeauinterface\');"
95 onfocus="changestyle(\'bandeauinterface\');"
96 onblur="changestyle(\'bandeauinterface\');"';
97
98 $bloc = '';
99 $ret = self('&');
100 foreach ($couleurs_spip as $key => $val) {
101 $bloc .=
102 '<a href="'
103 . generer_action_auteur('preferer',"couleur:$key",$ret)
104 . '"'
105
106 . ' title="'.generer_url_public('style_prive','ltr='
107 . $GLOBALS['spip_lang_left'] . '&'
108 . inc_couleurs_dist($key)).'"'
109 . $evt
110 .'>'
111 . http_img_pack("rien.gif",
112 $key,
113 "width='8' height='8' style='margin: 1px; background-color: " . $val['couleur_claire'] . ";'",
114 _T('titre_changer_couleur_interface') . " $key"
115 )
116 . "</a>";
117 }
118
119 // Ce js permet de changer de couleur sans recharger la page
120
121 return '<span id="selecteur_couleur">'
122 . $bloc
123 . "</span>\n"
124 . '<script type="text/javascript"><!--' . "
125 $('#selecteur_couleur a')
126 .click(function(){
127 $('head>link#cssprivee')
128 .clone()
129 .removeAttr('id')
130 .attr('href', $(this).attr('title'))
131 .appendTo($('head'));
132
133 $.get($(this).attr('href'));
134 return false;
135 });
136 // --></script>\n";
137
138
139 }
140 }
141
142 ?>