<?php
/**
 * DALTON PANEL - Cookie ve Oturum Yönetimi
 */

// Session başlat
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// Cookie adı
if (!defined('DALTON_COOKIE')) {
    define('DALTON_COOKIE', 'dalton_auth_token');
}

// Şifreleme anahtarı
if (!defined('DALTON_KEY')) {
    define('DALTON_KEY', 'D4Lt0n_P4n3l_2024_S3cur3_K3y!');
}

/**
 * Veri şifreleme
 */
function daltonEncrypt($data) {
    $key = hash('sha256', DALTON_KEY);
    $iv = substr(hash('sha256', 'dalton_iv'), 0, 16);
    return base64_encode(openssl_encrypt($data, 'AES-256-CBC', $key, 0, $iv));
}

/**
 * Veri şifre çözme
 */
function daltonDecrypt($data) {
    $key = hash('sha256', DALTON_KEY);
    $iv = substr(hash('sha256', 'dalton_iv'), 0, 16);
    return openssl_decrypt(base64_decode($data), 'AES-256-CBC', $key, 0, $iv);
}

/**
 * Cookie oluştur
 */
function createAuthCookie($username) {
    $token = bin2hex(random_bytes(32));
    $data = $username . '|' . $token;
    $encrypted = daltonEncrypt($data);
    
    setcookie(DALTON_COOKIE, $encrypted, [
        'expires' => time() + (86400 * 30),
        'path' => '/',
        'secure' => isset($_SERVER['HTTPS']),
        'httponly' => true,
        'samesite' => 'Strict'
    ]);
}

/**
 * Cookie sil
 */
function deleteAuthCookie() {
    setcookie(DALTON_COOKIE, '', [
        'expires' => time() - 3600,
        'path' => '/',
        'secure' => isset($_SERVER['HTTPS']),
        'httponly' => true,
        'samesite' => 'Strict'
    ]);
}
