<?php
defined('BASEPATH') OR exit('No direct script access allowed');

/**
 * PHPMailer Library pour CodeIgniter 3
 * 
 * Installation:
 * 1. Installer PHPMailer via Composer: composer require phpmailer/phpmailer
 * 2. Placer ce fichier dans: application/libraries/Phpmailer_lib.php
 * 
 * Usage:
 * $this->load->library('phpmailer_lib');
 * $mail = $this->phpmailer_lib->load();
 */

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

class Phpmailer_lib {

    /**
     * Constructeur - Charge l'autoloader de Composer
     */
    public function __construct()
    {
        // Charger l'autoloader de Composer
        // Ajustez le chemin selon votre structure de projet
        $composer_autoload = FCPATH . 'vendor/autoload.php';
        
        if (file_exists($composer_autoload)) {
            require_once $composer_autoload;
        } else {
            // Essayer un autre chemin commun
            $alt_path = APPPATH . '../vendor/autoload.php';
            if (file_exists($alt_path)) {
                require_once $alt_path;
            } else {
                log_message('error', 'PHPMailer: vendor/autoload.php non trouvé. Exécutez: composer require phpmailer/phpmailer');
            }
        }
    }

    /**
     * Retourne une nouvelle instance de PHPMailer
     * 
     * @param bool $exceptions Activer les exceptions
     * @return PHPMailer
     */
    public function load($exceptions = true)
    {
        return new PHPMailer($exceptions);
    }
}
