<?php
/**
 * Hilfsskript: Finde Channel-ID für einen @Handle
 * Verwendet direkt die YouTube API (ohne WordPress)
 */

// API Key aus wp-config.php lesen
$wp_config_path = __DIR__ . '/../../../wp-config.php';
$api_key = '';

if ( file_exists( $wp_config_path ) ) {
    $wp_config_content = file_get_contents( $wp_config_path );
    // Versuche YOUTUBE_API_KEY zu finden
    if ( preg_match( "/define\s*\(\s*['\"]YOUTUBE_API_KEY['\"]\s*,\s*['\"]([^'\"]+)['\"]/", $wp_config_content, $matches ) ) {
        $api_key = $matches[1];
    }
}

// Fallback: Direkte Eingabe hier (NUR FÜR TESTS!)
if ( empty( $api_key ) ) {
    // TEMPORÄR: Trage hier deinen API Key ein
    $api_key = 'AIzaSyD-jSXZO-R4NJBySF0WL6SoFJmBDk2Gdbk'; // ← Dein API Key aus dem Customizer
}

if ( ! isset( $argv[1] ) ) {
    echo "Verwendung: php get-channel-id.php @DeinHandle\n";
    echo "Beispiel:   php get-channel-id.php @afartv\n";
    exit(1);
}

$handle = $argv[1];

if ( empty( $api_key ) ) {
    echo "❌ Kein YouTube API Key gefunden!\n";
    echo "   Trage den API Key temporär in Zeile 19 ein ODER\n";
    echo "   Definiere YOUTUBE_API_KEY in wp-config.php\n";
    exit(1);
}

// @ entfernen falls vorhanden
$handle = ltrim( $handle, '@' );

echo "=== Channel-ID Abfrage ===\n\n";
echo "Handle: @$handle\n";
echo "API Key: " . substr($api_key, 0, 10) . "... (" . strlen($api_key) . " chars)\n\n";

// YouTube Data API v3: search.list
$search_url = 'https://www.googleapis.com/youtube/v3/search?' . http_build_query( array(
    'part'  => 'snippet',
    'q'     => '@' . $handle,
    'type'  => 'channel',
    'key'   => $api_key,
) );

echo "Sende API-Anfrage...\n";

$context = stream_context_create( array(
    'http' => array(
        'timeout' => 10,
    ),
) );

$response = file_get_contents( $search_url, false, $context );

if ( $response === false ) {
    echo "❌ API-Anfrage fehlgeschlagen\n";
    exit(1);
}

$data = json_decode( $response, true );

if ( isset( $data['error'] ) ) {
    echo "❌ YouTube API Fehler:\n";
    echo "   Code: " . $data['error']['code'] . "\n";
    echo "   Nachricht: " . $data['error']['message'] . "\n";
    exit(1);
}

if ( empty( $data['items'] ) ) {
    echo "❌ Kein Kanal gefunden für @$handle\n";
    echo "   Versuche es mit einem anderen @Handle oder mit der vollständigen Kanal-URL.\n";
    exit(1);
}

$channel = $data['items'][0];
$channel_id = $channel['id']['channelId'];
$channel_title = $channel['snippet']['title'];

echo "\n✅ Kanal gefunden!\n\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n";
echo "Kanal-Titel:  $channel_title\n";
echo "Channel-ID:   $channel_id\n";
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n";

echo "📋 Kopiere diese Channel-ID in dein Livestream-Post:\n";
echo "   Livestreams → Bearbeiten → YouTube Kanal-ID: $channel_id\n\n";

echo "✅ Fertig!\n";
