Skip to content

Technical Plugin ADs

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

Technical: ADs plugin

Manages advertising markup/images and per-user or per-video ad selection.

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.1.
  • Source revision: 7d48f2dfc0289236718a3f9fba7c5ffecff4a37f.
  • Entry class file: ADs.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
getTags() ADs.php:21
getDataObjectAdvanced() ADs.php:54
getPluginMenu() ADs.php:108
getHeadCode() ADs.php:116
showAds($videos_id) ADs.php:185
getFooterCode() ADs.php:614
getUserOptions() ADs.php:642
navBarButtons() ADs.php:658

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
tags3rdParty Computed/structured; inspect source — source
doNotShowAdsForPaidUsers true — source
bannerIntervalInSeconds 5 — 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
ADs.php plugin entry class abkw, catName, channelName, debug, videoName
deleteImage.json.php JSON entry point; inspect caller and guard fileName, is_regular_user, type
editor.php PHP page/include/worker; inspect caller customAds
getAdsList.json.php JSON entry point; inspect caller and guard is_regular_user, type
navBarButtons.php PHP page/include/worker; inspect caller —
saveImage.json.php JSON entry point; inspect caller and guard filename, is_regular_user, type, url
saveImagesMetadata.php PHP page/include/worker; inspect caller is_regular_user, metadata, type, url

Data and migrations

No CREATE TABLE names were extracted from available plugin SQL. The plugin can still use core tables, PHP-created schema or another component's data. 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
getTags() 21
getDescription() 30
getName() 39
getUUID() 44
getPluginVersion() 49
getDataObjectAdvanced() 54
getEmptyDataObject() 68
getPluginMenu() 108
getHeadCode() 116
giveGoogleATimeout($adCode) 159
addLabel($adCode, $label) 177
showAds($videos_id) 185
getAdsPath($type, $is_regular_user = false) 194
getNewAdsPath($type, $is_regular_user = false) 221
getAds($type, $is_regular_user = false) 234
getFileName($dir, $path) 279
getTXT($path) 298
setTXT($path, $url, $title, $order) 312
getAdsFromVideosId($type, $videos_id = 0) 326
getAdsFromUsersId($type, $users_id) 350
debug($line, $desc = '') 379
getAdsCode($type) 387
getAdsCodeReason($type) 462
getSize($type) 518
getLabel($type) 533
getAdsHTML($type, $is_regular_user = false) 544
getFooterCode() 614
saveAdsHTML($type) 631
getUserOptions() 642
canHaveCustomAds($users_id = 0) 650
navBarButtons() 658

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.

Related test filenames (name matches only; not executed by generation):

Shared diagnostic workflow. This page is not a security audit or a claim of end-to-end validation.

Clone this wiki locally