Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurício Meneghini Fauth <mauricio@fauth.dev>2022-11-05 23:24:18 +0300
committerMaurício Meneghini Fauth <mauricio@fauth.dev>2022-11-05 23:24:18 +0300
commit0f2ff29d9d8b6f7047ffce74dbc7fb6eb5cf8703 (patch)
tree35fa0104276a6159846429ad4283bf46b0451f5b /libraries
parentdb75ac370d6673c11bb42154136380a4f9afd328 (diff)
Remove tracking's selection_* global variables
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
Diffstat (limited to 'libraries')
-rw-r--r--libraries/classes/Controllers/Table/TrackingController.php24
-rw-r--r--libraries/classes/Tracking.php57
2 files changed, 23 insertions, 58 deletions
diff --git a/libraries/classes/Controllers/Table/TrackingController.php b/libraries/classes/Controllers/Table/TrackingController.php
index f67a00665c..fe26f4c7da 100644
--- a/libraries/classes/Controllers/Table/TrackingController.php
+++ b/libraries/classes/Controllers/Table/TrackingController.php
@@ -50,9 +50,6 @@ final class TrackingController extends AbstractController
$GLOBALS['filter_ts_from'] = $GLOBALS['filter_ts_from'] ?? null;
$GLOBALS['filter_ts_to'] = $GLOBALS['filter_ts_to'] ?? null;
$GLOBALS['filter_users'] = $GLOBALS['filter_users'] ?? null;
- $GLOBALS['selection_schema'] = $GLOBALS['selection_schema'] ?? null;
- $GLOBALS['selection_data'] = $GLOBALS['selection_data'] ?? null;
- $GLOBALS['selection_both'] = $GLOBALS['selection_both'] ?? null;
$this->addScriptFiles(['vendor/jquery/jquery.tablesorter.js', 'table/tracking.js']);
@@ -93,9 +90,6 @@ final class TrackingController extends AbstractController
$GLOBALS['filter_ts_from'] = null;
$GLOBALS['filter_ts_to'] = null;
$GLOBALS['filter_users'] = [];
- $GLOBALS['selection_schema'] = false;
- $GLOBALS['selection_data'] = false;
- $GLOBALS['selection_both'] = false;
$report = $request->hasBodyParam('report');
/** @var string $versionParam */
@@ -103,6 +97,9 @@ final class TrackingController extends AbstractController
/** @var string $tableParam */
$tableParam = $request->getParsedBodyParam('table');
+ $logType = $this->validateLogTypeParam($request->getParsedBodyParam('logtype'));
+ $_POST['logtype'] = $logType;
+
// Init vars for tracking report
if ($report || $reportExport !== null) {
$GLOBALS['data'] = Tracker::getTrackedData(
@@ -111,17 +108,6 @@ final class TrackingController extends AbstractController
$versionParam
);
- $logType = $this->validateLogTypeParam($request->getParsedBodyParam('logtype'));
- $_POST['logtype'] = $logType;
-
- if ($logType === 'schema') {
- $GLOBALS['selection_schema'] = true;
- } elseif ($logType === 'data') {
- $GLOBALS['selection_data'] = true;
- } else {
- $GLOBALS['selection_both'] = true;
- }
-
/** @var string $dateFrom */
$dateFrom = $request->getParsedBodyParam('date_from', $GLOBALS['data']['date_from']);
if (! isset($_POST['date_from'])) {
@@ -261,9 +247,7 @@ final class TrackingController extends AbstractController
$trackingReport = $this->tracking->getHtmlForTrackingReport(
$GLOBALS['data'],
$GLOBALS['urlParams'],
- $GLOBALS['selection_schema'],
- $GLOBALS['selection_data'],
- $GLOBALS['selection_both'],
+ $logType,
(int) $GLOBALS['filter_ts_to'],
(int) $GLOBALS['filter_ts_from'],
$GLOBALS['filter_users']
diff --git a/libraries/classes/Tracking.php b/libraries/classes/Tracking.php
index 1cee0a5ee6..a85c294f6b 100644
--- a/libraries/classes/Tracking.php
+++ b/libraries/classes/Tracking.php
@@ -209,23 +209,19 @@ class Tracking
/**
* Function to get html for tracking report and tracking report export
*
- * @param array $data data
- * @param array $url_params url params
- * @param bool $selection_schema selection schema
- * @param bool $selection_data selection data
- * @param bool $selection_both selection both
- * @param int $filter_ts_to filter time stamp from
- * @param int $filter_ts_from filter time stamp tp
- * @param array $filter_users filter users
+ * @param array $data data
+ * @param array $url_params url params
+ * @param int $filter_ts_to filter time stamp from
+ * @param int $filter_ts_from filter time stamp tp
+ * @param array $filter_users filter users
+ * @psalm-param 'schema'|'data'|'schema_and_data' $logType
*
* @return string
*/
public function getHtmlForTrackingReport(
array $data,
array $url_params,
- $selection_schema,
- $selection_data,
- $selection_both,
+ string $logType,
$filter_ts_to,
$filter_ts_from,
array $filter_users
@@ -238,11 +234,7 @@ class Tracking
. htmlspecialchars($data['tracking']) . '</small><br>';
$html .= '<br>';
- [$str1, $str2, $str3, $str4, $str5] = $this->getHtmlForElementsOfTrackingReport(
- $selection_schema,
- $selection_data,
- $selection_both
- );
+ [$str1, $str2, $str3, $str4, $str5] = $this->getHtmlForElementsOfTrackingReport($logType);
// Prepare delete link content here
$drop_image_or_text = '';
@@ -266,9 +258,7 @@ class Tracking
$html .= $this->getHtmlForTrackingReportExportForm1(
$data,
$url_params,
- $selection_schema,
- $selection_data,
- $selection_both,
+ $logType,
$filter_ts_to,
$filter_ts_from,
$filter_users,
@@ -290,26 +280,21 @@ class Tracking
/**
* Generate HTML element for report form
*
- * @param bool $selection_schema selection schema
- * @param bool $selection_data selection data
- * @param bool $selection_both selection both
+ * @psalm-param 'schema'|'data'|'schema_and_data' $logType
*
* @return array
*/
- public function getHtmlForElementsOfTrackingReport(
- $selection_schema,
- $selection_data,
- $selection_both
- ) {
+ public function getHtmlForElementsOfTrackingReport(string $logType)
+ {
$str1 = '<select name="logtype">'
. '<option value="schema"'
- . ($selection_schema ? ' selected="selected"' : '') . '>'
+ . ($logType === 'schema' ? ' selected="selected"' : '') . '>'
. __('Structure only') . '</option>'
. '<option value="data"'
- . ($selection_data ? ' selected="selected"' : '') . '>'
+ . ($logType === 'data' ? ' selected="selected"' : '') . '>'
. __('Data only') . '</option>'
. '<option value="schema_and_data"'
- . ($selection_both ? ' selected="selected"' : '') . '>'
+ . ($logType === 'schema_and_data' ? ' selected="selected"' : '') . '>'
. __('Structure and data') . '</option>'
. '</select>';
$str2 = '<input type="text" name="date_from" value="'
@@ -335,9 +320,6 @@ class Tracking
*
* @param array $data data
* @param array $url_params url params
- * @param bool $selection_schema selection schema
- * @param bool $selection_data selection data
- * @param bool $selection_both selection both
* @param int $filter_ts_to filter time stamp from
* @param int $filter_ts_from filter time stamp tp
* @param array $filter_users filter users
@@ -347,15 +329,14 @@ class Tracking
* @param string $str4 HTML for user
* @param string $str5 HTML for "list report"
* @param string $drop_image_or_text HTML for image or text
+ * @psalm-param 'schema'|'data'|'schema_and_data' $logType
*
* @return string HTML for form
*/
public function getHtmlForTrackingReportExportForm1(
array $data,
array $url_params,
- $selection_schema,
- $selection_data,
- $selection_both,
+ string $logType,
$filter_ts_to,
$filter_ts_from,
array $filter_users,
@@ -383,7 +364,7 @@ class Tracking
$str5
);
- if ($selection_schema || $selection_both && count($data['ddlog']) > 0) {
+ if ($logType === 'schema' || $logType === 'schema_and_data' && count($data['ddlog']) > 0) {
[$temp, $ddlog_count] = $this->getHtmlForDataDefinitionStatements(
$data,
$filter_users,
@@ -397,7 +378,7 @@ class Tracking
}
// Secondly, list tracked data manipulation statements
- if (($selection_data || $selection_both) && count($data['dmlog']) > 0) {
+ if (($logType === 'data' || $logType === 'schema_and_data') && count($data['dmlog']) > 0) {
$html .= $this->getHtmlForDataManipulationStatements(
$data,
$filter_users,