From ec71acb7989303b9cbb229fce5581949daa9f59a Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Wed, 10 Jul 2013 09:54:38 +0800 Subject: [PATCH 1/3] MDL-31776 - lib: mod/forums - Fixed discussion sql query. --- mod/forum/lib.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mod/forum/lib.php b/mod/forum/lib.php index e23f4a81692..3281b98680e 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -2684,7 +2684,11 @@ function forum_get_discussions($cm, $forumsort="d.timemodified DESC", $fullpost= $umfields = ""; $umtable = ""; } else { - $umfields = ", um.firstname AS umfirstname, um.lastname AS umlastname"; + $umfields = ''; + $umnames = get_all_user_name_fields(); + foreach ($umnames as $umname) { + $umfields .= ', um.' . $umname . ' AS um' . $umname; + } $umtable = " LEFT JOIN {user} um ON (d.usermodified = um.id)"; } @@ -3810,7 +3814,7 @@ function forum_print_discussion_header(&$post, $forum, $group=-1, $datestring="" $usermodified->id = $post->usermodified; foreach (get_all_user_name_fields() as $addname) { $temp = 'um' . $addname; - $usermodified->$addname = $post->$temp; + $usermodified->$addname = $post->$temp; } echo ''. fullname($usermodified).'
'; From 38dff99e642f25594bd47b6203039c4b46df6397 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Wed, 10 Jul 2013 15:28:08 +0800 Subject: [PATCH 2/3] MDL-31776 - lib: Alternate name fields - fixed up user object in question code. --- question/editlib.php | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/question/editlib.php b/question/editlib.php index d1b9c592c06..556dcc76763 100644 --- a/question/editlib.php +++ b/question/editlib.php @@ -559,8 +559,13 @@ class question_bank_creator_name_column extends question_bank_column_base { protected function display_content($question, $rowclasses) { if (!empty($question->creatorfirstname) && !empty($question->creatorlastname)) { $u = new stdClass(); - $u->firstname = $question->creatorfirstname; - $u->lastname = $question->creatorlastname; + $allnames = get_all_user_name_fields(); + foreach ($allnames as $allname) { + $tempname = 'creator' . $allname; + if (isset($question->$tempname)) { + $u->$allname = $question->$tempname; + } + } echo fullname($u); } } @@ -570,7 +575,12 @@ class question_bank_creator_name_column extends question_bank_column_base { } public function get_required_fields() { - return array('uc.firstname AS creatorfirstname', 'uc.lastname AS creatorlastname'); + $allnames = get_all_user_name_fields(); + $requiredfields = array(); + foreach ($allnames as $allname) { + $requiredfields[] = 'uc.' . $allname . ' AS creator' . $allname; + } + return $requiredfields; } public function is_sortable() { @@ -600,8 +610,13 @@ class question_bank_modifier_name_column extends question_bank_column_base { protected function display_content($question, $rowclasses) { if (!empty($question->modifierfirstname) && !empty($question->modifierlastname)) { $u = new stdClass(); - $u->firstname = $question->modifierfirstname; - $u->lastname = $question->modifierlastname; + $allnames = get_all_user_name_fields(); + foreach ($allnames as $allname) { + $tempname = 'modifier' . $allname; + if (isset($question->$tempname)) { + $u->$allname = $question->$tempname; + } + } echo fullname($u); } } @@ -611,7 +626,12 @@ class question_bank_modifier_name_column extends question_bank_column_base { } public function get_required_fields() { - return array('um.firstname AS modifierfirstname', 'um.lastname AS modifierlastname'); + $allnames = get_all_user_name_fields(); + $requiredfields = array(); + foreach ($allnames as $allname) { + $requiredfields[] = 'um.' . $allname . ' AS modifier' . $allname; + } + return $requiredfields; } public function is_sortable() { @@ -1387,7 +1407,6 @@ class question_bank_view { if ($totalnumber == 0) { return; } - $questions = $this->load_page_questions($page, $perpage); echo '
'; From 12b4487ef3afb66441bf3a07251ef36226d159bd Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Wed, 10 Jul 2013 17:41:06 +0800 Subject: [PATCH 3/3] MDL-31776 - lib: Alternate name fields - update of gradebook sql query. --- grade/report/grader/lib.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 3c215858bda..5551f92c952 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -262,7 +262,8 @@ class grade_report_grader extends grade_report { } } if ($errorstr) { - $user = $DB->get_record('user', array('id' => $userid), 'id, firstname, lastname'); + $userfields = 'id, ' . get_all_user_name_fields(true); + $user = $DB->get_record('user', array('id' => $userid), $userfields); $gradestr = new stdClass(); $gradestr->username = fullname($user); $gradestr->itemname = $gradeitem->get_name();