Repository navigation
Technical Plugin Flixhouse
Provides the separately maintained Flixhouse frontend/mobile/API integration.
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:
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.
| 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.
| 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 |
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 |
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 | — |
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 |
|---|---|
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 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
| 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 |
| Named symbol | Source |
|---|---|
calculateDuration($epgElem) |
64 |
| 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 |
- 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