| 
/*************************************************************
* This script is developed by Arturs Sosins aka ar2rsawseen, http://webcodingeasy.com
 * Fee free to distribute and modify code, but keep reference to its creator
 *
 * This can be used to display month calendars browsable using AJAX.
 * It can generate HTML and JavaScript to display a month calendar with
 * links to browse the months using AJAX to avoid page reloading.
 *
 * For more information, examples and online documentation visit:
 * http://webcodingeasy.com/PHP-classes/Ajax-calendar-class
 **************************************************************/
 <?php
 
 /*********************/
 //This is an example with all possible calendar customizations and generating calendar and ajax request in the same file
 /*********************/
 //All methods are divided in 2 groups
 //One should be used in same file or scope, where calendar will be generated
 //Other should be used in same file or scope, where ajax request will be made
 //The ones used in if(isset($_GET['ajax_calendar'])) clause should be used within request file or scope
 //The ones in else clause should be used within calendar generator file or scope
 
 //you should always sepecify timezone when dealing with date function like used in calendar
 date_default_timezone_set("Europe/Helsinki");
 
 //declaring class instance
 include("./calendar.class.php");
 $calendar = new calendar();
 
 
 if(isset($_GET['ajax_calendar']))
 {
 //if $_GET['ajax_calendar'] is set, it means request is beeing made by ajax to get days  of other months or year
 //make sure that you do not output anything to browser, so you won't mess json structure of calendar
 //other parameters that are passed with this request are
 //$_GET['date'] - for date
 //$_GET['month'] - for month
 //$_GET['year'] - for year
 //$_GET['start'] - which day to start week with
 //and any other custom parameters added
 //for this example it is parameter $_GET['param'] = "value"
 
 //set start month and year which is an oldest motnh to show
 $calendar->set_start_date(1,1987);
 //set end month and year which is a newest motnh to show
 $calendar->set_end_date(3,1987);
 
 //set url pattern, for all active days to be used as links where $1 will be replaced by date, $2 replaces by month and $3 by year,
 $calendar->set_url_pattern("javascript:alert('Date selected $3-$2-$1');");
 //$arr = array(1 => "#beginning_of_a_month", 30 => "#end_of_a_month");
 //$calendar->set_events($arr);
 
 //if ajax request is made to the same page, make sure nothing other is outputted to browser
 //you can specify request url in the file where you generate calendar
 //if nothing is specified then request will be made to the same page
 $calendar->process_request();
 }
 else
 {
 //defining path to jquery and style css included in package
 echo '<script type="text/javascript" src="./jquery.js"></script>';
 echo '<style type="text/css" media="all">@import "./style.css";</style>';
 //array with custom month names
 $months = array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
 //applying custom month names
 $calendar->set_months($months);
 
 //array with custom days of week names
 $weekdays = array("M", "T", "W", "Th", "F", "S", "Sun");
 //applying custom days of week names
 $calendar->set_weekdays($weekdays);
 
 //define with which day to start week 0 - Monday, ..., 6 - Sunday
 //here in example it is Tuesday
 $calendar->set_week_start(1);
 
 //adding request parameter name and value which will appear in ajax request
 $calendar->add_request_param("param", "value");
 
 //getting errors
 $errors = $calendar->get_errors();
 if(!empty($errors))
 {
 foreach($errors as $error)
 {
 echo "<p>".$error."</p>";
 }
 }
 
 //generating calendar, you can specify date like in example
 //if no date is specified, than todays date will be used
 $calendar->generate_calendar(23,2,1987);
 }
 ?>
 |