37 protected $languageFile =
'LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf';
50 $additionalFields = [];
53 if (empty($taskInfo[
'configuration'])) {
54 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
55 $taskInfo[
'configuration'] = $taskInfo[
'linkvalidator'][
'configuration'];
56 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
57 $taskInfo[
'configuration'] = $task->getConfiguration();
59 $taskInfo[
'configuration'] = $task->getConfiguration();
63 if (empty($taskInfo[
'depth'])) {
64 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
65 $taskInfo[
'depth'] = $taskInfo[
'linkvalidator'][
'depth'];
66 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
67 $taskInfo[
'depth'] = $task->getDepth();
69 $taskInfo[
'depth'] = $task->getDepth();
73 if (empty($taskInfo[
'page'])) {
74 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
75 $taskInfo[
'page'] = $taskInfo[
'linkvalidator'][
'page'];
76 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
77 $taskInfo[
'page'] = $task->getPage();
79 $taskInfo[
'page'] = $task->getPage();
82 if (empty($taskInfo[
'email'])) {
83 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
84 $taskInfo[
'email'] = $taskInfo[
'linkvalidator'][
'email'];
85 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
86 $taskInfo[
'email'] = $task->getEmail();
88 $taskInfo[
'email'] = $task->getEmail();
91 if (empty($taskInfo[
'emailOnBrokenLinkOnly'])) {
92 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
93 $taskInfo[
'emailOnBrokenLinkOnly'] = $taskInfo[
'linkvalidator'][
'emailOnBrokenLinkOnly'] ? $taskInfo[
'linkvalidator'][
'emailOnBrokenLinkOnly'] : 1;
94 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
95 $taskInfo[
'emailOnBrokenLinkOnly'] = $task->getEmailOnBrokenLinkOnly();
97 $taskInfo[
'emailOnBrokenLinkOnly'] = $task->getEmailOnBrokenLinkOnly();
100 if (empty($taskInfo[
'emailTemplateFile'])) {
101 if ($currentSchedulerModuleAction->equals(
Action::ADD)) {
102 $taskInfo[
'emailTemplateFile'] = $taskInfo[
'linkvalidator'][
'emailTemplateFile'] ? $taskInfo[
'linkvalidator'][
'emailTemplateFile'] :
'EXT:linkvalidator/Resources/Private/Templates/mailtemplate.html';
103 } elseif ($currentSchedulerModuleAction->equals(
Action::EDIT)) {
104 $taskInfo[
'emailTemplateFile'] = $task->getEmailTemplateFile();
106 $taskInfo[
'emailTemplateFile'] = $task->getEmailTemplateFile();
109 $fieldId =
'task_page';
110 $fieldCode =
'<input type="number" min="0" class="form-control" name="tx_scheduler[linkvalidator][page]" id="'
113 . htmlspecialchars($taskInfo[
'page'])
116 $label = $lang->sL($this->languageFile .
':tasks.validate.page');
118 if (!empty($taskInfo[
'page'])) {
121 $additionalFields[$fieldId] = [
123 'pageTitle' => $pageTitle,
124 'code' => $fieldCode,
125 'cshTable' =>
'linkvalidator',
126 'cshLabel' => $fieldId,
130 $fieldId =
'task_depth';
132 '0' => $lang->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.depth_0'),
133 '1' => $lang->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.depth_1'),
134 '2' => $lang->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.depth_2'),
135 '3' => $lang->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.depth_3'),
136 '4' => $lang->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.depth_4'),
137 '999' => $lang->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.depth_infi')
139 $fieldCode =
'<select class="form-control" name="tx_scheduler[linkvalidator][depth]" id="' . $fieldId .
'">';
140 foreach ($fieldValueArray as $depth => $label) {
141 $fieldCode .=
"\t" .
'<option value="' . htmlspecialchars($depth) .
'"'
142 . (($depth == $taskInfo[
'depth']) ?
' selected="selected"' :
'') .
'>'
146 $fieldCode .=
'</select>';
147 $label = $lang->sL($this->languageFile .
':tasks.validate.depth');
148 $additionalFields[$fieldId] = [
149 'code' => $fieldCode,
150 'cshKey' =>
'linkvalidator',
151 'cshLabel' => $fieldId,
154 $fieldId =
'task_configuration';
155 $fieldCode =
'<textarea class="form-control" name="tx_scheduler[linkvalidator][configuration]" id="'
158 . htmlspecialchars($taskInfo[
'configuration'])
160 $label = $lang->sL($this->languageFile .
':tasks.validate.conf');
161 $additionalFields[$fieldId] = [
162 'code' => $fieldCode,
163 'cshKey' =>
'linkvalidator',
164 'cshLabel' => $fieldId,
167 $fieldId =
'task_email';
168 $fieldCode =
'<textarea class="form-control" rows="5" cols="50" name="tx_scheduler[linkvalidator][email]" id="'
171 . htmlspecialchars($taskInfo[
'email'])
173 $label = $lang->sL($this->languageFile .
':tasks.validate.email');
174 $additionalFields[$fieldId] = [
175 'code' => $fieldCode,
176 'cshKey' =>
'linkvalidator',
177 'cshLabel' => $fieldId,
180 $fieldId =
'task_emailOnBrokenLinkOnly';
181 $fieldCode =
'<div class="checkbox"><label>'
182 .
'<input type="checkbox" name="tx_scheduler[linkvalidator][emailOnBrokenLinkOnly]" id="' . $fieldId .
'" '
183 . (htmlspecialchars($taskInfo[
'emailOnBrokenLinkOnly']) ?
'checked="checked"' :
'')
185 $label = $lang->sL($this->languageFile .
':tasks.validate.emailOnBrokenLinkOnly');
186 $additionalFields[$fieldId] = [
187 'code' => $fieldCode,
188 'cshKey' =>
'linkvalidator',
189 'cshLabel' => $fieldId,
192 $fieldId =
'task_emailTemplateFile';
193 $fieldCode =
'<input class="form-control" type="text" name="tx_scheduler[linkvalidator][emailTemplateFile]" '
197 . htmlspecialchars($taskInfo[
'emailTemplateFile'])
199 $label = $lang->sL($this->languageFile .
':tasks.validate.emailTemplateFile');
200 $additionalFields[$fieldId] = [
201 'code' => $fieldCode,
202 'cshKey' =>
'linkvalidator',
203 'cshLabel' => $fieldId,
206 return $additionalFields;
219 if (in_array($currentValue, $configurationArray,
true)) {
220 $selected =
'selected="selected" ';
239 if (!empty($submittedData[
'linkvalidator'][
'email'])) {
240 if (strpos($submittedData[
'linkvalidator'][
'email'],
',') !==
false) {
241 $emailList = GeneralUtility::trimExplode(
',', $submittedData[
'linkvalidator'][
'email']);
243 $emailList = GeneralUtility::trimExplode(LF, $submittedData[
'linkvalidator'][
'email']);
245 foreach ($emailList as $emailAdd) {
246 if (!GeneralUtility::validEmail($emailAdd)) {
249 $lang->sL($this->languageFile .
':tasks.validate.invalidEmail'),
260 $lang->sL($this->languageFile .
':tasks.validate.invalidPage'),
264 if ($submittedData[
'linkvalidator'][
'depth'] < 0) {
267 $lang->sL($this->languageFile .
':tasks.validate.invalidDepth'),
284 $task->setDepth($submittedData[
'linkvalidator'][
'depth']);
285 $task->setPage($submittedData[
'linkvalidator'][
'page']);
286 $task->setEmail($submittedData[
'linkvalidator'][
'email']);
287 if ($submittedData[
'linkvalidator'][
'emailOnBrokenLinkOnly']) {
288 $task->setEmailOnBrokenLinkOnly(1);
290 $task->setEmailOnBrokenLinkOnly(0);
292 $task->setConfiguration($submittedData[
'linkvalidator'][
'configuration']);
293 $task->setEmailTemplateFile($submittedData[
'linkvalidator'][
'emailTemplateFile']);
305 if ($page ===
null) {
308 return $page[
'title'];