Repository navigation
Technical Plugin UserNotifications
Stores and presents in-site user notifications.
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: AVideo Streamer repository.
- Reported version:
2.0. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: UserNotifications.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 |
|---|---|
updateScript() |
UserNotifications.php:35 |
getPluginMenu() |
UserNotifications.php:66 |
getHeadCode() |
UserNotifications.php:71 |
getFooterCode() |
UserNotifications.php:83 |
getHTMLMenuRight() |
UserNotifications.php:88 |
onVideoLikeDislike($videos_id, $users_id, $isLike) |
UserNotifications.php:158 |
afterNewComment($comments_id) |
UserNotifications.php:176 |
afterNewResponse($comments_id) |
UserNotifications.php:189 |
onNewSubscription($users_id, $subscriber_users_id) |
UserNotifications.php:210 |
getUserNotificationButton() |
UserNotifications.php:260 |
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.
No direct $obj->field assignments were extracted. Inspect inherited defaults, getCustomizeAdvancedOptions() and the plugin-specific settings page.
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 |
|---|---|---|
| HTMLMenuRight.php | PHP page/include/worker; inspect caller | — |
| Objects/User_notifications.php | class/helper implementation | — |
| UserNotifications.php | plugin entry class | — |
| View/User_notifications/add.json.php | JSON entry point; inspect caller and guard |
User_notificationsicon, User_notificationsusers_id, element_class, element_id, href, id, image, msg, onclick, priority, status, title, type
|
| View/User_notifications/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/User_notifications/index.php | PHP page/include/worker; inspect caller | — |
| View/User_notifications/index_body.php | PHP page/include/worker; inspect caller | — |
| View/User_notifications/index_head.php | PHP page/include/worker; inspect caller | — |
| View/User_notifications/list.json.php | JSON entry point; inspect caller and guard | draw |
| View/editor.php | PHP page/include/worker; inspect caller | — |
| embed.php | PHP page/include/worker; inspect caller | avideoIframe |
| footer.php | PHP page/include/worker; inspect caller | — |
| getNotifications.json.php | JSON entry point; inspect caller and guard | — |
| install/install.sql | schema/migration SQL | — |
| script.js | browser/worker JavaScript; verify loader | — |
Tables named in available CREATE TABLE statements: user_notifications.
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() |
17 |
getName() |
23 |
getUUID() |
27 |
getPluginVersion() |
31 |
updateScript() |
35 |
getEmptyDataObject() |
46 |
getPluginMenu() |
66 |
getHeadCode() |
71 |
getFooterCode() |
83 |
getHTMLMenuRight() |
88 |
getTemplate() |
93 |
createTemplateFromArray($itemsArray) |
102 |
cleanUpTemplate($template) |
125 |
notifySocket($array, $to_users_id = 0) |
133 |
createNotificationFromVideosAndUsers_id($videos_id, $users_id, $title, $msg, $element_id, $type, $icon='') |
144 |
onVideoLikeDislike($videos_id, $users_id, $isLike) |
158 |
afterNewComment($comments_id) |
176 |
afterNewResponse($comments_id) |
189 |
onNewSubscription($users_id, $subscriber_users_id) |
210 |
createNotification($title, $msg = ''<string>''<string>''<string>''<string>''<string>''<string>''<string>''<string>'') |
223 |
getUserNotificationButton() |
260 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: User_notifications.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
9 |
getTableName() |
13 |
getTitle() |
17 |
setTitle($title): void |
21 |
setId($id) |
25 |
setMsg($msg) |
29 |
setType($type) |
33 |
setStatus($status) |
37 |
setTime_readed($time_readed) |
41 |
setUsers_id($users_id) |
45 |
setImage($image) |
49 |
setIcon($icon) |
53 |
setHref($href) |
57 |
setOnclick($onclick) |
61 |
setElement_class($element_class) |
65 |
setElement_Id($element_id) |
69 |
setPriority($priority) |
73 |
getElement_Id() |
77 |
getMsg() |
81 |
getType() |
85 |
getStatus() |
89 |
getTime_readed() |
93 |
getUsers_id() |
97 |
getImage() |
101 |
getIcon() |
105 |
getHref() |
109 |
getOnclick() |
113 |
getElement_class() |
117 |
getId() |
121 |
getPriority() |
125 |
getAll() |
129 |
getAllForUsers_id($users_id, $limit = 10, $sort = true) |
134 |
deleteForUsers_id($users_id) |
158 |
save() |
175 |
elementIdExists($element_id) |
187 |
- 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