Skip to content

Technical Plugin Flixhouse

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

Technical: Flixhouse plugin

Provides the separately maintained Flixhouse frontend/mobile/API integration.

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: 1.0 (inherited; verify package).
  • Source revision: 6eaec9fedb3b5d8dfe0d79b432df7516f08dcccf.
  • Entry class file: FlixHouse.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

Plugin Required by declaration Source reason
PlayLists Optional Optional favorites/playlist integration
YouPHPFlix2 Optional Optional Flix-mode home screen content
PayPerView Optional Optional PPV-gated content
VideoTags Optional Optional video tag import/metadata
Video_Location_Block Optional Optional per-location content restriction
SubtitleSwitcher Optional Optional subtitle track listing

Literal runtime plugin references: FlixHouse, PayPerView, PlayLists, Subscription, SubtitleSwitcher, YouPHPFlix2. These calls do not mean every referenced plugin is mandatory.

Hook integration

Override Implementation
getHTMLMenuRight() FlixHouse.php:88
getHeadCode() FlixHouse.php:95
getFooterCode() FlixHouse.php:112
showAds($videos_id) FlixHouse.php:144
replacePlaceHolders($string, $videos_id) FlixHouse.php:281
modifyURL($file, $videos_id = 0) FlixHouse.php:599
onVideoSetTrailer1(Video &$videoObj, $newValue) FlixHouse.php:708
getManagerVideosEditField($type = '<string>') FlixHouse.php:713
getManagerVideosAddNew() FlixHouse.php:723
getManagerVideosEdit() FlixHouse.php:730
afterNewVideo($videos_id) FlixHouse.php:737
saveVideosAddNew($post, $videos_id) FlixHouse.php:747

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
link Computed/structured; inspect source — source
label "Take us to FlixHouse.com" — source
showEPGTopButton true — source
aniviewSSAIURLIsEnabled true Enable Aniview SSAI: When true, replace video URL with the Aniview SSAI URL source
aniviewSSAIURL Computed/structured; inspect source Aniview SSAI URL: URL template for Aniview SSAI service. The original video URL will be added to AVS_SOURCE parameter and all macros will be replaced. source
testSSAIOnlyOnVideosID '' Test SSAI Only On Videos ID: Specify video IDs to test SSAI only on those videos. source
addIntoMandatory '' — source
desktopHeadCode Computed/structured; inspect source Desktop Head Code: Code to inject in the section for desktop users source
mobileHeadCode Computed/structured; inspect source Mobile Head Code: Code to inject in the section for mobile users (AMP) source
desktopFooterCode Computed/structured; inspect source Desktop Footer Code: Code to inject after the tag for desktop users source
mobileFooterCode Computed/structured; inspect source Mobile Footer Code: Code to inject after the tag for mobile users (AMP) 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
FlixHouse.php plugin entry class FlixHouseBarCode, optionalAdTagUrl, platform, users_id
ads.txt.php PHP page/include/worker; inspect caller content, file, password
api/cat_items_screen.json.php JSON entry point; inspect caller and guard clean_name
api/category_listing.json.php JSON entry point; inspect caller and guard —
api/fav.json.php JSON entry point; inspect caller and guard users_id
api/functions.php PHP page/include/worker; inspect caller catName, sort, users_id
api/home_screen.json.php JSON entry point; inspect caller and guard doNotShowCats, moviesOnly
api/index.php PHP page/include/worker; inspect caller —
api/movie_episode_detail.json.php JSON entry point; inspect caller and guard serie_playlists_id, videos_id
api/movies.json.php JSON entry point; inspect caller and guard doNotShowCats
api/search.json.php JSON entry point; inspect caller and guard —
api/section_screen.json.php JSON entry point; inspect caller and guard sort_type, title
api/subcat_items_screen.json.php JSON entry point; inspect caller and guard clean_name
api/tv-guide.json.php JSON entry point; inspect caller and guard —
getManagerVideosAddNew.js browser/worker JavaScript; verify loader —
getManagerVideosEdit.js browser/worker JavaScript; verify loader —
importTVChannels.php PHP page/include/worker; inspect caller —
import_spreadsheet_videos.json.php JSON entry point; inspect caller and guard action, video_row
managerVideosEdit.php PHP page/include/worker; inspect caller —
menuRight.php PHP page/include/worker; inspect caller —
process_videos.php PHP page/include/worker; inspect caller —
upload.php PHP page/include/worker; inspect caller —

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
getPluginDependencies() 8
getDescription() 27
getName() 32
getUUID() 37
getEmptyDataObject() 42
getHTMLMenuRight() 88
getHeadCode() 95
getFooterCode() 112
isApple() 129
setRequest($name, $val) 138
showAds($videos_id) 144
isOutdatedApp() 199
identifyDeviceUA() 210
identifyDevice($checkUA = false) 235
getDeviceInfo() 245
replacePlaceHolders($string, $videos_id) 281
_replacePlaceholders($url, $videos_id) 286
getParameters($videos_id) 313
modifyURLCustomURL($url, $videos_id) 484
fixURLParameters($url) 541
getAdsParameterMappings() 551
isAURLFromTheSite($url) 584
getExtensionFromURL($url) 589
modifyURL($file, $videos_id = 0) 599
applyAniviewSSAI($file, $videos_id) 664
getVASTURL() 703
onVideoSetTrailer1(Video &$videoObj, $newValue) 708
getManagerVideosEditField($type = '<string>') 713
getManagerVideosAddNew() 723
getManagerVideosEdit() 730
afterNewVideo($videos_id) 737
saveVideosAddNew($post, $videos_id) 747
setFlixHouseBarCode($videos_id, $FlixHouseBarCode) 757
getFlixHouseBarCode($videos_id) 787

Supporting PHP declarations

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

api/functions.php

Named symbol Source
flixAPIUserIsInCategoryGroups($categories_id) 17
flixAPIGetViewMore($next_screen_feed_url) 42
flixAPIGetVideo($video, $users_id = null) 70
getCardType($category_id, $parentId = null) 239
flixAPIGetSection($sort_type, $title, $addVideos = true, $card_type = '<string>', $videoRows = false) 248
flixAPIGetCategory($category, $addVideos = true) 309
getstm_content_type($video) 373
getstm_type($video) 377
returnFirstEpisode($video) 389

api/tv-guide.json.php

Named symbol Source
calculateDuration($epgElem) 64

import_spreadsheet_videos.json.php

Named symbol Source
ensureTagTypesExist() 13
getOrCreateTagTypeId($typeName) 46
debugTagTypes() 78
extractVideoDataFromRow($data) 93
downloadAndSaveSubtitleFromFtp($sourcePath, $video_id) 128
downloadAndSaveSubtitleFromUrl($subtitleUrl, $video_id) 233
findCategory($category) 281
truncateTagValue($value, $maxLength = 100) 300
createVideoTags($videoData, $video_id) 311
handleVideoLocationBlocks($videoData, $video_id) 417
createVideoRecord($videoData, $categories_id) 489
downloadAndSaveImage($sourcePath, $video_id, $imageType = '<string>') 526
downloadAndSaveImageFromFtpServer($ftpUrl, $video_id, $imageType = '<string>') 540
downloadAndSaveImageFromUrl($sourcePath, $video_id, $imageType = '<string>') 663
normalizeFlixHouseFileURL($path) 702
normalizeFlixHouseVideoURL($videoURL) 715
fetchFlixHouseFileContent($path) 723
sendVideoToEncoder($videoData, $video_id, $encoderURL) 741
processVideoRow($data, $rowNumber, $encoderURL) 786
handleListVideos() 885
handleProcessSingleVideo($video_row) 951

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