* * -------------------------------------------- * * This program is free software; you can redistribute it and/or modify it * * under the terms of the GNU General Public License as published by the * * Free Software Foundation; either version 2 of the License, or (at your * * option) any later version. * \**************************************************************************/ /* $Id$ */ $types = array('abstract','param','example','syntax','result','description','discussion','author','copyright','package','access'); if($app) { if (!preg_match("/^[a-zA-Z0-9-_]+$/i",$app)) { echo 'Invalid application
'; exit; } } else { $app = 'phpgwapi'; } if ($fn) { if (preg_match("/^class\.([a-zA-Z0-9-_]*)\.inc\.php+$/",$fn)) { $files[] = $fn; } else { echo 'No valid file selected'; exit; } } else { $d = dir('../'.$app.'/inc/'); while ($x = $d->read()) { if (ereg('class',$x) && !ereg('#',$x) && ereg('php',$x)) { $files[] = $x; } } $d->close; reset($files); while(list($key, $value) = each($files)) { if (!preg_match("/^class\.([a-zA-Z0-9-_]*)\.inc\.php+$/",$value)) { unset($files[$key]); } } reset($files); } while (list($p,$fn) = each($files)) { $matches = $elements = $data = array(); $string = $t = $out = $class = $xkey = $new = ''; $file = '../'.$app.'/inc/' . $fn; echo '
Looking at: ' . $file . "\n"; $f = fopen($file,'r'); while (!feof($f)) { $string .= fgets($f,8000); } fclose($f); preg_match_all("#\*\!(.*)\*/#sUi",$string,$matches,PREG_SET_ORDER); while (list($key,$val) = each($matches)) { preg_match_all("#@(.*)$#sUi",$val[1],$data); $new = explode("@",$data[1][0]); while (list($x,$y) = each($new)) { $t = trim($new[0]); if(!$key) { $class = $t; } $t = trim(ereg_replace('function','',$t)); reset($types); while(list($z,$type) = each($types)) { if(ereg($type,$y)) { $xkey = $type; $out = $y; $out = ereg_replace($type,'',$out); break; } else { $xkey = 'unknown'; $out = $y; } } if($out != $new[0]) { $elements[$class][$t][$xkey][] = $out; } } } echo '
';
        print_r($elements);
//        var_dump($elements);
        echo '
' . "\n"; } ?>