Example #1
0
 /**
  * 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();
     }
 }
Example #2
0
 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);
 }