مشکل در تبديل تاريخ ميلادي به شمسي در phpBB

سلام من این کار را که کردم دیگه وارد انجمن ها نمی شه و این ارور را می ده
کد:
Parse error: parse error, expecting `) in d:program fileseasyphp1-8wwwphpbb2includesfunctions.php on line 419
اینم کاری که انجام دادم
کد:
#
#-----[ OPEN ]------------------------------------------
#
includes/functions.php

#
#-----[ FIND ]------------------------------------------
#
?>

#
#-----[ REPLACE WITH ]------------------------------------------
#
 
// Hijri Date Calculation
// Special ThanX to www.iranphp.net for this Function

function gregorian_to_jalali($g_y, $g_m, $g_d)
{

   global $g_days_in_month;
   global $j_days_in_month;

   $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);


   $div = create_function($a,$b,return (int) ($a / $b););

   $gy = $g_y-1600;
   $gm = $g_m-1;
   $gd = $g_d-1;

   $g_day_no = 365*$gy+$div($gy+3,4)-$div($gy+99,100)+$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 = $div($j_day_no, 12053); /* 12053 = 365*33 + 32/4 */
   $j_day_no = $j_day_no % 12053;

   $jy = 979+33*$j_np+4*$div($j_day_no,1461); /* 1461 = 365*4 + 4/4 */

   $j_day_no %= 1461;

   if ($j_day_no >= 366) {
      $jy += $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);

 }

?>


#
#-----[ FIND ]------------------------------------------
#

//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
   global $board_config, $lang;
   static $translate;

   if ( empty($translate) && $board_config[default_lang] != english )
   {
      @reset($lang[datetime]);
      while ( list($match, $replace) = @each($lang[datetime]) )
      {
         $translate[$match] = $replace;
      }
   }

   return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
}


#
#-----[ REPLACE WITH ]------------------------------------------
#

//
// Create date/time from timezone in Persian Format
//

function user_date_hijri ($format, $gmepoch, $tz){

    $format = Y-m-d-D;

    global $board_config, $lang;
    static $translate;

    if ( empty($translate) && $board_config[default_lang] != english )
    {
        @reset($lang[datetime]);
        while ( list($match, $replace) = @each($lang[datetime]) )
        {
            $translate[$match] = $replace;
        }
    }
       
       $date = ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));


             list($year, $month, $day, $day2, $hour, $min, $sec) = preg_split (/-/, $date);

           list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);


   $jmonth = $jmonth-1;

   $monthnum = array ( $lang[Farvardin], $lang[Ordibehesht], $lang[Khordad],$lang[Tir],$lang[Mordad],$lang[Shahrivar],$lang [Mehr],$lang[Aban],$lang[Azar],$lang[Dey],$lang[Bahman],$lan g[Esfand]);
   $daynum = array ($lang[Yekshanbeh], $lang[Doshanbeh], $lang[Seshanbeh], $lang[Chaharshanbeh], $lang[Panjshanbeh], $lang[Jomeh], $lang[Shanbeh]);

   $jdate = $day2." ".$jday." ".$monthnum[$jmonth]. " " . $jyear;



    return $jdate;

}

function create_date($format, $gmepoch, $tz)
{

    $format = Y-m-d-D-H-i-s;
   
    global $board_config, $lang;
    static $translate;

    if ( empty($translate) && $board_config[default_lang] != english )
    {
      @reset($lang[datetime]);
      while ( list($match, $replace) = @each($lang[datetime]) )
      {
         $translate[$match] = $replace;
      }
    }

       $date = ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));

       list($year, $month, $day, $day2, $hour, $min, $sec) = preg_split (/-/, $date);

       list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($year, $month, $day);

       $jdate = $jday."/".$jmonth."/".$jyear;

   $jmonth = $jmonth-1;

   $monthnum = array ( $lang[Farvardin], $lang[Ordibehesht], $lang[Khordad],$lang[Tir],$lang[Mordad],$lang[Shahrivar],$lang [Mehr],$lang[Aban],$lang[Azar],$lang[Dey],$lang[Bahman],$lan g[Esfand]);

    $jdate = $day2." ".$jday." ".$monthnum[$jmonth]." ".$jyear ." - ". $hour .":". $min ;


    return $jdate;
   
}


#
#-----[ OPEN ]------------------------------------------
#
includes/usercp_viewprofile.php

#
#-----[ FIND ]------------------------------------------
#
   JOINED => create_date($lang[DATE_FORMAT], $profiledata[user_regdate], $board_config[board_timezone]),


#
#-----[ REPLACE WITH ]------------------------------------------
#
   JOINED =>   user_date_hijri($lang[DATE_FORMAT], $profiledata[user_regdate], $board_config[board_timezone]),


#
#-----[ OPEN ]------------------------------------------
#
memberlist.php

#
#-----[ FIND ]------------------------------------------
#
      $joined = create_date($lang[DATE_FORMAT], $row[user_regdate], $board_config[board_timezone]);


#
#-----[ REPLACE WITH ]------------------------------------------
#
      $joined = user_date_hijri($lang[DATE_FORMAT], $row[user_regdate], $board_config[board_timezone]);


#
#-----[ OPEN ]------------------------------------------
#
viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
   $poster_joined = ( $postrow[$i][user_id] != ANONYMOUS ) ? $lang[Joined] . :  . create_date($lang[DATE_FORMAT], $postrow[$i][user_regdate], $board_config[board_timezone]) : ;


#
#-----[ REPLACE WITH ]------------------------------------------
#
   $poster_joined = ( $postrow[$i][user_id] != ANONYMOUS ) ? $lang[Joined] . :  . user_date_hijri ($lang[DATE_FORMAT], $postrow[$i][user_regdate], $board_config[board_timezone]) : ;


#
#-----[ OPEN ]------------------------------------------
# you should do this for all styles you have

templates/subSilver/profile_add_body.tpl

#
#-----[ FIND, REMOVE ]-------------------------------------
#
   <tr>
     <td class="row1"><span class="gen">{L_DATE_FORMAT}:</span><br />
      <span class="gensmall">{L_DATE_FORMAT_EXPLAIN}</span></td>
     <td class="row2">
      <input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" class="post" />
     </td>
   </tr>

#
#-----[ OPEN ]------------------------------------------
#  We recommend Download phpBB Farsi

language/lang_xxx/lang_main.php

#
#-----[ FIND ]------------------------------------------
#

//
// Thats all Folks!
// -------------------------------------------------

#
#-----[ BEFORE, ADD ]------------------------------------------
#

// Hijri Date Mod
$lang[Shanbeh] = شنبه;
$lang[Yekshanbeh] = يكشنبه;
$lang[Doshanbeh] = دوشنبه;
$lang[Seshanbeh] = سه شنبه;
$lang[Chaharshanbeh] = چهارشنبه;
$lang[Panjshanbeh] = پنج شنبه;
$lang[Jomeh] = جمعه;

$lang[Farvardin] = فروردين;
$lang[Ordibehesht] = ارديبهشت;
$lang[Khordad] = خرداد;
$lang[Tir] = تير;
$lang[Mordad] = مرداد;
$lang[Shahrivar] = شهريور;
$lang[Mehr] = مهر;
$lang[Aban] = آبان;
$lang[Azar] = آذر;
$lang[Dey] = دي;
$lang[Bahman] = بهمن;
$lang[Esfand] = اسفند;


#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
خب کجای کار من اشتباه بوده ؟
من این کار را توی لوکال نسخه 2.0.17 انجام دادم
در ضمن ادیت قالب subSilver قالب fisubice را ادیت کردم
 

h_r_110

New Member
شما در انجام تغییرات دچار اشتباه شده اید و همانطور که در خطا نیز مشاهده میکنید (احتمالاً) یک پرانتز جا افتاده است. یکبار دیگر فایل مربوطه را ویرایش کنید
 

I.NoBody

Active Member
چند جاي کارت ايراد داره.
اولاً هرچي $lan g هست رو با $lang جايگزين کن.
ثانياً تابع هايي با نام هاي مشابه تعريف کردي مثل create_date
ثالثاً اونجاهايي که include کردي ، تابع hnclude رو ننوشتي
 
من این کد را توی سایتت اموزش پیدا کردم
اگه کسی کد درست را داره بده خیلی ممنون می شم
 

[email protected]

Well-Known Member
تو انجمنا جستجو کن یا تو سایت phpbbhacks.com دنبال هک persian shamsi date نویسندش هم مجید علویزاده!
 

جدیدترین ارسال ها

بالا