Repository navigation
Technical Plugin VideoVoteSystem
Manages video contests and voting-related data/presentation.
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:
3.11. - Source revision:
49c4b7cd3dc3a51d3dd7043467aad15da38bf04f. - Entry class file: VideoVoteSystem.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 |
|---|---|
getPermissionsOptions(): array |
VideoVoteSystem.php:56 |
getPluginMenu() |
VideoVoteSystem.php:71 |
navBarButtons() |
VideoVoteSystem.php:80 |
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.
No direct $obj->field assignments were extracted. Inspect inherited defaults, getCustomizeAdvancedOptions() and the plugin-specific settings page.
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 |
|---|---|---|
| Objects/Contest_settings.php | class/helper implementation | — |
| Objects/Contest_videos_votes.php | class/helper implementation | — |
| VideoVoteSystem.php | plugin entry class | — |
| View/Contest_settings/add.json.php | JSON entry point; inspect caller and guard |
Contest_settingsplaylists_id, description, end_date, id, show_ranking, start_date, status, title, votes_limit
|
| View/Contest_settings/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/Contest_settings/index.php | PHP page/include/worker; inspect caller | — |
| View/Contest_settings/index_body.php | PHP page/include/worker; inspect caller | — |
| View/Contest_settings/list.json.php | JSON entry point; inspect caller and guard | draw |
| View/Contest_videos_votes/add.json.php | JSON entry point; inspect caller and guard |
contest_settings_id, id, users_id, videos_id, vote_time
|
| View/Contest_videos_votes/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/Contest_videos_votes/index.php | PHP page/include/worker; inspect caller | — |
| View/Contest_videos_votes/index_body.php | PHP page/include/worker; inspect caller | — |
| View/Contest_videos_votes/list.json.php | JSON entry point; inspect caller and guard | draw |
| View/editor.php | PHP page/include/worker; inspect caller | — |
| charts.php | PHP page/include/worker; inspect caller | id |
| install/install.sql | schema/migration SQL | — |
| install/updateV3.0.sql | schema/migration SQL | — |
| list.php | PHP page/include/worker; inspect caller | id |
| unvote.json.php | JSON entry point; inspect caller and guard | contest_videos_votes_id |
| vote.json.php | JSON entry point; inspect caller and guard | contest_settings_id |
Tables named in available CREATE TABLE statements: contest_settings, contest_videos_votes.
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 |
|---|---|
getDescription() |
12 |
getName() |
20 |
getUUID() |
25 |
getPluginVersion() |
30 |
getEmptyDataObject() |
35 |
getPermissionsOptions(): array |
56 |
canCreateContest(): bool |
63 |
getPluginMenu() |
71 |
navBarButtons() |
80 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: Contest_settings.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
10 |
getTableName() |
15 |
setId($id) |
20 |
setVotes_limit($votes_limit) |
25 |
setTitle($title) |
30 |
setStart_date($start_date) |
36 |
setEnd_date($end_date) |
44 |
setShow_ranking($show_ranking) |
52 |
setStatus($status) |
57 |
setDescription($description) |
62 |
setPlaylists_id($playlists_id) |
67 |
setUsers_groups_id($users_groups_id) |
72 |
setUsers_id($users_id) |
77 |
getId() |
83 |
getVotes_limit() |
88 |
getTitle() |
93 |
getStart_date() |
98 |
getEnd_date() |
103 |
getShow_ranking() |
108 |
getStatus() |
113 |
getDescription() |
118 |
getPlaylists_id() |
123 |
getUsers_groups_id() |
128 |
getUsers_id() |
133 |
canUserSeeChart() |
138 |
getAll($users_id=0) |
143 |
getTotal($users_id=0) |
171 |
save() |
195 |
Declared classes: Contest_videos_votes.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
10 |
getTableName() |
15 |
getAllVideos() |
20 |
getAllUsers() |
45 |
getAllContest_settings() |
70 |
setId($id) |
97 |
setVote_time($vote_time) |
102 |
setVideos_id($videos_id) |
107 |
setUsers_id($users_id) |
112 |
setContest_settings_id($contest_settings_id) |
117 |
getId() |
123 |
getVote_time() |
128 |
getVideos_id() |
133 |
getUsers_id() |
138 |
getContest_settings_id() |
143 |
save() |
148 |
getTotalVotes($contest_settings_id) |
156 |
getTotalVotesFromUser($contest_settings_id, $users_id = 0) |
178 |
getVotes($contest_settings_id, $users_id = 0, $refreshCache = false) |
201 |
canVote($contest_settings_id, $users_id) |
225 |
castVote($contest_settings_id, $videos_id, $users_id) |
257 |
- 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