diff --git a/admin/roles/tests/privacy/provider_test.php b/admin/roles/tests/privacy/provider_test.php index 659a1ef2869..fab062222a3 100644 --- a/admin/roles/tests/privacy/provider_test.php +++ b/admin/roles/tests/privacy/provider_test.php @@ -190,48 +190,48 @@ class provider_test extends provider_testcase { if ($data = $writer->get_data($subcontextstudent)) { $this->assertEquals($user->id, reset($data)->userid); } - if ($data = $writer->get_data($subcontextrc)) { + if ($data = (array)$writer->get_data($subcontextrc)) { $this->assertEquals('moodle/backup:backupactivity', reset($data)->capability); $this->assertEquals($strpermissions[CAP_ALLOW], reset($data)->permission); } } if ($context->contextlevel == CONTEXT_COURSE) { - if ($data = $writer->get_data($subcontextstudent)) { + if ($data = (array)$writer->get_data($subcontextstudent)) { $this->assertEquals($user->id, reset($data)->userid); } - if ($data = $writer->get_data($subcontextrc)) { + if ($data = (array)$writer->get_data($subcontextrc)) { $this->assertEquals('moodle/backup:backupcourse', reset($data)->capability); } } if ($context->contextlevel == CONTEXT_COURSECAT) { - if ($data = $writer->get_data($subcontextmanager)) { + if ($data = (array)$writer->get_data($subcontextmanager)) { $this->assertEquals($user->id, reset($data)->modifierid); } - if ($data = $writer->get_data($subcontextrc)) { + if ($data = (array)$writer->get_data($subcontextrc)) { $this->assertEquals('moodle/category:manage', reset($data)->capability); } } if ($context->contextlevel == CONTEXT_SYSTEM) { - if ($data = $writer->get_data($subcontextmanager)) { + if ($data = (array)$writer->get_data($subcontextmanager)) { $this->assertEquals($user->id, reset($data)->modifierid); } - if ($data = $writer->get_data($subcontextrc)) { + if ($data = (array)$writer->get_data($subcontextrc)) { $this->assertEquals('moodle/backup:backupcourse', reset($data)->capability); } } if ($context->contextlevel == CONTEXT_BLOCK) { - if ($data = $writer->get_data($subcontextstudent)) { + if ($data = (array)$writer->get_data($subcontextstudent)) { $this->assertEquals($user->id, reset($data)->userid); } - if ($data = $writer->get_data($subcontextrc)) { + if ($data = (array)$writer->get_data($subcontextrc)) { $this->assertEquals('moodle/block:edit', reset($data)->capability); } } if ($context->contextlevel == CONTEXT_USER) { - if ($data = $writer->get_data($subcontextmanager)) { + if ($data = (array)$writer->get_data($subcontextmanager)) { $this->assertEquals($user->id, reset($data)->userid); } - if ($data = $writer->get_data($subcontextrc)) { + if ($data = (array)$writer->get_data($subcontextrc)) { $this->assertEquals('moodle/competency:evidencedelete', reset($data)->capability); } } @@ -415,7 +415,7 @@ class provider_test extends provider_testcase { provider::export_user_role_to_cohort($user->id); $writer = writer::with_context($contextuserassignover); $this->assertTrue($writer->has_any_data()); - $exported = $writer->get_related_data($subcontextteacher, 'cohortroles'); + $exported = (array)$writer->get_related_data($subcontextteacher, 'cohortroles'); $this->assertEquals($user->id, reset($exported)->userid); // Test User is member of a cohort which User2 is assigned to role to this cohort. @@ -432,7 +432,7 @@ class provider_test extends provider_testcase { provider::export_user_role_to_cohort($user->id); $writer = writer::with_context($contextuser); $this->assertTrue($writer->has_any_data()); - $exported = $writer->get_related_data($subcontextteacher, 'cohortroles'); + $exported = (array)$writer->get_related_data($subcontextteacher, 'cohortroles'); $this->assertEquals($user2->id, reset($exported)->userid); } diff --git a/admin/tool/usertours/tests/privacy/provider_test.php b/admin/tool/usertours/tests/privacy/provider_test.php index bc70e6bc924..907feb48352 100644 --- a/admin/tool/usertours/tests/privacy/provider_test.php +++ b/admin/tool/usertours/tests/privacy/provider_test.php @@ -145,8 +145,8 @@ class provider_test extends \core_privacy\tests\provider_testcase { $writer = writer::with_context(\context_system::instance()); $this->assertTrue($writer->has_any_data()); - $prefs = $writer->get_user_preferences('tool_usertours'); - $this->assertCount(1, (array) $prefs); + $prefs = (array)$writer->get_user_preferences('tool_usertours'); + $this->assertCount(1, $prefs); // We should have received back the "completed tour" preference of the test user. $this->assertStringStartsWith('You last marked the "' . $tour->get_name() . '" user tour as completed on', @@ -180,8 +180,8 @@ class provider_test extends \core_privacy\tests\provider_testcase { $this->assertTrue($writer->has_any_data()); // We should have one preference. - $prefs = $writer->get_user_preferences('tool_usertours'); - $this->assertCount(1, (array) $prefs); + $prefs = (array)$writer->get_user_preferences('tool_usertours'); + $this->assertCount(1, $prefs); // The preference should be related to the first tour. $this->assertStringContainsString($tour1->get_name(), reset($prefs)->description); diff --git a/auth/mnet/tests/privacy/provider_test.php b/auth/mnet/tests/privacy/provider_test.php index 097077f61d3..01fac8140b2 100644 --- a/auth/mnet/tests/privacy/provider_test.php +++ b/auth/mnet/tests/privacy/provider_test.php @@ -111,7 +111,7 @@ class provider_test extends provider_testcase { $approvedlist = new approved_contextlist($user, 'auth_mnet', [$usercontext->id]); provider::export_user_data($approvedlist); - $data = $writer->get_data([get_string('pluginname', 'auth_mnet'), $hostrecord->name, $logrecord->coursename]); + $data = (array)$writer->get_data([get_string('pluginname', 'auth_mnet'), $hostrecord->name, $logrecord->coursename]); $this->assertEquals($logrecord->remoteid, reset($data)->remoteid); $this->assertEquals(transform::datetime($logrecord->time), reset($data)->time); diff --git a/enrol/tests/privacy/provider_test.php b/enrol/tests/privacy/provider_test.php index 37b3efad19d..6b3ffe46f59 100644 --- a/enrol/tests/privacy/provider_test.php +++ b/enrol/tests/privacy/provider_test.php @@ -98,7 +98,7 @@ class provider_test extends provider_testcase { writer::reset(); $writer = writer::with_context($coursecontext2); $this->export_context_data_for_user($user1->id, $coursecontext2, 'core_enrol'); - $data = $writer->get_related_data($subcontexts, 'manual'); + $data = (array)$writer->get_related_data($subcontexts, 'manual'); $this->assertEquals($enrolmentcouse2->status, reset($data)->status); $this->assertEquals(transform::datetime($enrolmentcouse2->timestart), reset($data)->timestart); $this->assertEquals(transform::datetime($enrolmentcouse2->timeend), reset($data)->timeend); diff --git a/lib/dml/sqlsrv_native_moodle_database.php b/lib/dml/sqlsrv_native_moodle_database.php index 3eef334224b..55ad90ab49a 100644 --- a/lib/dml/sqlsrv_native_moodle_database.php +++ b/lib/dml/sqlsrv_native_moodle_database.php @@ -978,10 +978,11 @@ class sqlsrv_native_moodle_database extends moodle_database { $results = array(); foreach ($rs as $row) { - $id = reset($row); + $rowarray = (array)$row; + $id = reset($rowarray); if (isset($results[$id])) { - $colname = key($row); + $colname = key($rowarray); debugging("Did you remember to make the first column something unique in your call to get_records? Duplicate value '$id' found in column '$colname'.", DEBUG_DEVELOPER); } $results[$id] = (object)$row; @@ -1006,7 +1007,8 @@ class sqlsrv_native_moodle_database extends moodle_database { $results = array (); foreach ($rs as $row) { - $results[] = reset($row); + $rowarray = (array)$row; + $results[] = reset($rowarray); } $rs->close(); diff --git a/mnet/service/enrol/tests/privacy/provider_test.php b/mnet/service/enrol/tests/privacy/provider_test.php index c9f61804152..55b9239eacb 100644 --- a/mnet/service/enrol/tests/privacy/provider_test.php +++ b/mnet/service/enrol/tests/privacy/provider_test.php @@ -106,8 +106,8 @@ class provider_test extends provider_testcase { $this->assertFalse($writer->has_any_data()); $approvedlist = new approved_contextlist($user, 'mnetservice_enrol', [$usercontext->id]); provider::export_user_data($approvedlist); - $data = $writer->get_data($subcontexts); - $this->assertCount(1, (array)$data); + $data = (array)$writer->get_data($subcontexts); + $this->assertCount(1, $data); $this->assertEquals($this->mnethost->name, reset($data)->host); $remotecoursename = $DB->get_field('mnetservice_enrol_courses', 'fullname', array('remoteid' => $this->enrolment->remotecourseid)); diff --git a/mod/h5pactivity/tests/privacy/provider_test.php b/mod/h5pactivity/tests/privacy/provider_test.php index ae7dc492c9a..e39f1623e89 100644 --- a/mod/h5pactivity/tests/privacy/provider_test.php +++ b/mod/h5pactivity/tests/privacy/provider_test.php @@ -123,21 +123,21 @@ class provider_test extends provider_testcase { $data = $writer->get_data([]); $this->assertEquals('H5P 1', $data->name); - $data = $writer->get_data($subcontextattempt1); - $this->assertCount(1, (array) $data); + $data = (array)$writer->get_data($subcontextattempt1); + $this->assertCount(1, $data); $this->assertCount(3, (array) reset($data)); $subcontextattempt2 = [ get_string('myattempts', 'mod_h5pactivity'), get_string('attempt', 'mod_h5pactivity'). " 2" ]; - $data = $writer->get_data($subcontextattempt2); + $data = (array)$writer->get_data($subcontextattempt2); $this->assertCount(3, (array) reset($data)); // The student1 has only 1 tracked attempts. $subcontextattempt3 = [ get_string('myattempts', 'mod_h5pactivity'), get_string('attempt', 'mod_h5pactivity'). " 3" ]; - $data = $writer->get_data($subcontextattempt3); + $data = (array)$writer->get_data($subcontextattempt3); $this->assertEmpty($data); } diff --git a/mod/scorm/tests/privacy/provider_test.php b/mod/scorm/tests/privacy/provider_test.php index 7d272d39047..69318090898 100644 --- a/mod/scorm/tests/privacy/provider_test.php +++ b/mod/scorm/tests/privacy/provider_test.php @@ -127,14 +127,14 @@ class provider_test extends provider_testcase { $data = $writer->get_data([]); $this->assertEquals('SCORM1', $data->name); - $data = $writer->get_data($subcontextattempt1); - $this->assertCount(1, (array) $data); + $data = (array)$writer->get_data($subcontextattempt1); + $this->assertCount(1, $data); $this->assertCount(2, (array) reset($data)); $subcontextattempt2 = [ get_string('myattempts', 'scorm'), get_string('attempt', 'scorm'). " 2" ]; - $data = $writer->get_data($subcontextattempt2); + $data = (array)$writer->get_data($subcontextattempt2); $this->assertCount(2, (array) reset($data)); // The student1 has only 2 scoes_track attempts. $subcontextattempt3 = [