These are instructions for how to make a calendar of day-page links
formatted yyyy.mm.dd
I'm sure there's a less bulky way to do it, but it seems to work fine.
Let me know if I'm doing anything non-kosher with the coding and the
best way to make it accessible to everyone.
Thanks for your help on this Dan.
Dante
Page code asks for 2 functions:
add these to your boltwire/farm/functions.php
page-------------------------
function BOLTFgridDay($args, $zone=''){
## finds correct calendar day for calendar grid
## uses the grid number, month and year
## returns dd (d if single digit)
$gridDay = $args[''][0]; ## grid number on calendar
$calMonth = $args[''][1];
$calYear = $args[''][2];
$lastDay = date("t", mktime(0, 0, 0, $calMonth, 1, $calYear));
$firstDay = date("w", mktime(0, 0, 0, $calMonth, 1, $calYear));
$gridDay = $gridDay - $firstDay;
##loops around months if the grid day is out of month's range
if ($gridDay < 1) { ## if grid day occurs before month starts
if ($calMonth > 1) {
$calMonth = $calMonth - 1;
}
else {
$calMonth = 12;
$calYear = $calYear - 1;
}
$lastDay = date("t", mktime(0, 0, 0, $calMonth, 1, $calYear));
$gridDay = $lastDay - (-1 * $gridDay);
}
elseif ($gridDay > $lastDay ) { ## if grid day occurs after month
ends
## if ($calMonth < 12) {
## $calMonth = $calMonth + 1;
## }
## else {
## $calMonth = 1;
## $calYear = $calYear + 1;
## }
$gridDay = -1 * ($lastDay - $gridDay);
}
return $gridDay;
}
function BOLTFlinkDay($args, $zone=''){
## finds correct link calendar day for calendar grid using the grid
number, month and year
## like gridDay except it adds 0's to single digit months and days
## returns yyyy.mm.dd
$gridDay = $args[''][0];
$calMonth = $args[''][1];
$calYear = $args[''][2];
$lastDay = date("t", mktime(0, 0, 0, $calMonth, 1, $calYear));
$firstDay = date("w", mktime(0, 0, 0, $calMonth, 1, $calYear));
$gridDay = $gridDay - $firstDay;
##loops around months if the grid day is out of month's range
if ($gridDay < 1) { ## if grid day occurs before month starts
if ($calMonth > 1) {
$calMonth = $calMonth - 1;
}
else {
$calMonth = 12;
$calYear = $calYear - 1;
}
$lastDay = date("t", mktime(0, 0, 0, $calMonth, 1, $calYear));
$gridDay = $lastDay - (-1 * $gridDay);
}
elseif ($gridDay > $lastDay ) { ## if grid day occurs after month
ends
if ($calMonth < 12) {
$calMonth = $calMonth + 1;
}
else {
$calMonth = 1;
$calYear = $calYear + 1;
}
$gridDay = -1 * ($lastDay - $gridDay);
}
## Adds zeros to linkdate if it's a single digit month or day
if ($calMonth < 10) {
$link = $calYear.".0".$calMonth;
}
else {
$link = $calYear.".".$calMonth;
}
if ($gridDay < 10) {
$link = $link.".0".$gridDay;
}
else {
$link = $link.".".$gridDay;
}
return $link;
}
--------------------------------------------------------
Then put this on your calendar page
========================
! {:title} /*Calendar*/
[form]
Select date: [select calYear default='{:calYear}']
[option '2008']2008
[option '2009']2009
[option '2010']2010
[select][select calMonth default='{:calMonth}']
[option '1']January
[option '2']February
[option '3']March
[option '4']April
[option '5']May
[option '6']June
[option '7']July
[option '8']August
[option '9']September
[option '10']October
[option '11']November
[option '12']December
[select]
[select][(search group=snippets template=select)][submit]
[session savedata calMonth,calYear]
[form]
**[(time '{:calMonth}/1/{:calYear}' '%B')]**
[t][r][h]Sun
[h]Mon
[h]Tue
[h]Wed
[h]Thu
[h]Fri
[h]Sat
[r][c][if less [(gridDay 1 {:calMonth} {:calYear})] 10][[[(linkDay 1
{:calMonth} {:calYear})]|[(gridDay 1 {:calMonth} {:calYear})]]][if]
[c][if less [(gridDay 2 {:calMonth} {:calYear})] 10][[[(linkDay 2
{:calMonth} {:calYear})]|[(gridDay 2 {:calMonth} {:calYear})]]][if]
[c][if less [(gridDay 3 {:calMonth} {:calYear})] 10][[[(linkDay 3
{:calMonth} {:calYear})]|[(gridDay 3 {:calMonth} {:calYear})]]][if]
[c][if less [(gridDay 4 {:calMonth} {:calYear})] 10][[[(linkDay 4
{:calMonth} {:calYear})]|[(gridDay 4 {:calMonth} {:calYear})]]][if]
[c][if less [(gridDay 5 {:calMonth} {:calYear})] 10][[[(linkDay 5
{:calMonth} {:calYear})]|[(gridDay 5 {:calMonth} {:calYear})]]][if]
[c][if less [(gridDay 6 {:calMonth} {:calYear})] 10][[[(linkDay 6
{:calMonth} {:calYear})]|[(gridDay 6 {:calMonth} {:calYear})]]][if]
[c][[[(linkDay 7 {:calMonth} {:calYear})]|[(gridDay 7 {:calMonth}
{:calYear})]]]
[r][c][[[(linkDay 8 {:calMonth} {:calYear})]|[(gridDay 8 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 9 {:calMonth} {:calYear})]|[(gridDay 9 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 10 {:calMonth} {:calYear})]|[(gridDay 10 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 11 {:calMonth} {:calYear})]|[(gridDay 11 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 12 {:calMonth} {:calYear})]|[(gridDay 12 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 13 {:calMonth} {:calYear})]|[(gridDay 13 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 14 {:calMonth} {:calYear})]|[(gridDay 14 {:calMonth}
{:calYear})]]]
[r][c][[[(linkDay 15 {:calMonth} {:calYear})]|[(gridDay 15 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 16 {:calMonth} {:calYear})]|[(gridDay 16 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 17 {:calMonth} {:calYear})]|[(gridDay 17 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 18 {:calMonth} {:calYear})]|[(gridDay 18 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 19 {:calMonth} {:calYear})]|[(gridDay 19 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 20 {:calMonth} {:calYear})]|[(gridDay 20 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 21 {:calMonth} {:calYear})]|[(gridDay 21 {:calMonth}
{:calYear})]]]
[r][c][[[(linkDay 22 {:calMonth} {:calYear})]|[(gridDay 22 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 23 {:calMonth} {:calYear})]|[(gridDay 23 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 24 {:calMonth} {:calYear})]|[(gridDay 24 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 25 {:calMonth} {:calYear})]|[(gridDay 25 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 26 {:calMonth} {:calYear})]|[(gridDay 26 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 27 {:calMonth} {:calYear})]|[(gridDay 27 {:calMonth}
{:calYear})]]]
[c][[[(linkDay 28 {:calMonth} {:calYear})]|[(gridDay 28 {:calMonth}
{:calYear})]]]
[r][c][if more [(gridDay 29 {:calMonth} {:calYear})] 20][[[(linkDay 29
{:calMonth} {:calYear})]|[(gridDay 29 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 30 {:calMonth} {:calYear})] 20][[[(linkDay 30
{:calMonth} {:calYear})]|[(gridDay 30 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 31 {:calMonth} {:calYear})] 20][[[(linkDay 31
{:calMonth} {:calYear})]|[(gridDay 31 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 32 {:calMonth} {:calYear})] 20][[[(linkDay 32
{:calMonth} {:calYear})]|[(gridDay 32 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 33 {:calMonth} {:calYear})] 20][[[(linkDay 33
{:calMonth} {:calYear})]|[(gridDay 33 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 34 {:calMonth} {:calYear})] 20][[[(linkDay 34
{:calMonth} {:calYear})]|[(gridDay 34 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 35 {:calMonth} {:calYear})] 20][[[(linkDay 35
{:calMonth} {:calYear})]|[(gridDay 35 {:calMonth} {:calYear})]]][if]
[r][c][if more [(gridDay 36 {:calMonth} {:calYear})] 20][[[(linkDay 36
{:calMonth} {:calYear})]|[(gridDay 36 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 37 {:calMonth} {:calYear})] 20][[[(linkDay 37
{:calMonth} {:calYear})]|[(gridDay 37 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 38 {:calMonth} {:calYear})] 20][[[(linkDay 38
{:calMonth} {:calYear})]|[(gridDay 38 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 39 {:calMonth} {:calYear})] 20][[[(linkDay 39
{:calMonth} {:calYear})]|[(gridDay 39 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 40 {:calMonth} {:calYear})] 20][[[(linkDay 40
{:calMonth} {:calYear})]|[(gridDay 40 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 41 {:calMonth} {:calYear})] 20][[[(linkDay 41
{:calMonth} {:calYear})]|[(gridDay 41 {:calMonth} {:calYear})]]][if]
[c][if more [(gridDay 42 {:calMonth} {:calYear})] 20][[[(linkDay 42
{:calMonth} {:calYear})]|[(gridDay 42 {:calMonth} {:calYear})]]][if]
[t]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"BoltWire" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/boltwire?hl=en
-~----------~----~----~----~------~----~------~--~---