/* PUBLIC API FINAL SYNC WITH LOGGING */
function send_stock_update_to_public_dodonipbl($product_id) {
    $product = wc_get_product($product_id);
    if (!$product) return;
    $ean = get_post_meta($product_id, 'isbn-13', true);
    if (empty($ean)) { $ean = $product->get_sku(); }
    $ean = preg_replace('/[^0-9]/', '', $ean);
    if (empty($ean)) return;
    
    $is_available = $product->is_in_stock();
    $avail_text = $is_available ? 'True' : 'False';
    
    $response = wp_remote_post('https://marketplace-external-api.public.gr/api/v1/offers/update-price-stock', array(
        'headers' => array(
            'Content-Type' => 'application/json',
            'Authorization' => 'Bearer 0d32f506-896f-40e3-9831-29007e056d62',
        ),
        'body' => json_encode(array(array(
            'materialEan' => $ean,
            'supplierId' => 'DODONIPBL',
            'price' => (float)$product->get_price(),
            'promiseDays' => 1,
            'available' => $is_available
        ))),
        'timeout' => 15,
    ));

    // ΑΥΤΟ ΘΑ ΓΡΑΦΕΙ ΣΤΟ LOG ΓΙΑ ΝΑ ΤΟ ΒΛΕΠΕΙΣ
    $log_file = WP_CONTENT_DIR . '/public-stock-sync.log';
    $status = is_wp_error($response) ? 'ERR' : wp_remote_retrieve_response_code($response);
    $log_entry = "[" . date('Y-m-d H:i:s') . "] NEW SYNC: EAN $ean | Avail $avail_text | Status $status\n";
    file_put_contents($log_file, $log_entry, FILE_APPEND);
}

add_action('admin_init', function() {
    if (isset($_GET['run_public_bulk_sync']) && $_GET['run_public_bulk_sync'] == '1') {
        $offset = isset($_GET['offset']) ? intval($_GET['offset']) : 0;
        $args = array(
            'post_type' => 'product',
            'posts_per_page' => 10,
            'offset' => $offset,
            'post_status' => 'publish',
            'meta_query' => array(
                'relation' => 'OR',
                array('key' => 'publisher', 'value' => '', 'compare' => '='),
                array('key' => 'publisher', 'compare' => 'NOT EXISTS')
            )
        );
        $products = get_posts($args);
        if (empty($products)) { wp_die("<h3>✅ ΟΛΟΚΛΗΡΩΘΗΚΕ ΕΠΙΤΥΧΩΣ!</h3>"); }
        foreach ($products as $p) { send_stock_update_to_public_dodonipbl($p->ID); }
        $next_offset = $offset + 10;
        $redirect_url = admin_url('?run_public_bulk_sync=1&offset=' . $next_offset);
        echo "<div style='text-align:center;margin-top:50px;'><h2>Συγχρονισμός σε εξέλιξη... ($offset)</h2><p>Ελέγξτε το log αρχείο για επιβεβαίωση.</p><script>setTimeout(function(){ window.location.href='$redirect_url'; }, 400);</script></div>";
        exit;
    }
});<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet type='text/xsl' href='https://dodonipublications.gr/wp-content/plugins/google-sitemap-generator/sitemap.xsl'?><!-- sitemap-generator-url='http://www.arnebrachhold.de' sitemap-generator-version='4.1.23' -->
<!-- generated-on='May 14, 2026 12:39' -->
<sitemapindex xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd' xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>	<sitemap>
		<loc>https://dodonipublications.gr/sitemap-misc.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/pwb-brand-sitemap.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/producttags-sitemap.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/productcat-sitemap.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap2.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap3.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap4.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap5.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap6.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap7.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap8.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/product-sitemap9.xml</loc>
		<lastmod>2026-05-14T11:15:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap2.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap3.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap4.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap5.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap6.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap7.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap8.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/writers-sitemap9.xml</loc>
		<lastmod>2026-05-14T12:25:35+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/post-sitemap.xml</loc>
		<lastmod>2026-03-17T16:27:51+00:00</lastmod>
	</sitemap>
	<sitemap>
		<loc>https://dodonipublications.gr/page-sitemap.xml</loc>
		<lastmod>2026-04-02T15:20:34+00:00</lastmod>
	</sitemap>
</sitemapindex><!-- Request ID: f834b99fba0b67566f6312f203d62b6b; Queries for sitemap: 13; Total queries: 182; Seconds: 0.14; Memory for sitemap: 1KB; Total memory: 50MB -->
