
Recherche avancée
Autres articles (39)
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;
Sur d’autres sites (4190)
-
Revision 99981 : Sur Opera 40 sous Windows 10, ça provoquait un « Uncaught ReferenceError : ...
20 octobre 2016, par real3t@… — LogSur Opera 40 sous Windows 10, ça provoquait un « Uncaught ReferenceError ? : tableau_sites is not defined » qui rendait les boutons calculer inutiles.
-
Revision 99981 : Sur Opera 40 sous Windows 10, ça provoquait un « Uncaught ReferenceError : ...
20 octobre 2016, par real3t@… — LogSur Opera 40 sous Windows 10, ça provoquait un « Uncaught ReferenceError ? : tableau_sites is not defined » qui rendait les boutons calculer inutiles.
-
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 ?