/** * Open a new changeset. If one is already open, this does nothing. * @param string $comment * @param boolean $keepOpen Whether the changeset should be kept open (and manually closed) after after_save() is called. */ public function openChangeset($comment, $keepOpen = null) { if (!is_null($keepOpen)) { self::$keepChangesetOpen = $keepOpen; } if (!self::$currentChangesetId) { $sql = "INSERT INTO changesets SET " . " `date_and_time` = :date_and_time," . " `user` = :user," . " `comment` = :comment "; $data = array('date_and_time' => date('Y-m-d H:i:s'), 'user' => $this->db->getCurrentUser(), 'comment' => $comment); $this->db->query($sql, $data); self::$currentChangesetId = $this->db->lastInsertId(); } }
public function testBasics() { $db = new Database(); // Make sure the default records were created. $db->setCurrentUser(Users::ADMIN); $this->assertEquals(2, $db->getTable('users')->getRecordCount()); $this->assertEquals(2, $db->getTable('groups')->getRecordCount()); $this->assertEquals(2, $db->getTable('group_members')->getRecordCount()); // The anon user can't see anything. $db->setCurrentUser(Users::ANON); $this->assertEquals(Users::ANON, $db->getCurrentUser()); $this->assertEmpty($db->getTables()); // The admin user can see everything. $db->setCurrentUser(Users::ADMIN); $expectedTables = ['changes', 'changesets', 'grants', 'group_members', 'groups', 'sessions', 'test_table', 'test_types', 'users', 'report_sources', 'reports']; $this->assertEquals($expectedTables, $db->getTableNames(), '', 0, 1, true, true); }