<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * Table tracking page * * @package PhpMyAdmin */ use PhpMyAdmin\Message; use PhpMyAdmin\Tracker; use PhpMyAdmin\Tracking; use PhpMyAdmin\Response; require_once './libraries/common.inc.php'; //Get some js files needed for Ajax requests $response = Response::getInstance(); $header = $response->getHeader(); $scripts = $header->getScripts(); $scripts->addFile('vendor/jquery/jquery.tablesorter.js'); $scripts->addFile('tbl_tracking.js'); define('TABLE_MAY_BE_ABSENT', true); require './libraries/tbl_common.inc.php'; if (Tracker::isActive() && Tracker::isTracked($GLOBALS["db"], $GLOBALS["table"]) && ! (isset($_POST['toggle_activation']) && $_POST['toggle_activation'] == 'deactivate_now') && ! (isset($_POST['report_export']) && $_POST['export_type'] == 'sqldumpfile') ) { $msg = Message::notice( sprintf( __('Tracking of %s is activated.'), htmlspecialchars($GLOBALS["db"] . '.' . $GLOBALS["table"]) ) ); $response->addHTML($msg->getDisplay()); } $url_query .= '&goto=tbl_tracking.php&back=tbl_tracking.php'; $url_params['goto'] = 'tbl_tracking.php'; $url_params['back'] = 'tbl_tracking.php'; // Init vars for tracking report if (isset($_POST['report']) || isset($_POST['report_export'])) { $data = Tracker::getTrackedData( $GLOBALS['db'], $GLOBALS['table'], $_POST['version'] ); $selection_schema = false; $selection_data = false; $selection_both = false; if (! isset($_POST['logtype'])) { $_POST['logtype'] = 'schema_and_data'; } if ($_POST['logtype'] == 'schema') { $selection_schema = true; } elseif ($_POST['logtype'] == 'data') { $selection_data = true; } else { $selection_both = true; } if (! isset($_POST['date_from'])) { $_POST['date_from'] = $data['date_from']; } if (! isset($_POST['date_to'])) { $_POST['date_to'] = $data['date_to']; } if (! isset($_POST['users'])) { $_POST['users'] = '*'; } $filter_ts_from = strtotime($_POST['date_from']); $filter_ts_to = strtotime($_POST['date_to']); $filter_users = array_map('trim', explode(',', $_POST['users'])); } // Prepare export if (isset($_POST['report_export'])) { $entries = Tracking::getEntries($data, $filter_ts_from, $filter_ts_to, $filter_users); } // Export as file download if (isset($_POST['report_export']) && $_POST['export_type'] == 'sqldumpfile' ) { Tracking::exportAsFileDownload($entries); } $html = '<br />'; /** * Actions */ if (isset($_POST['submit_mult'])) { if (! empty($_POST['selected_versions'])) { if ($_POST['submit_mult'] == 'delete_version') { foreach ($_POST['selected_versions'] as $version) { Tracking::deleteTrackingVersion($version); } $html .= Message::success( __('Tracking versions deleted successfully.') )->getDisplay(); } } else { $html .= Message::notice( __('No versions selected.') )->getDisplay(); } } if (isset($_POST['submit_delete_version'])) { $html .= Tracking::deleteTrackingVersion($_POST['version']); } // Create tracking version if (isset($_POST['submit_create_version'])) { $html .= Tracking::createTrackingVersion(); } // Deactivate tracking if (isset($_POST['toggle_activation']) && $_POST['toggle_activation'] == 'deactivate_now' ) { $html .= Tracking::changeTracking('deactivate'); } // Activate tracking if (isset($_POST['toggle_activation']) && $_POST['toggle_activation'] == 'activate_now' ) { $html .= Tracking::changeTracking('activate'); } // Export as SQL execution if (isset($_POST['report_export']) && $_POST['export_type'] == 'execution') { $sql_result = Tracking::exportAsSqlExecution($entries); $msg = Message::success(__('SQL statements executed.')); $html .= $msg->getDisplay(); } // Export as SQL dump if (isset($_POST['report_export']) && $_POST['export_type'] == 'sqldump') { $html .= Tracking::exportAsSqlDump($entries); } /* * Schema snapshot */ if (isset($_POST['snapshot'])) { $html .= Tracking::getHtmlForSchemaSnapshot($url_query); } // end of snapshot report /* * Tracking report */ if (isset($_POST['report']) && (isset($_POST['delete_ddlog']) || isset($_POST['delete_dmlog'])) ) { $html .= Tracking::deleteTrackingReportRows($data); } if (isset($_POST['report']) || isset($_POST['report_export'])) { $html .= Tracking::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 = Tracking::getSqlResultForSelectableTables(); if ($GLOBALS['dbi']->numRows($selectable_tables_sql_result) > 0) { $html .= Tracking::getHtmlForSelectableTables( $selectable_tables_sql_result, $url_query ); } $html .= '<br />'; /* * List versions of current table */ $sql_result = Tracking::getListOfVersionsOfTable(); $last_version = Tracking::getTableLastVersionNumber($sql_result); if ($last_version > 0) { $html .= Tracking::getHtmlForTableVersionDetails( $sql_result, $last_version, $url_params, $url_query, $pmaThemeImage, $text_dir ); } $type = $GLOBALS['dbi']->getTable($GLOBALS['db'], $GLOBALS['table']) ->isView() ? 'view' : 'table'; $html .= Tracking::getHtmlForDataDefinitionAndManipulationStatements( 'tbl_tracking.php' . $url_query, $last_version, $GLOBALS['db'], array($GLOBALS['table']), $type ); $html .= '<br class="clearfloat"/>'; $response->addHTML($html);
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
doc | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
libraries | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
sql | Folder | 0755 |
|
|
templates | Folder | 0755 |
|
|
themes | Folder | 0755 |
|
|
ajax.php | File | 1.52 KB | 0644 |
|
autoload.php | File | 43.03 KB | 0644 |
|
browse_foreigners.php | File | 1.71 KB | 0644 |
|
changelog.php | File | 3.12 KB | 0644 |
|
chk_rel.php | File | 856 B | 0644 |
|
config.sample.inc.php | File | 4.41 KB | 0644 |
|
db_central_columns.php | File | 5.54 KB | 0644 |
|
db_datadict.php | File | 5.74 KB | 0644 |
|
db_designer.php | File | 7.53 KB | 0644 |
|
db_events.php | File | 271 B | 0644 |
|
db_export.php | File | 4.52 KB | 0644 |
|
db_import.php | File | 899 B | 0644 |
|
db_multi_table_query.php | File | 1.01 KB | 0644 |
|
db_operations.php | File | 9.63 KB | 0644 |
|
db_qbe.php | File | 4.75 KB | 0644 |
|
db_routines.php | File | 365 B | 0644 |
|
db_search.php | File | 1.95 KB | 0644 |
|
db_sql.php | File | 952 B | 0644 |
|
db_sql_autocomplete.php | File | 746 B | 0644 |
|
db_sql_format.php | File | 485 B | 0644 |
|
db_structure.php | File | 1011 B | 0644 |
|
db_tracking.php | File | 4.31 KB | 0644 |
|
db_triggers.php | File | 273 B | 0644 |
|
error_report.php | File | 4.5 KB | 0644 |
|
export.php | File | 15.55 KB | 0644 |
|
favicon.ico | File | 21.96 KB | 0644 |
|
gis_data_editor.php | File | 15.61 KB | 0644 |
|
import.php | File | 23.41 KB | 0644 |
|
import_status.php | File | 3.38 KB | 0644 |
|
index.php | File | 19.78 KB | 0644 |
|
license.php | File | 894 B | 0644 |
|
lint.php | File | 1.4 KB | 0644 |
|
logout.php | File | 311 B | 0644 |
|
navigation.php | File | 2.25 KB | 0644 |
|
normalization.php | File | 4.05 KB | 0644 |
|
phpinfo.php | File | 507 B | 0644 |
|
phpmyadmin.css.php | File | 740 B | 0644 |
|
prefs_forms.php | File | 2.43 KB | 0644 |
|
prefs_manage.php | File | 14.02 KB | 0644 |
|
prefs_twofactor.php | File | 1.56 KB | 0644 |
|
print.css | File | 1.18 KB | 0644 |
|
schema_export.php | File | 653 B | 0644 |
|
server_binlog.php | File | 785 B | 0644 |
|
server_collations.php | File | 818 B | 0644 |
|
server_databases.php | File | 798 B | 0644 |
|
server_engines.php | File | 784 B | 0644 |
|
server_export.php | File | 1.06 KB | 0644 |
|
server_import.php | File | 634 B | 0644 |
|
server_plugins.php | File | 784 B | 0644 |
|
server_privileges.php | File | 13.85 KB | 0644 |
|
server_replication.php | File | 2.38 KB | 0644 |
|
server_sql.php | File | 698 B | 0644 |
|
server_status.php | File | 897 B | 0644 |
|
server_status_advisor.php | File | 862 B | 0644 |
|
server_status_monitor.php | File | 2.89 KB | 0644 |
|
server_status_processes.php | File | 1.83 KB | 0644 |
|
server_status_queries.php | File | 1.39 KB | 0644 |
|
server_status_variables.php | File | 1.53 KB | 0644 |
|
server_user_groups.php | File | 1.83 KB | 0644 |
|
server_variables.php | File | 798 B | 0644 |
|
show_config_errors.php | File | 1.06 KB | 0644 |
|
sql.php | File | 6.2 KB | 0644 |
|
tbl_addfield.php | File | 3.67 KB | 0644 |
|
tbl_change.php | File | 6.19 KB | 0644 |
|
tbl_chart.php | File | 972 B | 0644 |
|
tbl_create.php | File | 3.29 KB | 0644 |
|
tbl_export.php | File | 2.37 KB | 0644 |
|
tbl_find_replace.php | File | 999 B | 0644 |
|
tbl_get_field.php | File | 1.72 KB | 0644 |
|
tbl_gis_visualization.php | File | 1.5 KB | 0644 |
|
tbl_import.php | File | 684 B | 0644 |
|
tbl_indexes.php | File | 1.37 KB | 0644 |
|
tbl_operations.php | File | 15.08 KB | 0644 |
|
tbl_recent_favorite.php | File | 452 B | 0644 |
|
tbl_relation.php | File | 2.32 KB | 0644 |
|
tbl_replace.php | File | 16.57 KB | 0644 |
|
tbl_row_action.php | File | 4.89 KB | 0644 |
|
tbl_select.php | File | 1.1 KB | 0644 |
|
tbl_sql.php | File | 1.15 KB | 0644 |
|
tbl_structure.php | File | 1.99 KB | 0644 |
|
tbl_tracking.php | File | 5.66 KB | 0644 |
|
tbl_triggers.php | File | 141 B | 0644 |
|
tbl_zoom_select.php | File | 1.02 KB | 0644 |
|
themes.php | File | 956 B | 0644 |
|
transformation_overview.php | File | 1.87 KB | 0644 |
|
transformation_wrapper.php | File | 4.51 KB | 0644 |
|
url.php | File | 1.27 KB | 0644 |
|
user_password.php | File | 1.89 KB | 0644 |
|
version_check.php | File | 1.06 KB | 0644 |
|
view_create.php | File | 6.45 KB | 0644 |
|
view_operations.php | File | 3.78 KB | 0644 |
|