/*****************************************************************************/
/** Cette fonction permet de lancer un script PHP dans un article
/**
/** La syntaxe est la suivante :
/** #INCLURE ( nom_fichier )
/**
/** Auteur : F. Quointeau
/** Version : 0.0.2
/** Date : 16 Mai 2004
/*****************************************************************************/
function autoriser_php( $texte) {
// Dossier où sont stockés les scripts
$dossier_inclus = './';
// Liste des scripts autorisés
$scripts_autorises = Array(
'mon_premier_script.php3',
'mon_second_script.php3'
);
// Les fichiers inclus autorises sont : *.php, *.php3, *.php4, *.phtml, *.htm, *.html, *.inc
$chaine_recherche = '/#INCLU[R|D]E( *)\(( *)([^\)]*\.(php|php3|php4|phtml|htm|html|inc))( *)\)/i';
// Recherche la chaine #INCLUDE(script)
while( preg_match( $chaine_recherche, $texte, $resultats)) {
// Verifie le droit d'inclure ce fichier script !
$autorise = false;
reset( $scripts_autorises);
while( $script = each( $scripts_autorises)) {
if( strcasecmp( $script[value], $resultats[3]) == 0) $autorise = true;
}
if( $autorise == true) {
// Verifie que le fichier existe
if( file_exists ( $dossier_inclus . $resultats[3])) {
// Vide le buffer de sortie
$affichage_php = '';
// Et lance le fichier inclu !!!
include( $dossier_inclus . $resultats[3]);
} else {
$affichage_php = "#INCLURE: Le fichier de script n'existe pas !";
}
} else {
$affichage_php = "#INCLURE: Script NON autorisé !";
}
// Attention, n'effectue qu'un seul remplacement à la fois !
$texte = preg_replace( $chaine_recherche, $affichage_php, $texte, 1);
}
return( $texte);
}