To see a complete list of changes since version 0.4.*, consult changelog.txt in the root of the extension directory. I will only be listing the changes for major releases here.
merged translations
fixed bug where usernames would link to user's CWT profile instead of author CWT profile.
fixed bug #1002 (inconsistency in keeping track of new posts between threads and replies)
fixed bug #0963 (user images are generated using typo3 IMG_RESOURCE rather than using the original image. This will help keep load time down) If, for some reason, image magick doesn't work and the image isn't generated, the forum will default to the original file.
Implemented Janno's suggestion in which clicking the PM button on a post will populate the pm form with re: post subject and quoted post text (maybe the latter isn't so good...let me know).
Cleaned up the flexform a little bit and added notes by the fields that won't be respected if cwt_integration is on.
Removed the "re:" form label from the php code and abstracted it to locallang
Added a flexform field "enable cwt_community integration". In theory, if cwt_community is installed, all you have to do to make the integration work is check this box.
cleaned up the TS conf for cwt_community in chc_forum TS. Users can declare their own templates for cwt_community here, but if they don't, the forum is coded to automatically use the default cwt templates that are bundled with the forum ext.
removed the ID attribute from the userpic and changed it to a class attribute (because ID needs to be unique, I believe).
added some default configuration for user images: if cwt_community integration is set, the forum will automatically look for user images in the cwt upload directory, unless alternate image path is set to something else.
cwt_community integration included
added ratings to posts
added the ability to watch a thread (previously, users could only watch conferences)
added ability for moderators to lock and unlock threads
added ability for moderators to hide and unhide threads and posts.
Added update script to deal with expanded authentication methods.Admins can now set read and write access to conferences using forumgroups. The new permission system works as follows:Anonymous read access: any user, logged in or not, can read messages in the conference.Anonymous write access: any user, logged in or not, can read messages in the conference and post messages to the conference.Forumgroup read access: any user belonging to any one of the forumgroups assigned to the conference can read (but not write) in the conference.Forumgroup write access: any user beloning to any one of the forumgroups assigned to the conference can read and write in the conference.
Sub-toolbar: I've added a box that I'm calling the "sub-toolbar" to the conference and thread view. It will contain buttons that should only show up in these views -- if anyone can think of a better place to put this stuff, let me know.
Open thread / Close thread: If a user is viewing a thread that he/she is allowed to moderate, the option of opening or closing the thread will appear in the sub-toolbar. I'll add the option of making a thread sticky here at some point -- it will be easy now that the foundation has been laid.
Watch conference / ignore conference
These options show up in the sub-toolbar when a user is viewing a conference. Clicking on watch conference adds the conference to the list of conferences that the user wants to follow via email. Clicking on ignore conference will remove the conference from this list.
Watch thread / ignore thread: these options show up in the sub-toolbar when a user is viewing a thread. Clicking on watch thread adds the thread to a list of threads that the user wants to follow via email. Clicking on ignore thread will remove the thread from this list.
Updated mailer: I had to update the mailer to allow thread watching and to handle the new conference permissions system. A lot of people have requested that they can make it so that users only get the first new post in a conference or thread via email until they visit the thread. This functionality has not yet been added, but I'm planning on including it soon.
Rewrote all authentication methods: I completely rewrote how the forum checks whether a user can access conferences, threads, etc. The new version was written with speed in mind -- by my calculations, the optimization that I did should shave at least a few seconds off of page load times.
Added post caching: in previous versions, the forum would run a series of regular expressions on a post every time it was displayed to parse the forumcodes ([quote], [url], etc) and turn them into HTML. This was a waste of resources, so I added an extra field to the post records that cache the results of the forumcode parsing and stores it. When a post is displayed, the forum will check the date of the cached version against the last time the forum was edited via the frontend or the backend. If the cached version is more recent, the forum will use it. By my calculations, this shaved off aproximately 1.5 seconds of load time on pages that displayed 10 posts (eg., thread view).
Removed all pi_list_query calls and replaced them with more efficient calls using DB API.
Fixed bug that allowed users to post in closed threads.
Fixed bug where reply and quote buttons would be included in posts in closed threads
Fixed missing label from appearance section of flexform.
Rewrote major parts of the backend module so that editing records is done via TYPO3 API (using TCA) -- this makes it much much easier to expand this module in the future, and it makes it easier to add new fields, because they're not hard-coded into the backend mod.
Minor bug fixes with author name displaying
Fixed bug with GRSP and Starting Point
Added ability to sort posts in thread by date ASC or DESC.
Merged translations
Added "secret word" configuration value to the flexform security tab. This word will be used by the forum to create hashes (when necessary), to obscure / secure data. See the next entry for an example of how it will be used.
Added encode method to the shared library and decode function to the pi1 class. When you pass a string to this encode method, the string will add an md5'd secret word (see above) to an array containing the string. This is all serialized and base64encoded and passed via the post / get data. The forum decodes the information and checks whether the secret word is correct. This can be used to obscure data sent via the URL -- in this case, I'm using it to encode author UID sent via URL. This should prevent somebody from writing a script that could make the forum output one username after another by feeding it &author_uid=1, &author_uid=2, etc. This is no longer possible, since the $author_uid value needs to be encrypted correctly (with the secret word), for the forum to do anything with it.
Added a new configuration value to the appearance tab of forum flexform: "extension for template images". The default value is .png, although it could also be set to .gif. I removed hardcoded .png extensions from the forum code -- it will now get the extension from this value. So, if you wanted to use gifs instead ofpngs, just set this to "png", and the forum will look for filename.gif instead of filename.png. Because I like you guys, I went ahead and added gif versions of the default image files. Go crazy templaters!
Fixed bug where IE users couldn't attach jpegs (I think -- wasn't able to reproduce it).
Fixed colspan error in user_list template
Fixed user image upload bug where forum failed to check for alternate img path.
Fixed bug where user email addresses showed up in user list even though disable email was set to true. I added a quick check in the display class to prevent emails from showing up in the user list if disable email is set. However, this is a _quick_ fix, since the email column still shows up. For now, you should just edit this out of the template if you don't want it there -- in the future, I'll come up with a better fix. The user list is still very beta -- once I have some more time / sponsorship, I want to build some community features around the userlist, and I'll probably get rid of the email addresses all-together in favor of private messaging or a forum mailer.
Abstracted the '>' divider in the nav path out of the code and into the locallangfile, as per Brendan Jocson's suggestion.
Added some short term caching to the conf and cat read auth methods to try to speed them up. I'm pretty sure that it's the authentication scheme that's slowing down the forum. This part of the forum probably needs to be reconceived, but that's a project for the next release, I think. Hopefully this fix will help in the mean-time.
rewrote the methods for dealing with new posts so the forum stores serialized arrays of the posts. I'm not sure that this is going to be faster... but it will be easy enough to go back to the old method, if necessary.
fixed bug (feature?) where new posts link wouldn't display if user profiles were disabled. NOTE: this meant modifying the toolbar template file. Update accordingly.
Made the forum PHP5 compatible
Changed when the toolbar html is generated -- from now on it gets generated after the bulk of the HTML for each view is produced, which means that the new posts count will be correct, since it will take the current view into consideration when its calculated.
Added "mark read" button to toolbar; marks all posts as read
Changed post form submit button text to "edit post" if the user is editing (rather than "post message")
Added new icons from Ximian project to the post form toolbar.
Added emoticons (thanks to Jan Wulff!)
Changed quote HTML tags from id attributes to classes (if I understand correctly, xhtml strict can't have more than one tag with the same id attribute).
Fixed forum code problems -- mainly by redoing the code, basing it closely on phpBBs bbcode.
Added new forum code: color, size, email, and code tags!
Removed tables from quote view -- replaced with divs
Added button for text color
Fixed bug where forum mailer preferences would be overwritten when there were multiple instances of the forum plugin present on a site.
Added a subject field trim option in the last post info cell.
abstracted some fcode wrappers out of the PHP and into typoscript setup.
abstracted some HTML out of the forum and into typoscript setup.
Modified the forum so that it's possible for other scripts to add GETvars to the URL of forum links via typoscript -- used for Rupi's forum / tt_news connector.
Modified templates for this version: tool_bar.tpl, post_form.tpl
Made it possible to set forum starting view via TS
Fixed backend module access problems for non-admin users
Various other misc. bug fixes (see bugs.typo3.org)
Major changes:
moved all conf out of the fconf table and into tt_content via a flexform. Ultimately, this should cut down on DB queries, since we the forum doesn't have to access the fconf table every time a class is instantiated.
removed configuration option from backend module (see above).
added alt_img_field configuration. Allows user to define an alternate field in fe_users from which to grab the user image.
abandoned starting point field -- forum now uses the "general records storage page field" in page header, a la newloginbox.
backend module changed to create records on the general records storage page of the forum, rather than just on the page in which it finds the forum instance.
added a "toolbar" with search, profile, user list, and new post view -- used icon set from http://www.icon-king.com/ (GPL).
got rid of ugly CSS styled buttons and replaced them with icons from the icon-king icon set. Should look better now...
added search function and results browser
added user list and name search -- this is a very new function. I have future plans to expand this so that it has some PM capability. This user list is just the initial framework...
added a edit profile button to toolbar. Removed small edit profile link at the bottom of the page; it was just too hard to find.
added a total new posts link in toolbar, and the ability to click on it to bring a list of threads containing new posts, sorted by most recent to least recent.
removed users online count for the time being due to unreliable counts... if someone wants to figure out how to implement this so that it works, be my guest :).
Moved BE module from tools section (admin only) to web section.
Minor changes:
moved icon_* files from extension top directory to icons folder.
added configuration: disable user full name in users online list.
added configuration: disable user list.
added post configuration option: use username instead of name. This will not change the author name for previous posts -- only for future posts posted after this configuration option is changed. This is because post author names are stored with the post, to speed things up and to mitigate against missing relations that might come about if a FEuser acct is deleted.
added forum title box and corresponding flexform value
added configuration: sort conferences by (alpha, reverse aplha, or sort according to order in BE list)
added configuration: sort categories by (alpha, reverse aplha, or sort according to order in BE list)
added default configuration values to fconf
minor changes made to singlePost styles -- height for author div is set in CSS now rather than by using <br /> tags in the HTML template.
reorganized configuration options
added german, russian translations
merged other translations
Bug fixes:
Added check to see whether user image file exists before displaying it.
Added check to see whether user image file exists before unlinking (deleting) it in user profile update.
Modified user img path in user and author classes so that the forum gets the upload folder from global TCA array (which should make the forum more compatible with extensions like sr_feuser_reg).
Added checks before submitting profile changes -- if email, website, im, etc arze disabled, they will no longer be deleted on submission.
Fixed author post count function (ignored forum PID, among other things).
Alphabetized userlists in backend module
Removed hardcoded submit and cancel button labels from backend module.
abstracted image paths from code -- all forum images should now be stored in /abs_path_to_templates/img/ -- in other words, this path is now based on the template path, which should make skinning the forum a bit easier.
fixed bug where URLs containing a '?' would not be parsed properly in post when wrapped in [URL] tags.