From cd92d83bf2d34e725da3e7132c48762c33fc1b15 Mon Sep 17 00:00:00 2001 From: David Mudrak Date: Fri, 3 Jun 2011 15:10:15 +0200 Subject: [PATCH] MDL-22414 Added new method to get the list of existing stashes --- backup/converter/moodle1/lib.php | 15 +++++++++++++++ backup/converter/moodle1/simpletest/testlib.php | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/backup/converter/moodle1/lib.php b/backup/converter/moodle1/lib.php index 58eb0e9ade7..e305e8ad941 100644 --- a/backup/converter/moodle1/lib.php +++ b/backup/converter/moodle1/lib.php @@ -443,6 +443,21 @@ class moodle1_converter extends base_converter { } } + /** + * Returns the list of existing stashes + * + * @return array + */ + public function get_stash_names() { + global $DB; + + $search = array( + 'backupid' => $this->get_id(), + ); + + return array_keys($DB->get_records('backup_ids_temp', $search, '', 'itemname')); + } + /** * Returns the list of stashed $itemids in the given stash * diff --git a/backup/converter/moodle1/simpletest/testlib.php b/backup/converter/moodle1/simpletest/testlib.php index 0ab7b321903..1d8edfe7dfd 100644 --- a/backup/converter/moodle1/simpletest/testlib.php +++ b/backup/converter/moodle1/simpletest/testlib.php @@ -109,9 +109,19 @@ class moodle1_converter_test extends UnitTestCase { $converter = convert_factory::get_converter('moodle1', $this->tempdir); $converter->create_stash_storage(); + // no implicit stashes + $stashes = $converter->get_stash_names(); + $this->assertIsA($stashes, 'array'); + $this->assertTrue(empty($stashes)); + // test stashes without itemid $converter->set_stash('tempinfo1', 12); $converter->set_stash('tempinfo2', array('a' => 2, 'b' => 3)); + $stashes = $converter->get_stash_names(); + $this->assertIsA($stashes, 'array'); + $this->assertEqual(2, count($stashes)); + $this->assertTrue(in_array('tempinfo1', $stashes)); + $this->assertTrue(in_array('tempinfo2', $stashes)); $this->assertIdentical(12, $converter->get_stash('tempinfo1')); $this->assertIdentical(array('a' => 2, 'b' => 3), $converter->get_stash('tempinfo2'));