[MT] كمك دوتا مشكل اساسي تو ام تي!!!

pesararyaie

New Member
سلام اقا من دوتا مشكل اساسي دارم تو كار با ام تي ... يكي اينكه ميخوام تو كامنتهام امكان تايپ فارسي بزارم من روي هر فرمي كه خودم دستي ميسازم اين كارو ميكنم ولي تو ام تي خوب كار نميكنه فكر ميكنم دليلش هم اين باشه كه textarea كامنتهاي ام تي اسمش text هست در صورتي كه من براي فرمهاي ديگه اي كه با اين روش فارسي ميكنم اسم اون يه فيلد رو txt ميزارم!!! الانم نه اينكه نشه فارسي نوشت.... مشه ولي نميشه تغيير زبان داد ... يه كمي مخمو كار گرفته.!!
دومين مشكلم اينه كه آقا ما طبق راهنماي مژده براي شمسي سازي تاريخ عمل كرديم و تگهاي
کد:
<?php 
// "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: 
// 
// http://www.gnu.org/copyleft/gpl.html 
// 

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


function gregorian_to_jalali($g_y, $g_m, $g_d) 
{ 
global $g_days_in_month; 
global $j_days_in_month; 

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

function jalali_to_gregorian($j_y, $j_m, $j_d) 
{ 
global $g_days_in_month; 
global $j_days_in_month; 

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

$jy = $j_y-979; 
$jm = $j_m-1; 
$jd = $j_d-1; 

$j_day_no = 365*$jy + $div($jy, 33)*8 + $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*$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*$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*$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 += $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); 
}
?>
و اين يكي رو
کد:
<?
$week= Array("Thursday" => "پنجشنبه","Saturday" => "شنبه","Sunday" => "يكشنبه","Monday" => "دوشنبه","Tuesday" => "سه شنبه","Wednesday" => "چهارشنبه","Friday" => "جمعه");
$month = Array("فروردين","ارديبهشت","خرداد","تير","مرداد","شهريور","مهر","آبان","آذر","دي","بهمن","اسفند");
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', '<$MTEntryDate format="%Y-%m-%d"$>' );
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
echo "<div style='direction:rtl'>" . $week["<$MTEntryDate format="%A"$>"] . ", ". $jday . " " . $month[--$jmonth] . " " . $jyear . "</div>"
?>
رو گذاشتيم تو قالب و اسم فايل index رو هم از index.html به index.php تغيير داديم ولي ارور داد كه تو خط 290 شما يه ايرادي هست هر چي گشتيم هم پيدا نشد كه نشد. من فكر ميكنم ايراد از اينه كه من جاي كدهاي قسمت اول رو دقيقا درست نميازرم و تو راهنماي مژده هم گفته بزاريد اول فايل كه من گذشاتم ولي نگفته اين اول فايل دقيقا كجاست !!! راستي من فايل قبلي يعني index.html رو هم پاك كردم از توي ftp ولي بازهم نشد كه نشد.
 

miladmovie

Active Member
pesararyaie گفت:
اقا سلام ببخشيد كسي نيست كمكي كنه؟؟؟؟؟؟
خب داشتيم مي گفتيم
چي!!! آها
1.تاريخ فارسي به روش مژده ديگه قديمي شده
يك نگاهي به اينجا بنداز
http://weblog.iranetsol.com/archives/011998.html
خب مشكل بعدي چي بود؟
شما مي توني براي تغيير زبان از يك دكمه (مثلا F12) استفاده كني
مثلا اينجا رو ببين نه ربطي داره اسم فيلد رو چي بگذاري نه اينكه يك عكس بگذاري براي تغيير زبان
milad.linir.com/contact.php
اميدوام بلد باشي كه اسكريپت ها رو كپ بزني :wink:
اگر نتونستي بگو بيام توضيح بدم

در ضمن براي استفاده از تاريخ فارسي در PHP من اين سايت رو پيشنهاد مي كنم :
http://jdf.farsiprojects.com :wink:
 

pesararyaie

New Member
اقا سلام دمت گرم خيلي باحالي مشكل فارسي تو كامنتها و غيره حل شد حالا ببينم ميتونم با شمسي سازي هم دست و پنجه اي نرم كنم يا نه ؟ البته تاحالا نبودم كه اين راهنمايي هاي شمارو بخونم ممنون! دمت گرم باي
 

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

بالا