/**
 * Get HTML for global or database specific privileges
 *
 * @param string $db    the database
 * @param string $table the table
 * @param string $row   first row from result or boolean false
 *
 * @return string $html_output
 */
function PMA_getHtmlForGlobalOrDbSpecificPrivs($db, $table, $row)
{
    $privTable_names = array(0 => __('Data'), 1 => __('Structure'), 2 => __('Administration'));
    $privTable = array();
    // d a t a
    $privTable[0] = PMA_getDataPrivilegeTable($db);
    // s t r u c t u r e
    $privTable[1] = PMA_getStructurePrivilegeTable($table, $row);
    // a d m i n i s t r a t i o n
    $privTable[2] = PMA_getAdministrationPrivilegeTable($db);
    $html_output = '<input type="hidden" name="grant_count" value="' . (count($privTable[0]) + count($privTable[1]) + count($privTable[2]) - (isset($row['Grant_priv']) ? 1 : 0)) . '" />';
    if ($db == '*') {
        $legend = __('Global privileges');
        $menu_label = __('Global');
    } else {
        if ($table == '*') {
            $legend = __('Database-specific privileges');
            $menu_label = __('Database');
        } else {
            $legend = __('Table-specific privileges');
            $menu_label = __('Table');
        }
    }
    $html_output .= '<fieldset id="fieldset_user_global_rights">' . '<legend data-submenu-label="' . $menu_label . '">' . $legend . '<input type="checkbox" id="addUsersForm_checkall" ' . 'class="checkall_box" title="' . __('Check All') . '" /> ' . '<label for="addUsersForm_checkall">' . __('Check All') . '</label> ' . '</legend>' . '<p><small><i>' . __('Note: MySQL privilege names are expressed in English.') . '</i></small></p>';
    // Output the Global privilege tables with checkboxes
    $html_output .= PMA_getHtmlForGlobalPrivTableWithCheckboxes($privTable, $privTable_names, $row);
    // The "Resource limits" box is not displayed for db-specific privs
    if ($db == '*') {
        $html_output .= PMA_getHtmlForResourceLimits($row);
        $html_output .= PMA_getHtmlForRequires($row);
    }
    // for Safari 2.0.2
    $html_output .= '<div class="clearfloat"></div>';
    return $html_output;
}
 /**
  * Test for PMA_getHtmlForResourceLimits
  *
  * @return void
  */
 public function testPMAGetHtmlForResourceLimits()
 {
     $row = array('max_questions' => 'max_questions', 'max_updates' => 'max_updates', 'max_connections' => 'max_connections', 'max_user_connections' => 'max_user_connections');
     //PMA_getHtmlForResourceLimits
     $html = PMA_getHtmlForResourceLimits($row);
     $this->assertContains('<legend>' . __('Resource limits') . '</legend>', $html);
     $this->assertContains(__('Note: Setting these options to 0 (zero) removes the limit.'), $html);
     $this->assertContains('MAX QUERIES PER HOUR', $html);
     $this->assertContains($row['max_connections'], $html);
     $this->assertContains($row['max_updates'], $html);
     $this->assertContains($row['max_connections'], $html);
     $this->assertContains($row['max_user_connections'], $html);
     $this->assertContains(__('Limits the number of simultaneous connections the user may have.'), $html);
     $this->assertContains(__('Limits the number of simultaneous connections the user may have.'), $html);
 }