diff --git a/mod/imscp/locallib.php b/mod/imscp/locallib.php
index 3ebd1060af0..2604bc04f49 100644
--- a/mod/imscp/locallib.php
+++ b/mod/imscp/locallib.php
@@ -60,15 +60,19 @@ function imscp_print_content($imscp, $cm, $course) {
function imscp_htmllize_item($item, $imscp, $cm) {
global $CFG;
- if (preg_match('|^https?://|', $item['href'])) {
- $url = $item['href'];
+ if ($item['href']) {
+ if (preg_match('|^https?://|', $item['href'])) {
+ $url = $item['href'];
+ } else {
+ $context = context_module::instance($cm->id);
+ $urlbase = "$CFG->wwwroot/pluginfile.php";
+ $path = '/'.$context->id.'/mod_imscp/content/'.$imscp->revision.'/'.$item['href'];
+ $url = file_encode_url($urlbase, $path, false);
+ }
+ $result = "
".$item['title'].'';
} else {
- $context = context_module::instance($cm->id);
- $urlbase = "$CFG->wwwroot/pluginfile.php";
- $path = '/'.$context->id.'/mod_imscp/content/'.$imscp->revision.'/'.$item['href'];
- $url = file_encode_url($urlbase, $path, false);
+ $result = ''.$item['title'];
}
- $result = "".$item['title'].'';
if ($item['subitems']) {
$result .= '';
foreach ($item['subitems'] as $subitem) {
diff --git a/mod/imscp/module.js b/mod/imscp/module.js
index 8933d561d39..39ab383dcf2 100644
--- a/mod/imscp/module.js
+++ b/mod/imscp/module.js
@@ -41,21 +41,29 @@ M.mod_imscp.init = function(Y) {
imscp_current_node.highlight();
var content = new Y.YUI2.util.Element('imscp_content');
- try {
- // first try IE way - it can not set name attribute later
- // and also it has some restrictions on DOM access from object tag
- var obj = document.createElement('