Add admin health page and printable 24h export
- add a protected health.php page for config, XMLTV and M3U diagnostics - add shared admin/config helpers for authenticated internal tools - add a styled 24h export page designed for PDF/print output - add browser-side PNG export for the daily schedule - update README with the new admin tools
This commit is contained in:
@@ -43,6 +43,8 @@ This demo runs with sample XMLTV feeds to showcase the interface.
|
||||
- ⭐ **Favorites** — pin channels to the top of the grid, persisted in localStorage
|
||||
- 🌍 **i18n** — auto-detects browser language, supports EN / FR / ES (add your own in `locales/`)
|
||||
- ⚙️ **Re-editable setup** — protected by an admin key, no SSH required to update config
|
||||
- 🩺 **Admin health page** — check config, XMLTV, M3U, response times, and metadata coverage
|
||||
- 🖨️ **24h printable export** — generate a polished daily schedule for PDF/print and PNG export
|
||||
- 🔔 **Update notifications** — a badge appears in the topbar when a new release is available on GitHub
|
||||
- 🔄 **Auto-reload** EPG every 30 minutes
|
||||
- 0️⃣ **Zero build tooling** — vanilla PHP/JS/CSS, with bundled local assets
|
||||
@@ -225,6 +227,13 @@ GridTV detects the missing config and automatically redirects you to the setup p
|
||||
|
||||
Once submitted, `config.json` is created on the server. **The setup page becomes inaccessible until you re-enter your admin key.**
|
||||
|
||||
Admin tools are available here once unlocked with the same key:
|
||||
|
||||
```text
|
||||
http://guide.your-domain.com/health.php
|
||||
http://guide.your-domain.com/export.php
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
@@ -280,9 +289,10 @@ nano /var/www/gridtv/config.json
|
||||
gridtv/
|
||||
├── index.php # Entry point
|
||||
├── setup.php # Setup + re-configuration (admin key protected)
|
||||
├── health.php # Admin diagnostics page
|
||||
├── export.php # 24h printable export (PDF/image friendly)
|
||||
├── proxy.php # HTTP→HTTPS stream proxy
|
||||
├── version.json # Current version (used for update check)
|
||||
├── config.example.json # Config template
|
||||
├── Dockerfile
|
||||
├── docker-compose.yml
|
||||
├── .gitignore # config.json excluded
|
||||
@@ -485,9 +495,9 @@ GNU Affero General Public License v3.0 (AGPLv3)
|
||||
- **i18n** — EN / FR / ES with browser auto-detection, extensible via locales/
|
||||
- **Favorites** — pin channels to the top of the grid (localStorage)
|
||||
- **Setup re-editable** — protected by an admin key, auto-generated on first setup
|
||||
- **Admin health page** — diagnostics for config, XMLTV, M3U, timing, and metadata coverage
|
||||
- **Update notifications** — topbar badge links to latest GitHub release
|
||||
|
||||
### 🔜 Coming soon
|
||||
- **Dark/Light auto mode** — follow system preference when using the default theme
|
||||
- **Grid export** — export today's schedule as PDF or image
|
||||
</details>
|
||||
|
||||
Reference in New Issue
Block a user