Space Cat, Prince Among Thieves

SimpleCalendar

SimpleCalendar is a very simple PHP calendar class written to be easy to use and flexible.

It includes basic event logic and is made to be modified to your particular needs.

Sample Usage

<?php
require_once('SimpleCalendar.php');
$calendar = new donatj\SimpleCalendar();

$calendar->setStartOfWeek('Sunday');

$calendar->addDailyHtml( 'Sample Event', 'today', 'tomorrow' );
$calendar->show(true);

Example Calendar

SunMonTueWedThuFriSat
Sample Event
Sample Event
    

Click here for the Github repository.

Recent Activity

GitHub (web-flow)

Create .editorconfig

Jesse Donat (donatj)

Adds coverage badge

Merge branch 'keesiemeijer-master'
Adds a second regression test for mismatched tr’s
Adds simple regression test

Kees Meijer ()

fix opening TR issue

Jesse Donat (donatj)

Cleaner mddoc definition

More readable docs
mddoc rejiggering

GitHub (web-flow)

Update badge to SVG

Jesse Donat (donatj)

Fixup
Autoformatting
Adds a simple fix for trailing TRs
Adds a unit test for weeks starting on Friday
Adds Build Status badge
Allow HHVM to fail
Adds .travis.yml
Adds initial test suite
Adds oh-unit as a dev dependency

Update docs

underscores to camel case

Badges added

Unessessary initialization removed
notice prevention

gitignore updates
Ever so slight documentation cleanup
gitignore updated
Generated documentation added
closes #1 ext-calendar requirement added
General documentation and cleanup
BuildDateMessage
v0.6.2
Download
 Merge branch 'keesiemeijer-master'
v0.6.1
Download
 gitignore updates
v0.6.0
Download
 Simplified shrimp2ts work
v0.5.1
Download
Minor changes to enable selection of the previous/next months
v0.5.0
Download
First release by Trialog: add translation to French and improve rendering
v0.4.2
Download
 Merge pull request #2 from inod/patch-1

Added year check for today date
v0.4.1
Download
 Slight example cleanup
v0.4.0
Download
 Added the much requested ability to offset by days!
v0.3.2
Download
Fixed a nesting issue
v0.3.1
Download
Fixed a problem with the composer JSON
v0.3.0
Download
PSR-0, Composer
v0.2.0
Download
First tag in a long time, maintence build
v0.1.0
Download
Initial Release

Comment by: Joko Wandiro on

Joko Wandiro Gravatargood PHP Class, very help me.
thanks a ton.

Comment by: joagido on

joagido Gravatarwhat to do to start weeks on monday?

Comment by: Greg Duckworth on

Greg Duckworth GravatarThis is a fantastic little script, although I don't suppose you could add the ability to move forward and back in months ?

Comment by: Jesse G. Donat on

Jesse G. Donat Gravatar

The constructor on Simple Calendar takes a date string (see strtotime()) so an easy way is simply

$cal = new SimpleCalendar('+1 Month');

or

$cal = new SimpleCalendar('June 2012');

There is also a setDate method which allows you to change the date of the calendar after initial construction.


Comment by: Greg Duckworth on

Greg Duckworth GravatarThanks, have it all working now.

Kudos again on the script!

Comment by: HvToor on

HvToor GravatarIt looks great but when I download v0.3.2 and upload it to my website it won't work. I already changed the paths of the files to the right folder.

Hope you can help with it,

Comment by: Jesse G. Donat on

Jesse G. Donat GravatarStarting with .3.0 it is namespaced and requires PHP 5.3+, I'm sorry I did not update the documentation until just now. The example in the source code better illustrates this.

Comment by: Dirk on

Dirk GravatarAs somebody already asked: Is there a simple way to make weeks start on mondays?

Thx in advance

Comment by: Vincent on

Vincent GravatarHow to change the first day of the week is detailed in the 'sample usage'...

Comment by: Dirk on

Dirk Gravatar$calendar->setStartOfWeek('Sunday');

works perfectly.

Thanks for the update! :)

Comment by: Alberto on

Alberto Gravatari keep getting the following notice Undefined offset: 1 to 31

"Notice: Undefined offset: 1 in SimpleCalendar.php on line 150"

Comment by: murali on

murali GravatarI used this calendar script in my website. I need to have the extended dates of next month and previous month in the current month. Please help me to do it in this calendar script. I would appreciate any help on this.

Thanks.

Comment by: Guilherme on

Guilherme GravatarNICE !!! VERY NICE CLASS !

To change the header,

Sun Mon Tue Wed Thu Fri Sat

To other languages ? what should i do ?

Thanks

Guilherme

Comment by: Brad Haizlett on

Brad Haizlett GravatarIs there any way to enable previous and next month functionality on it? That would be awesome if you had that, or at least a way to have that working.

Comment by: Jesse G. Donat on

Jesse G. Donat GravatarDo you mean just rendering the next/previous month? That's as simple as:
$calendar = new donatj\SimpleCalendar();
$calendar->show(true);

$calendar->setDate('last month');
$calendar->show(true);

$calendar->setDate('next month');
$calendar->show(true);
If you mean button's for next/previous month, thats outside the scope. This is just a little widget to render a calendar. You can write JavaScript or PHP to do it yourself though without too much trouble.

Comment by: Mike on

Mike GravatarAny chance to provide code to display weekly view

Comment by: Peter on

Peter GravatarGood class! Thank you.

One question, regarding this line:

$out .= "\n" . ($i != $count ? '' : '');

Why did you check ($i != $count?)

In this way, one TR - start is missed.

Br,
Peter

Comment by: Lesibe on

Lesibe Gravatarhow to set calender month title

Comment by: Anthony on

Anthony GravatarConcerning buttons for next/previous months. I understand you said its outside the scope but it would be really helpful if you could help out with it as its a bit cumbersome when trying to figure out the correct code to do it.

If you have update please put it out there.

Comment by: kalle on

kalle GravatarHow do you make the calendar show current week only?

Comment by: kalle on

kalle GravatarI also get this error when downloaded the latest version.


Parse error: syntax error, unexpected T_STRING in C:\wamp\www\calendar\donatj\SimpleCalendar.php on line 3

Email address will never be publicly visible.