If you are using any version of Newcalendar prior to version 3.6 (other than 3.51b) there is a potential security hole. Please upgrade to a secure version.
To get the most out of the Newcalendar mod, please read this entire file.
As with any mod, backup your forum before installing!
Navigating the Calendar:
Access the calendar by clicking on the calendar icon in the YaBB menu or YaBB Info Center. If the Admin has activated the Moon Phase display, then the calendar icon in the Info Center will appear as the current phase of the moon. The month view will be displayed.
To view the next month, click the Next button. To view the previous month, click the Prev button. To view other months, use the form at the bottom of the page to select the month and year and click the "View Calendar" button.
To view the current year, click on the year text next to the month name.
In the year view calendar, use the Next and Prev buttons to view the next or previous years. Use the form below the calendar to select other years to view. Dates with events appear in bold. Clicking on a date opens the details for events for that date. Clicking on the month name opens the month view for that month.
On the View Events or Edit Events Pages, clicking on the month name opens the month view for that month. Clicking on the year opens the year view for that year.
To view events:
Click on the event name on the month view or click on a bolded date on the year view calendar. Details for the events for that day will open. If a member birthday is displayed, clicking on the member's name will open that member's profile page.
Send Event: Clicking on the "Send Event to a Friend" button opens up the Send Event page. Here the user may send a quick email message, asking them to take a look at the event. The user needs to enter the name and email address of the recipient.
The default message sent:
The Admin may edit this message in the language file (english.lng).
Dear
Bubba,
I want you to check out the following event notice on the MineralArts Test Forums.
Event: Geological Society
Posted by: Admin
Type of Event: Meeting
Date of Event: 1/16/2004
To view details, please click the link below
http://www.yourwebsite.com/...viewevent
Thanks,
User
To add a new event:
Click on the date text for the date of the event on the Month View or
click on "Add/Edit Events for this Day" at the bottom of the events table on
the View Events Page or click on a date on the year view calendar if
it doesn't already have an event scheduled. If the date text is not clickable
or the "Add/Edit Events for this Day" link does not appear on the View Events
Page, then you are not allowed to add/edit/delete events on this calendar.
The Forum Administrator determines which member groups have write access to
the calendar. Contact your Forum Admin to request write access.
A page will open showing all the events for that day that you are authorized to edit. Users can be add/modify/delete their own events through this page. Events entered by other users will not be shown on this page. Admins and Calendar Moderators can modify all events. If guest event posting is enabled by the Admin, then guests may post events. Guests may modify any guest event since all guests are user "Guest".
Clicking on the "Edit this Event Notice" for an event or the "Add a New Event Notice" buttons will open the Edit Event Page.
Name: This is the the name of the event that will appear on the month view and Info Center listing for the event. The maximum length is 15 characters. YaBBC codes are allowed here so smilies can be used. The YaBB censor function is applied to this field.
Type: This the type of the event. Events are organizied on the Info Center by type.
Repeat For: To create a multiday event open the edit events page for the first day of the event. Enter the number of days in the "Repeat for" box and select "Day(s)" from the drop down list.
To create recurring events open the edit events page for the first day the event will occur and enter the number of times the event will occur and select weeks, months, years, or 3rdTues from the drop down list. For example, if you have an event that occurs each Wednesday for three weeks, open the edit events page for the first Wednesday, enter 3 in the "repeat for" box and select Week(s) from the drop down menu. The 3rdTues option allows the entry of monthly events that occur on the same day of the week and the same week of the month but not on the same date each month. Example: a meeting that is scheduled for the third Tuesday of each month. The 2ndSunMay option allows the entry of annual events that occur on the same day of week, in the same week of the month, and in the same month of the year but not on the same date each year. Example: Mothers' Day (US Holiday) occurs the second Sunday in May.
Description: Enter the description of the event. YaBBC codes are allowed here so images, formatted text, links, smilies, etc. can be used here. The YaBB censor function is applied to this field.
Entered by: Shows who posted the event.
Add or Change Entry: Enter events one at a time and click the "Add or Change Entry" button for each event before adding or editing another event.
Delete: Click to delete the event. Note: There is no second chance here. If the delete button is pressed, the event is deleted.
Move Event to Date: Enter a new date here to move event to a different date. Event will be deleted from current date and moved to date specified.
Adding Mini Calendars to Posts:
If allowed by the Forum Admin, a YaBBC tag is available to add a small month view calendar to any post or private message. To add a calendar, enter [newcal=1,2003] in the message area of a post. The first number is the month, 1-12, and the second is the year that is to be displayed. Alternately, if the day is also specified, [newcal=1,26,2003] or [newcal=26,1,2003] depending on the date format set by the Admin, the specified date will be highlighted on the calendar. If the date is omitted, [newcal], the minicalendar will display the current month. In this case the minicalendar will roll over with each new month. On forums where calendar access is limited to Admin-specified member groups, readers who are not in the designated groups will not see the inserted calendars.
The Newcalendar Settings Page is accessed through the Admin Center or by clicking the Newcalendar Settings link at the bottom of any calendar page (only Admins see this link).
Type of Event Pick List Options: This is where the Admin can enter the types of events that will appear in the drop down list on the edit events page. The types entered here will be available for all users with calendar access. Types are entered with a single space between each type and no commas or other punctuation.
Default Event Type: This is the event type from the list above that should be used as the default when the user fails to select an event type.
Event Name field length: The Admin may change the number of characters that users may enter for the Event Name. The default is 18.
Type of Event Pick List Options: Membergroup_Name This is where the Admin can enter the types of events that will appear in the drop down list on the edit events page. The types entered here will be available for members of the specified member group only. To allow members from more than one but not all member groups to see an event type, enter the same event type for each selected group. Types are entered with a single space between each type and no commas or other punctuation.
Display events for how many days? The listing of calendar events in the Info Center may be set to display events for several days into the future. The minimum number of days is 1 (today's events). This setting also controls the number of days for which events will be displayed in the SSI and YaBB FrontEnd (Who's On) mod display.
Split Info Center Output if exceeds # lines: Depending on the number of events and birthdays, the Upcoming Events section on the Info Center can become quite long. This setting provides an option to split the Upcoming Events into two more or less equal columns. If the number of lines of output exceeds the number entered here the output is split, otherwise, it remains as a single column. The minimum setting here is four (4). To prevent the output from ever splitting into two columns, enter a very high number here. If the events are split into two columns, events for a single day will always be kept together in the same column. This setting only applies to the Info Center display, not the SSI or YaBB FrontEnd displays.
Show mini month calendar in Info Center? Check to display the current month calendar in the Info Center.
Allow Use of [newcal] tag? If checked, users will be able to use the [newcal=10,2003] YaBBC tag to add mini-calendars to posts. Note: If you have limited calendar access to the Newcal Group in the settings above, other users will not see the mini-calendars produced by the [newcal] tag.
Activate yabb minical template tag? If checked, placing a <yabb minical> tag in the template.html will insert a small current month calendar in the forum template. If you are not using a <yabb minical> tag in your forum template you can improve performance by leaving this box un-checked.
Limit Event Posting to Admins and Calendar Moderators Only? Checking this box will allow only Admins and Calendar Moderators to post events. Other users still will be able to view events.
Calendar Moderators: The members of the member groups* specified in this box will become Calendar Moderators. As Calendar Moderators, these members will have the ability to add/edit/delete events when the check box above is checked. In addition, Calendar Moderators can modify/delete events written by anyone.
Limit Calendar Access? When this box is checked, all members may view the calendar. When unchecked, only Admins and the members of the member groups specified in the Newcal Group will be able to view the calendar.
Newcal Group: The members of the member groups* specified in this box will be granted exclusive access to the calendar when the box above is un-checked. Tip: Unchecking box below and entering a nonexistent member group name makes calendar visible to Admin only (handy for hiding calendar during major updates).
*The member groups discussed here are the member groups defined in YaBB and created and modified through the Edit Member Groups function in the Admin Center. Members are added to these member groups through individual member Profile pages. Members are added as Calendar Moderators and Newcalgroup only through member groups, not as individuals.
Member group names should be entered in the boxes with a comma between each group name and no spaces between group names:
GroupOne,Group Two,Global Moderators ==> Correct
GroupOne, Group Two, Global Moderators ==> NO! Use no spaces between group names!
GroupOne|Group Two|Global Moderators ==> NO! Commas are the only separator used!
Guest Event Posting: If checked guests may post events, if unchecked guest posting is not allowed.
Date Format: This setting allows the date to be displayed in one of two formats. If unchecked, the date will be shown as "Friday, November 15, 2002". If checked, the date will be shown as Friday 15 November 2002.
First Day of Week: If unchecked, Sunday will be shown as the first day of the week. If checked, Monday will be shown as the first day of the week.
Show initial post date for recurring events? Checking this box displays a message at the bottom of the description field for recurring events. The message indicates the initial date for the event. This can be handy when trying to edit recurring events that may have been entered weeks or months in the past. Clicking on the date opens the View Events Page for that date.
Moon Phases on Month View Calendar: If checked, the full moon and new moon will be shown on the month view calendar.
Moon Phases on Info Center: If checked, the current phase of the moon image will replace the calendar icon on the Upcoming Events section of the Info Center and display on the SSI and YaBB FrontEnd. If unchecked, the regular calendar icon will appear on the Upcoming Events section of the Info Center and no moon phase images will appear on the SSI and YaBB FrontEnd.
Show Birthdays on Month View: If checked, member birthdays will appear on the month view Calendar. Birthdays are not shown on the year view calendar.
Include Ages on Month View: If checked, user ages will be displayed next to names when birthdays are shown on the month view calendar.
Show birthdays on Info Center, SSI, and Whoson Views: If checked, member birthdays will appear on the Info Center, SSI, and Whoson (YaBB FrontEnd).
Include Ages on Info Center, SSI, and Whoson Views: If checked, user ages will be displayed next to names when birthdays are shown on the Info Center, SSI, and Whoson (YaBB FrontEnd).
Allow Event Notices via Email: If checked, users may send notices of events to others via email by clicking buttons on the view events pages.
Show Newcalendar Help Link? If checked, a link to this help file will appear next to the "Search Calendar Events" link. This help file is written in english and this file may not be appropriate where the primary language of forum users is not english. The Calendar Help link to this file located at the top of the Newcalendar Settings Page will remain even if this box is unchecked. The Admin may choose to replace this help file with another more appropriate file.
Extended Profiles Options: These settings will appear only if the Extended Profiles mod (available from BoardMod ) is loaded on the Forum. If the Forum Administrator has created Profile Fields of Field Type = Date these fields will be displayed here with a set of options. If no Profile Fields of Type = Date have been created, the message "No Date Fields Exist in Extended Profiles" will appear in place of these settings. The format is to provide the name of the field and links to the profile pages of users on the date the users have set on their profile pages. This is similar to how the birthday display works. If your forum has many members, displaying Extended Profiles fields may increase server load and increase page loading time for calendar pages.
Use Extended Profiles fields on Calendar?: Check this box if you plan to display any of the Extended Profiles fields on the calendar. If you do not plan to display any Extended Profiles fields on your calendar, leaving this box unchecked can greatly speed up the loading of your calendar pages, particularly if your forum has many members.
Show on Month View: If checked, the field will be shown on the month view.
Show in Info Center: If checked, the field will be shown under Upcoming Events in the Info Center, SSI, and YaBB FrontEnd.
Make Annual Event: If checked, the field will be displayed on the same date every year. Note: This applies to user-set dates which occur in the future as well as past dates. If unchecked, the field will only be displayed in the year entered by the user on the Profile page.
Years on Month View: If checked, the elapsed years between the user set date and the current calendar date will appear on the month view. This is similar to the age display for birthdays. Note: This only applies to user-set dates of at least one year prior to the calendar date. These elapsed years will not be shown for user set dates which occur in the future. This setting only applies when the Make Annual Event setting is checked.
Years on Info Center: If checked, the elapsed years between the user set date and the current calendar date will appear in the Info Center, SSI, and FrontEnd mod. This is similar to the age display for birthdays. Note: This only applies to user-set dates of at least one year prior to the calendar date. These elapsed years will not be shown for user set dates which occur in the future. This setting only applies when the Make Annual Event setting is checked.
Month View Calendar Table Properties**: The border width, cell padding, cell spacing, and cell height of the month view calendar are set here.
Year View Calendar Table Properties**: The border width, cell padding, and cell spacing of the year view calendar are set here. The "Year table" settings control the border width, cell padding, and cell spacing of the overall calendar while the "Month table" settings control the border width, cell padding, and cell spacing of each individual month calendar.
[newcal], SSI mini-cal, and <yabb minical> Tags Calendar Table Properties**: The border width, cell padding, and cell spacing of the mini-calendars produced by the [newcal] YaBBC tag, SSI mini-cal statement, and <yabb minical> template tags are set here.
**The sample calendars shown next to these settings are created using these settings so the Admin can see the results of changing these settings without leaving the Newcalendar Settings page. To update the sample calendar, click the Save button at the bottom of the page. The colors and fonts displayed on the sample calendars are derived from the .newcal settings in the template.html file. To change calendar colors and fonts, edit the .newcal settings in the template.html file.
Rebuild Members List: It is recommended
that the Admin run "Rebuild Member List". This will keep the member birthday
info current. This is the same function as found on the main Admin
Center page. It is repeated here as a reminder to the Admin that the proper
functioning of the calendar relies on an up-to-date member list. All On-Screen
Text not entered on the Newcalendar Settings Page
is found in the english.lng file ecaltxt{'00'}
= "whatever" settings.
Archive Calendar: Archiving the calendar does two things; the first is that it makes a backup copy of the calendar event database. The backup copy will be located in the YaBB Variables directory and be named newcalarchive_x.txt where x is incremented each time you archive the database.
The second thing that happens during archiving of the event database is that all entries occurring on or before the date entered are removed from the active calendar database . This will reduce the size of the active database and may improve calendar performance on forums with many events. Note that events that are removed from the active database may have had repeats that occurred after the archive date. These repeats will also be removed.
An archive file may be restored as the active database file by renaming the
file to newcaldb.txt and chmodding to 666.
The Newcalendar mod supports two Server Side Include (SSI) statements: the first adds the Upcoming Events list to HTML pages and the second adds a mini month view calendar to HTML pages. Correct the tags below to reflect the path to your YaBB forum from your root web directory. Note that many servers require that an HTML page carrying an include statement like those below have an .shtml extension instead of an .html or .htm extension. Note: these SSI statements produce output visible to all readers even if you have limited access to your calendar to specific member groups.
To add Upcoming Events to any HTML page on the host server, add the following tag on the page where you would like the upcoming events list to appear.
<!--#include virtual="/cgi-bin/yabb/YaBB.pl?action=includecal" -->
This tag will list events for event types designated for all users. If a user is also a logged-in member of a group that has been assigned event types then events for that group will be listed as well.
A second tag format is available that allows the admin to specify that the event types assigned to a group be made visible to all.
<!--#include virtual="/cgi-bin/yabb/YaBB.pl?action=includecal&group=groupname" -->
When this SSI tag is used, event types designated for all users plus those for the specified group will be listed. All users will be able to see the complete list of events. In this case, logged-in group members and admins will be able to click on events to see event details. Others will only be able to read the event subjects.
To add a mini month view calendar to any HTML page on the host server, add the following tag on the page where you would like the calendar to appear.
<!--#include virtual="/cgi-bin/yabb/YaBB.pl?action=newcalmini2&selmonth=04&selyear=2003" -->
The &selmonth=04&selyear=2003 portion of the tag specifies the month and year to show. Note the "2" at the end of newcalmini2.
If you would like the tag to always show the current month and year use this tag instead:
<!--#include virtual="/cgi-bin/yabb/YaBB.pl?action=newcalmini" -->
The output of this tag includes CSS tags for defining fonts and colors. However, these CSS tags will be undefined unless you also place CSS definitions into a <style> section in the <head> section of the HTML page where you want the mini calendar to appear. The calendar will appear whether or not you do this but adding CSS definitions will provide greater control over the appearance of the calendar. The easiest way to add the CSS definitions is to copy them from your forum template.html file into the page where you will be adding the calendar tag. The .newcal definitions designated for " Newcal and mini-cal tags" in the template.html file are the ones you would want to copy. Below are the default CSS definitions for these tags provided with the Newcalendar mod. Your definitions will vary depending on how you modified them to fit the theme of your forum.
<style>
.newcal33 {color: black;font-size: 10px} /* Newcal tag - dates with no events*/
.newcal34 {color: #0000FF;font-size: 10px;font-weight:bold} /*Newcal tag - days
with events, not today*/
.newcal35 {color: #000000;font-size: 12px} /* Newcal tag - Month and Year text*/
.newcal36 {color: #FF0000;font-size: 10px;font-weight:bold} /* Newcal tag -today*/
.newcal37 {background-color: #CFE6FB} /* Newcal tag - month table background*/
.newcal38 {background-color: #FFFFCC} /* Newcal tag - Month and Year cell
background color*/
.newcal39 {background-color: #CFE6FB} /* Newcal tag - date cell background color*/
</style>
To define the calendar fonts as you wish, be sure to have something like:
p,h1,h2,h3,h4,ul,ol,li,div,td,th,address,blockquote,nobr,b,i { font-family:Verdana,Arial,sans-serif;}
in your template.html to define the general font-family for the whole board. Otherwise the fonts will default to the user's browser defaults. The calendar will work either way. To change specific fonts and colors in the calendar, modify the .newcal settings in the template.html file.
(read upgrade section below if you are upgrading from another Newcalendar version)
Upgrading from Newcalendar 1.x:
No good upgrade path exists, uninstall older Newcalendar version and install
this version. The database file has changed in format so you will lose
all current entries.
Upgrade from Newcalendar version 2.x or 3.x:
The Newcalendar mod includes with an additional file called:
NewcalEnter_add_more_smilies.pl
This is an optional version of the NewcalEnter.pl file that is pre-configured to work with the Add More Smilies mod, version 2.1. To use this version, Add More Smilies v2.1 must be working on your forum. Copy this file to your Sources directory in ASCII mode and rename it to NewcalEnter.pl. The regular Add More Smilies control panel in the Admin Center will control the appearance of the smilie buttons.
Version 3.9 (this version)
Version 3.8
Version 3.7
Authors: Ironwing, GauGau, & Nermware
This mod is based on the eventcalendar.pl script by NermWare.
Converted to YaBB mod by Ironwing.
The MoonPhase.pl script based on module MoonPhase.pm by Raino Pikkarainen, available
at www.cpan.org.
GauGau updated the script to CSS.
Thanks to Zoo for the code to greatly speed up the Newcalendar birthday code.
Thanks to Shoeb Omar for hefty code snippets from the Add More Smilies mod.
Thanks also to chrishartmann, Demon Slayer, and Max for code snippets from the
Birthday mod.
Direct questions about this mod to Ironwing.