* Add a new user group */ if (! empty($_REQUEST['addUserGroupSubmit'])) { PMA_editUserGroup($_REQUEST['userGroup'], true); } /** * Update a user group */ if (! empty($_REQUEST['editUserGroupSubmit'])) { PMA_editUserGroup($_REQUEST['userGroup']); } if (isset($_REQUEST['viewUsers'])) { // Display users belonging to a user group $response->addHTML(PMA_getHtmlForListingUsersofAGroup($_REQUEST['userGroup'])); } if (isset($_REQUEST['addUserGroup'])) { // Display add user group dialog $response->addHTML(PMA_getHtmlToEditUserGroup()); } elseif (isset($_REQUEST['editUserGroup'])) { // Display edit user group dialog $response->addHTML(PMA_getHtmlToEditUserGroup($_REQUEST['userGroup'])); } else { // Display user groups table $response->addHTML(PMA_getHtmlForUserGroupsTable()); } $response->addHTML('</div>');
/** * Tests PMA_getHtmlToEditUserGroup() function * * @return void */ public function testGetHtmlToEditUserGroup() { // adding a user group $html = PMA_getHtmlToEditUserGroup(); $this->assertContains('<input type="hidden" name="addUserGroupSubmit" value="1"', $html); $this->assertContains('<input type="text" name="userGroup"', $html); $expectedQuery = "SELECT * FROM `pmadb`.`usergroups`" . " WHERE `usergroup`='ug'"; $dbi = $this->getMockBuilder('PMA\\libraries\\DatabaseInterface')->disableOriginalConstructor()->getMock(); $dbi->expects($this->once())->method('tryQuery')->with($expectedQuery)->will($this->returnValue(true)); $dbi->expects($this->at(1))->method('fetchAssoc')->withAnyParameters()->will($this->returnValue(array('usergroup' => 'ug', 'tab' => 'server_sql', 'allowed' => 'Y'))); $dbi->expects($this->at(2))->method('fetchAssoc')->withAnyParameters()->will($this->returnValue(false)); $dbi->expects($this->once())->method('freeResult'); $GLOBALS['dbi'] = $dbi; // editing a user group $html = PMA_getHtmlToEditUserGroup('ug'); $this->assertContains('<input type="hidden" name="userGroup" value="ug"', $html); $this->assertContains('<input type="hidden" name="editUserGroupSubmit" value="1"', $html); $this->assertContains('<input type="hidden" name="editUserGroupSubmit" value="1"', $html); $this->assertContains('<input type="checkbox" class="checkall" checked="checked"' . ' name="server_sql" value="Y" />', $html); $this->assertContains('<input type="checkbox" class="checkall"' . ' name="server_databases" value="Y" />', $html); }