| @@ 5557-5580 (lines=24) @@ | ||
| 5554 | if ($regs[1] == -1) { |
|
| 5555 | // �ǽ�������ξ��Υ롼�� |
|
| 5556 | $monthday_bottom = gmmktime(0, 0, 0, $month, 0, $year); |
|
| 5557 | while (1) { |
|
| 5558 | for ($i = 0; $i < $INTERVAL; ++$i) { |
|
| 5559 | $monthday_bottom += gmdate('t', $monthday_bottom + 86400) * 86400; |
|
| 5560 | } |
|
| 5561 | // �ǽ���������Ĵ�٤� |
|
| 5562 | $last_monthdays_wday = gmdate('w', $monthday_bottom); |
|
| 5563 | $date_back = $wday - $last_monthdays_wday; |
|
| 5564 | if ($date_back > 0) { |
|
| 5565 | $date_back -= 7; |
|
| 5566 | } |
|
| 5567 | // �����л��֤ȥ��٥�Ȼ��֤�����ۤʤ���ν����ɲ� |
|
| 5568 | $gmstart = $monthday_bottom + ($date_back - $tzoffset_date) * 86400 + $secondofday; |
|
| 5569 | if ($gmstart <= $gmstartbase) { |
|
| 5570 | continue; |
|
| 5571 | } |
|
| 5572 | $gmend = $gmstart + $duration; |
|
| 5573 | if ($gmstart > $until) { |
|
| 5574 | break; |
|
| 5575 | } |
|
| 5576 | if (++$c > $count) { |
|
| 5577 | break; |
|
| 5578 | } |
|
| 5579 | $sqls[] = $base_sql . ",start=UNIX_TIMESTAMP('" . gmdate('Y-m-d H:i:s', $gmstart) . "'),end=UNIX_TIMESTAMP('" . gmdate('Y-m-d H:i:s', $gmend) . "')"; |
|
| 5580 | } |
|
| 5581 | } else { |
|
| 5582 | // ��N������ξ��Υ롼�� |
|
| 5583 | $monthday_top = gmmktime(0, 0, 0, $month, 1, $year); |
|
| @@ 5626-5650 (lines=25) @@ | ||
| 5623 | if (!count($dates)) { |
|
| 5624 | return; |
|
| 5625 | } |
|
| 5626 | while (1) { |
|
| 5627 | $months_day = gmdate('t', $monthday_top); |
|
| 5628 | foreach ($dates as $date) { |
|
| 5629 | // ��κǽ���ե?�����å� |
|
| 5630 | if ($date > $months_day) { |
|
| 5631 | $date = $months_day; |
|
| 5632 | } |
|
| 5633 | // �����л��֤ȥ��٥�Ȼ��֤����դ��ۤʤ���ν����ɲ� |
|
| 5634 | $gmstart = $monthday_top + ($date - 1 - $tzoffset_date) * 86400 + $secondofday; |
|
| 5635 | if ($gmstart <= $gmstartbase) { |
|
| 5636 | continue; |
|
| 5637 | } |
|
| 5638 | $gmend = $gmstart + $duration; |
|
| 5639 | if ($gmstart > $until) { |
|
| 5640 | break 2; |
|
| 5641 | } |
|
| 5642 | if (++$c > $count) { |
|
| 5643 | break 2; |
|
| 5644 | } |
|
| 5645 | $sqls[] = $base_sql . ",start=UNIX_TIMESTAMP('" . gmdate('Y-m-d H:i:s', $gmstart) . "'),end=UNIX_TIMESTAMP('" . gmdate('Y-m-d H:i:s', $gmend) . "')"; |
|
| 5646 | } |
|
| 5647 | for ($i = 0; $i < $INTERVAL; ++$i) { |
|
| 5648 | $monthday_top += gmdate('t', $monthday_top) * 86400; |
|
| 5649 | } |
|
| 5650 | } |
|
| 5651 | } else { |
|
| 5652 | // Í���$BYDAY��$BYMONTHDAY��̵����С������֤�����ʤ� |
|
| 5653 | return; |
|