- encoding (utf8)
- eof_ending (saut le ligne en fin de fichier)
- elseif (pas else if)
- function_call_space (espaces sur fonctions)
- function_declaration (pareil)
- function_typehint_space (pareil)
On peut forcer leur apparence en passant la classea "onglets_simple" ou "onglets_simple second",
mais on évitera cela, car les utilisateurs attendent d'un onglet une réactivité immédiate, et ne s'attendent pas à de la navigation par changement de page.
Pour cela on passe le md5 des menus en parametre de la css privee.
De plus, les menus sont definis dans un fichier fonctions chargé avant l'actualisation des plugins (les fichiers sont chargés par SAX dans tous les cas, donc pour lire le paquet.xml). On prévoit donc un define qui permet de les redéfinir en cours de hit, et qui est levé a l'actualisation. Il ne sert que dans ce hit la.
Distinguer l'etat selectionné et l'etat actif des plugins.
On peut selectionner un plugin qui n'est pas activé pour des raisons de dépendance.
Dans ce cas il reste tout de même dans la liste principale du premier panneau, avec une erreur (tant que ne le deselectionne pas).
Il suffit alors de selectionner en plus le plugin manquant pour que tous soient activés.
Pour ce faire, on stocke dans une meta les plugins qui avaient été selectionnés mais n'ont pas pu être activés, pour les représenter tels quels.
+ quelques amenagement de fonctions pour faciliter cela.
A noter qu'on modifie la signature des fonctions afficher_liste et afficher_plugin pour pouvoir leur passer un etat "selectionné" en plus de l'état "actif"
Je profite de cette écriture massive pour normaliser quelque chose de trompeur lorsqu'on compare deux versions, savoir l'usage de " ou ' dans le premier argument de define et defined. Comme les chaînes entre apostrophes sont plus rapidement analysées que celles entre guillemets, je choisis l'apostrophe.
Dépot obtenu avec le script Shell:
{{{
a=$(find . -name "*.php" |grep -v extensions/ | grep -v /config/ | grep -v index.php | grep -v public.php | grep -v prive.php )
echo -n "Fichiers: "
echo $a|wc -w
for i in $a
do
sed -f ~/Sites/spip/spip.sed $i > /tmp/f.php
if diff -q $i /tmp/f.php
then
:
else
diff $i /tmp/f.php
# echo $i; php /tmp/f.php
# mv /tmp/f.php $i
fi
done
}}}
et le script Sed:
{{{
s/Copyright (c) 2001-20../Copyright (c) 2001-2011/
s,\(if [(]!*\)*\(defined* *[(]\)"\([^"]*\)"\(.*\);[[:space:]]*[#/]*.*$,\1\2'\3'\4;,
}}}
On choisit donc de ne pas differencier par nommage contenu/accueil et contenu/article par exemple.
Cette distinction avait pour but la possibilite de d'avoir des blocs par defaut pour les pages-xx et d'autres pour les objets editoriaux, mais on peut faire autrement.
On conserve deux squelettes page.html et objet.html a la racine, meme si il font la meme chose en pratique.
Ce code est malheureusement trop spaghetti du fait qu'on n'a pas su choisir si les plugins etaient definis a partir de la racine ou de _DIR_PLUGINS -- a refaire