public function testLastBusinessDayOfMonth() { $this->assertEquals(30, Filter_Datetime::getLastBusinessDayOfMonth(2013, 9)); $this->assertEquals(31, Filter_Datetime::getLastBusinessDayOfMonth(2013, 10)); $this->assertEquals(29, Filter_Datetime::getLastBusinessDayOfMonth(2013, 11)); $this->assertEquals(31, Filter_Datetime::getLastBusinessDayOfMonth(2013, 12)); $this->assertEquals(31, Filter_Datetime::getLastBusinessDayOfMonth(2014, 1)); $this->assertEquals(28, Filter_Datetime::getLastBusinessDayOfMonth(2014, 2)); $this->assertEquals(31, Filter_Datetime::getLastBusinessDayOfMonth(2014, 3)); $this->assertEquals(30, Filter_Datetime::getLastBusinessDayOfMonth(2014, 4)); $this->assertEquals(30, Filter_Datetime::getLastBusinessDayOfMonth(2014, 5)); $this->assertEquals(30, Filter_Datetime::getLastBusinessDayOfMonth(2014, 6)); }
// 0 (for Sunday) through 6 (for Saturday). $hour = date("G"); // 0 through 23 $sprintstart = false; $sprintfinish = false; // Every Friday at 2 PM (14:00h) it sends email about the sprint progress. if ($weekday == 5 && $hour == 14) { $email = true; } // On the first business day of the month, at 10 AM, send email about the start of the sprint. if (Filter_Datetime::isFirstWorkingDayOfMonth($monthday, $weekday) && $hour == 10) { $email = true; $sprintstart = true; } // On the last business day of the month, at 2 PM (14:00h), send email about the end of the sprint. if ($monthday == Filter_Datetime::getLastBusinessDayOfMonth($year, $month) && $hour == 14) { $email = true; $sprintfinish = true; } // Determine what to do, or to quit. if (!$email && !$sprintstart && !$sprintfinish) { if ($hour != 1) { die; } } $database_logs = Database_Logs::getInstance(); $database_config_general = Database_Config_General::getInstance(); $database_config_bible = Database_Config_Bible::getInstance(); $database_config_user = Database_Config_User::getInstance(); $database_users = Database_Users::getInstance(); $database_mail = Database_Mail::getInstance();