WIKIBOOKS
DISPONIBILI
?????????

ART
- Great Painters
BUSINESS&LAW
- Accounting
- Fundamentals of Law
- Marketing
- Shorthand
CARS
- Concept Cars
GAMES&SPORT
- Videogames
- The World of Sports

COMPUTER TECHNOLOGY
- Blogs
- Free Software
- Google
- My Computer

- PHP Language and Applications
- Wikipedia
- Windows Vista

EDUCATION
- Education
LITERATURE
- Masterpieces of English Literature
LINGUISTICS
- American English

- English Dictionaries
- The English Language

MEDICINE
- Medical Emergencies
- The Theory of Memory
MUSIC&DANCE
- The Beatles
- Dances
- Microphones
- Musical Notation
- Music Instruments
SCIENCE
- Batteries
- Nanotechnology
LIFESTYLE
- Cosmetics
- Diets
- Vegetarianism and Veganism
TRADITIONS
- Christmas Traditions
NATURE
- Animals

- Fruits And Vegetables



ARTICLES IN THE BOOK

  1. Accrisoft
  2. Active calendar
  3. ActiveState Komodo
  4. AdLogger
  5. Apache HTTP Server
  6. AutoContent
  7. BakeSale
  8. Bblocked
  9. BBlog
  10. BbPress
  11. Beehive Forum
  12. B2evolution
  13. Bluefish
  14. Chlorine Boards
  15. CMScout
  16. CMSimple
  17. CMS Made Simple
  18. Content Protector
  19. Coppermine Photo Gallery
  20. CRE Loaded
  21. Cutenews
  22. DB DataObject FormBuilder
  23. Divine
  24. Dokeos
  25. DotOrg
  26. Dragonfly CMS
  27. Dreamweaver
  28. Drupal
  29. Dynamic Web page
  30. E107
  31. Eclipse
  32. 25 Essential PHP Functions
  33. FusionBB
  34. Gallery Project
  35. Gedit
  36. Group-Office
  37. HawHaw
  38. IceBB
  39. 4images
  40. Introduction to PHP
  41. Introduction to PHP Learning Guide
  42. IonCube Ltd.
  43. JEdit
  44. Joomla
  45. LAMP
  46. Linux
  47. List of PHP editors
  48. List of PHP libraries
  49. Maguma
  50. Mambo
  51. MediaWiki
  52. MetaBB
  53. Midgard
  54. MiniBB
  55. Monkey Boards
  56. Moodle
  57. MySQL
  58. Ning
  59. Nucleus CMS
  60. Nuke-Evolution
  61. NuSphere Corporation
  62. OpenPHPNuke
  63. Orbit42-Base
  64. OsCommerce
  65. Paamayim Nekudotayim
  66. Phalanger
  67. Php
  68. PHP accelerator
  69. PhpBB
  70. PhpBB Reloaded
  71. PHP Constants
  72. PHPDoc
  73. PhpDocumentor
  74. PHPEdit
  75. PHP Excel Reader
  76. PHP Extension Community Library
  77. PhpGedView
  78. PHP-GTK
  79. PhpLDAPadmin
  80. PHP License
  81. Phplist
  82. PhpMyAdmin
  83. PhpMyVisites
  84. Phpns
  85. PHP-Nuke
  86. PhpPgAdmin
  87. PhpWiki
  88. PmWiki
  89. PostNuke
  90. PSPad
  91. PunBB
  92. PuzzleApps
  93. Quanta Plus
  94. Rasmus Lerdorf
  95. ReallySimpleCMS
  96. Refbase
  97. RGameScript Pro
  98. Santy
  99. SciTE
  100. Serendipity weblog
  101. Simple Machines Forum
  102. SimpleXML
  103. SiteFrame
  104. Smarty
  105. SquirrelMail
  106. Textpattern
  107. Thatware
  108. Think Tank Forums
  109. TikiWiki
  110. TorrentVolve
  111. TYPO3
  112. UBB.threads
  113. UltraEdit
  114. UNITED-NUKE
  115. Variables in PHP
  116. VBulletin
  117. WakkaWiki
  118. Web Application Structure for PHP
  119. Webwm
  120. Wikindx
  121. WikkaWiki
  122. WordPress
  123. WordPress MU
  124. Xaraya
  125. XOOPS
  126. Zen Cart
  127. Zend Engine
  128. Zend Studio
  129. Zend Technologies
  130. Zentri
  131. ZPanel

 



PHP LANGUAGE AND PRODUCTS
This article is from:
http://en.wikipedia.org/wiki/Active_calendar

All text is available under the terms of the GNU Free Documentation License: http://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License 

Active calendar

From Wikipedia, the free encyclopedia

 
screenshot2 640x480
screenshot2 640x480

Active Calendar is a PHP class that generates calendars as HTML tables (XHTML-Valid). It can produce static calendars without any links or calendars with navigation controls, a date picker control, event days and content with event URLs, and linkable days (optionally URL or JavaScript). The layout can be configured using CSS, and JavaScript is not required. The supported dates (on systems using a 32-bit signed integer Unix time_t) are: 1902-2037 (Unix) and 1971-2037 (Windows), when using the default PHP native date functions, and 100-3000 and later, when using the ADOdb Date Library.

Active Calendar is an open source project, licensed under the LGPL.

Features

The calendars created by this class:

  • can be static (without any links)
  • can optionally have navigation controls
  • can optionally have a date picker control
  • can optionally have linkable days (url or javascript)
  • can optionally have 'event days' with 'event links' and own layout
  • can optionally have 'event content' with 'links' and own layout
  • support different GMT zones for the current date calculation
  • support month and day names, depending on your language
  • can be configured using CSS
  • do not require Javascript to be displayed or navigated (server side generation)
  • can be generated with just 2-3 lines of code

Active Calendar is based on the PHP native date functions (default) and supports optionally the ADOdb Date Library.

Supported dates (on systems using a 32-bit signed integer Unix time_t):

  • Using PHP native date functions: 1902 - 2037 (UNIX) and 1971 - 2037 (Windows)
  • Using ADOdb Date Library: 100 - 3000 and later [ limited by the computation time of adodb_mktime() ] on both UNIX and Windows. To use the ADOdb Date Library just include it in your scripts. The Active Calendar class will use the library functions automatically.

Usage

Basic methods overview

  • $cal = new activeCalendar([$year,$month,$day,$gmt_zone]);
    Create first a new object of the class. The parameters $year, $month and $day are optional. If these parameters are not set, the current year, month and day will be passed to the program. The parameter $year should have the form "yyyy" e.g "2005" or "1996", the parameter $month should have the form "m" e.g "1" for January or "10" for October and the parameter $day should have the form "d" e.g "4" for the 4th month day or "24" for the 24th month day. So for the date e.g 7th January 2005 please set $cal = new activeCalendar("2005","1","7"). The parameter $gmt_zone is optional as well. Use this parameter to set the GMT (Greenwich Mean Time) zone for the current date calculation (e.g 9 for Osaka Japan, 2 for Athens Greece, - 5 for New York USA). If $gmt_zone is not set, the server local time will be used.
  • $cal->enableMonthNav([$link,$arrowBack,$arrowForw]);
    Call this method, if you want the generated calendar to have month navigation controls (e.g "previous month" and "next month"). The parameter $link is optional. You can use this parameter to set the url for the calendar links (e.g "mycalendar.php" or "mycalendar.php?mode=4&item=test", if you need more complex urls). You should modify the private method mkUrl(), if you want to change the general structure of the generated links. The parameters $arrowBack and $arrowForw are optional as well: they set other month navigation controls, than the ones set in the configuration (an image link can be set too).
  • $cal->enableYearNav([$link,$arrowBack,$arrowForw]);
    Call this method, if you want the generated calendar to have year navigation controls (e.g "previous year" and "next year"). The parameter $link is optional. You can use this parameter to set the url for the calendar links (e.g "mycalendar.php" or "mycalendar.php?mode=4&item=test", if you need more complex urls). You should modify the private method mkUrl(), if you want to change the general structure of the generated links. The parameters $arrowBack and $arrowForw are optional as well: they set other year navigation controls, than the ones set in the configuration (an image link can be set too).
  • $cal->enableDatePicker([$startYear,$endYear,$link,$button]);
    Call this method, if you want the generated month calendar to have a date picker control. The parameters $startYear and $endYear define the range of the years, that can be selected (e.g $startYear=2000, $endYear=2010). This range is limited by the private class variables $startYear and $endYear. Please modify them according to your configuration. The parameter $link is optional. You can use this parameter to set the url for the calendar links (e.g "mycalendar.php" or "mycalendar.php?mode=4&item=test", if you need more complex urls). You should modify the private method mkUrl(), if you want to change the general structure of the generated links. The parameter $button is optional as well: it sets some other value for the date picker submit button, than the one set in the configuration.
  • $cal->enableDayLinks([$link,$javaScript]);
    Call this method, if you want the generated calendar to have linkable dates. The parameter $link is optional. You can use this parameter to set the url for the calendar links (e.g "mycalendar.php" or "mycalendar.php?mode=4&item=test", if you need more complex urls). You should modify the private method mkUrl(), if you want to change the general structure of the generated links. The parameter $javaScript is optional as well. You can use this parameter to set a JavaScript function instead of an url for the calendar links. So if you set $cal->enableDayLinks(false,"selectDate"), this link will be created on e.g 27 May 2007: ..href="javascript:selectDate(2007,5,27)".. The content of the Javascript function 'selectDate' will not be created by the class. You should develop it according to your needs.
  • $cal->setMonthNames($monthNamesArray);
    Call this method, if you want the class generate different names for the calendar months, than the ones set in the configuration. The parameter $monthNamesArray must be an array of 12 month names starting with January.
  • $cal->setDayNames($dayNamesArray);
    Call this method, if you want the class generate different names for the calendar weekdays, than the ones set in the configuration. The parameter $dayNamesArray must be an array of 7 day names starting with Sunday.
  • $cal->setEvent($year,$month,$day,[$id,$eventUrl]);
    Call this method, if you want the class to create an HTML td class=$id on the date specified by the parameters $year, $month, $day. You can configure every 'event date' in your CSS, so that it would have e.g a different background color. The parameter $id is optional. If you do not set an $id, a default HTML class='event' will be generated. The parameter $eventUrl is optional as well: If you set an $eventUrl, an event specific link (..href='$eventUrl'..) will be generated on the 'event date', even if the method $cal->enableDayLinks($link) was not called.
  • $cal->setEventContent($year,$month,$day,$content,[$contentUrl,$id]);
    Call this method, if you want the class to create a new HTML table within the date specified by the parameters $year, $month, $day. The parameter $content can be a string or an array. If $content is a string, then the new generated table will contain one row with the value of $content. If it is an array, the generated table will contain as many rows as the array length and each row will contain the value of each array item. The parameter $contentUrl is optional: If you set a $contentUrl, an event content specific link (..href='$contentUrl'..) will be generated in the 'event content' table row(s), even if the method $cal->enableDayLinks($link) was not called. The parameter $id is optional as well: if you set an $id, a HTML class='$id' will be generated for each event content (default: 'eventcontent').
  • $cal->showMonth([$showNoMonthDays]);
    This method will generate the html string of the month calendar. You can display the calendar by "print $cal->showMonth()". This method calls several private class functions, that create each tr tag of the generated table. So if you would like to change the table structure, you could simply modifiy the order, that these private functions are called (mkMonthHead() must remain first and mkMonthFoot() must remain last though). The parameter $showNoMonthDays is optional: if it is set true, days that do not belong to the current month will be displayed in the calendar (default: false). Please note that these days will not contain any events or event contents!.
  • $cal->showYear([$columns]);
    This method will generate the html string of the year calendar. You can display the calendar by "print $cal->showYear()". This method calls several private class functions, that create each tr tag of the generated table. So if you would like to change the table structure, you could simply modify the order, that these private functions are called (mkYearHead() must remain first and mkYearFoot() must remain last though). The parameter $columns is optional: it sets the number of the generated months in each row of the year calendar (default: 4).

Code examples

  • Current month static calendar
<?phprequire_once("activecalendar.php");$cal = new activeCalendar(); // no parameters passed, so current dates will be calculatedecho $cal->showMonth(true); // previous and next month days will be generated too?>
  • Current month calendar with navigation
<?phprequire_once("activecalendar.php");$myurl=$_SERVER['PHP_SELF']; // the links url is this page$yearID=false; // init false to display current year$monthID=false; // init false to display current month$dayID=false; // init false to display current dayextract($_GET); // get the new values (if any) of $yearID,$monthID,$dayID$cal = new activeCalendar($yearID,$monthID,$dayID);$cal->enableMonthNav($myurl);echo $cal->showMonth();?>
  • Current month calendar with date picker
<?phprequire_once("activecalendar.php");$myurl=$_SERVER['PHP_SELF']; // the links url is this page$yearID=false; // init false to display current year$monthID=false; // init false to display current month$dayID=false; // init false to display current dayextract($_GET); // get the new values (if any) of $yearID,$monthID,$dayID$cal = new activeCalendar($yearID,$monthID,$dayID);$cal->enableDatePicker(2000,2010,$myurl); // year range: 2000-2010echo $cal->showMonth();?>
  • Month calendar with day links
<?phprequire_once("activecalendar.php");$myurl=$_SERVER['PHP_SELF']; // the links url is this page$cal = new activeCalendar("2007","11"); // November 2007$cal->enableDayLinks($myurl);echo $cal->showMonth();?>
  • Month calendar with multiple 'event days'
<?phprequire_once("activecalendar.php");$cal = new activeCalendar("2007","11"); // November 2007$cal->setEvent("2007","11","17","meeting"); //it will create a class="meeting"$cal->setEvent("2007","11","7","birthday"); //it will create a class="birthday"//The following will create a class="myevent" and an <a href="myevent.html">$cal->setEvent("2007","11","20","myevent","myevent.html");echo $cal->showMonth();?>
  • Current year static calendar
<?phprequire_once("activecalendar.php");$cal = new activeCalendar();echo $cal->showYear(2); // 2 months in each row?>
  • Current year calendar with navigation
<?phprequire_once("activecalendar.php");$myurl=$_SERVER['PHP_SELF']; // the links url is this page$yearID=false; // init false to display current year$monthID=false; // init false to display current month$dayID=false; // init false to display current dayextract($_GET); // get the new values (if any) of $yearID,$monthID,$dayID$cal = new activeCalendar($yearID,$monthID,$dayID);$cal->enableYearNav($myurl);echo $cal->showYear();?>
  • Year calendar with day links
<?phprequire_once("activecalendar.php");$myurl=$_SERVER['PHP_SELF']; // the links url is this page$cal = new activeCalendar("2007"); // year 2007$cal->enableDayLinks($myurl);echo $cal->showYear();?>
  • Year calendar with multiple 'event days'
<?phprequire_once("activecalendar.php");$cal = new activeCalendar("2007"); // year 2007$cal->setEvent("2007","1","24","meeting");$cal->setEvent("2007","5","12","birthday");$cal->setEvent("2007","6","24","event");$cal->setEvent("2007","6","25");echo $cal->showYear();?>
  • Year calendar with multiple 'event contents'
<?phprequire_once("activecalendar.php");$cal = new activeCalendar("2007"); // year 2007$cal->setEventContent("2007","1","24","meeting");$cal->setEventContent("2007","5","12","birthday");$cal->setEventContent("2007","6","24","Google","http://www.google.com");$multipleLinesEvent=array("Title: News","Time: 16.00","Status: ok");$cal->setEventContent("2007","6","25",$multipleLinesEvent);echo $cal->showYear();?>

External links

  • http://www.micronetwork.de/activecalendar/: Project documentation, examples and source code
Retrieved from "http://en.wikipedia.org/wiki/Active_calendar"