From bd40ed308ae0ae07be1d3af3c27e4be9739caa38 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Fri, 13 Apr 2007 09:18:22 +0000 Subject: [PATCH] =?UTF-8?q?Tache=20#877,=20=C3=A9vacuation=20totale=20des?= =?UTF-8?q?=20globales=20$prefs,=20couleur=5Ffoncee=20et=20couleur=5Fclair?= =?UTF-8?q?e,=20l'index=20{{{prefs}}}=20du=20tableau=20global=20{{{auteur?= =?UTF-8?q?=5Fsession}}}=20=C3=A9tant=20quant=20=C3=A0=20lui=20syst=C3=A9m?= =?UTF-8?q?atiquement=20d=C3=A9s=C3=A9rialis=C3=A9,=20ce=20qui=20permet=20?= =?UTF-8?q?de=20retrouver=20facilement=20=C3=A0=20travers=20lui,=20si=20on?= =?UTF-8?q?=20en=20a=20vraiment=20besoin,=20la=20valeur=20des=20deux=20cou?= =?UTF-8?q?leurs=20:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit {{{$GLOBALS['couleur_claire']}}} se retrouve par {{{$GLOBALS['couleurs_spip'][$GLOBALS['auteur_session']['prefs']['couleur']]['couleur_claire']}}} {{{$GLOBALS['couleur_foncee']}}} se retrouve par {{{$GLOBALS['couleurs_spip'][$GLOBALS['auteur_session']['prefs']['couleur']]['couleur_foncee']}}} mais le but est plutot de reporter ces valeurs dans les feuilles de styles calculées, en s'aidant de la nouvelle constante {{{_SENS_ET_COULEURS}}} définie dans ecrire/index.php. A noter que dans le script produisant du SVG, la xml-stylesheet utilisant cette constante ne veut pas de & dans l'URL, fallait comprendre. A noter aussi la neutralisation provisoire de ces globales dans les balises <style>...</style> qui trainent, en attendant leur remplacement par des CSS. --- .gitattributes | 1 + dist/style_svg.html | 26 +++++++++++++++++++ ecrire/exec/admin_plugin.php | 6 ++--- ecrire/exec/statistiques_svg.php | 17 +++++------- ecrire/exec/statistiques_visites.php | 8 +++--- ecrire/inc/auth.php | 1 + ecrire/inc/premiers_pas.php | 8 +++--- ecrire/inc/presentation.php | 14 +++------- ecrire/inc/selectionner_auteur.php | 2 -- ecrire/index.php | 39 ++++++++++++++++------------ 10 files changed, 70 insertions(+), 52 deletions(-) create mode 100644 dist/style_svg.html diff --git a/.gitattributes b/.gitattributes index 1a9e0e3bff..0b5870a98f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -251,6 +251,7 @@ dist/spip.png -text dist/style_prive.html -text dist/style_prive_defaut.css -text dist/style_prive_ie.html -text +dist/style_svg.html -text dist/vignettes/abw.png -text dist/vignettes/ai.png -text dist/vignettes/aiff.png -text diff --git a/dist/style_svg.html b/dist/style_svg.html new file mode 100644 index 0000000000..39b9358157 --- /dev/null +++ b/dist/style_svg.html @@ -0,0 +1,26 @@ +#CACHE{3600*100,cache-client} +#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15} +#HTTP_HEADER{Vary: Accept-Encoding} + +[(#REM) + + Ce squelette definit les styles pour le code SVG dans SPIP +] + +.svg-rect-foncee { + fill: ##ENV{couleur_foncee,3874b0}; +} + +.svg-stop0 { + stop-color: ##ENV{couleur_claire,edf3fe}; + stop-opacity:0.3; +} + +.svg-stop100 { + stop-color: ##ENV{couleur_foncee,3874b0}; + stop-opacity:1; +} + +.gris {fill: #aaaaaa; fill-opacity: 0.2;} + +.trait {stroke:black;stroke-width:1;} diff --git a/ecrire/exec/admin_plugin.php b/ecrire/exec/admin_plugin.php index 1a740133f2..fad63cf634 100644 --- a/ecrire/exec/admin_plugin.php +++ b/ecrire/exec/admin_plugin.php @@ -38,10 +38,8 @@ function exec_admin_plugin() { if (isset($_GET['surligne'])) $surligne = $_GET['surligne']; - global $couleur_claire; $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('icone_admin_plugin'), "configuration", "plugin"); - $dir_img_pack = _DIR_IMG_PACK; echo "<style type='text/css'>\n"; echo <<<EOF div.cadre-padding ul li { @@ -69,7 +67,7 @@ div.cadre-padding ul li li div.nomplugin a { -moz-outline:0 !important; } div.cadre-padding ul li li div.nomplugin_on { - background:$couleur_claire; + background: #edf3fe /* couleur claire a remettre avec une CSS */ } div.cadre-padding ul li li div.nomplugin_on>a { font-weight:bold; @@ -276,7 +274,7 @@ function ligne_plug($plug_file, $actif, $id){ $info = plugin_get_infos($plug_file); $s = "<div class='nomplugin ".($actif?'nomplugin_on':'')."'>"; if (isset($info['erreur'])){ - $s .= "<div style='background:".$GLOBALS['couleur_claire']."'>"; + $s .= "<div class='toile_claire'>"; $erreur = true; foreach($info['erreur'] as $err) $s .= "/!\ $err <br/>"; diff --git a/ecrire/exec/statistiques_svg.php b/ecrire/exec/statistiques_svg.php index 0dd15e670d..0b9ac6da8e 100644 --- a/ecrire/exec/statistiques_svg.php +++ b/ecrire/exec/statistiques_svg.php @@ -50,12 +50,9 @@ if ($connect_statut != '0minirezo') { header("Content-type: image/svg+xml"); echo "<"."?xml version=\"1.0\" standalone=\"no\"?>\n"; + echo '<', '?xml-stylesheet type="text/css" href="', generer_url_public('style_svg', _SENS_ET_COULEURS, true), '" ?', ">\n"; echo "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"; echo "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"450\" height=\"310\" x=\"0\" y=\"0\">\n"; - echo "<style type='text/css'>\n"; - echo ".gris {fill: #aaaaaa; fill-opacity: 0.2;}\n"; - echo ".trait {stroke:black;stroke-width:1;}\n"; - echo "</style>\n"; echo '<defs>'; echo '<linearGradient id="orange_red" x1="0%" y1="0%" x2="0%" y2="150%">'; echo '<stop offset="0%" style="stop-color:rgb(255,255,0); stop-opacity:1" />'; @@ -64,8 +61,8 @@ if ($connect_statut != '0minirezo') { echo '</defs>'; echo "<defs>\n"; echo '<linearGradient id="claire" x1="0%" y1="0%" x2="0%" y2="100%">'; - echo '<stop offset="0%" style="stop-color:'.$couleur_claire.'; stop-opacity:0.3"/>'; - echo '<stop offset="100%" style="stop-color:'.$couleur_foncee.'; stop-opacity:1"/>'; + echo '<stop offset="0%" class="svg-stop0" />'; + echo '<stop offset="100%" class="svg-stop100" />'; echo "</linearGradient>\n"; echo "</defs>\n"; @@ -227,14 +224,14 @@ if ($connect_statut != '0minirezo') { if (date("w",$key) == "0") // Dimanche en couleur foncee - $fill = $couleur_foncee; + $fill = "class='svg-rect-foncee'"; else - $fill = "url(#claire)"; + $fill = "style='fill: url(#claire)'"; - echo "<rect x='".(($n-1)*$largeur)."' y='".(300-$hauteur)."' width='$largeur' height='$hauteur' style='fill:$fill'/>\n"; - echo "<rect x='".(($n-1)*$largeur)."' y='".(300-$hauteur)."' width='$largeur' height='1' style='fill:$couleur_foncee;'/>\n"; + echo "<rect x='".(($n-1)*$largeur)."' y='".(300-$hauteur)."' width='$largeur' height='$hauteur' $fill />\n"; + echo "<rect x='".(($n-1)*$largeur)."' y='".(300-$hauteur)."' width='$largeur' height='1' $fill />\n"; if (date("d", $key) == "1") echo "<line x1='".(($n-1)*$largeur)."' y1='".(300-$hauteur_moyenne)."' x2='".(($n-1)*$largeur)."' y2='300' class='trait'/>\n"; diff --git a/ecrire/exec/statistiques_visites.php b/ecrire/exec/statistiques_visites.php index 1c01d18fe1..c95e195421 100644 --- a/ecrire/exec/statistiques_visites.php +++ b/ecrire/exec/statistiques_visites.php @@ -365,12 +365,12 @@ if ($connect_statut != '0minirezo') { if ($date_premier < $date_debut) echo http_href_img(generer_url_ecrire("statistiques_visites","aff_jours=$aff_jours_plus$pour_article"), 'loupe-moins.gif', - "style='border: 0px; vertical-align:center;'", + "style='border: 0px; vertical-align: middle;'", _T('info_zoom'). '-'), " "; if ( (($date_today - $date_debut) / (24*3600)) > 30) echo http_href_img(generer_url_ecrire("statistiques_visites","aff_jours=$aff_jours_moins$pour_article"), 'loupe-plus.gif', - "style='border: 0px; vertical-align:center;'", + "style='border: 0px; vertical-align: middle;'", _T('info_zoom'). '+'), " "; @@ -591,8 +591,6 @@ if ($GLOBALS['accepte_svg']) { echo "<tr><td height='10' valign='bottom'>"; echo "<span class='arial1 spip_x-small'><b>0</b></span>"; echo "</td>"; - - echo "</tr></table>"; echo "</div></td>"; echo "</tr></table>"; @@ -607,7 +605,7 @@ if ($GLOBALS['accepte_svg']) { if (date("m", $jour) == 1) $afficher = "<b>".annee(date("Y-m-d", $jour))."</b>"; - $gauche = ($jour - $date_debut) * $largeur / ((24*3600)*$agreg); + $gauche = floor($jour - $date_debut) * $largeur / ((24*3600)*$agreg); if ($gauche - $gauche_prec >= 40 OR date("m", $jour) == 1) { echo "<div class='arial0' style='border-$spip_lang_left: 1px solid black; padding-$spip_lang_left: 2px; padding-top: 3px; position: absolute; $spip_lang_left: ".$gauche."px; top: -1px;'>".$afficher."</div>"; diff --git a/ecrire/inc/auth.php b/ecrire/inc/auth.php index ea9b30195a..eef7ea77af 100644 --- a/ecrire/inc/auth.php +++ b/ecrire/inc/auth.php @@ -187,6 +187,7 @@ function inc_auth_dist() { // Les plus utiles sont aussi dans les variables simples ci-dessus $GLOBALS['auteur_session'] = $row; + $GLOBALS['auteur_session']['prefs'] = @unserialize($GLOBALS['auteur_session']['prefs']); if (is_string($droits)) { // ordres mineurs: redac, visiteur ou indefini diff --git a/ecrire/inc/premiers_pas.php b/ecrire/inc/premiers_pas.php index e5c116e81d..8085ead4f1 100644 --- a/ecrire/inc/premiers_pas.php +++ b/ecrire/inc/premiers_pas.php @@ -70,19 +70,19 @@ ul.etapes li.etape{ height:2em; padding-top:0.7em; text-align:center; - border:2px solid $couleur_foncee; + border:2px solid #3874b0; /* couleur foncee a remettre */ margin:0 0.5em 0 0; } ul.etapes li.etape.on{ - background-color:$couleur_claire; + background-color:#edf3fe; /* couleur claire a remettre */ } ul.etapes li.etape.off{ color:#aaa; border:2px solid #888; } ul.etapes li.etape.encours{ - background-color:$couleur_foncee; - border:2px solid $couleur_claire; + background-color:#3874b0; /* couleur foncee a remettre */ + border:2px solid #edf3fe; /* couleur claire a remettre */ color:#fff; } EOF; diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index fef78739d8..381f6de86c 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -1261,15 +1261,7 @@ function afficher_forum_4($compteur_forum, $nb_forum, $thread) // http://doc.spip.org/@envoi_link function envoi_link($nom_site_spip) { - global $connect_toutes_rubriques, $spip_display; - global $spip_lang, $couleur_claire, $couleur_foncee; - - $args = "couleur_claire=" . - substr($couleur_claire,1) . - '&couleur_foncee=' . - substr($couleur_foncee,1) . - '<r=' . - $GLOBALS['spip_lang_left']; + global $connect_toutes_rubriques, $spip_display, $spip_lang; // CSS de secours en cas de non fonct de la suivante $res = '<link rel="stylesheet" type="text/css" href="' @@ -1278,10 +1270,10 @@ function envoi_link($nom_site_spip) { // CSS espace prive : la vraie . '<link rel="stylesheet" type="text/css" href="' - . generer_url_public('style_prive', $args) .'" />' . "\n" + . generer_url_public('style_prive', _SENS_ET_COULEURS) .'" />' . "\n" . "<!-- [if IE lt 8] -->\n" . '<link rel="stylesheet" type="text/css" href="' - . generer_url_public('style_prive_ie', $args) .'" />' . "\n" + . generer_url_public('style_prive_ie', _SENS_ET_COULEURS) .'" />' . "\n" . "<!-- [endif] -->" // CSS calendrier diff --git a/ecrire/inc/selectionner_auteur.php b/ecrire/inc/selectionner_auteur.php index 2a00243c2f..516577d5bc 100644 --- a/ecrire/inc/selectionner_auteur.php +++ b/ecrire/inc/selectionner_auteur.php @@ -35,8 +35,6 @@ function inc_selectionner_auteur_dist($id_article) // http://doc.spip.org/@selectionner_auteur_boucle function selectionner_auteur_boucle($query, $idom) { - global $spip_lang_left; - $info = generer_url_ecrire('informer_auteur', "id="); $args = "'$idom" . "_selection', '$info', event"; $res = ''; diff --git a/ecrire/index.php b/ecrire/index.php index 47d7eefaab..72721f3b1d 100644 --- a/ecrire/index.php +++ b/ecrire/index.php @@ -105,21 +105,27 @@ if (autoriser_sans_cookie($exec)) { if (!isset($GLOBALS['auteur_session']['prefs'])) - $GLOBALS['prefs'] = array('couleur' =>1, 'display'=>0); -else $GLOBALS['prefs'] = unserialize($GLOBALS['auteur_session']['prefs']); + $prefs = array('couleur' =>1, 'display'=>0); +else $prefs = ($GLOBALS['auteur_session']['prefs']); $prefs_mod = false; if (isset($_GET['set_couleur'])) { - $GLOBALS['prefs']['couleur'] = floor($_GET['set_couleur']); + $prefs['couleur'] = floor($_GET['set_couleur']); $prefs_mod = true; } if (isset($_GET['set_disp'])) { - $GLOBALS['prefs']['display'] = floor($_GET['set_disp']); + $prefs['display'] = floor($_GET['set_disp']); $prefs_mod = true; } +// compatibilite ascendante +$GLOBALS['spip_display'] = $prefs['display']; + +// Options "avancees" pour tout le monde (en attendant de les supprimer dans le code) +$GLOBALS['options'] = 'avancees'; + if ($prefs_mod AND !$var_auth) - spip_query("UPDATE spip_auteurs SET prefs = " . _q(serialize($GLOBALS['prefs'])) . " WHERE id_auteur = " .intval($GLOBALS['auteur_session']['id_auteur'])); + spip_query("UPDATE spip_auteurs SET prefs = " . _q(serialize($prefs)) . " WHERE id_auteur = " .intval($GLOBALS['auteur_session']['id_auteur'])); if (isset($_GET['set_ecran'])) { // Poser un cookie, @@ -128,18 +134,11 @@ if (isset($_GET['set_ecran'])) { spip_setcookie('spip_ecran', $GLOBALS['spip_ecran'], time() + 365 * 24 * 3600); } else $GLOBALS['spip_ecran'] = isset($_COOKIE['spip_ecran']) ? $_COOKIE['spip_ecran'] : "etroit"; +if (!isset($GLOBALS['couleurs_spip'][$prefs['couleur']])) + $prefs['couleur'] = 1; -// compatibilite ascendante -$GLOBALS['spip_display'] = $GLOBALS['prefs']['display']; -$choix_couleur = $GLOBALS['prefs']['couleur']; -if (!isset($GLOBALS['couleurs_spip'][$choix_couleur])) $choix_couleur = 1; - -$GLOBALS['couleur_foncee'] = $GLOBALS['couleurs_spip'][$choix_couleur]['couleur_foncee']; -$GLOBALS['couleur_claire'] = $GLOBALS['couleurs_spip'][$choix_couleur]['couleur_claire']; - -// Options "avancees" pour tout le monde (en attendant de les supprimer dans le code) -$GLOBALS['options'] = 'avancees'; - +$GLOBALS['auteur_session']['prefs'] = $prefs; +$prefs = $GLOBALS['couleurs_spip'][$prefs['couleur']]; // charger l'affichage minimal et initialiser a la langue par defaut include_spip('inc/minipres'); @@ -164,6 +163,14 @@ if (isset($_COOKIE['spip_lang_ecrire'])) { utiliser_langue_visiteur(); +// parametres pour les feuilles de style calculees (cf commencer_page et svg) +define('_SENS_ET_COULEURS', "couleur_claire=" . + substr($prefs['couleur_claire'],1). + '&couleur_foncee=' . + substr($prefs['couleur_foncee'],1) . + '<r=' . + $GLOBALS['spip_lang_left']); + define('_TRANCHES', 10); // -- GitLab