résulu dix minutes aprés l'envoi d'un mail desesperé ! c'est rageant ...
cfg ne chargerai-il pas deux fois de suite les fonds des plugins ?
une premiere fois sans prise en charge de l'affichage.
et une seconde fois avec la prise en charge de l'affichage.
le tout en conservant les variables passée dans l'url ?
cela expliquerai le mystere auquel j'était confronté ...
ci-dessous l'appel fonctionnel aux fonctions du plugins dans un fonds cfg
placé dans des balises <?php du fichier HTML
include_spip ('inc/indy_actions');
$action = $_GET['action'];
$retour = $_GET['retour'];
switch ($action) {
case 'regenereTout' :
$_GET['action'] = null;
$_GET['retour'] = indy_regenereTout();
break;
case 'ajouterLiens' :
$_GET['action'] = null;
$_GET['retour'] = indy_ajouterLien();
break;
case 'viderPlayList' :
$_GET['action'] = null;
$_GET['retour'] = indy_viderPlayList();
break;
default :
$_GET['action'] = null;
echo '<fieldset>';
echo $_GET['retour'];
echo '</fieldset>';
}
et l'appel a ces fonctions via des liens dans le fonds cfg :
<p><a href="?exec=cfg&cfg=indy&action=regenereTout">Ajouter les documents mp3
présent sur le serveur</a></p>
<p><a href="?exec=cfg&cfg=indy&action=ajouterLiens">Ajouter a la playlist les
liens présent dans les articles vers des fichiers mp3</a></p>
<p><a href="?exec=cfg&cfg=indy&action=viderPlayList">Vide la playlist</a></p>
Le Sunday 09 March 2008 16:36:23 edd, vous avez écrit :
J'ai un *gros* probleme vis a vis du php ....
voici une fonction appelé depuis un fond cfg d'un plugin.
le repertoire en question est bein sur accecible en ecriture.
function indy_viderPlayList() {
clearstatcache();
$playlist = _DIR_PLUGIN_INDY."playlist/playlist.txt";
if (file_exists($playlist)) {
unlink($playlist);
return "Le fichier $playlist a ete efface";
}
else {
return "Le fichier $playlist n'existe pas";
}
}
voici l'appel de la fonction :
echo indy_viderPlayList();
et voici le resultat :
si le fichier existe dans le systeme de fichier, celui ci est effacé
(normal) MAIS la fonction renvoie "Le fichier $playlist n'existe pas" (ce
qui n'est pas du tout normal ?!?)
Ce même probleme apparait dans d'autres fonctions.
quelqu'un connaitrai t-il une raison pour qu'un test conditionnel aussi
simple se plante et execute la premiere ligne d'instruction avant de sauter
dans le "else" ???
Je n'ose vous dire que je viens de passer tout mon après-midi a vérifier
cette fonction ...
Si je m'ammuse à commenter le "unlink", la bonne ligne "return" est
executé. _______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone