Login   Register  
PHP Classes
elePHPant
Icontem

File: custom_example.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Arturs Sosins  >  AJAX Calendar  >  custom_example.php  >  Download  
File: custom_example.php
Role: Example script
Content type: text/plain
Description: Example with all possible customizations and url pattern for all dates
Class: AJAX Calendar
Display month calendars browseable using AJAX
Author: By
Last change: credits changed
Date: 2011-04-25 12:39
Size: 3,982 bytes
 

Contents

Class file image Download
/*************************************************************
 * 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);
}
?>