| px | top | add code | search | signup | login | help |
<?
/////////////////////////////////////////////////////////////////////////////////
//
// dtcalendar(class) : Written by Maziar Aflatoun 2001
// email : maz88@home.com
//
// To add an event use
// $testcal = new dtCalendar;
// $testcal->initialize($current_month_new,$current_day_new,$current_year_new);
// $testcal->add_event(1); when set, there is an event for that specific day
// $testcal->add_event(2); use
// $testcal->display();
//
//////////////////////////////////////////////////////////////////////////////////
class dtCalendar {
//////////////// General setting (user modify) /////////////////////////////////
var $col_today_bg = \\\"#EFF333\\\";
var $col_title_bg = \\\"#30267B\\\";
var $col_title_txt = \\\"#FFFFFF\\\";
var $col_cell_bg = \\\"#E6E6E6\\\";
var $col_nav_bg = \\\"#CCCCCC\\\";
var $col_nav_txt = \\\"#000000\\\";
// set to true/false to enable/disable top navigation bar (default=on)
var $show_nav = \\\"true\\\";
// set href page and it\\\'s target
var $href_page = \\\"viewselecteddate.php\\\";
var $target = \\\"_self\\\";
/////////////////////////////////////////////////////////////////////////////////
// valid months starting with jan <=> 1
var $valid_months = array(1=>\\\"Jan\\\", \\\"Feb\\\", \\\"Mar\\\", \\\"Apr\\\", \\\"May\\\", \\\"Jun\\\", \\\"Jul\\\", \\\"Aug\\\", \\\"Sep\\\", \\\"Oct\\\", \\\"Nov\\\", \\\"Dec\\\");
// valid days starting with Sat <=> 1 for table location
var $valid_days = array(\\\"Sat\\\"=>1, \\\"Sun\\\"=>2, \\\"Mon\\\"=>3, \\\"Tue\\\"=>4, \\\"Wed\\\"=>5, \\\"Thu\\\"=>6, \\\"Fri\\\"=>7);
var $months_events = array();
var $current_day;
var $current_month;
var $current_year;
var $current_date;
var $abbreviated_wkday;
var $current_month_str;
function dtCalendar() {
$this->current_month = intval(date(\\\"m\\\"));
$this->current_day = intval(date(\\\"d\\\"));
$this->current_year = intval(date(\\\"Y\\\"));
// Find the first day of any given month (displaying table usage)
$this->abbreviated_wkday = strftime(\\\"%a\\\", mktime(0,0,0,$this->current_month,1,$this->current_year));
//$this->current_month_str = $this->valid_months[$this->current_month];
}
function initialize($current_month_new, $current_day_new, $current_year_new) {
$this->current_month = $current_month_new;
$this->current_day = $current_day_new;
$this->current_year = $current_year_new;
// Find the first day of any given month (displaying table usage)
$this->abbreviated_wkday = strftime(\\\"%a\\\", mktime(0,0,0,$current_month_new,1,$current_year_new));
}
// Add an event to the calendar
function add_event($event_day) {
$event_day++;
$this->months_events[$event_day] = 1;
}
function display() {
?>
<table width=\\\"500\\\" border=\\\"0\\\" cellspacing=\\\"0\\\" cellpadding=\\\"0\\\">
<? if ($this->show_nav == \\\"true\\\") { ?>
<tr>
<td bgcolor=\\\"<?=$this->col_nav_bg?>\\\">
<form name=\\\"datesubmit\\\" method=\\\"post\\\" action=\\\"index.php\\\">
<table width=\\\"100%\\\" border=\\\"0\\\" cellspacing=\\\"1\\\" cellpadding=\\\"5\\\">
<tr>
<td width=\\\"7%\\\" align=\\\"left\\\" valign=\\\"middle\\\"><font color=\\\"<?=$this->col_nav_txt?>\\\"><b>Year:</b></font></td>
<td width=\\\"18%\\\" align=\\\"left\\\" valign=\\\"middle\\\">
<input type=\\\"hidden\\\" name=\\\"current_day_new\\\" value=\\\"1\\\">
<select name=\\\"current_year_new\\\">
<?
for ($yearcnt=2020; $yearcnt>1970; $yearcnt--){
$inctag=\\\"\\\";
if ($yearcnt == $this->current_year) {
$inctag = \\\"selected\\\";
}
print \\\"<option value=\\\'\\\".$yearcnt.\\\"\\\' $inctag>\\\".$yearcnt.\\\"</option>\\\";
}
?>
</select>
</td>
<td width=\\\"9%\\\" align=\\\"left\\\" valign=\\\"middle\\\"><font color=\\\"<?=$this->col_nav_txt?>\\\"><b>Month:</b></font></td>
<td width=\\\"16%\\\" align=\\\"left\\\" valign=\\\"middle\\\">
<select name=\\\"current_month_new\\\">
<option value=\\\"1\\\" <?if ($this->current_month == \\\"01\\\") print \\\"selected\\\";?>>Jan</option>
<option value=\\\"2\\\" <?if ($this->current_month == \\\"02\\\") print \\\"selected\\\";?>>Feb</option>
<option value=\\\"3\\\" <?if ($this->current_month == \\\"03\\\") print \\\"selected\\\";?>>Mar</option>
<option value=\\\"4\\\" <?if ($this->current_month == \\\"04\\\") print \\\"selected\\\";?>>Apr</option>
<option value=\\\"5\\\" <?if ($this->current_month == \\\"05\\\") print \\\"selected\\\";?>>May</option>
<option value=\\\"6\\\" <?if ($this->current_month == \\\"06\\\") print \\\"selected\\\";?>>Jun</option>
<option value=\\\"7\\\" <?if ($this->current_month == \\\"07\\\") print \\\"selected\\\";?>>Jul</option>
<option value=\\\"8\\\" <?if ($this->current_month == \\\"08\\\") print \\\"selected\\\";?>>Aug</option>
<option value=\\\"9\\\" <?if ($this->current_month == \\\"09\\\") print \\\"selected\\\";?>>Sep</option>
<option value=\\\"10\\\" <?if ($this->current_month == \\\"10\\\") print \\\"selected\\\";?>>Oct</option>
<option value=\\\"11\\\" <?if ($this->current_month == \\\"11\\\") print \\\"selected\\\";?>>Nov</option>
<option value=\\\"12\\\" <?if ($this->current_month == \\\"12\\\") print \\\"selected\\\";?>>Dec</option>
</select>
</td>
<td width=\\\"50%\\\" align=\\\"left\\\" valign=\\\"middle\\\">
<input type=\\\"submit\\\" name=\\\"Submit\\\" value=\\\"Go\\\">
</td>
</tr>
</table>
</form>
</td>
</tr>
<? } ?>
<tr>
<td align=\\\"left\\\" valign=\\\"top\\\">
<table width=\\\"100%\\\" border=\\\"0\\\" cellspacing=\\\"1\\\" cellpadding=\\\"1\\\">
<tr bgcolor=\\\"<?=$this->col_title_bg?>\\\">
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Sat</b></font></td>
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Sun</b></font></td>
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Mon</b></font></td>
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Tue</b></font></td>
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Wed</b></font></td>
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Thu</b></font></td>
<td align=\\\"left\\\"><font color=\\\"<?=$this->col_title_txt?>\\\"><b>Fri</b></font></td>
</tr>
<?
$x_day=1;
for ($tbl_row=1; $tbl_row < 7; $tbl_row++) {
print \\\"<tr>\\\";
for ($tbl_col=1; $tbl_col<8; $tbl_col++) {
if (checkdate($this->current_month, $x_day, $this->current_year)) {
if (($tbl_col < intval($this->valid_days[$this->abbreviated_wkday])) && ($tbl_row==1)) {
print \\\"<td bgcolor=\\\".$this->col_cell_bg.\\\"> </td>\\\";
} else {
($x_day < 10) ? $x_day_submit = \\\"0\\\".\\\"$x_day\\\" : $x_day_submit = $x_day;
($this->current_month < 10) ? $current_month_submit = \\\"0\\\".$this->current_month : $current_month_submit = $this->current_month;
if ($this->current_day == $x_day) {
print \\\"<td align=left bgcolor=\\\".$this->col_today_bg.\\\">\\\";
print \\\"<b><a href=\\\'\\\".$this->href_page.\\\"?selecteddate=\\\".$this->current_year.\\\"-\\\".$current_month_submit.\\\"-\\\".$x_day_submit.\\\"\\\' target=\\\'\\\".$this->target.\\\"\\\'>\\\".$x_day++.\\\"</a></b>\\\";
} else {
print \\\"<td align=left bgcolor=\\\".$this->col_cell_bg.\\\">\\\";
print \\\"<a href=\\\'\\\".$this->href_page.\\\"?selecteddate=\\\".$this->current_year.\\\"-\\\".$current_month_submit.\\\"-\\\".$x_day_submit.\\\"\\\' target=\\\'\\\".$this->target.\\\"\\\'>\\\".$x_day++.\\\"</a>\\\";
}
if (isset($this->months_events[$x_day])) print \\\"<blink>*</blink>\\\";
print \\\"</td>\\\";
}
} else {
print \\\"<td align=center bgcolor=\\\".$this->col_cell_bg.\\\"> </td>\\\";
}
} // for
print \\\"</tr>\\\";
}?>
</table>
</td>
</tr>
</table> <?
}
} // end class
?>
Comments or questions?
PX is running PHP 5.2.11
Thanks to Miranda Productions for hosting and bandwidth.
Use of any code from PX is at your own risk.