/** * Test for PMA_getHtmlForSpecificDbPrivileges * * @return void */ public function testPMAGetHtmlForSpecificDbPrivileges() { $dbi_old = $GLOBALS['dbi']; $dbi = $this->getMockBuilder('PMA\\libraries\\DatabaseInterface')->disableOriginalConstructor()->getMock(); $fields_info = array(array('COLUMN_NAME' => 'Host', 'CHARACTER_MAXIMUM_LENGTH' => 80), array('COLUMN_NAME' => 'User', 'CHARACTER_MAXIMUM_LENGTH' => 40)); $dbi->expects($this->any())->method('fetchResult')->will($this->returnValue($fields_info)); $GLOBALS['dbi'] = $dbi; $db = "pma_dbname"; $html = PMA_getHtmlForSpecificDbPrivileges($db); //validate 1: PMA_URL_getCommon $this->assertContains(PMA_URL_getCommon(array('db' => $db)), $html); //validate 2: htmlspecialchars $this->assertContains(htmlspecialchars($db), $html); //validate 3: items $this->assertContains(__('User'), $html); $this->assertContains(__('Host'), $html); $this->assertContains(__('Type'), $html); $this->assertContains(__('Privileges'), $html); $this->assertContains(__('Grant'), $html); $this->assertContains(__('Action'), $html); //_pgettext('Create new user', 'New') $this->assertContains(_pgettext('Create new user', 'New'), $html); $this->assertContains(PMA_URL_getCommon(array('checkprivsdb' => $db)), $html); $GLOBALS['dbi'] = $dbi_old; }
$response->addJSON('title', $title); exit; } else { $response->addHTML("<h2>{$title}</h2>{$export}"); } } if (isset($_REQUEST['adduser'])) { // Add user $response->addHTML(PMA_getHtmlForAddUser(isset($dbname) ? $dbname : '')); } elseif (isset($_REQUEST['checkprivsdb'])) { if (isset($_REQUEST['checkprivstable'])) { // check the privileges for a particular table. $response->addHTML(PMA_getHtmlForSpecificTablePrivileges($_REQUEST['checkprivsdb'], $_REQUEST['checkprivstable'])); } else { // check the privileges for a particular database. $response->addHTML(PMA_getHtmlForSpecificDbPrivileges($_REQUEST['checkprivsdb'])); } } else { if (!isset($username)) { // No username is given --> display the overview $response->addHTML(PMA_getHtmlForUserOverview($pmaThemeImage, $text_dir)); } else { // A user was selected -> display the user's properties // In an Ajax request, prevent cached values from showing if ($GLOBALS['is_ajax_request'] == true) { header('Cache-Control: no-cache'); } if (isset($dbname) && !is_array($dbname)) { $url_dbname = urlencode(str_replace(array('\\_', '\\%'), array('_', '%'), $_REQUEST['dbname'])); } $response->addHTML(PMA_getHtmlForUserProperties(isset($dbname_is_wildcard) ? $dbname_is_wildcard : '', isset($url_dbname) ? $url_dbname : '', $username, $hostname, isset($dbname) ? $dbname : '', isset($tablename) ? $tablename : ''));
// Add user $response->addHTML( PMA_getHtmlForAddUser((isset($dbname) ? $dbname : '')) ); } elseif (isset($_REQUEST['checkprivsdb'])) { if (isset($_REQUEST['checkprivstable'])) { // check the privileges for a particular table. $response->addHTML( PMA_getHtmlForSpecificTablePrivileges( $_REQUEST['checkprivsdb'], $_REQUEST['checkprivstable'] ) ); } else { // check the privileges for a particular database. $response->addHTML( PMA_getHtmlForSpecificDbPrivileges($_REQUEST['checkprivsdb']) ); } } else { if (isset($dbname) && ! is_array($dbname)) { $url_dbname = urlencode( str_replace( array('\_', '\%'), array('_', '%'), $_REQUEST['dbname'] ) ); } if (! isset($username)) { // No username is given --> display the overview
unset($username, $hostname, $grants, $one_grant); $response = PMA_Response::getInstance(); if ($GLOBALS['is_ajax_request']) { $response->addJSON('message', $export); $response->addJSON('title', $title); exit; } else { $response->addHTML("<h2>{$title}</h2>{$export}"); } } if (empty($_REQUEST['adduser']) && (!isset($_REQUEST['checkprivs']) || !strlen($_REQUEST['checkprivs']))) { if (!isset($username)) { // No username is given --> display the overview $response->addHTML(PMA_getHtmlForDisplayUserOverviewPage($link_edit, $pmaThemeImage, $text_dir, $conditional_class, $link_export)); } else { // A user was selected -> display the user's properties // In an Ajax request, prevent cached values from showing if ($GLOBALS['is_ajax_request'] == true) { header('Cache-Control: no-cache'); } $url_dbname = urlencode(str_replace(array('\\_', '\\%'), array('_', '%'), $_REQUEST['dbname'])); $response->addHTML(PMA_getHtmlForDisplayUserProperties(isset($dbname_is_wildcard) ? $dbname_is_wildcard : '', $url_dbname, $username, $hostname, $link_edit, $link_revoke, isset($unescaped_db) ? $unescaped_db : '', isset($tablename) ? $tablename : '')); } } elseif (isset($_REQUEST['adduser'])) { // Add user $response->addHTML(PMA_getHtmlForAddUser(isset($dbname) ? $dbname : '')); } else { // check the privileges for a particular database. $response->addHTML(PMA_getHtmlForSpecificDbPrivileges($link_edit, $conditional_class)); } // end if (empty($_REQUEST['adduser']) && empty($checkprivs))... elseif... else...
header('Cache-Control: no-cache'); } $url_dbname = urlencode( str_replace( array('\_', '\%'), array('_', '%'), $_REQUEST['dbname'] ) ); $response->addHTML( PMA_getHtmlForDisplayUserProperties( $dbname_is_wildcard, $url_dbname, $random_n, $username, $hostname, $link_edit, $link_revoke, (isset($dbename) ? $dbname : ''), (isset($tablename) ? $tablename : '') ) ); } } elseif (isset($_REQUEST['adduser'])) { // Add user $response->addHTML( PMA_getHtmlForAddUser($random_n, $dbname) ); } else { // check the privileges for a particular database. $response->addHTML( PMA_getHtmlForSpecificDbPrivileges($link_edit, $conditional_class) ); } // end if (empty($_REQUEST['adduser']) && empty($checkprivs))... elseif... else... ?>
/** * Test for PMA_getHtmlForSpecificDbPrivileges * * @return void */ public function testPMAGetHtmlForSpecificDbPrivileges() { $dbi_old = $GLOBALS['dbi']; $dbi = $this->getMockBuilder('PMA_DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $fields_info = array( "Host" => array( "Field" => "host", "Type" => "char(60)", "Null" => "NO", ) ); $dbi->expects($this->any())->method('getColumns') ->will($this->returnValue($fields_info)); $GLOBALS['dbi'] = $dbi; $db = "pma_dbname"; $html = PMA_getHtmlForSpecificDbPrivileges($db); //validate 1: PMA_URL_getCommon $this->assertContains( PMA_URL_getCommon($db), $html ); //validate 2: htmlspecialchars $this->assertContains( htmlspecialchars($db), $html ); //validate 3: items $this->assertContains( __('User'), $html ); $this->assertContains( __('Host'), $html ); $this->assertContains( __('Type'), $html ); $this->assertContains( __('Privileges'), $html ); $this->assertContains( __('Grant'), $html ); $this->assertContains( __('Action'), $html ); //_pgettext('Create new user', 'New') $this->assertContains( _pgettext('Create new user', 'New'), $html ); $this->assertContains( PMA_URL_getCommon(array('checkprivsdb' => $db)), $html ); $GLOBALS['dbi'] = $dbi_old; }