Repository navigation
Technical Plugin VideosStatistics
Collects and presents video/ad playback statistics.
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.0. - Source revision:
7d48f2dfc0289236718a3f9fba7c5ffecff4a37f. - Entry class file: VideosStatistics.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 |
|---|---|
updateScript() |
VideosStatistics.php:29 |
getPluginMenu() |
VideosStatistics.php:73 |
executeEveryDay() |
VideosStatistics.php:366 |
profileTabName($users_id) |
VideosStatistics.php:387 |
profileTabContent($users_id) |
VideosStatistics.php:392 |
navBarButtons() |
VideosStatistics.php:397 |
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 |
|---|---|---|---|
autoCleanStatisticsTable |
Computed/structured; inspect source | Auto clean statistics table: This option is good to speed up your page | 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 |
|---|---|---|
| Objects/Statistics.php | class/helper implementation | — |
| VideosStatistics.php | plugin entry class | — |
| View/Statistics/add.json.php | JSON entry point; inspect caller and guard |
collected_date, id, total_comments, total_dislikes, total_duration_seconds, total_likes, total_subscriptions, total_video_views, total_videos, users_id
|
| View/Statistics/delete.json.php | JSON entry point; inspect caller and guard | id |
| View/Statistics/index.php | PHP page/include/worker; inspect caller | — |
| View/Statistics/index_body.php | PHP page/include/worker; inspect caller | — |
| View/Statistics/index_head.php | PHP page/include/worker; inspect caller | — |
| View/Statistics/list.json.php | JSON entry point; inspect caller and guard | draw |
| View/editor.php | PHP page/include/worker; inspect caller | — |
| autoclean.json.php | JSON entry point; inspect caller and guard | — |
| history.delete.json.php | JSON entry point; inspect caller and guard | id |
| history.json.php | JSON entry point; inspect caller and guard | draw |
| history.php | PHP page/include/worker; inspect caller | — |
| historyContent.php | PHP page/include/worker; inspect caller | — |
| install/install.sql | schema/migration SQL | — |
| navBarButtons.php | PHP page/include/worker; inspect caller | — |
| profileTabContent.php | PHP page/include/worker; inspect caller | — |
| profileTabName.php | PHP page/include/worker; inspect caller | — |
Tables named in available CREATE TABLE statements: statistics.
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() |
11 |
getName() |
17 |
getUUID() |
21 |
getPluginVersion() |
25 |
updateScript() |
29 |
getEmptyDataObject() |
40 |
getPluginMenu() |
73 |
getTotalVideos($users_id) |
80 |
getTotalVideosViews($users_id) |
97 |
getTotalSubscriptions($users_id) |
114 |
getTotalComments($users_id) |
118 |
getTotalLikes($users_id) |
135 |
getTotalDislikes($users_id) |
139 |
getTotalLikesDislikesFromVideos($users_id, $like, $days) |
143 |
getTotalLikesDislikes($users_id, $like, $days) |
180 |
getTotalDuration($users_id) |
213 |
getTotalSize($users_id) |
230 |
getMostViewedVideosFromLastDays($users_id, $days = 7, $limit = 15) |
247 |
getVideosToReward($percentage_watched, $only_logged_users = false, $users_id = 0) |
321 |
setRewarded($ids_array) |
352 |
executeEveryDay() |
366 |
autoCleanStatisticsTable() |
370 |
profileTabName($users_id) |
387 |
profileTabContent($users_id) |
392 |
navBarButtons() |
397 |
These symbols are grouped by source file; inspect the class declaration and visibility before calling them.
Declared classes: Statistics.
| Named symbol | Source |
|---|---|
getSearchFieldsNames() |
10 |
getTableName() |
15 |
getAllUsers() |
20 |
setId($id) |
40 |
setUsers_id($users_id) |
45 |
setTotal_videos($total_videos) |
50 |
setTotal_video_views($total_video_views) |
55 |
setTotal_subscriptions($total_subscriptions) |
60 |
setTotal_comments($total_comments) |
65 |
setTotal_likes($total_likes) |
70 |
setTotal_dislikes($total_dislikes) |
75 |
setTotal_duration_seconds($total_duration_seconds) |
80 |
setCollected_date($collected_date) |
85 |
getId() |
91 |
getUsers_id() |
96 |
getTotal_videos() |
101 |
getTotal_video_views() |
106 |
getTotal_subscriptions() |
111 |
getTotal_comments() |
116 |
getTotal_likes() |
121 |
getTotal_dislikes() |
126 |
getTotal_duration_seconds() |
131 |
getCollected_date() |
136 |
getAllVideoStatistics($users_id = 0) |
141 |
getTotalVideoStatistics($users_id = 0) |
172 |
deleteVideoStatistics($users_id = 0, $id = 0) |
193 |
- 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