| @@ 286-349 (lines=64) @@ | ||
| 283 | } |
|
| 284 | } |
|
| 285 | ||
| 286 | function parse_docblock($element_dir, $filename) { |
|
| 287 | $params = array(); |
|
| 288 | $fullpath = $element_dir . '/' . $filename; |
|
| 289 | if(is_readable($fullpath)) { |
|
| 290 | $tpl = @fopen($fullpath, "r"); |
|
| 291 | if($tpl) { |
|
| 292 | $params['filename'] = $filename; |
|
| 293 | $docblock_start_found = false; |
|
| 294 | $name_found = false; |
|
| 295 | $description_found = false; |
|
| 296 | ||
| 297 | while(!feof($tpl)) { |
|
| 298 | $line = fgets($tpl); |
|
| 299 | if(!$docblock_start_found) { |
|
| 300 | // find docblock start |
|
| 301 | if(strpos($line, '/**') !== false) { |
|
| 302 | $docblock_start_found = true; |
|
| 303 | } |
|
| 304 | continue; |
|
| 305 | } elseif(!$name_found) { |
|
| 306 | // find name |
|
| 307 | $ma = null; |
|
| 308 | if(preg_match("/^\s+\*\s+(.+)/", $line, $ma)) { |
|
| 309 | $params['name'] = trim($ma[1]); |
|
| 310 | $name_found = !empty($params['name']); |
|
| 311 | } |
|
| 312 | continue; |
|
| 313 | } elseif(!$description_found) { |
|
| 314 | // find description |
|
| 315 | $ma = null; |
|
| 316 | if(preg_match("/^\s+\*\s+(.+)/", $line, $ma)) { |
|
| 317 | $params['description'] = trim($ma[1]); |
|
| 318 | $description_found = !empty($params['description']); |
|
| 319 | } |
|
| 320 | continue; |
|
| 321 | } else { |
|
| 322 | $ma = null; |
|
| 323 | if(preg_match("/^\s+\*\s+\@([^\s]+)\s+(.+)/", $line, $ma)) { |
|
| 324 | $param = trim($ma[1]); |
|
| 325 | $val = trim($ma[2]); |
|
| 326 | if(!empty($param) && !empty($val)) { |
|
| 327 | if($param == 'internal') { |
|
| 328 | $ma = null; |
|
| 329 | if(preg_match("/\@([^\s]+)\s+(.+)/", $val, $ma)) { |
|
| 330 | $param = trim($ma[1]); |
|
| 331 | $val = trim($ma[2]); |
|
| 332 | } |
|
| 333 | //if($val !== '0' && (empty($param) || empty($val))) { |
|
| 334 | if(empty($param)) { |
|
| 335 | continue; |
|
| 336 | } |
|
| 337 | } |
|
| 338 | $params[$param] = $val; |
|
| 339 | } |
|
| 340 | } elseif(preg_match("/^\s*\*\/\s*$/", $line)) { |
|
| 341 | break; |
|
| 342 | } |
|
| 343 | } |
|
| 344 | } |
|
| 345 | @fclose($tpl); |
|
| 346 | } |
|
| 347 | } |
|
| 348 | return $params; |
|
| 349 | } |
|
| 350 | ||
| @@ 839-902 (lines=64) @@ | ||
| 836 | } |
|
| 837 | } |
|
| 838 | ||
| 839 | function parse_docblock($element_dir, $filename) { |
|
| 840 | $params = array(); |
|
| 841 | $fullpath = $element_dir . '/' . $filename; |
|
| 842 | if(is_readable($fullpath)) { |
|
| 843 | $tpl = @fopen($fullpath, "r"); |
|
| 844 | if($tpl) { |
|
| 845 | $params['filename'] = $filename; |
|
| 846 | $docblock_start_found = false; |
|
| 847 | $name_found = false; |
|
| 848 | $description_found = false; |
|
| 849 | ||
| 850 | while(!feof($tpl)) { |
|
| 851 | $line = fgets($tpl); |
|
| 852 | if(!$docblock_start_found) { |
|
| 853 | // find docblock start |
|
| 854 | if(strpos($line, '/**') !== false) { |
|
| 855 | $docblock_start_found = true; |
|
| 856 | } |
|
| 857 | continue; |
|
| 858 | } elseif(!$name_found) { |
|
| 859 | // find name |
|
| 860 | $ma = null; |
|
| 861 | if(preg_match("/^\s+\*\s+(.+)/", $line, $ma)) { |
|
| 862 | $params['name'] = trim($ma[1]); |
|
| 863 | $name_found = !empty($params['name']); |
|
| 864 | } |
|
| 865 | continue; |
|
| 866 | } elseif(!$description_found) { |
|
| 867 | // find description |
|
| 868 | $ma = null; |
|
| 869 | if(preg_match("/^\s+\*\s+(.+)/", $line, $ma)) { |
|
| 870 | $params['description'] = trim($ma[1]); |
|
| 871 | $description_found = !empty($params['description']); |
|
| 872 | } |
|
| 873 | continue; |
|
| 874 | } else { |
|
| 875 | $ma = null; |
|
| 876 | if(preg_match("/^\s+\*\s+\@([^\s]+)\s+(.+)/", $line, $ma)) { |
|
| 877 | $param = trim($ma[1]); |
|
| 878 | $val = trim($ma[2]); |
|
| 879 | if(!empty($param) && !empty($val)) { |
|
| 880 | if($param == 'internal') { |
|
| 881 | $ma = null; |
|
| 882 | if(preg_match("/\@([^\s]+)\s+(.+)/", $val, $ma)) { |
|
| 883 | $param = trim($ma[1]); |
|
| 884 | $val = trim($ma[2]); |
|
| 885 | } |
|
| 886 | //if($val !== '0' && (empty($param) || empty($val))) { |
|
| 887 | if(empty($param)) { |
|
| 888 | continue; |
|
| 889 | } |
|
| 890 | } |
|
| 891 | $params[$param] = $val; |
|
| 892 | } |
|
| 893 | } elseif(preg_match("/^\s*\*\/\s*$/", $line)) { |
|
| 894 | break; |
|
| 895 | } |
|
| 896 | } |
|
| 897 | } |
|
| 898 | @fclose($tpl); |
|
| 899 | } |
|
| 900 | } |
|
| 901 | return $params; |
|
| 902 | } |
|
| 903 | ||
| 904 | ||
| 905 | include $path."sqlParser.class.php"; |
|