diff --git a/backup/converter/moodle1/lib.php b/backup/converter/moodle1/lib.php index 9fcda9e70f7..7e493b4348d 100644 --- a/backup/converter/moodle1/lib.php +++ b/backup/converter/moodle1/lib.php @@ -410,6 +410,23 @@ class moodle1_converter extends base_converter { } } + /** + * Returns the list of stashed $itemids in the given stash + * + * @param string $stashname + * @return array + */ + public function get_stash_itemids($stashname) { + global $DB; + + $search = array( + 'backupid' => $this->get_id(), + 'itemname' => $stashname + ); + + return array_keys($DB->get_records('backup_ids_temp', $search, '', 'itemid')); + } + /** * Generates an artificial context id * diff --git a/backup/converter/moodle1/simpletest/testlib.php b/backup/converter/moodle1/simpletest/testlib.php index 03dbce67483..67e0bc6de75 100644 --- a/backup/converter/moodle1/simpletest/testlib.php +++ b/backup/converter/moodle1/simpletest/testlib.php @@ -108,6 +108,18 @@ class moodle1_converter_test extends UnitTestCase { $this->assertIdentical('Hello', $converter->get_stash('tempinfo', 1)); $this->assertIdentical('World', $converter->get_stash('tempinfo', 2)); + // test get_stash_itemids() + $ids = $converter->get_stash_itemids('course_fileref'); + $this->assertIsA($ids, 'array'); + $this->assertTrue(empty($ids)); + + $converter->set_stash('course_fileref', null, 34); + $converter->set_stash('course_fileref', null, 52); + $ids = $converter->get_stash_itemids('course_fileref'); + $this->assertEqual(2, count($ids)); + $this->assertTrue(in_array(34, $ids)); + $this->assertTrue(in_array(52, $ids)); + $converter->drop_stash_storage(); }