/** * Tests for PMA_getHtmlForDataDefinitionAndManipulationStatements() method. * * @return void * @test */ public function testPMAGetHtmlForDataDefinitionAndManipulationStatements() { $url_query = "url_query"; $last_version = "10"; $html = PMA_getHtmlForDataDefinitionAndManipulationStatements($url_query, $last_version, $GLOBALS['db'], array($GLOBALS['table'])); $this->assertContains('<div id="div_create_version">', $html); $this->assertContains($url_query, $html); $this->assertContains(PMA_URL_getHiddenInputs($GLOBALS['db']), $html); $item = sprintf(__('Create version %1$s of %2$s'), $last_version + 1, htmlspecialchars($GLOBALS['db'] . '.' . $GLOBALS['table'])); $this->assertContains($item, $html); $item = '<input type="checkbox" name="delete" value="true"' . ' checked="checked" /> DELETE<br/>'; $this->assertContains($item, $html); $this->assertContains(__('Create version'), $html); }
$selectable_tables_sql_result, $url_query ); } $html .= '<br />'; /* * List versions of current table */ $sql_result = PMA_getListOfVersionsOfTable(); $last_version = PMA_getTableLastVersionNumber($sql_result); if ($last_version > 0) { $html .= PMA_getHtmlForTableVersionDetails( $sql_result, $last_version, $url_params, $url_query, $pmaThemeImage, $text_dir ); } $type = $GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table']) ->isView() ? 'view' : 'table'; $html .= PMA_getHtmlForDataDefinitionAndManipulationStatements( 'tbl_tracking.php' . $url_query, $last_version, $GLOBALS['db'], array($GLOBALS['table']), $type ); $html .= '<br class="clearfloat"/>'; $response->addHTML($html);
// (here, do not use $_REQUEST['db] as it can be crafted) if (isset($_REQUEST['delete_tracking']) && isset($_REQUEST['table'])) { Tracker::deleteTracking($GLOBALS['db'], $_REQUEST['table']); PMA\libraries\Message::success(__('Tracking data deleted successfully.'))->display(); } elseif (isset($_REQUEST['submit_create_version'])) { PMA_createTrackingForMultipleTables($_REQUEST['selected']); PMA\libraries\Message::success(sprintf(__('Version %1$s was created for selected tables,' . ' tracking is active for them.'), htmlspecialchars($_REQUEST['version'])))->display(); } elseif (isset($_REQUEST['submit_mult'])) { if (!empty($_REQUEST['selected_tbl'])) { if ($_REQUEST['submit_mult'] == 'delete_tracking') { foreach ($_REQUEST['selected_tbl'] as $table) { Tracker::deleteTracking($GLOBALS['db'], $table); } PMA\libraries\Message::success(__('Tracking data deleted successfully.'))->display(); } elseif ($_REQUEST['submit_mult'] == 'track') { echo PMA_getHtmlForDataDefinitionAndManipulationStatements('db_tracking.php' . $url_query, 0, $GLOBALS['db'], $_REQUEST['selected_tbl']); exit; } } else { PMA\libraries\Message::notice(__('No tables selected.'))->display(); } } // Get tracked data about the database $data = Tracker::getTrackedData($_REQUEST['db'], '', '1'); // No tables present and no log exist if ($num_tables == 0 && count($data['ddlog']) == 0) { echo '<p>', __('No tables found in database.'), '</p>', "\n"; if (empty($db_is_system_schema)) { echo PMA_getHtmlForCreateTable($db); } exit;
*/ if (isset($_REQUEST['report']) && (isset($_REQUEST['delete_ddlog']) || isset($_REQUEST['delete_dmlog']))) { PMA_deleteTrackingReportRows($data); } if (isset($_REQUEST['report']) || isset($_REQUEST['report_export'])) { $html .= PMA_getHtmlForTrackingReport($url_query, $data, $url_params, $selection_schema, $selection_data, $selection_both, $filter_ts_to, $filter_ts_from, $filter_users); } // end of report /* * List selectable tables */ $selectable_tables_sql_result = PMA_getSQLResultForSelectableTables(); if ($GLOBALS['dbi']->numRows($selectable_tables_sql_result) > 0) { $html .= PMA_getHtmlForSelectableTables($selectable_tables_sql_result, $url_query); } $html .= '<br />'; /* * List versions of current table */ $sql_result = PMA_getListOfVersionsOfTable(); $last_version = PMA_getTableLastVersionNumber($sql_result); if ($last_version > 0) { $html .= PMA_getHtmlForTableVersionDetails($sql_result, $last_version, $url_params, $url_query); } $html .= PMA_getHtmlForDataDefinitionAndManipulationStatements($url_query, $last_version); $html .= '<br class="clearfloat"/>'; $response = PMA_Response::getInstance(); $response->addHTML($html); ?> >>>>>>> b875702c9c06ab5012e52ff4337439b03918f453