mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 16:32:18 +02:00
Merge branch '41663-28' of git://github.com/samhemelryk/moodle
This commit is contained in:
commit
41dcab66d1
@ -225,13 +225,32 @@ class plugin_renderer_base extends renderer_base {
|
||||
$classname = get_class($widget);
|
||||
// Strip namespaces.
|
||||
$classname = preg_replace('/^.*\\\/', '', $classname);
|
||||
// Keep a copy at this point, we may need to look for a deprecated method.
|
||||
$deprecatedmethod = 'render_'.$classname;
|
||||
// Remove _renderable suffixes
|
||||
$classname = preg_replace('/_renderable/', '', $classname);
|
||||
$classname = preg_replace('/_renderable$/', '', $classname);
|
||||
|
||||
$rendermethod = 'render_'.$classname;
|
||||
if (method_exists($this, $rendermethod)) {
|
||||
return $this->$rendermethod($widget);
|
||||
}
|
||||
if ($rendermethod !== $deprecatedmethod && method_exists($this, $deprecatedmethod)) {
|
||||
// This is exactly where we don't want to be.
|
||||
// If you have arrived here you have a renderable component within your plugin that has the name
|
||||
// blah_renderable, and you have a render method render_blah_renderable on your plugin.
|
||||
// In 2.8 we revamped output, as part of this change we changed slightly how renderables got rendered
|
||||
// and the _renderable suffix now gets removed when looking for a render method.
|
||||
// You need to change your renderers render_blah_renderable to render_blah.
|
||||
// Until you do this it will not be possible for a theme to override the renderer to override your method.
|
||||
// Please do it ASAP.
|
||||
static $debugged = array();
|
||||
if (!isset($debugged[$deprecatedmethod])) {
|
||||
debugging(sprintf('Deprecated call. Please rename your renderables render method from %s to %s.',
|
||||
$deprecatedmethod, $rendermethod), DEBUG_DEVELOPER);
|
||||
$debugged[$deprecatedmethod] = true;
|
||||
}
|
||||
return $this->$deprecatedmethod($widget);
|
||||
}
|
||||
// pass to core renderer if method not found here
|
||||
return $this->output->render($widget);
|
||||
}
|
||||
|
@ -4,6 +4,9 @@ information provided here is intended especially for developers.
|
||||
=== 2.8 ===
|
||||
|
||||
* lib/excelllib.class.php has been updated. The class MoodleExcelWorkbook will now only produce excel 2007 files.
|
||||
* renderers: We now remove the suffix _renderable when looking for a render method for a renderable.
|
||||
If you have a renderable class named like "blah_renderable" and have a method on a renderer named "render_blah_renderable"
|
||||
you will need to change the name of your render method to "render_blah" instead, as renderable at the end is no longer accepted.
|
||||
|
||||
=== 2.6.4 / 2.7.1 ===
|
||||
* setnew_password_and_mail() and update_internal_user_password() will trigger
|
||||
|
@ -32,12 +32,24 @@ defined('MOODLE_INTERNAL') || die;
|
||||
*/
|
||||
class report_log_renderer extends plugin_renderer_base {
|
||||
|
||||
/**
|
||||
* This method should never be manually called, it should only be called by process.
|
||||
*
|
||||
* @deprecated since 2.8, to be removed in 2.9
|
||||
* @param report_log_renderable $reportlog
|
||||
* @return string
|
||||
*/
|
||||
public function render_report_log_renderable(report_log_renderable $reportlog) {
|
||||
debugging('Do not call this method. Please call $renderer->render($reportlog) instead.', DEBUG_DEVELOPER);
|
||||
return $this->render($reportlog);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render log report page.
|
||||
*
|
||||
* @param report_log_renderable $reportlog object of report_log.
|
||||
*/
|
||||
public function render_report_log_renderable(report_log_renderable $reportlog) {
|
||||
protected function render_report_log(report_log_renderable $reportlog) {
|
||||
if (empty($reportlog->selectedlogreader)) {
|
||||
echo $this->output->notification(get_string('nologreaderenabled', 'report_log'), 'notifyproblem');
|
||||
return;
|
||||
|
@ -33,6 +33,19 @@ defined('MOODLE_INTERNAL') || die;
|
||||
*/
|
||||
class report_loglive_renderer extends plugin_renderer_base {
|
||||
|
||||
/**
|
||||
* This method should never be manually called, it should only be called by process.
|
||||
* Please call the render method instead.
|
||||
*
|
||||
* @deprecated since 2.8, to be removed in 2.9
|
||||
* @param report_loglive_renderable $reportloglive
|
||||
* @return string
|
||||
*/
|
||||
public function render_report_loglive_renderable(report_loglive_renderable $reportloglive) {
|
||||
debugging('Do not call this method. Please call $renderer->render($reportloglive) instead.', DEBUG_DEVELOPER);
|
||||
return $this->render($reportloglive);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return html to render the loglive page..
|
||||
*
|
||||
@ -40,7 +53,7 @@ class report_loglive_renderer extends plugin_renderer_base {
|
||||
*
|
||||
* @return string html used to render the page;
|
||||
*/
|
||||
public function render_report_loglive_renderable(report_loglive_renderable $reportloglive) {
|
||||
protected function render_report_loglive(report_loglive_renderable $reportloglive) {
|
||||
if (empty($reportloglive->selectedlogreader)) {
|
||||
return $this->output->notification(get_string('nologreaderenabled', 'report_loglive'), 'notifyproblem');
|
||||
}
|
||||
|
@ -31,6 +31,19 @@
|
||||
*/
|
||||
class report_loglive_renderer_ajax extends plugin_renderer_base {
|
||||
|
||||
/**
|
||||
* This method should never be manually called, it should only be called by process.
|
||||
* Please call the render method instead.
|
||||
*
|
||||
* @deprecated since 2.8, to be removed in 2.9
|
||||
* @param report_loglive_renderable $reportloglive
|
||||
* @return string
|
||||
*/
|
||||
public function render_report_loglive_renderable(report_loglive_renderable $reportloglive) {
|
||||
debugging('Do not call this method. Please call $renderer->render($reportloglive) instead.', DEBUG_DEVELOPER);
|
||||
return $this->render($reportloglive);
|
||||
}
|
||||
|
||||
/**
|
||||
* Render logs for ajax.
|
||||
*
|
||||
@ -38,7 +51,7 @@ class report_loglive_renderer_ajax extends plugin_renderer_base {
|
||||
*
|
||||
* @return string html to be displayed to user.
|
||||
*/
|
||||
public function render_report_loglive_renderable(report_loglive_renderable $reportloglive) {
|
||||
protected function render_report_loglive(report_loglive_renderable $reportloglive) {
|
||||
if (empty($reportloglive->selectedlogreader)) {
|
||||
return null;
|
||||
}
|
||||
|
@ -5,6 +5,9 @@ information provided here is intended especially for theme designer.
|
||||
|
||||
* All mod_assign CSS selectors have been qualified with ".path-mod-assign". This means any custom CSS
|
||||
rules for mod_assign in a theme may need to be updated.
|
||||
* The following render methods were renamed, if you have overridden any of these you will need to update your renderer:
|
||||
- report_log_renderer::render_report_log_renderable => report_log_renderer::render_report_log
|
||||
- report_loglive_renderer::render_report_loglive_renderable => report_loglive_renderer::render_report_log
|
||||
|
||||
=== 2.7 ===
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user