Repository navigation
Technical Plugin PromoteVideos
Adds promoted-video/channel presentation sections.
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: independently versioned plugin repository.
- Reported version:
2.6. - Source revision:
63d61e64982c001d9476891ab1512553c7bcf808. - Entry class file: PromoteVideos.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.
Literal runtime plugin references: YPTWallet. These calls do not mean every referenced plugin is mandatory.
| Override | Implementation |
|---|---|
getTags() |
PromoteVideos.php:8 |
getHTMLMenuLeft() |
PromoteVideos.php:48 |
getHeadCode() |
PromoteVideos.php:53 |
getFooterCode() |
PromoteVideos.php:68 |
getVideosManagerListButton() |
PromoteVideos.php:82 |
getGallerySection() |
PromoteVideos.php:147 |
getChannelButton() |
PromoteVideos.php:158 |
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 |
|---|---|---|---|
promoteVideos |
true |
— | source |
promoteVideosLimit |
12 |
— | source |
promoteChannels |
true |
— | source |
promoteChannelsLimit |
6 |
— | source |
pricesOptions |
Computed/structured; inspect source | — | source |
defaultTimeInHours |
24 |
— | source |
minimumValuePerHour |
0.1 |
— | source |
videosLimit |
12 |
— | source |
mainWallet_user_id |
1 |
— | source |
showPromotedLabel |
true |
— | 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 |
|---|---|---|
| HTMLMenuLeft.php | PHP page/include/worker; inspect caller | — |
| Objects/PromotedVideos.php | class/helper implementation | — |
| PromoteVideos.php | plugin entry class | — |
| install/install.sql | schema/migration SQL | — |
| install/update1.sql | schema/migration SQL | — |
| pages/cancel.json.php | JSON entry point; inspect caller and guard |
channel_users_id, videos_id
|
| pages/channelButton.php | PHP page/include/worker; inspect caller | — |
| pages/gallerySection.php | PHP page/include/worker; inspect caller |
current, rowCount, sort
|
| pages/head.js | browser/worker JavaScript; verify loader | — |
| pages/headChannel.js | browser/worker JavaScript; verify loader | — |
| pages/index.php | PHP page/include/worker; inspect caller | users_id |
| pages/save.json.php | JSON entry point; inspect caller and guard |
channel_users_id, start_date_hour, totalHours, totalValue, videos_id
|
| pages/videoPromoted.php | PHP page/include/worker; inspect caller |
users_id, video_id
|
| pages/videoPromotedForm.php | PHP page/include/worker; inspect caller |
users_id, video_id
|
| pages/videoPromotedPage.php | PHP page/include/worker; inspect caller |
users_id, video_id
|
Tables named in available CREATE TABLE statements: promoted_videos.
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() |
8 |
getDescription() |
13 |
getPluginVersion() |
19 |
getName() |
24 |
getUUID() |
28 |
getEmptyDataObject() |
32 |
getHTMLMenuLeft() |
48 |
getHeadCode() |
53 |
getFooterCode() |
68 |
getVideosManagerListButton() |
82 |
getVideoCurrentPromotion($videos_id, $channel_users_id) |
91 |
getActivePromotions($limit) |
140 |
getGallerySection() |
147 |
getChannelButton() |
158 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: PromotedVideos.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
11 |
getTableName() |
15 |
getAllVideosFromUser($users_id) |
18 |
getActivePromotionsForVideo($videos_id) |
41 |
getActivePromotionsForChannel($channel_users_id) |
72 |
getActivePromotions($limit) |
103 |
getUsedHours($id) |
140 |
getUsedValue($id) |
156 |
getTotalValue($id) |
172 |
getChannel_users_id() |
188 |
setChannel_users_id($channel_users_id) |
192 |
getVideos_id() |
196 |
getStart_date_hour() |
200 |
getPrice_per_hour() |
204 |
getStatus() |
208 |
getGroup() |
212 |
setVideos_id($videos_id) |
216 |
setStart_date_hour($start_date_hour) |
220 |
setPrice_per_hour($price_per_hour) |
224 |
setStatus($status) |
228 |
setGroup($group) |
232 |
- 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.
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