Non interpreta il codice PHP

3 contenuti / 0 new
Ultimo contenuto
Non interpreta il codice PHP

Ciao a tutti,
sono nuovo del forum. Vi scrivo perché in azienda ho avuto l'ownership di un sito con Drupal 6 già installato e configurato.
sto cercando adesso di inserire delle stringhe di PHP all'interno del body di alcuni nodi.
Ho abilitato il modulo PHP Filter, ho assegnato i permessi di inserimento di codice php agli utenti admin, ho contrassegnato quel contenuto come PHP Code.
Le ho provate tutte, non c'è verso di far interpretare il php aggiunto nei nodi a Drupal.
Quando apro un contenuto in modifica, inserisco la stringa (ovviamente disabilitando il rich text mode)

<?php
 
echo "Sa Sa 123 prova Sa Sa";
?>
, assegno il tipo di contenuto PHP e salvo, nel momento in cui vado a vedere quella pagina, dove dovrebbe esserci la scritta Sa Sa 123 prova Sa Sa, non c'è nulla. Vado a vedere con Ctrl+U la sorgente e mi trovo in rosso
<?php
 
echo "Sa Sa 123 prova Sa Sa";
?>
. Ne desumo che Drupal non si sia filato di pezza la mia stringa.
Potreste darmi una mano, per favore?
Grazie anticipatamente.

Drupal Version:

Mah la butto li ... prova a non disattivare il rich text mode . Io quando inserisco php seleziono solamente il filtro PHP e basta. Così facendo non ho mai avuto un problema.

RISOLTO

Alla fine, dopo N bestemmie, ho fatto da me.

ho aggiunto nel core una funzione

<?php
function evalPHPCode($stringa)
{
       
$pattern = '#<\?php(.*?)\?>
#';
preg_match_all($pattern, $stringa, $matches);
if(sizeof($matches[1])>0)
{
$replace = '"; \\1 echo "';
$stringa = 'echo "'.preg_replace($pattern, $replace, $stringa).'";';
eval($stringa);
}
else
{
echo $stringa;
}
}
}
?>

Va messa nella node-page.tpl.php al posto di print $node->body; in questo modo (altrimenti valorizza il codice PHP anche quando non è in modalità PHP Filter):

<?php
   
if($node->format==3)
    {
      
evalPHPCode($node->body);
    }
    else
    {
        print
$node->body;
    }
?>

Spero vi sia utile.

Keep calm and squirt!