![]() |
Countdown to Calendar Event
1 Attachment(s)
This widget picks up the next 2 events from a calendar of your choice.
It displays a countdown to the first event then once the first event has arrived it begins a countdown to the second event. The only reason for picking up two events is that someone may visit the page close to the end of the first event then see the no event message. By picking up two events such a visitor will see the countdown to the second event start. To install... From the ZIP file, extract eventcountdown.js and copy it to your site. Navigate to AdminCP -> Style & Templates -> Style Manager -> Edit Template Double click the headinclude template to edit it and add the following just above the first <script tag you find... HTML Code:
<script src="scripts/eventcountdown.js" type="text/javascript"></script> Navigate to AdminCP -> CMS -> Widgets. Create a PHP Type Widget and paste the below code. PHP Code:
You can set the value for $event_calendarid to the calendar that you want countdown events to come from. Change $no_events_message to the HTML you want to have appear when there are no events left in the selected calendar. This is the first widget I've written so if you spot any errors or improvements that can be made then please let me know. If you have an all day event in the calendar the countdown is to the begining of that day. Add a ranged event to the calendar for an exact time. Also, allow for any changes that may occur if a change to or from DST occurs. Added ob_start(); to beginning of script (17th Oct, 2010) To have a picture make the Title of the event in the calendar the HTML to display the picture. For example... HTML Code:
Your Event<br /><img src="images/picture.gif" width="140" height="130" alt=""> |
REQUESTS :
Allow upto 5 events Forum Block Cheers |
I'll do that but in the meantime just change the number 2 at the end of this line...
("SELECT eventid, title, dateline_from from " . TABLE_PREFIX . "event WHERE calendarid='".$event_calendarid."' $and order by dateline_from ASC LIMIT 2"); ...to the number of events you want picking up. The JavaScript can handle many events. What's Forum Block? I only started using vBulletin a week or so ago and I'm not completely familiar with it yet. |
Forum block is the side bar if you wish
Check my site in the link below to see the side blocks i have |
tnx installed
|
Thank betts02. I assume then that you wanted multiple countdowns to be displayed. The script only shows a single countdown to the next event. Once that has been reached it starts the countdown to the second event. If the visitor arrives at a page with the countdown running a few seconds before zero then once zero arrives the second countdown will start. This is the reason for picking up 2 events. I'll look at allowing for multiple countdows to be show, say the first one from each calendar.
|
Be great in the forum block if you can do mate
|
What i wanted if possible is for this in a forum block
Shows events 1-5 Event 1 shall be on countdown Event 2-5 shall be shown As soon as event 1 has been and gone, It removes the event and places event 2 on countdown Then event 6 shall become event 5 and be shown |
Noted. Suggest you have a quick try of it as it stands so that you can see how an event countdown is show regarding width for an event that's a few weeks off.
Also I forgot to mention another slight change you can make... In the widget PHP code find 'ywdhms' which appears twice. This sets which units appear in the countdown. The default is to show a countdown in Years, Weeks, Days, Hours, Minutes and Seconds. You can pick which units are shown, so for a seconds only countdown you should just need 's' and for Days, and Minutes it would be 'dm'. |
Tried it in a forumblock and it just messes all my forums up
|
Thanks ..
|
Hey buddy,
You're missing an ob_start at the front of this script. Recommend you add it in, otherwise the block will break the script that started before it as well as itself. |
nice one thank you very much
|
The script works fine in the forum block area if you add:
ob_start(); at the beginning of the php script. |
Quote:
|
Quote:
Thank you. |
Quote:
Quote:
Quote:
Also looking more into this If you post and event it shows up But if you then post an event before the first event it does not display Will get it working myself anyway mate cheers |
Thanks for that advice about ob_start();
It's my first script you know :o |
Quote:
|
Something is not correct here
I have an event in 2 days time, Yet its showing the event is due NOW Will look into this myself but if you manage to figure it out post up dude |
Quote:
|
not sure how to add the calendar id to get it to pull from forums calendar...any help appreciated.
|
If you look near the start of the PHP code you will see...
$event_calendarid="1"; ...just change the number to the id of the calendar you want to use. |
yah...it should be 1 , the default. it just shows today's date.
|
got it .....ty
|
A way to display a picture for the event and not the title?
|
Installed and working just fine as far as I can tell. Thank you very much indeed.
Would it be possible to include the ability to add a picture or format the event title with a different colour? |
Hi,
I've tried to get this to work on the forum block without any luck .. the block shows up but no countdown of the no event text shows .. any suggestions? .. ive created forum block .. selected custom html/php .. fillout out the fields with templete block-html .. aswell as the script code for the js file is in headerinclude templete.. Thanks :) |
Is the URL in the script code for the js file pointing to the right place?
|
Quote:
|
Quote:
working url ? www.yoursite.com/forum/scripts/js ???? ore without www. |
Quote:
also when trying this on the widget cms side .. it only shows todays date in the countdown area .. so forum block and widget aren't working for me atm :S thanks for the help :) |
I need some help on creating a side block. I paste the code in when creating a block and have already added a calendar event.
When I go to the forum, all it shows is the code. What are the selections I need to choose when creating a side block using this code? |
When you create a Forum Block you need to select PHP in the Content Type section.
|
The code uses the title of the event in the calender to display above the countdown.
I suggest you create a calendar specific to Countdown Events and set it for Admin view only; as long as you set the correct calender ID in the code it will still be picked up. To have a picture make the Title of the event in the calendar the HTML to display the picture. For example in the forum I look after I have the following as an event title... HTML Code:
Halloween Evening<br /><img src="files/bv/images/halloween/pumpkin.gif" width="140" height="130" alt=""> You can see this at http://www.buckshawvillage.com/forum.php You can use whatever HTML you like in the event title. The code on that site is set up a little different to that posted here. Seconds are not shown until less than 24 hours. At zero there is a firework display over the page which lasts for 1 minute. Other than that it functions the same and the HTML title will work fine. |
Quote:
I did select php and then pasted the code in. As I said, once I create an event in the calendar, the side block shows the code I input from here instead of the event countdown. I'm sure its something simple, but I don't know how else to paste code and choose 'php' as the content type. |
It was something simple. I'm a doofus.
|
Quote:
|
I didn't put the line of code in the template as instructed. haha.
I did input my first event and the countdown was off by an hour, so I deleted the event and put it up again an hour different, but the countdown remained the same. Any way to clear that? Is it cached? |
You need to set the cache time to 1 minute.
For a widget this is done via the Configure link. For a forum block this is done via the Edit link. If the cache time is set too high, say 60 minutes, then a visitor may get a countdown that could be up to an hour out of date. Even at 1 minute it will take up to 1 minute before a change in an edited event is replicated in the countdown. If you're in a time zone that's currently using DST you should check your event as soon as DST ends as it may be an hour out in the countdown. |
All times are GMT. The time now is 02:38 AM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|