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)

Merge pull request #26 from donatj/php-version/8-3--users-jdonat-projects-donatj-simplecalendar--github-workflows-ci-yml

Update PHP to 8.3

Jesse Donat (donatj)

Update PHP to 8.3

Replace travis badge with GitHub Actions

GitHub (web-flow)

Merge pull request #25 from donatj/phpstan

Pretty major cleanup

Jesse Donat (donatj)

Use Makefile
Adds helpful Makefile
Update autoloader syntax
Use correctly compatible versions
Updates README
Minor fixup
Drop pre-7.2’s
Run fixer
Add phpcs and php-cs-fixer
Fixup
Add phpstan.neon
Cleans up composer.json some
Correct backwards annotation
Remove unnecessary if
Min PHP 7.2
Fix http url

Bump actions/checkout from 3 to 4

Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Updates docs

GitHub (web-flow)

Merge pull request #22 from donatj/8_2

Test in PHP 8.2

Jesse Donat (donatj)

Resolve PHP 8.1+ deprecation notice

GitHub (web-flow)

Test in PHP 8.2

Merge pull request #21 from donatj/dependabot/github_actions/actions/checkout-3

Bump actions/checkout from 2 to 3
Bump actions/checkout from 2 to 3

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Create dependabot.yml

Update composer.json

Jesse Donat (donatj)

Clean up setCalendarClasses usage
BuildDateMessage
v0.6.0
Download
Simplified shrimp2ts work
v0.6.1
Download
gitignore updates
v0.6.2
Download
Merge branch 'keesiemeijer-master'
v0.7.0
Download
Updates docs
v0.8.0
Download
Replace travis badge with GitHub Actions

Comment by: Joko Wandiro on

Joko Wandiro's Gravatar good PHP Class, very help me.
thanks a ton.

Comment by: joagido on

joagido's Gravatar what to do to start weeks on monday?

Comment by: Greg Duckworth on

Greg Duckworth's Gravatar This 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's 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's Gravatar Thanks, have it all working now.

Kudos again on the script!

Comment by: HvToor on

HvToor's Gravatar It 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's Gravatar Starting 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's Gravatar As somebody already asked: Is there a simple way to make weeks start on mondays?

Thx in advance

Comment by: Vincent on

Vincent's Gravatar How to change the first day of the week is detailed in the 'sample usage'...

Comment by: Dirk on

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

works perfectly.

Thanks for the update! :)

Comment by: Alberto on

Alberto's Gravatar i 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's Gravatar I 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's Gravatar NICE !!! 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's Gravatar Is 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's Gravatar Do 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's Gravatar Any chance to provide code to display weekly view

Comment by: Peter on

Peter's Gravatar Good 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: Anthony on

Anthony's Gravatar Concerning 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's Gravatar How do you make the calendar show current week only?

Comment by: kalle on

kalle's Gravatar I 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

Comment by: Greg on

Greg's Gravatar Any way to make it so you can click on a day and have it call a function to set an event for that day?

Comment by: Chris Yates on

Chris Yates's Gravatar Cracking little calendar nice & simple ...
I've incorporated this in a pretty complex ERP system and it works great and is easy to expand on

Comment by: Jose Vivas on

Jose Vivas's Gravatar Can you fill in the blanks with the dates of the previous month and the following month?

Comment by: rassloff on

rassloff's Gravatar thanks for sharing.

Email address will never be publicly visible.

See my Tweet about comment formatting.