This is how I decode them.
class DayWordsToBitmap
{
public static function dayWordsToBitmap($id)
{
switch ($id) {
// 1 (for Monday) through 7 (for Sunday)
case "Monday":
case "Bank Holidays":
return pow(2, ViewBusStopTimetables::MONDAY);
case "Tuesday":
return pow(2, ViewBusStopTimetables::TUESDAY);
case "Wednesday":
return pow(2, ViewBusStopTimetables::WEDNESDAY);
case "Thursday":
return pow(2, ViewBusStopTimetables::THURSDAY);
case "Friday":
case "School Friday":
case "Non-School Friday":
return pow(2, ViewBusStopTimetables::FRIDAY);
case "Saturday":
return pow(2, ViewBusStopTimetables::SATURDAY);
case "Sunday":
return pow(2, ViewBusStopTimetables::SUNDAY);
case "Monday to Friday":
case "Mon-Fri Schooldays":
case "Summer Monday to Friday Non-Schooldays":
case "Mon-Fri Non-Schooldays":
case "Mo-Fr Night/Tu-Sat Morning":
case "Monday - Friday":
case "MondayToFriday":
return pow(2, ViewBusStopTimetables::MONDAY) | pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::WEDNESDAY) | pow(2, ViewBusStopTimetables::THURSDAY) | pow(2, ViewBusStopTimetables::FRIDAY);
case "Monday to Thursday":
case "Mo-Th Nights/Tu-Fr Morning":
case "Mon-Th Schooldays":
case "Mon-Th Non-Schooldays":
case "Monday -Thursday Non-Schooldays":
case "Monday,Tuesday,Wednesday,Thursday":
return pow(2, ViewBusStopTimetables::MONDAY) | pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::WEDNESDAY) | pow(2, ViewBusStopTimetables::THURSDAY);
case "Monday,Tuesday,Thursday,Friday":
return pow(2, ViewBusStopTimetables::MONDAY) | pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::THURSDAY) | pow(2, ViewBusStopTimetables::FRIDAY);
case "Tuesday, Wednesday & Thursday":
case "Tuesday,Wednesday,Thursday":
return pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::WEDNESDAY) | pow(2, ViewBusStopTimetables::THURSDAY);
case "Sunday Night/Monday Morning":
return pow(2, ViewBusStopTimetables::MONDAY);
case "Saturday Night/Sunday Morning":
return pow(2, ViewBusStopTimetables::SUNDAY);
case "Friday Night/Saturday Morning":
return pow(2, ViewBusStopTimetables::SATURDAY);
case "Tuesday,Wednesday,Thursday,Friday":
return pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::WEDNESDAY) | pow(2, ViewBusStopTimetables::THURSDAY) | pow(2, ViewBusStopTimetables::FRIDAY);
case "Monday,Tuesday,Wednesday,Thursday,Sunday":
return pow(2, ViewBusStopTimetables::MONDAY) | pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::WEDNESDAY) | pow(2, ViewBusStopTimetables::THURSDAY) | pow(2, ViewBusStopTimetables::SUNDAY);
case "MondayToSunday":
return pow(2, ViewBusStopTimetables::MONDAY) | pow(2, ViewBusStopTimetables::TUESDAY) | pow(2, ViewBusStopTimetables::WEDNESDAY) | pow(2, ViewBusStopTimetables::THURSDAY) | pow(2, ViewBusStopTimetables::FRIDAY) | pow(2, ViewBusStopTimetables::SATURDAY) | pow(2, ViewBusStopTimetables::SUNDAY);
case "":
return 0;
default:
die(__FUNCTION__ . " " . $id);
}
}
}
class ViewBusStopTimetables extends busschedules
{
const MONDAY = 1;
const TUESDAY = 2;
const WEDNESDAY = 3;
const THURSDAY = 4;
const FRIDAY = 5;
const SATURDAY = 6;
const SUNDAY = 7;
}