/** * Retourne les paramètres de personnalisation css de l'espace privé * * Ces paramètres sont (ltr et couleurs) ce qui permet une écriture comme : * generer_url_public('style_prive', parametres_css_prive()) * qu'il est alors possible de récuperer dans le squelette style_prive.html avec * * #SET{claire,##ENV{couleur_claire,edf3fe}} * #SET{foncee,##ENV{couleur_foncee,3874b0}} * #SET{left,#ENV{ltr}|choixsiegal{left,left,right}} * #SET{right,#ENV{ltr}|choixsiegal{left,right,left}} * * @return string */ function parametres_css_prive() { $args = array(); $args['v'] = $GLOBALS['spip_version_code']; $args['p'] = substr(md5($GLOBALS['meta']['plugin']), 0, 4); $args['themes'] = implode(',', lister_themes_prives()); $args['ltr'] = $GLOBALS['spip_lang_left']; // un md5 des menus : si un menu change il faut maj la css $args['md5b'] = function_exists('md5_boutons_plugins') ? md5_boutons_plugins() : ''; $c = (is_array($GLOBALS['visiteur_session']) and is_array($GLOBALS['visiteur_session']['prefs'])) ? $GLOBALS['visiteur_session']['prefs']['couleur'] : 9; $couleurs = charger_fonction('couleurs', 'inc'); parse_str($couleurs($c), $c); $args = array_merge($args, $c); if (_request('var_mode') == 'recalcul' or defined('_VAR_MODE') and _VAR_MODE == 'recalcul') { $args['var_mode'] = 'recalcul'; } return http_build_query($args); }
function find_in_theme($file, $subdir = '', $include = false) { static $themefiles = array(); if (isset($themefiles["{$subdir}{$file}"])) { return $themefiles["{$subdir}{$file}"]; } $themes = lister_themes_prives(); foreach ($themes as $theme) { if ($f = find_in_path($file, "prive/themes/{$theme}/{$subdir}", $include)) { return $themefiles["{$subdir}{$file}"] = $f; } } spip_log("{$file} introuvable dans le theme prive " . reset($themes), 'theme'); return $themefiles["{$subdir}{$file}"] = ""; }