* @version $Id$
* @license http://opensource.org/licenses/gpl-2.0.php GNU GPL 2
*/
die('Pour pouvoir utiliser ce fichier veuillez decommenter cette ligne. Ce fichier est une faille potentielle de securite, ne l\'utilisez qu\'en local, ou si vous etes certain de ce que vous faites');
/**
* Ce fichier affiche la liste des fonctions dans le dossier ~/main/fcts/
*
*/
foreach (array('../main/fcts/', '../main/class/') AS $dir)
{
$fd = opendir($dir);
while ($file = readdir($fd))
{
if ($file[0] != '.' && preg_match('#\.php([0-5])?$#i', $file) && is_readable($dir . $file) && $file != 'class_mail.php' && $file != 'class_smtp.php')
{
echo '
' . $dir . $file . '
';
// Contenu du fichier
$content = file_get_contents($dir . $file);
// On supprime le header du fichier
$content = preg_replace('#/\*\s*\*\* \+-{51}\+(.*?)\*\* \+-{51}\+\s*\*/#si', '', $content);
// On parse les fonctions
echo '';
preg_match_all('#(/\*(.*?)\*/)\s*class\s+([_a-zA-Z0-9]*?\s*)?\s+{#si', $content, $match);
$count = count($match[0]);
for ($i = 0; $i < $count; $i++)
{
// On parse le commentaire de la fonction
$content = str_replace($match[0][$i], '', $content);
$comment = str_replace("**", "", trim($match[2][$i]));
echo '- class ' . $match[3][$i] . '
';
echo '' . nl2br($comment) . '
';
echo ' ';
}
preg_match_all('#(/\*(.*?)\*/)\s*function ([_a-zA-Z0-9]*?\s*\([^)]*\))?#si', $content, $match);
$count = count($match[0]);
for ($i = 0; $i < $count; $i++)
{
// On parse le commentaire de la fonction
$comment = explode('-----', str_replace('** ', '', trim($match[2][$i])));
$comment = array_map('trim', $comment);
echo '- ' . preg_replace('#([_a-zA-Z0-9]*?)\(#i', 'function \\1(', $match[3][$i], 1) . '
';
echo '' . $comment[0] . '
';
echo ' ';
}
echo '
';
}
}
}
?>