NewcalendarSP1 version 3.9

  1. Calendar Features
  2. How to Use the Calendar
  3. The Newcalendar Settings Page
  4. Adding Calendar Info to HTML Pages (SSI)
  5. A Note on Fonts
  6. Installing the Calendar for the First Time
  7. Upgrading from a Previous Version
  8. Add More Smilies Addon
  9. Calendar History
  10. Credits

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!

HELP FOR USERS

Features:

To Use:

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.

Select Month to View

To view the current year, click on the year text next to the month name.

Click Year to see Year View

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.

Click Month Name to see Month View, Date to see Events for Date

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.

Click Month Name to see Month View, Year to see Year View

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.

Click on Event to View Details

Event View

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.

Send Event Page

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.
 

Click on Date to Add Events

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.

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.

Example newcal tag output

HELP FOR THE FORUM ADMINISTRATORS

Newcalendar Settings Page:

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.

Event Types List

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!

Enter Member Group Names

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.

Weeks can start with Sunday or Monday

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 Main 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.

Upcoming Events on BoardIndex

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.

Extended Profiles Settings

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.

Moon Phase on Month View

Show in Info Center:  If checked, the field will be shown under Upcoming Events in the Info Center, SSI, and YaBB FrontEnd.

Moon Phase on Info Center

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.

Table Properties Preview

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.

Table Properties Preview

[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.

Table Properties Preview

**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.

Calendar colors and fonts are in the template.html file .newcal settings.

To Use the Server Side Includes:

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>

Fonts Note:

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.

New Installation:

(read upgrade section below if you are upgrading from another Newcalendar version)

  1. Install the mod (manually with a text editor or using BoardMod).  For YaBB SP 1, 1.1, and 1.2 forums use the newcalendar3_7.mod file.  For YaBB SP 1.3 forums use the newcalendar3_7_SP_1_3.mod file.  For YaBB SP 1.3.2 and 1.4 forums use the newcalendar3_7_SP_1_3_and_1_4.mod file.  If you don't know how to install a mod, please visit the BoardMod website for assistance before attempting to install this calendar, a short time spent reading the FAQ file there will save you a great deal of frustration here.
  2. Upload the modified YaBB.pl, english.lng, Subs.pl, Admin.pl, BoardIndex.pl, Profile.pl, YaBBC.pl, and template.html files (use ASCII mode).  Upload the modified SubList.pl file for YaBB SP 1.3 forums.  Chmod as normal.
  3. Upload all the files in the NewcalSources directory to your YaBB Sources directory (use ASCII mode).
  4. Upload all gif files in the NewcalImages folder to your YaBB images directory (use binary mode).
  5. Upload newcalsettings.txt and newcaldb.txt to your Variables directory in ASCII mode and chmod both to 666.
  6. Upload NewcalendarHelp.html to your YaBB help directory (use ASCII mode).
  7. Upload all the gif files in the NewcalHelp folder to your YaBB help directory (use binary mode).
  8. Edit the Newcalendar Settings in the Admin Center.  Read the NewcalendarHelp.html file (this file) to learn about the various settings.
  9. Click on the Rebuild Member List link after you first install the calendar.  This will populate the member birthday file.  No birthdays will appear on the calendar until this is done.

Upgrading the Calendar from a Previous 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:

  1. Backup your eventcaldb file.
  2. Uninstall old version.
  3. Install new version following the instructions for New Installation above.
  4. Restore your backup copy of eventcaldb to your variables directory, renaming it to newcaldb.txt.

Add More Smilies mod Addon:

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.

Mod History:

Version 3.9 (this version)

Version 3.8

Version 3.7

Version 3.6 Version 3.51 Final Version 3.5 Version 3.3 Version 3.2 Version 3.1 Version 3.0 Version 2.64 Version 2.63 Version 2.62 Version 2.6 Version 2.5 Version 2.4 Version 2.3 Version 2.2 Version 2.1 Version 2.0 Version 1.1: First Release Version

Credits:

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.

Homepages:
Ironwing
GauGau
Nermware