40 $additionalFields = [];
41 $additionalFields[
'task_ipAnonymization_table'] = $this->
getTableAdditionalField($taskInfo, $task, $schedulerModule);
43 $additionalFields[
'task_ipAnonymization_mask'] = $this->
getMaskAdditionalField($taskInfo, $task, $schedulerModule);
44 return $additionalFields;
58 $tableConfiguration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'scheduler'][
'tasks'][IpAnonymizationTask::class][
'options'][
'tables'];
62 if (!array_key_exists($task->table, $tableConfiguration) && $currentSchedulerModuleAction->equals(
Action::EDIT)) {
63 $options[] =
'<option value="" selected="selected"></option>';
65 foreach ($tableConfiguration as $tableName => $configuration) {
66 if ($currentSchedulerModuleAction->equals(
Action::ADD) && empty($options)) {
68 $options[] =
'<option value="' . $tableName .
'" selected="selected">' . $tableName .
'</option>';
69 } elseif ($task->table === $tableName) {
71 $options[] =
'<option value="' . $tableName .
'" selected="selected">' . $tableName .
'</option>';
73 $options[] =
'<option value="' . $tableName .
'">' . $tableName .
'</option>';
76 $fieldName =
'tx_scheduler[scheduler_ipAnonymization_table]';
77 $fieldId =
'task_ipAnonymization_table';
80 $fieldHtml[] =
'<select class="form-control" name="' . $fieldName .
'" id="' . $fieldId .
'">' . implode(LF, $options) .
'</select>';
81 $fieldConfiguration = [
82 'code' => implode(LF, $fieldHtml),
83 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.ipAnonymization.table',
84 'cshKey' =>
'_MOD_system_txschedulerM1',
85 'cshLabel' => $fieldId
87 return $fieldConfiguration;
100 $fieldId =
'scheduler_ipAnonymization_numberOfDays';
101 if (empty($taskInfo[$fieldId])) {
102 $taskInfo[$fieldId] = $task->numberOfDays ?? 180;
104 $fieldName =
'tx_scheduler[' . $fieldId .
']';
105 $fieldHtml =
'<input class="form-control" type="text" ' .
'name="' . $fieldName .
'" ' .
'id="' . $fieldId .
'" ' .
'value="' . (int)$taskInfo[$fieldId] .
'" ' .
'size="4">';
106 $fieldConfiguration = [
107 'code' => $fieldHtml,
108 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.ipAnonymization.numberOfDays',
109 'cshKey' =>
'_MOD_system_txschedulerM1',
110 'cshLabel' => $fieldId
112 return $fieldConfiguration;
125 $fieldId =
'scheduler_ipAnonymization_mask';
126 if (empty($taskInfo[$fieldId])) {
127 $taskInfo[$fieldId] = $task->mask ?? 2;
129 $fieldName =
'tx_scheduler[' . $fieldId .
']';
132 foreach ([1, 2] as $mask) {
133 $selected = (int)$taskInfo[$fieldId] === $mask ?
' selected' :
'';
134 $fieldHtml .=
'<option value="' . $mask .
'"' . $selected .
'>'
135 . htmlspecialchars($this->
getLanguageService()->sL(
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.ipAnonymization.mask.' . $mask))
139 $fieldHtml =
'<select class="form-control" name="' . $fieldName .
'" ' .
'id="' . $fieldId .
'">' . $fieldHtml .
'</select>';
141 $fieldConfiguration = [
142 'code' => $fieldHtml,
143 'label' =>
'LLL:EXT:scheduler/Resources/Private/Language/locallang.xlf:label.ipAnonymization.mask',
144 'cshKey' =>
'_MOD_system_txschedulerM1',
145 'cshLabel' => $fieldId
147 return $fieldConfiguration;
174 $tableConfiguration =
$GLOBALS[
'TYPO3_CONF_VARS'][
'SC_OPTIONS'][
'scheduler'][
'tasks'][IpAnonymizationTask::class][
'options'][
'tables'];
175 if (!isset($submittedData[
'scheduler_ipAnonymization_table'])) {
177 } elseif (array_key_exists($submittedData[
'scheduler_ipAnonymization_table'], $tableConfiguration)) {
193 if (!isset($submittedData[
'scheduler_ipAnonymization_numberOfDays'])) {
195 } elseif ((
int)$submittedData[
'scheduler_ipAnonymization_numberOfDays'] >= 0) {
212 $task->table = $submittedData[
'scheduler_ipAnonymization_table'];
213 $task->mask = (int)$submittedData[
'scheduler_ipAnonymization_mask'];
214 $task->numberOfDays = (int)$submittedData[
'scheduler_ipAnonymization_numberOfDays'];