2026-03-12 18:55:32 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 10:58:47 +01:00
2026-03-12 18:55:32 +01:00
2026-01-16 12:16:43 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-01-14 12:19:07 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-01-09 16:07:30 +01:00
2026-01-09 16:07:30 +01:00
2026-01-16 12:16:43 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 15:58:15 +01:00
2026-01-16 12:43:16 +01:00
2026-03-12 18:55:32 +01:00
2026-02-19 15:58:15 +01:00
2026-02-19 10:58:47 +01:00

Telvero Talpa Planning System

Een geavanceerd TV-planning systeem voor het beheren en plannen van homeshopping uitzendingen op Talpa zenders (SBS9, Net5, SBS6).

🎯 Functionaliteiten

βœ… Kalender Planning

  • Drag-and-drop interface voor eenvoudige planning
  • Timeline view met meerdere zenders tegelijk
  • Automatische tijdberekening voor opeenvolgende uitzendingen
  • Kleurgecodeerde uitzendingen voor overzichtelijkheid
  • Conflict detectie bij overlappende uitzendingen

πŸ“Ί Infomercial Management

  • Registratie van infomercials via Talpa API
  • Automatische media asset aanmaak
  • Kleurcode toewijzing per infomercial
  • Series code voor groepering
  • Upload status tracking

πŸ• Blok Templates

  • Definieer terugkerende tijdblokken per zender
  • Dagelijkse aanpassing van starttijden mogelijk
  • Automatische generatie van dagelijkse blokken
  • Ondersteuning voor dag-specifieke templates

πŸ”„ Talpa API Integratie

  • Episode registratie
  • Media asset management
  • Transmission scheduling
  • Sync status monitoring

πŸ“‹ Vereisten

  • PHP 7.4 of hoger
  • MySQL 5.7 of hoger
  • Composer
  • Webserver (Apache/Nginx)

πŸš€ Installatie

1. Clone het project

cd /path/to/your/project

2. Installeer dependencies

composer install

3. Configureer environment

Kopieer .env.example naar .env en vul de gegevens in:

# Database
DB_HOST=localhost
DB_NAME=talpa_planning
DB_USER=your_username
DB_PASS=your_password

# Talpa API
TALPA_API_BASE=https://api.talpa.tv
TALPA_TOKEN=your_api_token
TALPA_MOCK_MODE=false

# TV Settings
TV_SEASON_ID=your_season_id

4. Database Setup

Voer de migratie uit:

mysql -u your_username -p talpa_planning < migrations/001_add_blocks_and_colors.sql

Of via phpMyAdmin:

  1. Open phpMyAdmin
  2. Selecteer de database
  3. Ga naar "Import"
  4. Upload migrations/001_add_blocks_and_colors.sql

5. Bestandspermissies

Zorg dat de webserver schrijfrechten heeft:

chmod 755 api/
chmod 755 assets/
chmod 644 api/*.php

πŸ“ Projectstructuur

/
β”œβ”€β”€ index.php                 # Dashboard
β”œβ”€β”€ calendar.php              # Kalender planning view
β”œβ”€β”€ blocks.php                # Blok template management
β”œβ”€β”€ infomercials.php           # Infomercial management
β”œβ”€β”€ helpers.php               # Helper functies
β”œβ”€β”€ TalpaAPI.php             # API wrapper
β”œβ”€β”€ /api                      # API endpoints
β”‚   β”œβ”€β”€ get_transmissions.php
β”‚   β”œβ”€β”€ create_transmission.php
β”‚   β”œβ”€β”€ update_transmission.php
β”‚   β”œβ”€β”€ delete_transmission.php
β”‚   β”œβ”€β”€ update_block_time.php
β”‚   β”œβ”€β”€ get_block_time.php
β”‚   └── assign_color.php
β”œβ”€β”€ /assets
β”‚   β”œβ”€β”€ /css
β”‚   β”‚   └── custom.css       # Custom styling
β”‚   └── /js
β”‚       └── calendar-init.js # Calendar JavaScript
β”œβ”€β”€ /migrations
β”‚   └── 001_add_blocks_and_colors.sql
└── README.md

🎨 Gebruik

1. Blok Templates Instellen

  1. Ga naar Blokken in het menu
  2. Klik op "Nieuw Template"
  3. Vul de gegevens in:
    • Zender (SBS9, NET5, SBS6)
    • Template naam (bijv. "SBS9 Dagblok")
    • Dag van de week
    • Standaard starttijd
    • Optioneel: eindtijd

Voorbeelden:

  • SBS9 Dagblok: Ma-Zo, 07:00-15:00
  • SBS9 Nachtblok: Ma-Zo, 23:30-02:00
  • Net5 Ochtend: Ma-Vr, 07:30-11:30
  • Net5 Middag: Ma-Vr, 13:20-13:50

2. Infomercials Registreren

  1. Ga naar Infomercials in het menu
  2. Vul het formulier in:
    • Product naam
    • Duur (HH:MM:SS formaat)
    • Optioneel: Series code (bijv. 006a)
  3. Klik op "Registreren bij Talpa"
  4. Het systeem:
    • Maakt een episode aan via API
    • Genereert een media asset
    • Wijst automatisch een unieke kleur toe
  5. Update de upload status naar "Uploaded" wanneer de video is geΓΌpload

3. Planning Maken

  1. Ga naar Kalender in het menu
  2. Selecteer de gewenste week/dag view
  3. Optioneel: Pas blok starttijd aan:
    • Klik op een tijdslot
    • Wijzig de starttijd
    • Kies of je alle uitzendingen wilt herberekenen
  4. Plan uitzendingen:
    • Sleep een infomercial uit de sidebar
    • Drop deze op het gewenste tijdslot
    • Het systeem berekent automatisch de volgende starttijd
  5. Bewerk uitzendingen:
    • Klik op een uitzending voor details
    • Sleep om te verplaatsen
    • Verwijder indien nodig

4. Synchroniseren met Talpa

  1. Klik op een uitzending in de kalender
  2. Klik op "Sync naar Talpa"
  3. Monitor de status:
    • 🟑 Pending: Nog niet gesynchroniseerd
    • 🟒 Synced: Succesvol gesynchroniseerd
    • πŸ”΄ Error: Fout opgetreden

🎨 Kleurcode Systeem

Het systeem wijst automatisch unieke kleuren toe aan infomercials voor visuele identificatie:

  • Kleuren worden automatisch gegenereerd met voldoende contrast
  • Elke infomercial krijgt een unieke kleur
  • Series codes kunnen dezelfde kleur delen
  • Kleuren zijn handmatig aanpasbaar in Infomercial Management

πŸ”§ Geavanceerde Functies

Automatische Tijdberekening

Het systeem berekent automatisch de starttijd van de volgende uitzending:

Volgende starttijd = Huidige starttijd + Duur huidige uitzending

Conflict Detectie

Bij het plannen controleert het systeem op:

  • Overlappende uitzendingen op dezelfde zender
  • Uitzendingen buiten blok tijden
  • Dubbele bookings

Blok Herberekening

Wanneer je een blok starttijd aanpast:

  1. Optie 1: Alleen de starttijd wijzigen
  2. Optie 2: Alle uitzendingen in het blok herberekenen vanaf de nieuwe starttijd

πŸ› Troubleshooting

Kalender laadt niet

Probleem: Kalender toont geen events

Oplossing:

  1. Check browser console voor JavaScript errors
  2. Controleer of API endpoints bereikbaar zijn:
    curl http://your-domain/api/get_transmissions.php?start=2026-01-01&end=2026-01-31
    
  3. Controleer database connectie in .env

Drag-and-drop werkt niet

Probleem: Infomercials zijn niet sleepbaar

Oplossing:

  1. Controleer of FullCalendar correct is geladen
  2. Check browser console voor errors
  3. Zorg dat infomercials status "uploaded" hebben

API Sync Errors

Probleem: Synchronisatie met Talpa faalt

Oplossing:

  1. Controleer API credentials in .env
  2. Check api_log.txt voor details
  3. Verifieer dat content_id en media_asset_id correct zijn
  4. Test met TALPA_MOCK_MODE=true voor debugging

Database Errors

Probleem: SQL errors bij gebruik

Oplossing:

  1. Controleer of migratie correct is uitgevoerd:
    SHOW TABLES;
    DESCRIBE block_templates;
    DESCRIBE daily_blocks;
    
  2. Controleer of alle kolommen bestaan:
    SHOW COLUMNS FROM infomercials LIKE 'color_code';
    

πŸ“Š Database Schema

Nieuwe Tabellen

block_templates

  • Definieert terugkerende tijdblokken
  • Per zender en dag van de week
  • Standaard start- en eindtijden

daily_blocks

  • Dagelijkse instanties van templates
  • Mogelijkheid tot aanpassing per dag
  • Gekoppeld aan template_id

Uitgebreide Kolommen

infomercials

  • color_code (VARCHAR(7)): Hex kleurcode
  • series_code (VARCHAR(20)): Series identifier

πŸ” Beveiliging

  • Gebruik prepared statements voor alle database queries
  • Valideer alle input (datum, tijd, kleuren)
  • Sanitize output met htmlspecialchars()
  • Gebruik HTTPS in productie
  • Bewaar .env buiten webroot
  • Voeg .env toe aan .gitignore

πŸ“ˆ Performance Tips

  1. Database Indexen: Reeds toegevoegd in migratie
  2. Caching: Overweeg Redis voor API responses
  3. Lazy Loading: Kalender laadt alleen zichtbare periode
  4. Batch Operations: Sync meerdere uitzendingen tegelijk

πŸ”„ Updates & Migraties

Bij toekomstige updates:

  1. Maak nieuwe migratie file: 002_description.sql
  2. Voer uit in volgorde
  3. Update deze README met wijzigingen

πŸ“ž Support

Voor vragen of problemen:

  • Check de troubleshooting sectie
  • Bekijk api_log.txt voor API details
  • Controleer browser console voor JavaScript errors

πŸ“ Changelog

Versie 1.0.0 (2026-01-13)

  • βœ… Kalender planning met drag-and-drop
  • βœ… Blok template management
  • βœ… Infomercial management met kleurcodes
  • βœ… Automatische tijdberekening
  • βœ… Talpa API integratie
  • βœ… Conflict detectie
  • βœ… Responsive design

🎯 Roadmap

Toekomstige features:

  • Bulk import van infomercials
  • Excel export van planning
  • Email notificaties bij sync errors
  • Gebruikersbeheer en rechten
  • Planning templates (kopieer week)
  • Statistieken en rapportages
  • Mobile app

πŸ“„ Licentie

Proprietary - Telvero Β© 2026


Gemaakt met ❀️ voor Telvero Talpa Planning

Description
No description provided
Readme 576 KiB
Languages
PHP 86.3%
JavaScript 7.6%
CSS 5.7%
Hack 0.4%