كمك! تبديل تاريخ

Amir_Reza

Member
سلام دوستان من دارم يك پروتال فارسي ميكنم ولي نتتونستم تقويمش رو شمسي كينم ميشه كمك كنيد!!

PHP:
function b_calendar()
{
	$name_function = "b_calendar";

	global $a, $m, $db, $blocks_db, $template, $language, $config, $misc, $PHP_SELF, $is_loged_in, $is_moderator, $is_administrator, $is_webmaster, $months, $days, $m, $y, $OnlineGuestsCount, $OnlineMembersCount;
	if(!file_exists("blocks/$name_function/language/{$config['language']}")) include "blocks/$name_function/language/en.php";
	else include "blocks/$name_function/language/{$config['language']}";

	$random_code = md5("$name_function");
	$random_code = substr("$random_code", 0, 5);

	if(!isset($content)) $content = NULL;
	if(!isset($_GET["$random_code"])) $_GET["$random_code"] = NULL;

	if($_GET["$random_code"] == "on") $_SESSION["$random_code"] = "on";
	elseif($_GET["$random_code"] == "off") $_SESSION["$random_code"] = "off";

	$query_string = "?{$_SERVER['QUERY_STRING']}";

	foreach($blocks_db as $blocks)
	{
		$block_code = md5("{$blocks['name']}");
		$block_code = substr("$block_code", 0, 5);

		$query_string = str_replace("&$block_code=off","", $query_string);
		$query_string = str_replace("&$block_code=on","", $query_string);
	}

	if($query_string == "?" || strpos($query_string, '=on') !== false || strpos($query_string, '=off') !== false) $code_query = "?";
	else $code_query = "$query_string&";

	if(!isset($_SESSION["$random_code"]) || $_SESSION["$random_code"] == "on") $links= "<a href='$code_query$random_code=off'><img src='templates/$template/images/misc/minus.gif' border='0'> {$language_block['Calendar title']}</a>";
	elseif($_SESSION["$random_code"] == "off") $links = "<a href='$code_query$random_code=on'><img src='templates/$template/images/misc/plus.gif' border='0'> {$language_block['Calendar title']}</a>";

	$template_block = implode("", file("templates/$template/block.php"));
	$template_block = str_replace("{template}", $template, $template_block);
	$template_block = str_replace("{links}", $links, $template_block);

	if(!isset($_SESSION["$random_code"]) || $_SESSION["$random_code"] == "on")
	{
		//-----------------------------------------------------------------
		//  Some Code parts
		//-----------------------------------------------------------------

		$days = Array($language_block['Calendar day'],$language_block['Calendar day2'],$language_block['Calendar day3'],$language_block['Calendar day4'],$language_block['Calendar day5'],$language_block['Calendar day6'],$language_block['Calendar day7']);
		$months = Array($language_block['Calendar month'],$language_block['Calendar month'],$language_block['Calendar month2'],$language_block['Calendar month3'],$language_block['Calendar month4'],$language_block['Calendar month5'],$language_block['Calendar month6'],$language_block['Calendar month7'],$language_block['Calendar month8'],$language_block['Calendar month9'],$language_block['Calendar month10'],$language_block['Calendar month11'],$language_block['Calendar month12']);

		$month = $m;
		$year = date('Y');

		$monthfulltext = date("F", mktime(0, 0, 0, $month, 1, $year));
		$day_in_mth = date("t", mktime(0, 0, 0, $month, 1, $year));

		if($month == 12) $next_month = 1;
		else $next_month = $month + 1; 

		if($month == 1) $prev_month = 12;
		else $prev_month = $month - 1;

		$result = $db->query("SELECT id, type, day, month, year FROM events WHERE month = '$month' AND year = '$year' ORDER BY 'type'");
		while ($temp = mysql_fetch_array($result))
		{
			$events[$temp['day']][] = $temp['id'];
			$event_info[$temp['id']] = $temp['type'];
			$event_year_db[$temp['id']] = $temp['year'];
		}

		//-----------------------------------------------------------------
		//  Start Display
		//-----------------------------------------------------------------

		$content .= "<tr class='bottom'><td colspan='7' align='center'><table width='100%' border='0' cellspacing='0' cellpadding='0'><col width='5%'><col width='90%'><col width='5%'><tr class='bottom'><td><a href='index.php?m=$prev_month'>&laquo;</a></td><td align='center'>{$months[$month]} $year</td><td><a href='index.php?m=$next_month'>&raquo;</a></td></tr></table></td></tr><tr>";

		foreach($days as $day) $content .= "<td class='con3' align='center'>".substr("$day", 0, $language_block['Calendar daycut'])."</td>";

		$content .= "</tr><tr>";

		//-----------------------------------------------------------------
		//  For first empty spaces
		//-----------------------------------------------------------------

		$day_of_wk = date("w", mktime(0, 0, 0, $month, 1, $year));

		if($day_of_wk <> 0) for ($i = 0; $i < $day_of_wk; $i++) $content .= "<td class='con1'>&nbsp;</td>";

		//-----------------------------------------------------------------
		//  Show days + events + birthdays
		//-----------------------------------------------------------------

		for ($date_of_mth = 1; $date_of_mth <= $day_in_mth; $date_of_mth++)
		{
			//-----------------------------------------------------------------
			//  Configure stuff first
			//-----------------------------------------------------------------

			if ($day_of_wk = 0) for ($i = 0; $i < $day_of_wk; $i++) $content .= "<tr>";

			$date_no = date("j", mktime(0, 0, 0, $month, $date_of_mth, $year));
			$day_of_wk = date("w", mktime(0, 0, 0, $month, $date_of_mth, $year));

			//-----------------------------------------------------------------
			//  Calculate class
			//-----------------------------------------------------------------

			if($month == date('n'))
			{
				if($date_no == date('j')) $class = "eventtoday";
				else $class = "eventempty";
			}
			else $class = "eventempty";

			//-----------------------------------------------------------------
			//  Show days
			//-----------------------------------------------------------------

			$day_event = "<td class='$class'>$date_no</td>";

			if(isset($events[$date_no]))
			{
				foreach ($events[$date_no] as $key=>$value)
				{
					if($date_no == date('j') && $month == date('n')) $day_event = "<td class='eventtoday'><a href='$PHP_SELF?n=modules/events&d=$date_no&m=$month'>$date_no</a></td>";
					else
					{
						if($event_info[$value] == 'normal') $day_event = "<td class='eventselect'><a href='$PHP_SELF?n=modules/events&d=$date_no&m=$month'>$date_no</a></td>";
						else $day_event = "<td class='eventbday'><a href='$PHP_SELF?n=modules/events&d=$date_no&m=$month'>$date_no</a></td>";
					}
				}
			}

			$content .= $day_event;

			//-----------------------------------------------------------------
			//  For last empty spaces
			//-----------------------------------------------------------------

			if($day_of_wk == 6) $content .= "</tr>";

			if($day_of_wk < 6 && $date_of_mth == $day_in_mth)
			{
				for ($i = $day_of_wk ; $i < 6; $i++) $content .= "<td class='con1'>&nbsp;</td>";

				$content .= "</tr>";
			}
		}
	}

	$template_block = str_replace("{content}", $content, $template_block);
	$output = $template_block;

return $output;
}
 

milads

Banned
از calender های فارسی که تو اینترنت ریخته استفاده کن و این ماژول به پرتال الصاق کن .
 

siavashmusic

Active Member
فایلی که ضمیمه شده رو بگیر بریز توی روت سیستم(توی مسیر دهی فایل تاریخ دقت کن ) سپس در ابتدای فایل هایی که میدونی توابع تاریخ موجود هست این خط رو بزار

PHP:
require_once"jdf.php";

و کلیه strftime رو به jdate تبدیل کن
ببین این حالت کلی هست . . . باید شناخت از توابع داشته باشی
 

پیوست ها

  • jdf-1.1.0.zip
    3.8 کیلوبایت · بازدیدها: 58
آخرین ویرایش:

Amir_Reza

Member
ممنون يه امتحان كردم نشد!!!

امكانش هست شما اين كار رو انجام بديد اخه زياد از توابع سر در نمي يارم!!!!

اين پرتال خيلي باحاله !!!
 
آخرین ویرایش:

YTERROR

Active Member
یک توضیح کوتاه برای این که از سر در گمی در بیای

همین طور که سیاوش گفت با دستوز :
PHP:
require_once"jdf.php";

تقویم رو در فایل functions فراخواین می کنید سپس تمام دستورات Date رو به Jdate تغییر می دهید و فایل jdf.php رو در روت قرار می دهید

موفق و پیروز باشید

این و هم تست کن :
PHP:
function b_calendar()
{
    $name_function = "b_calendar";

    global $a, $m, $db, $blocks_db, $template, $language, $config, $misc, $PHP_SELF, $is_loged_in, $is_moderator, $is_administrator, $is_webmaster, $months, $days, $m, $y, $OnlineGuestsCount, $OnlineMembersCount;
    if(!file_exists("blocks/$name_function/language/{$config['language']}")) include "blocks/$name_function/language/en.php";
    else include "blocks/$name_function/language/{$config['language']}";

    $random_code = md5("$name_function");
    $random_code = substr("$random_code", 0, 5);

    if(!isset($content)) $content = NULL;
    if(!isset($_GET["$random_code"])) $_GET["$random_code"] = NULL;

    if($_GET["$random_code"] == "on") $_SESSION["$random_code"] = "on";
    elseif($_GET["$random_code"] == "off") $_SESSION["$random_code"] = "off";

    $query_string = "?{$_SERVER['QUERY_STRING']}";

    foreach($blocks_db as $blocks)
    {
        $block_code = md5("{$blocks['name']}");
        $block_code = substr("$block_code", 0, 5);

        $query_string = str_replace("&$block_code=off","", $query_string);
        $query_string = str_replace("&$block_code=on","", $query_string);
    }

    if($query_string == "?" || strpos($query_string, '=on') !== false || strpos($query_string, '=off') !== false) $code_query = "?";
    else $code_query = "$query_string&";

    if(!isset($_SESSION["$random_code"]) || $_SESSION["$random_code"] == "on") $links= "<a href='$code_query$random_code=off'><img src='templates/$template/images/misc/minus.gif' border='0'> {$language_block['Calendar title']}</a>";
    elseif($_SESSION["$random_code"] == "off") $links = "<a href='$code_query$random_code=on'><img src='templates/$template/images/misc/plus.gif' border='0'> {$language_block['Calendar title']}</a>";

    $template_block = implode("", file("templates/$template/block.php"));
    $template_block = str_replace("{template}", $template, $template_block);
    $template_block = str_replace("{links}", $links, $template_block);

    if(!isset($_SESSION["$random_code"]) || $_SESSION["$random_code"] == "on")
    {
        //-----------------------------------------------------------------
        //  Some Code parts
        //-----------------------------------------------------------------

        $days = Array($language_block['Calendar day'],$language_block['Calendar day2'],$language_block['Calendar day3'],$language_block['Calendar day4'],$language_block['Calendar day5'],$language_block['Calendar day6'],$language_block['Calendar day7']);
        $months = Array($language_block['Calendar month'],$language_block['Calendar month'],$language_block['Calendar month2'],$language_block['Calendar month3'],$language_block['Calendar month4'],$language_block['Calendar month5'],$language_block['Calendar month6'],$language_block['Calendar month7'],$language_block['Calendar month8'],$language_block['Calendar month9'],$language_block['Calendar month10'],$language_block['Calendar month11'],$language_block['Calendar month12']);

        $month = $m;
        $year = jdate('Y');

        $monthfulltext = jdate("F", mktime(0, 0, 0, $month, 1, $year));
        $day_in_mth = jdate("t", mktime(0, 0, 0, $month, 1, $year));

        if($month == 12) $next_month = 1;
        else $next_month = $month + 1; 

        if($month == 1) $prev_month = 12;
        else $prev_month = $month - 1;

        $result = $db->query("SELECT id, type, day, month, year FROM events WHERE month = '$month' AND year = '$year' ORDER BY 'type'");
        while ($temp = mysql_fetch_array($result))
        {
            $events[$temp['day']][] = $temp['id'];
            $event_info[$temp['id']] = $temp['type'];
            $event_year_db[$temp['id']] = $temp['year'];
        }

        //-----------------------------------------------------------------
        //  Start Display
        //-----------------------------------------------------------------

        $content .= "<tr class='bottom'><td colspan='7' align='center'><table width='100%' border='0' cellspacing='0' cellpadding='0'><col width='5%'><col width='90%'><col width='5%'><tr class='bottom'><td><a href='index.php?m=$prev_month'>&laquo;</a></td><td align='center'>{$months[$month]} $year</td><td><a href='index.php?m=$next_month'>&raquo;</a></td></tr></table></td></tr><tr>";

        foreach($days as $day) $content .= "<td class='con3' align='center'>".substr("$day", 0, $language_block['Calendar daycut'])."</td>";

        $content .= "</tr><tr>";

        //-----------------------------------------------------------------
        //  For first empty spaces
        //-----------------------------------------------------------------

        $day_of_wk = jdate("w", mktime(0, 0, 0, $month, 1, $year));

        if($day_of_wk <> 0) for ($i = 0; $i < $day_of_wk; $i++) $content .= "<td class='con1'>&nbsp;</td>";

        //-----------------------------------------------------------------
        //  Show days + events + birthdays
        //-----------------------------------------------------------------

        for ($date_of_mth = 1; $jdate_of_mth <= $day_in_mth; $jdate_of_mth++)
        {
            //-----------------------------------------------------------------
            //  Configure stuff first
            //-----------------------------------------------------------------

            if ($day_of_wk = 0) for ($i = 0; $i < $day_of_wk; $i++) $content .= "<tr>";

            $date_no = jdate("j", mktime(0, 0, 0, $month, $jdate_of_mth, $year));
            $day_of_wk = jdate("w", mktime(0, 0, 0, $month, $jdate_of_mth, $year));

            //-----------------------------------------------------------------
            //  Calculate class
            //-----------------------------------------------------------------

            if($month == jdate('n'))
            {
                if($jdate_no == jdate('j')) $class = "eventtoday";
                else $class = "eventempty";
            }
            else $class = "eventempty";

            //-----------------------------------------------------------------
            //  Show days
            //-----------------------------------------------------------------

            $day_event = "<td class='$class'>$jdate_no</td>";

            if(isset($events[$jdate_no]))
            {
                foreach ($events[$jdate_no] as $key=>$value)
                {
                    if($jdate_no == jdate('j') && $month == jdate('n')) $day_event = "<td class='eventtoday'><a href='$PHP_SELF?n=modules/events&d=$jdate_no&m=$month'>$jdate_no</a></td>";
                    else
                    {
                        if($event_info[$value] == 'normal') $day_event = "<td class='eventselect'><a href='$PHP_SELF?n=modules/events&d=$jdate_no&m=$month'>$jdate_no</a></td>";
                        else $day_event = "<td class='eventbday'><a href='$PHP_SELF?n=modules/events&d=$jdate_no&m=$month'>$jdate_no</a></td>";
                    }
                }
            }

            $content .= $day_event;

            //-----------------------------------------------------------------
            //  For last empty spaces
            //-----------------------------------------------------------------

            if($day_of_wk == 6) $content .= "</tr>";

            if($day_of_wk < 6 && $jdate_of_mth == $day_in_mth)
            {
                for ($i = $day_of_wk ; $i < 6; $i++) $content .= "<td class='con1'>&nbsp;</td>";

                $content .= "</tr>";
            }
        }
    }

    $template_block = str_replace("{content}", $content, $template_block);
    $output = $template_block;

return $output;
}
 
آخرین ویرایش:

ziXet

مدیر انجمن PHP/MYSQL
ممنون يه امتحان كردم نشد!!!

امكانش هست شما اين كار رو انجام بديد اخه زياد از توابع سر در نمي يارم!!!!

اين پرتال خيلي باحاله !!!
من از همون اول گفتم که مجانی نمیشه!!
 

Amir_Reza

Member
YTERROR عزيز ممنون! ولي نشد صفحه پر شد از خطاهاي زياد!


iranwow نوشته اصلی ارسال شده توسط
ممنون يه امتحان كردم نشد!!!

امكانش هست شما اين كار رو انجام بديد اخه زياد از توابع سر در نمي يارم!!!!

اين پرتال خيلي باحاله !!!

من از همون اول گفتم که مجانی نمیشه!!

من اين پرتال فارسي كنم مجاني ميدم به مردم استفاده كنن نمي خوام كه بفروشم!!!‌بابات اين كار پول بدم!!!!
 

YTERROR

Active Member
خوب کاری روکه من گفتم انجام بده حواب می گیری اگه هم نمی تونی از طریق یاهو که .... هست بده درست بشه بره پی کارش
 

siavashmusic

Active Member
ببین دوست عزیز قبل از انجام باید توابع و کلاس های مربوط به تاریخ رو بشناسی این چیزی که گفتم یک چهارچوب بود مسلما ارورهای دریافتی شما هم دلیلش جایگذاری و عدم تغییر توابع مرتبط و کدهای همگون هست

خدا رو شکر پروژه رو که نمیخوای بفروشی بر مبنی چیزی که بالا گفتم و روی توضیحات تکمیلی عادل کار کن حتما خودت به نتیجه میرسی
 

Amir_Reza

Member
اين پرتال و من قالب/بلوك/ماژول هاشو فارسي كردم الان هم دارم فايل هاي زبان و فارسي ميكنم هم دست تنها هستم هم از اون توابع هيچي سر در نياوردم!!!

هيچي سر در نياوردم 2 بار ور رفتم!
 

Amir_Reza

Member
اقا به كمك اقا عادل به يه نتيجه اي رسيديم ولي اينجوري شد اومد وسط صفحه!!!



چي كار كينم!
 

YTERROR

Active Member
الان 11 همش تکرار شده همه روز ماه ه 11 نیست فکر کنم یکم یراد تویی فایل توابع هست فایل تو دوباره می بینم ببینم چرا به این روز افتاده
 

Amir_Reza

Member
عادل جان كسي رو نميش ناسي مطمئن باشه واسه كمك !!! ترجمه فايل هاي زبان!
 

YTERROR

Active Member
بهت گفتم قبلا فارسی شده اونم 2 بار بهتره از فارسی سازی اونا کمک بگیری

+ فایل های زبان که دیگه کاری نداره همه کلماتش ابتدایه و یک نفر که یکم انگلیسیش معمولی باشه راحت می تونه ترجمه کنه
 

Amir_Reza

Member
كلا: 680 خط موند اونم فارسي ميكنم!!!
1384 - 704 = 680

اگه تقويم درست شه خيلي خدا ميشه!
 

shirini_forush

Well-Known Member
من یه سری کد برای تبدیل میلادی به هجری با دقیق ترین الگوریتم گذاشته بودم. (چون الگوریتم های زیادی برای این کار هست که خیلی هاشون اشتباه دارن)
به زبون های c,c++,php,c#,action script, java script, tex و یه سری زبونهای دیگه گذاشته بودم.
جستجو بفرمایید.
 

YTERROR

Active Member
من یه سری کد برای تبدیل میلادی به هجری با دقیق ترین الگوریتم گذاشته بودم. (چون الگوریتم های زیادی برای این کار هست که خیلی هاشون اشتباه دارن)

:d اینی که ایشون می خوان با اونی که شما فکر می کنید از زمین تا آسمون فرق داره

موفق و پیروز باشید
 

shirini_forush

Well-Known Member
ببخشید من متوجه نیستم... چه تفاوتی داره؟
مگه نمیخوان تاریخ میلادی رو به شمسی تبدیل کنن؟!
 

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

بالا