From b0fb8ef59fb0fd3928fad44eff11e2aea0a12ef1 Mon Sep 17 00:00:00 2001 From: David Monllao Date: Fri, 6 Oct 2017 17:37:43 +0200 Subject: [PATCH] MDL-59063 analytics: Expand analysable API to provide a name --- analytics/classes/analysable.php | 7 +++++++ analytics/classes/course.php | 9 +++++++++ analytics/classes/local/analyser/base.php | 4 ++-- analytics/classes/site.php | 9 +++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/analytics/classes/analysable.php b/analytics/classes/analysable.php index 88d10a6bf96..97faf596e8e 100644 --- a/analytics/classes/analysable.php +++ b/analytics/classes/analysable.php @@ -47,6 +47,13 @@ interface analysable { */ public function get_id(); + /** + * The analysable human readable name + * + * @return string + */ + public function get_name(); + /** * The analysable context. * diff --git a/analytics/classes/course.php b/analytics/classes/course.php index 791d7c2daef..07c5e9d5ef7 100644 --- a/analytics/classes/course.php +++ b/analytics/classes/course.php @@ -195,6 +195,15 @@ class course implements \core_analytics\analysable { return $this->course->id; } + /** + * The course short name + * + * @return string + */ + public function get_name() { + return format_string($this->course->shortname, true, array('context' => $this->get_context())); + } + /** * get_context * diff --git a/analytics/classes/local/analyser/base.php b/analytics/classes/local/analyser/base.php index 8d792b48ddd..a8277e5784c 100644 --- a/analytics/classes/local/analyser/base.php +++ b/analytics/classes/local/analyser/base.php @@ -363,7 +363,7 @@ abstract class base { $result = $this->analysabletarget->is_valid_analysable($analysable, $includetarget); if ($result !== true) { $a = new \stdClass(); - $a->analysableid = $analysable->get_id(); + $a->analysableid = $analysable->get_name(); $a->result = $result; $this->add_log(get_string('analysablenotvalidfortarget', 'analytics', $a)); return array(); @@ -407,7 +407,7 @@ abstract class base { } $a = new \stdClass(); - $a->analysableid = $analysable->get_id(); + $a->analysableid = $analysable->get_name(); $a->errors = implode(', ', $errors); $this->add_log(get_string('analysablenotused', 'analytics', $a)); } diff --git a/analytics/classes/site.php b/analytics/classes/site.php index 69fe7220331..c503e8aeeff 100644 --- a/analytics/classes/site.php +++ b/analytics/classes/site.php @@ -54,6 +54,15 @@ class site implements \core_analytics\analysable { return SYSCONTEXTID; } + /** + * Site. + * + * @return string + */ + public function get_name() { + return get_string('site'); + } + /** * Analysable context. *