
Recherche avancée
Autres articles (105)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (11017)
-
Include zlib.h when necessary.
8 janvier 2013, par Tim TerriberryInclude zlib.h when necessary.
Newer versions of png.h don't include it for us.
This is only needed when compiling with OC_DUMP_IMAGES (i.e., for
debugging).git-svn-id : http://svn.xiph.org/trunk/theora@18760 0101bb08-14d6-0310-b084-bc0e0c8e3800
-
Happy Ada Lovelace Day to Women in Multimedia R&D
24 mars 2010, par silviaIn my field of interest, namely Multimedia, there are not many women active in research and technology development. The more reasons to expose them and point to their great achievements. In my time as a young researcher at the University of Mannheim, I met Prof Wendy Hall of the University of (...)
-
Evolution #3899 (Nouveau) : Comportement des inclusions avec le paramètre connect.
10 février 2017Il y a un comportement contre-intuitif dans un cas d’usage des inclusions et du paramètre connect, ce qu’à révélé une petite analyse dans #3823.
J’en fais un ticket dédié car c’est un problème distinct de ce qui est soulevé là bas.Fonctionnement actuel¶
Le paramètre d’URL
connect
¶Le paramètre
connect=truc
dans une URL d’un site SPIP permet d’indiquer à SPIP qu’il doit utilise le connecteur SQL ’truc’ dans les squelettes et les boucles utilisés,
et donc utiliserconfig/truc.php
en lieu et place deconfig/connect.php
. À différents endroits du compilateur, ce paramètre est séparé du contexte d’environnement
du squelette, notamment dans les boucles où il atterrit dans$boucles[$idb]->sql_serveur
et sera utilisé pour les requêtes SQL générées.Inclusions en indiquant un connect spécifique¶
Une autre manière d’indiquer que les squelettes / boucles utilisent un connecteur spécifique est de transmettre l’environnement
connect=truc
aux inclusions, de la sorte :#INCLUREfond=test, connect=truc
Cette option d’inclusion est prise en compte dans
recuperer_fond()
.Inclusion
connect=truc
et paramètre d’urlconnect=bidule
¶Lorsqu’on a à la fois dans l’URL
&connect=bidule
, et une inclusion qui indique un connect spécifique tel que#INCLURE{fond=test, connect=truc}
alors d’inclusion actuellement est chargée avec le paramètre d’URL, c’est à dire en utilisantconnect=bidule
.
C’est cela qui est assez contre-intuitif et logiquement non désiré (le connect forcé ici devrait prendre le pas sur celui d’environnement).Comment améliorer ?¶
Où cela se passe dans le code ?¶
Ce qui se passe lorsqu’il y a cette écriture est, comme expliqué, que le connect dans l’URL reste prioritaire sur celui de l’argument transmis à
#INCLURE
ou<inclure></inclure>
.- Pour #INCLURE ça se passe dans balise_INCLURE_dist() là https://core.spip.net/projects/spip/repository/entry/spip/ecrire/public/balises.php#L1995
- Pour
là ça se passe dans calculer_inclure() là https://core.spip.net/projects/spip/repository/entry/spip/ecrire/public/compiler.php#L169
Solutions ?¶
À ces 2 endroits, il faudrait du coup prendre en compte en priorité le
$contexte['connect']
si existant- soit dans les 2 appels à la constante
CODE_RECUPERER_FOND
plutôt que d’écrire directement_request('connect')
, mais c’est un peu compliqué car c’est du code compilé - soit directement dans
recuperer_fond()
, plus facile, inverser l’ordre :
if (isset($contexte[’connect’])) $connect = ($connect ? $connect : $contexte[’connect’]) ; unset($contexte[’connect’]) ;
deviendrait :if (isset($contexte[’connect’])) $connect = $contexte[’connect’] ; unset($contexte[’connect’]) ;
Cette dernière correction serait la plus simple et la plus facile. Ça permettrait même d’annuler un connect superieur dans une inclusion
en passant{connect=''}
.Des avis ?