ValidatorTask extends AbstractTask
This class provides Scheduler plugin implementation
This class is a specific Scheduler task implementation and is not part of the TYPO3's Core API.
Table of Contents
Constants
- TYPE_RECURRING = 2
- TYPE_SINGLE = 1
Properties
- $configuration : string
- Specific TSconfig for this task.
- $countInARun : int
- $depth : int
- Level of pages the task should check
- $description : string
- Description for the task
- $disabled : bool
- Disable flag, TRUE if task is disabled, FALSE otherwise
- $email : string
- Email address to which an email report is sent
- $emailOnBrokenLinkOnly : bool
- Only send an email, if new broken links were found
- $emailTemplateName : string
- Template name to be used for the email
- $execution : Execution
- The execution object related to the task
- $executionTime : int
- This variable contains the time of next execution of the task
- $languageFile : string
- Default language file of the extension linkvalidator
- $languages : string
- Languages to check for broken links
- $modTSconfig : array<string|int, mixed>
- Merged mod TSconfig
- $page : int
- UID of the start page for this task
- $runOnNextCronJob : bool
- Run on next cron job flag, TRUE if task should run on next cronjob, FALSE otherwise
- $scheduler : Scheduler|null
- Reference to a scheduler object
- $sleepAfterFinish : int
- $sleepTime : int
- $taskGroup : int|null
- Task group for this task
- $taskNeedsUpdate : bool
- Defines if the task should be updated as some values have changed during task execution
- $taskUid : int
- The unique id of the task used to identify it in the database.
Methods
- __construct() : mixed
- Constructor
- areMultipleExecutionsAllowed() : bool
- Returns TRUE if several runs of the task are allowed concurrently
- execute() : bool
- Function execute from the Scheduler
- getAdditionalInformation() : string
- Returns the most important properties of the LinkValidator task as a comma separated string that will be displayed in the scheduler module.
- getConfiguration() : string
- Get the value of the protected property configuration
- getDepth() : int
- Get the value of the protected property depth
- getDescription() : string
- This method returns the description of the task
- getEmail() : string
- Get the value of the protected property email
- getEmailOnBrokenLinkOnly() : bool
- Get the value of the protected property emailOnBrokenLinkOnly
- getEmailTemplateName() : string
- Get the value of the protected property emailTemplateName
- getExecution() : Execution
- Returns the execution object
- getExecutionTime() : int
- This method returns the timestamp corresponding to the next execution time of the task
- getLanguages() : string
- Get the value of the protected property languages
- getNextDueExecution() : int
- Returns the timestamp for next due execution of the task
- getPage() : int
- Get the value of the protected property page
- getRunOnNextCronJob() : bool
- This method returns the run on next cron job status of the task
- getTaskClassName() : string
- This method returns the class name of the scheduler task
- getTaskDescription() : string
- This method returns the description of the scheduler task
- getTaskGroup() : int|null
- This method returns the task group (uid) of the task
- getTaskTitle() : string
- This method returns the title of the scheduler task
- getTaskUid() : int
- This method returns the unique id of the task
- getType() : int
- Guess task type from the existing information If an interval or a cron command is defined, it's a recurring task
- isDisabled() : bool
- This method returns the disabled status of the task
- isExecutionRunning() : bool
- Returns TRUE if an instance of the task is already running
- markExecution() : int
- This method adds current execution to the execution list It also logs the execution time and mode
- registerRecurringExecution() : mixed
- Registers a recurring execution of the task
- registerSingleExecution() : mixed
- Registers a single execution of the task
- remove() : mixed
- Removes the task totally from the system.
- save() : bool
- Saves the details of the task to the database.
- setConfiguration() : self
- Set the value of the private property configuration
- setDepth() : self
- Set the value of the private property depth
- setDescription() : void
- This method is used to set the description of the task
- setDisabled() : mixed
- This method is used to set the disabled status of the task
- setEmail() : self
- Set the value of the private property email.
- setEmailOnBrokenLinkOnly() : self
- Set the value of the private property emailOnBrokenLinkOnly
- setEmailTemplateName() : self
- Set the value of the private property emailTemplateName
- setExecution() : mixed
- Sets the internal execution object
- setExecutionTime() : mixed
- This method is used to set the timestamp corresponding to the next execution time of the task
- setLanguages() : self
- Set the value of the private property languages
- setPage() : self
- Set the value of the private property page
- setRunOnNextCronJob() : mixed
- This method set the flag for next cron job execution
- setScheduler() : mixed
- Sets the internal reference to the singleton instance of the Scheduler and the logger instance in case it was unserialized
- setTaskGroup() : mixed
- This method is used to set the task group (uid) of the task
- setTaskUid() : void
- This method is used to set the unique id of the task
- stop() : mixed
- Stops the task, by replacing the execution object by an empty one NOTE: the task still needs to be saved after that
- unmarkAllExecutions() : bool
- Clears all marked executions
- unmarkExecution() : mixed
- Removes given execution from list
- unsetScheduler() : mixed
- Unsets the internal reference to the singleton instance of the Scheduler and the logger instance.
- getFluidEmail() : FluidEmail
- Get FluidEmail with template from the task configuration
- getLanguageService() : LanguageService|null
- getLinkAnalyzerResult() : LinkAnalyzerResult
- Validate all broken links for pages set in the task configuration and return the analyzers result as object.
- getLinkTypes() : array<int, string>
- Get the list of linkTypes to consider for fetching broken links
- getSearchField() : array<string|int, mixed>
- Get the list of fields to consider for fetching broken links
- loadModTSconfig() : void
- Load and merge linkvalidator TSconfig from task configuration with page TSconfig
- logException() : mixed
- reportEmail() : bool
- Build and send report email when broken links were found
- setCliArguments() : self
- Simulate cli call with setting the required options to the $_SERVER['argv']
- templateFilesExist() : bool
- Check if both template files (html and txt) exist under at least one template path
Constants
TYPE_RECURRING
public
mixed
TYPE_RECURRING
= 2
TYPE_SINGLE
public
mixed
TYPE_SINGLE
= 1
Properties
$configuration
Specific TSconfig for this task.
protected
string
$configuration
= ''
$countInARun
protected
int
$countInARun
$depth
Level of pages the task should check
protected
int
$depth
= 0
$description
Description for the task
protected
string
$description
= ''
$disabled
Disable flag, TRUE if task is disabled, FALSE otherwise
protected
bool
$disabled
= false
Email address to which an email report is sent
protected
string
$email
= ''
$emailOnBrokenLinkOnly
Only send an email, if new broken links were found
protected
bool
$emailOnBrokenLinkOnly
= true
$emailTemplateName
Template name to be used for the email
protected
string
$emailTemplateName
= ''
$execution
The execution object related to the task
protected
Execution
$execution
$executionTime
This variable contains the time of next execution of the task
protected
int
$executionTime
= 0
$languageFile
Default language file of the extension linkvalidator
protected
string
$languageFile
= 'LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf'
$languages
Languages to check for broken links
protected
string
$languages
= ''
$modTSconfig
Merged mod TSconfig
protected
array<string|int, mixed>
$modTSconfig
= []
$page
UID of the start page for this task
protected
int
$page
= 0
$runOnNextCronJob
Run on next cron job flag, TRUE if task should run on next cronjob, FALSE otherwise
protected
bool
$runOnNextCronJob
= false
$scheduler
Reference to a scheduler object
protected
Scheduler|null
$scheduler
$sleepAfterFinish
protected
int
$sleepAfterFinish
$sleepTime
protected
int
$sleepTime
$taskGroup
Task group for this task
protected
int|null
$taskGroup
= 0
$taskNeedsUpdate
Defines if the task should be updated as some values have changed during task execution
protected
bool
$taskNeedsUpdate
= false
$taskUid
The unique id of the task used to identify it in the database.
protected
int
$taskUid
= 0
Methods
__construct()
Constructor
public
__construct() : mixed
areMultipleExecutionsAllowed()
Returns TRUE if several runs of the task are allowed concurrently
public
areMultipleExecutionsAllowed() : bool
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
Return values
bool —TRUE if concurrent executions are allowed, FALSE otherwise
execute()
Function execute from the Scheduler
public
execute() : bool
Return values
bool —TRUE on successful execution, FALSE on error
getAdditionalInformation()
Returns the most important properties of the LinkValidator task as a comma separated string that will be displayed in the scheduler module.
public
getAdditionalInformation() : string
Return values
string —Information to display
getConfiguration()
Get the value of the protected property configuration
public
getConfiguration() : string
Return values
string —specific TSconfig for this task
getDepth()
Get the value of the protected property depth
public
getDepth() : int
Return values
int —Level of pages the task should check
getDescription()
This method returns the description of the task
public
getDescription() : string
Return values
string —Description
getEmail()
Get the value of the protected property email
public
getEmail() : string
Return values
string —Email address to which an email report is sent
getEmailOnBrokenLinkOnly()
Get the value of the protected property emailOnBrokenLinkOnly
public
getEmailOnBrokenLinkOnly() : bool
Return values
bool —Whether to send an email, if new broken links were found
getEmailTemplateName()
Get the value of the protected property emailTemplateName
public
getEmailTemplateName() : string
Return values
string —Template name to be used for the email
getExecution()
Returns the execution object
public
getExecution() : Execution
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
Return values
Execution —The internal execution object
getExecutionTime()
This method returns the timestamp corresponding to the next execution time of the task
public
getExecutionTime() : int
Return values
int —Timestamp of next execution
getLanguages()
Get the value of the protected property languages
public
getLanguages() : string
Return values
string —Languages to fetch broken links
getNextDueExecution()
Returns the timestamp for next due execution of the task
public
getNextDueExecution() : int
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
Return values
int —Date and time of the next execution as a timestamp
getPage()
Get the value of the protected property page
public
getPage() : int
Return values
int —UID of the start page for this task
getRunOnNextCronJob()
This method returns the run on next cron job status of the task
public
getRunOnNextCronJob() : bool
Return values
bool —TRUE if task should run on next cron job, FALSE otherwise
getTaskClassName()
This method returns the class name of the scheduler task
public
getTaskClassName() : string
Return values
stringgetTaskDescription()
This method returns the description of the scheduler task
public
getTaskDescription() : string
Return values
stringgetTaskGroup()
This method returns the task group (uid) of the task
public
getTaskGroup() : int|null
Return values
int|null —Uid of task group or null if it came back from the DB without the task group set.
getTaskTitle()
This method returns the title of the scheduler task
public
getTaskTitle() : string
Return values
stringgetTaskUid()
This method returns the unique id of the task
public
getTaskUid() : int
Return values
int —The id of the task
getType()
Guess task type from the existing information If an interval or a cron command is defined, it's a recurring task
public
getType() : int
Return values
intisDisabled()
This method returns the disabled status of the task
public
isDisabled() : bool
Return values
bool —TRUE if task is disabled, FALSE otherwise
isExecutionRunning()
Returns TRUE if an instance of the task is already running
public
isExecutionRunning() : bool
will be removed in TYPO3 v13.0. Use SchedulerTaskRepository instead.
Return values
bool —TRUE if an instance is already running, FALSE otherwise
markExecution()
This method adds current execution to the execution list It also logs the execution time and mode
public
markExecution() : int
will be removed in TYPO3 v13.0. Use SchedulerTaskRepository instead.
Return values
int —Execution id
registerRecurringExecution()
Registers a recurring execution of the task
public
registerRecurringExecution(int $start, int $interval[, int $end = 0 ][, bool $multiple = false ][, string $cron_cmd = '' ]) : mixed
Parameters
- $start : int
-
The first date/time where this execution should occur (timestamp)
- $interval : int
-
Execution interval in seconds
- $end : int = 0
-
The last date/time where this execution should occur (timestamp)
- $multiple : bool = false
-
Set to FALSE if multiple executions of this task are not permitted in parallel
- $cron_cmd : string = ''
-
Used like in crontab (minute hour day month weekday)
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
registerSingleExecution()
Registers a single execution of the task
public
registerSingleExecution(int $timestamp) : mixed
Parameters
- $timestamp : int
-
Timestamp of the next execution
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
remove()
Removes the task totally from the system.
public
remove() : mixed
will be removed in TYPO3 v13.0. Use SchedulerTaskRepository instead.
save()
Saves the details of the task to the database.
public
save() : bool
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
Return values
boolsetConfiguration()
Set the value of the private property configuration
public
setConfiguration(string $configuration) : self
Parameters
- $configuration : string
-
specific TSconfig for this task
Return values
selfsetDepth()
Set the value of the private property depth
public
setDepth(int $depth) : self
Parameters
- $depth : int
-
Level of pages the task should check
Return values
selfsetDescription()
This method is used to set the description of the task
public
setDescription(string $description) : void
Parameters
- $description : string
-
Description
setDisabled()
This method is used to set the disabled status of the task
public
setDisabled(bool $flag) : mixed
Parameters
- $flag : bool
-
TRUE if task should be disabled, FALSE otherwise
setEmail()
Set the value of the private property email.
public
setEmail(string $email) : self
Parameters
- $email : string
-
Email address to which an email report is sent
Return values
selfsetEmailOnBrokenLinkOnly()
Set the value of the private property emailOnBrokenLinkOnly
public
setEmailOnBrokenLinkOnly(bool $emailOnBrokenLinkOnly) : self
Parameters
- $emailOnBrokenLinkOnly : bool
-
Only send an email, if new broken links were found
Return values
selfsetEmailTemplateName()
Set the value of the private property emailTemplateName
public
setEmailTemplateName(string $emailTemplateName) : self
Parameters
- $emailTemplateName : string
-
Template name to be used for the email
Return values
selfsetExecution()
Sets the internal execution object
public
setExecution(Execution $execution) : mixed
Parameters
- $execution : Execution
-
The execution to add
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
setExecutionTime()
This method is used to set the timestamp corresponding to the next execution time of the task
public
setExecutionTime(int $timestamp) : mixed
Parameters
- $timestamp : int
-
Timestamp of next execution
setLanguages()
Set the value of the private property languages
public
setLanguages(string $languages) : self
Parameters
- $languages : string
-
Languages to fetch broken links
Return values
selfsetPage()
Set the value of the private property page
public
setPage(int $page) : self
Parameters
- $page : int
-
UID of the start page for this task.
Return values
selfsetRunOnNextCronJob()
This method set the flag for next cron job execution
public
setRunOnNextCronJob(bool $flag) : mixed
Parameters
- $flag : bool
-
TRUE if task should run with the next cron job, FALSE otherwise
setScheduler()
Sets the internal reference to the singleton instance of the Scheduler and the logger instance in case it was unserialized
public
setScheduler() : mixed
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
setTaskGroup()
This method is used to set the task group (uid) of the task
public
setTaskGroup(int $taskGroup) : mixed
Parameters
- $taskGroup : int
-
Uid of task group
setTaskUid()
This method is used to set the unique id of the task
public
setTaskUid(int $id) : void
Parameters
- $id : int
-
Primary key (from the database record) of the scheduled task
stop()
Stops the task, by replacing the execution object by an empty one NOTE: the task still needs to be saved after that
public
stop() : mixed
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
unmarkAllExecutions()
Clears all marked executions
public
unmarkAllExecutions() : bool
will be removed in TYPO3 v13.0. Use SchedulerTaskRepository instead.
Return values
bool —TRUE if the clearing succeeded, FALSE otherwise
unmarkExecution()
Removes given execution from list
public
unmarkExecution(int $executionID[, Throwable|null $e = null ]) : mixed
will be removed in TYPO3 v13.0. Use SchedulerTaskRepository instead.
Parameters
- $executionID : int
-
Id of the execution to remove.
- $e : Throwable|null = null
-
An exception to signal a failed execution
unsetScheduler()
Unsets the internal reference to the singleton instance of the Scheduler and the logger instance.
public
unsetScheduler() : mixed
This is done before a task is serialized, so that the scheduler instance and the logger instance are not saved to the database
since TYPO3 v12.3, not part of TYPO3 Public API anymore.
getFluidEmail()
Get FluidEmail with template from the task configuration
protected
getFluidEmail() : FluidEmail
Return values
FluidEmailgetLanguageService()
protected
getLanguageService() : LanguageService|null
Return values
LanguageService|nullgetLinkAnalyzerResult()
Validate all broken links for pages set in the task configuration and return the analyzers result as object.
protected
getLinkAnalyzerResult() : LinkAnalyzerResult
Return values
LinkAnalyzerResultgetLinkTypes()
Get the list of linkTypes to consider for fetching broken links
protected
getLinkTypes() : array<int, string>
Return values
array<int, string> —$linkTypes list of link types
getSearchField()
Get the list of fields to consider for fetching broken links
protected
getSearchField() : array<string|int, mixed>
Return values
array<string|int, mixed> —$searchFields List of search fields
loadModTSconfig()
Load and merge linkvalidator TSconfig from task configuration with page TSconfig
protected
loadModTSconfig() : void
logException()
protected
logException(Exception $e) : mixed
Parameters
- $e : Exception
reportEmail()
Build and send report email when broken links were found
protected
reportEmail(LinkAnalyzerResult $linkAnalyzerResult) : bool
Parameters
- $linkAnalyzerResult : LinkAnalyzerResult
Return values
bool —TRUE if mail was sent, FALSE if not
setCliArguments()
Simulate cli call with setting the required options to the $_SERVER['argv']
protected
setCliArguments() : self
Return values
selftemplateFilesExist()
Check if both template files (html and txt) exist under at least one template path
protected
templateFilesExist(array<string|int, mixed> $templatePaths) : bool
Parameters
- $templatePaths : array<string|int, mixed>