HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux vmi3050980 6.8.0-90-generic #91-Ubuntu SMP PREEMPT_DYNAMIC Tue Nov 18 14:14:30 UTC 2025 x86_64
User: gurumedia_st_usr (1012)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/gurumedia_st_usr/data/www/gurumedia.store/frd-src/abc/frd-config.php
<?php
/*
 * FRD Global Config - Version 18
 * Author: SpiderEcommerce 
 */
session_start();
$FR_SOFT_VERSION = "138";
// === ১. UTC TIMEZONE (CAPI এর জন্য বাধ্যতামূলক) ===
date_default_timezone_set('UTC');

// === ২. Private & Public Config লোড ===
require_once("$FR_PATH_HD" . "frd-data/config/frd-private.php");
extract(json_decode(file_get_contents("$FR_PATH_HD" . "frd-data/config/frd-public.json"), true));

// === ৩. UTC & LOCAL TIME (দুটোই দরকার) ===
// --- CAPI এর জন্য UTC Unix Timestamp ---
$FR_NOW_TIME_UTC = time();

// --- লোকাল টাইমজোন ---
$local_tz = new DateTimeZone('Asia/Dhaka');
$local_time = new DateTime('now', $local_tz);

// --- লোকাল টাইমের Unix Timestamp (অর্ডার সেভ করার জন্য) ---
$FR_NOW_TIME_LOCAL = time() + $local_time->getOffset();
$FR_NOW_TIME = $FR_NOW_TIME_LOCAL;

// === ৪. Local Date/Time ফরম্যাট (সাইটে দেখানোর জন্য) ===
$FR_NOW_DATE = $local_time->format('Y-m-d');
$FR_NOW_MONTH = $local_time->format('Y-m');
$FR_NOW_YEAR = $local_time->format('Y');
$FR_NOW_DAY_F = $local_time->format('l');
$FR_NOW_MONTH_F = $local_time->format('F');
$FR_NOW_TIME_12 = $local_time->format('h:i A');
$FR_NOW_TIME_24 = $local_time->format('H:i:s');



// === ৮. DATABASE CONNECTION (PDO) ===
try {
    $FR_options = [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8mb4'",
        PDO::ATTR_EMULATE_PREPARES => false
    ];
    $FR_CONN = new PDO(
        "mysql:host=$FRhostN;dbname=$FRdbN;charset=utf8mb4",
        $FRusrN,
        $FRpsw,
        $FR_options
    );
} catch (PDOException $e) {
    error_log("DB Connection Failed: " . $e->getMessage());
    die("Database connection failed. Please try again later.");
}


// === ৯. CLIENT IP (Cloudflare, Proxy সাপোর্ট) ===
function get_client_ip()
{
    $headers = [
        'HTTP_CLIENT_IP',
        'HTTP_X_FORWARDED_FOR',
        'HTTP_X_FORWARDED',
        'HTTP_X_CLUSTER_CLIENT_IP',
        'HTTP_FORWARDED_FOR',
        'HTTP_FORWARDED',
        'REMOTE_ADDR'
    ];
    foreach ($headers as $key) {
        if (!empty($_SERVER[$key])) {
            $ip_list = explode(',', $_SERVER[$key]);
            $ip = trim($ip_list[0]);
            if (filter_var($ip, FILTER_VALIDATE_IP)) {
                return $ip;
            }
        }
    }
    return $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0';
}


// === ৫. URLs ===
$FR_HURL_IMG = "$FRD_HURL/frd-data/img";
$FR_HURL_API = "$FRD_HURL/frd-api";

// === ৭. SUPER PANEL URL ===
$FR_SP_HURL_DP = "$FRD_HURL/frdsp/dp";
$c_hurl_frd = "$FRD_HURL/customer";
if (isset($_SERVER['HTTP_REFERER'])) {
    $http_referer_frd = $_SERVER['HTTP_REFERER'];
}


$FRc_USER_IP = get_client_ip();
$FRc_USER_AGENT = $_SERVER['HTTP_USER_AGENT'] ?? '';
$FRc_THIS_PAGE_URL = $FRD_HURL . $_SERVER['REQUEST_URI'];

// === ১০. USER ID (কুকি থেকে) ===
if (!isset($_COOKIE['FRcook_USER_UID'])) {
    $FRc_USER_UID = "sx" . bin2hex(random_bytes(7)); // 2 + 14 = 16 chars
    setcookie('FRcook_USER_UID', $FRc_USER_UID, [
        'expires'  => time() + (86400 * 365),
        'path'     => '/',
        'secure'   => true,
        'httponly' => true,
        'samesite' => 'Lax'
    ]);
} else {
    $FRc_USER_UID = $_COOKIE['FRcook_USER_UID'];
}


$FRc_EVENT_ID = bin2hex(random_bytes(8));
$FRc_EXTERNAL_ID = $FRc_USER_UID;

require_once __DIR__ . '/meta_cookies.php';

$fbp = generate_fbp_cookie();
$fbc = generate_fbc_cookie();




$FRSSCSERVER = [
    "0" => "http://localhost/p/p16_ssc/ssc-secom3-dfyix/frd-ssc-call.php",
    "1" => "https://fraiserver.fazlerabbidhali.com/ssc-secom3-dfyix/frd-ssc-call.php",
    "2" => "https://fraiserver.fazlerabbidhali.com/ssc-secom3-dfyix/frd-ssc-call.php",
    "3" => "https://fraiserver.fazlerabbidhali.com/ssc-secom3-dfyix/frd-ssc-call.php"
];


// === ৬. TABLE NAMES ===
$FRxx_OT = "frd_order_invo";
$FRx1_OT = "orderstoken_t_frd.php";
$FRxx_OI = "frd_orditems";
$FRx1_OI = "orderss_t_frd.php";
$FRxx_coup = "frd_couponn";
$FRx1_coup = "couponn_t_frd.php";
$FRxx_4 = "frd_complimng";
$FRx1_4 = "complain_t_frdnux.php";
$FRxx_5 = "frd_nct";
$FRx1_5 = "nct_t_frhux.php";



/**
 * TEMPORARY FIX: Delete invalid _fbp cookies (old incorrect format)
 * Author: Fazle Rabbi (Spider eCommerce)
 * Duration: 1 year (remove after 2026-11-11)
 */

if (isset($_COOKIE['_fbp'])) {
    $fbp = $_COOKIE['_fbp'];

    // Example of correct format: fb.1.1731308324000.123456789012345
    $pattern = '/^fb\.1\.\d{13}\.\d+$/'; // fb.1.<13-digit timestamp>.<numeric random>

    if (!preg_match($pattern, $fbp)) {
        // Log the invalid cookie for audit
        $logFile = __DIR__ . '/x_fb_invalid_fbp.txt';
        $now = gmdate('Y-m-d H:i:s');
        file_put_contents($logFile, "[$now] Deleted invalid fbp: {$fbp}\n", FILE_APPEND | LOCK_EX);

        // Delete invalid cookie
        setcookie('_fbp', '', [
            'expires'  => time() - 3600,
            'path'     => '/',
            'secure'   => true,
            'httponly' => false,
            'samesite' => 'Lax'
        ]);
        unset($_COOKIE['_fbp']);
    }
}


/**
 * TEMPORARY FIX: Delete invalid _fbc cookies (old 10-digit timestamp)
 * Author: Fazle Rabbi (Spider eCommerce)
 * Duration: 1 year (remove after 2026-11-11)
 */

if (isset($_COOKIE['_fbc'])) {
    $fbc = $_COOKIE['_fbc'];

    // Example of valid format: fb.1.1731308324000.ABCD1234567890XYZ
    // fb.1.<13-digit timestamp>.<fbclid>
    $pattern_valid = '/^fb\.1\.\d{13}\.[A-Za-z0-9_-]+$/';
    $pattern_invalid = '/^fb\.1\.\d{10}\.[A-Za-z0-9_-]+$/'; // 10-digit timestamp → invalid

    if (preg_match($pattern_invalid, $fbc) || !preg_match($pattern_valid, $fbc)) {
        // Log the invalid cookie
        $logFile = __DIR__ . '/x_fb_invalid_fbc.txt';
        $now = gmdate('Y-m-d H:i:s');
        file_put_contents($logFile, "[$now] Deleted invalid fbc: {$fbc}\n", FILE_APPEND | LOCK_EX);

        // Delete invalid cookie
        setcookie('_fbc', '', [
            'expires'  => time() - 3600,
            'path'     => '/',
            'secure'   => true,
            'httponly' => false,
            'samesite' => 'Lax'
        ]);
        unset($_COOKIE['_fbc']);
    }
}