| 1 | <?php |
|---|
| 2 | /** |
|---|
| 3 | * Description: demonstrates using the Textual decorator |
|---|
| 4 | */ |
|---|
| 5 | |
|---|
| 6 | if (!@include 'Calendar'.DIRECTORY_SEPARATOR.'Calendar.php') { |
|---|
| 7 | define('CALENDAR_ROOT', '../../'); |
|---|
| 8 | } |
|---|
| 9 | require_once CALENDAR_ROOT.'Day.php'; |
|---|
| 10 | require_once CALENDAR_ROOT.'Month'.DIRECTORY_SEPARATOR.'Weekdays.php'; |
|---|
| 11 | require_once CALENDAR_ROOT.'Decorator'.DIRECTORY_SEPARATOR.'Textual.php'; |
|---|
| 12 | |
|---|
| 13 | // Could change language like this |
|---|
| 14 | // setlocale (LC_TIME, "de_DE"); // Unix based (probably) |
|---|
| 15 | // setlocale (LC_TIME, "ge"); // Windows |
|---|
| 16 | |
|---|
| 17 | echo "<hr>Calling: Calendar_Decorator_Textual::monthNames('long');<pre>"; |
|---|
| 18 | print_r(Calendar_Decorator_Textual::monthNames('long')); |
|---|
| 19 | echo '</pre>'; |
|---|
| 20 | |
|---|
| 21 | echo "<hr>Calling: Calendar_Decorator_Textual::weekdayNames('two');<pre>"; |
|---|
| 22 | print_r(Calendar_Decorator_Textual::weekdayNames('two')); |
|---|
| 23 | echo '</pre>'; |
|---|
| 24 | |
|---|
| 25 | echo "<hr>Creating: new Calendar_Day(date('Y'), date('n'), date('d'));<br />"; |
|---|
| 26 | $Calendar = new Calendar_Day(date('Y'), date('n'), date('d')); |
|---|
| 27 | |
|---|
| 28 | // Decorate |
|---|
| 29 | $Textual = & new Calendar_Decorator_Textual($Calendar); |
|---|
| 30 | |
|---|
| 31 | echo '<hr>Previous month is: '.$Textual->prevMonthName('two').'<br />'; |
|---|
| 32 | echo 'This month is: '.$Textual->thisMonthName('short').'<br />'; |
|---|
| 33 | echo 'Next month is: '.$Textual->nextMonthName().'<br /><hr />'; |
|---|
| 34 | echo 'Previous day is: '.$Textual->prevDayName().'<br />'; |
|---|
| 35 | echo 'This day is: '.$Textual->thisDayName('short').'<br />'; |
|---|
| 36 | echo 'Next day is: '.$Textual->nextDayName('one').'<br /><hr />'; |
|---|
| 37 | |
|---|
| 38 | echo "Creating: new Calendar_Month_Weekdays(date('Y'), date('n'), 6); - Saturday is first day of week<br />"; |
|---|
| 39 | $Calendar = new Calendar_Month_Weekdays(date('Y'), date('n'), 6); |
|---|
| 40 | |
|---|
| 41 | // Decorate |
|---|
| 42 | $Textual = & new Calendar_Decorator_Textual($Calendar); |
|---|
| 43 | ?> |
|---|
| 44 | <p>Rendering calendar....</p> |
|---|
| 45 | <table> |
|---|
| 46 | <caption><?php echo $Textual->thisMonthName().' '.$Textual->thisYear(); ?></caption> |
|---|
| 47 | <tr> |
|---|
| 48 | <?php |
|---|
| 49 | $dayheaders = $Textual->orderedWeekdays('short'); |
|---|
| 50 | foreach ($dayheaders as $dayheader) { |
|---|
| 51 | echo '<th>'.$dayheader.'</th>'; |
|---|
| 52 | } |
|---|
| 53 | ?> |
|---|
| 54 | </tr> |
|---|
| 55 | <?php |
|---|
| 56 | $Calendar->build(); |
|---|
| 57 | while ($Day = $Calendar->fetch()) { |
|---|
| 58 | if ($Day->isFirst()) { |
|---|
| 59 | echo "<tr>\n"; |
|---|
| 60 | } |
|---|
| 61 | if ($Day->isEmpty()) { |
|---|
| 62 | echo '<td> </td>'; |
|---|
| 63 | } else { |
|---|
| 64 | echo '<td>'.$Day->thisDay().'</td>'; |
|---|
| 65 | } |
|---|
| 66 | if ($Day->isLast()) { |
|---|
| 67 | echo "</tr>\n"; |
|---|
| 68 | } |
|---|
| 69 | } |
|---|
| 70 | ?> |
|---|
| 71 | </table> |
|---|