Skip to content

Technical Plugin UserNotifications

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

Technical: UserNotifications plugin

Stores and presents in-site user notifications.

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: 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.

Dependencies

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

Hook integration

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

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.

No direct $obj->field assignments were extracted. Inspect inherited defaults, getCustomizeAdvancedOptions() and the plugin-specific settings page.

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
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 —

Data and migrations

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.

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() 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

Supporting PHP declarations

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

Objects/User_notifications.php

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

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