[pLog-svn] r2240 - in plog/branches/plog-1.0.2: class/data class/locale js/htmlarea styles templates/admin templates/summary

oscar at devel.plogworld.net oscar at devel.plogworld.net
Wed Jun 15 21:03:11 GMT 2005


Author: oscar
Date: 2005-06-15 21:03:10 +0000 (Wed, 15 Jun 2005)
New Revision: 2240

Added:
   plog/branches/plog-1.0.2/class/data/jalalicalendar.class.php
   plog/branches/plog-1.0.2/class/data/jalalicalendarstrings.properties.php
   plog/branches/plog-1.0.2/js/htmlarea/htmlarea-plog-farsi.js
   plog/branches/plog-1.0.2/styles/admin-rtl.css
   plog/branches/plog-1.0.2/styles/summary-rtl.css
Modified:
   plog/branches/plog-1.0.2/class/locale/locale.class.php
   plog/branches/plog-1.0.2/js/htmlarea/htmlarea.js
   plog/branches/plog-1.0.2/templates/admin/editpost.template
   plog/branches/plog-1.0.2/templates/admin/header.template
   plog/branches/plog-1.0.2/templates/admin/newpost.template
   plog/branches/plog-1.0.2/templates/admin/simpleheader.template
   plog/branches/plog-1.0.2/templates/summary/header.template
Log:
merged a bunch of changes to make plog compatible with the farsi language
and with the jalali calendar. Please see http://bugs.plogworld.net/view.php?id=563 for more information!


Added: plog/branches/plog-1.0.2/class/data/jalalicalendar.class.php
===================================================================
--- plog/branches/plog-1.0.2/class/data/jalalicalendar.class.php	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/class/data/jalalicalendar.class.php	2005-06-15 21:03:10 UTC (rev 2240)
@@ -0,0 +1,468 @@
+<?php
+/*
+Jalali Date function by Milad Rastian (miladmovie AT yahoo DOT com)
+
+//The main function which convert Gregorian to Jalali calendars is:
+// Copyright (C) 2000  Roozbeh Pournader and Mohammad Toossi
+//you can see complete note of those function in down of the page
+
+		AND JALAI DATE FUNCTION
+this function is simillar than date function in PHP
+you can find more about it in http://jdf.farsiprojects.com
+		Copyright (C)2003 FARSI PROJECTS GROUP
+
+         //   //\\           //        //\\           //          //////
+        //   //  \\         //        //  \\         //            //
+       //   //    \\       //        //    \\       //            //
+  \\  //   /////\\\\\     //        /////\\\\\     //            //
+   \\//   //        \\   ///////   //        \\   //////////   /////
+
+    ///////      //\\         //////   ////////
+   //     //    //  \\         //     //
+  //     //    //    \\       //     ///////
+ //     //    /////\\\\\     //     //
+////////     //        \\   //     /////////
+
+*/
+
+// lang file must be at the same directory
+include_once( PLOG_CLASS_PATH."class/data/jalalicalendarstrings.properties.php" );
+
+class JalaliCalendar extends Object
+{
+
+	function jdate($type,$maket="now")
+	{
+		$result="";
+		if($maket=="now"){
+			$year=date("Y");
+			$month=date("m");
+			$day=date("d");
+			list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+			$maket=JalaliCalendar::jmaketime(date("h")+_JDF_TZhours,date("i")+_JDF_TZminute,date("s"),$jmonth,$jday,$jyear);
+		}else{
+			$maket+=_JDF_TZhours*3600+_JDF_TZminute*60;
+			$date=date("Y-m-d",$maket);
+			list( $year, $month, $day ) = preg_split ( '/-/', $date );
+	
+			list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+			}
+	
+		$need= $maket;
+		$year=date("Y",$need);
+		$month=date("m",$need);
+		$day=date("d",$need);
+		$i=0;
+		while($i<strlen($type))
+		{
+			$subtype=substr($type,$i,1);
+			switch ($subtype)
+			{
+	
+				case "A":
+					$result1=date("a",$need);
+					if($result1=="pm") $result.=_JDF_PM_LONG;
+					else $result.=_JDF_AM_LONG;
+					break;
+	
+				case "a":
+					$result1=date("a",$need);
+					if($result1=="pm") $result.=_JDF_PM_SHORT;
+					else $result.=_JDF_AM_SHORT;
+					break;
+				case "d":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					if($jday<10)$result1="0".$jday;
+					else 	$result1=$jday;
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "D":
+					$result1=date("D",$need);
+					if($result1=="Sat") $result1=_JDF_Sat_SHORT;
+					else if($result1=="Sun") $result1=_JDF_Sun_SHORT;
+					else if($result1=="Mon") $result1=_JDF_Mon_SHORT;
+					else if($result1=="Tue") $result1=_JDF_Tue_SHORT;
+					else if($result1=="Wed") $result1=_JDF_Wed_SHORT;
+					else if($result1=="Thu") $result1=_JDF_Thu_SHORT;
+	                                else if($result1=="Fri") $result1=_JDF_Fri_SHORT;
+					$result.=$result1;
+					break;
+				case"F":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					$result.=monthname($jmonth);
+					break;
+				case "g":
+					$result1=date("g",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "G":
+					$result1=date("G",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+					case "h":
+					$result1=date("h",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "H":
+					$result1=date("H",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "i":
+					$result1=date("i",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "j":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					$result1=$jday;
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "l":
+					$result1=date("l",$need);
+					if($result1=="Saturday") $result1=_JDF_Sat_LONG;
+					else if($result1=="Sunday") $result1=_JDF_Sun_LONG;
+					else if($result1=="Monday") $result1=_JDF_Mon_LONG;
+					else if($result1=="Tuesday") $result1=_JDF_Tue_LONG;
+					else if($result1=="Wednesday") $result1=_JDF_Wed_LONG;
+					else if($result1=="Thursday") $result1=_JDF_Thu_LONG;
+					else if($result1=="Friday") $result1=_JDF_Fri_LONG;
+					$result.=$result1;
+					break;
+				case "m":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					if($jmonth<10) $result1="0".$jmonth;
+					else	$result1=$jmonth;
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "M":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					$result.=monthname($jmonth);
+					break;
+				case "n":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					$result1=$jmonth;
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "s":
+					$result1=date("s",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "S":
+					$result.=_JDF_Suffix;
+					break;
+				case "t":
+					$result.=JalaliCalendar::lastday ($month,$day,$year);
+					break;
+				case "w":
+					$result1=date("w",$need);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "y":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					$result1=substr($jyear,2,4);
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				case "Y":
+					list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+					$result1=$jyear;
+					if(_JDF_USE_PERSIANNUM) $result.=JalaliCalendar::Convertnumber2farsi($result1);
+					else $result.=$result1;
+					break;
+				default:
+					$result.=$subtype;
+			}
+		$i++;
+		}
+		return $result;
+	}
+	
+	
+	
+	function jmaketime($hour,$minute,$second,$jmonth,$jday,$jyear)
+	{
+		list( $year, $month, $day ) = JalaliCalendar::jalali_to_gregorian($jyear, $jmonth, $jday);
+		$i=mktime($hour,$minute,$second,$month,$day,$year);
+		return $i;
+	}
+	
+	
+	///Find Day Begining Of Month
+	function mstart($month,$day,$year)
+	{
+		list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+		list( $year, $month, $day ) = JalaliCalendar::jalali_to_gregorian($jyear, $jmonth, "1");
+		$timestamp=mktime(0,0,0,$month,$day,$year);
+		return date("w",$timestamp);
+	}
+	
+	//Find Number Of Days In This Month
+	function lastday ($month,$day,$year)
+	{
+		$lastdayen=date("d",mktime(0,0,0,$month+1,0,$year));
+		list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+		$lastdatep=$jday;
+		$jday=$jday2;
+		while($jday2!="1")
+		{
+			if($day<$lastdayen)
+			{
+				$day++;
+				list( $jyear, $jmonth, $jday2 ) = JalaliCalendar::gregorian_to_jalali($year, $month, $day);
+				if($jdate2=="1") break;
+				if($jdate2!="1") $lastdatep++;
+			}
+			else
+			{
+				$day=0;
+				$month++;
+				if($month==13)
+				{
+						$month="1";
+						$year++;
+				}
+			}
+	
+		}
+		return $lastdatep-1;
+	}
+	
+	//translate number of month to name of month
+	function monthname($month)
+	{
+	
+	    if($month=="01") return _JDF_Far;
+	
+	    if($month=="02") return _JDF_Ord;
+	
+	    if($month=="03") return _JDF_Kho;
+	
+	    if($month=="04") return _JDF_Tir;
+	
+	    if($month=="05") return _JDF_Mor;
+	
+	    if($month=="06") return _JDF_Sha;
+	
+	    if($month=="07") return _JDF_Meh;
+	
+	    if($month=="08") return _JDF_Aba;
+	
+	    if($month=="09") return _JDF_Aza;
+	
+	    if($month=="10") return _JDF_Dey;
+	
+	    if($month=="11") return _JDF_Bah;
+	
+	    if($month=="12") return _JDF_Esf;
+	}
+	
+	////here convert to  number in persian
+	function Convertnumber2farsi($srting)
+	{
+		$stringtemp="";
+		$len=strlen($srting);
+		for($sub=0;$sub<$len;$sub++)
+		{
+		 if(substr($srting,$sub,1)=="0")$stringtemp.=_JDF_Num0;
+		 elseif(substr($srting,$sub,1)=="1")$stringtemp.=_JDF_Num1;
+		 elseif(substr($srting,$sub,1)=="2")$stringtemp.=_JDF_Num2;
+		 elseif(substr($srting,$sub,1)=="3")$stringtemp.=_JDF_Num3;
+		 elseif(substr($srting,$sub,1)=="4")$stringtemp.=_JDF_Num4;
+		 elseif(substr($srting,$sub,1)=="5")$stringtemp.=_JDF_Num5;
+		 elseif(substr($srting,$sub,1)=="6")$stringtemp.=_JDF_Num6;
+		 elseif(substr($srting,$sub,1)=="7")$stringtemp.=_JDF_Num7;
+		 elseif(substr($srting,$sub,1)=="8")$stringtemp.=_JDF_Num8;
+		 elseif(substr($srting,$sub,1)=="9")$stringtemp.=_JDF_Num9;
+		 else {$stringtemp.=substr($srting,$sub,2);$sub++;}
+	
+		}
+	return   $stringtemp;
+	
+	}///end convert to number in persian
+	
+	
+	////here convert to  number in english
+	function Convertnumber2english($srting)
+	{
+		$stringtemp="";
+		$len=strlen($srting);
+	
+		for($sub=0;$sub<$len;$sub+=2)
+		{
+		 if(substr($srting,$sub,2)==_JDF_Num0)$stringtemp.="0";
+		 elseif(substr($srting,$sub,2)==_JDF_Num1)$stringtemp.="1";
+		 elseif(substr($srting,$sub,2)==_JDF_Num2)$stringtemp.="2";
+		 elseif(substr($srting,$sub,2)==_JDF_Num3)$stringtemp.="3";
+	         elseif(substr($srting,$sub,2)==_JDF_Num4)$stringtemp.="4";
+		 elseif(substr($srting,$sub,2)==_JDF_Num5)$stringtemp.="5";
+		 elseif(substr($srting,$sub,2)==_JDF_Num6)$stringtemp.="6";
+		 elseif(substr($srting,$sub,2)==_JDF_Num7)$stringtemp.="7";
+		 elseif(substr($srting,$sub,2)==_JDF_Num8)$stringtemp.="8";
+		 elseif(substr($srting,$sub,2)==_JDF_Num9)$stringtemp.="9";
+		 else {$stringtemp.=substr($srting,$sub,1);$sub--;}
+	     }
+	return   $stringtemp;
+	
+	}///end convert to number in english
+	
+	
+	// "jalali.php" is convertor to and from Gregorian and Jalali calendars.
+	// Copyright (C) 2000  Roozbeh Pournader and Mohammad Toossi
+	//
+	// 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.
+	//
+	// A copy of the GNU General Public License is available from:
+	//
+	//    <a href="http://www.gnu.org/copyleft/gpl.html" target="_blank">http://www.gnu.org/copyleft/gpl.html</a>
+	//
+	
+	
+	function div($a,$b) {
+	    return (int) ($a / $b);
+	}
+	
+	function gregorian_to_jalali ($g_y, $g_m, $g_d)
+	{
+	    $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);
+	
+	
+	
+	
+	
+	   $gy = $g_y-1600;
+	   $gm = $g_m-1;
+	   $gd = $g_d-1;
+	
+	   $g_day_no = 365*$gy+JalaliCalendar::div($gy+3,4)-JalaliCalendar::div($gy+99,100)+JalaliCalendar::div($gy+399,400);
+	
+	   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)))
+	      /* leap and after Feb */
+	      $g_day_no++;
+	   $g_day_no += $gd;
+	
+	   $j_day_no = $g_day_no-79;
+	
+	   $j_np = JalaliCalendar::div($j_day_no, 12053); /* 12053 = 365*33 + 32/4 */
+	   $j_day_no = $j_day_no % 12053;
+	
+	   $jy = 979+33*$j_np+4*JalaliCalendar::div($j_day_no,1461); /* 1461 = 365*4 + 4/4 */
+	
+	   $j_day_no %= 1461;
+	
+	   if ($j_day_no >= 366) {
+	      $jy += JalaliCalendar::div($j_day_no-1, 365);
+	      $j_day_no = ($j_day_no-1)%365;
+	   }
+	
+	   for ($i = 0; $i < 11 && $j_day_no >= $j_days_in_month[$i]; ++$i)
+	      $j_day_no -= $j_days_in_month[$i];
+	   $jm = $i+1;
+	   $jd = $j_day_no+1;
+	
+	   return array($jy, $jm, $jd);
+	}
+	
+	function jalali_to_gregorian($j_y, $j_m, $j_d)
+	{
+	    $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);
+	
+	
+	
+	   $jy = $j_y-979;
+	   $jm = $j_m-1;
+	   $jd = $j_d-1;
+	
+	   $j_day_no = 365*$jy + JalaliCalendar::div($jy, 33)*8 + JalaliCalendar::div($jy%33+3, 4);
+	   for ($i=0; $i < $jm; ++$i)
+	      $j_day_no += $j_days_in_month[$i];
+	
+	   $j_day_no += $jd;
+	
+	   $g_day_no = $j_day_no+79;
+	
+	   $gy = 1600 + 400*JalaliCalendar::div($g_day_no, 146097); /* 146097 = 365*400 + 400/4 - 400/100 + 400/400 */
+	   $g_day_no = $g_day_no % 146097;
+	
+	   $leap = true;
+	   if ($g_day_no >= 36525) /* 36525 = 365*100 + 100/4 */
+	   {
+	      $g_day_no--;
+	      $gy += 100*JalaliCalendar::div($g_day_no,  36524); /* 36524 = 365*100 + 100/4 - 100/100 */
+	      $g_day_no = $g_day_no % 36524;
+	
+	      if ($g_day_no >= 365)
+	         $g_day_no++;
+	      else
+	         $leap = false;
+	   }
+	
+	   $gy += 4*JalaliCalendar::div($g_day_no, 1461); /* 1461 = 365*4 + 4/4 */
+	   $g_day_no %= 1461;
+	
+	   if ($g_day_no >= 366) {
+	      $leap = false;
+	
+	      $g_day_no--;
+	      $gy += JalaliCalendar::div($g_day_no, 365);
+	      $g_day_no = $g_day_no % 365;
+	   }
+	
+	   for ($i = 0; $g_day_no >= $g_days_in_month[$i] + ($i == 1 && $leap); $i++)
+	      $g_day_no -= $g_days_in_month[$i] + ($i == 1 && $leap);
+	   $gm = $i+1;
+	   $gd = $g_day_no+1;
+	
+	   return array($gy, $gm, $gd);
+	}
+	
+	/*
+	 * Function to Convert user input time (yyyy-mm-dd hh:mm:ss) in persian to english && Hegira date to Gregorian - by irmtfan (www.jadoogaran.org)
+	 */
+	function inputTimeToGregorian($usertime)
+	{
+	
+	    list( $jfdate, $ftime) = preg_split ( '/ /', $usertime );
+	    list( $fhour, $fminut, $fsec ) =  preg_split ( '/:/', $ftime);
+	    // convert persian numbers to english if exist
+	    $hour=JalaliCalendar::Convertnumber2english($fhour);
+	    $minut=JalaliCalendar::Convertnumber2english($fminut);
+	    $sec=JalaliCalendar::Convertnumber2english($fsec);
+	    list( $jfyear, $jfmonth, $jfday ) =  preg_split ( '/-/', $jfdate);
+	    // convert persian numbers to english if exist
+	    $jyear=JalaliCalendar::Convertnumber2english($jfyear);
+	    $jmonth=JalaliCalendar::Convertnumber2english($jfmonth);
+	    $jday=JalaliCalendar::Convertnumber2english($jfday);
+	
+	    if (_USE_HEGIRADATE) {
+	        $maket=JalaliCalendar::jmaketime($hour - _JDF_TZhours,$minut - _JDF_TZminute,$sec,$jmonth,$jday,$jyear);
+	    } else {
+	        $maket=mktime($hour,$minut,$sec,$jmonth,$jday,$jyear);
+	    }
+	    $usertime=date("Y-m-d H:i:s",$maket);
+	    return $usertime;
+	}
+}
+
+?>
\ No newline at end of file

Added: plog/branches/plog-1.0.2/class/data/jalalicalendarstrings.properties.php
===================================================================
--- plog/branches/plog-1.0.2/class/data/jalalicalendarstrings.properties.php	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/class/data/jalalicalendarstrings.properties.php	2005-06-15 21:03:10 UTC (rev 2240)
@@ -0,0 +1,69 @@
+<?php
+// $Id: lang_jdf_persian.php,v 1 2004/11/20 22:09:15 irmtfan www.jadoogaran.org Exp $
+// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+/* jdate function */
+//set 1 if you want translate number to farsi or if you don't like set 0
+// اگه میخواید عددها رو به فارسی نشون بده روی 1 قرار بدید و اگه میخواید انگلیسی نشون بده روی 0 بزارید
+define("_JDF_USE_PERSIANNUM","1");
+//
+
+///chosse your timezone
+// زمان محلی خود را انتخاب کنید تا بر اساس آن زمان محاسبه شود
+define("_JDF_TZhours","3");
+define("_JDF_TZminute","30");
+//
+
+define('_JDF_AM_LONG','قبل از ظهر');
+define('_JDF_PM_LONG','بعد از ظهر');
+
+define('_JDF_AM_SHORT','ق.ظ');
+define('_JDF_PM_SHORT','ب.ظ');
+
+define('_JDF_Sat_LONG','شنبه');
+define('_JDF_Sun_LONG','یکشنبه');
+define('_JDF_Mon_LONG','دوشنبه');
+define('_JDF_Tue_LONG','سه شنبه');
+define('_JDF_Wed_LONG','چهارشنبه');
+define('_JDF_Thu_LONG','پنجشنبه');
+define('_JDF_Fri_LONG','جمعه');
+
+define('_JDF_Sat_SHORT','ش');
+define('_JDF_Sun_SHORT','ی');
+define('_JDF_Mon_SHORT','د');
+define('_JDF_Tue_SHORT','س');
+define('_JDF_Wed_SHORT','چ');
+define('_JDF_Thu_SHORT','پ');
+define('_JDF_Fri_SHORT','ج');
+
+//English ordinal suffix, textual, 2 characters; i.e. "th", "nd"
+//  وقتی میخواهیم بگویم چندیمن عدد به کار میرود در انگلیسی دو کاراکتر است ولی در فارسی یک کاراکتر »م« برای آن کافی است مثال: چهارم ، پنجم
+define('_JDF_Suffix','م');
+//
+
+/* monthname function */
+define('_JDF_Far','فروردین');
+define('_JDF_Ord','اردیبهشت');
+define('_JDF_Kho','خرداد');
+define('_JDF_Tir','تیر');
+define('_JDF_Mor','مرداد');
+define('_JDF_Sha','شهریور');
+define('_JDF_Meh','مهر');
+define('_JDF_Aba','آبان');
+define('_JDF_Aza','آذر');
+define('_JDF_Dey','دی');
+define('_JDF_Bah','بهمن');
+define('_JDF_Esf','اسفند');
+
+/* Convertnumber2farsi && Convertnumber2english functions */
+define('_JDF_Num0','۰');
+define('_JDF_Num1','۱');
+define('_JDF_Num2','۲');
+define('_JDF_Num3','۳');
+define('_JDF_Num4','۴');
+define('_JDF_Num5','۵');
+define('_JDF_Num6','۶');
+define('_JDF_Num7','۷');
+define('_JDF_Num8','۸');
+define('_JDF_Num9','۹');
+?>

Modified: plog/branches/plog-1.0.2/class/locale/locale.class.php
===================================================================
--- plog/branches/plog-1.0.2/class/locale/locale.class.php	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/class/locale/locale.class.php	2005-06-15 21:03:10 UTC (rev 2240)
@@ -21,6 +21,7 @@
 
 	include_once( PLOG_CLASS_PATH."class/object/object.class.php" );
     include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
+    include_once( PLOG_CLASS_PATH."class/data/jalalicalendar.class.php" );
 
 	define( "DEFAULT_LOCALE_FOLDER", PLOG_CLASS_PATH . "locale" );
 	
@@ -507,6 +508,15 @@
 			$values["%%"] = "%";
             $values["%T"] = $this->getDayOrdinal( $timeStamp )." ".$this->tr("of")." ".$monthStr;
             $values["%D"] = $this->getDayOrdinal( $timeStamp );
+            /* Start Hack By FiFtHeLeMeNt For Persian Language */
+      		list( $jyear, $jmonth, $jday ) = JalaliCalendar::gregorian_to_jalali($timeStamp->getYear(), $timeStamp->getMonth(), $timeStamp->getDay());
+      		$values["%q"] = JalaliCalendar::Convertnumber2farsi($jyear);
+      		$values["%w"]= JalaliCalendar::Convertnumber2farsi($jmonth);
+      		$values["%o"] = JalaliCalendar::Convertnumber2farsi($jday);
+      		$values["%R"] = JalaliCalendar::monthname($jmonth);
+      		$values["%T"] = JalaliCalendar::Convertnumber2farsi($timeStamp->getHour());
+      		$values["%U"] = JalaliCalendar::Convertnumber2farsi($timeStamp->getMinutes());
+			/* End Hack By FiFtHeLeMeNt For Persian Language */		
 
 			$text = $format;
 			foreach( array_keys($values) as $key ) {

Added: plog/branches/plog-1.0.2/js/htmlarea/htmlarea-plog-farsi.js
===================================================================
--- plog/branches/plog-1.0.2/js/htmlarea/htmlarea-plog-farsi.js	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/js/htmlarea/htmlarea-plog-farsi.js	2005-06-15 21:03:10 UTC (rev 2240)
@@ -0,0 +1,7 @@
+
+// Hack By FiFtHeLeMeNt for Farsi Language Support
+//------------------------------------------------ 
+_editor_lang = "fa";
+langfarsi = true;
+farsiSupportEnabled=true;
+//--------------------------------------------------------------
\ No newline at end of file

Modified: plog/branches/plog-1.0.2/js/htmlarea/htmlarea.js
===================================================================
--- plog/branches/plog-1.0.2/js/htmlarea/htmlarea.js	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/js/htmlarea/htmlarea.js	2005-06-15 21:03:10 UTC (rev 2240)
@@ -19,6 +19,24 @@
 
 var _editor_url = "js/htmlarea";
 var _editor_lang = "en";
+// by default, we're not using farsi
+var langfarsi=false;
+var farsiSupportEnabled=false;
+// key mappings for farsi
+var farsikey = [	
+	0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF, 
+	0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,      
+	0x06F0, 0x06F1, 0x06F2, 0x06F3, 0x06F4, 0x06F5, 0x06F6, 0x06F7,      
+	0x06F8, 0x06F9, 0x003A, 0x06A9, 0x003E, 0x003D, 0x003C, 0x061F,      
+	0x066C, 0x0624, 0x200C, 0x0698, 0X064a, 0x064D, 0x0625, 0x0623,      
+	0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,      
+	0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,            
+	0x0058, 0x0650, 0x0643, 0x062C, 0x0698, 0x0686, 0x00D7, 0x0640,
+	0x067E, 0x0634, 0x0630, 0x0632, 0X06cc, 0x062B, 0x0628, 0x0644,            
+	0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x0626, 0x062F, 0x062E,            
+	0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,            
+	0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E            
+];   
 
 // -------------------------------------------------------------
 
@@ -1942,6 +1960,21 @@
 	var editor = this;
 	var keyEvent = (HTMLArea.is_ie && ev.type == "keydown") || (!HTMLArea.is_ie && ev.type == "keypress");
 
+// Hack By FiFtHeLeMeNt for Farsi Language Support
+//------------------------------------------------
+if( farsiSupportEnabled ) {
+	var key = ev.keyCode;
+	if (key==119 && ev.type == "keydown")
+	{
+    langfarsi=!langfarsi;
+ }
+	if ((langfarsi) && !(key < 0x0020 || key >= 0x00FF))
+	{
+      ev.keyCode = farsikey[key - 0x0020];
+	}
+}	
+//------------------------------------------------	
+	
 	if (keyEvent)
 		for (var i in editor.plugins) {
 			var plugin = editor.plugins[i].instance;

Added: plog/branches/plog-1.0.2/styles/admin-rtl.css
===================================================================
--- plog/branches/plog-1.0.2/styles/admin-rtl.css	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/styles/admin-rtl.css	2005-06-15 21:03:10 UTC (rev 2240)
@@ -0,0 +1,862 @@
+/* -------------------------------------------------------------- */
+/* Common stuff and basic page layout                             */
+/* -------------------------------------------------------------- */
+html, body
+{
+    margin           : 0px;
+    padding          : 0px;
+    text-align       : center;
+    font             : 12px Tahoma;
+    background       : #EEEEEE url("../imgs/bg_main.jpg") repeat-y center;
+}
+
+#container
+{
+    width            : 786px;
+    text-align       : right;
+    margin-left      : auto;
+    margin-right     : auto;
+}
+
+#header
+{
+    height           : 80px;
+    width            : 100%;
+    background       : #FFFFFF url("../imgs/top_admin.jpg") no-repeat right;
+    padding          : 0px;
+    margin           : 0px;
+}
+
+#header #blogLink
+{
+    float: left;
    width : 783px;
    height: 52px;
+    margin-top: 5px;
}
+
+#header span
+{
+    display          : none;
+}
+
+#header h1
+{
+    margin           : 0;
+}
+
+#content
+{
+    position         : relative;
+    width            : 100%;
+    display          : block;
+    margin           : 0;
+    padding          : 0;
+	direction:rtl;
+}
+
+#dashboard
+{
+    padding-left     : 1em;
+    padding-right    : 1em;
+}
+
+.clr
+{
+    clear            : both;
+}
+
+/*-- Accessibility Tweaks --*/
+#skipNav
+{
+    position         : absolute;
+    left             : -9999px;
+    font-size        : small;
+}
+
+#skipNav a:focus
+{
+    display          : block;
+    position         : absolute;
+    top              : 20px;
+    left             : 10020px;
+    font-size        : large;
+    background       : #fff;
+    border           : solid 2px #1B6BD8;
+    padding          : 10px;
+    width            : 15em;
+    z-index          : 1;
+}
+
+#skipNav a:hover
+{
+    color            : #029EDE;
+}
+
+#skipNav a:active
+{
+    display          : block;
+    position         : absolute;
+    top              : 20px;
+    left             : 10020px;
+    font-size        : large;
+    background       : #fff;
+    border           : solid 2px #1B6BD8;
+    padding          : 10px;
+    width            : 15em;
+    z-index          : 1;
+}
+
+.hide
+{
+    display          : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Navigation/menu bar                                            */
+/* -------------------------------------------------------------- */
+
+#menubar
+{
+    background       : #FFFFFF url("../imgs/bg_menu.jpg") repeat-x;
+    height           : 20px;
+}
+
+#menu
+{
+    padding-top      : 1px;
+    padding-bottom   : 1px;	
+}
+
+#menu ul
+{
+    padding         : .2em 0;
+    margin          : 0px;
+    list-style-type : none;
+    color           : #FFF;
+    width           : 100%;
+    text-align      : center;
+}
+
+#menu li
+{
+
+    position         : relative;
+    padding          : 0px;
+    border-right      : 0px solid #B4B4B4;
+    display          : inline;
+    font-family      : Tahoma;
+    font-size        : 12px;
+	
+	
+}
+
+#menu a, #menu a:link, #menu a:visited
+{
+    padding          : .2em 1em 0 1em;
+    color            : #0E3862;
+    text-decoration  : none;	
+}
+
+#menu a:hover
+{
+	font-weight:bold;
+}
+
+#menu li.selected
+{
+    display          : block;
+    width            : auto;
+    padding          : 2px 7px;
+    background       : #FFFFFF;
+    color            : #000000;
+    border-bottom    : 1px solid #FFFFFF;
+}
+
+#menu br
+{
+    clear: both;	
+}
+
+/* -------------------------------------------------------------- */
+/* Section title and navigation history bar                       */
+/* -------------------------------------------------------------- */
+
+#nav_bar
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    width            : 100%;
+    margin-bottom    : 15px;
+    border-bottom    : 1px dotted #DEDEDE;
+}
+
+#section_title
+{
+    float            : right;
+    width            : 39%;
+}
+
+#section_title h2
+{
+    color            : #588BCA;
+    font-family      : Tahoma;
+    font-size        : 1.5em;
+    margin           : 0;
+    padding-right     : 10px;
+}
+
+#navigation
+{
+    float            : left;
+    width            : 60%;
+    text-align       : left;
+    padding-top      : 7px;
+    font-family      : Tahoma;
+    font-size        : 10px;
+    padding-left    : 5px;
+}
+
+#navigation a
+{
+    color            : #000000;
+    text-decoration  : none;
+}
+
+#navigation a:hover
+{
+    color            : #5583BE;
+    text-decoration  : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Admin Tabbed Ul's                                              */
+/* -------------------------------------------------------------- */
+
+#tablist
+{
+    padding          : 0 0 3px;
+    margin-right      : 0;
+    font             : 11px Tahoma;
+    border-bottom    : 1px solid #DEDEDE;
+}
+
+#tablist li
+{
+    list-style       : none;
+    margin           : 0;
+    display          : inline;
+}
+
+#tablist li a
+{
+    padding          : 3px 0.5em;
+    margin-right      : 3px;
+    border           : 1px solid #DEDEDE;
+    background       : #F4F4FF;
+    text-decoration  : none;
+}
+
+#tablist li a:link
+{
+    color            : #448;
+}
+
+#tablist li a:visited
+{
+    color            : #667;
+}
+
+#tablist li a:hover
+{
+    color            : #000;
+    background       : #F2F0FE;
+    border-color     : #DEDEDE;
+}
+
+#tablist li a#tab_current
+{
+    background       : white;
+    border-bottom    : 1px solid white;
+}
+
+.menuTop_level1 ul, li
+{
+    list-decoration: none;
+}
+
+.menuTop_level1 ul
+{
+  list-style-type: disc;
+  list-style-image: url(../imgs/bullet.gif);
+}
+
+
+/* -------------------------------------------------------------- */
+/* Form controls (input, ...)                                     */
+/* -------------------------------------------------------------- */
+
+form
+{
+    margin           : 0px;
+}
+
+fieldset
+{
+    border           : 1px solid #DEDEDE;
+    color            : #000000;
+    font-family      : Tahoma;
+    font-size        : 0.90em;
+    padding-bottom   : 0px;
+    margin           : 0px;
+}
+
+textarea, input, select
+{
+    background       : #FFFFFF;
+    border           : 1px solid #b2b2b2;
+    color            : #000000;
+    font-family      : Tahoma;
+    font-size        : 0.95em;
+}
+
+input:focus, textarea:focus, label:focus
+{
+    border           : 1px solid #5583BE;
+}
+
+.checkbox, .radio
+{
+    border           : 0px;
+}
+
+.submit
+{
+    /*margin-left      : 4px;*/
+}
+
+.list_action_button a img
+{
+    border           : 0px;
+    padding          : 0px;
+}
+
+.list_action_button a:hover img
+{
+/*    filter            : alpha(opacity=60);
+    -moz-opacity      : 0.6;*/
+}
+
+.field
+{
+    top              : 0;
+/*    left             : 0px; */
+    margin           : 1em 0 1em 0;
+    direction:rtl;
+}
+
+.field .field
+{
+    margin           : 1em 0 0 0;
+
+}
+
+.field label
+{
+    font-size        : 100%;
+    font-weight      : bold;
+
+}
+
+.field_checkbox
+{
+    top              : 0;
+    left             : 0;
+}
+
+.field_checkbox label
+{
+    font-size        : 100%;
+}
+
+.formHelp
+{
+    font-size        : 90%;
+    color            : #76797c;
+    margin           : 0 0 0.2em 0;
+}
+
+.formHelp a
+{
+    text-decoration  : underline;
+}
+
+.formHelp:hover
+{
+    color            : Black;
+    cursor           : default;
+}
+
+fieldset
+{
+    border           : 1px solid #8cacbb;
+    margin           : 1em 0em 1em 0em;
+    padding          : 0em 1em 1em 1em;
+    line-height      : 1.5em;
+    width            : auto;
+}
+
+.inputField
+{
+    width: 85%;
+    margin-left: auto;
+    margin-right: auto;
+    background-color: #FCFCFF;
+    border: 1px solid #DEDEDE;
+}
+
+.buttons
+{
+    width: 88%;
+    margin-left: auto;
+    margin-right: auto;
+    text-align: left;
+}
+
+.inputField input
+{
+    width:100%;
+}
+
+.inputField legend
+{
+    font-weight: bold;
+}
+
+.inputField .dateTime
+{
+   width: 80%;
+}
+
+.inputField .checkbox, .inputField .button, .inputField .radio
+{
+   width: auto;
+}
+
+.inputField .file
+{
+   width: auto;
+}
+
+.pager
+{
+    float:left;
+}
+
+/* -------------------------------------------------------------- */
+/* Data lists parameters & search bar                             */
+/* -------------------------------------------------------------- */
+
+#list_nav_bar
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    width            : 98%;
+    background-color : #F3F1FF;
+    padding-bottom   : 4px;
+    padding-left     : 4px;
+    padding-right    : 4px;
+    margin-bottom    : 10px;
+    border           : 0px solid #DEDEDE;
+}
+
+#list_nav_bar fieldset
+{
+    border           : 1px solid #DEDEDE;
+    color            : #000000;
+    font-family      : Tahoma;
+    font-size        : 0.90em;
+    padding          : 0px;
+    margin           : 0px;
+    height           : 60px;
+}
+
+#list_nav_select
+{
+    float            : left;
+    width            : 100%;
+    text-align       : center;
+}
+
+#list_nav_search
+{
+    float            : left;
+    width            : 30%;
+    text-align       : center;
+}
+
+.list_nav_option
+{
+    float            : right;
+    text-align       : right;
+    padding          : 0px 4px 4px 4px;
+    margin-left      : 5px;
+}
+
+#list_nav_bar legend
+{
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+    font-weight      : bold;
+    letter-spacing   : 0.08em;
+}
+
+#list_nav_select label
+{
+}
+
+/* -------------------------------------------------------------- */
+/* Data lists table format                                        */
+/* -------------------------------------------------------------- */
+
+.info
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    margin-bottom    : 10px;
+    width            : 775px;
+    border-collapse  : collapse;
+    border-bottom    : 4px solid #DEDEDE;
+    border-spacing   : 0px;
+}
+
+.info th
+{
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+    font-weight      : bold;
+    letter-spacing   : 0.08em;
+    vertical-align   : bottom;
+    border-bottom    : 1px solid #DEDEDE;
+    padding          : 4px;
+    text-align       : right;
+}
+
+.info th a
+{
+    color           : #000000;
+    text-decoration : none;
+}
+
+.info th a:hover
+{
+    color           : #5583BE;
+    text-decoration : none;
+}
+
+.even
+{
+    background       : #F7F7F7;
+}
+
+.tableHover
+{
+   background: #EFEFEF;
+}
+
+.info td
+{
+    color            : #888888;
+    border-bottom    : 1px solid #DEDEDE;
+    vertical-align   : middle;
+    padding          : 4px;
+    /*border:1px solid black;*/
+}
+
+.info td a
+{
+    color           : #888888;
+    text-decoration : none;
+}
+
+.info td a img {
+    border: 0px;
+}
+
+.info td a:hover
+{
+    color           : #5583BE;
+    text-decoration : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Specific column format                                         */
+/* -------------------------------------------------------------- */
+
+.col_highlighted
+{
+    font-weight      : bold;
+}
+
+/* -------------------------------------------------------------- */
+/* Data lists bottom actions bar                                  */
+/* -------------------------------------------------------------- */
+
+#list_action_bar
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    width            : 768px;
+    padding          : 4px;
+    text-align       : left;
+    /*background-color : #F3F1FF;*/
+    margin-bottom    : 10px;
+    /*border           : 1px dashed #DEDEDE;*/
+}
+
+
+/* -------------------------------------------------------------- */
+/* Positive or negative feedback messages                         */
+/* -------------------------------------------------------------- */
+
+#list #FormError
+{
+    padding-left: 10px;
+}
+
+#FormError
+{
+    align: left;
+    padding-top: 0px;
+}
+
+#list #FormInfo
+{
+    padding-right: 10px;
+}
+
+#FormInfo
+{
+    padding-top: 0px;
+}
+
+.InfoIcon
+{
+    float:right;
+    clear:right;
+    margin-top:3px;
+}
+
+.InfoText
+{
+    color:green;
+    padding-left:20px;
+    padding-top:3px;
+}
+
+.ErrorText
+{
+    color:red;
+    padding-left:20px;
+    padding-top:3px;
+}
+
+/**
+ * login screen
+ */
+.loginBox
+{
+  width: 300px;
+  margin-top: 25px;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+h4, fieldset h4
+{
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+    font-weight      : bold;
+    letter-spacing   : 0.08em;
+    vertical-align   : bottom;
+    border-bottom    : 1px solid #DEDEDE;
+    padding          : 0px;
+    text-align       : right;
+    text-transform   : capitalize;
+}
+
+.sectionTitle
+{
+    font-size: 1.3em;
+}
+
+.welcomeMessage {
+  margin-bottom: 10px;
+}
+
+.pager
+{
+float:left;
+}
+
+/**
+ * styles for the 'manage' page and similar.
+ */
+#content .menuTop
+{
+    list-style-type : none;
+    padding-left: 45px;
+    padding-right: 45px;
+    margin: 0px;
+}
+
+#content .menuTop ul
+{
+ padding: 0px;
+ margin: 0px;
+}
+
+#content .menuTop .Level_1
+{
+    font-family      : Tahoma;
+    font-size        : 1.0em;
+    font-weight      : bold;
+    border-bottom    : 1px solid #DEDEDE;
+    padding-top      : 10px;
+}
+
+#content .menuTop .Level_0
+{
+    padding-right: 10px;
+	padding-top:2px;
+    font-weight      : normal;
+}
+
+#content .menuTop .Level_0 a
+{
+    color           : #888888;
+    text-decoration : none;
+}
+
+#content .menuTop .Level_0 a:hover
+{
+    color           : #5583BE;
+    text-decoration : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Dashboard                                                      */
+/* -------------------------------------------------------------- */
+
+#dashboard h2
+{
+    color            : #588BCA;
+    font-weight      : bold;
+    font-family      : Tahoma;
+    font-size        : 1.4em;
+    margin           : 0;
+    padding-left     : 4px;
+}
+
+#dashboard h2 a
+{
+    color            : #32609B;
+    font-weight      : bold;
+    font-family      : Tahoma;
+    margin           : 0;
+    padding-left     : 4px;
+    text-decoration  : none;
+}
+
+#dashboard h2 a:hover
+{
+    text-decoration  : underline;
+}
+
+#dashboard h3
+{
+    color            : #588BCA;
+    font-weight      : bold;
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+    margin           : 0;
+    margin-top       : 12px;
+    margin-bottom    : 4px;
+    padding-left     : 12px;
+}
+
+#dashboard table
+{
+    margin-left     : 12px;
+    width           : 100%;
+}
+
+#dashboard th
+{
+}
+
+#dashboard td
+{
+}
+
+#dashboard a
+{
+    color            : #8A8A8A;
+    text-decoration  : none;
+}
+
+#dashboard
+{
+    color            : #8A8A8A;
+}
+
+#dashboard .dashboard_blog
+{
+    border           : 1px solid #DEDEDE;
+    padding          : 4px;
+    background-color : #FCFCFF;
+    margin-top       : 10px;
+}
+
+#dashboard .dashboard_blog_layout
+{
+    margin           : 0;
+    width            : 100%;
+    background-color : #FFFFFF;
+}
+
+#dashboard .dashboard_blog_layout tr
+{
+}
+
+#dashboard .dashboard_blog_layout td
+{
+}
+
+#dashboard .dashboard_data_table
+{
+    width           : 98%;
+}
+
+#dashboard .dashboard_data_table th
+{
+    border-bottom   : 2px solid #DEDEDE;
+    height          : 20px;
+    text-align      : right;
+	
+}
+
+#dashboard .dashboard_data_table td
+{
+    border-bottom    : 1px solid #DEDEDE;
+    height           : 20px;
+}
+
+#dashboard .dashboard_data_table_statistics
+{
+    width           : 98%;
+}
+
+#dashboard .dashboard_data_table_statistics th, td
+{
+    border-bottom    : 1px solid #DEDEDE;
+    height           : 20px;
+    text-align       : right;
+}

Added: plog/branches/plog-1.0.2/styles/summary-rtl.css
===================================================================
--- plog/branches/plog-1.0.2/styles/summary-rtl.css	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/styles/summary-rtl.css	2005-06-15 21:03:10 UTC (rev 2240)
@@ -0,0 +1,797 @@
+html, body {
+    font-family: Tahoma;
+    font-size        : 0.90em;
+    margin           : 0px;
+    padding          : 0px;
+    text-align       : center;
+    font             : 12px verdana, tahoma, arial, sans-serif;
+    background       : #EEEEEE url("../imgs/bg_main.jpg") repeat-y center;
+}
+
+/* -------------------------------------------------------------- */
+/* Common stuff and basic page layout                             */
+/* -------------------------------------------------------------- */
+
+
+#container
+{
+    width            : 786px;
+    margin-left      : auto;
+    margin-right     : auto;
+}
+
+h3
+{
+	font-size:12px;
+	margin-bottom:5px;
+}
+
+.subtitle
+{
+	margin-bottom:0px;
+}
+
+#header
+{
+    height           : 80px;
+    width            : 100%;
+    background       : #FFFFFF url("../imgs/top_admin.jpg") no-repeat right;
+    padding          : 0px;
+    margin           : 0px;
+}
+
+#header span
+{
+    display          : none;
+}
+
+#header h1
+{
+    margin           : 0;
+}
+
+#content
+{
+    position         : relative;
+    width            : 100%;
+    display          : block;
+    margin           : 0;
+    padding          : 0;
+	direction:rtl;
+	text-align:right;
+}
+
+#dashboard
+{
+    padding-left     : 1em;
+    padding-right    : 1em;
+
+}
+
+.peu
+{
+	font-size: 7pt;
+	color:gray;
+	padding-bottom: 5px;
+    border-bottom    : 1px solid #DEDEDE;
+}
+
+.clr
+{
+    clear            : both;
+}
+
+/*-- Accessibility Tweaks --*/
+#skipNav
+{
+    position         : absolute;
+    left             : -9999px;
+    font-size        : small;
+}
+
+#skipNav a:focus
+{
+    display          : block;
+    position         : absolute;
+    top              : 20px;
+    left             : 10020px;
+    font-size        : large;
+    background       : #fff;
+    border           : solid 2px #1B6BD8;
+    padding          : 10px;
+    width            : 15em;
+    z-index          : 1;
+}
+
+#skipNav a:hover
+{
+    color            : #029EDE;
+}
+
+#skipNav a:active
+{
+    display          : block;
+    position         : absolute;
+    top              : 20px;
+    left             : 10020px;
+    font-size        : large;
+    background       : #fff;
+    border           : solid 2px #1B6BD8;
+    padding          : 10px;
+    width            : 15em;
+    z-index          : 1;
+}
+
+.hide
+{
+    display          : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Navigation/menu bar                                            */
+/* -------------------------------------------------------------- */
+
+#menubar
+{
+    margin-bottom    : 10px;
+    background       : #FFFFFF url("../imgs/bg_menu.jpg") repeat-x;
+    height           : 20px;
+    /*border-bottom    : 1px solid #B4B4B4;*/
+}
+
+#menu
+{
+    padding-top      : 1px;
+    padding-bottom   : 1px;
+}
+
+#menu ul
+{
+    padding         : .2em 0;
+    margin          : 0;
+    list-style-type : none;
+    color           : #FFF;
+    width           : 100%;
+    text-align      : center;
+}
+
+#menu li
+{
+
+    position         : relative;
+    padding          : 0;
+    border-left      : 0px solid #B4B4B4;
+    display          : inline;
+    font-family      : Tahoma;
+    font-size        : 12px;
+}
+
+#menu a, #menu a:link, #menu a:visited
+{
+    padding          : .2em 2em;
+    color            : #0E3862;
+    text-decoration  : none;
+}
+
+#menu a:hover
+{
+	font-weight:bold;
+	
+}
+
+#menu li.selected
+{
+    display          : block;
+    width            : auto;
+    padding          : 2px 7px;
+    background       : #FFFFFF;
+    color            : #000000;
+    border-bottom    : 1px solid #FFFFFF;
+}
+
+#menu br
+{
+    clear: both;
+}
+
+/* -------------------------------------------------------------- */
+/* Section title and navigation history bar                       */
+/* -------------------------------------------------------------- */
+
+#nav_bar
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    width            : 100%;
+    margin-bottom    : 15px;
+    border-bottom    : 1px dotted #DEDEDE;
+}
+
+#section_title
+{
+    float            : rigth;
+    width            : 39%;
+}
+
+#section_title h2
+{
+    color            : #588BCA;
+    font-family      : Tahoma;
+    font-size        : 1.5em;
+    margin           : 0;
+    padding-right     : 4px;
+}
+
+#navigation
+{
+    float            : right;
+    width            : 60%;
+    text-align       : right;
+    padding-top      : 7px;
+    font-family      : Tahoma;
+    font-size        : 0.85em;
+    padding-right    : 2px;
+}
+
+#navigation a
+{
+    color            : #000000;
+    text-decoration  : none;
+}
+
+#navigation a:hover
+{
+    color            : #5583BE;
+    text-decoration  : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Admin Tabbed Ul's                                              */
+/* -------------------------------------------------------------- */
+
+#tablist
+{
+    padding          : 3px 0;
+    margin-right      : 0;
+    font             : 11px Tahoma;
+    border-bottom    : 1px solid #DEDEDE;
+}
+
+#tablist li
+{
+    list-style       : none;
+    margin           : 0;
+    display          : inline;
+}
+
+#tablist li a
+{
+    padding          : 3px 0.5em;
+    margin-right      : 3px;
+    border           : 1px solid #DEDEDE;
+    background       : #F4F4FF;
+    text-decoration  : none;
+}
+
+#tablist li a:link
+{
+    color            : #448;
+}
+
+#tablist li a:visited
+{
+    color            : #667;
+}
+
+#tablist li a:hover
+{
+    color            : #000;
+    background       : #F2F0FE;
+    border-color     : #DEDEDE;
+}
+
+#tablist li a#tab_current
+{
+    background       : white;
+    border-bottom    : 1px solid white;
+}
+
+.menuTop_level1 ul, li
+{
+    list-decoration: none;
+}
+
+.menuTop_level1 ul
+{
+  list-style-type: disc;
+  list-style-image: url(../imgs/bullet.gif);
+}
+
+
+/* -------------------------------------------------------------- */
+/* Form controls (input, ...)                                     */
+/* -------------------------------------------------------------- */
+
+form
+{
+    margin           : 0px;
+}
+
+fieldset
+{
+    border           : 1px solid #DEDEDE;
+    color            : #000000;
+    font-family      : Tahoma;
+    font-size        : 0.90em;
+    padding-bottom   : 0px;
+    margin           : 0px;
+}
+
+textarea, input, select
+{
+    background       : #FFFFFF;
+    border           : 1px solid #b2b2b2;
+    color            : #000000;
+    font-family      : Tahoma;
+    font-size        : 0.95em;
+}
+
+input:focus, textarea:focus, label:focus
+{
+    border           : 1px solid #5583BE;
+}
+
+.checkbox, .radio
+{
+    border           : 0px;
+}
+
+.submit
+{
+    /*margin-left      : 4px;*/
+}
+
+.list_action_button a img
+{
+    border           : 0px;
+    padding          : 0px;
+}
+
+.list_action_button a:hover img
+{
+    filter            : alpha(opacity=60);
+    -moz-opacity      : 0.6;
+}
+
+.field
+{
+    top              : 0;
+    left             : 0;
+	margin-bottom:10px;
+}
+
+.field .field
+{
+    margin           : 1em 0 0 0;
+}
+
+.field label
+{
+    font-size        : 100%;
+}
+
+.field_checkbox
+{
+    top              : 0;
+    left             : 0;
+}
+
+.field_checkbox label
+{
+    font-size        : 100%;
+}
+
+.formHelp
+{
+    font-size        : 90%;
+    color            : #76797c;
+    margin           : 0 0 0.2em 0;
+}
+
+.formHelp a
+{
+    text-decoration  : underline;
+}
+
+.formHelp:hover
+{
+    color            : Black;
+    cursor           : default;
+}
+
+fieldset
+{
+    border           : 1px solid #8cacbb;
+    margin           : 1em 0em 1em 0em;
+    padding          : 0em 1em 1em 1em;
+    line-height      : 1.5em;
+    width            : auto;
+}
+
+.inputField
+{
+    width: 85%;
+    margin-left: auto;
+    margin-right: auto;
+    background-color: #FCFCFF;
+    border: 1px solid #DEDEDE;
+    background       : url("../imgs/patYellowB.gif") repeat-x;
+}
+
+.buttons
+{
+    width: 88%;
+    margin-left: auto;
+    margin-right: auto;
+    text-align: right;
+}
+
+.inputField input
+{
+    width:100%;
+}
+
+.inputField legend
+{
+}
+
+.inputField .dateTime
+{
+   width: 80%;
+}
+
+.inputField .checkbox, .inputField .button, .inputField .radio
+{
+   width: auto;
+}
+
+.inputField .file
+{
+   width: auto;
+}
+
+.pager
+{
+    float:right;
+}
+
+/* -------------------------------------------------------------- */
+/* Data lists parameters & search bar                             */
+/* -------------------------------------------------------------- */
+
+#list_nav_bar
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    width            : 98%;
+    background-color : #F3F1FF;
+    padding-bottom   : 4px;
+    padding-left     : 4px;
+    padding-right    : 4px;
+    margin-bottom    : 10px;
+    border           : 0px solid #DEDEDE;
+}
+
+#list_nav_bar fieldset
+{
+    border           : 1px solid #DEDEDE;
+    color            : #000000;
+    font-family      : Tahoma;
+    font-size        : 0.90em;
+    padding          : 0px;
+    margin           : 0px;
+    height           : 60px;
+}
+
+#list_nav_select
+{
+    float            : right;
+    width            : 100%;
+    text-align       : center;
+}
+
+#list_nav_search
+{
+    float            : right;
+    width            : 30%;
+    text-align       : center;
+}
+
+.list_nav_option
+{
+    float            : right;
+    text-align       : right;
+    padding          : 0px 4px 4px 4px;
+    margin-right      : 5px;
+}
+
+#list_nav_bar legend
+{
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+}
+
+#list_nav_select label
+{
+}
+
+/* -------------------------------------------------------------- */
+/* Data lists table format                                        */
+/* -------------------------------------------------------------- */
+
+.info
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    margin-bottom    : 10px;
+    width            : 775px;
+    border-collapse  : collapse;
+    border-bottom    : 4px solid #DEDEDE;
+    border-spacing   : 0px;
+}
+
+.info th
+{
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+    vertical-align   : bottom;
+    border-bottom    : 1px solid #DEDEDE;
+    padding          : 4px;
+    text-align       : right;
+}
+
+.info th a
+{
+    color           : #000000;
+    text-decoration : none;
+}
+
+.info th a:hover
+{
+    color           : #5583BE;
+    text-decoration : none;
+}
+
+.even
+{
+    background       : #F7F7F7;
+}
+
+.tableHover
+{
+   background: #EFEFEF;
+}
+
+.info td
+{
+    color            : #888888;
+    border-bottom    : 1px solid #DEDEDE;
+    vertical-align   : middle;
+    padding          : 4px;
+    /*border:1px solid black;*/
+}
+
+.info td a
+{
+    color           : #888888;
+    text-decoration : none;
+}
+
+.info td a:hover
+{
+    color           : #5583BE;
+    text-decoration : none;
+}
+
+/* -------------------------------------------------------------- */
+/* Specific column format                                         */
+/* -------------------------------------------------------------- */
+
+.col_highlighted
+{
+}
+
+/* -------------------------------------------------------------- */
+/* Data lists bottom actions bar                                  */
+/* -------------------------------------------------------------- */
+
+#list_action_bar
+{
+    margin-left      : auto;
+    margin-right     : auto;
+    width            : 768px;
+    padding          : 4px;
+    text-align       : right;
+    /*background-color : #F3F1FF;*/
+    margin-bottom    : 10px;
+    /*border           : 1px dashed #DEDEDE;*/
+}
+
+
+/* -------------------------------------------------------------- */
+/* Positive or negative feedback messages                         */
+/* -------------------------------------------------------------- */
+
+#list #FormError
+{
+    padding-right: 10px;
+}
+
+#FormError
+{
+    align: left;
+    padding-top: 0px;
+}
+
+#list #FormInfo
+{
+    padding-righ: 10px;
+}
+
+#FormInfo
+{
+    align: left;
+    padding-top: 0px;
+}
+
+.InfoIcon
+{
+    float:riht;
+    clear:right;
+    margin-top:3px;
+}
+
+.InfoText
+{
+    color:green;
+    padding-right:20px;
+    padding-top:3px;
+}
+
+.ErrorText
+{
+    color:red;
+    padding-right:20px;
+    padding-top:3px;
+}
+
+/**
+ * login screen
+ */
+.loginBox
+{
+  width: 300px;
+  margin-top: 25px;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+h4, fieldset h4
+{
+    font-family      : Tahoma;
+    font-size        : 12px;
+    vertical-align   : bottom;
+    border-bottom    : 1px solid #DEDEDE;
+    text-align       : right;
+	margin-bottom : 10px;
+}
+
+.sectionTitle
+{
+    font-size: 1.3em;
+}
+
+.welcomeMessage {
+  margin-bottom: 10px;
+}
+
+/**--------
+ * custom stuff for the summary.php script
+ */
+#column-left {
+  width: 153px;
+  float:right;
+  padding-right: 5px;
+  margin-top: -10px;
+  font-family:Tahoma;
+}
+
+#maincolumn {
+  float:right;
+  width: 436px;
+  padding-left: 10px;
+  padding-right: 10px;
+  font-family:Tahoma;
+} 
+
+#column-right {
+  width: 160px;
+  float:right;
+  padding-right: 5px;
+  margin-top: -10px;
+  font-family:Tahoma;
+}
+
+#onecolumn {
+  float:right;
+  width: 636px;
+  padding-left: 80px;
+  padding-right: 80px;
+  font-family:Tahoma;
+}
+
+
+.pager {
+  width: 456px;
+  margin-left: 40px;
+  margin-right: 40px;   
+  border-top: 1px solid #DEDEDE;
+  padding-top: 6px;
+  margin-top: 6px;
+}
+
+.pagerLink {
+
+}
+
+.pagerCurrent {
+  background-color: #FFAABB;
+}
+
+a img {
+  border: 0px;	
+}
+
+#intro
+{
+	padding: 0px 15px 5px 15px;
+	margin-left: auto;
+	margin-right: auto;
+	background-color: #FCFCFF; 
+	border: 1px solid #DEDEDE;
+    background       : url("../imgs/bigblue.gif") repeat-x;
+	
+}
+
+.itemList {
+   list-style: none;
+   margin-right: 1em;
+   padding: 0;
+   color: black;
+}
+
+.item, item a {
+   color: black;
+   text-decoration: underline;
+}
+
+.item a:hover {
+    background       : #818181;
+    color            : #FFFFFF;
+}
+
+h5
+{
+    font-family      : Tahoma;
+    font-size        : 1.1em;
+    vertical-align   : bottom;
+    padding          : 0px;
+    text-align       : right;
+	margin-bottom: 5px;
+	margin-top: 5px;
+}
+
+#FormError
+{
+ padding-bottom: 11px;
+} 

Modified: plog/branches/plog-1.0.2/templates/admin/editpost.template
===================================================================
--- plog/branches/plog-1.0.2/templates/admin/editpost.template	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/templates/admin/editpost.template	2005-06-15 21:03:10 UTC (rev 2240)
@@ -11,6 +11,9 @@
   <script type="text/javascript" src="js/htmlarea/htmlarea.js"/></script>
   <script type="text/javascript" src="js/htmlarea/dialog.js"/></script>
   <script type="text/javascript" src="js/htmlarea/htmlarea-plog.js"/></script>    
+  {if $locale->getLocaleCode()=="fa_IR"}
+  <script type="text/javascript" src="js/htmlarea/htmlarea-plog-farsi.js"/></script>
+  {/if}    
  {else}
   <link rel="stylesheet" href="js/editor/plogeditor.css" type="text/css" />
   <script type="text/javascript" src="js/editor/plogeditor.js"></script>

Modified: plog/branches/plog-1.0.2/templates/admin/header.template
===================================================================
--- plog/branches/plog-1.0.2/templates/admin/header.template	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/templates/admin/header.template	2005-06-15 21:03:10 UTC (rev 2240)
@@ -6,7 +6,11 @@
 <meta http-equiv="Content-Style-Type" content="text/css" />
 <meta name="generator" content="{$version}" />
 <title>pLog Admin</title>
+{if $locale->getDirection()=="rtl"}
+<link rel="stylesheet" href="styles/admin-rtl.css" type="text/css" media="screen" />
+{else}
 <link rel="stylesheet" href="styles/admin.css" type="text/css" media="screen" />
+{/if}
 <!--[if IE ]>
 <link rel="stylesheet" href="styles/admin-ie.css" type="text/css" media="screen" />
 <![endif] -->

Modified: plog/branches/plog-1.0.2/templates/admin/newpost.template
===================================================================
--- plog/branches/plog-1.0.2/templates/admin/newpost.template	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/templates/admin/newpost.template	2005-06-15 21:03:10 UTC (rev 2240)
@@ -10,7 +10,10 @@
   <link rel="stylesheet" href="js/htmlarea/htmlarea.css" type="text/css"/>    
   <script type="text/javascript" src="js/htmlarea/htmlarea.js"/></script>
   <script type="text/javascript" src="js/htmlarea/dialog.js"/></script>
-  <script type="text/javascript" src="js/htmlarea/htmlarea-plog.js"/></script>  
+  <script type="text/javascript" src="js/htmlarea/htmlarea-plog.js"/></script>
+  {if $locale->getLocaleCode()=="fa_IR"}
+  <script type="text/javascript" src="js/htmlarea/htmlarea-plog-farsi.js"/></script>
+  {/if}
  {else}
   <link rel="stylesheet" href="js/editor/plogeditor.css" type="text/css" />
   <script type="text/javascript" src="js/editor/plogeditor.js"></script>

Modified: plog/branches/plog-1.0.2/templates/admin/simpleheader.template
===================================================================
--- plog/branches/plog-1.0.2/templates/admin/simpleheader.template	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/templates/admin/simpleheader.template	2005-06-15 21:03:10 UTC (rev 2240)
@@ -5,7 +5,11 @@
 <title>pLog Admin</title>
 <meta http-equiv="Content-Style-Type" content="text/css" />
 <meta name="generator" content="{$version}" />
+{if $locale->getDirection()=="rtl"}
+<link rel="stylesheet" href="styles/admin-rtl.css" type="text/css" media="screen" />
+{else}
 <link rel="stylesheet" href="styles/admin.css" type="text/css" media="screen" />
+{/if}
 <!--[if IE ]>
 <link rel="stylesheet" href="styles/admin-ie.css" type="text/css" media="screen" />
 <![endif] -->

Modified: plog/branches/plog-1.0.2/templates/summary/header.template
===================================================================
--- plog/branches/plog-1.0.2/templates/summary/header.template	2005-06-15 19:22:52 UTC (rev 2239)
+++ plog/branches/plog-1.0.2/templates/summary/header.template	2005-06-15 21:03:10 UTC (rev 2240)
@@ -4,7 +4,11 @@
 <meta http-equiv="content-type" content="text/html;charset={$locale->getCharset()}" />
 <meta http-equiv="Content-Style-Type" content="text/css" />
 <title>{$locale->tr("summary")}</title>
+{if $locale->getDirection()=="rtl"}
+<link rel="stylesheet" href="styles/summary-rtl.css" type="text/css" media="screen" />
+{else}
 <link rel="stylesheet" href="styles/summary.css" type="text/css" media="screen" />
+{/if}
 <!--[if IE ]>
 <link rel="stylesheet" href="styles/summary-ie.css" type="text/css" media="screen" />
 <![endif] -->




More information about the pLog-svn mailing list