/*****************************************************************************/ /** 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); }