Code Duplication    Length = 64-64 lines in 2 locations

install/cli-install.php 1 location

@@ 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";

install/setup.info.php 1 location

@@ 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