CalendarCategory
extends CalendarLibrary
in package
Calendar Class Host Manager
Tags
Table of Contents
Constants
- ATTACHMENT_FIELD_KEY = 'attachment_id'
- Attachment field key
- MAP_FIELD_KEY = 'map_id'
- map field key
- PICTURE_FIELD_KEY = 'picture_id'
- Picture field key
- SHOW_EVENTS_OF_TODAY = 0
- Setting value for option frontendPastEvents defining that all events having their start date as of today shall be listed in frontend till the end of today.
- SHOW_EVENTS_UNTIL_END = 1
- Setting value for option frontendPastEvents defining that only those events shall be listed in frontend that have not yet ended (end date lies in the past)
- SHOW_EVENTS_UNTIL_START = 2
- Setting value for option frontendPastEvents defining that only those events shall be listed in frontend that have not yet started (start date lies in the future)
Properties
- $_objTpl : object
- Template object
- $arrCommunityGroups : array<string|int, mixed>
- Community group array
- $arrData : array<string|int, mixed>
- Category data
- $arrFrontendLanguages : array<string|int, mixed>
- active frontend languages
- $arrSettings : array<string|int, mixed>
- Settings array
- $csvSeparator : string
- CSV separator
- $errMessage : string
- Error message
- $id : int
- category id
- $moduleLangVar : string
- module language variable prefix
- $moduleName : string
- module name
- $moduleTablePrefix : string
- module table prefix
- $name : string
- category name
- $okMessage : type
- Success message
- $pageContent : string
- template content
- $pos : int
- position
- $settings : array<string|int, mixed>
- Static settings array to cache the fetched data from the database
- $status : bool
- status
- $cx : Cx
- $em : EntityManager
- $eventAssociations : array<string|int, mixed>
- Preloaded data of all event associations
Methods
- __construct() : mixed
- category manager constructor
- checkAccess() : null
- Checks the access level for the given action
- countEntries() : int
- Count the number of entries in the category
- delete() : bool
- Delete the category
- detachEntity() : null
- Detach the entity
- detachJoinedEntity() : null
- Detach the jointed entity
- format2userDate() : string
- Returns the date string (according to the calendar's configuration) from a \DateTime object.
- format2userDateTime() : string
- Returns the date/time string (according to the calendar's configuration) from a \DateTime object.
- format2userTime() : string
- Returns the time string 'H:i' from a \DateTime object
- formatDateTime2user() : string
- Returns a date/time string from a \DateTime object.
- generateKey() : string
- generates the random key
- get() : null
- Loads the catgory
- getCategoryEntity() : Category
- Get category entity
- getCategoryNameEntity() : CategoryName
- Get category name entity
- getCommunityGroups() : null
- Initilize the available group
- getComponent() : SystemComponentController
- Get component controller object
- getCurrentCategory() : CalendarCategory
- Return the current Category
- getData() : null
- Loads the category data
- getDateFormat() : string
- Return's the dataformat based on the type
- getDateTime() : DateTime
- Returns a \DateTime object from a calendar date/time string.
- getDbDateTimeFromIntern() : DateTime
- Returns a \DateTime object in db timezone
- getExeceptionDates() : array<string|int, mixed>
- Returns all series dates based on the given post data
- getFrontendLanguages() : null
- Initialize the active frontend languages array
- getHeadlinePlaceholders() : array<string|int, mixed>
- Get the list of calendar headline placeholders
- getIdsByEventId() : array<string|int, mixed>
- Return all Category IDs associated with the given Event ID
- getInternDateTimeFromDb() : DateTime
- Returns a \DateTime object from a date/time string.
- getInternDateTimeFromUser() : DateTime
- Returns a \DateTime object from a date/time string.
- getJavascript() : string
- Return's the billing address javascript
- getNamesByEvent() : array<string|int, mixed>
- Return the names of all categories associated with the given event
- getSettings() : null
- Prepares the settings from database to array format
- getUserDateTimeFromIntern() : DateTime
- Returns a \DateTime object in user timezone
- init() : mixed
- Initialize $cx and $em
- save() : bool
- Save the category
- saveOrder() : bool
- Save the category order
- switchStatus() : bool
- Switch the status of the catgory
- triggerEvent() : null
- Trigger the event
- updateEventRelation() : bool
- Update the Category-Event relation
- parseDateTimeString() : array<string|int, mixed>
- Split a datetime string (i.E.: '08.06.2015 13:37') into an array containing the date, hour and minutes information as separate elements.
- preLoadAssociations() : mixed
- Fetches event associations of all categories and caches them in a static variable.
Constants
ATTACHMENT_FIELD_KEY
Attachment field key
public
string
ATTACHMENT_FIELD_KEY
= 'attachment_id'
MAP_FIELD_KEY
map field key
public
string
MAP_FIELD_KEY
= 'map_id'
PICTURE_FIELD_KEY
Picture field key
public
string
PICTURE_FIELD_KEY
= 'picture_id'
SHOW_EVENTS_OF_TODAY
Setting value for option frontendPastEvents defining that all events having their start date as of today shall be listed in frontend till the end of today.
public
int
SHOW_EVENTS_OF_TODAY
= 0
SHOW_EVENTS_UNTIL_END
Setting value for option frontendPastEvents defining that only those events shall be listed in frontend that have not yet ended (end date lies in the past)
public
int
SHOW_EVENTS_UNTIL_END
= 1
SHOW_EVENTS_UNTIL_START
Setting value for option frontendPastEvents defining that only those events shall be listed in frontend that have not yet started (start date lies in the future)
public
int
SHOW_EVENTS_UNTIL_START
= 2
Tags
Properties
$_objTpl
Template object
public
object
$_objTpl
Tags
$arrCommunityGroups
Community group array
public
array<string|int, mixed>
$arrCommunityGroups
= array()
Tags
$arrData
Category data
public
array<string|int, mixed>
$arrData
= array()
Tags
$arrFrontendLanguages
active frontend languages
public
array<string|int, mixed>
$arrFrontendLanguages
= array()
Tags
$arrSettings
Settings array
public
array<string|int, mixed>
$arrSettings
= array()
Tags
$csvSeparator
CSV separator
public
string
$csvSeparator
= ';'
Tags
$errMessage
Error message
public
string
$errMessage
= ''
Tags
$id
category id
public
int
$id
Tags
$moduleLangVar
module language variable prefix
public
string
$moduleLangVar
= "CALENDAR"
Tags
$moduleName
module name
public
string
$moduleName
= "Calendar"
Tags
$moduleTablePrefix
module table prefix
public
string
$moduleTablePrefix
= "calendar"
Tags
$name
category name
public
string
$name
Tags
$okMessage
Success message
public
type
$okMessage
= ''
Tags
$pageContent
template content
public
string
$pageContent
Tags
$pos
position
public
int
$pos
Tags
$settings
Static settings array to cache the fetched data from the database
public
static array<string|int, mixed>
$settings
= array()
$status
status
public
bool
$status
Tags
$cx
protected
Cx
$cx
$em
protected
EntityManager
$em
$eventAssociations
Preloaded data of all event associations
protected
static array<string|int, mixed>
$eventAssociations
= array()
Methods
__construct()
category manager constructor
public
__construct([int $id = null ]) : mixed
Loads the category by given id
Parameters
- $id : int = null
-
category id
checkAccess()
Checks the access level for the given action
public
checkAccess(string $strAction) : null
It checks the access level for the given action and return's null if access is granted otherwise it redirect the action to the respective fallback pages.
Parameters
- $strAction : string
-
possible values are add_event, edit_event, my_events
Return values
nullcountEntries()
Count the number of entries in the category
public
countEntries([mixed $getAll = false ][, mixed $onlyActive = false ]) : int
Parameters
- $getAll : mixed = false
- $onlyActive : mixed = false
Return values
int —Entry count of the category
delete()
Delete the category
public
delete() : bool
Return values
bool —true if data deleted successfully, false otherwise
detachEntity()
Detach the entity
public
detachEntity(object $entity, string $methodName, array<string|int, mixed> $relation, array<string|int, mixed> $joinEntityRelation) : null
Parameters
- $entity : object
-
entity object
- $methodName : string
-
method name
- $relation : array<string|int, mixed>
-
relationship array
- $joinEntityRelation : array<string|int, mixed>
-
joined entity's relationship array
Return values
nulldetachJoinedEntity()
Detach the jointed entity
public
detachJoinedEntity(object $entity, array<string|int, mixed> $relations, array<string|int, mixed> $joinEntityRelation) : null
Parameters
- $entity : object
-
entity object
- $relations : array<string|int, mixed>
-
relationship array
- $joinEntityRelation : array<string|int, mixed>
-
joined entity's relationship array
Return values
nullformat2userDate()
Returns the date string (according to the calendar's configuration) from a \DateTime object.
public
format2userDate(DateTime $dateTime) : string
The SUPPLIED \DateTime object must be in INTERNAL timezone. The RETURNED date string will be in USER timezone.
Parameters
- $dateTime : DateTime
-
DateTime object in internal timezone
Return values
string —A date string
format2userDateTime()
Returns the date/time string (according to the calendar's configuration) from a \DateTime object.
public
format2userDateTime(DateTime $dateTime) : string
The SUPPLIED \DateTime object must be in INTERNAL timezone. The RETURNED date/time string will be in USER timezone.
Parameters
- $dateTime : DateTime
-
DateTime object in internal timezone
Return values
string —A date/time string
format2userTime()
Returns the time string 'H:i' from a \DateTime object
public
format2userTime(DateTime $dateTime) : string
The SUPPLIED \DateTime object must be in INTERNAL timezone. The RETURNED time string will be in USER timezone.
Parameters
- $dateTime : DateTime
-
DateTime object in internal timezone
Return values
string —A time string
formatDateTime2user()
Returns a date/time string from a \DateTime object.
public
formatDateTime2user(DateTime $dateTime, string $format) : string
The SUPPLIED \DateTime object must be in INTERNAL timezone. The RETURNED date/time string will be in USER timezone.
Parameters
- $dateTime : DateTime
-
DateTime object in internal timezone
- $format : string
-
Format string
Return values
string —A date/time string formatted according to $format
generateKey()
generates the random key
public
generateKey() : string
Return values
string —combination of alphabet and number in random order
get()
Loads the catgory
public
get(int $catId) : null
Parameters
- $catId : int
Return values
nullgetCategoryEntity()
Get category entity
public
getCategoryEntity(int $id[, array<string|int, mixed> $formData = array() ]) : Category
Parameters
- $id : int
-
category id
- $formData : array<string|int, mixed> = array()
-
category field values
Return values
CategorygetCategoryNameEntity()
Get category name entity
public
getCategoryNameEntity(Category $category, array<string|int, mixed> $fieldValues) : CategoryName
Parameters
- $category : Category
-
category entity
- $fieldValues : array<string|int, mixed>
-
categoryName field values
Return values
CategoryNamegetCommunityGroups()
Initilize the available group
public
getCommunityGroups() : null
Fetch the available group from the database and assign those values into $this->arrCommunityGroups
Return values
nullgetComponent()
Get component controller object
public
getComponent(string $name) : SystemComponentController
Parameters
- $name : string
-
component name
Return values
SystemComponentController —The requested component controller or null if no such component exists
getCurrentCategory()
Return the current Category
public
static getCurrentCategory(int $category_id, CalendarEvent $event) : CalendarCategory
The Event may have multiple Categories associated with it. If an active $category_id is given, use that. Otherwise, pick the first Category associated with the Event instead.
Parameters
- $category_id : int
- $event : CalendarEvent
Tags
Return values
CalendarCategorygetData()
Loads the category data
public
getData() : null
Return values
nullgetDateFormat()
Return's the dataformat based on the type
public
getDateFormat([int $type = null ]) : string
Return's the dateformat by the given type 1 => frontend (javascript format alone) else backend
Parameters
- $type : int = null
-
type 1 => frontend (javascript format alone) else backend
Return values
string —Date format
getDateTime()
Returns a \DateTime object from a calendar date/time string.
public
getDateTime(string $date[, int $hour = 0 ][, int $minute = 0 ]) : DateTime
The format of a calendar date/time string can be configured in the settings section of the calendar component.
Note: In constrast to this method, the method getUserDateTimeFromUser() expects a PHP date/time string.
The SUPPLIED calendar date/time string must be in USER timezone. The RETURNED \DateTime object will be in INTERNAL timezone.
Parameters
- $date : string
-
A calendar date/time string in user timezone
- $hour : int = 0
-
Hour value
- $minute : int = 0
-
Minute value
Return values
DateTime —\DateTime object in internal timezone
getDbDateTimeFromIntern()
Returns a \DateTime object in db timezone
public
getDbDateTimeFromIntern(DateTime $dateTime) : DateTime
The SUPPLIED \DateTime object must be in INTERNAL timezone. The RETURNED \DateTime object will be in DB timezone.
Parameters
- $dateTime : DateTime
-
\DateTime object in internal timezone
Return values
DateTime —\DateTime in db timezone
getExeceptionDates()
Returns all series dates based on the given post data
public
getExeceptionDates() : array<string|int, mixed>
Return values
array<string|int, mixed> —Array of dates
getFrontendLanguages()
Initialize the active frontend languages array
public
getFrontendLanguages() : null
Fetch the active frontend languages from the database and assign those values into $this->arrFrontendLanguages
Return values
nullgetHeadlinePlaceholders()
Get the list of calendar headline placeholders
public
static getHeadlinePlaceholders() : array<string|int, mixed>
Return values
array<string|int, mixed>getIdsByEventId()
Return all Category IDs associated with the given Event ID
public
getIdsByEventId(int $event_id) : array<string|int, mixed>
Parameters
- $event_id : int
-
The Event ID
Tags
Return values
array<string|int, mixed> —The Category IDs
getInternDateTimeFromDb()
Returns a \DateTime object from a date/time string.
public
getInternDateTimeFromDb([string $time = 'now' ]) : DateTime
The SUPPLIED date/time string must be in DB timezone. The RETURNED \DateTime object will be in INTERNAL timezone.
Parameters
- $time : string = 'now'
-
A date/time string in db timezone
Return values
DateTime —\DateTime object in internal timezone
getInternDateTimeFromUser()
Returns a \DateTime object from a date/time string.
public
getInternDateTimeFromUser([string $time = 'now' ]) : DateTime
The SUPPLIED date/time string must be in USER timezone. The RETURNED \DateTime object will be in INTERNAL timezone.
Parameters
- $time : string = 'now'
-
A date/time string in user timezone
Return values
DateTime —\DateTime object in internal timezone
getJavascript()
Return's the billing address javascript
public
getJavascript() : string
Return values
string —Billing HereDoc phpscript
getNamesByEvent()
Return the names of all categories associated with the given event
public
static getNamesByEvent(CalendarEvent $event) : array<string|int, mixed>
Parameters
- $event : CalendarEvent
Tags
Return values
array<string|int, mixed>getSettings()
Prepares the settings from database to array format
public
getSettings() : null
Loads the settings values from the database and assign those values into $this->arrSettings
Return values
nullgetUserDateTimeFromIntern()
Returns a \DateTime object in user timezone
public
getUserDateTimeFromIntern(DateTime $dateTime) : DateTime
The SUPPLIED \DateTime object must be in INTERNAL timezone. The RETURNED \DateTime object will be in USER timezone.
Parameters
- $dateTime : DateTime
-
\DateTime object in internal timezone
Return values
DateTime —\DateTime in user timezone
init()
Initialize $cx and $em
public
init() : mixed
save()
Save the category
public
save(array<string|int, mixed> $data) : bool
Parameters
- $data : array<string|int, mixed>
-
posted data from the user
Return values
bool —true if data saved successfully, false otherwise
saveOrder()
Save the category order
public
saveOrder(int $order) : bool
Parameters
- $order : int
-
order number of the category
Return values
bool —true if order updated successfully, false otherwise
switchStatus()
Switch the status of the catgory
public
switchStatus() : bool
Return values
bool —true if status updated successfully, false otherwise
triggerEvent()
Trigger the event
public
triggerEvent(string $eventName[, object $entity = null ][, array<string|int, mixed> $relations = array() ][, bool $isDetach = false ]) : null
Parameters
- $eventName : string
-
trigger event name
- $entity : object = null
-
entity object
- $relations : array<string|int, mixed> = array()
-
entity relations
- $isDetach : bool = false
-
is detachable entity
Return values
nullupdateEventRelation()
Update the Category-Event relation
public
updateEventRelation(int $event_id, array<string|int, mixed> $category_ids) : bool
Parameters
- $event_id : int
- $category_ids : array<string|int, mixed>
Tags
Return values
bool —Returns true on success, false otherwise
parseDateTimeString()
Split a datetime string (i.E.: '08.06.2015 13:37') into an array containing the date, hour and minutes information as separate elements.
protected
parseDateTimeString(string $datetime[, bool $allDay = false ][, bool $end = false ]) : array<string|int, mixed>
Parameters
- $datetime : string
-
The datetime string to parse.
- $allDay : bool = false
-
If set to TRUE, then the returned hour and minutes value are set to 0, unless $end is also set to TRUE.
- $end : bool = false
-
If set to TRUE and $allDay is also set to TRUE, then the returned hour is set to 23 and the minutes to 59. If $allDay is not set to TRUE, then this argument has no effect.
Return values
array<string|int, mixed> —Return parsed datetime as array having the following format:
array( d.m.Y, G, m )
preLoadAssociations()
Fetches event associations of all categories and caches them in a static variable.
protected
preLoadAssociations() : mixed