Plans, the best web calendar.
Users say:
I wanted to make a nice calendar, and fell upon your app a couple days ago. Just was I was looking for!

Icon Pages Explanation

The process behind the icons download section of

Icon Pages Overview
Icon Pages Data Structures

The icons page is powered by an XML file and two PHP scripts. It has two main goals:

  • To let users easily download new icons
  • To let the site admin easily add/modify icons.


The simplest icon seletion interface is a list, where clicking on an icon transfers it into a "download list." Likewise, clicking on a icon in the "download list" removes it.

The list of icons can be very long, and can have hierarchy (groupings). This should not complicate the user's selection process.

When the user is satisfied with the selected icons, the download link should send the user a .zip file with the selected images. It should also generate a snippet of XML for the user to copy-paste into their calendar config file.

The download script must validate each request before assembling the .zip file, to check for malicious attempts. This is done by starting with the files defined in the XML data structure, and removing all but those specified in the http request. In this way, user data is never used (even partially) as part of a system call.