PHP 7.4.33
Preview: tbl_tracking.php Size: 5.66 KB
/var/www/podiomigration.bitkit.dk/httpdocs/public/phpmyadmin/tbl_tracking.php
<?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 .= '&amp;goto=tbl_tracking.php&amp;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);

Directory Contents

Dirs: 10 × Files: 106
Name Size Perms Modified Actions
doc DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
examples DIR
- drwxrwxr-x 2019-06-04 12:06:16
Edit Download
js DIR
- drwxrwxr-x 2019-06-04 12:06:16
Edit Download
libraries DIR
- drwxrwxr-x 2019-06-04 12:06:16
Edit Download
locale DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
setup DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
sql DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
templates DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
themes DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
vendor DIR
- drwxrwxr-x 2019-06-04 12:06:18
Edit Download
274 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
24 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.30 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.52 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.71 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
9.35 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.12 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
856 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.14 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.11 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
91.76 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.41 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.05 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.54 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.74 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
7.37 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
271 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.52 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
899 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.01 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
9.63 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.75 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
365 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.95 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
952 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
746 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
485 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1011 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.31 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
273 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.77 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.50 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
15.55 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
21.96 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
15.61 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
23.41 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.32 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
19.75 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
17.67 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
894 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.40 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
311 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.25 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.05 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
729 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
467 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
507 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
740 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.43 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
14.02 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.56 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.18 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.49 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
29 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
26 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
659 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
785 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
818 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
798 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
784 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.06 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
634 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
784 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
13.86 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.38 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
698 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
897 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
862 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.89 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.83 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.39 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.53 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.82 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
798 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.02 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.98 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.67 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
6.20 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
972 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.29 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.24 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
999 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.42 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.21 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
684 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.37 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
14.99 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
452 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
2.32 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
16.57 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.89 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.10 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.15 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.99 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
5.66 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
141 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.02 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
956 B lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.87 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
4.51 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.27 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.89 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
1.06 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
6.45 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
3.78 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
28.35 KB lrwxrwxr-x 2019-06-04 12:06:16
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).