Pour les navigateurs modernes, layout à base de grille CSS en 2 ou 3 colonnes selon les écrans.
Breakpoints a 720px/960px/1200px avec variations de font-size sur ces breakpoints
Pour les vieux navigateurs, c'est toujours 3 colonnes en float, à l'ancienne.
Suppression de l'option écran étroit/large qui n'a plus d'intérêt.
- 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 utilise oui/non pour clarifier et on autorise uniquement sur oui.
Par contre, lors du premier affichage de l'icone qui se produit uniquement en changeant de page, seul le fond apparait sans l'icone lui-même. Il faut rafraichir l'affichage pour voir l'icone apparaitre.
Ce menu n'est pas visible par défaut.
Il n'est affiché que si l'utilisateur le demande explicitement (préférence utilisateur).
Il faut donc utiliser ce menu pour les plugins de ce type.
- cacher la colonne extra quand on repasse de 3 a 2 colonnes car sinon elle fait sauter le contenu (layout non flexible sans re-ecrire le html)
- utiliser une boucle POUR sur les couleurs proposees
- afficher la palette des 5 déclinaisons pour chaque couleur proposée
on renomme de façon cohérente pour tous les objets
xxx_inserer
xxx_modifier
xxx_instituer
Les points d'entrée de l'API sont donc
action_editer_xxx pour le traitement global d'un post
xxx_inserer et xxx_modifier pour les operations elementaires
xxx_instituer n'est pas un point d'entree et ne devrait pas etre appelee en direct : il faut passer par xxx_modifier.
Le fichier inc/modifier contenait de façon centralisee des fonctions
revision_xxx pour les objets historiques de SPIP (essentiellement utilisées par les crayons)
Cette construction centralisée n'est pas facilement extensible. On evacue donc chaque fonction dans le action/edtier_xxx de l'objet concerné, et on propose en remplacement un point d'entrée unique
revision_objet($objet,$id,$c)
qui va dispatcher vers la fonction xxx_modifier de l'objet, ou a defaut la fonction generique objet_modifier de
action/editer_objet. Les fonctions revision_xxx sont par ailleurs dépréciées.
Les anciennes fonctions insert&set sont toujours definies et renvoie vers la fonction a nommage conventionnel, pour eviter trop de rupture de compatibilité
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;,
}}}
http://zone.spip.org/trac/spip-zone/browser/_core_/plugins/bandeau?rev=29095
dans le core pour permettre de fixer l'ossature de la navigation et que les plugins s'y raccrochent
Integration de la skins/spip.
Les skins passent dans prive/ pour l'occasion
La navigation est definie dans prive/navigation.xml