public static function getCalRecurring($strWeekdayAll,$strWeekdayA,$strWeekdayB,$blnHolidays = false, $schoolYearId = null) {
		static::loadData();
		static::generateFullCalendar('all');
		$arrCal = static::$arrFullCalendar[$schoolYearId ?? static::schoolYearId()];
		$arrDates = [];

		foreach ($arrCal as $strDate => $info) {
			$intTime = strtotime($strDate);
			$calWeekday = strtolower(date('D',$intTime));
			$blnIsAllDate = $calWeekday == $strWeekdayAll && !is_array($info);
			$blnIsADate = $calWeekday == $strWeekdayA && strtolower($info) == 'a';
			$blnIsBDate = $calWeekday == $strWeekdayB  && strtolower($info) == 'b';

			if($blnIsAllDate || $blnIsADate || $blnIsBDate || is_array($info) && $blnHolidays) {
				$arrDates[] = $strDate;
			}
		}
		return $arrDates;
	}
public static function getCalRecurring($strWeekdayAll,$strWeekdayA,$strWeekdayB,$blnHolidays = false, $schoolYearId = null) {
		static::loadData();
		static::generateFullCalendar('all');
		$arrCal = static::$arrFullCalendar[$schoolYearId ?? static::schoolYearId()];
		$arrDates = [];

		foreach ($arrCal as $strDate => $info) {
			$intTime = strtotime($strDate);
			$calWeekday = strtolower(date('D',$intTime));
			$blnIsAllDate = $calWeekday == $strWeekdayAll && !is_array($info);
			$blnIsADate = $calWeekday == $strWeekdayA && strtolower($info) == 'a';
			$blnIsBDate = $calWeekday == $strWeekdayB  && strtolower($info) == 'b';

			if($blnIsAllDate || $blnIsADate || $blnIsBDate || is_array($info) && $blnHolidays) {
				$arrDates[] = $strDate;
			}
		}
		return $arrDates;
	}
public static function getCalRecurring ( $ strWeekdayAll , $ strWeekdayA , $ strWeekdayB , $ blnHolidays = false , $ schoolYearId = null ) { static :: loadData ( ) ; static :: generateFullCalendar ( 'all' ) ; $ arrCal = static :: $ arrFullCalendar [ $ schoolYearId ?? static :: schoolYearId ( ) ] ; $ arrDates = [ ] ; foreach ( $ arrCal as $ strDate => $ info ) { $ intTime = strtotime ( $ strDate ) ; $ calWeekday = strtolower ( date ( 'D' , $ intTime ) ) ; $ blnIsAllDate = $ calWeekday == $ strWeekdayAll && ! is_array ( $ info ) ; $ blnIsADate = $ calWeekday == $ strWeekdayA && strtolower ( $ info ) == 'a' ; $ blnIsBDate = $ calWeekday == $ strWeekdayB && strtolower ( $ info ) == 'b' ; if ( $ blnIsAllDate || $ blnIsADate || $ blnIsBDate || is_array ( $ info ) && $ blnHolidays ) { $ arrDates [ ] = $ strDate ; } } return $ arrDates ; }
Find all dates of a weekly recurring event in the current school year

@param string $strWeekdayAll | Options: mon,tue,wed,thu,sat,sun,false
@param string $strWeekdayA | Options: mon,tue,wed,thu,sat,sun,false
@param string $strWeekdayB | Options: mon,tue,wed,thu,sat,sun,false
@param bool $blnHolidays | If true, holidays weeks are also included
@param int $schoolYear | set in of the school year.

@return array dates in the format 'Y-m-d'
Find all dates of a weekly recurring event in the current school year