]> git.mjollnir.org Git - s9y.git/commitdiff
Jalali Date included
authoromidmottaghi <omidmottaghi>
Mon, 4 Jul 2005 11:44:52 +0000 (11:44 +0000)
committeromidmottaghi <omidmottaghi>
Mon, 4 Jul 2005 11:44:52 +0000 (11:44 +0000)
index.php

index 0f2524074db23a5da30a7053d15f4fc36b586413..c89d971b40835e687a55af96af0aee34af49fdbe 100644 (file)
--- 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);