A Qcodo based CMS/ecommerce framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

188 lines
5.9 KiB

<?php
function CastToInt($strNumber) {
settype($strNumber, "int");
return $strNumber;
}
if ((!array_key_exists("intTimestamp", $_GET)) || (!$_GET["intTimestamp"])) {
$intTimestamp = time();
} else
$intTimestamp = $_GET["intTimestamp"];
$intSelectedMonth = CastToInt(date("n", $intTimestamp));
$intSelectedDay = CastToInt(date("j", $intTimestamp));
$intSelectedYear = CastToInt(date("Y", $intTimestamp));
$intTimestamp = mktime(0,0,0, $intSelectedMonth, $intSelectedDay, $intSelectedYear);
$dttToday = mktime(0,0,0, date("n"), date("j"), date("Y"));
$intMonthStartsOn = CastToInt(date("w", mktime(0,0,0, $intSelectedMonth, 1, $intSelectedYear)));
$intMonthDays = CastToInt(date("t", $intTimestamp));
$intPreviousMonthDays = CastToInt(date("t", mktime(0,0,0, $intSelectedMonth - 1, 1, $intSelectedYear)));
$strQueryArgs = sprintf("&strFormId=%s&strId=%s", $_GET["strFormId"], $_GET["strId"]);
$strChangeCommand = sprintf('window.opener.document.forms["%s"].elements["%s"].value = "%s"; ',
$_GET["strFormId"],
$_GET["strId"],
date("M j Y", $intTimestamp));
$strChangeCommand .= sprintf('window.opener.document.forms["%s"].elements["%s_intTimestamp"].value = "%s"; ',
$_GET["strFormId"],
$_GET["strId"],
$intTimestamp);
$strChangeCommand .= sprintf('if (window.opener.document.forms["%s"].elements["%s"].onchange) window.opener.document.forms["%s"].elements["%s"].onchange();',
$_GET["strFormId"],
$_GET["strId"],
$_GET["strFormId"],
$_GET["strId"]);
?>
<html>
<head>
<title>Calendar</title>
<script type="text/javascript">
function selectDate(intTimestamp) {
document.location = "calendar.php?intTimestamp=" + intTimestamp + "<?php print($strQueryArgs); ?>";
}
function cancel() {
window.close();
}
function done() {
<?php print($strChangeCommand); ?>
window.close();
}
</script>
<style>
.main {
font-family: verdana, arial, helvetica, sans-serif;
font-size: 9px;
text-align: center;
color: #004d5d
}
A {
text-decoration: none;
}
.dropdown {
background-color: #e5e5e5;
font-family: arial, helvetica, sans-serif;
font-size: 8pt;
}
.button {
font-family: verdana, arial, helvetica, sans-serif;
font-size: 7.5pt;
font-weight: bold;
color: #ffffff;
background-color: #004d5d;
text-align: center;
vertical-align: middle;
height: 18px;
border: thin solid #223344;
}
.offMonth {
color: #999999;
background-color: #f0f0f0;
}
.onMonth {
color: #005599;
background-color: #e0f0f0;
}
.onMonthWeekend {
color: #80aabb;
background-color: #ffffff;
}
.selected {
color: #ffffff;
background-color: #ee0000;
}
.today {
color: #ffffff;
background-color: #80aabb;
}
</style>
</head>
<body><form method="get" name="myForm"><center>
<select name="dttMonth" class="dropdown" onchange="selectDate(document.myForm.dttMonth.options[document.myForm.dttMonth.selectedIndex].value)">
<?php
for ($intMonth = 1; $intMonth <= 12; $intMonth++) {
$intTimestampLabel = mktime(0,0,0, $intMonth, 1, $intSelectedYear);
$strLabel = date("F", $intTimestampLabel);
$strSelected = ($intMonth == $intSelectedMonth) ? "selected" : "";
printf('<option value="%s" %s>%s</option>', $intTimestampLabel, $strSelected, $strLabel);
}
?>
</select> &nbsp;
<select name="dttYear" class="dropdown" onchange="selectDate(document.myForm.dttYear.options[document.myForm.dttYear.selectedIndex].value)">
<?php
for ($intYear = 1970; $intYear <= 2010; $intYear++) {
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth, 1, $intYear);
$strLabel = date("Y", $intTimestampLabel);
$strSelected = ($intYear == $intSelectedYear) ? 'selected="selected"' : '';
printf('<option value="%s" %s>%s</option>', $intTimestampLabel, $strSelected, $strLabel);
}
?>
</select>
<table cellspacing="2" cellpadding="2" border="0" class="main">
<tr>
<td>Su</td>
<td>Mo</td>
<td>Tu</td>
<td>We</td>
<td>Th</td>
<td>Fr</td>
<td>Sa</td>
</tr>
<?php
$intDaysBack = ($intMonthStartsOn == 0) ? 7 : $intMonthStartsOn;
$intIndex = 1 - $intDaysBack;
$intRowCount = 0;
while ($intRowCount < 6) {
print('<tr>');
for ($intDayOfWeek = 0; $intDayOfWeek <= 6; $intDayOfWeek++) {
if ($intIndex < 1) {
$intLabel = $intPreviousMonthDays + $intIndex;
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth - 1, $intLabel, $intSelectedYear);
$strCssclass = "offMonth";
} else if ($intIndex > $intMonthDays) {
$intLabel = $intIndex - $intMonthDays;
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth + 1, $intLabel, $intSelectedYear);
$strCssclass = "offMonth";
} else {
$intLabel = $intIndex;
$intTimestampLabel = mktime(0,0,0, $intSelectedMonth, $intLabel, $intSelectedYear);
$strCssclass = "onMonth";
if ((date("w", $intTimestampLabel) == 0) || (date("w", $intTimestampLabel) == 6))
$strCssclass = "onMonthWeekend";
else
$strCssclass = "onMonth";
}
if ($intTimestampLabel == $intTimestamp)
$strCssclass = "selected";
else if ($intTimestampLabel == $dttToday)
$strCssclass = "today";
printf('<td class="%s"><a class="%s" href="#" onclick="selectDate(%s)">%s</a></td>', $strCssclass, $strCssclass, $intTimestampLabel, $intLabel);
$intIndex++;
}
print('</tr>');
$intRowCount++;
}
?>
<tr>
<td colspan="7">Selected Day: <?php print(date("n/j/Y", $intTimestamp)); ?><br />&nbsp;</td>
</tr>
</table>
<input type="button" class="button" name="Done" value="DONE" onclick="done()" /> &nbsp;
<input type="button" class="button" name="Cancel" value="CANCEL" onclick="cancel()" />
</center></form></body></html>
<?php
//printf("Month Starts On: %s<br>Month Days: %s<br>Prev Month Days: %s", $intMonthStartsOn, $intMonthDays, $intPreviousMonthDays);
?>