}
const getFilePathForWeek = 'getFilePathForWeek';
-function getFilePathForWeek(int $year, int $monthNum, int $weekNum) {
+function getFilePathForWeek(int $year, int $monthNum, int $weekNum, string $base) {
// December is part of next year's summer
$seasonYear = $year;
return sprintf(
- 'tasks/%s/%s/%s/week%s.txt',
+ '%s/tasks/%s/%s/%s/week%s.txt',
+ $base,
$seasonYear,
getSeason($monthNum),
getMonthName($monthNum),
return $year - (int)($month == 1 && getMonthWeekBeginsIn($year, $month, $day) == 12);
}
-function getFilePathsForMonth(int $year, int $monthNum) {
- return map(function($week) use ($year, $monthNum){
- return getFilePathForWeek($year, $monthNum, $week);
+function getFilePathsForMonth(int $year, int $monthNum, string $base) {
+ return map(function($week) use ($year, $monthNum, $base){
+ return getFilePathForWeek($year, $monthNum, $week, $base);
})(range(1, count(getMondaysForMonth($year, $monthNum))));
}
-function getFilePathsForSeason(int $year, string $season) {
- return array_merge(...map(function($monthNum) use ($year) {
+function getFilePathsForSeason(int $year, string $season, string $base) {
+ return array_merge(...map(function($monthNum) use ($year, $base) {
// Summer of the current year includes december of the previous year.
$seasonYear = $year - ($monthNum == 12 ? 1 : 0);
- return getFilePathsForMonth($seasonYear, $monthNum);
+ return getFilePathsForMonth($seasonYear, $monthNum, $base);
})(array_filter(range(1,12), function($month) use ($season) {
return getSeason($month) == $season;
})));
}
-function getFilePathsForYear(int $year) {
- return array_merge(...map(function($season) use ($year) {
- return getFilePathsForSeason($year, $season);
+function getFilePathsForYear(int $year, string $base) {
+ return array_merge(...map(function($season) use ($year, $base) {
+ return getFilePathsForSeason($year, $season, $base);
})(['summer', 'winter', 'spring', 'autumn']));
}