Code Duplication    Length = 37-39 lines in 3 locations

main/inc/lib/document.lib.php 3 locations

@@ 2221-2259 (lines=39) @@
2218
                                            //we didn't find any trace of current portal
2219
                                            $files_list[] = array($second_part, 'remote', 'url');
2220
                                        }
2221
                                    } elseif (strpos($second_part, '=') > 0) {
2222
                                        if (substr($second_part, 0, 1) === '/') {
2223
                                            //link starts with a /, making it absolute (relative to DocumentRoot)
2224
                                            $files_list[] = array($second_part, 'local', 'abs');
2225
                                            $in_files_list[] = self::get_resources_from_source_html($second_part, true, TOOL_DOCUMENT, $recursivity + 1);
2226
                                            if (count($in_files_list) > 0) {
2227
                                                $files_list = array_merge($files_list, $in_files_list);
2228
                                            }
2229
                                        } elseif (strstr($second_part, '..') === 0) {
2230
                                            //link is relative but going back in the hierarchy
2231
                                            $files_list[] = array($second_part, 'local', 'rel');
2232
                                            //$dir = api_get_path(SYS_CODE_PATH);//dirname($abs_path);
2233
                                            //$new_abs_path = realpath($dir.'/'.$second_part);
2234
                                            $dir = '';
2235
                                            if (!empty($abs_path)) {
2236
                                                $dir = dirname($abs_path) . '/';
2237
                                            }
2238
                                            $new_abs_path = realpath($dir . $second_part);
2239
                                            $in_files_list[] = self::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
2240
                                            if (count($in_files_list) > 0) {
2241
                                                $files_list = array_merge($files_list, $in_files_list);
2242
                                            }
2243
                                        } else {
2244
                                            //no starting '/', making it relative to current document's path
2245
                                            if (substr($second_part, 0, 2) == './') {
2246
                                                $second_part = substr($second_part, 2);
2247
                                            }
2248
                                            $files_list[] = array($second_part, 'local', 'rel');
2249
                                            $dir = '';
2250
                                            if (!empty($abs_path)) {
2251
                                                $dir = dirname($abs_path) . '/';
2252
                                            }
2253
                                            $new_abs_path = realpath($dir . $second_part);
2254
                                            $in_files_list[] = self::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
2255
                                            if (count($in_files_list) > 0) {
2256
                                                $files_list = array_merge($files_list, $in_files_list);
2257
                                            }
2258
                                        }
2259
                                    }
2260
                                    //leave that second part behind now
2261
                                    $source = substr($source, 0, strpos($source, '?'));
2262
                                    if (strpos($source, '://') > 0) {
@@ 2274-2310 (lines=37) @@
2271
                                            //we didn't find any trace of current portal
2272
                                            $files_list[] = array($source, 'remote', 'url');
2273
                                        }
2274
                                    } else {
2275
                                        //no protocol found, make link local
2276
                                        if (substr($source, 0, 1) === '/') {
2277
                                            //link starts with a /, making it absolute (relative to DocumentRoot)
2278
                                            $files_list[] = array($source, 'local', 'abs');
2279
                                            $in_files_list[] = self::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
2280
                                            if (count($in_files_list) > 0) {
2281
                                                $files_list = array_merge($files_list, $in_files_list);
2282
                                            }
2283
                                        } elseif (strstr($source, '..') === 0) { //link is relative but going back in the hierarchy
2284
                                            $files_list[] = array($source, 'local', 'rel');
2285
                                            $dir = '';
2286
                                            if (!empty($abs_path)) {
2287
                                                $dir = dirname($abs_path) . '/';
2288
                                            }
2289
                                            $new_abs_path = realpath($dir . $source);
2290
                                            $in_files_list[] = self::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
2291
                                            if (count($in_files_list) > 0) {
2292
                                                $files_list = array_merge($files_list, $in_files_list);
2293
                                            }
2294
                                        } else {
2295
                                            //no starting '/', making it relative to current document's path
2296
                                            if (substr($source, 0, 2) == './') {
2297
                                                $source = substr($source, 2);
2298
                                            }
2299
                                            $files_list[] = array($source, 'local', 'rel');
2300
                                            $dir = '';
2301
                                            if (!empty($abs_path)) {
2302
                                                $dir = dirname($abs_path) . '/';
2303
                                            }
2304
                                            $new_abs_path = realpath($dir . $source);
2305
                                            $in_files_list[] = self::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
2306
                                            if (count($in_files_list) > 0) {
2307
                                                $files_list = array_merge($files_list, $in_files_list);
2308
                                            }
2309
                                        }
2310
                                    }
2311
                                }
2312
                                //found some protocol there
2313
                                if (strpos($source, api_get_path(WEB_PATH)) !== false) {
@@ 2324-2361 (lines=38) @@
2321
                                    //we didn't find any trace of current portal
2322
                                    $files_list[] = array($source, 'remote', 'url');
2323
                                }
2324
                            } else {
2325
                                //no protocol found, make link local
2326
                                if (substr($source, 0, 1) === '/') {
2327
                                    //link starts with a /, making it absolute (relative to DocumentRoot)
2328
                                    $files_list[] = array($source, 'local', 'abs');
2329
                                    $in_files_list[] = self::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
2330
                                    if (count($in_files_list) > 0) {
2331
                                        $files_list = array_merge($files_list, $in_files_list);
2332
                                    }
2333
                                } elseif (strpos($source, '..') === 0) {
2334
                                    //link is relative but going back in the hierarchy
2335
                                    $files_list[] = array($source, 'local', 'rel');
2336
                                    $dir = '';
2337
                                    if (!empty($abs_path)) {
2338
                                        $dir = dirname($abs_path) . '/';
2339
                                    }
2340
                                    $new_abs_path = realpath($dir . $source);
2341
                                    $in_files_list[] = self::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
2342
                                    if (count($in_files_list) > 0) {
2343
                                        $files_list = array_merge($files_list, $in_files_list);
2344
                                    }
2345
                                } else {
2346
                                    //no starting '/', making it relative to current document's path
2347
                                    if (substr($source, 0, 2) == './') {
2348
                                        $source = substr($source, 2);
2349
                                    }
2350
                                    $files_list[] = array($source, 'local', 'rel');
2351
                                    $dir = '';
2352
                                    if (!empty($abs_path)) {
2353
                                        $dir = dirname($abs_path) . '/';
2354
                                    }
2355
                                    $new_abs_path = realpath($dir . $source);
2356
                                    $in_files_list[] = self::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
2357
                                    if (count($in_files_list) > 0) {
2358
                                        $files_list = array_merge($files_list, $in_files_list);
2359
                                    }
2360
                                }
2361
                            }
2362
                        }
2363
                    }
2364
                }