DeliverInvoices extends AbstractTask
The deliver_invoices automation task
Table of Contents
Properties
| $date | |
| $logger | |
| $options | |
| $task |
Methods
| __construct() | Initialize a new task |
| loadLanguage() | Attempts to load a language file for use |
| log() | Logs the given content for this task |
| logComplete() | Marks the log completed |
| run() | Executes the task |
| setDate() | Sets the date object for date calculations |
| isCurrentDay() | Determines whether today is the day of the month given |
| isTimeToRun() | Determines whether this task can run at the given date |
| resetErrors() | Reset Input errors on a given object |
| groupInvoices() | Groups invoices into invoice IDs by client |
| process() | Processes the task |
| sendInvoices() | Sends a group of invoices to a given client via the delivery method and marks each invoice delivered |
Properties
$date
protected
Date
$date
An instance of Minphp\Date\Date
$logger
protected
The
$logger
monolog logger
$options
protected
An
$options
= []
array of options for this task:
- print_log True to print logged content to stdout, or false otherwise (default false)
- cli True if this is being run via the Command-Line Interface, or false otherwise (default true)
$task
protected
An
$task
instance of the task
Methods
__construct()
Initialize a new task
public
__construct(AutomationTypeInterface $task[, array<string|int, mixed> $options = [] ]) : mixed
Parameters
- $task : AutomationTypeInterface
-
The raw automation task
- $options : array<string|int, mixed> = []
-
An additional options necessary for the task:
- print_log True to print logged content to stdout, or false otherwise (default false)
- cli True if this is being run via the Command-Line Interface, or false otherwise (default true)
- client_uri The URI of the client interface
loadLanguage()
Attempts to load a language file for use
public
loadLanguage([string $directory = null ][, string $langCode = null ][, string $filename = null ]) : mixed
Parameters
- $directory : string = null
-
The path to the directory containing the language file (optional, defaults to the default language directory)
- $langCode : string = null
-
The ISO 639-1/2 language to load the $filename for (e.g. en_us) (optional, defaults to the current language)
- $filename : string = null
-
The name of the file (without extension) containing the file (optional, attempts to load based on the current task name)
log()
Logs the given content for this task
public
log(string $content) : mixed
Parameters
- $content : string
-
The content to log to cron
logComplete()
Marks the log completed
public
logComplete() : mixed
run()
Executes the task
public
run() : mixed
setDate()
Sets the date object for date calculations
public
setDate(Date $date) : mixed
Parameters
- $date : Date
-
An instance of Minphp\Date\Date
isCurrentDay()
Determines whether today is the day of the month given
protected
isCurrentDay(int $day) : bool
Parameters
- $day : int
-
The day of the month to check (i.e. in range [1,31])
Return values
bool —True if today is the current day given, false otherwise
isTimeToRun()
Determines whether this task can run at the given date
protected
isTimeToRun() : bool
Return values
bool —True if it is time for the task to run, or false otherwise
resetErrors()
Reset Input errors on a given object
protected
resetErrors(object $object) : mixed
Parameters
- $object : object
-
An instance of an object containing the Input component
groupInvoices()
Groups invoices into invoice IDs by client
private
groupInvoices(array<string|int, mixed> $invoices) : array<string|int, mixed>
Parameters
- $invoices : array<string|int, mixed>
-
A list of stdClass objects representing invoices
Return values
array<string|int, mixed> —A list of invoices grouped by client and delivery method
process()
Processes the task
private
process() : mixed
sendInvoices()
Sends a group of invoices to a given client via the delivery method and marks each invoice delivered
private
sendInvoices(array<string|int, mixed> $invoice_ids, mixed $client, string $delivery_method[, string $invoice_status_type = 'unpaid' ]) : array<string|int, mixed>
Parameters
- $invoice_ids : array<string|int, mixed>
-
A list of invoice IDs belonging to the client
- $client : mixed
- $delivery_method : string
-
The delivery method to send the invoices with
- $invoice_status_type : string = 'unpaid'
-
The invoice status type indicating the type of invoice_ids given: (optional, default "unpaid")
- paid
- unpaid
Return values
array<string|int, mixed> —An array of errors from attempting to deliver the invoices