<?php
/**
 * MoneyTime Notifications System Configuration - CORRECTED
 * תוקן למניעת התנגשויות עם config.php קיים
 */

// ============================================
// EMAIL SETTINGS - מיילים
// ============================================

// שיטת שליחת Email
if (!defined('EMAIL_METHOD')) define('EMAIL_METHOD', 'smtp');

// פרטי שולח המייל
if (!defined('EMAIL_FROM_ADDRESS')) define('EMAIL_FROM_ADDRESS', 'noreply@moneytime.brand4u.co.il');
if (!defined('EMAIL_FROM_NAME')) define('EMAIL_FROM_NAME', 'MoneyTime');
if (!defined('EMAIL_REPLY_TO')) define('EMAIL_REPLY_TO', 'support@moneytime.brand4u.co.il');

// cPanel SMTP Settings
if (!defined('SMTP_HOST')) define('SMTP_HOST', 'mail.moneytime.brand4u.co.il');
if (!defined('SMTP_PORT')) define('SMTP_PORT', 587);
if (!defined('SMTP_USERNAME')) define('SMTP_USERNAME', 'noreply@moneytime.brand4u.co.il');
if (!defined('SMTP_PASSWORD')) define('SMTP_PASSWORD', 'MoneyTime2024');
if (!defined('SMTP_ENCRYPTION')) define('SMTP_ENCRYPTION', 'tls');

// SendGrid API
if (!defined('SENDGRID_API_KEY')) define('SENDGRID_API_KEY', '');

// ============================================
// SMS SETTINGS - הודעות SMS
// ============================================

if (!defined('SMS_ENABLED')) define('SMS_ENABLED', false);
if (!defined('SMS_PROVIDER')) define('SMS_PROVIDER', 'inforu');

// Inforu Settings
if (!defined('INFORU_USERNAME')) define('INFORU_USERNAME', '');
if (!defined('INFORU_PASSWORD')) define('INFORU_PASSWORD', '');
if (!defined('INFORU_SENDER_NAME')) define('INFORU_SENDER_NAME', 'MoneyTime');

// Twilio Settings
if (!defined('TWILIO_ACCOUNT_SID')) define('TWILIO_ACCOUNT_SID', '');
if (!defined('TWILIO_AUTH_TOKEN')) define('TWILIO_AUTH_TOKEN', '');
if (!defined('TWILIO_FROM_NUMBER')) define('TWILIO_FROM_NUMBER', '');

// ============================================
// NOTIFICATION SETTINGS
// ============================================

if (!defined('NOTIFICATIONS_LOG_ENABLED')) define('NOTIFICATIONS_LOG_ENABLED', true);

$NOTIFICATIONS_CONFIG = [
    'package_received' => [
        'email' => true,
        'sms' => false,
        'description' => 'חבילה התקבלה במחסן'
    ],
    'package_ready' => [
        'email' => true,
        'sms' => false,
        'description' => 'חבילה מוכנה למשלוח'
    ],
    'package_shipped' => [
        'email' => true,
        'sms' => false,
        'description' => 'חבילה נשלחה'
    ],
    'shipment_created' => [
        'email' => true,
        'sms' => false,
        'description' => 'משלוח נוצר'
    ],
    'shipment_shipped' => [
        'email' => true,
        'sms' => false,
        'description' => 'משלוח יצא לדרך'
    ],
    'shipment_delivered' => [
        'email' => true,
        'sms' => false,
        'description' => 'משלוח הגיע ליעד'
    ],
    'payment_completed' => [
        'email' => true,
        'sms' => false,
        'description' => 'תשלום התקבל'
    ],
    'payment_failed' => [
        'email' => true,
        'sms' => false,
        'description' => 'תשלום נכשל'
    ],
    'user_registered' => [
        'email' => true,
        'sms' => false,
        'description' => 'משתמש נרשם'
    ],
    'password_reset' => [
        'email' => true,
        'sms' => false,
        'description' => 'איפוס סיסמה'
    ]
];

// ============================================
// TEMPLATES PATHS
// ============================================

if (!defined('EMAIL_TEMPLATES_PATH')) define('EMAIL_TEMPLATES_PATH', __DIR__ . '/../templates/emails/');
if (!defined('SMS_TEMPLATES_PATH')) define('SMS_TEMPLATES_PATH', __DIR__ . '/../templates/sms/');

// ============================================
// TESTING MODE
// ============================================

if (!defined('TESTING_MODE')) define('TESTING_MODE', false);
if (!defined('TEST_EMAIL')) define('TEST_EMAIL', 'test@moneytime.co.il');
if (!defined('TEST_PHONE')) define('TEST_PHONE', '0501234567');

// ============================================
// VALIDATION - עם בדיקות defined
// ============================================

function validateNotificationsConfig() {
    $errors = [];
    
    // בדיקת הגדרות EMAIL
    if (defined('EMAIL_METHOD') && EMAIL_METHOD === 'smtp') {
        if (!defined('SMTP_USERNAME') || empty(SMTP_USERNAME)) {
            $errors[] = 'נא להגדיר SMTP_USERNAME אם משתמשים ב-SMTP';
        }
        if (!defined('SMTP_PASSWORD') || empty(SMTP_PASSWORD)) {
            $errors[] = 'נא להגדיר SMTP_PASSWORD אם משתמשים ב-SMTP';
        }
    }
    
    if (defined('EMAIL_METHOD') && EMAIL_METHOD === 'sendgrid') {
        if (!defined('SENDGRID_API_KEY') || empty(SENDGRID_API_KEY)) {
            $errors[] = 'נא להגדיר SENDGRID_API_KEY אם משתמשים ב-SendGrid';
        }
    }
    
    // בדיקת הגדרות SMS
    if (defined('SMS_ENABLED') && SMS_ENABLED) {
        if (defined('SMS_PROVIDER') && SMS_PROVIDER === 'inforu') {
            if (!defined('INFORU_USERNAME') || empty(INFORU_USERNAME)) {
                $errors[] = '⚠️ SMS מופעל אבל חסר INFORU_USERNAME';
            }
            if (!defined('INFORU_PASSWORD') || empty(INFORU_PASSWORD)) {
                $errors[] = '⚠️ SMS מופעל אבל חסר INFORU_PASSWORD';
            }
        }
        
        if (defined('SMS_PROVIDER') && SMS_PROVIDER === 'twilio') {
            if (!defined('TWILIO_ACCOUNT_SID') || empty(TWILIO_ACCOUNT_SID)) {
                $errors[] = '⚠️ SMS מופעל אבל חסר TWILIO_ACCOUNT_SID';
            }
        }
    }
    
    return $errors;
}

if (defined('DEBUG_MODE') && DEBUG_MODE) {
    $configErrors = validateNotificationsConfig();
    if (!empty($configErrors)) {
        error_log("Notifications Config Errors: " . implode(', ', $configErrors));
    }
}