/** * 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)) . '" />'; $html_output .= '<fieldset id="fieldset_user_global_rights"><legend>'; if ($db == '*') { $html_output .= __('Global privileges'); } else { if ($table == '*') { $html_output .= __('Database-specific privileges'); } else { $html_output .= __('Table-specific privileges'); } } $html_output .= ' (<a href="#" ' . 'onclick="setCheckboxes(\'fieldset_user_global_rights\', true); ' . 'return false;">' . __('Check All') . '</a> /' . '<a href="#" ' . 'onclick="setCheckboxes(\'fieldset_user_global_rights\', false); ' . 'return false;">' . __('Uncheck All') . '</a>)'; $html_output .= '</legend>'; $html_output .= '<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_getHtmlForDisplayResourceLimits($row); } // for Safari 2.0.2 $html_output .= '<div class="clearfloat"></div>'; return $html_output; }
/** * Test for PMA_getHtmlForDisplayResourceLimits * * @return void */ public function testPMAGetHtmlForDisplayResourceLimits() { $row = array( 'max_questions' => 'max_questions', 'max_updates' => 'max_updates', 'max_connections' => 'max_connections', 'max_user_connections' => 'max_user_connections', ); //PMA_getHtmlForDisplayResourceLimits $html = PMA_getHtmlForDisplayResourceLimits($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 ); }