|
@@ -1360,7 +1360,7 @@ class DocumentManager {
|
|
|
function get_resources_from_source_html($source_html, $is_file = false, $type = null, $recursivity = 1) {
|
|
|
$max = 5;
|
|
|
$attributes = array();
|
|
|
- $wanted_attributes = array('src', 'url', '@import', 'href', 'value');
|
|
|
+ $wanted_attributes = array('src', 'url', '@import', 'href', 'value', 'flashvars');
|
|
|
$abs_path = '';
|
|
|
|
|
|
if ($recursivity > $max) {
|
|
@@ -1373,6 +1373,7 @@ class DocumentManager {
|
|
|
|
|
|
if (!$is_file) {
|
|
|
$attributes = DocumentManager::parse_HTML_attributes($source_html, $wanted_attributes);
|
|
|
+
|
|
|
} else {
|
|
|
if (is_file($source_html)) {
|
|
|
$abs_path = $source_html;
|
|
@@ -1383,11 +1384,13 @@ class DocumentManager {
|
|
|
case 'html' :
|
|
|
case 'htm' :
|
|
|
case 'shtml':
|
|
|
- case 'css' : $file_content = file_get_contents($abs_path);
|
|
|
- //get an array of attributes from the HTML source
|
|
|
- $attributes = DocumentManager::parse_HTML_attributes($file_content, $wanted_attributes);
|
|
|
- break;
|
|
|
- default : break;
|
|
|
+ case 'css' :
|
|
|
+ $file_content = file_get_contents($abs_path);
|
|
|
+ //get an array of attributes from the HTML source
|
|
|
+ $attributes = DocumentManager::parse_HTML_attributes($file_content, $wanted_attributes);
|
|
|
+ break;
|
|
|
+ default :
|
|
|
+ break;
|
|
|
}
|
|
|
} else {
|
|
|
return false;
|
|
@@ -1398,209 +1401,209 @@ class DocumentManager {
|
|
|
case TOOL_DOCUMENT :
|
|
|
case TOOL_QUIZ:
|
|
|
case 'sco':
|
|
|
- foreach ($wanted_attributes as $attr) {
|
|
|
- if (isset($attributes[$attr])) {
|
|
|
- //find which kind of path these are (local or remote)
|
|
|
- $sources = $attributes[$attr];
|
|
|
- foreach ($sources as $source) {
|
|
|
- //skip what is obviously not a resource
|
|
|
- if (strpos($source, '+this.')) continue; //javascript code - will still work unaltered
|
|
|
- if (strpos($source, '.') === false) continue; //no dot, should not be an external file anyway
|
|
|
- if (strpos($source, 'mailto:')) continue; //mailto link
|
|
|
- if (strpos($source, ';') && !strpos($source, '&')) continue; //avoid code - that should help
|
|
|
-
|
|
|
- if ($attr == 'value') {
|
|
|
- if (strpos($source , 'mp3file')) {
|
|
|
- $files_list[] = array(substr($source, 0, strpos($source, '.swf') + 4), 'local', 'abs');
|
|
|
- $mp3file = substr($source , strpos($source, 'mp3file=') + 8);
|
|
|
- if (substr($mp3file, 0, 1) == '/') {
|
|
|
- $files_list[] = array($mp3file, 'local', 'abs');
|
|
|
- } else {
|
|
|
- $files_list[] = array($mp3file, 'local', 'rel');
|
|
|
- }
|
|
|
- } elseif (strpos($source, 'flv=') === 0) {
|
|
|
- $source = substr($source, 4);
|
|
|
- if (strpos($source, '&') > 0) {
|
|
|
- $source = substr($source, 0, strpos($source, '&'));
|
|
|
- }
|
|
|
- if (strpos($source,'://') > 0) {
|
|
|
- if (strpos($source, api_get_path(WEB_PATH)) !== false) {
|
|
|
- //we found the current portal url
|
|
|
- $files_list[] = array($source, 'local', 'url');
|
|
|
- } else {
|
|
|
- //we didn't find any trace of current portal
|
|
|
- $files_list[] = array($source, 'remote', 'url');
|
|
|
- }
|
|
|
- } else {
|
|
|
- $files_list[] = array($source, 'local', 'abs');
|
|
|
- }
|
|
|
- continue; //skipping anything else to avoid two entries (while the others can have sub-files in their url, flv's can't)
|
|
|
+ foreach ($wanted_attributes as $attr) {
|
|
|
+ if (isset($attributes[$attr])) {
|
|
|
+ //find which kind of path these are (local or remote)
|
|
|
+ $sources = $attributes[$attr];
|
|
|
+ foreach ($sources as $source) {
|
|
|
+ //skip what is obviously not a resource
|
|
|
+ if (strpos($source, '+this.')) continue; //javascript code - will still work unaltered
|
|
|
+ if (strpos($source, '.') === false) continue; //no dot, should not be an external file anyway
|
|
|
+ if (strpos($source, 'mailto:')) continue; //mailto link
|
|
|
+ if (strpos($source, ';') && !strpos($source, '&')) continue; //avoid code - that should help
|
|
|
+
|
|
|
+ if ($attr == 'value') {
|
|
|
+ if (strpos($source , 'mp3file')) {
|
|
|
+ $files_list[] = array(substr($source, 0, strpos($source, '.swf') + 4), 'local', 'abs');
|
|
|
+ $mp3file = substr($source , strpos($source, 'mp3file=') + 8);
|
|
|
+ if (substr($mp3file, 0, 1) == '/') {
|
|
|
+ $files_list[] = array($mp3file, 'local', 'abs');
|
|
|
+ } else {
|
|
|
+ $files_list[] = array($mp3file, 'local', 'rel');
|
|
|
+ }
|
|
|
+ } elseif (strpos($source, 'flv=') === 0) {
|
|
|
+ $source = substr($source, 4);
|
|
|
+ if (strpos($source, '&') > 0) {
|
|
|
+ $source = substr($source, 0, strpos($source, '&'));
|
|
|
+ }
|
|
|
+ if (strpos($source,'://') > 0) {
|
|
|
+ if (strpos($source, api_get_path(WEB_PATH)) !== false) {
|
|
|
+ //we found the current portal url
|
|
|
+ $files_list[] = array($source, 'local', 'url');
|
|
|
+ } else {
|
|
|
+ //we didn't find any trace of current portal
|
|
|
+ $files_list[] = array($source, 'remote', 'url');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $files_list[] = array($source, 'local', 'abs');
|
|
|
+ }
|
|
|
+ continue; //skipping anything else to avoid two entries (while the others can have sub-files in their url, flv's can't)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (strpos($source, '://') > 0) {
|
|
|
+ //cut at '?' in a URL with params
|
|
|
+ if (strpos($source, '?') > 0) {
|
|
|
+ $second_part = substr($source,strpos($source, '?'));
|
|
|
+ if(strpos($second_part, '://') > 0) {
|
|
|
+ //if the second part of the url contains a url too, treat the second one before cutting
|
|
|
+ $pos1 = strpos($second_part, '=');
|
|
|
+ $pos2 = strpos($second_part, '&');
|
|
|
+ $second_part = substr($second_part, $pos1 + 1, $pos2 - ($pos1 + 1));
|
|
|
+ if (strpos($second_part, api_get_path(WEB_PATH)) !== false) {
|
|
|
+ //we found the current portal url
|
|
|
+ $files_list[] = array($second_part, 'local', 'url');
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($second_part, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ //we didn't find any trace of current portal
|
|
|
+ $files_list[] = array($second_part, 'remote', 'url');
|
|
|
}
|
|
|
- if (strpos($source, '://') > 0) {
|
|
|
- //cut at '?' in a URL with params
|
|
|
- if (strpos($source, '?') > 0) {
|
|
|
- $second_part = substr($source,strpos($source, '?'));
|
|
|
- if(strpos($second_part, '://') > 0) {
|
|
|
- //if the second part of the url contains a url too, treat the second one before cutting
|
|
|
- $pos1 = strpos($second_part, '=');
|
|
|
- $pos2 = strpos($second_part, '&');
|
|
|
- $second_part = substr($second_part, $pos1 + 1, $pos2 - ($pos1 + 1));
|
|
|
- if (strpos($second_part, api_get_path(WEB_PATH)) !== false) {
|
|
|
- //we found the current portal url
|
|
|
- $files_list[] = array($second_part, 'local', 'url');
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($second_part, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //we didn't find any trace of current portal
|
|
|
- $files_list[] = array($second_part, 'remote', 'url');
|
|
|
- }
|
|
|
- } elseif (strpos($second_part, '=') > 0) {
|
|
|
- if (substr($second_part, 0, 1) === '/') {
|
|
|
- //link starts with a /, making it absolute (relative to DocumentRoot)
|
|
|
- $files_list[] = array($second_part, 'local', 'abs');
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($second_part, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } elseif(strstr($second_part, '..') === 0) {
|
|
|
- //link is relative but going back in the hierarchy
|
|
|
- $files_list[] = array($second_part, 'local', 'rel');
|
|
|
- //$dir = api_get_path(SYS_CODE_PATH);//dirname($abs_path);
|
|
|
- //$new_abs_path = realpath($dir.'/'.$second_part);
|
|
|
- $dir = '';
|
|
|
- if (!empty($abs_path)) {
|
|
|
- $dir = dirname($abs_path).'/';
|
|
|
- }
|
|
|
- $new_abs_path = realpath($dir.$second_part);
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //no starting '/', making it relative to current document's path
|
|
|
- if (substr($second_part, 0, 2) == './') {
|
|
|
- $second_part = substr($second_part, 2);
|
|
|
- }
|
|
|
- $files_list[] = array($second_part, 'local', 'rel');
|
|
|
- $dir = '';
|
|
|
- if (!empty($abs_path)) {
|
|
|
- $dir = dirname($abs_path).'/';
|
|
|
- }
|
|
|
- $new_abs_path = realpath($dir.$second_part);
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- //leave that second part behind now
|
|
|
- $source = substr($source, 0, strpos($source, '?'));
|
|
|
- if (strpos($source, '://') > 0) {
|
|
|
- if (strpos($source, api_get_path(WEB_PATH)) !== false) {
|
|
|
- //we found the current portal url
|
|
|
- $files_list[] = array($source, 'local', 'url');
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity+1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //we didn't find any trace of current portal
|
|
|
- $files_list[] = array($source, 'remote', 'url');
|
|
|
- }
|
|
|
- } else {
|
|
|
- //no protocol found, make link local
|
|
|
- if (substr($source, 0, 1) === '/') {
|
|
|
- //link starts with a /, making it absolute (relative to DocumentRoot)
|
|
|
- $files_list[] = array($source, 'local', 'abs');
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } elseif (strstr($source, '..') === 0) { //link is relative but going back in the hierarchy
|
|
|
- $files_list[] = array($source, 'local', 'rel');
|
|
|
- $dir = '';
|
|
|
- if (!empty($abs_path)) {
|
|
|
- $dir = dirname($abs_path).'/';
|
|
|
- }
|
|
|
- $new_abs_path = realpath($dir.$source);
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //no starting '/', making it relative to current document's path
|
|
|
- if (substr($source, 0, 2) == './') {
|
|
|
- $source = substr($source, 2);
|
|
|
- }
|
|
|
- $files_list[] = array($source, 'local', 'rel');
|
|
|
- $dir = '';
|
|
|
- if (!empty($abs_path)) {
|
|
|
- $dir = dirname($abs_path).'/';
|
|
|
- }
|
|
|
- $new_abs_path = realpath($dir.$source);
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ } elseif (strpos($second_part, '=') > 0) {
|
|
|
+ if (substr($second_part, 0, 1) === '/') {
|
|
|
+ //link starts with a /, making it absolute (relative to DocumentRoot)
|
|
|
+ $files_list[] = array($second_part, 'local', 'abs');
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($second_part, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
}
|
|
|
- //found some protocol there
|
|
|
- if (strpos($source, api_get_path(WEB_PATH)) !== false) {
|
|
|
- //we found the current portal url
|
|
|
- $files_list[] = array($source, 'local', 'url');
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //we didn't find any trace of current portal
|
|
|
- $files_list[] = array($source, 'remote', 'url');
|
|
|
+ } elseif(strstr($second_part, '..') === 0) {
|
|
|
+ //link is relative but going back in the hierarchy
|
|
|
+ $files_list[] = array($second_part, 'local', 'rel');
|
|
|
+ //$dir = api_get_path(SYS_CODE_PATH);//dirname($abs_path);
|
|
|
+ //$new_abs_path = realpath($dir.'/'.$second_part);
|
|
|
+ $dir = '';
|
|
|
+ if (!empty($abs_path)) {
|
|
|
+ $dir = dirname($abs_path).'/';
|
|
|
+ }
|
|
|
+ $new_abs_path = realpath($dir.$second_part);
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
}
|
|
|
} else {
|
|
|
- //no protocol found, make link local
|
|
|
- if (substr($source, 0, 1) === '/') {
|
|
|
- //link starts with a /, making it absolute (relative to DocumentRoot)
|
|
|
- $files_list[] = array($source, 'local', 'abs');
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } elseif (strpos($source, '..') === 0) {
|
|
|
- //link is relative but going back in the hierarchy
|
|
|
- $files_list[] = array($source, 'local', 'rel');
|
|
|
- $dir = '';
|
|
|
- if (!empty($abs_path)) {
|
|
|
- $dir = dirname($abs_path).'/';
|
|
|
- }
|
|
|
- $new_abs_path = realpath($dir.$source);
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //no starting '/', making it relative to current document's path
|
|
|
- if (substr($source, 0, 2) == './') {
|
|
|
- $source = substr($source, 2);
|
|
|
- }
|
|
|
- $files_list[] = array($source, 'local', 'rel');
|
|
|
- $dir = '';
|
|
|
- if (!empty($abs_path)) {
|
|
|
- $dir = dirname($abs_path).'/';
|
|
|
- }
|
|
|
- $new_abs_path = realpath($dir.$source);
|
|
|
- $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
- if (count($in_files_list) > 0) {
|
|
|
- $files_list = array_merge($files_list, $in_files_list);
|
|
|
- }
|
|
|
+ //no starting '/', making it relative to current document's path
|
|
|
+ if (substr($second_part, 0, 2) == './') {
|
|
|
+ $second_part = substr($second_part, 2);
|
|
|
+ }
|
|
|
+ $files_list[] = array($second_part, 'local', 'rel');
|
|
|
+ $dir = '';
|
|
|
+ if (!empty($abs_path)) {
|
|
|
+ $dir = dirname($abs_path).'/';
|
|
|
+ }
|
|
|
+ $new_abs_path = realpath($dir.$second_part);
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //leave that second part behind now
|
|
|
+ $source = substr($source, 0, strpos($source, '?'));
|
|
|
+ if (strpos($source, '://') > 0) {
|
|
|
+ if (strpos($source, api_get_path(WEB_PATH)) !== false) {
|
|
|
+ //we found the current portal url
|
|
|
+ $files_list[] = array($source, 'local', 'url');
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity+1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //we didn't find any trace of current portal
|
|
|
+ $files_list[] = array($source, 'remote', 'url');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //no protocol found, make link local
|
|
|
+ if (substr($source, 0, 1) === '/') {
|
|
|
+ //link starts with a /, making it absolute (relative to DocumentRoot)
|
|
|
+ $files_list[] = array($source, 'local', 'abs');
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ } elseif (strstr($source, '..') === 0) { //link is relative but going back in the hierarchy
|
|
|
+ $files_list[] = array($source, 'local', 'rel');
|
|
|
+ $dir = '';
|
|
|
+ if (!empty($abs_path)) {
|
|
|
+ $dir = dirname($abs_path).'/';
|
|
|
+ }
|
|
|
+ $new_abs_path = realpath($dir.$source);
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //no starting '/', making it relative to current document's path
|
|
|
+ if (substr($source, 0, 2) == './') {
|
|
|
+ $source = substr($source, 2);
|
|
|
+ }
|
|
|
+ $files_list[] = array($source, 'local', 'rel');
|
|
|
+ $dir = '';
|
|
|
+ if (!empty($abs_path)) {
|
|
|
+ $dir = dirname($abs_path).'/';
|
|
|
+ }
|
|
|
+ $new_abs_path = realpath($dir.$source);
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //found some protocol there
|
|
|
+ if (strpos($source, api_get_path(WEB_PATH)) !== false) {
|
|
|
+ //we found the current portal url
|
|
|
+ $files_list[] = array($source, 'local', 'url');
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //we didn't find any trace of current portal
|
|
|
+ $files_list[] = array($source, 'remote', 'url');
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //no protocol found, make link local
|
|
|
+ if (substr($source, 0, 1) === '/') {
|
|
|
+ //link starts with a /, making it absolute (relative to DocumentRoot)
|
|
|
+ $files_list[] = array($source, 'local', 'abs');
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($source, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ } elseif (strpos($source, '..') === 0) {
|
|
|
+ //link is relative but going back in the hierarchy
|
|
|
+ $files_list[] = array($source, 'local', 'rel');
|
|
|
+ $dir = '';
|
|
|
+ if (!empty($abs_path)) {
|
|
|
+ $dir = dirname($abs_path).'/';
|
|
|
+ }
|
|
|
+ $new_abs_path = realpath($dir.$source);
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //no starting '/', making it relative to current document's path
|
|
|
+ if (substr($source, 0, 2) == './') {
|
|
|
+ $source = substr($source, 2);
|
|
|
+ }
|
|
|
+ $files_list[] = array($source, 'local', 'rel');
|
|
|
+ $dir = '';
|
|
|
+ if (!empty($abs_path)) {
|
|
|
+ $dir = dirname($abs_path).'/';
|
|
|
+ }
|
|
|
+ $new_abs_path = realpath($dir.$source);
|
|
|
+ $in_files_list[] = DocumentManager::get_resources_from_source_html($new_abs_path, true, TOOL_DOCUMENT, $recursivity + 1);
|
|
|
+ if (count($in_files_list) > 0) {
|
|
|
+ $files_list = array_merge($files_list, $in_files_list);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
break;
|
|
|
default: //ignore
|
|
|
break;
|