<?php
/**
 * Tom's Java Jive - Main Configuration
 */

// Site Configuration
if (!defined('SITE_NAME')) { define('SITE_NAME', "Tom's Java Jive"); }
if (!defined('SITE_URL')) { define('SITE_URL', 'https://tomsjavajive.com'); }
if (!defined('SITE_EMAIL')) { define('SITE_EMAIL', 'support@tomsjavajive.com'); }

// Environment
if (!defined('ENVIRONMENT')) { define('ENVIRONMENT', 'production'); }
if (!defined('DEBUG_MODE')) { define('DEBUG_MODE', false); }

// Session Configuration
if (!defined('SESSION_NAME')) { define('SESSION_NAME', 'tjj_session'); }
if (!defined('SESSION_LIFETIME')) { define('SESSION_LIFETIME', 86400 * 7); }

// Security
if (!defined('HASH_COST')) { define('HASH_COST', 12); }
if (!defined('CSRF_TOKEN_NAME')) { define('CSRF_TOKEN_NAME', 'csrf_token'); }

// Stripe
if (!defined('STRIPE_SECRET_KEY')) { define('STRIPE_SECRET_KEY', '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'); }
if (!defined('STRIPE_PUBLISHABLE_KEY')) { define('STRIPE_PUBLISHABLE_KEY', 'pk_live_51TcSte42hN9FJ8ht6QMzoTJwji8q1me1cFvEX5Y3mES1cJnA6LQ0ROvqkoiiPBMGf73jszIHZPv6Q37qUgLYdCeG00W4uehVba'); }
if (!defined('STRIPE_WEBHOOK_SECRET')) { define('STRIPE_WEBHOOK_SECRET', 'whsec_esEudSGg3zch1zoHaYD3b9Bj2CfZerO9'); }

// CyberMail SMTP
if (!defined('SMTP_HOST'))     { define('SMTP_HOST',     'mail.cyberpersons.com'); }
if (!defined('SMTP_PORT'))     { define('SMTP_PORT',     587); }
if (!defined('SMTP_USER'))     { define('SMTP_USER',     'smtp_49a1fa9c0f15d2d7'); }
if (!defined('SMTP_PASS'))     { define('SMTP_PASS',     'T3mOFSMK1SG1l4D1d7N8NefRd8xypwMy'); }
if (!defined('SMTP_SECURE'))   { define('SMTP_SECURE',   'tls'); } // STARTTLS
if (!defined('SENDER_EMAIL'))  { define('SENDER_EMAIL',  'noreply@tomsjavajive.com'); }
if (!defined('SENDER_NAME'))   { define('SENDER_NAME',   "Tom's Java Jive"); }
if (!defined('CYBERMAIL_API_KEY')) { define('CYBERMAIL_API_KEY', 'sk_live_d52bf062797105aeaafac9954c21ff988e9b41b77315807d'); }

// Twilio (optional)
if (!defined('TWILIO_SID')) { define('TWILIO_SID', ''); }
if (!defined('TWILIO_AUTH_TOKEN')) { define('TWILIO_AUTH_TOKEN', ''); }
if (!defined('TWILIO_PHONE')) { define('TWILIO_PHONE', ''); }

// File Uploads
if (!defined('UPLOAD_DIR')) { define('UPLOAD_DIR', __DIR__ . '/../uploads/'); }
if (!defined('MAX_UPLOAD_SIZE')) { define('MAX_UPLOAD_SIZE', 5 * 1024 * 1024); }
if (!defined('ALLOWED_IMAGE_TYPES')) { define('ALLOWED_IMAGE_TYPES', ['image/jpeg', 'image/png', 'image/gif', 'image/webp']); }

// Pagination
if (!defined('ITEMS_PER_PAGE')) { define('ITEMS_PER_PAGE', 12); }
if (!defined('ADMIN_ITEMS_PER_PAGE')) { define('ADMIN_ITEMS_PER_PAGE', 20); }

// Currency
if (!defined('CURRENCY_CODE')) { define('CURRENCY_CODE', 'USD'); }
if (!defined('TJJ_CURRENCY_SYMBOL')) { define('TJJ_CURRENCY_SYMBOL', '$'); }

// Timezone
date_default_timezone_set('America/New_York');

// Error Reporting
if (ENVIRONMENT === 'development' || DEBUG_MODE) {
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
} else {
    error_reporting(0);
    ini_set('display_errors', 0);
}
