Skip to content

Technical Plugin UserConnections

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

Technical: UserConnections plugin

Manages connection requests/relationships and chat/meeting notification integration.

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: 1.0.
  • Source revision: 7d48f2dfc0289236718a3f9fba7c5ffecff4a37f.
  • Entry class file: UserConnections.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() UserConnections.php:33
getPluginMenu() UserConnections.php:67
getChannelPageButtons($users_id) UserConnections.php:179
profileTabName($users_id) UserConnections.php:196
profileTabContent($users_id) UserConnections.php:203
getFooterCode() UserConnections.php:213
getHeadCode() UserConnections.php:226

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
Objects/Users_connections.php class/helper implementation —
UserConnections.php plugin entry class —
View/Users_connections/add.json.php JSON entry point; inspect caller and guard created_php_time, id, json, modified_php_time, user1_mute, user1_status, user2_mute, user2_status, users_id1, users_id2
View/Users_connections/delete.json.php JSON entry point; inspect caller and guard id
View/Users_connections/index.php PHP page/include/worker; inspect caller —
View/Users_connections/index_body.php PHP page/include/worker; inspect caller —
View/Users_connections/list.json.php JSON entry point; inspect caller and guard draw
View/editor.php PHP page/include/worker; inspect caller —
View/menu.js browser/worker JavaScript; verify loader —
View/menu.php PHP page/include/worker; inspect caller —
View/profileTabContent.php PHP page/include/worker; inspect caller —
connectButton.php PHP page/include/worker; inspect caller —
connectMe.json.php JSON entry point; inspect caller and guard users_id
disconnectMe.json.php JSON entry point; inspect caller and guard users_id
install/install.sql schema/migration SQL —
myConnections.json.php JSON entry point; inspect caller and guard draw
script.js browser/worker JavaScript; verify loader —

Data and migrations

Tables named in available CREATE TABLE statements: users_connections. 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() 10
getName() 18
getUUID() 23
getPluginVersion() 28
updateScript() 33
getEmptyDataObject() 45
getPluginMenu() 67
connectUsers($users_id1, $users_id2) 73
connectMe($users_id) 86
disconnectMe($users_id) 111
isConnectionValid($users_id1, $users_id2) 128
getMyConnectionStatus($users_id) 137
getMyConnectionStatusFromRow($my_users_id, $row) 146
getCurrentConnectionStatus($my_users_id, $row) 159
getAllMyConnections($validOnly = false) 174
getChannelPageButtons($users_id) 179
connectButton($users_id) 184
profileTabName($users_id) 196
profileTabContent($users_id) 203
getFooterCode() 213
getHeadCode() 226
getConnectionButtons($users_id) 231
newFriendNotification($my_users_id, $friend_users_id) 270
newFriendConfirmNotification($my_users_id, $friend_users_id) 282
createNotification($my_users_id, $friend_users_id, $title, $msg, $type, $element_id, $icon) 294

Supporting PHP declarations

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

Objects/Users_connections.php

Declared classes: Users_connections.

Named symbol Source
getSearchFieldsNames() 40
getTableName() 45
getAllUsers() 50
setId($id) 77
setUsers_id1($users_id1) 82
setUsers_id2($users_id2) 87
setUser1_status($user1_status) 92
setUser2_status($user2_status) 97
setUser1_mute($user1_mute) 102
setUser2_mute($user2_mute) 107
setCreated_php_time($created_php_time) 112
setModified_php_time($modified_php_time) 117
setJson($json) 122
getId() 128
getUsers_id1() 133
getUsers_id2() 138
getUser1_status() 143
getUser2_status() 148
getUser1_mute() 153
getUser2_mute() 158
getCreated_php_time() 163
getModified_php_time() 168
getJson() 173
getConnection($users_id1, $users_id2) 178
save() 196
getAllConnections($users_id, $validOnly = false) 206
getStatusLabel($status) 249

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