SPIP 1.9 - Que fait SPIP pour servir une page de la partie privée ? - commentairesSPIP 1.9 - Que fait SPIP pour servir une page de la partie privée<small class="fine d-inline"> </small>?2006-09-11T17:51:32Zhttps://files.spip.net/SPIP-1-9-Que-fait-SPIP-pour-servir#comment3875112006-09-11T17:51:32Z<p>pour les feignants : une petite bidouille pour ne pas avoir à déterminer quels sont les fichiers de /ecrire/exec/ à intégrer (et diminuer le nombre d'include inutiles),</p>
<div class="precode"><pre class="spip_code spip_code_block" dir="ltr" style="text-align:left;"><code>// inclure uniquement le fichier exec dont a besoin $exec = _request('exec'); if (in_array($exec,array('truc_1','truc_2','truc_3'))) { include('exec/'.$exec.'.php'); }</code></pre></div>
<p>il suffit donc de faire la liste de tous les fichiers (articles.php, articles_edit.php, rubriques.php...) qui seront modifiés dans le array() : seul celui qui est en cours d'affichage sera chargé.</p>SPIP 1.9 - Que fait SPIP pour servir une page de la partie privée<small class="fine d-inline"> </small>?2006-09-11T16:44:36Zhttps://files.spip.net/SPIP-1-9-Que-fait-SPIP-pour-servir#comment3874992006-09-11T16:44:36Z<p>Un petit addendum qui évitera l'arrachage des cheveux des codeurs de plugins modifiant l'espace privé...</p>
<p>Dans le début de la partie « <strong>Comment cela marche-t-il en pratique<small class="fine d-inline"> </small>?</strong> », il est dit :</p>
<blockquote class="spip">
<p>
Include_fonction('truc') C'est la première fonction appelée pour gérer cette demande. C'est elle qui regroupe toutes les actions pour savoir quelle fonction exécuter, quel fichier charger pour assurer l'action 'truc'</p>
<p>* regarde si la fonction exec_truc est déjà définie</p>
</blockquote>
<p>ce qui offre effectivement la possibilité de redéfinir la fonction exec_truc() dans un plugin (sans avoir à copier tout le fichier /exec/truc.php dans le plugin, donc allège considérablement la maintenance du plugin lors des mises à jour de spip).</p>
<p>Mais, pour que cette solution fonctionne il est <strong>OBLIGATOIRE</strong> de <strong>faire un include préalable du fichier truc.php original</strong> (/ecrire/exec/truc.php) afin de disposer de l'ensemble des fonctions nécessaires pour le bon fonctionnement de truc.php.</p>
<p>Néanmoins cet include <strong>NE peut PAS être fait en utilisant la fonction include_spip()</strong> puisque (je cite ESJ qui m'a très efficacement et rapidement dépanné) :</p>
<p>«<small class="fine d-inline"> </small>Ce fichier ne peut etre inclus par « include_spip », car celui-ci va repartir de find_in_path, trouver d'abord celui qu'il vient déjà de charger, et donc croire qu'il n'a rien à faire<small class="fine d-inline"> </small>».</p>
<p>Il FAUT donc faire cette inclusion en utilisant la fonction <strong>include()</strong> de php, ce qui donne dans cet exemple :</p>
<p><strong>include('exec/truc.php')<small class="fine d-inline"> </small>;</strong></p>
<p>Merci ESJ<small class="fine d-inline"> </small>!</p>SPIP 1.9 - Que fait SPIP pour servir une page de la partie privée<small class="fine d-inline"> </small>?2006-09-11T16:09:35Zhttps://files.spip.net/SPIP-1-9-Que-fait-SPIP-pour-servir#comment3874982006-09-11T16:09:35Z<p>Avant de chercher à la racine du site, juste après les squellettes, find_in_path regarde s'il ne le trouve pas dans les différents dossiers plugins actifs, non<small class="fine d-inline"> </small>?</p>SPIP 1.9 - Que fait SPIP pour servir une page de la partie privée<small class="fine d-inline"> </small>?2006-03-28T15:56:08Zhttps://files.spip.net/SPIP-1-9-Que-fait-SPIP-pour-servir#comment3857962006-03-28T15:56:08Z<p>C'est bien mais ca ne fait pas un peu beaucoup de « truc » pour un concept somme toutes assez délicat à comprendre<small class="fine d-inline"> </small>?</p>
<p><i>Oui bon d'accord, il y avait marqué « confirmé », je sais :clindoeil </i></p>