diff --git a/.gitattributes b/.gitattributes index 15f55a8e1dfca7ff766c0c788e75a223d378dad2..23a5c93a9cf15c071cf4327bfe3c74c9511911ae 100644 --- a/.gitattributes +++ b/.gitattributes @@ -150,6 +150,7 @@ ecrire/configuration/relayeur.php -text ecrire/configuration/rubriques.php -text ecrire/configuration/syndications.php -text ecrire/configuration/transcodeur.php -text +ecrire/configuration/type_urls.php -text ecrire/configuration/versionneur.php -text ecrire/configuration/visiteurs.php -text ecrire/exec/accueil.php -text diff --git a/ecrire/configuration/compresseur.php b/ecrire/configuration/compresseur.php index e6131336d09dd70523dee00263795d0ceba31793..75ffdcde07950f4ef73d39a80ae42537fdd06091 100644 --- a/ecrire/configuration/compresseur.php +++ b/ecrire/configuration/compresseur.php @@ -89,86 +89,9 @@ function configuration_compresseur_dist() . fin_cadre_relief(true); -/* --- Compression du flux HTTP -- -SPIP peut compresser automatiquement chaque page qu'il envoie aux -visiteurs du site. Ce réglage permet d'optimiser la bande passante (le -site est plus rapide derrière une liaison à faible débit), mais -demande plus de puissance au serveur. (Pour plus de détails, cf. -[->http://www.php.net/ob_gzhandler].) -Voulez-vous activer la compression du flux HTTP ? - -() oui -(x) non - - - - --- Traitement du HTML -- - -(TODO, avec tidy) - -La commande "tidy" permet d'éliminer tous les espaces superflus des -pages HTML produites, de façon à limiter la taille en octets du -contenu envoyé. Elle offre aussi la possibilité de nettoyer le code -HTML de manière à garantir qu'il est strictement conforme au standard -XHTML 1.0. - -A noter : avec des squelettes conformes, SPIP produit du code conforme -sans qu'il soit nécessaire de faire appel à tidy. De plus, ces deux -options demandent un peu de puissance au serveur. - -Voulez-vous supprimer les espaces superflus des pages HTML ? - -() oui -(x) non - -Souhaitez-vous faire appel à tidy garantir la conformité du code HTML ? - -() oui -(x) non - - - --- Compactage des scripts et css -- - -SPIP peut compacter les scripts javascript et les feuilles de style -CSS, pour les enregistrer dans des fichiers statiques ; cela accélère -grandement l'affichage, au détriment toutefois de la lisibilité du -code. De plus, certains scripts ou CSS peuvent s'avérer incompatibles -avec ce traitement (le cas échéant, vous pourrez les désactiver -individuellement). - -Compacter les scripts ? -() oui -(x) non - -Compacter les feuilles de style ? -() oui -(x) non - - -[si oui :] -SPIP a compacté les scripts et feuilles de style suivants. Si certains -ne doivent pas être compactés, veuillez le signaler ci-dessous : - -page=jquery.js [] -plugins/thickbox/thickbox.js [] -squelettes/toto.css [x] -... - -(Note: seuls les scripts rencontrés dans la journée qui précède sont -mémorisés, ainsi que ceux qui sont interdits.) - -../.. - -*/ - - - - $res = debut_cadre_trait_couleur("", true, "", + $res = '<br />'.debut_cadre_trait_couleur("", true, "", _T('info_compresseur_titre')) . ajax_action_post('configurer', 'compresseur', 'config_fonctions', '', $res) . fin_cadre_trait_couleur(true); diff --git a/ecrire/configuration/type_urls.php b/ecrire/configuration/type_urls.php new file mode 100644 index 0000000000000000000000000000000000000000..fc04ff26498f8be1bf1cbb07290056bf31e362dc --- /dev/null +++ b/ecrire/configuration/type_urls.php @@ -0,0 +1,63 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2008 * + * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * + * * + * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * + * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * +\***************************************************************************/ + +if (!defined("_ECRIRE_INC_VERSION")) return; + +include_spip('inc/presentation'); +include_spip('inc/config'); + +function configuration_type_urls_dist() +{ + global $spip_lang_right; + + $res = ''; + + // Choix du type d'url + if ($GLOBALS['type_urls'] != 'page') // fixe par mes_options + return ''; + + $res .= debut_cadre_relief("", true, "", _L('Type d\'adresses URL')) + . "<p class='verdana2'>" + . _L('Vous pouvez choisir ci-dessous le mode de calcul de l\'adresse des pages.') + . " " + . "</p>" + + . "<div class='verdana2'>" + . afficher_choix('type_urls', + $GLOBALS['meta']['type_urls'], + array( + 'page' => '<em>page</em> — <tt>spip.php?article12</tt>', + 'html' => '<em>html</em> — <tt>article12.html</tt>', + 'arbo' => '<em>arbo</em> — <tt>/article/Titre</tt>', + 'propres' => '<em>propres</em> — <tt>Titre-de-l-article</tt>', + 'propres2' => '<em>propres2</em> — <tt>Titre-de-l-article.html</tt>' +# 'propresqs' => '<em>propresqs</em> — <tt>?Titre-de-l-article</tt>', // ne fonctionne plus + ) + ) + . "</div>" + + . "<p><em>"._L('Attention ce réglage ne fonctionnera que si le fichier <tt>.htaccess</tt> est correctement installé à la racine du site.')."</em></p>" + + + . fin_cadre_relief(true); + + + + + $res = '<br />'.debut_cadre_trait_couleur("", true, "", + _T('info_compresseur_titre')) + . ajax_action_post('configurer', 'type_urls', 'config_fonctions', '', $res) + . fin_cadre_trait_couleur(true); + + return ajax_action_greffe("configurer-type_urls", '', $res); +} +?> diff --git a/ecrire/exec/config_fonctions.php b/ecrire/exec/config_fonctions.php index e0cfb902ce85696f423b823669a349e7d492d8b9..a836d9d692eb782dd228e4a5393499afbd12b158 100644 --- a/ecrire/exec/config_fonctions.php +++ b/ecrire/exec/config_fonctions.php @@ -46,6 +46,7 @@ function exec_config_fonctions_dist() $versionneur = charger_fonction('versionneur', 'configuration'); $previsualiseur = charger_fonction('previsualiseur', 'configuration'); $relayeur = charger_fonction('relayeur', 'configuration'); + $type_urls = charger_fonction('type_urls', 'configuration'); $compresseur = charger_fonction('compresseur', 'configuration'); echo @@ -64,6 +65,8 @@ function exec_config_fonctions_dist() $relayeur(_request('retour_proxy')), // Proxy pour syndication & doc + $type_urls(), // Choix de type_urls + $compresseur(), // Compression http et compactages CSS ou JS ''; diff --git a/ecrire/inc/config.php b/ecrire/inc/config.php index 85e59b95070578e0baa4e27c410e693eff2bfa81..31e06b0db6f5a586b6b749561ed6151e879cc578 100644 --- a/ecrire/inc/config.php +++ b/ecrire/inc/config.php @@ -96,6 +96,8 @@ function liste_metas() 'gerer_trad' => 'non', 'langues_multilingue' => '', + 'type_urls' => 'page', + 'email_envoi' => '', 'email_webmaster' => '', 'auto_compress_http'=>'non', diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index f3adc982a09d1730a8dae7ea69e6e227c7db6c91..6233a6661ebf317966fcde8897f2a858d328b3a3 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -715,8 +715,8 @@ function autoriser_sans_cookie($nom) return in_array($nom, $autsanscookie); } -// Cette fonction charge le bon inc-urls selon qu'on est dans l'espace -// public ou prive, la presence d'un (old style) inc-urls.php3, etc. +// Cette fonction charge le bon fichier d'urls selon qu'on est dans l'espace +// public ou prive // http://doc.spip.org/@charger_generer_url function charger_generer_url($prive=NULL) { static $ok; @@ -730,13 +730,12 @@ function charger_generer_url($prive=NULL) { // espace public else { if ($ok++) return; # fichier deja charge - // fichier inc-urls ? (old style) - if (@is_readable($f = _DIR_RACINE.'inc-urls.php3') - OR @is_readable($f = _DIR_RACINE.'inc-urls.php') - OR $f = find_in_path('inc-urls-'.$GLOBALS['type_urls'].'.php3')) - include_once($f); - else include_spip('urls/'.$GLOBALS['type_urls']); + if ($GLOBALS['type_urls'] == 'page' + AND $GLOBALS['meta']['type_urls']) + $GLOBALS['type_urls'] = $GLOBALS['meta']['type_urls']; + + include_spip('urls/'.$GLOBALS['type_urls']); } } diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php index 53b93c98ec654429ee8a0e572500fb635f1451c0..a703493ccbda9307ea2f49d520eb8d05a7c8094c 100644 --- a/ecrire/inc_version.php +++ b/ecrire/inc_version.php @@ -108,11 +108,12 @@ $filtrer_javascript = 0; // PS: dans les forums, petitions, flux syndiques... c'est *toujours* securise // Type d'URLs -// 'page': spip.php?article123 [c'est la valeur par defaut pour SPIP 1.9] +// 'page': spip.php?article123 [c'est la valeur par defaut pour SPIP 2.0] // 'html': article123.html -// 'propres': Titre-de-l-article <http://lab.spip.net/spikini/UrlsPropres> +// 'propres': Titre-de-l-article // 'propres2' : Titre-de-l-article.html (base sur 'propres') -$type_urls = 'page'; +// 'arbo' : /article/Titre +$type_urls = 'page'; // 'page' => surcharge possible par configuration #la premiere date dans le menu deroulant de date de publication # null: automatiquement (affiche les 8 dernieres annees) diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php index 898e8102c6f368f7df35dff3a2815fcaf81ebc7a..29d4e53ac8998bbb54a10277a9845adb3fa4fa7a 100644 --- a/ecrire/public/assembler.php +++ b/ecrire/public/assembler.php @@ -783,8 +783,11 @@ function xml_hack(&$page, $echap = false) { // http://doc.spip.org/@page_base_href function page_base_href(&$texte){ - if (defined('_SET_HTML_BASE') - AND _SET_HTML_BASE + if (!defined('_SET_HTML_BASE')) + define('_SET_HTML_BASE', + $GLOBALS['meta']['type_urls'] == 'arbo'); + + if (_SET_HTML_BASE AND $GLOBALS['html'] AND $GLOBALS['profondeur_url']>0){ list($head, $body) = explode('</head>', $texte, 1); diff --git a/ecrire/public/parametrer.php b/ecrire/public/parametrer.php index 1a879cea0ccf309e933fe0ab7dc683c91f49d98c..ee47db2dfdc3b14dcfc19b3552ebb5487eceeb0e 100644 --- a/ecrire/public/parametrer.php +++ b/ecrire/public/parametrer.php @@ -263,6 +263,9 @@ function public_parametrer_dist($fond, $local='', $cache='', $connect='') { // verifier que la fonction assembler est bien chargee (cf. #608) $assembler = charger_fonction('assembler', 'public'); // et toujours charger les fonctions de generation d'URL. + if ($GLOBALS['type_urls'] == 'page' + AND $GLOBALS['meta']['type_urls']) + $GLOBALS['type_urls'] = $GLOBALS['meta']['type_urls']; $renommer_urls= charger_fonction($GLOBALS['type_urls'], 'urls', true); // distinguer le premier appel des appels par inclusion if (!is_array($local)) {