]> git.mjollnir.org Git - s9y.git/commitdiff
some updates
authoromidmottaghi <omidmottaghi>
Tue, 24 May 2005 10:01:40 +0000 (10:01 +0000)
committeromidmottaghi <omidmottaghi>
Tue, 24 May 2005 10:01:40 +0000 (10:01 +0000)
include/functions_calendars.inc.php

index 53d5574e3f81d67a98388b3a8bcc4d9860ed6dde..888683995d536a1d645065e156a7f62c9b342c6f 100644 (file)
@@ -2,53 +2,52 @@
 # Copyright (c) 2003-2005, Jannis Hermanns (on behalf the Serendipity Developer Team)
 # All rights reserved.  See LICENSE file for licensing details
 
-// Calali UTF Calendar code by Omid Mottaghi
+// Jalali UTF Calendar code by Omid Mottaghi
 function calendar_jalali_utf($format, $timestamp, $useOffset) {
+    
     $g_d=date('j', $timestamp);
     $g_m=date('n', $timestamp);
     $g_y=date('Y', $timestamp);
 
     $g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
     $j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
-    $j_month_name    = array('', 'فروردین', 'اردیبهشت', 'خرداد', 'تیر',
-                             'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند');
-    $j_week_name     = array('Saturday'  => 'شنبه',
-                             'Sunday'    => 'یک شنبه',
-                             'Monday'    => 'دوشنبه',
-                             'Tuesday'   => 'سه شنبه',
-                             'Wednesday' => 'چهارشنبه',
-                             'Thursday'  => 'پنج شنبه',
-                             'Friday'    => 'جمعه',
-                             'Sat'       => 'ش',
-                             'Sun'       => 'ی',
-                             'Mon'       => 'د',
-                             'Tue'       => 'س',
-                             'Wed'       => 'چ',
-                             'Thu'       => 'پ',
-                             'Fri'       => 'ج');
-    $j_week_number   = array('Sat' => '1',
-                             'Sun' => '2',
-                             'Mon' => '3',
-                             'Tue' => '4',
-                             'Wed' => '5',
-                             'Thu' => '6',
-                             'Fri' => '7');
-
+    $j_month_name = array('', 'فروردین', 'اردیبهشت', 'خرداد', 'تیر',
+            'مرداد', 'شهریور', 'مهر', 'آبان', 'آذر', 'دی', 'بهمن', 'اسفند');
+    $j_week_name = array('Saturday' => 'شنبه',
+                        'Sunday' => 'یک شنبه',
+                        'Monday' => 'دوشنبه',
+                        'Tuesday' => 'سه شنبه',
+                        'Wednesday' => 'چهارشنبه',
+                        'Thursday' => 'پنج شنبه',
+                        'Friday' => 'جمعه',
+                        'Sat' => 'ش',
+                        'Sun' => 'ی',
+                        'Mon' => 'د',
+                        'Tue' => 'س',
+                        'Wed' => 'چ',
+                        'Thu' => 'پ',
+                        'Fri' => 'ج');
+    $j_week_number = array('Sat' => '1',
+                           'Sun' => '2',
+                           'Mon' => '3',
+                           'Tue' => '4',
+                           'Wed' => '5',
+                           'Thu' => '6',
+                           'Fri' => '7');
+    
     $gy = $g_y-1600;
     $gm = $g_m-1;
     $gd = $g_d-1;
     
     $g_day_no = 365*$gy+floor(($gy+3)/4)-floor(($gy+99)/100)+floor(($gy+399)/400);
     
-    for ($i=0; $i < $gm; ++$i) {
+    for ($i=0; $i < $gm; ++$i)
         $g_day_no += $g_days_in_month[$i];
-    }
-
-    if ($gm>1 && (($gy%4==0 && $gy%100!=0) || ($gy%400==0))) {
+        
+    if ($gm>1 && (($gy%4==0 && $gy%100!=0) || ($gy%400==0)))
         /* leap and after Feb */
         ++$g_day_no;
-    }
-    
+        
     $g_day_no += $gd;
     $j_day_no = $g_day_no-79;
     $j_np = floor($j_day_no/12053);
@@ -93,13 +92,13 @@ function calendar_jalali_utf($format, $timestamp, $useOffset) {
                 if($percent_sign){ $output_str.=floor($jy/100); $percent_sign=0; }
                 break;
             case 'd':
-                if($percent_sign){ $output_str.=$jd; $percent_sign=0; }
+                if($percent_sign){ if($jd<10) $output_str.='0'.$jd; else $output_str.=$jd; $percent_sign=0; }
                 break;
             case 'D':
                 if($percent_sign){ $output_str.=$jm.'/'.$jd.'/'.$jy; $percent_sign=0; }
                 break;
             case 'e':
-                if($percent_sign){ $output_str.=sprintf("%2d", $jm); $percent_sign=0; }
+                if($percent_sign){ if($jd<10) $output_str.=' '.$jd; else $output_str.=$jd; $percent_sign=0; }
                 break;
             case 'H':
                 if($percent_sign){ $output_str.=date('H', $timestamp); $percent_sign=0; }
@@ -111,7 +110,7 @@ function calendar_jalali_utf($format, $timestamp, $useOffset) {
                 if($percent_sign){ $output_str.=sprintf("%03d", $j_all_days); $percent_sign=0; }
                 break;
             case 'm':
-                if($percent_sign){ $output_str.=$jm; $percent_sign=0; }
+                if($percent_sign){ if($jm<10) $output_str.='0'.$jm; else $output_str.=$jm; $percent_sign=0; }
                 break;
             case 'M':
                 if($percent_sign){ $output_str.=date('i', $timestamp); $percent_sign=0; }
@@ -145,10 +144,10 @@ function calendar_jalali_utf($format, $timestamp, $useOffset) {
             case 'X': // incomplete
                 if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
                 break;
+            case 'g':
             case 'y':
                 if($percent_sign){ $output_str.=$jy-(floor($jy/100)*100); $percent_sign=0; }
                 break;
-            case 'g':
             case 'G':
             case 'Y':
                 if($percent_sign){ $output_str.=$jy; $percent_sign=0; }
@@ -158,14 +157,13 @@ function calendar_jalali_utf($format, $timestamp, $useOffset) {
                 if($percent_sign){ /*$output_str.=$format[$i];*/ $percent_sign=0; }
                 break;
             case '%':
-                if($percent_sign){ $output_str.='%'; } else { $percent_sign=1; }
+                if($percent_sign){ $outpus_str.='%'; } else { $percent_sign=1; }
                 break;
             default:
                 $output_str.=$format[$i];
                 $percent_sign=0;
         }
     }
-    
     return $output_str;
 }
 ?>
\ No newline at end of file