| Línea 69... |
Línea 69... |
| 69 |
$courseid = $page->course->id;
|
69 |
$courseid = $page->course->id;
|
| 70 |
parent::__construct($page, $target);
|
70 |
parent::__construct($page, $target);
|
| 71 |
}
|
71 |
}
|
| Línea 72... |
Línea 72... |
| 72 |
|
72 |
|
| 73 |
/**
|
- |
|
| 74 |
* @deprecated since 3.2
|
- |
|
| 75 |
*/
|
- |
|
| 76 |
protected function add_modchoosertoggle() {
|
- |
|
| 77 |
throw new coding_exception('core_course_renderer::add_modchoosertoggle() can not be used anymore.');
|
- |
|
| 78 |
}
|
- |
|
| 79 |
|
- |
|
| 80 |
/**
|
73 |
/**
|
| 81 |
* Renders course info box.
|
74 |
* Renders course info box.
|
| 82 |
*
|
75 |
*
|
| 83 |
* @param stdClass $course
|
76 |
* @param stdClass $course
|
| 84 |
* @return string
|
77 |
* @return string
|
| Línea 92... |
Línea 85... |
| 92 |
$content .= $this->output->box_end();
|
85 |
$content .= $this->output->box_end();
|
| 93 |
return $content;
|
86 |
return $content;
|
| 94 |
}
|
87 |
}
|
| Línea 95... |
Línea 88... |
| 95 |
|
88 |
|
| - |
|
89 |
/**
|
| - |
|
90 |
* Renders course info box.
|
| - |
|
91 |
*
|
| - |
|
92 |
* @param stdClass $course course object
|
| - |
|
93 |
* @param string[] $widgets array of enrolment widgets
|
| - |
|
94 |
* @param \core\url|null $returnurl return url
|
| - |
|
95 |
* @return string
|
| - |
|
96 |
*/
|
| - |
|
97 |
public function enrolment_options(stdClass $course, array $widgets, ?\core\url $returnurl = null): string {
|
| - |
|
98 |
if (!$widgets) {
|
| - |
|
99 |
if (isguestuser()) {
|
| - |
|
100 |
$message = get_string('noguestaccess', 'enrol');
|
| - |
|
101 |
$continuebutton = $this->output->continue_button(get_login_url());
|
| - |
|
102 |
} else if ($returnurl) {
|
| - |
|
103 |
$message = get_string('notenrollable', 'enrol');
|
| - |
|
104 |
$continuebutton = $this->output->continue_button($returnurl);
|
| - |
|
105 |
} else {
|
| - |
|
106 |
$url = get_local_referer(false);
|
| - |
|
107 |
if (empty($url)) {
|
| - |
|
108 |
$url = new moodle_url('/index.php');
|
| - |
|
109 |
}
|
| - |
|
110 |
$message = get_string('notenrollable', 'enrol');
|
| - |
|
111 |
$continuebutton = $this->output->continue_button($url);
|
| - |
|
112 |
}
|
| - |
|
113 |
}
|
| - |
|
114 |
|
| - |
|
115 |
$courseinfobox = $this->course_info_box($course);
|
| - |
|
116 |
|
| - |
|
117 |
$templatecontext = [
|
| - |
|
118 |
'heading' => get_string('enrolmentoptions', 'enrol'),
|
| - |
|
119 |
'courseinfobox' => $courseinfobox,
|
| - |
|
120 |
'widgets' => array_values($widgets),
|
| - |
|
121 |
'message' => $message ?? '',
|
| - |
|
122 |
'continuebutton' => $continuebutton ?? '',
|
| - |
|
123 |
];
|
| - |
|
124 |
return $this->render_from_template('core_enrol/enrolment_options', $templatecontext);
|
| - |
|
125 |
}
|
| - |
|
126 |
|
| 96 |
/**
|
127 |
/**
|
| 97 |
* Renderers a structured array of courses and categories into a nice XHTML tree structure.
|
128 |
* Renderers a structured array of courses and categories into a nice XHTML tree structure.
|
| 98 |
*
|
129 |
*
|
| 99 |
* @deprecated since 2.5
|
130 |
* @deprecated since 2.5
|
| 100 |
*
|
131 |
*
|
| Línea 129... |
Línea 160... |
| 129 |
public function render_modchooser(renderable $modchooser) {
|
160 |
public function render_modchooser(renderable $modchooser) {
|
| 130 |
return $this->render_from_template('core_course/modchooser', $modchooser->export_for_template($this));
|
161 |
return $this->render_from_template('core_course/modchooser', $modchooser->export_for_template($this));
|
| 131 |
}
|
162 |
}
|
| Línea 132... |
Línea 163... |
| 132 |
|
163 |
|
| 133 |
/**
|
- |
|
| 134 |
* @deprecated since 3.9
|
- |
|
| 135 |
*/
|
- |
|
| 136 |
public function course_modchooser() {
|
- |
|
| 137 |
throw new coding_exception('course_modchooser() can not be used anymore, please use course_activitychooser() instead.');
|
- |
|
| 138 |
}
|
- |
|
| 139 |
|
- |
|
| 140 |
/**
|
164 |
/**
|
| 141 |
* Build the HTML for the module chooser javascript popup.
|
165 |
* Build the HTML for the module chooser javascript popup.
|
| 142 |
*
|
166 |
*
|
| 143 |
* @param int $courseid The course id to fetch modules for.
|
167 |
* @param int $courseid The course id to fetch modules for.
|
| 144 |
* @return string
|
168 |
* @return string
|
| Línea 193... |
Línea 217... |
| 193 |
'see core_course_renderer::render_modchooser().', DEBUG_DEVELOPER);
|
217 |
'see core_course_renderer::render_modchooser().', DEBUG_DEVELOPER);
|
| 194 |
return '';
|
218 |
return '';
|
| 195 |
}
|
219 |
}
|
| Línea 196... |
Línea 220... |
| 196 |
|
220 |
|
| 197 |
/**
|
- |
|
| 198 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 199 |
*/
|
- |
|
| 200 |
public function course_section_cm_edit_actions($actions, cm_info $mod = null, $displayoptions = array()) {
|
- |
|
| 201 |
|
- |
|
| 202 |
throw new coding_exception(
|
- |
|
| 203 |
'course_section_cm_edit_actions can not be used any more. Please, use ' .
|
- |
|
| 204 |
'core_courseformat\\output\\local\\content\\cm\\controlmenu instead.'
|
- |
|
| 205 |
);
|
- |
|
| 206 |
}
|
- |
|
| 207 |
|
- |
|
| 208 |
/**
|
221 |
/**
|
| 209 |
* Renders HTML for the menus to add activities and resources to the current course
|
222 |
* Renders HTML for the menus to add activities and resources to the current course
|
| 210 |
*
|
223 |
*
|
| 211 |
* Renders the ajax control (the link which when clicked produces the activity chooser modal). No noscript fallback.
|
224 |
* Renders the ajax control (the link which when clicked produces the activity chooser modal). No noscript fallback.
|
| 212 |
*
|
225 |
*
|
| Línea 222... |
Línea 235... |
| 222 |
if (!has_capability('moodle/course:manageactivities', context_course::instance($course->id))
|
235 |
if (!has_capability('moodle/course:manageactivities', context_course::instance($course->id))
|
| 223 |
|| !$this->page->user_is_editing()) {
|
236 |
|| !$this->page->user_is_editing()) {
|
| 224 |
return '';
|
237 |
return '';
|
| 225 |
}
|
238 |
}
|
| Línea 226... |
Línea -... |
| 226 |
|
- |
|
| 227 |
$data = [
|
- |
|
| 228 |
'sectionid' => $section,
|
239 |
|
| 229 |
'sectionreturn' => $sectionreturn
|
240 |
$sectioninfo = get_fast_modinfo($course)->get_section_info($section);
|
| 230 |
];
|
241 |
|
| Línea 231... |
Línea 242... |
| 231 |
$ajaxcontrol = $this->render_from_template('course/activitychooserbutton', $data);
|
242 |
$activitychooserbutton = new \core_course\output\activitychooserbutton($sectioninfo, null, $sectionreturn);
|
| 232 |
|
243 |
|
| Línea 233... |
Línea 244... |
| 233 |
// Load the JS for the modal.
|
244 |
// Load the JS for the modal.
|
| - |
|
245 |
$this->course_activitychooser($course->id);
|
| - |
|
246 |
|
| - |
|
247 |
return $this->render_from_template(
|
| - |
|
248 |
'core_courseformat/local/content/divider',
|
| - |
|
249 |
[
|
| - |
|
250 |
'content' => $this->render($activitychooserbutton),
|
| 234 |
$this->course_activitychooser($course->id);
|
251 |
'extraclasses' => 'always-visible my-3',
|
| Línea 235... |
Línea 252... |
| 235 |
|
252 |
]
|
| 236 |
return $ajaxcontrol;
|
253 |
);
|
| 237 |
}
|
254 |
}
|
| Línea 254... |
Línea 271... |
| 254 |
];
|
271 |
];
|
| 255 |
return $this->render_from_template('core/search_input', $data);
|
272 |
return $this->render_from_template('core/search_input', $data);
|
| 256 |
}
|
273 |
}
|
| Línea 257... |
Línea 274... |
| 257 |
|
274 |
|
| 258 |
/**
|
- |
|
| 259 |
* @deprecated since Moodle 3.11
|
- |
|
| 260 |
*/
|
- |
|
| 261 |
public function course_section_cm_completion() {
|
- |
|
| 262 |
throw new coding_exception(__FUNCTION__ . ' is deprecated. Use the activity_completion output component instead.');
|
- |
|
| 263 |
}
|
- |
|
| 264 |
|
- |
|
| 265 |
/**
|
- |
|
| 266 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 267 |
*/
|
- |
|
| 268 |
public function is_cm_conditionally_hidden(cm_info $mod) {
|
- |
|
| 269 |
|
- |
|
| 270 |
throw new coding_exception(
|
- |
|
| 271 |
'is_cm_conditionally_hidden can not be used any more. Please, use ' .
|
- |
|
| 272 |
'\core_availability\info_module::is_available_for_all instead'
|
- |
|
| 273 |
);
|
- |
|
| 274 |
}
|
- |
|
| 275 |
|
- |
|
| 276 |
/**
|
- |
|
| 277 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 278 |
*/
|
- |
|
| 279 |
public function course_section_cm_name(cm_info $mod, $displayoptions = array()) {
|
- |
|
| 280 |
|
- |
|
| 281 |
throw new coding_exception(
|
- |
|
| 282 |
'course_section_cm_name can not be used any more. Please, use ' .
|
- |
|
| 283 |
'core_courseformat\\output\\local\\content\\cm\\cmname class instead.'
|
- |
|
| 284 |
);
|
- |
|
| 285 |
}
|
- |
|
| 286 |
|
- |
|
| 287 |
/**
|
- |
|
| 288 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 289 |
*/
|
- |
|
| 290 |
protected function course_section_cm_classes(cm_info $mod) {
|
- |
|
| 291 |
|
- |
|
| 292 |
throw new coding_exception(
|
- |
|
| 293 |
'course_section_cm_classes can not be used any more. Now it is part of core_courseformat\\output\\local\\content\\cm'
|
- |
|
| 294 |
);
|
- |
|
| 295 |
}
|
- |
|
| 296 |
|
- |
|
| 297 |
/**
|
- |
|
| 298 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 299 |
*/
|
- |
|
| 300 |
public function course_section_cm_name_title(cm_info $mod, $displayoptions = array()) {
|
- |
|
| 301 |
|
- |
|
| 302 |
throw new coding_exception(
|
- |
|
| 303 |
'course_section_cm_name_title can not be used any more. Please, use ' .
|
- |
|
| 304 |
'core_courseformat\\output\\local\\cm\\title class instead'
|
- |
|
| 305 |
);
|
- |
|
| 306 |
}
|
- |
|
| 307 |
|
- |
|
| 308 |
/**
|
- |
|
| 309 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 310 |
*/
|
- |
|
| 311 |
public function course_section_cm_text(cm_info $mod, $displayoptions = array()) {
|
- |
|
| 312 |
|
- |
|
| 313 |
throw new coding_exception(
|
- |
|
| 314 |
'course_section_cm_text can not be used any more. Now it is part of core_courseformat\\output\\local\\content\\cm'
|
- |
|
| 315 |
);
|
- |
|
| 316 |
}
|
- |
|
| 317 |
|
- |
|
| 318 |
/**
|
- |
|
| 319 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 320 |
*/
|
- |
|
| 321 |
public function availability_info($text, $additionalclasses = '') {
|
- |
|
| 322 |
|
- |
|
| 323 |
throw new coding_exception(
|
- |
|
| 324 |
'availability_info can not be used any more. Please, use ' .
|
- |
|
| 325 |
'core_courseformat\\output\\local\\content\\section\\availability instead'
|
- |
|
| 326 |
);
|
- |
|
| 327 |
}
|
- |
|
| 328 |
|
- |
|
| 329 |
/**
|
- |
|
| 330 |
* @deprecated since 4.0 - please do not use this function any more.
|
- |
|
| 331 |
*/
|
- |
|
| 332 |
public function course_section_cm_availability(cm_info $mod, $displayoptions = array()) {
|
- |
|
| 333 |
|
- |
|
| 334 |
throw new coding_exception(
|
- |
|
| 335 |
'course_section_cm_availability can not be used any more. Please, use ' .
|
- |
|
| 336 |
'core_courseformat\\output\\local\\content\\cm\\availability instead'
|
- |
|
| 337 |
);
|
- |
|
| 338 |
}
|
- |
|
| 339 |
|
- |
|
| 340 |
/**
|
- |
|
| 341 |
* @deprecated since 4.0 - use core_course output components or course_format::course_section_updated_cm_item instead.
|
- |
|
| 342 |
*/
|
- |
|
| 343 |
public function course_section_cm_list_item($course, &$completioninfo, cm_info $mod, $sectionreturn, $displayoptions = []) {
|
- |
|
| 344 |
|
- |
|
| 345 |
throw new coding_exception(
|
- |
|
| 346 |
'course_section_cm_list_item can not be used any more. Please, use renderer course_section_updated_cm_item instead'
|
- |
|
| 347 |
);
|
- |
|
| 348 |
}
|
- |
|
| 349 |
|
- |
|
| 350 |
/**
|
- |
|
| 351 |
* @deprecated since 4.0 - use core_course output components instead.
|
- |
|
| 352 |
*/
|
- |
|
| 353 |
public function course_section_cm($course, &$completioninfo, cm_info $mod, $sectionreturn, $displayoptions = []) {
|
- |
|
| 354 |
|
- |
|
| 355 |
throw new coding_exception(
|
- |
|
| 356 |
'course_section_cm can not be used any more. Please, use core_courseformat\\output\\content\\cm output class instead'
|
- |
|
| 357 |
);
|
- |
|
| 358 |
}
|
- |
|
| 359 |
|
- |
|
| 360 |
/**
|
275 |
/**
|
| 361 |
* Message displayed to the user when they try to access unavailable activity following URL
|
276 |
* Message displayed to the user when they try to access unavailable activity following URL
|
| 362 |
*
|
277 |
*
|
| 363 |
* This method is a very simplified version of {@link course_section_cm()} to be part of the error
|
278 |
* This method is a very simplified version of {@link course_section_cm()} to be part of the error
|
| 364 |
* notification only. It also does not check if module is visible on course page or not.
|
279 |
* notification only. It also does not check if module is visible on course page or not.
|
| Línea 375... |
Línea 290... |
| 375 |
if (!$cm->availableinfo) {
|
290 |
if (!$cm->availableinfo) {
|
| 376 |
return get_string('activityiscurrentlyhidden');
|
291 |
return get_string('activityiscurrentlyhidden');
|
| 377 |
}
|
292 |
}
|
| Línea 378... |
Línea 293... |
| 378 |
|
293 |
|
| 379 |
$altname = get_accesshide(' ' . $cm->modfullname);
|
294 |
$altname = get_accesshide(' ' . $cm->modfullname);
|
| 380 |
$name = html_writer::empty_tag('img', array('src' => $cm->get_icon_url(),
|
295 |
$name = html_writer::empty_tag('img', ['src' => $cm->get_icon_url(),
|
| 381 |
'class' => 'iconlarge activityicon', 'alt' => '')) .
|
296 |
'class' => 'activityicon', 'alt' => '']) .
|
| 382 |
html_writer::tag('span', ' '.$cm->get_formatted_name() . $altname, array('class' => 'instancename'));
|
297 |
html_writer::tag('span', ' '.$cm->get_formatted_name() . $altname, array('class' => 'instancename'));
|
| 383 |
$formattedinfo = \core_availability\info::format_info($cm->availableinfo, $cm->get_course());
|
298 |
$formattedinfo = \core_availability\info::format_info($cm->availableinfo, $cm->get_course());
|
| 384 |
return html_writer::div($name, 'activityinstance-error') .
|
299 |
return html_writer::div($name, 'activityinstance-error') .
|
| 385 |
html_writer::div($formattedinfo, 'availabilityinfo-error');
|
300 |
html_writer::div($formattedinfo, 'availabilityinfo-error');
|
| Línea 386... |
Línea 301... |
| 386 |
}
|
301 |
}
|
| 387 |
|
- |
|
| 388 |
/**
|
- |
|
| 389 |
* @deprecated since 4.0 - use core_course output components instead.
|
- |
|
| 390 |
*/
|
- |
|
| 391 |
public function course_section_cm_list($course, $section, $sectionreturn = null, $displayoptions = []) {
|
- |
|
| 392 |
|
- |
|
| 393 |
throw new coding_exception(
|
- |
|
| 394 |
'course_section_cm_list can not be used any more. Please, use ' .
|
- |
|
| 395 |
'core_courseformat\\output\\local\\content\\section\\cmlist class instead'
|
- |
|
| 396 |
);
|
- |
|
| 397 |
}
|
- |
|
| 398 |
|
302 |
|
| 399 |
/**
|
303 |
/**
|
| 400 |
* Displays a custom list of courses with paging bar if necessary
|
304 |
* Displays a custom list of courses with paging bar if necessary
|
| 401 |
*
|
305 |
*
|
| 402 |
* If $paginationurl is specified but $totalcount is not, the link 'View more'
|
306 |
* If $paginationurl is specified but $totalcount is not, the link 'View more'
|
| Línea 574... |
Línea 478... |
| 574 |
$content .= html_writer::start_tag('ul', ['class' => 'teachers']);
|
478 |
$content .= html_writer::start_tag('ul', ['class' => 'teachers']);
|
| 575 |
foreach ($course->get_course_contacts() as $coursecontact) {
|
479 |
foreach ($course->get_course_contacts() as $coursecontact) {
|
| 576 |
$rolenames = array_map(function ($role) {
|
480 |
$rolenames = array_map(function ($role) {
|
| 577 |
return $role->displayname;
|
481 |
return $role->displayname;
|
| 578 |
}, $coursecontact['roles']);
|
482 |
}, $coursecontact['roles']);
|
| 579 |
$name = html_writer::tag('span', implode(", ", $rolenames).': ', ['class' => 'font-weight-bold']);
|
483 |
$name = html_writer::tag('span', implode(", ", $rolenames).': ', ['class' => 'fw-bold']);
|
| 580 |
$name .= html_writer::link(
|
484 |
$name .= html_writer::link(
|
| 581 |
\core_user::get_profile_url($coursecontact['user'], context_system::instance()),
|
485 |
\core_user::get_profile_url($coursecontact['user'], context_system::instance()),
|
| 582 |
$coursecontact['username']
|
486 |
$coursecontact['username']
|
| 583 |
);
|
487 |
);
|
| 584 |
$content .= html_writer::tag('li', $name);
|
488 |
$content .= html_writer::tag('li', $name);
|
| Línea 630... |
Línea 534... |
| 630 |
$content = '';
|
534 |
$content = '';
|
| 631 |
// Display course category if necessary (for example in search results).
|
535 |
// Display course category if necessary (for example in search results).
|
| 632 |
if ($chelper->get_show_courses() == self::COURSECAT_SHOW_COURSES_EXPANDED_WITH_CAT) {
|
536 |
if ($chelper->get_show_courses() == self::COURSECAT_SHOW_COURSES_EXPANDED_WITH_CAT) {
|
| 633 |
if ($cat = core_course_category::get($course->category, IGNORE_MISSING)) {
|
537 |
if ($cat = core_course_category::get($course->category, IGNORE_MISSING)) {
|
| 634 |
$content .= html_writer::start_tag('div', ['class' => 'coursecat']);
|
538 |
$content .= html_writer::start_tag('div', ['class' => 'coursecat']);
|
| 635 |
$content .= html_writer::tag('span', get_string('category').': ', ['class' => 'font-weight-bold']);
|
539 |
$content .= html_writer::tag('span', get_string('category').': ', ['class' => 'fw-bold']);
|
| 636 |
$content .= html_writer::link(new moodle_url('/course/index.php', ['categoryid' => $cat->id]),
|
540 |
$content .= html_writer::link(new moodle_url('/course/index.php', ['categoryid' => $cat->id]),
|
| 637 |
$cat->get_formatted_name(), ['class' => $cat->visible ? '' : 'dimmed']);
|
541 |
$cat->get_formatted_name(), ['class' => $cat->visible ? '' : 'dimmed']);
|
| 638 |
$content .= html_writer::end_tag('div');
|
542 |
$content .= html_writer::end_tag('div');
|
| 639 |
}
|
543 |
}
|
| 640 |
}
|
544 |
}
|
| Línea 1154... |
Línea 1058... |
| 1154 |
return $this->coursecat_category_content($chelper, $category, $depth);
|
1058 |
return $this->coursecat_category_content($chelper, $category, $depth);
|
| 1155 |
} else if ($type === self::COURSECAT_TYPE_COURSE) {
|
1059 |
} else if ($type === self::COURSECAT_TYPE_COURSE) {
|
| 1156 |
// This is a request for the course information.
|
1060 |
// This is a request for the course information.
|
| 1157 |
$courseid = required_param('courseid', PARAM_INT);
|
1061 |
$courseid = required_param('courseid', PARAM_INT);
|
| Línea 1158... |
Línea 1062... |
| 1158 |
|
1062 |
|
| - |
|
1063 |
$course = $DB->get_record('course', ['id' => $courseid], '*', IGNORE_MISSING);
|
| - |
|
1064 |
if ($course === false) {
|
| - |
|
1065 |
throw new \moodle_exception('invalidcourseid');
|
| - |
|
1066 |
}
|
| - |
|
1067 |
$coursecontext = context_course::instance($course->id, MUST_EXIST);
|
| - |
|
1068 |
if ($course->visible == 0 && !has_capability('moodle/course:viewhiddencourses', $coursecontext)) {
|
| - |
|
1069 |
throw new \moodle_exception('invalidcourseid');
|
| Línea 1159... |
Línea 1070... |
| 1159 |
$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
|
1070 |
}
|
| 1160 |
|
1071 |
|
| 1161 |
$chelper = new coursecat_helper();
|
1072 |
$chelper = new coursecat_helper();
|
| 1162 |
$chelper->set_show_courses(self::COURSECAT_SHOW_COURSES_EXPANDED);
|
1073 |
$chelper->set_show_courses(self::COURSECAT_SHOW_COURSES_EXPANDED);
|
| Línea 1499... |
Línea 1410... |
| 1499 |
set_attributes(array('class' => 'frontpage-category-names'));
|
1410 |
set_attributes(array('class' => 'frontpage-category-names'));
|
| 1500 |
return $this->coursecat_tree($chelper, $tree);
|
1411 |
return $this->coursecat_tree($chelper, $tree);
|
| 1501 |
}
|
1412 |
}
|
| Línea 1502... |
Línea 1413... |
| 1502 |
|
1413 |
|
| 1503 |
/**
|
- |
|
| 1504 |
* Renders the activity information.
|
- |
|
| 1505 |
*
|
- |
|
| 1506 |
* Defer to template.
|
- |
|
| 1507 |
*
|
1414 |
/**
|
| 1508 |
* @deprecated since Moodle 4.3 MDL-78744
|
- |
|
| 1509 |
* @todo MDL-78926 This method will be deleted in Moodle 4.7
|
- |
|
| 1510 |
* @param \core_course\output\activity_information $page
|
- |
|
| 1511 |
* @return string html for the page
|
1415 |
* @deprecated since Moodle 4.3 MDL-78744
|
| 1512 |
*/
|
1416 |
*/
|
| 1513 |
public function render_activity_information(\core_course\output\activity_information $page) {
|
1417 |
#[\core\attribute\deprecated(null, since: '4.3', mdl: 'MDL-78744', final: true)]
|
| 1514 |
debugging('render_activity_information method is deprecated.', DEBUG_DEVELOPER);
|
1418 |
public function render_activity_information() {
|
| 1515 |
$data = $page->export_for_template($this->output);
|
- |
|
| 1516 |
return $this->output->render_from_template('core_course/activity_info', $data);
|
1419 |
\core\deprecation::emit_deprecation([self::class, __FUNCTION__]);
|
| Línea 1517... |
Línea 1420... |
| 1517 |
}
|
1420 |
}
|
| 1518 |
|
1421 |
|
| 1519 |
/**
|
1422 |
/**
|
| Línea 1621... |
Línea 1524... |
| 1621 |
}
|
1524 |
}
|
| 1622 |
} else {
|
1525 |
} else {
|
| 1623 |
$subtext = get_string('subscribe', 'forum');
|
1526 |
$subtext = get_string('subscribe', 'forum');
|
| 1624 |
}
|
1527 |
}
|
| 1625 |
$suburl = new moodle_url('/mod/forum/subscribe.php', array('id' => $forum->id, 'sesskey' => sesskey()));
|
1528 |
$suburl = new moodle_url('/mod/forum/subscribe.php', array('id' => $forum->id, 'sesskey' => sesskey()));
|
| 1626 |
$output .= html_writer::tag('div', html_writer::link($suburl, $subtext), array('class' => 'subscribelink'));
|
1529 |
$output .= html_writer::tag('div', html_writer::link($suburl, $subtext), ['class' => 'subscribelink text-end']);
|
| 1627 |
}
|
1530 |
}
|
| Línea 1628... |
Línea 1531... |
| 1628 |
|
1531 |
|
| 1629 |
$coursemodule = get_coursemodule_from_instance('forum', $forum->id);
|
1532 |
$coursemodule = get_coursemodule_from_instance('forum', $forum->id);
|