Repository navigation
Technical Plugin Layout
Builds shared layout, navigation, search controls and asset organization.
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: AVideo Streamer repository.
- Reported version:
1.1. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: Layout.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.
| Override | Implementation |
|---|---|
getTags() |
Layout.php:43 |
getPluginMenu() |
Layout.php:201 |
getHeadCode() |
Layout.php:209 |
getFooterCode() |
Layout.php:512 |
getHTMLMenuRight() |
Layout.php:552 |
navBarAfter() |
Layout.php:562 |
getEnd() |
Layout.php:823 |
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 |
|---|---|---|---|
showSearchOptionsBelowNavbar |
false |
— | source |
categoriesTopButtons |
false |
— | source |
categoriesTopButtonsShowOnlyOnFirstPage |
true |
— | source |
categoriesTopButtonsShowVideosCount |
false |
— | source |
categoriesTopButtonsFluid |
true |
— | source |
categoriesTopLeftMenu |
true |
— | source |
enableAccessibility |
false |
— | source |
canToogleDarkAndLightMode |
false |
— | source |
pageLoader |
Computed/structured; inspect source | — | 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 |
|---|---|---|
| Layout.php | plugin entry class |
debug, parentsOnly
|
| accessibility/accessibility.php | PHP page/include/worker; inspect caller | — |
| animatedBackGrounds/Animated.php | PHP page/include/worker; inspect caller | — |
| animatedBackGrounds/Animated3.php | PHP page/include/worker; inspect caller | — |
| animatedBackGrounds/Animated4.php | PHP page/include/worker; inspect caller | — |
| animatedBackGrounds/Bokeh.php | PHP page/include/worker; inspect caller | — |
| animatedBackGrounds/Breeze.php | PHP page/include/worker; inspect caller | — |
| animatedBackGrounds/index.php | PHP page/include/worker; inspect caller | — |
| categoriesTopButtons.php | PHP page/include/worker; inspect caller |
catName, current, rowCount
|
| darkModeSwitch.php | PHP page/include/worker; inspect caller | — |
| fontAwesomeFAB.php | PHP page/include/worker; inspect caller | — |
| menuRight.php | PHP page/include/worker; inspect caller | — |
| notifications.js | browser/worker JavaScript; verify loader | — |
| playlistAutocomplete.php | PHP page/include/worker; inspect caller | — |
| searchOptions.php | PHP page/include/worker; inspect caller | — |
| suggestedButton.php | PHP page/include/worker; inspect caller | — |
| userAutocomplete.php | PHP page/include/worker; inspect caller | — |
| videoAutocomplete.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 |
|---|---|
getTags() |
43 |
getDescription() |
51 |
getName() |
56 |
getPluginVersion() |
61 |
getUUID() |
66 |
getEmptyDataObject() |
71 |
getLoadersArray() |
104 |
getLoadersFiles() |
114 |
getLoader($file) |
126 |
getLoaderDefault() |
148 |
getBGAnimationFiles() |
165 |
includeBGAnimationFile($file) |
181 |
getPluginMenu() |
201 |
getHeadCode() |
209 |
getIconsList() |
218 |
getSelectSearchable($optionsArray, $name, $selected, $id = "'<string>'", $placeholder = false, $templatePlaceholder = '') |
254 |
getSearch2Code($id) |
305 |
getSelectSearchableHTML($optionsArray, $name, $selected, $id = "'<string>'", $placeholder = false, $templatePlaceholder = '') |
318 |
getIconsSelect($name, $selected = "'<string>''<string>'") |
330 |
getAvailableFlags() |
344 |
getAllFlags() |
362 |
getLangsSelect($name, $selected = "'<string>''<string>'navbar-btn", $flagsOnly = false, $getAll = false) |
383 |
getUserSelect($name, $users_id_list, $selected = "'<string>''<string>'") |
461 |
getCategorySelect($name, $selected = "'<string>''<string>'") |
480 |
getUserGroupsSelect($name, $selected = "'<string>''<string>'") |
501 |
getFooterCode() |
512 |
addFooterCode($code) |
533 |
_getFooterCode() |
542 |
getHTMLMenuRight() |
552 |
navBarAfter() |
562 |
getPlaylistAutocomplete($default_Playlists_id = 0, $id = ''<string>'') |
578 |
getUserAutocomplete($default_users_id = 0, $id = ''<string>'') |
589 |
getVideoAutocomplete($default_videos_id = 0, $id = ''<string>'') |
600 |
organizeHTML($html) |
611 |
tryToReplace($search, $replace, $subject) |
665 |
codeIsValid($string) |
676 |
removeExtraSpacesFromHead($html) |
710 |
removeExtraSpacesFromScript($html) |
720 |
getTagsLinkCSS($html) |
730 |
getTagsScript($html) |
758 |
separeteTag($html, $tag) |
776 |
shouldIgnoreJS($tag) |
796 |
addTag($tag, $value) |
811 |
getEnd() |
823 |
removeDuplicated($list) |
833 |
getSuggestedButton($videos_id, $class = '<string>') |
858 |
getCategoriesToSearch() |
872 |
getSearchOptions($name) |
881 |
getSearchCategories($name) |
896 |
getSearchDateTime($name) |
921 |
getSearchViews($name) |
959 |
getSearchTags($name) |
999 |
getSearchHTML($elements, $name) |
1028 |
getSearchOptionHTML() |
1107 |
getSearchCategoriesHTML() |
1114 |
getSearchTagsHTML() |
1121 |
getSearchDateHTML() |
1128 |
getSearchViewsHTML() |
1135 |
compareOrder($a, $b, $firstOrder, $lastOrder) |
1143 |
_sortJS($a, $b) |
1189 |
_sortCSS($a, $b) |
1216 |
- 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