\Marketing\Events\Recurring\Rules
Templating
Global Functions
Website
\Components\Website\Designs \Components\Website\Media \Components\Website\Pages \Components\Website\Pages\Forms \Components\Website\Posts \Components\Website\Posts\Categories
Customers
\Components\Customers\Contacts \Components\Customers\Contacts\Relationships \Components\Customers\Contacts\Relationships\Types \Components\Customers\Groups
Marketing
\Components\Marketing\EmailMarketing \Components\Marketing\Events \Components\Marketing\Events\Attendees \Components\Marketing\Events\Categories \Components\Marketing\Events\Locations \Components\Marketing\Events\Recurring \Components\Marketing\Events\Recurring\Rules
METHODS
\Components\Marketing\SMSMarketing
Commerce
\Components\Commerce\Carts \Components\Commerce\Carts\Current \Components\Commerce\Discounts \Components\Commerce\Products \Components\Commerce\Products\Brands \Components\Commerce\Products\Categories \Components\Commerce\Products\Inventory \Components\Commerce\RecurringSales\Items \Components\Commerce\Sales \Components\Commerce\Sales\Items \Components\Commerce\Sales\Receipts \Components\Commerce\Sales\Receipts\Allocations
Settings
\Components\Settings\Administrators \Components\Settings\CustomFields \Components\Settings\Domains
Other Apps
\Components\Website\Comments \Components\Commerce\Affiliates \Components\Commerce\Affiliates\Administrators \Components\Commerce\Affiliates\Commissions \Components\Commerce\Affiliates\Payments \Components\Commerce\RecurringSales \Components\Commerce\RecurringSales\StoredCards
Framework
\Framework\Caching \Framework\Data\Util \Framework\DOM\CurrentContext \Framework\HTML\Converters \Framework\HTTP\Cookies \Framework\HTTP\Redirection \Framework\HTTP\Request \Framework\HTTP\Session \Framework\HTTP\TabState \Framework\HTTP\UserAgent \Framework\I18N\CompanyTypes \Framework\I18N\Countries \Framework\I18N\Languages

Rules

Recurring Event Rules

Schedule interval and time rules for recurring event generation.

Methods

Invoke via \Components\Marketing\Events\Recurring\Rules::method()
Click a method name to copy it.
- ` \Iterator dbGetAllIterable($arrQuery) `
Returns the raw rows dbGetAll() would return as an iterator, without building them all into an array

The dbGetAll() counterpart of getAllIterable(), for scans over every stored row of a large table (eg: the site-wide content scans in \Framework\Developer\Refactoring). Rows are as stored - JSON fields are not decoded - and are not entity-cached. Because it bypasses getAll(), components that override getAll() are iterated; search queries and components overriding dbGetAll() are refused.
Parameters:
- $arrQuery
mixed
Return
Yields Rules
- ` array fieldsGetAll($bCached) `
Returns all the columns this component supports
Parameters:
- $bCached
mixed
Return
array
- ` bool delete($iEventRecurringRuleId, $bDeleteMedia) `
Deletes a record from the database
Parameters:
- $iEventRecurringRuleId
int unsigned
A record's event_recurring_rule_id
- $bDeleteMedia
mixed
Return
Returns true if record existed and was deleted, otherwise false
- ` array get($iEventRecurringRuleId) `
Gets a record from the database
Parameters:
- $iEventRecurringRuleId
int unsigned
A record's event_recurring_rule_id
Return
- ` array getAll($arrQuery) `
Return a set of records from the database
Parameters:
- $arrQuery
mixed
Return
Array of Rules
- ` array getAllForSeries($iSeriesId) `
Return all rules for a recurring event series.
Parameters:
- $iSeriesId
mixed
Return
array
- ` \Iterator getAllIterable($arrQuery) `
Returns the entities getAll() would return as an iterator, without building them all into an array

For result sets too large to hold as arrays (eg: every recipient of a marketing send) - only the database driver's compact buffer of the result is held, a fraction of getAll()'s memory. Runs the same SQL as getAll(), and runs it now, as getAll() would; rows are decoded as you iterate.
Search queries are not supported, rows are not entity-cached, and components that override getAll() or dbGetAll() (eg: merging in defaults) are refused rather than iterated without their extra rows.
Parameters:
- $arrQuery
mixed
Return
Yields Rules
- ` mixed getColumn($iEventRecurringRuleId, $strColumn) `
Gets a single field from a record
Parameters:
- $iEventRecurringRuleId
int unsigned
A record's event_recurring_rule_id
- $strColumn
mixed
Return
mixed
- ` int getCount($arrFilter) `
Returns the number of records in the database (matching the filter if specified)
Parameters:
- $arrFilter
mixed
Return
int
- ` array getDayOptions() `
Return day-of-week options.
Return
array
- ` string getDayTitle($iDay) `
Return the title for a day-of-week value.
Parameters:
- $iDay
mixed
Return
string
- ` array getIntervalOptions() `
Return interval options for recurring event schedules.
Return
array
- ` string getIntervalTitle($strInterval, $iNumber) `
Render an interval in a user-readable form.
Parameters:
- $strInterval
mixed
- $iNumber
mixed
Return
string
- ` array getMonthlyModeOptions($strAnchorDate, $strCurrentMode) `
Return monthly repeat mode options with titles derived from an anchor date.

The weekday modes follow the anchor's weekday - an anchor on the second
Tuesday repeats on second Tuesdays. The "last" mode is only offered when the anchor sits in the final seven days of its month (where "fourth" and "last" genuinely differ), plus whenever it is the currently saved mode so an existing selection stays representable after the start date moves.
Parameters:
- $strAnchorDate
mixed
- $strCurrentMode
mixed
Return
array
- ` string getMonthlyModeTitle($strMode, $strAnchorDate) `
Render a monthly repeat mode as a phrase, e.g. "on the second Tuesday".
Parameters:
- $strMode
mixed
- $strAnchorDate
mixed
Return
string
- ` array getMonthlyModes() `
Return monthly repeat mode values.
Return
array
- ` int getWeekOrdinal($iDayOfMonth) `
Return which occurrence of its weekday within the month a day is (1-5).
Parameters:
- $iDayOfMonth
mixed
Return
int
- ` string getWeekOrdinalTitle($iOrdinal) `
Return the title for a weekday ordinal, e.g. 2 becomes "second".
Parameters:
- $iOrdinal
mixed
Return
string
- ` void replaceAllForSeries($iSeriesId, $arrRules) `
Replace all rules for a recurring event series.
Parameters:
- $iSeriesId
mixed
- $arrRules
mixed
- ` string|int save($arrEntity) `
Saves a record into the database
Parameters:
- $arrEntity
mixed
Return
string|int
- ` void saveColumn($iEventRecurringRuleId, $strColumn, $strValue) `
Saves a specific column of a row into a database
Parameters:
- $iEventRecurringRuleId
int unsigned
A record's event_recurring_rule_id
- $strColumn
mixed
- $strValue
mixed
- ` array search($strSearch, $arrQuery) `
Performs a search
Parameters:
- $strSearch
mixed
- $arrQuery
mixed
Return
Array of Rules that match the search query.

Database Fields

The following fields are used when retrieving and saving entities:
- `event_recurring_rule_id`
int unsigned (10)
- `event_recurring_series_id`
int unsigned (10)
- `event_recurring_rule_day_of_week`
0 or 1
- `event_recurring_rule_interval_number`
tinyint unsigned (3)
Default value: 1
- `event_recurring_rule_interval`
Default value: week
- `event_recurring_rule_monthly_mode`
Default value: day_of_month
- `event_recurring_rule_start_time`
time
- `event_recurring_rule_end_time`
time
- `event_recurring_rule_interval_weeks`
tinyint unsigned (3)
Default value: 1