Repository navigation
Technical Plugin MessageOfTheDay
Schedules and presents targeted user messages.
Audience: developers, advanced administrators and AI-assisted diagnosis. Plugin catalog.
- 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.
No literal dependency declaration was extracted. This does not prove the plugin is standalone.
| Override | Implementation |
|---|---|
getPluginMenu() |
MessageOfTheDay.php:44 |
getFooterCode() |
MessageOfTheDay.php:52 |
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 |
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 | — |
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.
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 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
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 |
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 |
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 |
- Check the installed/enabled version and the dependencies/settings above.
- Identify the actual failing page, request, callback or worker and correlate its timestamp with the AVideo log.
- Follow the linked method and caller. Check business-state changes and output artifacts as well as HTTP status.
- 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.
Start
Install and update
- Install on Ubuntu 24.04 or 26.04
- Installation Setup Page
- Scheduler cron job (required)
- Set up email
- Use HTTPS
- Own Encoder
- Docker
- Update AVideo
- Backup
- Secure file permissions
- Server command-line tools
- Hidden configuration options
Videos
- Upload a video
- Local Encoder (on your computer)
- Bulk upload by FTP
- Import a channel
- Publish on YouTube and social media
- Privacy options
- Only for logged-in users
- Resolutions by user group
- Storage options
- Move and protect video files
- Video does not play
Users
Live
- Make a live stream
- Stream with OBS
- Own live server
- One live server, many sites
- Live server install errors
- Live does not play
Plugins
Problems
Other
- Translate your site
- Write a plugin (developers)
- Technical reference (developers and advanced administrators)
Old and retired guides