Skip to content

Technical Plugin PromoteVideos

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

Technical: PromoteVideos plugin

Adds promoted-video/channel presentation sections.

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: 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.

Dependencies

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.

Hook integration

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

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
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

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
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

Data and migrations

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.

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() 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

Supporting PHP declarations

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

Objects/PromotedVideos.php

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

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