diff --git a/3.0/modules/calendarview/views/calendarview_year.html.php b/3.0/modules/calendarview/views/calendarview_year.html.php
index be739c79..1b47dbcf 100644
--- a/3.0/modules/calendarview/views/calendarview_year.html.php
+++ b/3.0/modules/calendarview/views/calendarview_year.html.php
@@ -9,170 +9,86 @@
= $calendar_user_year_form ?>
- $counter_months = 1;
- // Loop through January to November in the current year.
- while ($counter_months <12) {
- print "
";
-
- // Figure out if any photos were taken for the current month.
- if ($calendar_user == "-1") {
- $month_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months+1, 1, $calendar_year))
- ->find_all()
- ->count();
- } else {
- $month_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months+1, 1, $calendar_year))
- ->find_all()
- ->count();
- }
- if ($month_count > 0) {
- $month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
- } else {
- $month_url = "";
- }
- $calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
-
- // If there are photos, loop through each day in the month and display links on the correct dates.
- if ($month_count > 0) {
- $curr_day = 1;
- $MAX_DAYS = date('t', mktime(00, 00, 00, $counter_months, 1, $calendar_year));
- while ($curr_day < $MAX_DAYS) {
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
- } else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
- }
- if ($day_count > 0) {
- $calendar->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
- }
- $curr_day++;
- }
-
- // Do the last day of the month seperately, because the mktime code is different.
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<",mktime(0, 0, 0, ($counter_months + 1), 1, $calendar_year))
- ->find_all()
- ->count();
- } else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, ($counter_months + 1), 1, $calendar_year))
- ->find_all()
- ->count();
- }
- if ($day_count > 0) {
- $calendar->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
- }
- }
- echo $calendar->render();
- print "
";
- $counter_months++;
- }
-
- // Do December seperately, because the mktime code is different.
- print "";
+ // Search the db for all photos that were taken during the selected year.
if ($calendar_user == "-1") {
- $month_count = ORM::factory("item")
+ $items_for_year = ORM::factory("item")
->viewable()
->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
+ ->where("captured", ">=", mktime(0, 0, 0, 1, 1, $calendar_year))
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
- ->find_all()
- ->count();
+ ->order_by("captured")
+ ->find_all();
} else {
- $month_count = ORM::factory("item")
+ $items_for_year = ORM::factory("item")
->viewable()
->where("owner_id", "=", $calendar_user)
->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
+ ->where("captured", ">=", mktime(0, 0, 0, 1, 1, $calendar_year))
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
- ->find_all()
- ->count();
+ ->order_by("captured")
+ ->find_all();
}
- if ($month_count > 0) {
+
+ // Set up some initial variables.
+ $counter_months = 1;
+ $counter_days = 0;
+ $counter = 0;
+
+ // Set up the January Calendar.
+ // Check and see if any photos were taken in January,
+ // If so, make the month title into a clickable link.
+ print "
";
+ if (date("n", $items_for_year[$counter]->captured) == 1) {
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
} else {
$month_url = "";
}
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
- if ($month_count > 0) {
- $curr_day = 1;
- $MAX_DAYS = date('t', mktime(00, 00, 00, $counter_months, 1, $calendar_year));
- while ($curr_day < $MAX_DAYS) {
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
+
+ // Loop through each photo taken during this year, and see what month and day they were taken on.
+ // Make the corresponding dates on the calendars into clickable links.
+ while ($counter < (count($items_for_year))) {
+
+ // Check and see if we've switched to a new month.
+ // If so, render the current calendar and set up a new one.
+ while (date("n", $items_for_year[$counter]->captured) > $counter_months) {
+ echo $calendar->render();
+ print "
";
+ $counter_months++;
+ $counter_days = 0;
+ print "
";
+ if (date("n", $items_for_year[$counter]->captured) == $counter_months) {
+ $month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
} else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
+ $month_url = "";
}
- if ($day_count > 0) {
- $calendar->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
- }
- $curr_day++;
- }
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, 1, 1, $calendar_year+1))
- ->find_all()
- ->count();
- } else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, 1, 1, $calendar_year+1))
- ->find_all()
- ->count();
- }
- if ($day_count > 0) {
- $calendar->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
+ $calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
}
+
+ // If the day of the current photo is different then the day of the previous photo,
+ // then add a link to the calendar for this date and set the current day to this day.
+ if (date("j", $items_for_year[$counter]->captured) > $counter_days) {
+ $counter_days = date("j", $items_for_year[$counter]->captured);
+ $calendar->event($counter_days, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $counter_days));
+ }
+
+ // Move onto the next photo.
+ $counter++;
}
- $counter_months++;
+
+ // Print out the last calendar to be generated.
echo $calendar->render();
print "
";
-?>
\ No newline at end of file
+ $counter_months++;
+
+ // If the calendar that was previously rendered was not December,
+ // then print out a few empty months for the rest of the year.
+ while ($counter_months < 13) {
+ print "
";
+ $month_url = "";
+ $calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
+ echo $calendar->render();
+ print "
";
+ $counter_months++;
+ }
+?>
diff --git a/3.1/modules/calendarview/views/calendarview_year.html.php b/3.1/modules/calendarview/views/calendarview_year.html.php
index be739c79..1b47dbcf 100644
--- a/3.1/modules/calendarview/views/calendarview_year.html.php
+++ b/3.1/modules/calendarview/views/calendarview_year.html.php
@@ -9,170 +9,86 @@
= $calendar_user_year_form ?>
- $counter_months = 1;
- // Loop through January to November in the current year.
- while ($counter_months <12) {
- print "
";
-
- // Figure out if any photos were taken for the current month.
- if ($calendar_user == "-1") {
- $month_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months+1, 1, $calendar_year))
- ->find_all()
- ->count();
- } else {
- $month_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months+1, 1, $calendar_year))
- ->find_all()
- ->count();
- }
- if ($month_count > 0) {
- $month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
- } else {
- $month_url = "";
- }
- $calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
-
- // If there are photos, loop through each day in the month and display links on the correct dates.
- if ($month_count > 0) {
- $curr_day = 1;
- $MAX_DAYS = date('t', mktime(00, 00, 00, $counter_months, 1, $calendar_year));
- while ($curr_day < $MAX_DAYS) {
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
- } else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
- }
- if ($day_count > 0) {
- $calendar->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
- }
- $curr_day++;
- }
-
- // Do the last day of the month seperately, because the mktime code is different.
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<",mktime(0, 0, 0, ($counter_months + 1), 1, $calendar_year))
- ->find_all()
- ->count();
- } else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, ($counter_months + 1), 1, $calendar_year))
- ->find_all()
- ->count();
- }
- if ($day_count > 0) {
- $calendar->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
- }
- }
- echo $calendar->render();
- print "
";
- $counter_months++;
- }
-
- // Do December seperately, because the mktime code is different.
- print "
";
+ // Search the db for all photos that were taken during the selected year.
if ($calendar_user == "-1") {
- $month_count = ORM::factory("item")
+ $items_for_year = ORM::factory("item")
->viewable()
->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
+ ->where("captured", ">=", mktime(0, 0, 0, 1, 1, $calendar_year))
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
- ->find_all()
- ->count();
+ ->order_by("captured")
+ ->find_all();
} else {
- $month_count = ORM::factory("item")
+ $items_for_year = ORM::factory("item")
->viewable()
->where("owner_id", "=", $calendar_user)
->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, 1, $calendar_year))
+ ->where("captured", ">=", mktime(0, 0, 0, 1, 1, $calendar_year))
->where("captured", "<", mktime(0, 0, 0, 1, 1, ($calendar_year + 1)))
- ->find_all()
- ->count();
+ ->order_by("captured")
+ ->find_all();
}
- if ($month_count > 0) {
+
+ // Set up some initial variables.
+ $counter_months = 1;
+ $counter_days = 0;
+ $counter = 0;
+
+ // Set up the January Calendar.
+ // Check and see if any photos were taken in January,
+ // If so, make the month title into a clickable link.
+ print "
";
+ if (date("n", $items_for_year[$counter]->captured) == 1) {
$month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
} else {
$month_url = "";
}
$calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
- if ($month_count > 0) {
- $curr_day = 1;
- $MAX_DAYS = date('t', mktime(00, 00, 00, $counter_months, 1, $calendar_year));
- while ($curr_day < $MAX_DAYS) {
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
+
+ // Loop through each photo taken during this year, and see what month and day they were taken on.
+ // Make the corresponding dates on the calendars into clickable links.
+ while ($counter < (count($items_for_year))) {
+
+ // Check and see if we've switched to a new month.
+ // If so, render the current calendar and set up a new one.
+ while (date("n", $items_for_year[$counter]->captured) > $counter_months) {
+ echo $calendar->render();
+ print "
";
+ $counter_months++;
+ $counter_days = 0;
+ print "
";
+ if (date("n", $items_for_year[$counter]->captured) == $counter_months) {
+ $month_url = url::site("calendarview/month/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/");
} else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $curr_day, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, $counter_months, ($curr_day + 1), $calendar_year))
- ->find_all()
- ->count();
+ $month_url = "";
}
- if ($day_count > 0) {
- $calendar->event($curr_day, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $curr_day));
- }
- $curr_day++;
- }
- if ($calendar_user == "-1") {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, 1, 1, $calendar_year+1))
- ->find_all()
- ->count();
- } else {
- $day_count = ORM::factory("item")
- ->viewable()
- ->where("owner_id", "=", $calendar_user)
- ->where("type", "!=", "album")
- ->where("captured", ">=", mktime(0, 0, 0, $counter_months, $MAX_DAYS, $calendar_year))
- ->where("captured", "<", mktime(0, 0, 0, 1, 1, $calendar_year+1))
- ->find_all()
- ->count();
- }
- if ($day_count > 0) {
- $calendar->event($MAX_DAYS, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $MAX_DAYS));
+ $calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
}
+
+ // If the day of the current photo is different then the day of the previous photo,
+ // then add a link to the calendar for this date and set the current day to this day.
+ if (date("j", $items_for_year[$counter]->captured) > $counter_days) {
+ $counter_days = date("j", $items_for_year[$counter]->captured);
+ $calendar->event($counter_days, url::site("calendarview/day/" . $calendar_year . "/" . $calendar_user . "/" . $counter_months . "/" . $counter_days));
+ }
+
+ // Move onto the next photo.
+ $counter++;
}
- $counter_months++;
+
+ // Print out the last calendar to be generated.
echo $calendar->render();
print "
";
-?>
\ No newline at end of file
+ $counter_months++;
+
+ // If the calendar that was previously rendered was not December,
+ // then print out a few empty months for the rest of the year.
+ while ($counter_months < 13) {
+ print "
";
+ $month_url = "";
+ $calendar = new PHPCalendar($counter_months, $calendar_year, $month_url);
+ echo $calendar->render();
+ print "
";
+ $counter_months++;
+ }
+?>