Code Duplication    Length = 64-64 lines in 2 locations

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

install/cli-install.php 1 location

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