Skip to content

Technical Plugin FansSubscriptions

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

Technical: FansSubscriptions plugin

Manages creator subscriptions and associated access/renewal behavior.

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: 3.7.
  • Source revision: 8bc936934e1571386bed42acca182a629f4206d1.
  • Entry class file: FansSubscriptions.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
updateScript() FansSubscriptions.php:31
getPluginMenu() FansSubscriptions.php:63
getGalleryActionButton($videos_id) FansSubscriptions.php:68
getNetflixActionButton($videos_id) FansSubscriptions.php:74
getWatchActionButton($videos_id) FansSubscriptions.php:80
profileTabName($users_id) FansSubscriptions.php:86
profileTabContent($users_id) FansSubscriptions.php:92
getVideosManagerListButton() FansSubscriptions.php:101
getHeadCode() FansSubscriptions.php:169
getModeYouTube($videos_id) FansSubscriptions.php:174
getEmbed($videos_id) FansSubscriptions.php:205
getModeYouTubeLive($users_id_live_owner) FansSubscriptions.php:209
userCanWatchVideo($users_id, $videos_id) FansSubscriptions.php:284
userCanWatchVideoWithAds($users_id, $videos_id) FansSubscriptions.php:323
getLivePanel() FansSubscriptions.php:464
navBarButtons() FansSubscriptions.php:470

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
adminCutPercentage Computed/structured; inspect source — source
minimumBalanceToAutoTransfer 100 — source
allowFreePlayWithAds false — source
displayLeftMenuSubscribeButton true — source
thanksForSubscribe Computed/structured; inspect source — 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
FansSubscriptions.php plugin entry class videos_id
Objects/Fsubscriptions.php class/helper implementation —
Objects/Fsubscriptions_logs.php class/helper implementation —
Objects/Fsubscriptions_plan.php class/helper implementation —
View/Fsubscriptions/add.json.php JSON entry point; inspect caller and guard expiration, fsubscriptions_plan_id, id, json, status, subscribes_id
View/Fsubscriptions/delete.json.php JSON entry point; inspect caller and guard id
View/Fsubscriptions/index.php PHP page/include/worker; inspect caller —
View/Fsubscriptions/index_body.php PHP page/include/worker; inspect caller —
View/Fsubscriptions/index_head.php PHP page/include/worker; inspect caller —
View/Fsubscriptions/index_my_subscriptions.php PHP page/include/worker; inspect caller —
View/Fsubscriptions/list.json.php JSON entry point; inspect caller and guard draw
View/Fsubscriptions_logs/add.json.php JSON entry point; inspect caller and guard fsubscriptions_id, id, json
View/Fsubscriptions_logs/delete.json.php JSON entry point; inspect caller and guard id
View/Fsubscriptions_logs/index.php PHP page/include/worker; inspect caller —
View/Fsubscriptions_logs/index_body.php PHP page/include/worker; inspect caller —
View/Fsubscriptions_logs/index_head.php PHP page/include/worker; inspect caller —
View/Fsubscriptions_logs/list.json.php JSON entry point; inspect caller and guard draw
View/Fsubscriptions_plan/add.json.php JSON entry point; inspect caller and guard description, how_many_days, id, json_parameters, name, price, status, users_id
View/Fsubscriptions_plan/delete.json.php JSON entry point; inspect caller and guard id
View/Fsubscriptions_plan/index.php PHP page/include/worker; inspect caller —
View/Fsubscriptions_plan/index_body.php PHP page/include/worker; inspect caller —
View/Fsubscriptions_plan/index_head.php PHP page/include/worker; inspect caller —
View/Fsubscriptions_plan/list.json.php JSON entry point; inspect caller and guard draw
View/buy.php PHP page/include/worker; inspect caller plans_id, users_id_live_owner, videos_id
View/editor.php PHP page/include/worker; inspect caller —
View/panel.php PHP page/include/worker; inspect caller —
View/tabMyAccount.php PHP page/include/worker; inspect caller —
actionButtonGallery.php PHP page/include/worker; inspect caller —
actionButtonNetflix.php PHP page/include/worker; inspect caller —
crontab.php PHP page/include/worker; inspect caller —
install/install.sql schema/migration SQL —
navBarButtons.php PHP page/include/worker; inspect caller —
subscribePlan.php PHP page/include/worker; inspect caller plans_id
toogleFansOnly.json.php JSON entry point; inspect caller and guard videos_id
toogleFansOnlyLive.json.php JSON entry point; inspect caller and guard —

Data and migrations

Tables named in available CREATE TABLE statements: fsubscriptions, fsubscriptions_logs, fsubscriptions_plan. 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
getDescription() 12
getName() 18
getUUID() 22
getPluginVersion() 26
updateScript() 31
getEmptyDataObject() 42
getPluginMenu() 63
getGalleryActionButton($videos_id) 68
getNetflixActionButton($videos_id) 74
getWatchActionButton($videos_id) 80
profileTabName($users_id) 86
profileTabContent($users_id) 92
getVideosManagerListButton() 101
setFansOnly($fansOnly, $videos_id) 124
isFansOnly($videos_id) 143
toogleFansOnly($videos_id) 148
toogleFansOnlyLive($users_id) 154
getFansOnlyLive($users_id) 162
getHeadCode() 169
getModeYouTube($videos_id) 174
getEmbed($videos_id) 205
getModeYouTubeLive($users_id_live_owner) 209
canUserWatchLive($users_id, $users_id_live_owner) 225
isSubscribes($videos_id, $users_id = 0) 248
isSubscribesFromUser($users_id, $subscriber_users_id) 256
getSubscribes($subscriber_users_id, $users_id) 263
getOrCreateSubscribes($subscriber_users_id, $users_id) 274
userCanWatchVideo($users_id, $videos_id) 284
canWatch($videos_id, $users_id = 0) 310
userCanWatchVideoWithAds($users_id, $videos_id) 323
renew($users_id, $plans_id) 334
addToHistory($fsubscriptions_id, $json) 433
canUserEditPlan($fsubscriptions_id, $users_id = 0) 440
getLivePanel() 464
navBarButtons() 470
getPlansFromUsersID($users_id) 475
getPlansFromVideosID($videos_id) 479
hasPlansFromVideosID($videos_id) 484
hasPlansUsersID($users_id) 488

Supporting PHP declarations

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

Objects/Fsubscriptions.php

Declared classes: Fsubscriptions.

Named symbol Source
getSearchFieldsNames() 9
getTableName() 13
getAllSubscribes($users_id = 0, $expiresToday = false) 17
getAllSubscribesExpiresToday($users_id=0) 50
getAllFsubscriptions_plan($users_id = 0) 54
setId($id) 81
setSubscribes_id($subscribes_id) 85
setFsubscriptions_plan_id($fsubscriptions_plan_id) 89
setJson($json) 93
setExpiration($expiration) 97
setStatus($status) 101
getId() 105
getSubscribes_id() 109
getFsubscriptions_plan_id() 113
getJson() 117
getExpiration() 121
getStatus() 125
getAll($users_id = 0, $active_only = false) 129
getTotal($users_id = 0, $active_only = false) 166
getSubscriptions($users_id, $fsubscriptions_plans_id, $stillGood = true, $status = '<string>') 191
getPlanSubscription($subscriber_users_id, $fsubscriptions_plans_id, $stillGood = true, $status = '<string>') 226
getSubscriptionToChannel($users_id, $subscriber_users_id, $stillGood = true, $status = '<string>') 258

Objects/Fsubscriptions_logs.php

Declared classes: Fsubscriptions_logs.

Named symbol Source
getSearchFieldsNames() 9
getTableName() 13
getAllFsubscriptions() 17
setId($id) 38
setFsubscriptions_id($fsubscriptions_id) 42
setJson($json) 46
getId() 54
getFsubscriptions_id() 58
getJson() 62

Objects/Fsubscriptions_plan.php

Declared classes: Fsubscriptions_plan.

Named symbol Source
getSearchFieldsNames() 9
getTableName() 13
getAllUsers() 17
setId($id) 36
setName($name) 40
setDescription($description) 45
setPrice($price) 49
setStatus($status) 53
setJson_parameters($json_parameters) 57
setHow_many_days($how_many_days) 61
setUsers_id($users_id) 65
getId() 70
getName() 74
getDescription() 78
getPrice() 82
getStatus() 86
getJson_parameters() 90
getHow_many_days() 94
getUsers_id() 98
getAllActive($users_id = 0) 102
getAll($users_id = 0, $active_only = false) 107
getTotal($users_id = 0, $active_only = false) 136

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