$Id: ChangeLog,v 1.56 2005/04/18 16:38:44 mdruilhe Exp $

========================
 W-Agora 4 : Change Log
========================

(+ : security fixes)

2005 April 18  - Version 4.2.0
==============================

o Enhancements / new features :
-------------------------------
  * New registration mode :
    - ability for users to choose a password at registration time (if enabled in register_form template)
    - user validation at site level

  * Emails enhancements
    - Send emails in HTML + text/plain (Use new HTMLMimeMail class)
    - Private emails (reserved to registered users)
    - Ability to send attachements with emails (configurable at forum level)

  * Subscription (mailing list) enhancements
    - Ability for users to subscribe to /unsubscribe from several forums at one time 
      (use {subscribe_forums_list} in subscribe_form template)
    - Ability to unsubscribe from threads (use new variable {subscribe_threads_list} in subscribe_form template)

  * Pagination in forums and threads lists

  * Avatars (configurable in globals.inc)
    - ability to choose/upload an avatar
    - ability to link an avatar from another website
    - add 4 new variables to use in templates (register_form) :
      $label_avatar, $show_picture, $label_change_avatar, $choose_picture_field

  * Log / stats management
    - For maintenance and performances reason, the main log table can now be splitted into 4 tables 
      (one table per quarter) before being purged. This process is automatically done when calling 
      stats/index.php
    - Daily and monthy stats are pre-calculated and holded into 2 new tables, thus reducing 
      statistics computation time
    - "register" actions are now logged
    - views per forum / per users are now collected in the userforum table

  * Database optimization
    - debugging/profiling support (count SQL queries and execution time)
    - Optimize some queries,
    - Removed some unused outer joins
    - create indexes where needed

  * Admin / configuration
    - Ability to execute some PHP instructions (bn_before_mail) before sending emails
    - mass edit forums: Possibility to change settings (hide, lock, ...) on all forums at a time
    - added ALLOWS_INFOS_URL in globals.inc => whether to allow url "index.php?info"

  * RSS support:
    - rss.php has been rewritten (2.0 compliance)
    - allo RSS feeds at site level or at forum level 
    - now located in the w-agora top directory

  * Localization:
    - Handle dir and lang attribute in <HTML> tag
    - Hebrew translations (kobi bohbot <kobibohbot@gmail.com>)

  * Miscellaneous:
    - let user choose to email or not updated notes
    - do not display e-mail address in templates => use {mail_url}, {mail_text}, {mail_link} in templates
    - PHP 4.1 is now required 
    - Change license to GPL

o Fixes, code changes :
-----------------------
  * style.css : 
   - style.css is now splitted in 2 CSS (style.css + admin_style.css) and included as a default CSS 
    (in display_header())
   - some hardcoded styles have been moved to CSS
   - new classes: new, hilite, msgbox ...
  * include/config.php: fix bug (4.1.7) with backslashes and quotes if magic_quotes_gpc is On
  + include/misc_func : security fixes:
     + msgForm() (bug 4.1.7) prevent all variables to be passed on the query_string
     + prevent javascript/vbscript injection in posts
  * include/misc_func : various bug fixes:
      - strip_magic_quotes() now handles arrays
      - fix 4.1.7 bug with registered_forums_list in register.php
  * admin_subscribed_user.php: fix bug with mail sent confirmation message : use $m_to instead of $addresses 
  * removed htmlarea module (no longer supported). Will be replaced with a more flexible interface 
    supporting other wysiwyg editors (eg. FCKEditor, tinymce, ...)
  * include/cookies.php : fix bug in cookie setting (form fields)
  * include/dbaccess : 
    - add new functions : 
	getExecTime(), getSessionStats() : profiling
	createIndex(), dropIndex(), addPrimaryKey() : indexes handling
	getSite(): get site infos
    - new parameter $pk in createTable()
  * fileupload.php
    - fix bug (make file upload working) with open_basedir restriction
    - support PHP 4.2 error management
  * New classes:
    - ListRenderer (display lists)
    - DBStats (logs/statistics functions)
  * admin_notes.php:
    - add pagination (navigation bar) + some bug fixes in moderation:
    - can now unhide a message that contains replies but one can't hide it
    - maintain current page while hiding/showing a message
    - set properly default options in some listboxes
  * admin_site.php:
    - fix recursive frameset bug if bn is set on click on "manage forums"
  * admin_user.php3 :
    - list only forums owned by user, except admin & root
  * setup.php3:
    - HTML 4.01 compliant
    - More controls and error handling
    - don't loose parameters while switching between advanced and basic modes
  * profile.php, register.php :
    - various bug fixes, HMTL4.1/XHTML compliance,
    - replaced php shorts tags
    - replaced hard-coded messages with localized strings
    - use checkbox widget
    - add log entry
    - fix 4.1.7 bug on {register_forums_list}



2004 October 19  - Version 4.1.7
================================

o Enhancements / new features :
-------------------------------
  * auto-login feature (keepalive cookie)
    For this to work, just add {keepalive_checkbox} in your login form.
  * download_thread : add link to normal view + navigation bar (Laurent A.)
  * added _FILEMODE constant in globals.inc (umask used to create files)
  * add MAIL_CHECK_DNS constant in globals.inc (check DNS MX record while verifying email)
  * add $bn_html_dir variable in globals.inc (html content direction, default left-to-right)
  * full spanish translations (user side + admin panel)
  * allows multiple values fields (select multiple) in user profile form (Karibou)

o Fixes, code changes :
-----------------------
  + 4.0x upgrade scripts: prevent possible remote file inclusion 
    (if .htaccess not taken into account)
  + fix possible remote include vulnerability in user/http_user (if .htaccess ignored)
  + fix various XSS vulnerability (include/auth.php, list.php, forgot_password.php, download_thread.php)
  + fix "HTTP Response Splitting" Vulnerability (subscribe_thread.php)
  + fix possible sql injection in quicklist.php

  * misc_func::kill_quotes() => fix bug with new lines and <br>
  * edit_mail.php: fix wrong displayed label for mail_forgot_password field
  * Fix typo (parse error) in affected_rows()" in mssql7.php
  * create_site: 
    - don't loose form data while switching between basic <-> advanced mode
    - strip magic quotes according to PHP config (don't strip backslashes)
  * Don't strip slashes in config variables causing MSSQL7 server name to be corrupted 
  * enhanced hits count algorythm (view.php): don't increment hits if post is not older than 5 mns 
    and is the same IP or if the post has been made by the same userid
  * quicklist.php : 
    - add noprint parameter : if set to 1 or true, then return the list as a string ($list) 
      instead of printing it out (Karibou)
	- return to initial directory at the end of script
  * misc_func::getListBox() => allows multiple default selected options (comma separated) (Karibou)
  * forums registrations were lost if {register_forums_list} was not set in profile template -> fixed
  * Don't display private forums in site statistics (dbaccess::getSiteStats)
  * fix wrong PHP upload configuration detection
  *	fix invalid sql with auto increment in create table (mysql 4)
  * username/useraddress was not set if moderator doesn't fill the fields in the form
  *	fix some url variables settings (viewnote.php)
  * don't halt program in case of error updating admin password (change_password.php3)
  * Upgrade htmlarea to 3.0-rc1
  * Update user statistics when note is published after moderation (admin_notes.php3)
  * Added some CSS classes: wa_link, wa_textfield
  * users.php: don't list 'guest' user + some cosmetics changes
  * mail feature:
		- Better return-path handling using -f (David Horwitz)
		- allow the expansion of variables in the bn_mail_from variable (David Horwitz)
  * message posting, updating : 
		- fix bug in redirection causing $bn_no_thanks_msg to be ignored
		- set full URI in redirect url
  * better random password generating (include/auth.php)
  * magic quotes handling
  * fix bug on site templates editing (editform.php)
  * user input were not saved into cookie if user is authenticated -> fixed
  * file download : handle POST/GET parameters prior to PATH_INFO 
    (fix possible wrong PATH_INFO setting in CGI context)
  * 4.0x upgrade scripts : fix bug preventing user from login
  * Fix some messed up error messages
  * Attachments are now sorted by id (creation time) while displayed in the message
  * Fix bug in edit field panel : now allow "_" in field names 
  * download_forum : fix bug preventing threads to be displayed 
  * create_site : fix a possible table creation problem 
   (In some environments, PHP seem not to include newly created files properly)
  * reorder_forums :
		- fix an error with MS-SQL server (cecile*at*sdv.fr)
		- correct error message
  * fix regexp warning in cookies management
  * Fix a warning in site listing if open_basedir restriction is On
  * Fix some bugs in msgForm, better HTML entitie support


2004 January 16 - Version 4.1.6a
================================

o Fixes, code changes :
-----------------------
  * Numerous fixes in message post and wysiwyg editor handling:
     - HTML cleanup (better htmlarea support)
	 - better browser version checking in htmlarea
	 - allow_html option was ignored if htmlarea used -> fixed
     - Fix some bugs with recursive &amp; - lines breaks and html entities conversion in form handling
	 - prevent some form fields contents to be lost if JS not enabled	and required field is missing
     - fix bug causing the textarea contents to be lost while uploading the first file
  * Enhancements in categories handling
    - show categories in forums list
	- Added link to categorie display in forums listing
	- admin_categories: show category ids + aability to add a forum to a category
  * Keep track of current list parameters while editing a user (admin_user.php)
  * Set $is_authenticated and $is_moderator for potential use in templates (init_admin.inc)
  * Fix SQL parsing error if optional whereclause is given in notes listing
  * Fix parse error in delete.php
  * Suppress warning output if ini_set has been disabled in php configuration
  * New italian translations + fixes (Emanuele)
  * Do not list private forums in forums select box
  * Check "file_uploads" PHP option in configuration panel, and displays warning if option disabled
  * Prevent $pattern to be lost in viewnote.php
  * Fix $forums variable name collision in list.php (already defined in init.inc)


2003 December 10 - Version 4.1.6
================================

o Enhancements / new features :
-------------------------------
  * New translations packages
    - Czech (user part)  (Tomas Kruta <Tomas.Kruta*at*geac.cz>)
    - Dutch (Joke Bekkering <jokeb*at*ascon-duiken.nl> )
    - Catalan (mac rac <macdiu*at*yahoo.com>)
    - Russian <webbelmag*at*narod.ru)
    - Swedish (Ulf <ulf.emanuelson*at*swipnet.se>)

  * WYSIWYG editor (htmlarea component) integration in post/edit form
  * Better attachments handling (see code changes) :
    - Handle PHP code highlighting for PHP files.
	- Dynamic resizing of embedded images (Emanuele <manu75*at*libero.it>)
	- more embedded mime-types (video, sound) support
	- Use PATH_INFO in attachments URLs :/getfile.php/myforum/101/image.gif instead 
	  of getfile.php?bn=myforum&att_id=101
  * Several enhancements in emails management (see code changes)
  * Added HTTP Basic authentication module
  * Added "shared authentication" module (in extras/shared_user.php3) :
    allow a site to share the same user database than another site. see usage instructions in 
	extras/shared_user.php3.
  * Multi-site handling: 
	- added $default_site variable in globals.inc : 
	- Don't display the site list if only one active site is configured
  * users ranking
  * more options in user admin page : 
    - ability to subscribe, register and send emails to selected users
	- Can change the password while editing user profile
	- added missing fields in edit form
  * Add threads sorting order feature (currently only mysql and	postgres are supported) : 
    ability to sort threads by creation date | topic starter | subject | last updated date ...
	Supported only with mysql & postgres 
  * tools/load_users.php3: interactive form added, users File can now be uploaded, forums registration
  * simplified setup process (with 2 modes : basic / advanced)
  * ability to move/copy notes between threads/forums (Emanuele <manu75*at*libero.it>)
  * complete rewrite of rss backend (tools/rss.php, contrib. from David Horwitz <dhorwitz*at*ched.uct.ac.za>

o Fixes, code changes :
-----------------------
  + XSS & PHP include security fixes :
	- include/auth.php3
	- editform.php3
	- modules.php3
	- index.php3
	- insert.php3
	- update.php3
	- browse.php3
  + Removed <LIMIT GET> tags in .htaccess because they potentially allowed POST or other requests 
    to activate scripts.  Now all requests to this must be authorized (tbannist)
  - bug fixes in default 'agorabb' and 'phorum' templates
  - set bn_title if no forum selected (init.inc)
  - Italian translations updates 
		- Gianni Pezzarini <gpezzarini*at*libero.it>
		- Emanuele <manu75*at*libero.it>
  - Several fixes in tools/update_*.php3
  -	set user profile variables in preview mode (insert.php3, update.php3)
  - login.php, logout.php : ability to redirect to an URL after login in/out
  - display a message and exit program if cookie cannot be set in authenticate()
  - moved wa_info() to wa_info.php (new). 
  - almost full rewriting of admin_subscribed_user.php3
  - allow new TLD domains (eg .info) in email validation
  - fix undefined variables in include/register_globals.php3
  - create_site.php3: insert the owner (ie: if logged in as sys-admin but not 'admin') in the newly 
    created site
  - attachements:
	- determine mimetype from extension (if known) rather than browser setting
    - added att_icon_multiple in mimetypes.php
    - open default HTML link into a blank window
    - message id (key) is no longer needed to access attachment from getfile.php (only att_id is required)
  - mail management:
 	- send an email to the list when note is validated (switch from hidden to visible)
    - set the recipient in the 'To:' header (rather than Bcc:) if there's only one user in the list
	- set the recipients in the "To:" header (rather than Bcc:) if $bn_mail_to is not set.
	- Remove possible extras Line feeds in headers.
    - handle error if mail is sent to an empty moderators list
	- mail template was not handled properly 
  - Fix some warnings in statistics pages
  - Fix language detection bug (HTTP_ACCEPT_LANGUAGE not used properly)
  - Fix language detection bug in setup/admin panel if no locale file exists for the selected language
  - Fix before_access inclusion in various scripts
  - do not show email in user list & profiles
  - include/auth.php3: add last Visit timestamp in current session
  - change_password.php3: fix header handling bug
  - include/form.php3: don't set $mail_reply_box if replies are	not allowed [Laurent A.]
  - init.inc: 
     - added $logout_url, $logout_string, $logout_text in display_header()
	 - don't set {post_link} & {reply_link} if forum in readonly/inactive state.
  - delete.php3: do not allow user to delete a note with replies
  - update.php3: better password management in the the post/edit form
  - Fix bugs with hidden notes handling from moderation page
  - insert.php3: Handle redirection by form if header(Location) doesn't work for some reason.
  - globals.inc: adjust some PHP settings, fix problems with some configurations (yahoo hosting)
  - browse.php3: Use mime-type icons in directory listings + display directories before files list
  - include/viewnote.php3: display GUESTUSER_USERNAME properly
  - include/viewnote.php3: set delete_link / edit_link according to user rights on the note
  - profile.php3, register.php3:
	- show private forums in register_forums_list, thus, allowing users 
	  to register in a private forum. Just edit the variable $show_forums (in register.php3) 
	  in order to restrict registration in private forums
	- field $name was overwritten : fixed
	- code cleanup
	- allow registration even if a private forum is selected
  - New/changed functions in misc_func.php
    - getDBaccess() pass $site as argument instead of config. filename (RFU)
	- beginForm() : add enctype parameter
	- getPasswordField()
	- getTextArea()
	- customMenu(), getCustomMenu()
	- getRadioButton(), getCheckBox() : add id + <label> tags in radio button and checkbox
  - admin_notes.php3: add search field
  - allow quotes in userid


2002 December 09 - Version 4.1.5
--------------------------------
o Enhancements / new features :
  - Italian translations - Emanuele <manu75*at*libero.it>
  - polish translations - Zlosliwiec <zlosliwiec*at*wizaz.pl>

  - MS-ACCESS/ADO support (Emanuele <manu75*at*libero.it> )
  - Better user management in admin (admin_user.php)
  - Better notes management in admin area (admin_notes.php)
  - user fields (profile) can now be edited in admin panel and the users table 
    description can be defined at site level
  - profile can be sent to user once changed by the moderator
  - Better attachments managements:
	- mimetypes.php file can be defined at forum /site level
	- icons can be associated to file extensions
	- Inline displayed text file are wrapped at 80 columns
	- HTML tags are no longer displayed in inline HTML files
  - Better localization support
    - extract all localization texts (in locales/*) from templates
	- All default templates have been rewritten and are now localized
  - Installation guides in german, french, japanese (thanks to Jun Kuwamura & Karel Vejsada)
  - Handle expand/collapse at thread level (using cookies)
  - Templates clean-up, better CSS usage (all skins available in multi-languages)
    4 default themes are now included : agora, agora_old, agorabb and phorum
  - User subscriptions management in admin panel (Laurent Aufrere)

o Fixes, code changes :
  - displays hidden forums in admin panel menus
  - enhancements + code optimization (reduce overhead + memory) in listing displays
  - fix bug in before_line handling (editlist.php)
  - Invalid URL given to msgForm() causing error 404 in case of closed/locked forum (init.inc)
  - subscribe form name was not taken into account
  - set larger left margin in graphs (stats/wa_bar_graph.php3)
  - prevent new message to be posted as a reply if $key is set in the form displayed 
    in list mode (list.php)
  - fix some bugs & typos in locale messages
  - Danish template was not working in distrib with .php3 extensions
  - mysql < 3.23 compatibility (statistics module)
  - Changed "top 10" algorythm in statistics module
  - Templates fixes
  - localization clean-ups (numerous messages have been removed)
  - handle special chars, allows PHP variables to be parsed in bn_reply_to
  - Language file is now loaded in globals.inc
  - Italian localization fixes (Gianni Pezzarini <webmaster.ipsia*at*ipsiamattioni.it> )
  - German localization fixes (Manfred Stoltze)
  - add modules redirection script
  - execute before_line in forums list header/footer
  - better bn & site parameters handling
  - before_access call was missing in several cases : fixed
  - Some link variables setting fixes (init.inc)
  	- always set *_url and *_text variables. Now only *_link variables are conditional
	- avoid variables collisions when extract forums fields
  + Security fixe in extras/quicklist.php
  - Postgres : outer join not supported under old postgres releases
  -	force thanks message to be displayed in a popup window allowing user to close the window
  - daily stats : fix daily subscribe count + free DB before sending output
  - Mail : some improvements, 
 	- Handle X-Priority header in mail_users
	- japanese charset handling (Jun K.)
	- Send copies as Cc: instead of Bcc: under PHP < 4.3 on windows
	- Use reply-to in mails sent to moderators
  - Move icons/ to images/icons/ to prevent Apache pathname conflicts
  - Put messages in moderation pending status after message update by user
  - Fix bug in search under PHP 4.2.3 => define new search_fields format
  + removed $where and $sort URL arguments (must now be set in before_access)
  + sanitize $key, and various variables to avoid sql injection
  - Removed first, last parameters 
  - Fixes in Update.php 
    - allow moderator to change username/useraddress in message
	- some fields were not displayed in preview mode
  - fix some cookie support pb with IE5


2002 June 12 - Version 4.1.4
----------------------------
o Enhancements / new features :
  - danish translations (Henning Schou <hs*at*tag-gym.dk> )
  - Handle shockwave-flash mime-types as inline attachements
  - Ability to customize the attachments links in mimetypes.php

o Fixes, code changes :
  + [security] prevent URL includes in include/*.php and user/*.php
  - moved some messages from templates/*/msgs.php files to locales/*
  - preserve \ in "text/plain" attachments (misc_func::getAttachmentUrl() )
  - minor fixes in mail headers
  - sanitize carried on fields in misc_func::msgform()
  - eliminate duplicate recipients (moderators) in registration emails
  - fix $date_color handling bugs
  - prevent $vars to be converted to {var} in before_line (editlist.php)
  - Fixed bug causing the forums list menu to be hidden, thus disallowing copy/move threads (SpArtA)
  - add Missing closing /> in $password_field
  - store $theme in a cookie if set
  - Several bug fixes causing some lists to be empty with PHP 4.2 (added reset() calls before array traversing)
  - Made default "mail reply" box working, $default_mail_reply (from globals.inc) was overwritten in post.php,
  - setup: Suppress DNS checking in admin email validation causing lockout on some environments 
  - better variable checking (subject, url)
  - initialize subject with first body line


2002 May 17 - Version 4.1.3
---------------------------
o Enhancements / new features :
  - New statistics module (Marc + Syloo)
	- new table site_log 
	- logs actions in $site_log (login, view, insert, subscribe)
	- Use JPGraph to display graphics
  - [moder] ability to register several users at one time from a list of email addresses. 
    The list can be taken either 
	- from a multi-selection menu
	- from a text area 
	- from a CSV file
  - better mail handling:
	- set "Date:" header in all emails sent
	- preserve the useraddress in the 'To:' header in moderators emails
	- headers are now passed as an assoc. array to the send_mail() function so it would be easier to call another 
	  function (that expect un array) instead of mail()
	- mail_users have been rewritten (ability to send selective emails and to get users list)
  - [admin] ability to edit default templates without the need of selecting a forum
  - [admin] ability to add/delete fields from the forum fields list description
  - [admin] Site and sites list configuration (body, time offset, site list,...) are now editable in the admin panel 
  - Full japanese translations (Jun Kuwamura)
  - New users.php page -> list all users in the site

o Fixes, code changes :
  - fix language detection bug in setup.php (if lang cookie already set)
  - fix warning line #515 in init.inc => getNewestUser() don't return the latest user if user never logged in before
    (init.inc, dbaccess.php)
  - directory was not displayed in error messages (create_site.php3)
  - set default inline view to 1 (added DEFAULT_INLINE constant) (include/fileupload.php3)
  - get correct user source from site parameters, in admin panel (init_admin.inc, include/misc_func.php)
  - Close the DB before attempting to open a new one
  - don't set {post_url} to #FORM if form is not displayed (in registered forums)
  - Link to the embedded FORM was not working because expandUrl() was not handle '#anchors" properly
  - fix a bug in mutiple term search, better highlight handling
  - [perfs] don't check for attachments if att_size==0 (needs att_size to be set -> upgrade_412)
  - [perfs] added $bn_no_stats variable (set to 1 if stats must not be updated)
  - several bug fixes in MSSQL7 support + attachments stuff is now working !!
  - Set $key from $HTTP_* arrays => fix compatibility problem at multimania.fr
  - Fix bugs (4.1.2) in form management (insert.php3, update.php3)
	- required fields were never checked
	- preview mode didn't work if register_globals was Off


2002 March 20 - Version 4.1.2a
-----------------------------
o Fixes, code changes :
  - open default language file if $lang is set to a missing language (init.inc, init_admin.inc)
  - set {user_*} variables while showing expanded thread (download_thread.php3)
  - fixed typo in newest_userid (templates/default/en_new/site_header.php3)


2002 March 19 - Version 4.1.2
-----------------------------
o Enhancements / new features :
  - Full translations (including admin panel) [Alexandre GHEZ <aghez*at*decan.fr>, Ralf, Marc]
  - Language handling using $lang variable)
  - Even better attachments handling [Ralf, Marc] (new $att_form variable)
	- Display animated icon while uploading files
	- display sizes + mimetypes
	- customizable inline file rendering
	- ability to select display mode (inline | as link) at post/edit time
	- ability to add/delete attachments in preview mode
	- localization
	- better error management
	- new variable $button_bar
  - New look for default templates (German, french, english)
  - New admin panel layout [Syloo]

o Fixes, code changes :
  * setup.php3:
	create configuration file AFTER database stuff
	Better permissions checking (safe mode handling)
  * include/postgres65.php3: Add indexes at table creation
  * include/dbsearch.php3: skip private forums if user not registered
  * create_site.php3: 
	Close database before opening the other (prevent errors on servers allowing only one connection)
  * include/mail.php3: 
	add separated function send_mail() to centralize the effective
	check that owner address is set in mail_note() -> fix EREG error
  * include/mssql7.php3:
	- add buildSearchWhereClause() + minor tweaks in openDB
	- check return code in create table
  * include/dbaccess.php3:
	- getNewestUser() now returns an array userid/username useraddress instead of just the userid
	- various minor bug fixes + perf. enhancements in listforums(), displayForumList() 
	and validateAttachements()
	- Now, update att_size in forum table
	- added copyThread(), updateUserLogin(), printDebug(), setHaltOnError()
	- Hide private forums to unregisterd users
	- set $cat_id, $cat_title, $cat_list_url in listForums()
  * delete_inact_users.php3:
	- fixes in Inactive Users handling - per Frank Perreault's suggestions.
  * include/auth.php3:
	- Use updateUserLogin() (update only stats)
	- cache forums permissions to save DB access in havePermission() 
  * globals.inc:
	add some default options (preserve HTML, send replies by email)
  * templates/default/*/register_form.php3:
	set {input_userid} field (input field in register.php, text in profile.php)
  * delete_threads.php3: fix bug while copying threads (attachments were not copied in 4.1.1)
		=> use dbaccess->copyThread()
  * include/misc_func.php3:
	- enforce email checking, add option in validate_email() to check DNS
	- fix strtok() bug (ted), migyt cause pbs w/ reply button
	- pretty_sise() : add precision parameter
	- wa_info() : displays more info
  * extras/quicklist.php3:
	wa_path can be set outside, reset $notes before starting search.
  * view.php3:
	Don't show reply form if user don't have write permission
  * list.php3:
	Don't show form if user don't have write permission
  * init.php3:
	set additional variables site_newest_userid, site_newest_username and site_newest_useraddress
	add logout_url,
	adjust search_url if no forum selected
  * init_admin.inc:
	fix pagination bug in user list
  * editconf.php3:
	handle php.ini MAX_FILE_SIZE value, add mail_subscribe form
  * delete_user.php3:
  * include/oci8.php3:
  * edit_user.php3:
	handle quotes in user id
  * browse.php3:
	handle spaces in directory/file names
  * include/fileupload.php3:
	strip extra infos in mime-type (ie: Opera)


2001 November 23 - Version 4.1.1
--------------------------------

o Enhancements / new features :
  - tools/change_extensions.pl (perl version from John Pries (jpries*at*wcom.net)
  - add user help in help/fr/ (french) from Pascal Cortial <pascal*at*citroen-web.com>
  - User management (admin area):
    - pagination in user list 
    - more infos in user form
    - better privileges management
  - add export.php script => export thread/forum to ms-word.
  - better rendering of attachments icons and text/plain attachments,use msg[187] 
    (Ralf Schaefer <ralf.schaefer*at*gmx.ch>)
  - file upload :
    - better message management
    - try to force mime-type if not properly set by the browser
  - new look for the "downloads" template
  - add template for the subscribe form (initial work from Laurent <laurent.aufrere*at*free.fr>

o Fixes, code changes :
  - tools/upgrade_410.php3: fix parse error line #117 
  - set $mail_reply before calling before_access in FORM (post.php)
  - added missing quotes in templates (ubb, ubb_fr)
  - use table name (bn_db) instead of forum name (bn) in attachments table (insert, update, getfile)
  - replace "(" with "]" in $ip variable (for SpadeAce ;-)
  - add bn_list_category, bn_search_forum_title in default templates
  - fixed various bugs in default templates (broken icons, incorrect links, ...)
  - remove weird message in createtable() (include/oci8.php)
  - admin user was not inserted properly in the main agora user database (edit_user.php)
  - fix DB connection error (access denied) (delete_site.php, edit_site.php)
  - properly insert/update site administrators in the edited site (edit_site.php)
  - prevent $dbadmpasswd and $dbadmuser to be lost during update (editconf.php)
  - prevent allowed/banned extensions to be lost during update (editconf.php)
  - various PHP3 incompatibilities have been solved
  - fix various bugs with $formated_date
  - Fix bug in nextId()	(include/postgres65.php3) (peter <ps*at*psncc.at>)
  - postgres65.php : added affected_row() (suppress warning in edit_site.php)
  - some fixes in dbaccess :
	- displayForumList(): Missing globals in displayForumList,
	- getnote(): return error if note doesn't exist,
	- getUser(): check arguments
 	- displayChild() : Fix padding bug in thread indentation
  - fix broken images (icon_dir not set) in search result (include/dbsearch.php)
  - mail_users now send mails to ALL users if forum is not defined (at site level)
  - extras fields were wrongly added to the userforum table


2001 October 15 - Version 4.1.0
-------------------------------

o Enhancements / new features :
  - forums categories support
  - enhanced search
	- multi forum, multi criteria (date, userid, etc..)
	- search ALL terms, ANY term, exact phrase
	- search form can be edited (template)
  - Multiple file upload (new table site_attachments)
        - unlimited number of files per notes
	- attachments can be removed / added at any time
	- files are now displayed and preserved in preview mode
  - External Authentication module (Alastair Foreman). Now authentication can be made against an 
    external users database (such as LDAP)
  - added daysprune parameter in list.php (show messages within a given period in days)
  - add $bn_win_width, $bn_win_heigth (define FORM window dimensions)
  - add $link_class variable : a CSS class that can be used for w-agora embedded links
  - some cosmetics adjustements in the admin panel
  - new "add user" entry in the admin panel => add (apply) a user to a private/restricted forum
  - added $lang variable: can be used to loads localized messages files (msg_{lang}.php)
  - added catalan translations (Sergi Nadal <sergi*at*serginadal.org>)
  - added bn_digest_xxx variables in templates => used in download_forum, download_thread


o Fixes, code changes :
  - handle configs that have REGISTER_GLOBALS turned off
  - all global variables are now set in globals.inc
  - added $icon_dir, $img_dir, repventing possible configs with "/icons" apache aliases
  - several Oracle 8 fixes
  - include/mail.php: 
        - set owneraddress and fix bug preventing mail to be sent to subscribed users
  	- add References + Message-Id headers that could be used in a mail2agora script
	- handle $debug variable
	- check user list before sending mail
	- don't send mail to original sender (comment line #142 if you wish old behaviour)
  - fix IE bug while downloading files
  - set $is_root (in init.inc)
  - allows file upload for moderators, browse server for root users
  - added country field in templates/admin/user_fields.php3
    (not used in standard, must currently be managed with before files)
  - right now, only the system administrators (admin + 'root' users) are able to change the 
    layout (templates)
  - create_user.php3: moderator can't grant moderation privilege !
  - update.php3:  fix bug with required numeric fields set to 0
  - insert.php3, update.php3: check that $bn is set
  - autoincrement handling in db*access.php
  - better cookie management, handle new_icon in forum list + change $state_icon if new messages

2001 July 19 - Version 4.0.3
-----------------------------

o Enhancements / new features :
  - more stuff in mail template (profile, include/mail, editmail) [Laurent Aufrere]
  - Change / lost password customization [Laurent Aufrere]
  - Added mSQL support (alpha stage)
  - Added Oracle OCI8 support (beta)
  - Added icq, icm, aim, signature in user profile
  - user stats: now count total posts (in all forums) by each user
  - All registered users can now post into a registered forum, registration at forum level is
    now only done for restricted/private forums
  - admin area :  No longer request login if user already authenticated as a system administrator
  - Added Spanish translations (Jess Lpez Lacambra)
  - Added Japanese translations (Jun Kuwamura)
  - Mark all threads read feature
  - get newest user and site statistics in forum list => use $newest_user, $site_totalforums, 
	$site_totalthreads, $site_totalnotes, $site_totalusers variables in template
  - set $choose_forum_box, $choose_forum_form, $login_user variables in init.inc
  - editlist.php3: Adjust box sizes according to field size
  - Added $bn_no_form_button_bar variable => don't display buttons + options in the FORM, 
    can now be set in template
  - Count total size + number of attachments for each forum /site
  - More user and forums infos in admin area, better navigation
  - User registration: check that email + username is unique
  - added show user profile stuff (use : $profile_url&showuser=userid)
  - added New default template (many thanks to Maurizio Guercio <mguercio*at*libero.it> for this design)

* Fixes, code changes :
  - editform.php3 : fix bug while editing variables in ${xxx} format
  - use HTTP_POST_VARS to reinitialize form in preview mode (insert, update)
  - made "subscribe thread/forum" depending on table name rather than forum name
  - removed  addslashes(stripslashes() ) calls 
  - prevent double authentication in login.php (login count incremented twice)
  - better form password management (removed $checkPassword)
  - list hidden forums to moderators
  - removed reply text limit in post.php (can be set in before_access)
  - don't set subscribe link if bn_user_mail is not set (init.inc)
  - prevent fields to be reseted if not used in FORM (update.php)
  - minor tweaks in templates (slashdot, german forum, ...)
  - forgot_password: Check that user exists before updating password [Jeff Haug]
  - edit_user : fix bug while updating system admin in agora database
  - misc_func : 
	- protect quotes in URL help texts, 
	- added getListBox(), getCheckBox()
	- removed font color in msgForm()
	+ no longer display phpInfo() in wa_info()
	- Added width, height parameters for images as attachments
	- Add "return false" in the javascript thats open new window : anchorwindow()
  - fix weirdness with getInactiveUsers(), now use totalposts field in users table
  - fixed bugs in the form templates (de, it, nl)
  - change scrolling mode to 'auto' in the left admin frame
  - editform.php : preserve "\", start editing a new file with the default template
  - Add "return false" in the javascript that's open new window (anchorwindow() )
  - more localization (download_forum)
  - include/mail.php: 
	- Added X-Posting-Client, Errors-To and "To:" headers in mail
	- Added subscribe_url variable
  - init.inc: trim $bn for possible corruption with ENCTYPE=multipart/formdata
  - insert.php3: 
	- check that $bn_bind_var is set, use str_replace()
	- fix grabbled output in case of server file attachment
  - include/form.php3: preserve $thread in FORM
  - view.php3 : 
	- Get thread before calling before_access file
	- removed #anchor in list_url, made URL shorter
	- fix wrong $att_url setting
  - Reduce Memory :
	- mysql.php3 : added MYSQL_ASSOC parameter in fetch_array()
  - register.php3 : Set $mailok (default=Y) before displaying the form
  - include/config.php3: preserve backslashes in variables (before_line script)
  - create_site.php3, create_forum.php3: 
	- better safe mode management, try to create directories first 
	- Fix multi-databases bug
  - force user logout before login
  - set $form_title + execute before_access in profile.php, register.php
  - include/auth.php3 : don't display message outside template in login form
  - changing email address in user profile now update the email in the forum subscription list
  - include/dbaccess.php3 : 
	- don't update newest for hidden messages
	- add moder parameter in getForums()
	- removed #anchor in expand_icon
  - Fix bug with email subscription in forums with name size > 20 chars : 
	- increase bn_name field size in site_userthread (20->64)

2001 March 15 - Version 4.0.2a
------------------------------

* Fixes, code changes:
  - templates/*/msgs.php3 : new messages 
  - templates/* fix minor bugs in templates
  - templates/admin/site_list.php3 :  missing ending ">" in table tag
  - mail_users : wrong default mail template was included
  - include/misc_func : fixed bug in anchor() :
      - handle URL that only contains "#fragment" (causing error in $reply_link) 
      - preserve "'" in text 
      - added "class" parameter + help (acronym) text in anchorWindow()
      - strip tags in displayed text in sumitButton()
  - include/dbaccess : $att_name was not displayed properly in thread listing
  - init.inc : 
      - set links properly ($post_url, $post_link, $profile_url and $profile_text)
      - authenticate the user even is no_auth_required is set (allows $is_authenticated to be set)
  - include/form : preset icon value in preview mode
  - include/mail.php3: added "precedence: bulk" in header
  - include/auth.php3: added $register_url in login() + typos in form
  - update.php3: 
      - cle (id) was not set in the note sent by email
      - check user subscription before sending email
  - editconf.php3: $bn_thread lost if changes applied to basic configuration
  - login.php3, register.php3, subscribe.php3 : call before_access file


2001 March 07 - Version 4.0.2
-----------------------------

* Enhancements:
  - more localization stuff
  - don't display inactive forums
  - Possibility to hide a forum /site from the list by setting his sequence number to 0
  - added $class parameter to display_url() (Laurent Aufrere)
  - made 'new' flag working for the forum list (show new if new messages in the 
forum since last visit) btw: for this to work, you need to set cookies on in 
the site configuration file : conf/site_mysite.php3
  - added navigation variables ($*_link, $*_url, $*_text) (view.php3 + templates)
  - added $bn_no_nav_bar, $bn_list_no_nav_bar to display (or not) the navigation 
    arrow to the next/previous thread 
    (users can now use $bn_view_next_url and $bn_view_prev_url)
  - Added support for FastTemplate syntax in templates => {variable} displays 
$variable, that allows the admin to use the same syntax in all files (header, footer, form, template)
  - Added $input_username and $input_useraddress fields that can be used in the 
form => set to "" or an <input> field depending on the user rights
  - Added $form_title set the appropriate message depending on the form context (post, reply, edit)
  - Added new functions to get all moderators, administrators of a given forum (initial addon from Raptor)
  - show all moderators in the admin forum list 
  - Added closing Thread feature (initial addon from Raptor)
  - added UBB telenet Nederlands template (Franky)
  - added MS SQL support (Iver Odin Kvello <iver*at*musite.com>)
  - more icons (thread icons from Franky)
  - can now change / delete attachements
  - Mail template
  - Now attachments are all located in the same directory ($bn_dir_notes = one per forum) for 
  SAFE MODE compatibility 

* Fixes, code changes:
  - added some missing mysql_FreeResult()	(include/mysql)	
  - maximum threads/ page not set	(delete_notes)
  - fix bug while renaming .bak files	(tools/upgrade)
  - added header info in mail sent to admin	(insert, update)
  + check that moderator has moderation privilege on a given forum	
(init_admin, include/auth)
  - fix bug in smileys conversion	(include/misc_func)
  - fix various bugs in ubb_fr and default/fr templates
  - fix parse error in postgres65	(include/postgres65)
  - typo in moderate_email (bad $bn_user_mail checking)
  - fix several bugs in delete_threads (copy not done)
  - changed extension for templates files (*.conf, *.css, .toc) for safe mode 
problems
  - fix error while removing files (entry => $entry) and directories (delete_forum.php3)
  - fixed bug in login stats (totallogins was incremented twice + variable 
mispelling) (include/auth.php3, init.inc)
  - check magic_quotes_runtime configuration (include/config.php3)
  - changed backup extension, removed php3 references
  - don't open persistent connexion (added parameter to openDB)
  - fixed indentation displaying bug in list (include/dbaccess.php3)
  - missing \ in messages (templates/default/*/msgs.php3)
  - renamed $att_url to $att_link, $att_url now contains the URL only
  - added shortcuts for links ($list_link, $post_link, ...)
  - added anchorWindow() function (misc_func.php3)
  - fixed bug in auto-url conversion (misc_func.php3)
  - now show inactive users (state=0) (edit_user.php3, dbaccess.php3)
  - user was not unsubscribed properly when the thread is deleted 
(dbaccess.php3)
  - fixed mDeleteThreadsDate() (wrong query) (dbaccess.php3)
  + changed $no_auth variable to constant defined in admin.php3
  - fixed authentication bug in moderate_notes.php3
  - fixed bug if site is defined in admin.php3
  - increased bn_name length in the userforum to be conform to the forum table 
  (causing problem with user rights with forum names greater than 20 chars)
  - Now includes all the "standard" stuff in footer.php3 (eg: styles sheets are also included)
  - delete.php3: set attachment and execute before_access before displaying note


2000 December 11 - Version 4.0.1
--------------------------------

* Enhancements:
  - Added file upload filtering (extensions or mime-types)
  - track userid/date modifications (added mod_userid, mod_date fields)
  - added italian translation - Maurizio Guercio <mguercio*at*libero.it>
  - change_extension.php3 => change script extensions from php3 to php
  - migration tool: upgrade.php3 => upgrade an installation from 4.0xx to v4.0.1
  - thread email subscription (Laurent Aufrere)

* Bug fixes, code changes:
  - better header/footer handling (login, register, ..)
  - removed "./" in all file references
  - replaced $note with $key in listings
  - redirect browser using relative URL: removed $bn_base_url in header 
("location ...")
  - fixed bug w/ multiple recipients (Laurent Aufrere)
  - removed Call-time pass-by-reference (deprecated)
  - (dbaccess) added closeDB() + include_once feature
  - fix bug in ubb_fr installation
  - include/dbaccess: fixed typo in call to getThreadsDate() (Franky)




2000 December 6 - Version 4.0.0
-------------------------------

* Enhancements:
  - IP banning (Franky)
  - indentation limit in threaded displaying
  - thread downloading
  - forum subscription (mailing list)
  - profile user editable
  - better messages/threads management (move/copy threads and messages, ...)
  - configuration of site outline
  - several system administrators allowed
  - increase sitename/forum name lengths

* Fixes, code changes:


2000 September 15 - Version 4.0b3 (to be updated)
-------------------------------------------------
* Enhancements:
  - postgres support

* Fixes, code changes:
  - fix stalls displaying big bodies
  - fix bugs in mail address checking


2000 April Version 4.0b2 (to be updated)
----------------------------------------
* Enhancements:
  - mail_users feature (Rich Sezov <rich*at*lightspring.com> )

* Fixes, code changes:


1999 December  Version 4.0b1
----------------------------

First version released for BLK-Modellversuch MoKK@

* Enhancements compared with 3.0.x
  - Multisite management
  - 3 levels of administration (root, admin, moderator)
  - 4 forum access types (private, restricted, registered, public)
  - Moderation
  - Online User registration
  - Forum activation/deactivation (state: lockd, offline, online)
  - Forum download
  - Message highlighting depending on age
  - ...
