X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=calendar.php;h=9d109a60d87c9c85acc50e8a7a9b5c1b0ca0eb94;hb=3746445139a650d2ffdc9fc8099af9645fcb2308;hp=6082989fdef3342f00a6d110c3d6818843ec992b;hpb=9852f8e5a8b84cb565343914dae4376336ccf387;p=wfpl.git diff --git a/calendar.php b/calendar.php index 6082989..9d109a6 100644 --- a/calendar.php +++ b/calendar.php @@ -4,20 +4,20 @@ # # This file is part of wfpl. # -# wfpl is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) +# wfpl is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) # any later version. # -# wfpl is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. +# wfpl is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for +# more details. # -# You should have received a copy of the GNU General Public License -# along with wfpl; see the file COPYING. If not, write to the -# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. +# You should have received a copy of the GNU Lesser General Public License +# along with wfpl; if not, write to the Free Software Foundation, Inc., 51 +# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + # This file generates a simple calendar which looks something like this: @@ -37,12 +37,6 @@ # The html and CSS is completely customizable without opening a php file. -# ACKNOWLEDGMENTS -# -# Thank you Oscar Merida for figuring out the necessary date() and strftime() -# calls: http://freshmeat.net/projects/simplephpcalendar/ - - require_once('code/wfpl/template.php'); @@ -55,9 +49,16 @@ function calendar_day($kind, &$template) { $template->sub('day'); } -function calendar($year, $month, $events = 0, &$template = 0) { - if($template == 0) { - $template = $GLOBALS['wfpl_template']; +# php4 is broken, in that you cannot set a default value for a parameter that +# is passed by reference. So, this is set up to use the following screwy +# syntax: +# +# calendar('2006', '12', $events, ref($my_template)) +function calendar($year, $month, $events = 0, $template = 0) { + if($template === 0) { + $template = &$GLOBALS['wfpl_template']; + } else { + $template = &$template->ref; } if(strlen($year) == 2) { @@ -70,7 +71,7 @@ function calendar($year, $month, $events = 0, &$template = 0) { $template->set('month_year', strftime('%B', $start_timestamp) . " " . $year); # number of non-day slots at the begining of the month - $pre_non_days = date( 'w', $start_timestamp ); + $pre_non_days = date('w', $start_timestamp ); # first display empty cells so the 1st can be in the right column while($cell < $pre_non_days) { @@ -79,7 +80,7 @@ function calendar($year, $month, $events = 0, &$template = 0) { } # do the days in this month - $days_count = date( 't', $start_timestamp ); + $days_count = date('t', $start_timestamp ); for($day = 1; $day <= $days_count; $day++ ) { $template->set('day_number', $day); if(($cell + 1) % 7 < 2) {