ValidatorTask extends AbstractTask

This class provides Scheduler plugin implementation

Internal

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
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
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 disable 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()  : ValidatorTask
Set the value of the private property configuration
setDepth()  : ValidatorTask
Set the value of the private property depth
setDescription()  : mixed
This method is used to set the description of the task
setDisabled()  : mixed
This method is used to set the disable status of the task
setEmail()  : ValidatorTask
Set the value of the private property email.
setEmailOnBrokenLinkOnly()  : ValidatorTask
Set the value of the private property emailOnBrokenLinkOnly
setEmailTemplateName()  : ValidatorTask
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()  : ValidatorTask
Set the value of the private property languages
setPage()  : ValidatorTask
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()  : mixed
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()  : ValidatorTask
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()  : ValidatorTask
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

Properties

$configuration

Specific TSconfig for this task.

protected string $configuration = ''

$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

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 = ''

$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

$sleepAfterFinish

protected int $sleepAfterFinish

$taskGroup

Task group for this task

protected int $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

Methods

__construct()

Constructor

public __construct() : mixed

areMultipleExecutionsAllowed()

Returns TRUE if several runs of the task are allowed concurrently

public areMultipleExecutionsAllowed() : bool
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

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
Tags
todo

type cast needed for backwards compatibility - should be removed in v12

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
Tags
todo

type cast needed for backwards compatibility - should be removed in v12

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
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
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
Tags
todo

type cast needed for backwards compatibility - should be removed in v12

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
string

getTaskDescription()

This method returns the description of the scheduler task

public getTaskDescription() : string
Return values
string

getTaskGroup()

This method returns the task group (uid) of the task

public getTaskGroup() : int
Return values
int

Uid of task group

getTaskTitle()

This method returns the title of the scheduler task

public getTaskTitle() : string
Return values
string

getTaskUid()

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
int

isDisabled()

This method returns the disable 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
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
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)

registerSingleExecution()

Registers a single execution of the task

public registerSingleExecution(int $timestamp) : mixed
Parameters
$timestamp : int

Timestamp of the next execution

remove()

Removes the task totally from the system.

public remove() : mixed

save()

Saves the details of the task to the database.

public save() : bool
Return values
bool

setConfiguration()

Set the value of the private property configuration

public setConfiguration(string $configuration) : ValidatorTask
Parameters
$configuration : string

specific TSconfig for this task

Return values
ValidatorTask

setDepth()

Set the value of the private property depth

public setDepth(int $depth) : ValidatorTask
Parameters
$depth : int

Level of pages the task should check

Return values
ValidatorTask

setDescription()

This method is used to set the description of the task

public setDescription(string $description) : mixed
Parameters
$description : string

Description

setDisabled()

This method is used to set the disable 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) : ValidatorTask
Parameters
$email : string

Email address to which an email report is sent

Return values
ValidatorTask

setEmailOnBrokenLinkOnly()

Set the value of the private property emailOnBrokenLinkOnly

public setEmailOnBrokenLinkOnly(bool $emailOnBrokenLinkOnly) : ValidatorTask
Parameters
$emailOnBrokenLinkOnly : bool

Only send an email, if new broken links were found

Return values
ValidatorTask

setEmailTemplateName()

Set the value of the private property emailTemplateName

public setEmailTemplateName(string $emailTemplateName) : ValidatorTask
Parameters
$emailTemplateName : string

Template name to be used for the email

Return values
ValidatorTask

setExecution()

Sets the internal execution object

public setExecution(Execution $execution) : mixed
Parameters
$execution : Execution

The execution to add

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) : ValidatorTask
Parameters
$languages : string

Languages to fetch broken links

Return values
ValidatorTask

setPage()

Set the value of the private property page

public setPage(int $page) : ValidatorTask
Parameters
$page : int

UID of the start page for this task.

Return values
ValidatorTask

setRunOnNextCronJob()

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

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) : mixed
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

unmarkAllExecutions()

Clears all marked executions

public unmarkAllExecutions() : bool
Return values
bool

TRUE if the clearing succeeded, FALSE otherwise

unmarkExecution()

Removes given execution from list

public unmarkExecution(int $executionID[, Throwable $e = null ]) : mixed
Parameters
$executionID : int

Id of the execution to remove.

$e : Throwable = 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

getLinkTypes()

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

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 or not

templateFilesExist()

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>
Return values
bool

        
On this page

Search results