MDL-65024 mod_url: Include the full URL in the module cached_cm_info
authorJuan Leyva <juanleyvadelgado@gmail.com>
Tue, 19 Mar 2019 14:43:12 +0000 (15:43 +0100)
committerJuan Leyva <juanleyvadelgado@gmail.com>
Tue, 19 Mar 2019 14:43:12 +0000 (15:43 +0100)
course/tests/externallib_test.php
mod/url/lib.php

index ad77f90..674ee82 100644 (file)
@@ -958,6 +958,7 @@ class core_course_externallib_testcase extends externallib_advanced_testcase {
         foreach ($sections[2]['modules'] as $module) {
             if ($module['id'] == $urlcm->id and $module['modname'] == 'url') {
                 $this->assertContains('width=100,height=100', $module['onclick']);
+                $this->assertContains('moodle.org', $module['customdata']);
                 $testexecuted = $testexecuted + 1;
             }
         }
index 23d11a0..2229bd0 100644 (file)
@@ -212,7 +212,7 @@ function url_get_coursemodule_info($coursemodule) {
     require_once("$CFG->dirroot/mod/url/locallib.php");
 
     if (!$url = $DB->get_record('url', array('id'=>$coursemodule->instance),
-            'id, name, display, displayoptions, externalurl, parameters, intro, introformat')) {
+            'id, name, course, display, displayoptions, externalurl, parameters, intro, introformat')) {
         return NULL;
     }
 
@@ -243,6 +243,9 @@ function url_get_coursemodule_info($coursemodule) {
         $info->content = format_module_intro('url', $url, $coursemodule->id, false);
     }
 
+    $course = get_course($url->course); // Get cached course.
+    $info->customdata = array('fullurl' => str_replace('&amp;', '&', url_get_full_url($url, $coursemodule, $course)));
+
     return $info;
 }