From 345c6e438be48f8a359ba4d0e6bd5ba6a18a0cf2 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Thu, 27 May 2021 22:46:18 +0800 Subject: [PATCH] Removed usaged of deprecated functions (#423) --- classes/helper.php | 64 +++++++++++++++++++++++++ classes/task/email_certificate_task.php | 4 +- verify_certificate.php | 2 +- 3 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 classes/helper.php diff --git a/classes/helper.php b/classes/helper.php new file mode 100644 index 0000000..1b089ce --- /dev/null +++ b/classes/helper.php @@ -0,0 +1,64 @@ +. + +/** + * Provides helper functionality. + * + * @package mod_customcert + * @copyright 2021 Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace mod_customcert; + +use core_user\fields; + +defined('MOODLE_INTERNAL') || die(); + +/** + * Class helper. + * + * Helper functionality for this module. + * + * @package mod_customcert + * @copyright 2021 Mark Nelson + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class helper { + + /** + * A centralised location for the all name fields. + * + * Returns a sql string snippet. + * + * @param string $tableprefix table query prefix to use in front of each field. + * @return string All name fields. + */ + public static function get_all_user_name_fields($tableprefix = '') { + $alternatenames = []; + foreach (fields::get_name_fields() as $field) { + $alternatenames[$field] = $field; + } + + if ($tableprefix) { + foreach ($alternatenames as $key => $altname) { + $alternatenames[$key] = $tableprefix . '.' . $altname; + } + } + + return implode(',', $alternatenames); + } +} \ No newline at end of file diff --git a/classes/task/email_certificate_task.php b/classes/task/email_certificate_task.php index fb27769..1c5878a 100644 --- a/classes/task/email_certificate_task.php +++ b/classes/task/email_certificate_task.php @@ -23,6 +23,8 @@ */ namespace mod_customcert\task; +use mod_customcert\helper; + defined('MOODLE_INTERNAL') || die(); /** @@ -102,7 +104,7 @@ class email_certificate_task extends \core\task\scheduled_task { $info->certificatename = $certificatename; // Get a list of all the issues. - $userfields = get_all_user_name_fields(true, 'u'); + $userfields = helper::get_all_user_name_fields('u'); $sql = "SELECT u.id, u.username, $userfields, u.email, ci.id as issueid, ci.emailed FROM {customcert_issues} ci JOIN {user} u diff --git a/verify_certificate.php b/verify_certificate.php index 9ed0018..dead636 100644 --- a/verify_certificate.php +++ b/verify_certificate.php @@ -93,7 +93,7 @@ if ($code) { $result->issues = array(); // Ok, now check if the code is valid. - $userfields = get_all_user_name_fields(true, 'u'); + $userfields = \mod_customcert\helper::get_all_user_name_fields('u'); $sql = "SELECT ci.id, u.id as userid, $userfields, co.id as courseid, co.fullname as coursefullname, c.id as certificateid, c.name as certificatename, c.verifyany