CORE POS - Fannie
The CORE POS back end
|
Public Member Functions | |
run () | |
Public Member Functions inherited from FannieTask | |
setThreshold ($t) | |
setConfig (FannieConfig $fc) | |
setLogger (FannieLogger $fl) | |
setOptions ($o) | |
setArguments ($a) | |
run () | |
cronMsg ($str, $severity=6) | |
lazyGetOpt ($argv) | |
Additional Inherited Members | |
Public Attributes inherited from FannieTask | |
$name = 'Fannie Task' | |
$description = 'Information about the task' | |
$default_schedule | |
$schedulable = true | |
const | TASK_NO_ERROR = 0 |
const | TASK_TRIVIAL_ERROR = 1 |
const | TASK_SMALL_ERROR = 2 |
const | TASK_MEDIUM_ERROR = 3 |
const | TASK_LARGE_ERROR = 4 |
const | TASK_WORST_ERROR = 5 |
Protected Attributes inherited from FannieTask | |
$error_threshold = 99 | |
$config = null | |
$logger = null | |
$options = array() | |
$arguments = array() | |
CalendarSubscriptionsTask::run | ( | ) |
Use prepare statements instead of models for efficiency. Could be issuing a large number of queries with many subscriptions
For each subscribed calendar: Download the feed URL to temporary storage Parse the feed data and extract VEvents Loop through the events and add/update them Delete any events in the calendar that a) do not match one of the event unique IDs b) fall within the same timespan as the parsed events These two conditions probably indicate the event was deleted in the source calendar