<?php

defined('BASEPATH') or exit('No direct script access allowed');

/*
Module Name: Kaiteki Welcome Email
Description: Envía correo de bienvenida cuando se registra el pago de una factura de matrícula.
Version: 1.0.0
Requires at least: 2.3.*
Author: Kaiteki Medical
*/

hooks()->add_action('after_payment_added', 'novaris_send_welcome_email_after_payment');

function novaris_send_welcome_email_after_payment($payment_id)
{
    $CI = &get_instance();

    $payment = $CI->db
        ->where('id', $payment_id)
        ->get(db_prefix() . 'invoicepaymentrecords')
        ->row();

    if (!$payment) {
        return;
    }

    $invoice_id = $payment->invoiceid;

    $items = $CI->db
        ->where('rel_id', $invoice_id)
        ->where('rel_type', 'invoice')
        ->get(db_prefix() . 'itemable')
        ->result();

    $send_email = false;

    foreach ($items as $item) {
        if (stripos($item->description, 'Matrícula') !== false) {
            $send_email = true;
            break;
        }
    }

    if (!$send_email) {
        file_put_contents(APPPATH . 'logs/novaris_test.txt', 'Pago registrado, pero no era matrícula. Pago ID: ' . $payment_id . PHP_EOL, FILE_APPEND);
        return;
    }

    $invoice = $CI->db
        ->where('id', $invoice_id)
        ->get(db_prefix() . 'invoices')
        ->row();

    if (!$invoice) {
        return;
    }

    $contact = $CI->db
        ->where('userid', $invoice->clientid)
        ->where('is_primary', 1)
        ->get(db_prefix() . 'contacts')
        ->row();

    $client = $CI->db
        ->where('userid', $invoice->clientid)
        ->get(db_prefix() . 'clients')
        ->row();

    if (!$contact || empty($contact->email)) {
        file_put_contents(APPPATH . 'logs/novaris_test.txt', 'No se encontró contacto principal o email. Cliente ID: ' . $invoice->clientid . PHP_EOL, FILE_APPEND);
        return;
    }

    $student_name = trim($contact->firstname . ' ' . $contact->lastname);

    if ($student_name == '' && $client) {
        $student_name = $client->company;
    }

    $logo_url = site_url('uploads/company/' . get_option('company_logo'));

    $message = '
    <table width="100%" cellpadding="0" cellspacing="0" style="font-family: Arial, Helvetica, sans-serif; background:#f5f7fb; padding:30px;">
      <tr>
        <td align="center">
          <table width="700" cellpadding="0" cellspacing="0" style="background:#ffffff; border-radius:10px; overflow:hidden; border:1px solid #e5e7eb;">
            <tr>
              <td style="padding:30px 40px; border-bottom:1px solid #e5e7eb;">
                <table width="100%" cellpadding="0" cellspacing="0">
                  <tr>
                    <td align="left">
                      <img src="'.$logo_url.'" height="65" style="display:block;">
                    </td>
                    <td align="right" style="font-size:13px; color:#6b7280;">
                      KAITEKI MEDICAL
                    </td>
                  </tr>
                </table>
              </td>
            </tr>

            <tr>
              <td style="padding:40px;">
                <h2 style="margin-top:0; color:#00189C; font-size:24px;">
                  Bienvenido(a) a KAITEKI MEDICAL
                </h2>

                <p style="font-size:15px; line-height:1.8; color:#374151;">
                  Estimado(a) <strong>'.$student_name.'</strong>,
                </p>

                <p style="font-size:15px; line-height:1.8; color:#374151;">
                  Reciba un cordial saludo de parte de KAITEKI MEDICAL.
                </p>

                <p style="font-size:15px; line-height:1.8; color:#374151;">
                  Nos complace darle la bienvenida a nuestra comunidad académica internacional y agradecer la confianza depositada en nuestra institución para formar parte de su desarrollo profesional y académico.
                </p>

                <p style="font-size:15px; line-height:1.8; color:#374151;">
                  Su proceso de matrícula y validación administrativa ha sido confirmado exitosamente.
                </p>

                <p style="font-size:15px; line-height:1.8; color:#374151;">
                  En los próximos días, nuestro equipo académico y administrativo le brindará información relacionada con accesos institucionales, cronograma, orientaciones administrativas y acompañamiento estudiantil.
                </p>

                <p style="font-size:15px; line-height:1.8; color:#374151;">
                  Le deseamos muchos éxitos en esta nueva etapa académica y profesional.
                </p>

                <br>

                <p style="font-size:15px; line-height:1.8; color:#00189C;">
                  <strong>Admisión & Servicios al Estudiante</strong><br>
                  KAITEKI MEDICAL
                </p>
              </td>
            </tr>

            <tr>
              <td style="background:#00189C; color:#ffffff; padding:20px 40px; font-size:13px; text-align:center;">
                KAITEKI MEDICAL INTERNATIONAL<br>
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>';

    $CI->load->library('email');

    $from_email = get_option('smtp_email');

    if (!$from_email) {
        $from_email = get_option('company_email');
    }

    $CI->email->from($from_email, 'KAITEKI MEDICAL');
    $CI->email->to($contact->email);
    $CI->email->subject('Bienvenido(a) a KAITEKI MEDICAL');
    $CI->email->set_mailtype('html');
    $CI->email->message($message);

    if ($CI->email->send()) {
        file_put_contents(APPPATH . 'logs/novaris_test.txt', 'Correo enviado a: ' . $contact->email . PHP_EOL, FILE_APPEND);
    } else {
        file_put_contents(APPPATH . 'logs/novaris_test.txt', 'Error enviando correo a: ' . $contact->email . PHP_EOL, FILE_APPEND);
    }
}