/**
  * Tests for PMA_getHtmlForColumns() method.
  *
  * @return void
  * @test
  */
 public function testPMAGetHtmlForColumns()
 {
     $columns = array(array('Field' => 'Field1', 'Type' => 'Type1', 'Collation' => 'Collation1', "Null" => 'YES', 'Extra' => 'Extra1', 'Key' => 'PRI', 'Comment' => 'Comment1'), array('Field' => 'Field2', 'Type' => 'Type2', 'Collation' => 'Collation2', "Null" => 'No', 'Extra' => 'Extra2', 'Key' => 'Key2', 'Comment' => 'Comment2'));
     $html = PMA_getHtmlForColumns($columns);
     $this->assertContains(__('Column'), $html);
     $this->assertContains(__('Type'), $html);
     $this->assertContains(__('Collation'), $html);
     $this->assertContains(__('Default'), $html);
     $this->assertContains(__('Comment'), $html);
     //column1
     $item1 = $columns[0];
     $this->assertContains(htmlspecialchars($item1['Field']), $html);
     $this->assertContains(htmlspecialchars($item1['Type']), $html);
     $this->assertContains(htmlspecialchars($item1['Collation']), $html);
     $this->assertContains('<i>NULL</i>', $html);
     $this->assertContains(htmlspecialchars($item1['Comment']), $html);
     //column2
     $item1 = $columns[1];
     $this->assertContains(htmlspecialchars($item1['Field']), $html);
     $this->assertContains(htmlspecialchars($item1['Type']), $html);
     $this->assertContains(htmlspecialchars($item1['Collation']), $html);
     $this->assertContains(_pgettext('None for default', 'None'), $html);
     $this->assertContains(htmlspecialchars($item1['Comment']), $html);
 }
예제 #2
0
/**
 * Function to get html for schema snapshot
 *
 * @param string $url_query url query
 *
 * @return string
 */
function PMA_getHtmlForSchemaSnapshot($url_query)
{
    $html = '<h3>' . __('Structure snapshot') . '  [<a href="tbl_tracking.php' . $url_query . '">' . __('Close') . '</a>]</h3>';
    $data = PMA_Tracker::getTrackedData($_REQUEST['db'], $_REQUEST['table'], $_REQUEST['version']);
    // Get first DROP TABLE/VIEW and CREATE TABLE/VIEW statements
    $drop_create_statements = $data['ddlog'][0]['statement'];
    if (mb_strstr($data['ddlog'][0]['statement'], 'DROP TABLE') || mb_strstr($data['ddlog'][0]['statement'], 'DROP VIEW')) {
        $drop_create_statements .= $data['ddlog'][1]['statement'];
    }
    // Print SQL code
    $html .= PMA_Util::getMessage(sprintf(__('Version %s snapshot (SQL code)'), htmlspecialchars($_REQUEST['version'])), $drop_create_statements);
    // Unserialize snapshot
    $temp = unserialize($data['schema_snapshot']);
    $columns = $temp['COLUMNS'];
    $indexes = $temp['INDEXES'];
    $html .= PMA_getHtmlForColumns($columns);
    if (count($indexes) > 0) {
        $html .= PMA_getHtmlForIndexes($indexes);
    }
    // endif
    $html .= '<br /><hr /><br />';
    return $html;
}