<?php
/**
 * OVP-Sponsorizare
 *
 * @package   OVPSPO_Sponsorizare
 * @author    Ovidiu Pantiru - OVP-Digital
 * @copyright 2024 Ovidiu Pantiru
 * @license   GPL-2.0+
 * @link      https://ovidiupantiru.ro
 */

if ( ! defined( 'ABSPATH' ) ) exit;

if ( ! class_exists('OVPSPO_Email_Contract') ) {
class OVPSPO_Email_Contract {

    // Email catre SPONSOR - pentru semnare
    public static function send_sponsor( $data, $sp_email, $attachments = array() ) {
        if ( empty($sp_email) ) return;

        $from    = OVPSPO_Settings::get('org_email_from', get_option('admin_email'));
        $fname   = OVPSPO_Settings::get('org_email_from_name', OVPSPO_Settings::get('org_nume', get_bloginfo('name')));
        $org     = OVPSPO_Settings::get('org_nume', get_bloginfo('name'));
        $org_email = OVPSPO_Settings::get('org_email_public', OVPSPO_Settings::get('org_email_admin', get_option('admin_email')));

        $tip_sponsor = $data['tip_sponsor'] === 'juridica'
            ? $data['sp_denumire'] . ' ' . $data['sp_forma_juridica']
            : $data['sp_pf_nume'] . ' ' . $data['sp_pf_prenume'];

        $subject = 'Contract de Sponsorizare Nr. ' . $data['nr_contract'] . ' – ' . $org . ' – necesită semnătura ta';

        $body  = '<div style="font-family:Arial,sans-serif;max-width:680px;margin:0 auto;color:#1c2333">';
        $body .= '<div style="background:#0F408A;padding:20px 30px;border-radius:8px 8px 0 0">';
        $body .= '<h1 style="color:#fff;margin:0;font-size:20px">Contract de Sponsorizare</h1>';
        $body .= '<p style="color:#b8d0f5;margin:4px 0 0;font-size:13px">Nr. ' . esc_html($data['nr_contract']) . ' · ' . esc_html($org) . '</p>';
        $body .= '</div>';
        $body .= '<div style="background:#fff;border:1px solid #d0daea;border-top:none;padding:24px 30px">';
        $body .= '<p>Dragă <strong>' . esc_html($tip_sponsor) . '</strong>,</p>';
        $body .= '<p>Îți mulțumim pentru intenția de sponsorizare! Contractul PDF este atașat la acest email.</p>';

        $body .= '<div style="background:#fff3cd;border-left:4px solid #ffc107;padding:14px 18px;border-radius:6px;margin:16px 0">';
        $body .= '<strong>⚠ Pași obligatorii pentru finalizarea contractului:</strong></div>';

        $steps = array(
            array('Tipărește contractul PDF atașat', 'Printează documentul atașat la acest email'),
            array('Semnează și aplică ștampila', 'Semnează olograf și aplică ștampila societății (dacă ești persoană juridică) în spațiul destinat <em>SPONSOR</em>'),
            array('Trimite contractul semnat beneficiarului', 'Scanează sau fotografiază contractul semnat și trimite-l pe email la <a href="mailto:' . esc_attr($org_email) . '" style="color:#0F408A">' . esc_html($org_email) . '</a> pentru contrasemnare'),
            array('Primești contractul final semnat de ambele părți', 'Beneficiarul îți va trimite contractul semnat de ambele părți — acesta este documentul valabil din punct de vedere juridic'),
        );

        $body .= '<table width="100%" cellpadding="0" cellspacing="0">';
        foreach ($steps as $i => $step) {
            $nr = $i + 1;
            $body .= '<tr><td width="44" valign="top" style="padding:8px 0">';
            $body .= '<div style="background:#0F408A;color:#fff;width:30px;height:30px;border-radius:50%;text-align:center;line-height:30px;font-weight:700">' . $nr . '</div>';
            $body .= '</td><td style="padding:8px 0 8px 12px">';
            $body .= '<strong>' . $step[0] . '</strong><br>';
            $body .= '<span style="color:#5a6476;font-size:13px">' . $step[1] . '</span>';
            $body .= '</td></tr>';
        }
        $body .= '</table>';

        $body .= '<table width="100%" cellpadding="5" border="1" style="border-collapse:collapse;border-color:#d0daea;font-size:13px;margin-top:16px">';
        $body .= '<tr style="background:#f0f5ff"><td width="40%"><strong>Nr. contract</strong></td><td>' . esc_html($data['nr_contract']) . '</td></tr>';
        $body .= '<tr><td><strong>Data</strong></td><td>' . esc_html($data['data_contract']) . '</td></tr>';
        $body .= '<tr style="background:#f0f5ff"><td><strong>Tip sponsorizare</strong></td><td>' . esc_html(ucfirst($data['tip_sponsorizare'])) . '</td></tr>';
        if ($data['tip_sponsorizare'] === 'baneasca') {
            $body .= '<tr><td><strong>Sumă</strong></td><td><strong>' . number_format($data['sp_suma'],2,',','.') . ' lei</strong></td></tr>';
        }
        $body .= '<tr style="background:#f0f5ff"><td><strong>Beneficiar</strong></td><td>' . esc_html($org) . '</td></tr>';
        $body .= '</table>';

        $body .= '<p style="margin-top:20px;font-size:13px;color:#5a6476">Pentru orice întrebări, contactează-ne la <a href="mailto:' . esc_attr($org_email) . '" style="color:#0F408A">' . esc_html($org_email) . '</a>.</p>';
        $body .= '</div></div>';

        $headers = array('Content-Type: text/html; charset=UTF-8', "From: $fname <$from>");
        wp_mail($sp_email, $subject, $body, $headers, $attachments);
    }

    // Email catre ADMIN - notificare
    public static function send_admin( $data, $attachments = array() ) {
        $to    = OVPSPO_Settings::get('org_email_admin', get_option('admin_email'));
        $from  = OVPSPO_Settings::get('org_email_from', get_option('admin_email'));
        $fname = OVPSPO_Settings::get('org_email_from_name', get_bloginfo('name'));

        $tip_sponsor = $data['tip_sponsor'] === 'juridica'
            ? $data['sp_denumire'] . ' ' . $data['sp_forma_juridica']
            : $data['sp_pf_nume'] . ' ' . $data['sp_pf_prenume'];

        $subject = '[Notificare] Contract sponsorizare nou – ' . $tip_sponsor . ' – Nr. ' . $data['nr_contract'];

        $body  = '<div style="font-family:Arial,sans-serif;max-width:640px;margin:0 auto">';
        $body .= '<div style="background:#1a7a42;padding:16px 24px;border-radius:8px 8px 0 0">';
        $body .= '<h2 style="color:#fff;margin:0;font-size:18px">📋 Contract Sponsorizare Nou</h2>';
        $body .= '</div>';
        $body .= '<div style="background:#fff;border:1px solid #d0daea;border-top:none;padding:20px 24px">';
        $body .= '<p>Un nou contract de sponsorizare a fost completat și trimis sponsorului pentru semnare.</p>';
        $body .= '<div style="background:#e8f5e9;border-left:4px solid #27ae60;padding:12px 16px;border-radius:4px;margin:16px 0;font-size:13px">';
        $body .= '✅ Contractul PDF a fost trimis sponsorului pe email. Vei primi contractul semnat după ce sponsorul îl semnează și ți-l trimite.';
        $body .= '</div>';
        $body .= '<table width="100%" cellpadding="5" border="1" style="border-collapse:collapse;border-color:#d0daea;font-size:14px">';
        $body .= '<tr style="background:#f0f5ff"><td width="40%"><strong>Sponsor</strong></td><td>' . esc_html($tip_sponsor) . '</td></tr>';
        $body .= '<tr><td><strong>Nr. contract</strong></td><td>' . esc_html($data['nr_contract']) . '</td></tr>';
        $body .= '<tr style="background:#f0f5ff"><td><strong>Data</strong></td><td>' . esc_html($data['data_contract']) . '</td></tr>';
        $body .= '<tr><td><strong>Tip sponsorizare</strong></td><td>' . esc_html(ucfirst($data['tip_sponsorizare'])) . '</td></tr>';
        if ($data['tip_sponsorizare'] === 'baneasca') {
            $body .= '<tr style="background:#f0f5ff"><td><strong>Sumă</strong></td><td><strong>' . number_format($data['sp_suma'],2,',','.') . ' lei</strong></td></tr>';
        }
        $body .= '<tr><td><strong>Data completare</strong></td><td>' . current_time('d.m.Y H:i') . '</td></tr>';
        $body .= '</table>';
        $body .= '<p style="font-size:12px;color:#888;margin-top:16px">Contractul este disponibil și în panoul WordPress → Contracte Sponsorizare.</p>';
        $body .= '</div></div>';

        $headers = array('Content-Type: text/html; charset=UTF-8', "From: $fname <$from>");
        wp_mail($to, $subject, $body, $headers, $attachments);
    }
}
} // end class_exists
