<?php
// includes/functions.php

// تابع تبدیل تاریخ میلادی به شمسی
function gregorian_to_jalali($gy, $gm, $gd, $mod = '') {
    $g_d_m = array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334);
    $gy2 = ($gm > 2) ? ($gy + 1) : $gy;
    $days = 355666 + (365 * $gy) + ((int)(($gy2 + 3) / 4)) - ((int)(($gy2 + 99) / 100)) + ((int)(($gy2 + 399) / 400)) + $gd + $g_d_m[$gm - 1];
    $jy = -1595 + (33 * ((int)($days / 12053)));
    $days %= 12053;
    $jy += 4 * ((int)($days / 1461));
    $days %= 1461;
    if ($days > 365) {
        $jy += (int)(($days - 1) / 365);
        $days = ($days - 1) % 365;
    }
    if ($days < 186) {
        $jm = 1 + (int)($days / 31);
        $jd = 1 + ($days % 31);
    } else {
        $jm = 7 + (int)(($days - 186) / 30);
        $jd = 1 + (($days - 186) % 30);
    }
    // بازگرداندن تاریخ با فرمت YYYY/MM/DD
    return ($mod == '') ? array($jy, $jm, $jd) : $jy . $mod . sprintf("%02d", $jm) . $mod . sprintf("%02d", $jd);
}

// تابع دریافت تاریخ امروز به صورت شمسی
function getTodayShamsi() {
    // تنظیم منطقه زمانی روی تهران تا ساعت سرور هر کجا که بود، تاریخ ایران محاسبه شود
    date_default_timezone_set('Asia/Tehran');
    return gregorian_to_jalali(date('Y'), date('m'), date('d'), '/');
}
?>