We are still in Beta, but 0.1.1 includes all of the bugs reported in the first round of beta (0.1.0)
At this point the features are pretty well tested... if there are any bugs they're most likely in the way I packaged the install files instead of the mod's code itself.
VOLUNTEERS WANTED: if you want to help translate this release here are the language files: http://www.phpbbcalendarmod.com/downloa ... 0_lang.zip If you translate the files, please zip them back up and post them so they can be included in the next release - with proper credit of course
Also if anyone is interested in translating this to subsilver2 please let me know. I know there were a few solutions posted for 0.0.8, but there are so many new features in the next release, that it will need a lot of updates.
MOD Title: phpBB Calendar
Warning: there's more then one calendar mod - please double check the author of the calendar mod in question before posting in this thread.
MOD Description: A calendar MOD for phpBB to allow users to post events for public or private view within phpBB.
MOD Version: 0.1.1
- Add ACP support for custom colors to highlight event registration status: yes, no, or maybe.
- Bug Fix: If users aren't logged in and attempt to view a private event, display the login box instead of telling them they aren't authorized to view the event.
- Bug Fix: Prevent errors when users attempt to register for an event with a negative number of people attending the event. If the user enters a negative number, store it as zero.
- Bug Fix: Prevent duplicate event registrations, when the user registers for an event take them to a new screen before reloading the event
- Bug Fix: Initialize $edit_rsvp_url variable.
- Bug Fix: Fix color issue in UCP "Manage Event Registration".
- Bug Fix: Add group_id to sql query in get_event_invite_list_and_poster_url() and typo fix: $event_data['group_id'] should be $group_data['group_id']
- Bug Fix: recurring events didn't support multiple groups on the invite list (missing 'group_id_list' item in the insert command for all 12 recurreng event types).
- Bug Fix: Some browsers didn't enable/disable the allow guests toggle when the user would check/uncheck the attendance tracking toggle.
- Move the All Day Event toggle above the Start Time for clarity.
- Update to 3.0.10: change T_TEMPLATE_PATH to T_SUPER_TEMPLATE_PATH in overall_header.html
- Add Recurring events
- Add Event Registration
- Add Ability to invite multiple groups to an event
- Add Custom date/time formatting controlled in calendar ACP
- Add Ability to display events only on their start date
- Add Ability to display a list of upcoming events for the next X days
- Add Ability to display a list of upcoming events (that the user has registered for) for the next X days
- Add Detailed display for calendar on who is online page
- Add New permission option to invite groups you're not a member of
- Add Detailed permissions for ability to create private, group, or public events
- Add Utility in ACP to move all events +/- one hour (helps when changing forum's dst setting).
- Add Ability to filter the calendar for events of a specific type
- Add UCP module to "Manage my events"
- Add UCP module to "Manage event registration"
- Add Ability to "watch" the calendar for new events
- Add Ability to "watch" specific events for updates/replies
- Fix end of year bug (phpversion specific) use Y not o!
- Moved public events to default position
- Fix bug with hidden groups
- Provide contrib file to clean up birthdays without leading whitespace
- Update server name and version number (adm/mods/phpbb_calendar_version.php)
- Add option to allow everyday users to see hidden groups on invite list (adm/style/acp_calendar.html, includes/acp/acp_calendar.php, includes/functions_calendar.php, language/en/mods/calendar.php)
- Remove bogus warning when deleting an event type that was not referenced by any events (adm/style/acp_calendar_event_types.html, includes/acp/acp_calendar.php)
- Added color swatch to edit event type in ACP (adm/style/acp_calendar_event_types.html, includes/acp/acp_calendar.php)
- Correct calls to request_var with integer type values (includes/acp/acp_calendar.php, includes/functions_calendar.php, calendarpost.php)
- Remove alternate cron text - firefox bug unrelated to this mod, but many users complained about it so the fix is here if you want it (includes/functions.php)
- Display full event subject text on mouseover tooltip (includes/functions_calendar.php, styles/prosilver/template/calendar.html, styles/prosilver/template/calendar_next_events_on_index.html, styles/prosilver/template/calendar_view_day.html, styles/prosilver/template/calendar_week_on_index.html)
- Relocate the calendar on the index page (styles/prosilver/template/index_body.html)
- Prevent display of invalid days like February 31st - even if the user selected that option from the pulldown menu on purpose (includes/functions_calendar.php)
- Fix bug with displaying extra smilies when posting events (includes/functions_calendar.php)
- Remove ALL_DAY_STARTING - no longer used (language/en/calendar.php, language/en/calendarpost.php)
- On new event confirmation page, add link to view the newly created event (calendarpost.php)
- Fix uninitialized variable subject_limit (includes/functions_calendar.php)
- There were several bugs related to timezone and DST settings of the server hosting the forum. In particular forums hosted in the southern hemisphere were seeing the most problems because their DST schedule is opposite GMT's DST schedule. Hopefully this is the last of the timezone/DST bug fixes (calendarpost.php, includes/functions_calendar.php)
- Update check mod version file (adm/mods/phpbb_calendar_version.php)
- Add support for Auto-pruning events (SQL insert new entries in calendar_config table, cron.php, adm/style/acp_calendar.html, includes/functions.php, includes/functions_calendar.php, includes/acp/acp_calendar.php, language/en/mods/calendar.php)
- Redesigned style to look more pro-silver like and added more comments to changed style files. (includes/functions_calendar.php, styles/prosilver/template/calendar.html, styles/prosilver/template/calendar_view_day.html, styles/prosilver/template/calendar_view_week_on_index.html, styles/prosilver/theme/buttons.css, styles/prosilver/theme/colours.css)
- Fixed bug where event subjects were displaying censored words in the calendar (includes/functions_calendar.php)
- Add Mod Version Check support. (adm/mods/phpbb_calendar_version.php)
- Hide birthdays in calendar, unless user has permission to view profiles (includes/functions_calendar.php)
- When errors are encountered during event creation, store re-use the input date/time info - don't force the user to start from scratch (calendarpost.php)
- Fix bugs in xhtml changes from 0.0.4 - things stopped working in firefox (styles/prosilver/template/calendar_post_body.html, styles/prosilver/template/calendar_post_editor.html, calendarpost.php, adm/style/acp_calendar.html, adm/style/acp_calendar_event_types.html)
- Add a few more xhtml compliant changes (adm/style/acp_calendar_event_types.html)
- Fix another DST bug in the week and month views. (includes/functions_calendar.php)
- Fixed incompatability issue with Arcade mod. Renamed generate_smilies function to generate_calendar_smilies (calendarpost.php, includes/functions_calendar.php)
- Fix style issue with location of submit button during event posting (styles/prosilver/template/calendar_post_body.html, styles/prosilver/template/calendar_post_editor.html)
- Fix tranlation bug with calendar title on view event page (includes/functions_calendar.php, styles/prosilver/template/calendar_view_event.html)
- Fix uninitialized variable $event_counter (includes/functions_calendar.php)
- Allow calendar header date to be localized to different formats. (language/en/calendar.php, includes/functions_calendar.php)
- Fix partial icon display bug. Add text-align: left; in hand edits for buttons.css (styles/prosilver/theme/buttons.css)
- Fix encoding of special html characters in event subject (calendarpost.php)
- Fix session logout (when cookies disabled) when entering calendar (includes/functions.php, styles/prosilver/template/overall_header.html)
- Add "..." to end of truncated subject strings (includes/functions_calendar.php)
MOD Download: http://phpbbcalendarmod.com/downloads/phpbb_Calendar_0_1_1.zip
Languages:(if you translate the mod please post the URL to your translation so I can add it here)
- German translation for 0.1.1(thanks to sssubito)
- German translation for 0.0.8 (thanks to thomas.d)
- German translation for 0.0.5 (thanks to renet)
- Dutch Translation for 0.0.7 (thanks to fulleffect)
- FrenchTranslation for 0.0.7 (thanks to crevette)
- zh_cmn_han (Traditional Chinese) translation for 0.0.7 (thanks to dendrimer)
- Italian Tranlsation for 0.0.7 (thanks to ferra1980)
Demo Board: http://phpbbcalendarmod.com
Demo User: demo
Demo User Password: demouser
demo has permission to view, create, edit, and delete events.
Demo Moderator: demoM
Demo Moderator Password: demomoderator
demoM has permission to do everything demo can do, plus they have the ability to edit and delete events that were created by other users.
Anonymous: (not logged in)
Anonymous can view events, but has no access to create, edit, or delete the events.
Planned Features (all done now):
- ACP configurable - done
- Personal events - done
- Public events - done
- Birthdays using RC5's Birthday features - done
- Admin configurable event types - done
- Event levels -done
- All day/timed events - done
- List of upcoming events on index - done
- Permissions for who can create events etc. - done
- Auto Pruning of past events - done
- Recurring events - done
- Event Registration - done
- Add UCP module to "Manage my events" - done
- Add UCP module to "Manage event registration" - done
- Add Ability to "watch" the calendar for new events - done
- Add Ability to "watch" specific events for updates/replies - done
- Ability to invite multiple groups to an event - done
- Custom date/time formatting controlled in calendar ACP - done
- Ability to display events only on their start date - done
- Ability to display a list of upcoming events for the next X days - done
- Detailed display for calendar on who is online page - done
- New permission option to invite groups you're not a member of - done
- Detailed permissions for ability to create private, group, or public events - done
- New utility in ACP to move all events +/- one hour (helps when changing forum's dst setting) - done
- Ability to filter the calendar for events of a specific type - done
Completed Tasks in Detail:
- All Day and Timed Events
- Event View - filled with all event details (who's invited, who created the event, BBCode, Smilies, start and end times, edit & delete buttons if applicable etc)
- Month View - can jump to any month via next and prev links, or jump randomly via pulldown menus. Lists birthdays, event types and event names only. Click on the day's number to add a new event on that day
- Week View - can jump to any week via next and prev links, or jump randomly via pulldown menus. Lists birthdays, event types, names, and times. Click on the day's number to add a new event on that day.
- Day View - can jump to any day via next and prev links, or jump randomly via pulldown menus. Includes a Graphical display of events on a timeline - lets you quickly see schedule conflicts etc. Lists birthdays, event types, names, and times. Click on the day's number to add a new event on that day.
- Support for BBCode and Smilies
- Birthday Support - Using phpBB3 Birthdays (note birthdays are hidden in the calendar as of 0.0.6 unless the user has permission to view profiles)
- Personal Events
- Group Events
- Public Events
- Make events bold if you are event creator - Let's you quickly see events most important to you.
- List of Upcoming Events on index - in the ACP you can specify whether or not you want to display the upcoming events on the index (and if so how many events to list). You also have the option to list the current week view on the index.
- Detailed Permissions- You can control who has permission to view, create, edit, delete, and moderate events.
- Auto pruning of past events - From the ACP you control how often events are pruned, and how old they have to be before they are added to the delete list.
- Support for handyman's "mod version check" mod - viewtopic.php?f=69&t=691155
- Recurring events - events will be occurrenceable with 12 different options:
- A: Day [X] of [Month Name] every [Y] Year(s)
- A: [Xth] [Weekday Name] of [Month Name] every [Y] Year(s)
- A: [Xth] [Weekday Name] of full weeks in [Month Name] every [Y] Year(s)
- A: [Xth from last] [Weekday Name] of [Month Name] every [Y] Year(s)
- A: [Xth from last] [Weekday Name] of full weeks in [Month Name] every [Y] Year(s)
- M: Day [X] of month every [Y] Month(s)
- M: [Xth] [Weekday Name] of month every [Y] Month(s)
- M: [Xth] [Weekday Name] of full weeks in month every [Y] Month(s)
- M: [Xth from last] [Weekday Name] of month every [Y] Month(s)
- M: [Xth from last] [Weekday Name] of full weeks in month every [Y] Month(s)
- W: [Weekday Name] every [Y] Week(s)
- D: Every [Y] Day(s)
There is a new user permission setting to determine which users have permission to create recurring events.
Recurring events can be deleted individually, or all events of the recurring group can be deleted together. Recurring events can be edited individually (including start/end time settings, but not recurring event settings) or you can edit the whole group of events altogether. If you're editing the whole group of recurring events - you will not be able to edit any of the scheduling data, you'll only have access to the subject, body, invite list, and registration (rsvp) settings.
When creating a recurring event you can specify the last day of the event group, or you can specify the recurring event as never ending.
Recurring events are populated by a cron job, and you can edit how often the cron job runs in the ACP. You can also specify in the ACP how many days into the future you want to have populated in the calendar at a time.
- Event Registration - When creating new events, users have the option to enable attendance tracking which allows users to register for the event. The event creator can also specify whether forum members are allowed to bring guests to this event. When viewing the event, users are prompted to register for the event, and if guests are allowed they can specify how many people they are bringing to the event so the calendar can track the total headcount for the event. Permissions can be used to control who has permission to create events with attendance tracking, and who is able to see what information gathered from users registering for the event. Users are allowed to leave comments with their "yes", "no", or"maybe" reply, and the comments support smilies, bbcode, etc. Here's a screenshot: http://www.phpbbcalendarmod.com/screens ... ration.jpg
- Optional UCP module "Manage event registration" - displays upcoming events (that the user has registered for) for the next X days.
- Optional UCP module "Manage my events" - displays upcoming events (that the user has created) for the next X days.
- Ability to "Watch" the calendar - users can elect to watch the calendar for email notifications when new events are created (that they are invited to). The user is sent one notification when a new event is created, but no new notifications for new events are sent until they re-visit the calendar (much like how notifications are sent for forums you "subscribe" to).
- Ability to "Watch" a specific event for updates and/or replies - Users can elect to watch a specific event for update notifications whenever the event creator updates the event information or other users update thier reply (registration) for the event. Note if the user doesn't have permission to view detailed event replies - they will not recieve the email notifications when other users reply to an event, but they will still recieve the email notifications when the event poster updates the event information.
- Ability to invite multiple groups to an event - this should be self explanatory
- Custom date/time formatting controlled in calendar ACP - this overwrites the user's preferred date/time format, so you can display just the time in hours where it makes sense (like in the week view) or the whole date+time (like in the display event)
- Ability to display events only on their start date - obviously the day view is a graphical display of all things going on, and events will display in the day view even if not on the start date with this setting turned on. However it's great for things like a week view with an event that starts at 10pm and ends at 2am the next day, because it will only display on the first day.
- Ability to display a list of upcoming events for the next X days - self explanatory
- Detailed display for calendar on who is online page - self explanatory
- New permission option to invite groups you're not a member of - if this is turned on, you'll be able to create events for groups you don't belong to, but the author of the event will always be able to see their own events - even if they don't belong to the invite list.
- Detailed permissions for ability to create private, group, or public events - now you can give some users the power to create public events, and others only permission to create private events, or whatever combination makes sense for your forum.
- New utility in ACP to move all events +/- one hour (helps when changing forum's dst setting). When you create an event it's stored in an absolute time, and if the forum (and/or users) change their dst settings they may suddenly see all the events appear off by one hour, now there's a utility to move ALL events in the calendar forward or back by one hour to help correct things when you change your DST.
- Ability to filter the calendar for events of a specific type - currently there's no UI for this, it's simply a matter of adding &calEType=X in the URL where X is the event type id you wish to see. The user who requested this feature sounded like they would create links to "different" calendars on their forum, where each calendar only displayed events of the specified type.
As with any mod installation, be sure to save a backup copy of your database and your files. This is a complicated mod! If you miss a step, restoring your backup database and files is a fast way to get your board back up and running. Often by forcing yourself to go through the entire installation again you will find the step you missed and fix the problems yourself.
After editing the SQL database and uploading the files you must:
- Open the prosilver.xml and follow those instructions to install the required style changes. If you don't follow these, your calendar will not have a user interface.
- Install the calendar modules in the ACP (and enable them), purge your cache in the ACP, set up the calendar permissions (make sure to give yourself permission to administrate the calendar) configure the calendar in the new ACP calendar modules.
Troubleshooting and tips to avoid problems:
- If you have problems accessing the ACP modules after installation, be sure you purge your cache in the ACP, and then make sure you have given yourself calendar admin privileges.
- The SQL commands provided assume you're using MySQL 41 for your database... if you're using something else like: Firebird, Mssql, MySQL40, Oracle, Postgres, or Sqlite you may have some difficulties (especially when declaring variables that hold foreign characters. See this post for more details:
One kind user posted their changes required for 0.0.8 MSSQL 9 (2005) you will find them in the contrib folder. If you port the SQL commands to any other database type, please post them so we can add them to the contrib folder for the next release.
- The sql commands assume you are using phpbb_ as your table prefix. If your table prefix is not phpbb_, you must edit the sql commands to match your table prefix before executing the sql commands. To find your table prefix open your root/config.php file and look for something like: $table_prefix = 'phpbb_';
For example, phpbb3_ is commonly used as the table prefix on a forum that was converted from phpbb2 to phpbb3. In this case you must find phpbb_ and replace it with phpbb3_ before running the sql commands.
- If you have any problems with your permissions please run the following command in phpMyAdmin: select * from phpbb_acl_options where auth_option like '%calendar%'; If you see anything listed twice that's the source of your problem - you must remove all duplicate entries from that table and start over with setting up your permissions in the ACP. These duplicate entries were caused by running the SQL command on the acl_options table more then once. Also if you don't purge your cache after installing the modules, the permissions you attempt to set may not save properly. If you don't have duplicate entries in your acl_options table, purge your cache and try to reset your permissions... hopefully this time it will save the changes you're telling it to save.
- If your calendar looks dark blue everywhere - instead of what you see in the demo, you haven't refreshed your style properly. Enter the ACP and go to the "Styles" tab and select "Templates" from the list of style components on the left. Find your style name in the list of installed templates, and click the link to "Refresh" your style's template. Confirm that "Yes" you really eant to clear the cached version of your template. Now select "Themes" from the list of style components on the left. Find your style name in the list of installed themes and click on the link to "Refresh" your style's theme. Confirm that "Yes" you really want to clear the cached version of your theme. Finally select "Imagesets" from the list of style componenets, and refresh your imageset. Now return to the general tab and click the "Run now" button next to where it says "Purge the cache". Now return to your calendar and refresh the page. I've seen internet explorer store stale copies of the calendar in my temporary interenet files before, so if all else fails, close all browser windows except for one, go to Tools->Internet Options, and on the "General" tab choose "Delete Files" to delete all of your cached web pages on your computer. Now return to the ACP (don't view the calendar yet) and refresh all the parts of the style and purge the cache again. Now return to the calendar, and things should look better.
- If you don't see some of the icons in your calendar like you see in the demo, first make sure you've tried steps 4 and 5 above. Bad permissions will prevent icons from showing if you don't have permission to use them. Failing to refresh all the parts of your style may also prevent icon display. Here are some tips:
a) If you're not using english, be sure you uploaded the icons into the appropriate folder for your language. They are language specific, as the numerals displayed on the calendar icons are different in english and Chinese character sets.
b) If you can see all of the icons except for the star, then you probably don't really have permission to create new events - go back to troubleshooting step 4 and then go into your ACP->Permissions and select "View user-based permissions" at the bottom left. Now select your username from the list of users and click "View permissions". Click on the calendar tab and if you don't see a green background under the yes columns for "Can create [group/private/public] events" that's your problem. To see how your permission was calculated click on the circle with an arrow just to the left of where it says "Can create [group/private/public] events". That will open a popup window which shows you exactly what permission settings you're using from what group - so you can figure out what you need to change.
- Be careful when hand editing any of the files. You must use a proper text editor - especially one that supports UTF-8 without bom formatting for the language files. If you have a simple white space before the starting <?php in a file you may see strange errors, so the white space and character encoding you get from your text editing program are very important. I believe notepad is a common cause of problems like these. Textpad is an inexpensive editor that you may find useful: http://www.textpad.com/ I've also heard that there is a free editor called notepad++ (not to be confused with notepad) that will work well if you specify the proper settings when saving the file.
- Before installing this mod (at the very least) you MUST read all posts in the thread pertaining to this latest release. For example if the current release is 0.0.5, please search the thread for the first post with 0.0.5 in the subject, and read all of the posts through to the end of the thread. Why? If any bugs were reported in this release, I will post the fix as soon as it's available, so save yourself some trouble and look for bug fixes (if there are any) before you install this mod. Here's the first post for the current 0.1.1 release: viewtopic.php?f=70&t=666195&start=3855#p13170159
- If you've finished reading all of these troubleshooting pages and are still lost, try searching for the answer on phpbb.com/community. If you return to the calendar topic here: viewtopic.php?f=70&t=666195&st=0&sk=t&sd=a be warned that the search box that says "Search this topic..." does NOT do what it implies. It will return everything outside of this topic making it almost impossible to find what you're looking for.
Here's a better way to find what your looking for. Go to the "Advanced Search" page here: search.php Since "calendar" and "alightner" are in the subject of virtually every post in this thread, be sure to enter the following in your "Search for keywords:" calendar alightner whatever_you_are_looking_for. Also make sure to select "Search for all terms or use query as entered". That should help you find what you need.
Special thanks to:
ThunderCrew and Gremlinn for helping test 0.1.0
This mod is NOT recommended for beginners, because it is still in development and may have many updates released.
Before posting any enhancement requests in the mod thread, please read the entire post thread - that means you'll have to read at least 175 pages, but I've had to read them all too (many times) so laziness is no excuse. It's likely someone has requested the same thing before, so please check before making a new request... it's polite and I appreciate it Also if you post an enhancement request, and I don't respond - it does NOT mean that I didn't read your post. It means I'm considering it. I won't commit to new functionality if I don't know how long it will take to implement, so if you get a fast response, it's often me saying "No". If you want me to take your request seriously - you should give me time to think it over, repeating your question makes you sound impatient and disrespectful... Simple manners will get you far.