Repository navigation
Technical Plugin ADs
Manages advertising markup/images and per-user or per-video ad selection.
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:
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.
No literal dependency declaration was extracted. This does not prove the plugin is standalone.
| 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 |
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 |
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
|
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.
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 |
- 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.
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.
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