
<?php
/*
Theme Name: YourTheme Child
Template: listivo
*/

// ============================
// Child šablona Listivo – monetization balíčky s okamžitou platbou
// ============================

// 1️⃣ Načtení stylů z rodičovské šablony
add_action('wp_enqueue_scripts', 'listivo_child_enqueue_styles');
function listivo_child_enqueue_styles() {
    $parenthandle = 'listivo-style';
    $theme = wp_get_theme();
    wp_enqueue_style(
        $parenthandle,
        get_template_directory_uri() . '/style.css',
        array(),
        $theme->parent()->get('Version')
    );
    wp_enqueue_style(
        'child-style',
        get_stylesheet_uri(),
        array($parenthandle),
        $theme->get('Version')
    );
}

// 2️⃣ Přidání ID inzerátu do košíku při přidání balíčku
add_filter('woocommerce_add_cart_item_data', 'listivo_add_listing_id_to_cart', 10, 3);
function listivo_add_listing_id_to_cart($cart_item_data, $product_id, $variation_id) {
    if (!empty($_POST['listing_id'])) {
        $cart_item_data['listing_id'] = intval($_POST['listing_id']);
    }
    return $cart_item_data;
}

// 3️⃣ Zobrazení názvu inzerátu pod balíčkem v košíku/checkoutu
add_filter('woocommerce_cart_item_name', 'listivo_add_listing_title_to_package', 10, 3);
function listivo_add_listing_title_to_package($name, $cart_item, $cart_item_key) {
    if (!empty($cart_item['listing_id'])) {
        $listing_id = $cart_item['listing_id'];
        $listing_title = get_the_title($listing_id);
        if ($listing_title) {
            $name .= '<br><small>' . esc_html($listing_title) . '</small>';
        }
    }
    return $name;
}

// 4️⃣ Funkce pro zobrazení tlačítek monetization balíčků
function listivo_show_package_buttons($listing_id = null) {
    if (!$listing_id) {
        global $post;
        if (!$post || $post->post_type !== 'listing') return;
        $listing_id = $post->ID;
    }

    $listing_title = get_the_title($listing_id);

    // Načtení všech monetization balíčků
    $packages = get_posts([
        'post_type'      => 'monetization_package',
        'posts_per_page' => -1,
        'post_status'    => 'publish',
        'orderby'        => 'menu_order',
        'order'          => 'ASC',
    ]);

    if (empty($packages)) {
        echo '<p>Žádné balíčky k dispozici.</p>';
        return;
    }

    echo '<div class="package-buttons">';
    foreach ($packages as $package) {
        $price = get_post_meta($package->ID, '_price', true);
        $price_display = $price ? wc_price($price) : '';

        echo '<form class="add-package-form" style="display:inline-block;margin-right:5px;" action="' . esc_url(wc_get_checkout_url()) . '" method="post">';
        echo '<input type="hidden" name="listing_id" value="' . intval($listing_id) . '">';
        echo '<input type="hidden" name="add-to-cart" value="' . intval($package->ID) . '">';
        echo '<button type="submit" class="button">' . esc_html($package->post_title) . ' – ' . $price_display . ' (' . esc_html($listing_title) . ')</button>';
        echo '</form>';
    }
    echo '</div>';
}

// 5️⃣ Shortcode [listing_packages id="123"]
add_shortcode('listing_packages', function($atts) {
    $atts = shortcode_atts(['id' => null], $atts, 'listing_packages');
    ob_start();
    listivo_show_package_buttons($atts['id']);
    return ob_get_clean();
});

// 6️⃣ Automatické zobrazení pod názvem inzerátu
add_action('listivo/single/listing/after_title', 'listivo_show_package_buttons');

// Debug pro zobrazení ID inzerátu a počtu monetization balíčků
add_action('listivo/single/listing/after_title', function() {
    global $post;

    if (!$post || $post->post_type !== 'listing') {
        echo '<p>Debug: Toto není stránka inzerátu.</p>';
        return;
    }

    $listing_id = $post->ID;
    echo '<p style="color:red;">Debug: ID inzerátu = ' . $listing_id . '</p>';

    $packages = get_posts([
        'post_type' => 'monetization_package',
        'posts_per_page' => -1,
        'post_status' => 'publish',
        'orderby' => 'menu_order',
        'order' => 'ASC',
    ]);

    $count = count($packages);
    echo '<p style="color:red;">Debug: Nalezeno monetization balíčků = ' . $count . '</p>';

    if ($count === 0) {
        echo '<p style="color:red;">Žádné balíčky k dispozici.</p>';
    }
});

// Test shortcode
add_shortcode('testkod', function() {
    return "✅ Shortcode funguje!";
});
