Skip to content

Technical Plugin MessageOfTheDay

Daniel Neto edited this page Oct 29, 2026 · 1 revision

Technical: MessageOfTheDay plugin

Schedules and presents targeted user messages.

Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.

Source baseline

  • Review date: 2026-10-29. Method: static source analysis; runtime/provider behavior was not exercised.
  • Code ownership: independently versioned plugin repository.
  • Reported version: 5.0.
  • Source revision: cbc863b930ce1e4c9009bf71e95870b952b2bbf0.
  • Entry class file: MessageOfTheDay.php.

Confirm the installed plugin version independently of the Streamer version. Configuration defaults below are not a dump of this installation's saved settings.

Dependencies

No literal dependency declaration was extracted. This does not prove the plugin is standalone.

Hook integration

Override Implementation
getPluginMenu() MessageOfTheDay.php:44
getFooterCode() MessageOfTheDay.php:52

Configuration assignments

These are direct assignments inside getEmptyDataObject(), not evaluated effective defaults. Stored plugins.object_data, globals, structured values and conditional branches may alter runtime behavior. Private/default credential values are omitted.

Field Literal default or expression type Literal source label/help Evidence
staticGlobalMessageTitle '' — source
staticGlobalMessageText Computed/structured; inspect source Static Global Message Text: The content you input here will be displayed in a popup. Feel free to format and enhance your message using HTML source
showToLoggedUsersOnly false — source

Files and request surface

This inventory distinguishes implementation files from an API specification. Includes, templates, callbacks and CLI workers are not interchangeable HTTP endpoints. Request-field names below are direct source references, not a complete schema or permission declaration.

File Source role Direct request fields observed
MessageOfTheDay.php plugin entry class —
Objects/MessageOfTheDayTable.php class/helper implementation —
Objects/MessageOfTheDay_UserGroups.php class/helper implementation —
Objects/MessageOfTheDay_Views.php class/helper implementation —
View/MessageOfTheDay/add.json.php JSON entry point; inspect caller and guard display_frequency, end_php_time, id, scheduled_date, start_php_time, text, title, userGroups
View/MessageOfTheDay/delete.json.php JSON entry point; inspect caller and guard id
View/MessageOfTheDay/getActiveMessages.json.php JSON entry point; inspect caller and guard —
View/MessageOfTheDay/index.php PHP page/include/worker; inspect caller —
View/MessageOfTheDay/index_body.php PHP page/include/worker; inspect caller —
View/MessageOfTheDay/list.json.php JSON entry point; inspect caller and guard draw
View/MessageOfTheDay/recordView.json.php JSON entry point; inspect caller and guard messageId, messageIds
View/MessageOfTheDay/statistics.json.php JSON entry point; inspect caller and guard MessageOfTheDay_id
View/editor.php PHP page/include/worker; inspect caller —
View/statistics.php PHP page/include/worker; inspect caller id
footer.php PHP page/include/worker; inspect caller —
install/install.sql schema/migration SQL —
install/updateV3.5.sql schema/migration SQL —
install/updateV4.4.sql schema/migration SQL —

Data and migrations

Tables named in available CREATE TABLE statements: MessageOfTheDay, MessageOfTheDay_UserGroups, MessageOfTheDay_Views. Apply installation/update behavior through the owning plugin; this reference is not a script for running historical migrations manually.

Main-file named symbols

Visibility and implementation semantics must be checked in source. Nonempty string defaults are represented as . This is a symbol reference, not a stable public API promise.

Function or method Source
getDescription() 12
getName() 19
getUUID() 23
getPluginVersion() 27
getEmptyDataObject() 32
getPluginMenu() 44
getFooterCode() 52
getMessageOfTheDayForMe($users_id = null) 57
getMessageOfTheDay($userGroupsIds = array()) 69

Supporting PHP declarations

These symbols are grouped by source file; inspect the class declaration and visibility before calling them.

Objects/MessageOfTheDayTable.php

Declared classes: MessageOfTheDayTable.

Named symbol Source
getSearchFieldsNames() 9
getTableName() 13
setId($id) 17
setTitle($title) 21
setText($text) 26
setScheduled_date($scheduled_date) 30
setStart_php_time($start_php_time) 34
setEnd_php_time($end_php_time) 38
setCreated_php_time($created_php_time) 42
setModified_php_time($modified_php_time) 46
setTimezone($timezone) 50
setDisplay_frequency($display_frequency) 54
getId() 60
getTitle() 64
getText() 68
getScheduled_date() 72
getStart_php_time() 76
getEnd_php_time() 80
getCreated_php_time() 84
getModified_php_time() 88
getTimezone() 92
getDisplay_frequency() 96
save() 105
getAll() 139
getActiveMessages($userGroupsIds = array()) 186

Objects/MessageOfTheDay_UserGroups.php

Declared classes: MessageOfTheDay_UserGroups.

Named symbol Source
getSearchFieldsNames() 9
getTableName() 13
getAllMessageOfTheDay($MessageOfTheDay_id=0) 17
deleteAllFromMessageOfTheDay_id($MessageOfTheDay_id) 51
setId($id) 60
setMessageOfTheDay_id($MessageOfTheDay_id) 64
setUsers_groups_id($users_groups_id) 68
getId() 72
getMessageOfTheDay_id() 76
getUsers_groups_id() 80

Objects/MessageOfTheDay_Views.php

Declared classes: MessageOfTheDay_Views.

Named symbol Source
getSearchFieldsNames() 9
getTableName() 13
addView($MessageOfTheDay_id, $users_id = null) 21
addViewBatch($messageIds) 76
getTotalViewsForMessage($MessageOfTheDay_id) 90
getUniqueViewersForMessage($MessageOfTheDay_id) 101
getStatisticsForMessage($MessageOfTheDay_id) 112
getOverallStatistics() 171
cleanupOldViews($daysToKeep = 365) 210
setId($id) 216
setMessageOfTheDay_id($MessageOfTheDay_id) 220
setUsers_id($users_id) 224
setView_php_time($view_php_time) 228
setIp($ip) 232
setSession_id($session_id) 236
getId() 240
getMessageOfTheDay_id() 244
getUsers_id() 248
getView_php_time() 252
getIp() 256
getSession_id() 260

Diagnostics and validation

  1. Check the installed/enabled version and the dependencies/settings above.
  2. Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
  3. Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
  4. Reproduce the relevant workflow in a test environment. External provider, Encoder, live-server, storage, payment and authenticated flows require their real integrations.

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally