2003-12-31 """""""""" * Renamed a few scripts for consistency. For example, commonadmin.php is now called common_admin.php. * Added PostgreSQL version check to install script to avoid serial column duplicate index problem for versions 7.2 and earlier. * Increased PostgreSQL speed a little by not running a preg_replace() in the DB class unless necessary. 2003-12-30 """""""""" * Added detection of MMCache and PHPA in admin_index.php. * Added ability to show phpinfo() output in admin_index.php. * Switched back to using echo instead of print as it's apparently echo that is a little bit faster and not the other way around. 2003-12-29 """""""""" * Added a new CSS class, punspacer. It is used for all spacer tables. Thanks skynet and ps21 for the suggestion. * Rewrote the board config handling. The two database tables options and permissions and their respective PHP arrays have been replaced by one table (config) and one array ($pun_config). In the database, config items are stored as individual rows (conf_name & conf_value) instead of one row in a big table with lots of columns (which is really stupid). In the $pun_config array, option variables are prefixed with o_ and permission variables with p_. Storing config data this way greatly simplifies adding, removing and editing config items. * Added a new script called extern.php. The script is used to include information about a board from pages outside the forums and to syndicate news about recent discussions via RSS. The script can display a list of recent discussions (sorted by post time or last post time), a list of active users or a collection of general board statistics. The script can be called directly via an URL (for RSS), from a PHP include command or through the use of Server Side Includes (SSI). Instructions on how to use the script can be found at the top of the script source. 2003-12-26 """""""""" * Added the name of the category to the confirmation message that is displayed when deleting a category. Thanks to sphr for the suggestion. * Did the same as above for forums and users. * Rewrote parts of header.php to better accommodate the below improvement. * Translated the element names in JavaScript alert messages that appear when all required elements in a form are not filled out. Pages with forms that have required elements now contain a few more lines of JavaScript. A big thanks goes out to Cactuz for suggesting a solution to the problem. 2003-12-23 """""""""" * Implemented a simple announcement feature. Admins can enter an announcement message that will be displayed on all pages. * Added function pun_linebreaks() to functions.php. This function converts DOS/Windows style (\r\n) and MacOS style (\r) linebreaks to UNIX style (\n) linebreaks. * Implemented caching of parsed signatures in viewtopic.php which improved performance a bit. The performance gains are most noticeable in topics with many posts and topics in which few users have posted. 2003-12-22 """""""""" * Added feature "Go to first new post". The subject line of topics that have new posts since the last visit is followed by a direct link to the first new (unread) post in that topic. * Replaced the strings "First page" and "Last page" with actual page numbers in links to multipage scripts. 2003-12-21 """""""""" * Renamed the column "position" in tables forums and categories. It turns out position is a reserved word in the SQL92 standard. It was causing some install problems with a certain PostgreSQL version. The column is now called disp_position. 2003-12-20 """""""""" * Implemented the use of SHA-1 hashes in favor of MD5 hashes. SHA-1 hashes are more difficult to brute force and PHP has native support for them in 4.3.0 and later (or through the Mhash library). Since there is no way to "convert" an MD5 hash into an SHA-1 hash, the switch will be gradual. Whenever a users logs in through the login page or changes his/hers password, an SHA-1 hash will replace the old MD5 hash in the database and in the users' cookie. Only systems running a version of PHP higher than 4.3.0 or systems with the Mhash library installed are affected. * Fixed banned users receiving new reply notifications. * Renamed the function un_escape(). It's now called unescape(). It was bothering me :) * Fixed register script not converting multiple whitespace characters in username into one space. 2003-12-19 """""""""" * Rewrote the subscription system from the ground up. Topic subscriptions are now stored in a separate table. The new subscription system only sends out one e-mail regardless of the number of new replies and users can select choose whether they want a plain text version of the reply to be included in the notification e-mail or not. * Added an error message if the forum is unable to open the language pack specified in $language from config.php. 2003-12-14 """""""""" * Added an optional forth parameter $from to pun_mail(). * Increased the length of the username and topic fields to circumvent the issue with registering and posting topics in a multibyte character language in a non multibyte language forum. * Added pun_strlen() to facilitate the above. The function is identical to strlen() but detects HTML entities and counts them as one character. 2003-12-13 """""""""" * Implemented an e-mail form. It is now possible to send e-mail to users through a form in the forums. The old checkbox "Hide e-mail address from other users" is gone and users can now select whether they want their e-mail address publicly viewable or not and if they want other users to be able to send them e-mail via the forum. * Administrators can now delete user avatars through their profile. 2003-12-10 """""""""" * Changed the type of the avatars_size column in the options table from smallint to mediumint to accommodate avatar file sizes larger than 65535. 2003-11-19 """""""""" * Changed the way quoting works. The user being quoted is now included in the tag itself (e.g. [quote=username]text[/quote]). The regular [quote] syntax remains as an alternative. * As a result of the above, usernames may no longer contain all the characters ', " and [ or ] at once. * Updated help.php to reflect the new quote syntax. * Added "Mailer" to the language files and updated the e-mail templates and pun_mail() to reflect the changes. 2003-11-14 """""""""" * Moved the location of the "Show posts by this user" search link in the profile page. Thanks to Nidhogg for the suggestion. 2003-11-12 """""""""" * Added the ability to use a custom port number for external SMTP servers. Thanks to thornc for the suggestion. * Changed "Validate registration" into "Verify registration". * Merged two queries in viewtopic.php. * Renamed PUN_DONT_UPDATE_COOKIE to PUN_QUIET_VISIT since it no longer involves the cookie. * Rewrote the visit management code again. All the data is now stored in the database. Thus, the cookie only contains the username and the password checksum. 2003-11-10 """""""""" * Rewrote parts of the cookie and visit management code. The last visit timestamp is now stored in the users table in the database. The last action timestamp however, is still stored in the cookie and the database is only updated when a user times out. UPDATE: This is no longer valid. See above. 2003-11-07 """""""""" * Changed the CGI submission method in the search form from POST to GET. Using GET prevents having to re-submit when going back to the search results page after having looked at a topic or post from the result. Another advantage is that you can now build search URL's that may contain all possible search variables (i.e. sort_by, show_as etc.). Thanks to pettan for the suggestion. 2003-11-06 """""""""" * PHP scripts can now be included from the templates using the pun_include tag. E.g. to include the file somefile.php from the forum root directory. Special attention should be put into making sure no variable name collisions occur when including a foreign script into PunBB. * Added switch "Show avatars" to user profiles. This checkbox sets whether avatars will be displayed in posts or not. 2003-11-05 """""""""" * Added ability to mass move/delete/open/close topics and mass delete posts. 2003-10-27 """""""""" * Removed the admin/mod only attribute from categories since it was more or less useless. A category containing only admin/mod only forums will not be displayed for a user without privileges. * Fixed IP ban check. Thanks to henning for the elegant solution. Reported by KOJV. 2003-10-24 """""""""" * Fixed the infamous "Unable to delete search results" bug. Thanks to gduncan and Tuna for helping me track this down! 2003-10-11 """""""""" * Added ?> to the end of the auto generated config.php in the install script. PHP doesn't require it, but some people have been asking about it. 2003-09-26 """""""""" * Fixed ranks being used regardless of setting in admin/options. Reported by sphr. * Added links to multiple pages in search when displaying a multipage topic (like in viewforum.php). 2003-09-21 """""""""" * Added a check for upgrade feature to admin_index.php. It reads a file on punbb.org using fopen() and thus requires allow_url_fopen to be enabled. * Rewrote userlist.php and removed the alphabet quick links as they were causing problems with certain languages. Replaced the quick links with viewing options (user group, sort by and sort direction). * Removed the PHP Accelerator info in footer.php when debug was enabled. * Fixed report handling in admin interface showing nothing when the forum, topic, post, reporter or zapper was deleted. * When quoting a message img-tags are automatically converted to regular links. This prevents topics being flooded with multiple displays of the same image. Thanks to Mental for the suggestion! 2003-09-20 """""""""" * Added a new debug level called PUN_SHOW_QUERIES. When enabled, PunBB will display all queries executed in the script. PUN_SHOW_QUERIES should never be enabled in a production environment, but it's good tool for developers. 2003-09-15 """""""""" * Fixed signature BBCode not being "lowercased" in profile.php. * Fixed moderator username not being removed from the forum moderator list when he/she is deleted. 2003-09-08 """""""""" * Fixed admin_forums.php not using pun_htmlspecialchars(). 2003-09-07 """""""""" * Fixed not being logged out correctly when wrong username and/or password in cookie. 2003-09-01 """""""""" * Moved "Edited by" text into the message table cell. Added .punedited to the CSS files. * Fixed a problem with timezones. Sometimes the date would incorrectly say "Yesterday" when it should be "Today". Reported by fly. * Added .puntitle to the CSS files. The class is used for the forum title. Thanks ps21 for the suggestion! * Fixed missing translation for BBCode, [img] tag and Smilies. Reported by Farch. * Made the admin index page first attempt to fetch UNIX load averages directly from /proc/loadavg instead of through the uptime program. 2003-08-29 """""""""" * Made it possible to add administrators to the moderator list for forums. 2003-08-26 """""""""" * Added sorting options to user list. * Fixed the tabindex order in admin/forums. Reported by RNilsson. 2003-08-25 """""""""" * Changed the markers for template substitution variables from { and } to < and >. This way, if a variable is not substituted, it will simply be ignored. * Remove the option to enable/disable HTML in posts and signatures. All content the PunBB outputs is now HTML encoded. * Added MSN Messenger to user profiles. 2003-08-24 """""""""" * Upgraded the admin interface for bans. It's a lot more flexible now. * Added "ban message". Administrators and moderators can now enter a message that will be displayed to the banned user. * "One ban" can now include several IP addresses (or partial addresses). * Fixed quickpost not showing up for admins and moderators when "Users may post replies" was disabled. * Fixed a few small quirks and typos. Reported by Psionicist. 2003-08-23 """""""""" * Admins can no longer be banned. If an admin, for some reason, wants to ban another admin, he/she must first demote that admin to moderator or user. * Replaced calls to strcmp() with the faster standard operator ==. * Removed all calls to ereg() so that PunBB now only uses PCRE regular expressions. * Defined constants for the commonly used user status levels and edited all scripts that rely on them. The defines are PUN_INACTIVE = -1, PUN_USER = 0, PUN_MOD = 1 and PUN_ADMIN = 2. 2003-08-22 """""""""" * Fixed maxlength for category name form element being set too low. Reported by Psionicist. * Added chmod code (supplied by Gribber) to the avatar uploading section of profile.php. PunBB now attempts to chmod uploaded avatars to 644. 2003-08-21 """""""""" * Fixed last post not being set for the first user when installing. Reported by Gribber. * Split up common.php into two scripts - common.php and functions.php. 2003-08-20 """""""""" * Removed unused javascript from viewtopic when browsing as guest with quickpost enabled. * Fixed usernames starting with a lowercase letter not showing up in userlist when using PostgreSQL. 2003-08-19 """""""""" * Added LOW_PRIORITY to the SQL update query for incrementing topic views at the end of viewtopic.php. The change only affects MySQL. 2003-08-17 """""""""" * The help script now automatically generates the listing of the currently installed smilies. 2003-08-12 """""""""" * Created templates for all e-mails that are sent to users by the forum. Translating these template files will be much easier than messing with the language files. Several lines have been removed from the language files because of this. * Fixed some e-mail header problems with SMTP servers not following RFC. 2003-08-10 """""""""" * Doodled with the language packs a bit and was able to remove three rows from the common language file. 2003-08-09 """""""""" * Added $pun_root to all scripts. $pun_root is the path to the forum root directory. It is used in all calls to require, fopen(), file_exists() etc. Using this path everywhere greatly simplifies incorporating PunBB into a website. It's just a matter of defining the root path and then including $pun_root.'include/common.php'. * The file config.php is now included from common.php instead of in every single script.