Repository navigation
Technical Plugin TopMenu
Stores and renders responsive top-navigation entries.
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:
2.2. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: TopMenu.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() |
TopMenu.php:12 |
updateScript() |
TopMenu.php:53 |
getHeadCode() |
TopMenu.php:65 |
getHTMLMenuRight() |
TopMenu.php:71 |
getPluginMenu() |
TopMenu.php:76 |
getHTMLMenuLeft() |
TopMenu.php:82 |
getPermissionsOptions() |
TopMenu.php:97 |
getGalleryActionButton($videos_id) |
TopMenu.php:107 |
getNetflixActionButton($videos_id) |
TopMenu.php:113 |
getWatchActionButton($videos_id) |
TopMenu.php:119 |
getVideosManagerListButton() |
TopMenu.php:184 |
getFooterCode() |
TopMenu.php:206 |
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 |
|---|---|---|---|
show_menu_items |
true |
— | source |
compactMenuIfIsGreaterThen |
Computed/structured; inspect source | — | source |
showBackToTopButton |
true |
— | 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 |
|---|---|---|
| HTMLMenuLeft.php | PHP page/include/worker; inspect caller | — |
| HTMLMenuRight.php | PHP page/include/worker; inspect caller | — |
| Objects/Menu.php | class/helper implementation | — |
| Objects/MenuItem.php | class/helper implementation | — |
| TopMenu.php | plugin entry class | — |
| actionButtonGallery.php | PHP page/include/worker; inspect caller | — |
| actionButtonNetflix.php | PHP page/include/worker; inspect caller | — |
| addVideoInfo.php | PHP page/include/worker; inspect caller | videos_id |
| addVideoInfoSave.json.php | JSON entry point; inspect caller and guard |
menu_item_id, url, videos_id
|
| floatBackToTop.php | PHP page/include/worker; inspect caller | — |
| floatMenu.php | PHP page/include/worker; inspect caller | — |
| index.php | PHP page/include/worker; inspect caller | id |
| install/install.sql | schema/migration SQL | — |
| menuDelete.json.php | JSON entry point; inspect caller and guard | menuId |
| menuItemDelete.json.php | JSON entry point; inspect caller and guard | menuItemId |
| menuItemSave.json.php | JSON entry point; inspect caller and guard |
icon, item_order, item_status, menuId, menuItemId, menuSeoUrlItem, mobileicon, text, title, url
|
| menuItemSort.json.php | JSON entry point; inspect caller and guard | itens |
| menuItems.json.php | JSON entry point; inspect caller and guard |
menuId, sort
|
| menuSave.json.php | JSON entry point; inspect caller and guard |
icon, menuId, menuName, menu_order, status, type
|
| menus.json.php | JSON entry point; inspect caller and guard | sort |
| page/editor.php | PHP page/include/worker; inspect caller | — |
| seo.php | PHP page/include/worker; inspect caller |
id, menuSeoUrlItem
|
Tables named in available CREATE TABLE statements: topMenu, topMenu_items.
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() |
12 |
getDescription() |
17 |
getName() |
23 |
getUUID() |
27 |
getPluginVersion() |
31 |
getEmptyDataObject() |
35 |
updateScript() |
53 |
getHeadCode() |
65 |
getHTMLMenuRight() |
71 |
getPluginMenu() |
76 |
getHTMLMenuLeft() |
82 |
getidBySeoUrl($menuSeoUrlItem) |
87 |
getPermissionsOptions() |
97 |
canAdminTopMenu() |
103 |
getGalleryActionButton($videos_id) |
107 |
getNetflixActionButton($videos_id) |
113 |
getWatchActionButton($videos_id) |
119 |
getExternalOptionName($menu_item_id) |
125 |
setVideoMenuURL($videos_id, $menu_item_id, $url) |
129 |
getVideoMenuURL($videos_id, $menu_item_id) |
141 |
thereIsMenuItemsActive() |
164 |
getVideosManagerListButton() |
184 |
getFooterCode() |
206 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: Menu.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
39 |
getTableName() |
43 |
setMenuName($menuName) |
47 |
setCategories_id($categories_id) |
51 |
setUsers_groups_id($users_groups_id) |
55 |
setMenu_order($menu_order) |
59 |
setStatus($status) |
63 |
setPosition($position) |
67 |
setType($type) |
71 |
setIcon($icon) |
75 |
setmenuSeoUrl($menuSeoUrl) |
79 |
getAllActive($type=false) |
83 |
save() |
110 |
delete() |
146 |
Declared classes: MenuItem.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
12 |
getTableName() |
16 |
getAllFromMenu($menu_id, $activeOnly = false, $sort = true) |
20 |
setTitle($title) |
75 |
setImage($image) |
80 |
setUrl($url) |
84 |
setClass($class) |
88 |
setStyle($style) |
92 |
setItem_order($item_order) |
96 |
setTopMenu_id($topMenu_id) |
100 |
setStatus($status) |
104 |
setText($text) |
108 |
setIcon($icon) |
112 |
setClean_url($clean_url) |
116 |
setmenuSeoUrlItem($menuSeoUrlItem) |
120 |
save() |
124 |
delete() |
145 |
clearRequestCache() |
152 |
getTitle() |
157 |
getText() |
161 |
getUrl() |
165 |
| Named symbol | Source |
|---|---|
createMenuSaveForm($menu, $menuType) |
18 |
- 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