diff options
author | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-11-05 23:24:18 +0300 |
---|---|---|
committer | Maurício Meneghini Fauth <mauricio@fauth.dev> | 2022-11-05 23:24:18 +0300 |
commit | 0f2ff29d9d8b6f7047ffce74dbc7fb6eb5cf8703 (patch) | |
tree | 35fa0104276a6159846429ad4283bf46b0451f5b /libraries | |
parent | db75ac370d6673c11bb42154136380a4f9afd328 (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.php | 24 | ||||
-rw-r--r-- | libraries/classes/Tracking.php | 57 |
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, |