From ad5f16d8c930a493a388924fc72597420982d895 Mon Sep 17 00:00:00 2001 From: omidmottaghi Date: Mon, 4 Jul 2005 11:44:52 +0000 Subject: [PATCH] Jalali Date included --- index.php | 69 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 16 deletions(-) diff --git a/index.php b/index.php index 0f25240..c89d971 100644 --- a/index.php +++ b/index.php @@ -115,22 +115,59 @@ if (preg_match(PAT_ARCHIVES, $uri, $matches) || isset($serendipity['GET']['range $serendipity['GET']['action'] = null; $serendipity['GET']['hidefooter'] = null; } - - if ($week) { - $tm = strtotime('+ '. ($week-2) .' WEEKS monday', mktime(0, 0, 0, 1, 1, $year)); - $ts = mktime(0, 0, 0, date('m', $tm), date('j', $tm), $year); - $te = mktime(23, 59, 59, date('m', $tm), date('j', $tm)+7, $year); - $date = serendipity_formatTime(WEEK .' '. $week .', %Y', $ts, false); - } else { - if ($day) { - $ts = mktime(0, 0, 0, $month, $day, $year); - $te = mktime(23, 59, 59, $month, $day, $year); - $date = serendipity_formatTime(DATE_FORMAT_ENTRY, $ts, false); - } else { - $ts = mktime(0, 0, 0, $month, 1, $year); - $te = mktime(23, 59, 59, $month, date('t', $ts), $year); - $date = serendipity_formatTime('%B %Y', $ts, $false); - } + + switch($serendipity['calendar']) { + case 'gregorian': + default: + if ($week) { + $tm = strtotime('+ '. ($week-2) .' WEEKS monday', mktime(0, 0, 0, 1, 1, $year)); + $ts = mktime(0, 0, 0, date('m', $tm), date('j', $tm), $year); + $te = mktime(23, 59, 59, date('m', $tm), date('j', $tm)+7, $year); + $date = serendipity_formatTime(WEEK .' '. $week .', %Y', $ts, false); + } else { + if ($day) { + $ts = mktime(0, 0, 0, $month, $day, $year); + $te = mktime(23, 59, 59, $month, $day, $year); + $date = serendipity_formatTime(DATE_FORMAT_ENTRY, $ts, false); + } else { + $ts = mktime(0, 0, 0, $month, 1, $year); + $te = mktime(23, 59, 59, $month, date('t', $ts), $year); + $date = serendipity_formatTime('%B %Y', $ts, $false); + } + } + break; + + case 'jalali-utf8': + require_once S9Y_INCLUDE_PATH . 'include/functions_calendars.inc.php'; + $j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29); + + if ($week) { + list ( $year, $month, $day ) = j2g($year, $month, $day); + $tm = strtotime('+ '. ($week-2) .' WEEKS saturday', mktime(0, 0, 0, 1, 1, $year)); + $ts = mktime(0, 0, 0, date('m', $tm), date('j', $tm), $year); + $te = mktime(23, 59, 59, date('m', $tm), date('j', $tm)+7, $year); + $date = serendipity_formatTime(WEEK .' '. $week .', %Y', $ts, false); + } else { + if ($day) { + list ( $year, $month, $day ) = j2g($year, $month, $day); + $ts = mktime(0, 0, 0, $month, $day, $year); + $te = mktime(23, 59, 59, $month, $day, $year); + $date = serendipity_formatTime(DATE_FORMAT_ENTRY, $ts, false); + } else { + $jm = $month; + $jy = $year; + list ( $year, $month, $gday ) = j2g($jy, $jm, 1); + $ts = mktime(0, 0, 0, $month, $gday, $year); + if ($jy%4 == 3 && $jm == 12){ + $nrOfDays = list ( $year, $month, $gday ) = j2g($jy, $jm, $j_days_in_month[(int)$jm]+1); + }else{ + list ( $year, $month, $gday ) = j2g($jy, $jm, $j_days_in_month[(int)$jm]); + } + $te = mktime(23, 59, 59, $month, $gday, $year); + $date = serendipity_formatTime('%B %Y', $ts, $false); + } + } + break; } $serendipity['range'] = array($ts, $te); -- 2.39.5