سلام دوستان من دارم يك پروتال فارسي ميكنم ولي نتتونستم تقويمش رو شمسي كينم ميشه كمك كنيد!!
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'>«</a></td><td align='center'>{$months[$month]} $year</td><td><a href='index.php?m=$next_month'>»</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'> </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'> </td>";
$content .= "</tr>";
}
}
}
$template_block = str_replace("{content}", $content, $template_block);
$output = $template_block;
return $output;
}