From 19b545157287dd5072f0436094f2c5cce3166d0f Mon Sep 17 00:00:00 2001 From: omidmottaghi Date: Tue, 24 May 2005 10:01:40 +0000 Subject: [PATCH] some updates --- include/functions_calendars.inc.php | 72 ++++++++++++++--------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/include/functions_calendars.inc.php b/include/functions_calendars.inc.php index 53d5574..8886839 100644 --- a/include/functions_calendars.inc.php +++ b/include/functions_calendars.inc.php @@ -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 -- 2.39.5