PEAR has packages for calculating holiday dates in PHP. I don't know how to use them or install them. It might be simpler for me if you just copy&paste the source codes from PEAR. I am wanting more than the PEAR packages though.
I want a PHP page that obtains the users Country, by (optional) $_GET from URL, or by GeoIP lookup (default). Output is determined by URL parameter ( default, optional) date=today or date=tomorrow
For today, output will be simple text, saying "Merry Christmas", "Happy New years", or similar phrases pertaining to each holiday date.
One goal is output to say when Today is the actual holiday, as above.
Another goal is to anticipate and output when Tomorrow is a weekday, and I shouldn't go to work because it's the official day-off for the holiday. For example, on July 2nd 2009 say (for USA):
"Tomorrow is the Independence Day holiday, don't go to work." (tomorrow is July 3rd). or in 2010 on July 4th it will say "Happy Independence Day" (for date=today), or "Tomorrow is the Independence day holiday, don't go to work." (for date=tomorrow) (because July 5th is the day-off).
Further complication, for parameter date=tomorrow, if today is a friday, also check if there's a day-off holiday on the following monday, and say:
"Monday is the Easter Monday holiday, don't come to work."
This is intended to be fun and funny, so include as many fun dates and holidays you can find, including St. Patrick's day, Superbowl sunday, groundhog day, valentines day, etc (eg. see wikipedia holidays for USA)
For bidding, allow a full-day for Google-research to find all the main holiday dates for countries, and list those countries in your bid. Allow another full-day research for learning details of how religions calc their holidays, and list the religions you intend to code-for in your bid. So every bidder bills me for 2-days research time, plus your coding time thereafter. You bid should estimate total coding days needed.
After 2-days of planning and note-making, you'll know much more about holidays than me!
Don't under-bid this one. The winner will be someone who sees the fun of having a daily announcement of whatever special day today is. It ultimately will be spoken by speech-synthesis software, with a personality and many other abilities.
I require really good and comprehensive stuff for Canada, (I'm Canadian) and USA, then decent stuff for England, Scotland, Wales, Ireland, Australia, New Zealand, and any and all other countries that speak English as first language.
See wikipedia holidays by country, and lots of other online references.
I also require those countries that are allies and friends to Canada and USA, where many people can also speak English as 2nd language, like in Scandinavia and Europe, Hong Kong, Singapore,
Optional parameters in URL can be city=usercity prov=userprovince or state=thestate so that Canada and USA can have province/state specific holidays found.
Another optional parameter in the URL is religion=jew christian (or others) so that Jewish holidays, lesser-known Christian dates, Muslim and common religions are accounted for. ( Ask yourself, is this one of the major religions amongst English-speaking people. Hence, excluding Buddism and similar is OK. Exclude religions where followers don't use computers for entertainment.
Put each Countries info in a separate data file, in a folder, so I can easily find them and add extra dates later. Some of these dates in the file are important holidays and/or are days to not work.. (so they'd get the "tomorrow is..." notification.
Other dates are minor and funny, but don't need to be notified they happen tomorrow. ( so date=tomorrow would return an empty string).
Plan the data format in the file, to distinguish between those two levels of importance. ( You decide for now, based on common sense. I can edit them later, hopefully.)
Later, (on my own), I'll be adding more funny dates into those files, like for National Asparagas day, or Awareness Day for weird diseases, Appreciation days for weird jobs (or secretaries), etc. Eventually having something to say for every day of the year.
But the variable holidays like Easter Monday, would take precedence over minor funny dates.
My webserver is in Houston Texas, which probably makes a difference in time-zones to decide whether a user in Hong Kong is actually today or tomorrow.
The standard [url removed, login to view] requirements also apply. I need seller to analyze the problem, propose a solution, ask questions, then Program it and Test it. Then Installation help may be needed.
Standard RentaCoder deliverables section:
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
linux- webserver, shared hosting by JaguarPC, apache. PHP 5.2.5