| @@ 823-886 (lines=64) @@ | ||
| 820 | } |
|
| 821 | } |
|
| 822 | ||
| 823 | function parse_docblock($element_dir, $filename) { |
|
| 824 | $params = array(); |
|
| 825 | $fullpath = $element_dir . '/' . $filename; |
|
| 826 | if(is_readable($fullpath)) { |
|
| 827 | $tpl = @fopen($fullpath, "r"); |
|
| 828 | if($tpl) { |
|
| 829 | $params['filename'] = $filename; |
|
| 830 | $docblock_start_found = false; |
|
| 831 | $name_found = false; |
|
| 832 | $description_found = false; |
|
| 833 | ||
| 834 | while(!feof($tpl)) { |
|
| 835 | $line = fgets($tpl); |
|
| 836 | if(!$docblock_start_found) { |
|
| 837 | // find docblock start |
|
| 838 | if(strpos($line, '/**') !== false) { |
|
| 839 | $docblock_start_found = true; |
|
| 840 | } |
|
| 841 | continue; |
|
| 842 | } elseif(!$name_found) { |
|
| 843 | // find name |
|
| 844 | $ma = null; |
|
| 845 | if(preg_match("/^\s+\*\s+(.+)/", $line, $ma)) { |
|
| 846 | $params['name'] = trim($ma[1]); |
|
| 847 | $name_found = !empty($params['name']); |
|
| 848 | } |
|
| 849 | continue; |
|
| 850 | } elseif(!$description_found) { |
|
| 851 | // find description |
|
| 852 | $ma = null; |
|
| 853 | if(preg_match("/^\s+\*\s+(.+)/", $line, $ma)) { |
|
| 854 | $params['description'] = trim($ma[1]); |
|
| 855 | $description_found = !empty($params['description']); |
|
| 856 | } |
|
| 857 | continue; |
|
| 858 | } else { |
|
| 859 | $ma = null; |
|
| 860 | if(preg_match("/^\s+\*\s+\@([^\s]+)\s+(.+)/", $line, $ma)) { |
|
| 861 | $param = trim($ma[1]); |
|
| 862 | $val = trim($ma[2]); |
|
| 863 | if(!empty($param) && !empty($val)) { |
|
| 864 | if($param == 'internal') { |
|
| 865 | $ma = null; |
|
| 866 | if(preg_match("/\@([^\s]+)\s+(.+)/", $val, $ma)) { |
|
| 867 | $param = trim($ma[1]); |
|
| 868 | $val = trim($ma[2]); |
|
| 869 | } |
|
| 870 | //if($val !== '0' && (empty($param) || empty($val))) { |
|
| 871 | if(empty($param)) { |
|
| 872 | continue; |
|
| 873 | } |
|
| 874 | } |
|
| 875 | $params[$param] = $val; |
|
| 876 | } |
|
| 877 | } elseif(preg_match("/^\s*\*\/\s*$/", $line)) { |
|
| 878 | break; |
|
| 879 | } |
|
| 880 | } |
|
| 881 | } |
|
| 882 | @fclose($tpl); |
|
| 883 | } |
|
| 884 | } |
|
| 885 | return $params; |
|
| 886 | } |
|
| 887 | ||
| 888 | ||
| 889 | include "{$setupPath}/sqlParser.class.php"; |
|
| @@ 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 | ||