Attached the prayertime php class. use it at your own risk.

Regards,
Hatem


----- Original Message ----- 
From: "Azhar Mehmood" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, September 08, 2004 11:22 AM
Subject: Re: If someone know about PHP Prayertime for websites


> Salam Hatem
> 
> Could you please send me the code. I want it please...
> 
> Jazak Allah 
> 
> Azhar
> 
> > From: "Hatem Ben Yacoub" <[EMAIL PROTECTED]>
> > Salam,
> > 
> > This year I've rewritten in PHP the original CPP code of Um Al Qura
> > algorythm to compute prayer time, and sunrise, but didn't get correct
> > values. And i'm not sure if it was a problem of my testing values or 
> of my
> > code ! The original code was written by Fayez Alhargan in 2001, and 
> make use
> > of about 12 parameters.
> > 
> > If interested, i can send you the code.
> > 
> > Hatem
> 
> 
<?php

define ('pi',M_PI);
define ('DToR',pi/180);
define ('RToH',12/pi);
define ('EarthRadius',6378.14);


/**
 * prayertime class : class that computes prayer times and sunrise.
 * 
 * Original CPP code written by :  Fayez Alhargan, 2001
 * King Abdulaziz City for Science and Technology
 * Computer and Electronics Research Institute
 * Riyadh, Saudi Arabia
 * [EMAIL PROTECTED]
 * Tel:4813770 Fax:4813764
 * 
 * @package 
 * @author Ben Yacoub Hatem <[EMAIL PROTECTED]>
 * @website http://Www.phptunisie.net/
 * @copyright Copyright (c) 2004
 * @version $Id$ - 28/02/2004 19:41:19 - prayertime.class.php
 * @access public
 **/
class prayertime{
        /**
     * Constructor
     * @access protected
     */
        function prayertime(){
                
        }
        
        /**
         * prayertime::GetRatior() Function to obtain the ratio of the start time of 
Isha and Fajr at
         * a referenced latitude (45deg suggested by Rabita) to the night length
         * 
         * @param $yg
         * @param $mg
         * @param $dg
         * @param $param
         * @param $IshRt
         * @param $FajrRt
         * @return 
         **/
        function GetRatior($yg,$mg,$dg,$param,&$IshRt,&$FajrRt){
                
                if($param[2]<0) $MaxLat= -abs($param[9]); else $MaxLat= abs($param[9]);
                
prayertime::SunParamr($yg,$mg,$dg,-$param[1],$MaxLat,-$param[5],&$Rise,&$Transit,&$Setting,&$RA,&$Decl,&$flagrs);
                $SINd=sin($Decl)*sin($MaxLat);
                $COSd=cos($Decl)*cos($MaxLat);
                $Night=24-($Setting-$Rise);  /* Night Length */
                /* Fajr */
                $angl=-$param[6];
                $cH=(sin($angl)-$SINd)/($COSd);
                $H=acos($cH);
                $H=$H*RToH;  /* convert radians to hours  */
                $FjrRf=$Transit-$H-$param[0];    /* Fajr time  */
                /* Isha */
                if($param[7]!=0)  /* if Ish angle  not equal zero*/
                {
                        $angl=-$param[7];
                        $cH=(sin($angl)-$SINd)/($COSd);
                        $H=acos($cH);
                        $H=$H*RToH;  /* convert radians to hours  */
                        $IshRf=$Transit+$H+$param[0];    /* Isha time, instead of  
Sunset+1.5h */
                }
                else
                {
                        $IshRf=$Setting+$param[10];  /* Isha time OmAlqrah standard 
Sunset+1.5h */
                }
                $IshRt=($IshRf-$Setting)/$Night;  /* Isha time ratio */
                $FajrRt=($Rise-$FjrRf)/$Night;  /* Fajr time ratio */
                
                return;
        }
        
        /**
         * prayertime::atanxy()
         * 
         * @param $x
         * @param $y
         * @return 
         **/
        function atanxy($x,$y){
                if($x==0)  $argm=0.5*pi; else $argm=atan($y/$x);
                if($x>0 && $y<0) $argm=2.0*pi+$argm;
                if($x<0) $argm=pi+$argm;
                return $argm;
        }

        /**
         * prayertime::EclipToEquator()
         * 
         * @param $lmdr
         * @param $betar
         * @param $alph
         * @param $dltr
         * @return 
         **/
        function EclipToEquator($lmdr,$betar,&$alph,&$dltr){
                /*
                
                  Convert Ecliptic to Equatorial Coordinate
                  p.40 No.27, Peter Duffett-Smith book
                  input: lmdr,betar  in radians
                  output: alph,dltr in radians
                */
                
                $eps=23.441884;  // (in degrees) this changes with time
                $rad=0.017453292;  // =pi/180.0
                
                $epsr=$eps*$rad;  // convert to radians
                $sdlt=sin($betar)*cos($epsr)+cos($betar)*sin($epsr)*sin($lmdr);
                $dltr=asin($sdlt);
                $y=sin($lmdr)*cos($epsr)-tan($betar)*sin($epsr);
                $x=cos($lmdr);
                $alph=prayertime::atanxy($x,$y);
        }
        
        /**
         * prayertime::RoutinR2()
         * 
         * @param $M
         * @param $e
         * @return 
         **/
        function RoutinR2($M,$e){
                /*
                Routine R2:
                Calculate the value of E
                p.91, Peter Duffett-Smith book
                */
                $dt=1;
                $Ec=$M;
                // verify abs of fbas ?!!
                while(abs($dt)>1e-9)
                {
                        $dt=$Ec-$e*sin($Ec)-$M;
                        $dE=$dt/(1-$e*cos($Ec));
                        $Ec=$Ec-$dE;
                }
                return $Ec;
        }
        
        /**
         * prayertime::GCalendarToJD()
         * 
         * @param $yy
         * @param $mm
         * @param $dd
         * @return 
         **/
        function GCalendarToJD($yy,$mm,$dd){
                if ($mm > 2) {
                        $y = $yy;
                        $m = $mm;
                }
                else {
                        $y = $yy - 1;
                        $m = $mm + 12;
                }
                $A = $y / 100;
                $B = 2 - $A + $A / 4;
                $T1= (integer) (365.25 * ($y + 4716));
                $T2= (integer) (30.6001 * ($m + 1));
                $Tr=$T1+ $T2 + $dd + $B - 1524.5 ;

                return $Tr;
        }

        /**
         * prayertime::GDateAjust()
         * 
         * @param $yg
         * @param $mg
         * @param $dg
         * @return 
         **/
        function GDateAjust(&$yg,&$mg,&$dg){
                $gmonth= array(31,31,28,31,30,31,30,31,31,30,31,30,31,31);/* makes it 
circular m[0]=m[12] & m[13]=m[1] */
                
                /* Make sure that dates are within the correct values */
                /*  Underflow  */
                if($mg<1)  /* months underflow */
                {
                        $mg=12+$mg;  /* plus as the underflow months is negative */
                        $yg=$yg-1;
                }
                
                if($dg<1)  /* days underflow */
                {
                        $mg= $mg-1;  /* month becomes the previous month */
                        $dg=$gmonth[$mg]+$dg; /* number of days of the month less the 
underflow days (it is plus as the sign of the day is negative) */
                        if($mg==2) $dg=$dg+prayertime::GLeapYear($yg);
                        if($mg<1)  /* months underflow */
                        {
                                $mg=12+$mg;  /* plus as the underflow months is 
negative */
                                $yg=$yg-1;
                        }
                }
                
                /* Overflow  */
                if($mg>12)  /* months */
                {
                        $mg=$mg-12;
                        $yg=$yg+1;
                }
                
                if($mg==2)
                        $dys=$gmonth[$mg]+prayertime::GLeapYear($yg);  /* number of 
days in the current month */
                else
                        $dys=$gmonth[$mg];
                        
                if($dg>$dys)  /* days overflow */
                {
                        $dg=$dg-$dys;
                        $mg=$mg+1;
                        if($mg==2)
                        {
                                $dys=$gmonth[$mg]+prayertime::GLeapYear($yg);  /* 
number of days in the current month */
                                if($dg>$dys)
                                {
                                        $dg=$dg-$dys;
                                        $mg=$mg+1;
                                }
                        }
                        if($mg>12)  /* months */
                        {
                                $mg=$mg-12;
                                $yg=$yg+1;
                        }
                }
        }

        /**
         * prayertime::GLeapYear()
         * 
         * @param $year
         * @return 
         **/
        function GLeapYear($year){
                $T=0;
                if($year%4==0) $T=1; /* leap_year=1; */
                if($year%100==0)
                {
                        $T=0;        /* years=100,200,300,500,... are not leap years */
                        if($year%400==0) $T=1;  /*  years=400,800,1200,1600,2000,2400 
are leap years */
                }
                return $T;
        }
        
        /**
         * prayertime::SunParamr()
         * 
         * @param $yg
         * @param $mg
         * @param $dg
         * @param $ObsLon
         * @param $ObsLat
         * @param $TimeZone
         * @param $Rise
         * @param $Transit
         * @param $Setting
         * @param $RA
         * @param $Decl
         * @param $RiseSetFlags
         * @return 
         **/
        function 
SunParamr($yg,$mg,$dg,$ObsLon,$ObsLat,$TimeZone,&$Rise,&$Transit,&$Setting,&$RA,&$Decl,&$RiseSetFlags){
                /*
                p.99 of the Peter Duffett-Smith book
                
                */

                $RiseSetFlags=0;
                
                $JD=prayertime::GCalendarToJD($yg,$mg,$dg);
                $T=($JD+ $TimeZone/24.0 - 2451545.0) / 36525.0;
                
                $L=279.6966778+36000.76892*$T+0.0003025*$T*$T;  // in degrees
                while($L>360) $L=$L-360;
                while($L<0) $L=$L+360;
                $L=$L*pi/180.0;  // radians
                
                $M=358.47583+35999.04975*$T-0.00015*$T*$T-0.0000033*$T*$T*$T;
                while($M>360) $M=$M-360;
                while($M<0) $M=$M+360;
                $M=$M*pi/180.0;
                
                $e=0.01675104-0.0000418*$T-0.000000126*$T*$T;
                $Ec=23.452294-0.0130125*$T-0.00000164*$T*$T+0.000000503*$T*$T*$T;
                $Ec=$Ec*pi/180.0;
                
                $y=tan(0.5*$Ec);
                $y=$y*$y;
                
$ET=$y*sin(2*$L)-2*$e*sin($M)+4*$e*$y*sin($M)*cos(2*$L)-0.5*$y*$y*sin(4*$L)-5*0.25*$e*$e*sin(2*$M);
                $UT=$ET*180.0/(15.0*pi);   // from radians to hours
                
                $Ec=prayertime::RoutinR2($M,$e);
                $tnv=sqrt((1+$e)/(1-$e))*tan(0.5*$Ec);
                $v=2.0*atan($tnv);
                $tht=$L+$v-$M;
                prayertime::EclipToEquator($tht,0,$RA,$Decl);
                
                $K=12-$UT-$TimeZone+$ObsLon*12.0/pi;  // (Noon)
                $Transit=$K;
                /*  Sunrise and Sunset*/
                
                $angl=(-0.833333)*DToR;  // Meeus p.98
                $T1=(sin($angl)-sin($Decl)*sin($ObsLat));
                $T2=(cos($Decl)*cos($ObsLat));  // p.38  Hour angle for the Sun
                $cH=$T1/$T2;
                if($cH>1)  {$RiseSetFlags=16;$cH=1;}  /*At this day and place the sun 
does not rise or set  */
                $H=acos($cH);
                $H=$H*12.0/pi;
                $Rise=$K-$H;           // Sunrise
                $Setting=$K+$H; // SunSet
                
                return $JD;
        }


/*
  For international prayer times see Islamic Fiqah Council of the Muslim
  World League:  Saturday 12 Rajeb 1406H, concerning prayer times and fasting
  times for countries of high latitudes.
  This program is based on the above.
*/
/*****************************************************************************/
/* Name:    OmAlQrah                                                         */
/* Type:    Procedure                                                        */
/* Purpose: Compute prayer times and sunrise                                 */
/* Arguments:                                                                */
/*   yg,mg,dg : Date in Greg                                                 */
/*   param[0]: Safety time  in hours should be 0.016383h                     */
/*   longtud,latud: param[1],[2] : The place longtude and latitude in radians*/
/*   HeightdifW : param[3]: The place western herizon height difference in meters */
/*   HeightdifE : param[4]: The place eastern herizon height difference in meters */
/*   Zonh :param[5]: The place zone time dif. from GMT  West neg and East pos*/
/*          in decimal hours                                                 */
/*  fjrangl: param[6]: The angle (radian) used to compute                    */
/*            Fajer prayer time (OmAlqrah  -19 deg.)                         */
/*  ashangl: param[7]: The angle (radian) used to compute Isha  prayer time  */
/*          ashangl=0 then use  (OmAlqrah: ash=SunSet+1.5h)                  */
/*  asr  : param[8]: The Henfy (asr=2) Shafi (asr=1, Omalqrah asr=1)         */
/*  param[9]: latude (radian) that should be used for places above -+65.5    */
/*            should be 45deg as suggested by Rabita                         */
/*   param[10]: The Isha fixed time from Sunset                              */
/*  Output:                                                                  */
/*  lst[]: lst[n], 1:Fajer 2:Sunrise 3:Zohar 4:Aser  5:Magreb  6:Ishe        */
/*                 7:Fajer using exact Rabita method for places >48          */
/*                 8:Ash   using exact Rabita method for places >48          */
/*                 9: Eid Prayer Time                                        */
/*          for places above 48 lst[1] and lst[6] use a modified version of  */
/*          Rabita method that tries to eliminate the discontinuity          */
/*         all in 24 decimal hours                                           */
/*         returns flag:0 if there are problems, flag:1 no problems          */
/*****************************************************************************/
        /**
         *
         * @access public
         * @return void 
         **/
        function OmAlQrah($yg,$mg,$dg,$param,&$lst){
                $flag=1;$problm=0;
                $HightCorWest=0;$HightCorEast=0;
                /*
                Main Local variables:
                RA= Sun's right ascension
                Decl= Sun's declination
                H= Hour Angle for the Sun
                K= Noon time
                angl= The Sun altitude for the required time
                flagrs: sunrise sunset flags
                0:no problem
                16: Sun always above horizon (at the ploes for some days in the year)
                32: Sun always below horizon
                */
                
                /* Compute the Sun various Parameters */
                
prayertime::SunParamr($yg,$mg,$dg,-$param[1],$param[2],-$param[5],&$Rise,&$Transit,&$Setting,&$RA,&$Decl,&$flagrs);
                
                /* Compute General Values */
                $SINd=sin($Decl)*sin($param[2]);
                $COSd=cos($Decl)*cos($param[2]);
                
                /* Noon */
                $K=$Transit;
                
                /* Compute the height correction  */
                $HightCorWest=0;$HightCorEast=0;
                if($flagrs==0 && abs($param[2])<0.79 && ($param[4]!=0 || $param[3]!=0))
                {   /* height correction not used for problematic places above 45deg*/
                        $H0=$H=0;
                        $angl=-0.83333*DToR;  /* standard value  angl=50min=0.8333deg
                        for sunset and sunrise */
                        $cH=(sin($angl)-$SINd)/($COSd);
                        $H0=acos($cH);
                        
                        $X=EarthRadius*1000.0;  /* meters  */
                        $angl=-0.83333*DToR+(0.5*pi-asin($X/($X+$param[3])));  /*  */
                        $cH=(sin($angl)-$SINd)/($COSd);
                        $HightCorWest=acos($cH);
                        $HightCorWest=($H0-$HightCorWest)*(RToH);
                        
                        $angl=-0.83333*DToR+(0.5*pi-asin($X/($X+$param[4])));
                        $cH=(sin($angl)-$SINd)/($COSd);
                        
                        $HightCorEast=acos($cH);
                        $HightCorEast=($H0-$HightCorEast)*(RToH);
                }
                
                
                /* Modify Sunrise,Sunset and Transit for problematic places*/
                if(!($flagrs==0 && abs($Setting-$Rise)>1 && abs($Setting-$Rise)<23))
                {  /* There are problems in computing sun(rise,set)  */
                        /* This is because of places above -+65.5 at some days of the 
year */
                        /* Note param[9] should be  45deg as suggested by Rabita  */
                        $problm=1;
                        if($param[2]<0) $MaxLat= -abs($param[9]); else $MaxLat= 
abs($param[9]);
                        /* Recompute the Sun various Parameters using the reference 
param[9] */
                        
prayertime::SunParamr($yg,$mg,$dg,-$param[1],$MaxLat,-$param[5],&$Rise,&$Transit,&$Setting,&$RA,&$Decl,&$flagrs);
                        $K=$Transit;  /* exact noon time */
                        
                        /* ReCompute General Values for the new reference param[9]*/
                        $SINd=sin($Decl)*sin($MaxLat);
                        $COSd=cos($Decl)*cos($MaxLat);
                }
                /*-------------------------------------------------------------*/
                if($K<0) $K=$K+24;
                
                $lst[2]=$Rise-$HightCorEast;   /* Sunrise - Height correction */
                $lst[3]=$K+$param[0];   /* Zohar time+extra time to make sure that the 
sun has moved from zaowal */
                $lst[5]=$Setting+$HightCorWest+$param[0]; /* Magrib= SunSet + Height 
correction + Safety Time */
                
                
                /*-------------------------------------------------------------*/
                /* Asr time: Henfy param[8]=2, Shafi param[8]=1, OmAlqrah asr=1  */
                if($problm) /* For places above 65deg */
                $act=$param[8]+tan(abs($Decl-$MaxLat));
                else /* no problem */
                $act=$param[8]+tan(abs($Decl-$param[2]));  /*In the standard
                equations abs() is not used,
                but it is required for -ve latitude  */
                $angl=atan(1.0/$act);
                $cH=(sin($angl)-$SINd)/($COSd);
                if(abs($cH)>1.0)
                {
                        $H=3.5;
                        $flag=0; /* problem in compuing Asr */
                }
                else
                {
                        $H=acos($cH);
                        $H=$H*RToH;
                }
                $lst[4]=$K+$H+$param[0];  /*  Asr Time */
                
                /*-------------------------------------------------------------*/
                /* Fajr Time  */
                $angl=-$param[6]; /* The value -19deg is used by OmAlqrah for Fajr,
                but it is not correct,
                Astronomical twilight and Rabita use -18deg */
                $cH=(sin($angl)-$SINd)/($COSd);
                if(abs($param[2])<0.83776)    /*If latitude<48deg   */
                {     /* no problem */
                        $H=acos($cH);
                        $H=$H*RToH;  /* convert radians to hours  */
                        $lst[1]=$K-($H+$HightCorEast)+$param[0];    /* Fajr time  */
                        $lst[7]=$lst[1];
                }
                else
                {  /* Get fixed ratio, data depends on latitutde sign*/
                if($param[2]<0)
                        prayertime::GetRatior($yg,12,21,$param,&$IshFix,&$FajrFix);
                else
                        prayertime::GetRatior($yg,6,21,$param,&$IshFix,&$FajrFix);
                
                if(abs($cH)>(0.45+1.3369*$param[6]))   /* A linear equation I have 
interoduced  */
                {   /* The problem occurs for places above -+48 in the summer */
                        $Night=24-($Setting-$Rise); /* Night Length  */
                        $lst[1]=$Rise-$Night*$FajrFix;  /* According to the general 
ratio rule*/
                }
                else
                {  /* no problem */
                        $H=acos($cH);
                        $H=$H*RToH;  /* convert radians to hours  */
                        $lst[1]=$K-($H+$HightCorEast)+$param[0];    /* Fajr time  */
                }
                $lst[7]=$lst[1];
                if(abs($cH)>1)
                {   /* The problem occurs for places above -+48 in the summer */
                        prayertime::GetRatior($yg,$mg,$dg,$param,&$IshRt,&$FajrRt);
                        $Night=24-($Setting-$Rise); /* Night Length  */
                        $lst[7]=$Rise-$Night*$FajrRt; /*  Accoording to Rabita Method*/
                }
                else
                {  /* no problem */
                        $H=acos($cH);
                        $H=H*RToH;  /* convert radians to hours  */
                        $lst[7]=$K-($H+$HightCorEast)+$param[0];    /* Fajr time  */
                }
                
                }
                
                /*-------------------------------------------------------------*/
                /*   Isha prayer time   */
                if($param[7]!=0)  /* if Ish angle  not equal zero*/
                {
                        $angl=-$param[7];
                        $cH=(sin($angl)-$SINd)/($COSd);
                        if(abs($param[2])<0.83776)    /*If latitude<48deg   */
                        {     /* no problem */
                                $H=acos($cH);
                                $H=$H*RToH;  /* convert radians to hours  */
                                $lst[6]=$K+($H+$HightCorWest+$param[0]);    /* Isha 
time, instead of  Sunset+1.5h */
                                $lst[8]=$lst[6];
                        }
                        else
                        {
                                if(abs($cH)>(0.45+1.3369*$param[6]))   /* A linear 
equation I have interoduced  */
                                {   /* The problem occurs for places above -+48 in the 
summer */
                                        $Night=24-($Setting-$Rise); /* Night Length  */
                                        $lst[6]=$Setting+$Night*$IshFix; /*  
Accoording to Rabita Method*/
                                }
                                else
                                { /* no problem */
                                        $H=acos($cH);
                                        $H=$H*RToH;  /* convert radians to hours  */
                                        $lst[6]=$K+($H+$HightCorWest+$param[0]);    /* 
Isha time, instead of  Sunset+1.5h */
                                }
                                
                                if(abs($cH)>1.0)
                                {   /* The problem occurs for places above -+48 in the 
summer */
                                        
prayertime::GetRatior($yg,$mg,$dg,$param,&$IshRt,&$FajrRt);
                                        $Night=24-($Setting-$Rise); /* Night Length  */
                                        $lst[8]=$Setting+$Night*$IshRt;  /* According 
to the general ratio rule*/
                                }
                                else
                                {
                                        $H=acos($cH);
                                        $H=$H*RToH;  /* convert radians to hours  */
                                        $lst[8]=$K+($H+$HightCorWest+$param[0]);    /* 
Isha time, instead of  Sunset+1.5h */
                                }
                        }
                }
                else
                {
                $lst[6]=$lst[5]+$param[10];  /* Isha time OmAlqrah standard 
Sunset+fixed time (1.5h or 2h in Romadan) */
                $lst[8]=$lst[6];
                }
                /*-------------------------------------------------------------*/
                /*   Eid prayer time   */
                $angl=$param[11]; /*  Eid Prayer time Angle is 4.2  */
                $cH=(sin($angl)-$SINd)/($COSd);
                if((abs($param[2])<1.134 || $flagrs==0) && abs($cH)<=1.0)    /*If 
latitude<65deg   */
                {     /* no problem */
                        $H=acos($cH);
                        $H=$H*RToH;  /* convert radians to hours  */
                        $lst[9]=$K-($H+$HightCorEast)+$param[0];    /* Eid time  */
                }
                else
                {
                        $lst[9]=$lst[2]+0.25;  /* If no Sunrise add 15 minutes */
                }
                return $flag;
        }
        
        
}


/*
  For international prayer times see Islamic Fiqah Council of the Muslim
  World League:  Saturday 12 Rajeb 1406H, concerning prayer times and fasting
  times for countries of high latitudes.
  This program is based on the above.
*/
/*****************************************************************************/
/* Name:    OmAlQrah                                                         */
/* Type:    Procedure                                                        */
/* Purpose: Compute prayer times and sunrise                                 */
/* Arguments:                                                                */
/*   yg,mg,dg : Date in Greg                                                 */
/*   param[0]: Safety time  in hours should be 0.016383h                     */
/*   longtud,latud: param[1],[2] : The place longtude and latitude in radians*/
/*   HeightdifW : param[3]: The place western herizon height difference in meters */
/*   HeightdifE : param[4]: The place eastern herizon height difference in meters */
/*   Zonh :param[5]: The place zone time dif. from GMT  West neg and East pos*/
/*          in decimal hours                                                 */
/*  fjrangl: param[6]: The angle (radian) used to compute                    */
/*            Fajer prayer time (OmAlqrah  -19 deg.)                         */
/*  ashangl: param[7]: The angle (radian) used to compute Isha  prayer time  */
/*          ashangl=0 then use  (OmAlqrah: ash=SunSet+1.5h)                  */
/*  asr  : param[8]: The Henfy (asr=2) Shafi (asr=1, Omalqrah asr=1)         */
/*  param[9]: latude (radian) that should be used for places above -+65.5    */
/*            should be 45deg as suggested by Rabita                         */
/*   param[10]: The Isha fixed time from Sunset                              */
/*  Output:                                                                  */
/*  lst[]: lst[n], 1:Fajer 2:Sunrise 3:Zohar 4:Aser  5:Magreb  6:Ishe        */
/*                 7:Fajer using exact Rabita method for places >48          */
/*                 8:Ash   using exact Rabita method for places >48          */
/*                 9: Eid Prayer Time                                        */
/*          for places above 48 lst[1] and lst[6] use a modified version of  */
/*          Rabita method that tries to eliminate the discontinuity          */
/*         all in 24 decimal hours                                           */
/*         returns flag:0 if there are problems, flag:1 no problems          */
/*****************************************************************************/

 $longtud=10;$latud=33;
 $Zonh=1;
 
$param = array( 0=>0.016388,/* 59seconds, safety time */
                                1=>$longtud,    // 1 et 2 : The place longtude and 
latitude in radians
                                2=>$latud,
                                3=>300, // The place western herizon height difference 
in meters
                                4=>300, // The place eastern herizon height difference 
in meters
                                5=>$Zonh,       // The place zone time dif. from GMT  
West neg and East pos in decimal hours  
                                6=>19*DToR,     // The angle (radian) used to compute, 
 Fajer prayer time (OmAlqrah  -19 deg.)       
                                7=>0,   // The angle (radian) used to compute Isha  
prayer time 
                                8=>1,   // The Henfy (asr=2) Shafi (asr=1, Omalqrah 
asr=1) 
                                9=>45*DToR,     // latude (radian) that should be used 
for places above -+65.5  should be 45deg as suggested by Rabita  
                                10=>1.5,        // The Isha fixed time from Sunset    
                                11=>4.2*DToR);  /* Eid Prayer Time   */

                                

$yg = "2004";$mg = "4";$dg = "18";
prayertime::GDateAjust($yg,$mg,$dg);
$r = prayertime::OmAlQrah($yg,$mg,$dg,$param ,$lst );
if ($r == 1) {
        foreach($lst as $k=>$v){
                echo "$k - ".(abs($v))."<br>";
        }
        
}else {
        echo "there are problems computing prayer times and sunrise with these 
informations :<br><pre>";
        print_r($param);
}


?>
_______________________________________________
Developer mailing list
[EMAIL PROTECTED]
http://lists.arabeyes.org/mailman/listinfo/developer

رد على