Пример #1
0
 * 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);
 }