fonction dans mes_fonctions.php3 - pas trouvee

Une fonction dans mes_fonctions que j'appelle au début de squelette marche
très bien la première fois qu'on appelle la page (et chaque fois que je
reclique sur "recalculer cette page")

Mais une fois la page dans le cache, je reçois ce message d'erreur:

Fatal error: Call to undefined function: getcharcode() in
/home/www/4df32ec69c3dce78c24a4234b8b727a3/web/spip/CACHE/1/spip-iconv-1.b4a
8cc on line 5

Est-ce que quelqu'un sait pourquoi ce problème ?

- - - -
Le début de squelette est :

<BOUCLE_article_principal(ARTICLES) {id_article}>
<?php
  $charcode = getcharcode($GLOBALS['spip_lang']);
  header("content-type: text/html;charset=".$charcode."\r\n");
?>
<html>
...
- - - -

merci! Paolo

Une fonction dans mes_fonctions que j'appelle au début de squelette marche
très bien la première fois qu'on appelle la page (et chaque fois que je
reclique sur "recalculer cette page")

Oui, mes_fonctions.php3 n'est appelée que lors des recalculs ; tu peux
l'appeler depuis le squelette en ajoutant au début
<?php
        include_local('mes_fonctions.php3');
?>

-- Fil

Le Mon 19/04/2004 à 11:42, Fil a écrit :

Oui, mes_fonctions.php3 n'est appelée que lors des recalculs ; tu peux
l'appeler depuis le squelette en ajoutant au début
<?php
        include_local('mes_fonctions.php3');
?>

  Si mes souvenirs sont bons, dans ce cas, il faut mettre un mécanisme
if(defined(..)) return; else define(..) sinon, lors d'un recalcul on a
un "already defined" sur les fonctions

À+, Pif.

Fil disait :

Oui, mes_fonctions.php3 n'est appelée que lors des recalculs ; tu peux
l'appeler depuis le squelette en ajoutant au début
<?php
        include_local('mes_fonctions.php3');
?>

OK, merci ; et puis c'est une histoire du même genre pour
$GLOBALS['spip_lang'] ...
Enfin, j'ai le code ci-dessous, et cela marche bien !

<BOUCLE_article_principal(ARTICLES) {id_article}>
<?php
  include_local('mes_fonctions.php3');
  $charcode = getcharcode("#LANG");
  header("content-type: text/html;charset=".$charcode."\r\n");
?>
<html>

Avec ça je crois que je vais abandonner cette incursion en PHP, où je me
trouve assez désorienté, pour retourner sur la liste spip-trad :slight_smile:

Paolo

Fil wrote:

Une fonction dans mes_fonctions que j'appelle au début de squelette marche
très bien la première fois qu'on appelle la page (et chaque fois que je
reclique sur "recalculer cette page")

ou sinon, si je ne m'abuse, la définir dans ecrire/mes_options.php3
qui est toujours appelé ...
JLuc

>>Une fonction dans mes_fonctions que j'appelle au début de squelette marche
>>très bien la première fois qu'on appelle la page (et chaque fois que je
>>reclique sur "recalculer cette page")

ou sinon, si je ne m'abuse, la définir dans ecrire/mes_options.php3
qui est toujours appelé ...

Euh, non, non, il ne faut pas faire ça (même si ça marche, je te le
concède), car c'est conceptuellement très différent ; il vaut mieux appeler
mes_fonctions.php3 depuis le squelette, au moins on sait ce qu'on fait.

-- Fil

Fil wrote:

ou sinon, si je ne m'abuse, la définir dans ecrire/mes_options.php3
qui est toujours appelé ...

Euh, non, non, il ne faut pas faire ça (même si ça marche, je te le
concède), car c'est conceptuellement très différent ; il vaut mieux appeler
mes_fonctions.php3 depuis le squelette, au moins on sait ce qu'on fait.

Ok.
Quelqu'un (je sais plus qui/où) avait défini un mes_fonctions_cache
spécialement pour inclure ainsi, à la fois dans mes_fonctions
et dans le squelette (histoire de pas surcharger inutilement).
JLuc