$header_type = $dbstats ? "database_statistics" : "databases"; $response->addHTML(PMA_getHtmlForSubPageHeader($header_type)); /** * Displays For Create database. */ $html = ''; if ($cfg['ShowCreateDb']) { $html .= '<ul><li id="li_create_database" class="no_bullets">' . "\n"; include 'libraries/display_create_database.lib.php'; $html .= ' </li>' . "\n"; $html .= '</ul>' . "\n"; } /** * Gets the databases list */ if ($server > 0) { $databases = $GLOBALS['dbi']->getDatabasesFull(null, $dbstats, null, $sort_by, $sort_order, $pos, true); $databases_count = count($GLOBALS['pma']->databases); } else { $databases_count = 0; } /** * Displays the page */ if ($databases_count > 0 && !empty($databases)) { $html .= PMA_getHtmlForDatabase($databases, $databases_count, $pos, $dbstats, $sort_by, $sort_order, $is_superuser, $cfg, $replication_types, $GLOBALS['replication_info'], $url_query); } else { $html .= __('No databases'); } unset($databases_count); $response->addHTML($html);
/** * Test for PMA_getHtmlForDatabase * * @return void * @group medium */ public function testPMAGetHtmlForDatabase() { //Mock DBI $dbi = $this->getMockBuilder('PMA_DatabaseInterface')->disableOriginalConstructor()->getMock(); $GLOBALS['dbi'] = $dbi; //Call the test function $databases = array(array("SCHEMA_NAME" => "pma_bookmark"), array("SCHEMA_NAME" => "information_schema"), array("SCHEMA_NAME" => "mysql"), array("SCHEMA_NAME" => "performance_schema"), array("SCHEMA_NAME" => "phpmyadmin")); $databases_count = 5; $pos = 0; $dbstats = 0; $sort_by = "SCHEMA_NAME"; $sort_order = "asc"; $is_superuser = true; $cfg = array("AllowUserDropDatabase" => false, "ActionLinksMode" => "both"); $replication_types = array("master", "slave"); $replication_info = array("master" => array("status" => true, "Ignore_DB" => array("DB" => "Ignore_DB"), "Do_DB" => array("")), "slave" => array("status" => false, "Ignore_DB" => array("DB" => "Ignore_DB"), "Do_DB" => array(""))); $url_query = "token=27ae04f0b003a84e5c2796182f361ff1"; $html = PMA_getHtmlForDatabase($databases, $databases_count, $pos, $dbstats, $sort_by, $sort_order, $is_superuser, $cfg, $replication_types, $replication_info, $url_query); //validate 1: General info $this->assertContains('<div id="tableslistcontainer">', $html); //validate 2:ajax Form $this->assertContains('<form class="ajax" action="server_databases.php" ', $html); $this->assertContains('<table id="tabledatabases" class="data">', $html); //validate 3: PMA_getHtmlForColumnOrderWithSort $this->assertContains('<a href="server_databases.php?pos=0', $html); $this->assertContains('sort_by=SCHEMA_NAME', $html); //validate 4: PMA_getHtmlAndColumnOrderForDatabaseList $this->assertContains('title="pma_bookmark" value="pma_bookmark"', $html); $this->assertContains('title="information_schema" value="information_schema"', $html); $this->assertContains('title="performance_schema" value="performance_schema"', $html); $this->assertContains('title="phpmyadmin" value="phpmyadmin"', $html); //validate 5: PMA_getHtmlForTableFooter $this->assertContains('Total: <span id="databases_count">5</span>', $html); //validate 6: PMA_getHtmlForTableFooterButtons $this->assertContains('Check All', $html); //validate 7: PMA_getHtmlForNoticeEnableStatistics $this->assertContains('Note: Enabling the database statistics here might cause heavy traffic', $html); $this->assertContains('Enable Statistics', $html); }