Code Duplication    Length = 37-39 lines in 3 locations

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

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