@@ 924-945 (lines=22) @@ | ||
921 | else if ( $this->_part['FREQ'] == "WEEKLY" ) { |
|
922 | dbg_error_log( "RRule", " GetNext: Calculating more dates for WEEKLY rule" ); |
|
923 | $limit = 200; |
|
924 | do { |
|
925 | $limit--; |
|
926 | if ( $this->_started ) { |
|
927 | $next->AddDays($this->_part['INTERVAL'] * 7); |
|
928 | } |
|
929 | else { |
|
930 | $this->_started = true; |
|
931 | } |
|
932 | ||
933 | if ( isset($this->_part['BYDAY']) ) { |
|
934 | $days = $next->GetWeekByDay($this->_part['BYDAY'], false ); |
|
935 | } |
|
936 | else |
|
937 | $days[$next->_dd] = $next->_dd; |
|
938 | ||
939 | if ( isset($this->_part['BYSETPOS']) ) { |
|
940 | $days = $next->ApplyBySetpos($this->_part['BYSETPOS'], $days); |
|
941 | } |
|
942 | ||
943 | $days = $this->WithinScope( $next, $days); |
|
944 | } |
|
945 | while( $limit && count($days) < 1 && ! $this->_finished ); |
|
946 | ||
947 | dbg_error_log( "RRule", " GetNext: Found %d days for WEEKLY rule", count($days) ); |
|
948 | } |
|
@@ 952-971 (lines=20) @@ | ||
949 | else if ( $this->_part['FREQ'] == "DAILY" ) { |
|
950 | dbg_error_log( "RRule", " GetNext: Calculating more dates for DAILY rule" ); |
|
951 | $limit = 100; |
|
952 | do { |
|
953 | $limit--; |
|
954 | if ( $this->_started ) { |
|
955 | $next->AddDays($this->_part['INTERVAL']); |
|
956 | } |
|
957 | ||
958 | if ( isset($this->_part['BYDAY']) ) { |
|
959 | $days = $next->GetWeekByDay($this->_part['BYDAY'], $this->_started ); |
|
960 | } |
|
961 | else |
|
962 | $days[$next->_dd] = $next->_dd; |
|
963 | ||
964 | if ( isset($this->_part['BYSETPOS']) ) { |
|
965 | $days = $next->ApplyBySetpos($this->_part['BYSETPOS'], $days); |
|
966 | } |
|
967 | ||
968 | $days = $this->WithinScope( $next, $days); |
|
969 | $this->_started = true; |
|
970 | } |
|
971 | while( $limit && count($days) < 1 && ! $this->_finished ); |
|
972 | ||
973 | dbg_error_log( "RRule", " GetNext: Found %d days for DAILY rule", count($days) ); |
|
974 | } |