summaryrefslogtreecommitdiff
path: root/library/WT/Date/Arabic.php
diff options
context:
space:
mode:
authorfisharebest <fisharebest@gmail.com>2011-01-01 15:04:58 +0000
committerfisharebest <fisharebest@gmail.com>2011-01-01 15:04:58 +0000
commit65844fe0d595f49a85f3a13ee14ebe0adfd6d0fe (patch)
tree918ec27c29f5a3858f67d738d843ad540095b737 /library/WT/Date/Arabic.php
parent3f00e12930f917fcd52629041b942db9bec5f701 (diff)
downloadwebtrees-65844fe0d595f49a85f3a13ee14ebe0adfd6d0fe.tar.gz
webtrees-65844fe0d595f49a85f3a13ee14ebe0adfd6d0fe.tar.bz2
webtrees-65844fe0d595f49a85f3a13ee14ebe0adfd6d0fe.zip
Refactoring class names and use autoloading.
Diffstat (limited to 'library/WT/Date/Arabic.php')
-rw-r--r--library/WT/Date/Arabic.php84
1 files changed, 84 insertions, 0 deletions
diff --git a/library/WT/Date/Arabic.php b/library/WT/Date/Arabic.php
new file mode 100644
index 0000000000..11739b2667
--- /dev/null
+++ b/library/WT/Date/Arabic.php
@@ -0,0 +1,84 @@
+<?php
+// Classes for Gedcom Date/Calendar functionality.
+//
+// Definitions for the Arabic calendar.
+// NOTE - this is the same as the Hijri Calendar, but displays dates in arabic
+// rather than the local language.
+//
+// NOTE: Since different calendars start their days at different times, (civil
+// midnight, solar midnight, sunset, sunrise, etc.), we convert on the basis of
+// midday.
+//
+// webtrees: Web based Family History software
+// Copyright (C) 2011 webtrees development team.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// @author Greg Roach
+// @version $Id$
+
+if (!defined('WT_WEBTREES')) {
+ header('HTTP/1.0 403 Forbidden');
+ exit;
+}
+
+class WT_Date_Arabic extends WT_Date_Hijri {
+ static $ARABIC_DAYS=array("الأثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعه", "السبت", "الأحد");
+
+ static function NUM_TO_MONTH_NOMINATIVE($n, $leap_year) {
+ // Do not translate these - they are supposed to be arabic, whatever language is shown.
+ switch ($n) {
+ case 1: return 'محرّم';
+ case 2: return 'صفر';
+ case 3: return 'ربيع الأول';
+ case 4: return 'ربيع الثانى';
+ case 5: return 'جمادى الأول';
+ case 6: return 'جمادى الثاني';
+ case 7: return 'رجب';
+ case 8: return 'شعبان';
+ case 9: return 'رمضان';
+ case 10: return 'شوّال';
+ case 11: return 'ذو القعدة';
+ case 12: return 'ذو الحجة';
+ default: return '';
+ }
+ }
+ static function NUM_TO_MONTH_GENITIVE($n, $leap_year) {
+ // Arabic does not have genitive forms
+ return self::NUM_TO_MONTH_NOMINATIVE($n, $leap_year);
+ }
+ static function NUM_TO_MONTH_LOCATIVE($n, $leap_year) {
+ // Arabic does not have locative forms
+ return self::NUM_TO_MONTH_NOMINATIVE($n, $leap_year);
+ }
+
+ static function NUM_TO_MONTH_INSTRUMENTAL($n, $leap_year) {
+ // Arabic does not have instrumental forms
+ return self::NUM_TO_MONTH_NOMINATIVE($n, $leap_year);
+ }
+
+ static function NUM_TO_SHORT_MONTH($n, $leap_year) {
+ // TODO: Do these have short names?
+ return self::NUM_TO_MONTH_NOMINATIVE($n, $leap_year);
+ }
+
+ function FormatLongWeekday() {
+ return $this->$ARABIC_DAYS[$this->minJD % $this->NUM_DAYS_OF_WEEK()];
+ }
+
+ function FormatShortWeekday() {
+ return $this->$ARABIC_DAYS[$this->minJD % $this->NUM_DAYS_OF_WEEK()];
+ }
+}