/*
Theme Name: electro-child
Template: electro
*/

<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/*
 * --------------------------------------------------------------------------
 *  Osnovne child-tema nastavitve (kar si že imel)
 * --------------------------------------------------------------------------
 */

// RTL css
if ( ! function_exists( 'chld_thm_cfg_locale_css' ) ) :
	function chld_thm_cfg_locale_css( $uri ) {
		if ( empty( $uri ) && is_rtl() && file_exists( get_template_directory() . '/rtl.css' ) ) {
			$uri = get_template_directory_uri() . '/rtl.css';
		}
		return $uri;
	}
endif;
add_filter( 'locale_stylesheet_uri', 'chld_thm_cfg_locale_css' );

// Naloži child CSS
if ( ! function_exists( 'child_theme_configurator_css' ) ) :
	function child_theme_configurator_css() {
		wp_enqueue_style(
			'chld_thm_cfg_child',
			trailingslashit( get_stylesheet_directory_uri() ) . 'style.css',
			array( 'font-electro', 'fontawesome', 'animate-css', 'electro-style', 'electro-style' )
		);
	}
endif;
add_action( 'wp_enqueue_scripts', 'child_theme_configurator_css', 10 );

// Odstrani "Archives" v naslovih
add_filter(
	'get_the_archive_title',
	function ( $title ) {
		if ( is_category() ) {
			$title = single_cat_title( '', false );
		} elseif ( is_tag() ) {
			$title = single_tag_title( '', false );
		} elseif ( is_author() ) {
			$title = '<span class="vcard">' . get_the_author() . '</span>';
		}
		return $title;
	}
);

// Premakne opis kategorije pod izdelke
remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description', 10 );
add_action( 'woocommerce_after_shop_loop', 'woocommerce_taxonomy_archive_description', 5 );

// Preimenuj zavihek "Specification" v "Minimalne zahteve"
add_filter(
	'woocommerce_product_tabs',
	function ( $tabs ) {
		if ( isset( $tabs['specification'] ) ) {
			$tabs['specification']['title'] = __( 'Minimalne zahteve', 'electro-child' );
		}
		if ( isset( $tabs['additional_information'] ) ) {
			$tabs['additional_information']['title'] = __( 'Minimalne zahteve', 'electro-child' );
		}
		return $tabs;
	},
	98
);

// Link v footerju
add_action(
	'wp_footer',
	function () {
		echo '<p style="text-align:center; margin-top:10px;">
            <a href="https://www.trga.net/politika-vracil-in-povracil/" style="color:#ccc; text-decoration:none;">
              Politika vračil in povračil
            </a>
          </p>';
	}
);

// --------------------------------------------------------------------------
//  E-POŠTA: skrij privzet heading "Zaključeno naročilo"
// --------------------------------------------------------------------------
add_filter(
	'woocommerce_email_heading_customer_completed_order',
	function ( $heading, $order, $email ) {
		return '';
	},
	10,
	3
);

// --------------------------------------------------------------------------
//  POPOLNOMA IZKLJUČI BACS NAVODILA
// --------------------------------------------------------------------------
add_filter( 'woocommerce_bacs_account_fields', '__return_empty_array' );
add_filter( 'woocommerce_bacs_accounts', '__return_empty_array' );
remove_action( 'woocommerce_thankyou_bacs', 'woocommerce_bacs_thankyou', 10 );

// --------------------------------------------------------------------------
//  PREVOD LMFWC stringa (če je kje v __())
// --------------------------------------------------------------------------
add_filter(
	'gettext',
	function ( $translated, $text, $domain ) {

		if ( $text === 'Your license key(s)' ) {
			return 'Vaša licenca (aktivacijska koda)';
		}

		return $translated;
	},
	10,
	3
);

/*
 * --------------------------------------------------------------------------
 *  TURKOZEN BLOK + GUMB + QR v mailih z licenčno kodo
 *  (deluje na finalni HTML vsebini vseh Woo mailov)
 * --------------------------------------------------------------------------
 */

add_filter( 'woocommerce_mail_content', 'trga_style_license_block_in_emails', 20, 1 );

function trga_style_license_block_in_emails( $content ) {

	// Če mail očitno nima nič z licencami, ga pustimo pri miru
	if (
		stripos( $content, 'Your license key' ) === false
		&& stripos( $content, 'Vaša licenca' ) === false
	) {
		return $content;
	}

	// 1) Odstranimo cel blok "Prenosi" (naslov + tabela), če obstaja
	$content = preg_replace(
		'/<h2[^>]*>\s*Prenosi\s*<\/h2>.*?(?=(<h2[^>]*>|$))/is',
		'',
		$content
	);

	// 2) Najdemo heading z licenco + vse pod njim do naslednjega <h?> ali konca
	if ( ! preg_match(
		'/(<h[1-6][^>]*>[^<]*(?:Your license key|Vaša licenca)[^<]*<\/h[1-6]>)(.*?)(?=(<h[1-6][^>]*>|$))/is',
		$content,
		$m
	) ) {
		// Ni našega bloka -> raje ne tvegamo
		return $content;
	}

	$original_heading = $m[1];
	$body_html        = $m[2];

	// 3) Iz body_html poskušamo izvleči licenčno kodo:
	//    - mora imeti vsaj eno številko
	//    - segmenti so ločeni z vezaji
	$license_key = '';
	if ( preg_match(
		'/([A-Za-z0-9]*\d[A-Za-z0-9]*(?:\-[A-Za-z0-9]*\d[A-Za-z0-9]*)+)/',
		strip_tags( $body_html ),
		$lk
	) ) {
		$license_key = trim( $lk[1] );
	}

	// Ni kode -> raje pustimo original
	if ( ! $license_key ) {
		return $content;
	}

	// 4) "Valid until ..." – če jo LMFWC doda, jo prikažemo manjše
	$valid_text = '';
	if ( preg_match(
		'/(Valid until[^<\n]+)/i',
		strip_tags( $body_html ),
		$vm
	) ) {
		$valid_text = trim( $vm[1] );
	}

	// 5) Link za prenos programa – iščemo v celotnem mailu
	$download_url = '';
	if ( preg_match(
		'/Link za prenos programa:[^>]*?(https?:\/\/[^\s"<]+)/i',
		$content,
		$dm
	) ) {
		$download_url = $dm[1];
	} elseif ( preg_match( '/https?:\/\/[^\s"<]+/i', $content, $dm ) ) {
		// fallback: prvi URL v mailu
		$download_url = $dm[0];
	}

	// 6) Zgradimo NOV heading (vedno slovenski) + turkizni blok
	$heading = '<h2 style="color:#008080;font-size:20px;margin:16px 0 10px 0;">Vaša licenca (aktivacijska koda)</h2>';

	$block  = '<div style="max-width:600px;margin:0 auto 24px auto;';
	$block .= 'background:#008080;background-image:linear-gradient(135deg,#008080,#00a0a0);';
	$block .= 'border-radius:14px;padding:24px;text-align:center;color:#ffffff;">';

	// velika koda
	$block .= '<div style="font-size:34px;font-weight:bold;letter-spacing:2px;';
	$block .= 'word-break:break-all;margin-bottom:8px;">' . esc_html( $license_key ) . '</div>';

	// "Valid until ..."
	if ( $valid_text ) {
		$block .= '<div style="font-size:12px;opacity:0.9;margin-bottom:10px;">'
		       . esc_html( $valid_text ) . '</div>';
	}

	// Gumb + QR za prenos programa (če imamo URL)
	if ( ! empty( $download_url ) ) {

		// Gumb
		$block .= '<div style="margin-top:4px;margin-bottom:12px;">';
		$block .= '<a href="' . esc_url( $download_url ) . '" ';
		$block .= 'style="display:inline-block;padding:10px 26px;';
		$block .= 'background:#ffffff;color:#008080;text-decoration:none;';
		$block .= 'border-radius:999px;font-weight:bold;font-size:14px;">';
		$block .= 'Prenesi program</a>';
		$block .= '</div>';

		// QR koda za prenos
		$qr_download = 'https://api.qrserver.com/v1/create-qr-code/?size=160x160&data='
		             . rawurlencode( $download_url );

		$block .= '<div style="margin-top:4px;">';
		$block .= '<div style="font-size:11px;margin-bottom:4px;opacity:0.9;">';
		$block .= 'QR koda za prenos programa</div>';
		$block .= '<img src="' . esc_url( $qr_download ) . '" alt="QR koda za prenos" ';
		$block .= 'style="display:block;margin:0 auto;border-radius:6px;">';
		$block .= '</div>';
	}

	$block .= '</div>';

	// 7) Zamenjamo stari heading+body z novim heading+blok
	$content = str_replace( $m[0], $heading . $block, $content );

	return $content;
}
