$Id: ChangeLog,v 1.46 2002/06/11 13:09:01 mdruilhe Exp $

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

(+ : security fixes)


2002 June 12 - Version 4.1.4
----------------------------
o Enhancements / new features :
  - danish translations (Henning Schou <hs@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@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@wcom.net)
  - add user help in help/fr/ (french) from Pascal Cortial <pascal@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@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@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@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@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@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@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@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@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
  - ...