1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
| <?php
//arrays
$arrDays = array("Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя");
$arrMonth = array(
"01" => "Януари",
"02" => "Февруари",
"03" => "Март",
"04" => "Април",
"05" => "Май",
"06" => "Юни",
"07" => "Юли",
"08" => "Август",
"09" => "Септември",
"10" => "Октомври",
"11" => "Ноември",
"12" => "Декември"
);
/**************************************************
|* function: calendar($day, $month, $year); *|
|* $day - текущ ден; *|
|* $month - месец; *|
|* $year - година; *|
|* purpose: показва календар за даден месец; *|
|* outcome: html резултат; *|
**************************************************/
function calendar($day, $month, $year) {
global $arrDays, $arrMonth, $db, $dbpref, $submit;
$current = @unixtojd(mktime(0, 0, 0, $month, 1, $year));
$today = @cal_from_jd($current, CAL_GREGORIAN);
$position = $today["dow"];
if ($position == 0) $position = 6;
$max = @cal_days_in_month(CAL_GREGORIAN, $month, $year);
if ( strlen($month) == 1) $month = "0".$month;
if ( ( $month == date("m") ) and ( $year == date("Y") ) ) $day = date("d"); //задава текущия ден след промени в календара
//opredelqne na linkovete
if ($month == 12) {
$downmonth = $month - 1;
$upmonth = 01;
$upyear = $year + 1;
$downyear = $year;
}
elseif ($month == 01) {
$downmonth = 12;
$upmonth = $month + 1;
$upyear = $year;
$downyear = $year - 1;
}
else {
$downmonth = $month - 1;
$upmonth = $month + 1;
$upyear = $year;
$downyear = $year;
}
foreach ($_GET as $key => $value) {
if ($key == "month") {
$getup .= "month=".$upmonth."&";
$getdown .= "month=".$downmonth."&";
}
elseif ($key == "year") {
$getup .= "year=".$upyear."&";
$getdown .= "year=".$downyear."&";
}
else {
$getup .= $key."=".$value."&";
$getdown .= $key."=".$value."&";
}
}
if ( !ereg("month", $getdown)) $getdown .= "month=".$downmonth."&year=".$downyear;
if ( !ereg("month", $getup)) $getup .= "month=".$upmonth."&year=".$upyear;
//krai na opredelqneto
$res .= "<div class="under"><b><a href="?".$getdown."">«</a> </b> ".$arrMonth[$month]." ".$year." <b> <a href="?".$getup."">»</a></b></div>n<div id="cal">n<div class="week">n";
for ($i = 0; $i < count($arrDays); $i++) {
$res .= "<div class="day" title="".$arrDays[$i]."">".$arrDays[$i]{0}."</div>n";
}
$res .= "</div>n<div class="week">n";
for ($i = 1; $i < ($max + $position); $i++) {
if ($i < $position) $res .= "<div class="noday"> </div>n";
else {
$post = $db->operation("select id from ".$dbpref."comments where date = '".$year."-".$month."-".($i - $position + 1)."' ");
if ( $post > 0) {
if ( (($i - $position + 1) == $day) and ($month == date("m")) )
$res .= "<div class="cday"><a href="?act=viewdate&day=".($i - $position + 1)."&month=".$month."&year=".$year."" title="".$post."">".($i - $position + 1)."</a></div>n";
else
$res .= "<div class="day"><a href="?act=viewdate&day=".($i - $position + 1)."&month=".$month."&year=".$year."" title="".$post."">".($i - $position + 1)."</a></div>n";
}
else {
if ( (($i - $position + 1) == $day) and $month == date("m")) $res .= "<div class="cday">".($i - $position + 1)."</div>n";
else $res .= "<div class="day">".($i - $position + 1)."</div>n";
}
if ( ($i % 7) == 0 AND ($i != 1) ) $res .= "</div>n<div class="week">n";
}
}
if ( ( ($i - $position + 1) % 7) != 0) $res .= "</div>n";
return $res."</div>";
} |