Skip to content

Technical Plugin Layout

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

Technical: Layout plugin

Builds shared layout, navigation, search controls and asset organization.

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

Dependencies

No literal dependency declaration was extracted. This does not prove the plugin is standalone.

Hook integration

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

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

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

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

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