Skip to content

Technical Plugin LiveLinks

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

Technical: LiveLinks plugin

Lists and displays externally hosted live streams.

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: 4.4.
  • Source revision: 7d48f2dfc0289236718a3f9fba7c5ffecff4a37f.
  • Entry class file: LiveLinks.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

Plugin Required by declaration Source reason
Live Required Requires Live classes to reference live transmissions (direct require_once)
VideoTags Optional Optional video tags shown on live links

Literal runtime plugin references: Live, TheaterButton. These calls do not mean every referenced plugin is mandatory.

Hook integration

Override Implementation
getTags() LiveLinks.php:17
getHTMLMenuRight() LiveLinks.php:71
getLiveApplicationArray() LiveLinks.php:159
getHeadCode() LiveLinks.php:210
getUploadMenuButton() LiveLinks.php:290
getFooterCode() LiveLinks.php:424

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
onlyAdminCanAddLinks true — source
buttonTitle "Add a Live Link" — source
disableGifThumbs false — source
disableLiveThumbs false — source
doNotShowLiveLinksLabel false — source
disableProxy false — source
hideTopButton true Hide Top Button: This will hide the button on the top menu bar source
hideIsRebroadcastOption true — 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
LiveLinks.php plugin entry class catName, channelName, hash, limitOnceToOne, modified, rowCount, tags_id
Objects/LiveLinksTable.php class/helper implementation —
getImage.php PHP page/include/worker; inspect caller format, id, live_servers_id
getUploadMenuButton.php PHP page/include/worker; inspect caller —
index.php PHP page/include/worker; inspect caller —
install/install.sql schema/migration SQL —
install/updateV2.0.sql schema/migration SQL —
install/updateV3.0.sql schema/migration SQL —
install/updateV4.0.sql schema/migration SQL —
install/updateV4.1.sql schema/migration SQL —
install/updateV4.2.sql schema/migration SQL —
install/updateV4.3.sql schema/migration SQL —
install/updateV4.4.sql schema/migration SQL —
play.php PHP page/include/worker; inspect caller url
proxy.php PHP page/include/worker; inspect caller livelink
view/Live.php PHP page/include/worker; inspect caller embed, link
view/addLiveLink.php PHP page/include/worker; inspect caller categories_id, description, end_date, image, isRebroadcast, link, linkId, start_date, status, title, type, userGroups, users_id
view/delete_liveLink.json.php JSON entry point; inspect caller and guard id
view/footer.php PHP page/include/worker; inspect caller —
view/liveLinks.json.php JSON entry point; inspect caller and guard —
view/liveVideo.php PHP page/include/worker; inspect caller embed, isEmbedded
view/menuRight.php PHP page/include/worker; inspect caller —
view/panel.php PHP page/include/worker; inspect caller —

Data and migrations

Tables named in available CREATE TABLE statements: LiveLinks, livelinks_has_users_groups. 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
getPluginDependencies() 10
getTags() 17
getDescription() 25
getName() 33
getEmptyDataObject() 37
getUUID() 52
getPluginVersion() 56
canAddLinks() 60
getHTMLMenuRight() 71
getAllActive($future = false, $activeOnly = true, $notStarted = false, $users_id=0, $categories_id=0) 84
getImageDafaultOrDynamic($liveLink_id) 133
getImage($id) 145
getImageGif($id) 150
getLiveApplicationArray() 159
getHeadCode() 210
getLinkToLiveFromId($id, $embed = false) 230
getLink($id, $embed = false) 234
getSourceLink($id) 245
getPosterToLiveFromId($id, $format = '<string>') 266
isLiveThumbsDisabled() 271
getPosterThumbsImage($users_id, $live_servers_id) 279
getUploadMenuButton() 290
getAllVideos($status = "", $showOnlyLoggedUserVideos = false, $activeUsersOnly = true) 300
notifySocketToRemoveLiveLinks($liveLinks_id) 414
getFooterCode() 424
userCanWatch($users_id, $livelinks_id) 432
getDinamicVideoLink($videoLink, $title, $owner_users_id) 458
decodeDinamicVideoLink() 470
getMediaSession($id) 488
getImagesPaths($livelinks_id) 516
isLiveLinkDateValid($livelinks_id) 536

Supporting PHP declarations

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

Objects/LiveLinksTable.php

Declared classes: LiveLinksTable.

Named symbol Source
getSearchFieldsNames() 11
getTableName() 15
save() 19
getId() 43
getTitle() 47
getDescription() 51
getLink() 55
getStart_date() 59
getEnd_date() 63
getType() 67
getStatus() 71
getUsers_id() 75
setTitle($title) 79
setDescription($description) 84
setLink($link) 88
setStart_date($start_date) 92
setEnd_date($end_date) 97
setType($type) 102
setStatus($status) 106
setUsers_id($users_id) 110
getCategories_id() 114
setCategories_id($categories_id) 118
getIsRebroadcast() 122
setIsRebroadcast($isRebroadcast): void 126
getAll($users_id = 0) 130
userGroupsMatch($livelinks_id, $users_id=0) 163
delete() 172
deleteAllUserGorups() 197
addUserGorups($usergroups_ids) 211
getUserGorups($livelinks_id) 235
getUserGorupsIds($livelinks_id) 255
getTimezone() 264
setTimezone($timezone) 268
getStart_php_time() 272
setStart_php_time($start_php_time) 276
getEnd_php_time() 280
setEnd_php_time($end_php_time) 284
updatePhpTimestampById($id) 288

proxy.php

Named symbol Source
proxyDNSPinnedFetch($url, $pinnedIP, $maxRedirects = 5) 53

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