root/trunk/wifidog-auth/CHANGELOG

Revision 1453, 140.3 KB (checked in by gbastien, 12 years ago)
  • Added possibility to have a deployed geolocated node not show on map (quick fix) (#706)
  • When producing anonymised data export, two files are produced, one for the geolocated nodes and one for the connections (#705)
  • Additions and bug fixes to web service: can now logout and auth returns both error code and message
  • Starting work on #707 as needed
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1# $Id$
2
32010-02-25 Geneviève Bastien <gbastien@versatic.net>
4 * Added constraint to hotspot_graph_element_has_content (#701)
5 * Bug fix: when creating new nodes and node groups, they are now automatically added as children of the network in the new hierarchy structure.
6 * Added possibility to have a deployed geolocated node not show on map (quick fix) (#706)
7 * When producing anonymised data export, two files are produced, one for the geolocated nodes and one for the connections (#705)
8 * Additions and bug fixes to web service: can now logout and auth returns both error code and message
9 * Starting work on #707 as needed
10
112010-01-28 Geneviève Bastien <gbastien@versatic.net>
12 * Modification to the web service to include authentication
13 * Added function generateConnectionTokenNoSession in User.php for the web service to generate tokens
14 * Fixed #691, content for login page, introduced in [1435]
15
162010-01-21 Geneviève Bastien <gbastien@versatic.net>
17 * Permission error when deleting user role (#689)
18 * Patch by Steven Kurylo to remove white spaces from authenticator arguments (#612)
19 * Search for stakeholders has now same case-sensitivity as the user's network (#662)
20 * Corrected (#613) patch by Hélène Gauthier
21
222009-12-17 Geneviève Bastien <gbastien@versatic.net>
23 * Code refactoring: Network, NodeGroup, Node inherit from HotspotGraphElement (#677)
24
252009-12-08 Geneviève Bastien <gbastien@versatic.net>
26 * Added the concept of node group and hierarchy (in a not too clean way to start with, I will refactor the code before adding new functionalities to nodes and groups) (#246)
27 * Login and signup and logout script now receive the mac address as parameter (#675)
28 * Initial abuse control verification now made with the mac address (#676)
29 
302009-10-30 Geneviève Bastien <gbastien@versatic.net>
31  * Network can now be set as case insensitive.  Emails are now never case sensitive and usernames' case sensitivity is consistent with network settings (#616)
32  * Yet again some tab alignment
33 
342009-10-02 Geneviève Bastien <gbastien@versatic.net>
35  * Email address format now corresponds to newer standard RFC2822 (#624)
36  * Corrected typos and tab alignment
37
382009-09-18 Geneviève Bastien <gbastien@versatic.net>
39  * Fixed #502 (Note: this fix works only if all gateways have config value SSLAvailable Yes, or else the server determines that even though the connection originated from HTTP by those gateways, it should use SSL and in this case, the port is not right.  Should need a way to specify port in Wifidog Virtual Hosts or get the apache port)
40  * Some realignment of tabs while documenting
41
422009-08-20 Genevieve Bastien <gbastien@versatic.net>
43  * Updated dependencies  #599
44  * Now gets the temp dir of the OS instead of hardcoding the /tmp dir in the install script #588
45
462009-07-26 Robin Jones
47        * Addded New Geocoders Yahoo and Google.
48        * Geocoder now defaults to google if no country specific Geocoder is found (in future, this will be made selectable by network)
49        * Fixed Postcode search on Find Hotspot Map #436
50        * Added search for user by email closes #417
51        * Added validation to networkID to stop database errors, closes #458
52       
53
542009-07-10 Benoit Grégoire <benoitg@coeus.ca>
55        * Fix bug editing user profiles introduced in [1339].
56
572009-07-03 Benoit Grégoire <benoitg@coeus.ca>
58        * Refactor signup.php.  The code flow is still annoyingly unclear and complex, but the file is shorter and hopefully easier to debug (and hopefully fixes #593)
59
602009-06-26 Benoit Grégoire <benoitg@coeus.ca>
61        * Updated greek translation by bill@e-texnologia.gr and strzol@gmail.com, still needs some work.
62       
632009-06-25 Benoit Grégoire <benoitg@coeus.ca>
64        * Fix #559
65        * Fix #574
66        * Fix bug introduced in 2009-06-23 patch for signing up new users.
67       
682009-06-23 Benoit Grégoire <benoitg@coeus.ca>
69        * Commit another slightly modified patch contributed by Zap Sherbrooke:  Allow generating publicly accessible statistics for the various nodes.  Enabled node per node.  Note that a cron must be setup for those stats to actually be generated.
70
712009-06-09 Benoit Grégoire <benoitg@coeus.ca>
72        * Commit slightly modified patch contributed by Zap Sherbrooke:  Allow using the multiple account feature while keeping a common userbase.  Enabled in server configuration.
73
742008-10-13 Robin Jones
75        * fixed #498 curley brace missing in portal.php
76
772008-10-02 Robin Jones
78        * Support for redirecting to the users original URL instead of portal
79
802008-09-23 Robin Jones
81        * Oops, forgot to include new style sheet into the previous commit.
82        * Made Login template easier to edit using CSS and added example to NetworkFusion theme pack, This closes #343 .
83
842008-08-31 Robin Jones
85        * Created ability to have a themes setting file to define commonly asked for features.
86        * Created a new "Network Theme Pack" to show off the settings file and improve the user experience.
87
882008-08-31 Robin Jones
89        * Updated some table row elements to support Odd/Even CSS. This also closes #382
90
912008-08-28 Benoit Grégoire  <benoitg@coeus.ca>
92        * Fix #492
93
942008-08-13 Robin Jones
95        * Fixed dependency change for Smarty reported by cristian@lalineapeluda.com
96
972008-08-07 Benoit Grégoire  <benoitg@coeus.ca>
98        * Updated Spanish translation by jlms77@gmail.com
99
1002008-07-13 Benoit Grégoire  <benoitg@coeus.ca>
101        * Add new Catalan translation by Christian Lorenzo cristian@lalineapeluda.com
102        * Rebuild transaltions and initial schema.
103
1042008-06-12 Benoit Grégoire  <benoitg@coeus.ca>
105        * Add NODE_PERM_BYPASS_DYNAMIC_ABUSE_CONTROL permission.  User is allowed to exceed dynamic abuse control limits at this node.
106        * Stakeholder selector UI tweaks
107
1082008-06-12 Benoit Grégoire  <benoitg@coeus.ca>
109        * Use bigint for dynamic abuse control byte values
110        * UIAllowedBandwidth:  Format values in a human-readable way
111
1122008-06-10 Benoit Grégoire  <benoitg@coeus.ca>
113        * Authenticator.php:  Fix SQL error closing connections.
114        * auth/index.php:  Probably fix the "Access denied" message when user click twice problem that resurfaced.
115        * At long last, implement operational Dynamic abuse control (out of the embryo of the token architecture)!  Configurable in Network preferences if you have the permissions.  Unlike static limits, this is a sliding window (typically a month) during which user have a bandwidth and connection duration limit, per node, and totalled throughout the network.
116        * UIAllowedBandwidth:  New, simplistic content type to show the user how much of his allocation he consumed.  Off course, the goal is actually to make it into a pretty graph....
117
1182008-06-10 Benoit Grégoire  <benoitg@coeus.ca>
119        * Begin implementing http://dev.wifidog.org/wiki/doc/developer/TokenArchitecture.  This is a first step:  SQL schema changes, and adapt the current functionnality to the new schema to have a baseline.  Everything should work as before, please notify me if you notice anything strange...
120
1212008-04-27 Benoit Grégoire  <benoitg@coeus.ca>
122        * Fixed dependencies on simplepie.  Simplepie removed a stable branch from their SVN.  Why on earth would one do that!?!?
123        * For an existing install, you may want to remove the feedpressreview and simplepie directories and re-install them from the Dependencies page under the "Server" menu. 
124       
1252008-04-02 Robin Jones
126        * Fixed #325 password validation
127        * Added a new banner for the install script
128
1292008-04-01 Benoit Grégoire  <benoitg@coeus.ca>
130        * Apply patch from dc.ml@oxys.net to allow commas in authentication parameter strings.  This is sometimes necessary for LDAP, and fixes #342
131
1322008-03-31 Robin Jones
133        * Minor install script improvements, including making changelog accessible and colour in the permissions tables
134
1352008-03-21 Benoit Grégoire  <benoitg@coeus.ca>
136        * generic_object_admin.php (and others):  Fix bug reported by  Jerry DeFoe (ProfileTemplates couldn't be created) + some UI tweaks.
137       
1382008-03-21 Benoit Grégoire  <benoitg@coeus.ca>
139        * hotspot_status.php:  Fix bug in XSLT procesing.
140
1412008-03-15 Benoit Grégoire  <benoitg@coeus.ca>
142        * Content.php:  Eliminate the generation of a large number of useless SQL queries when getting Content metadata.
143        * User.php: Do the same thing for getCurrentUser()
144       
1452008-03-12 Benoit Grégoire  <benoitg@coeus.ca>
146    * Major performance improvement in content manager for content groups picking items with limits on how many times they can be displayed.
147        * Improve performance of Content::getLastDisplayedTimestamp(), will mostly show when using the RSS aggregator, especially when postgres has little memory
148       
1492008-03-06 Benoit Grégoire  <benoitg@coeus.ca>
150    * Fix #438.  Not Node::getNumOnlineUsers() will count every users connected (once for every account), except the splash-only user + every mac adresses connecting as the splash-only user.
151        * Network::getNumOnlineUsers() use the same counting method
152        * Network.php:  Reformat variables names according to coding standards.
153       
1542008-03-02 Benoit Grégoire  <benoitg@coeus.ca>
155        * Fix #431: Don't even display the Signup button if none of the networks allow signing up.  Allow Authenticators to define the signup URL themselves.
156
1572008-02-27 Damien Raude-Morvan <drazzib@drazzib.com>
158    * Update french translation
159
1602008-02-12 Max Horváth  <max.horvath@freenet.de>
161    * Fixed issue in install.php when POSIX is unavailable to PHP
162    * Fixed package name of Cache_Lite in Dependency class
163    * Updated mail address of Max Horváth
164
1652008-01-16 Benoit Grégoire  <benoitg@coeus.ca>
166        * Fix #42 (Node cannot be renamed)
167
1682008-01-16 Benoit Grégoire  <benoitg@coeus.ca>
169        * Temporary patch for problem introduced in [1319]:  the menu did not display where main_area_top is empty (which is actually most places in the admin interface).  This shouldn't have been done in the first place, as it doesn't fix the problem the menu cause of theming, and worse causes people to edit MainUI_Display.tpl, causing such errors.  A network config option should have been provided to allow selecting in what area the menu goes.
170
1712008-01-13 Benoit Grégoire  <benoitg@coeus.ca>
172        * Permission.php:  Fix typo that caused "Tried to check if an object of class Server has a permission of type Network" errors.  Changed the id from NETWORK_PERM_ADD_NEW_NODE to NETWORK_PERM_ADD_NODE so it will auto-delete the corrupted permission.
173
1742008-01-11 Benoit Grégoire  <benoitg@coeus.ca>
175        * Use the Dependency system to include PHPMailer and tweak Mail.php.  You'll need to re-run the Dpenedency stage of the install script. This allows:  Translating PHPMailer error messages, Actually having PHPMailer error messages, and displaying them properly.
176
1772008-01-09 Benoit Grégoire  <benoitg@coeus.ca>
178        * Add gettext calls, fixes #413
179
1802008-01-06 Benoit Grégoire  <benoitg@coeus.ca>
181        * Some more work on the permission system.  At long last, close #358
182
1832008-01-05 Benoit Grégoire  <benoitg@coeus.ca>
184        * French translation update from Frederic Sheedy (sheedf@gmail.com).  Closes #411
185
1862007-12-30 Benoit Grégoire  <benoitg@coeus.ca>
187        * Workaround IE6 braindeadness in the base theme.  Closes  #406.  Credit goes to Frederic Sheedy (sheedf@gmail.com)
188
1892007-12-23 Benoit Grégoire  <benoitg@coeus.ca>
190        * Node.php:  Fix bug in setCurrentNode() reported by Vacio
191        * install.php, Dependency.php:  Commit install script improvements by Robin Jones
192
1932007-11-29 Benoit Grégoire  <benoitg@coeus.ca>
194        * signup.tpl, lost_username.tpl, lost_password.tpl, resend_validation.tpl:  Move the error div near the button for coherence with the login page (and for the same reason).  In fact it was worse than the login page used to be:  the error message during signup could appear completely below the page for a user with a low resolution screeen (or big font), giving the form the apereance of doing absolutely nothing (it stumped even me as I was trying to help a user).
195
1962007-11-23 Benoit Grégoire  <benoitg@coeus.ca>
197        * UIUserList.php: Don't force it to be persistent, it prevented users from deleting it.
198
1992007-11-15 Benoit Grégoire  <benoitg@coeus.ca>
200        * Menu.php: Make individual submenus, and individual menu items CSS-targetable.
201
2022007-11-05 Benoit Grégoire  <benoitg@coeus.ca>
203        * Commit most of Robin Jones install script improvements.
204
2052007-10-22 Benoit Grégoire  <benoitg@coeus.ca>
206        * Major security fix:  Fix the authenticator for a security breach where a user could get Internet access using an empty username.  LocalUser and LDAP were definitely vulnerable, RADIUS may have been.
207
2082007-10-01 Benoit Grégoire  <benoitg@coeus.ca>
209        * Remove Array type hinting in Security.php. It's not supported in PHP < 5.1.  Fixes  #393
210
2112007-10-01 Benoit Grégoire  <benoitg@coeus.ca>
212        * Commited slightly modified patch by Robin Jones to implement #184
213
2142007-09-25 Benoit Grégoire  <benoitg@coeus.ca>
215        * Menu.php:  Fix a number of improper call time pass by reference
216
2172007-09-24 Benoit Grégoire  <benoitg@coeus.ca>
218        * locale/gensmarty.pl:  Heads up translators:  There was a bug in the regex; about 20 strings in the smarty templates were missed.
219        * Updated french translation
220
2212007-09-20 Benoit Grégoire  <benoitg@coeus.ca>
222        * install.php:  Hopefully fix #384, and remove pages unlikely to be implemented for 1.0
223
2242007-09-18 Benoit Grégoire  <benoitg@coeus.ca>
225        * portal/index.php:  Add a call to garbage_collect() to fix #367
226
2272007-09-17 Benoit Grégoire  <benoitg@coeus.ca>
228        * SmartyWifidog:  If ANY of the mandatory dependencies (not just smarty) are missing, user will be redirected to the install script
229        * Move Smarty detection and install to common framework.  Take this opportunity to move to upgrade to latest Smarty since people will have to re-run the install script anyway.
230        * Fix #381 by applying patch from leandro@texnet.it, mea-culpa, I didn't know I broke the install script.
231
2322007-09-12 Benoit Grégoire  <benoitg@coeus.ca>
233        * Scratch a few itches:  Fix the link from node admin to stats, minor CSS fixes
234
2352007-09-11 Benoit Grégoire  <benoitg@coeus.ca>
236        * VitrualHost.php: Close #373: Apply patch from leandro@texnet.it to fix mispelled table name in delete() method
237        * Close #374:  Add preliminary italian translation from leandro@texnet.it
238
2392007-09-10 Benoit Grégoire  <benoitg@coeus.ca>
240        * Fix #370:  Dropdown Javascript menus didn't retract in Internet Explorer.  My thanks to Robin Jones for at least proposing a solution to the problem, even if it didn't work in this case.  The problem turned out to be a wrong regex in the IE workaround javascript.
241
2422007-09-09 Benoit Grégoire  <benoitg@coeus.ca>
243        * Early OpenID support.  The auth server can now be used as an identity provider, with your profile page as the identity URL
244
2452007-09-08 Benoit Grégoire  <benoitg@coeus.ca>
246        * Dependencies installation:  Improve layout, add embryo of unified install sytem (currently works for tarballs).  Improve error output.
247        * Add dependencies for future OpenId support
248        * AbstractDb:  Make sure to throw an exception, avoiding a blank page when trying to access the index page on a auth server that hasn't been setup.  Patch by Mathieu Bruno.
249
2502007-09-04 Benoit Grégoire  <benoitg@coeus.ca>
251        * cron/page.php:  Improve script to output what it did.
252        * fix typo in Node::DEPRECATEDgetTechnicalOfficers(), that prevented getting the users to page in case a node is down.
253        * Delete leftover login.tpl
254        * Apply patch from leandro@texnet.it to fix #371
255
2562007-08-30 Benoit Grégoire  <benoitg@coeus.ca>
257        * install.php:  Experimental fix for #353
258
2592007-08-28 Benoit Grégoire  <benoitg@coeus.ca>
260        * install.php:  Fix bug that would manifest as a blank page at the "Checking Dependency" stage if PHP's postgres module was not installed.  Thanks to drfense for providing an account on a server where the bug occured.
261
2622007-08-27 Benoit Grégoire  <benoitg@coeus.ca>
263        * Added vacuum_last_resort_fix_backup_restore_database.sh.  This is DANGEROUS, and should only be run when your neglected (or had problem with) your VACCUMs,
264        your database has become slow as molases, and VACUUM FULL is not an option because your db has grown too big.
265
2662007-08-27 Benoit Grégoire  <benoitg@coeus.ca>
267        * install.php:  Fix #368: Correct the svn source for SimplePie 1.0, the 1.0b2 branch was unexpectedly renamed.
268        Note that this forces a rather disruptive change.  To update an existing install, you'll need to run the following commands:
269        cd lib/simplepie
270        svn switch http://svn.simplepie.org/simplepie/branches/1.0/
271        But this also requires a recent feedpressreview (revision 13), so you'll also need to run:
272        cd lib/feedpressreview
273        svn update
274
2752007-08-06 Benoit Grégoire  <benoitg@coeus.ca>
276        * Allow users with NETWORK_PERM_EDIT_ANY_NODE_CONFIG to edit gateway id's
277
2782007-08-05 Damien Raude-Morvan <drazzib@drazzib.com>
279        * Security.php : A permission can be acquired by a user via multiples roles, this means
280        that, for the moment, we have to use DISTINCT to check if a user had correct permission
281        (otherwise the SQL request is invalid : subrequest return more than one line).
282        * Locale.php : If the browser send Accept-Value header without any quality (i.e. q=x.y)
283        we have to use order of the locales to select between them (and don't use a rand() number).
284
2852007-08-04 Benoit Grégoire  <benoitg@coeus.ca>
286        * Portugese (from portugal) translation contributed by MiguelCMA
287        * locale/gen.sh:  Major change to .po file generation.  Now uses msgmerge so we won't completely throw away previous efforts by translators (will preserve comments, and use fuzzy translation).  It's also much faster (seconds instead of minutes), and produces less strings to translate.
288
2892007-08-03 Damien Raude-Morvan <drazzib@drazzib.com>
290        * init_php.php : Fix #363 by applying patch from Leandro to correctly set timezone info in Wifidog
291        if set in configuration (allow Wifidog to work not only in Canada :).
292
2932007-07-26 Benoit Grégoire  <benoitg@coeus.ca>
294        * DependenciesList::hook_menu():  Fix menu path conflict with Server::hook_menu();
295        * Server::getAdminUI(): Add output to help debug timezone problems.
296
2972007-07-25 Benoit Grégoire  <benoitg@coeus.ca>
298        * VirtualHost.php:  Fix critical problem preventing new Virtual Hosts from being created.  Thanks to Miguel for pointing this out!ssss
299        * StatisticGraph.php:  Fix a bad return by reference that prevented graphs from being displayed.  Thanks to Daniel Lemay for finding it.
300        * Content.php:  Fix warning when selecting owners. Fix dangling metadata objects when deleting an object.
301        * Statistics::getDateRangeUI():  Make days end a minute before midnight, not a minute before noon, DOH!
302        * import_user_database.php:  Fix permission call systax error.  That does't mean the script works as a whole, it hasn't been maintained for years.
303        * DependenciesList.php:  Make it extend GenericDataObject after all.  Fixes problem displaying it in the generic editor.
304
3052007-07-22 Benoit Grégoire  <benoitg@coeus.ca>
306        * generic_object_admin.pgp:  Fix problems when creating new content objects.  Fix problems including the content type classes.
307        * Avatar.php:  Make the resampling code support any format available to GD, not just jpeg.
308
3092007-07-22 Benoit Grégoire  <benoitg@coeus.ca>
310        * More schema compatibility defensive coding.  Comment out all SET commands in the schema
311
3122007-07-22 Benoit Grégoire  <benoitg@coeus.ca>
313        * install.php:  Fix #215
314
3152007-07-21 Benoit Grégoire  <benoitg@coeus.ca>
316        * AnonymisedDataExport.php:  Work around the huge memory requirements this report used to have.
317        * install.php:  Strip create procedural language from schema, that requires superuser anyway.
318                                        Strip a few other things to hopefully allow it to work again with postgresql 7.4, but I need the full output of the commant "psql -f wifidog-postgres-schema.sql", run from the sql directory of a svn checkout, from someone still running 7.4, otherwise I can't do much.
319        * DependenciesList.php:  New class.  Allow seeing the dependency list once the server is installed.  A small step towards centralized dependency installation.
320
3212007-07-20 Benoit Grégoire  <benoitg@coeus.ca>
322        * At long last, implement #9:  Automatic new node creation.  When attempting to login from an unknown node, the user (if he has the permissions) will be prompted to create the node, or "steal" en existing one (for hardware swaps).
323        * Refactor Node:getSelectNodeUI().
324        * Menu.php:  Fix small oversight causing menu not to clear.
325
3262007-07-19 Benoit Grégoire  <benoitg@coeus.ca>
327        UIUserList fixes:
328        * Node::getRecentUsers():  Get the 5 most recent users, not some random users in the last week.  Also, exclude users currently logged-in.
329        * Node::getActiveUsers():  Function was unbearably slow, now limit the search space to the last 3 months.  Get the 5 user who connected on the most differents days, instead of users with the worst wireless card ;)
330        * schema_validate.php: Add index for timestamp_in on connection table.
331
3322007-07-17 Benoit Grégoire  <benoitg@coeus.ca>
333        * Use last_heartbeat_sys_uptime untill #354 is fixed
334
3352007-07-16  Benoit Grégoire  <benoitg@coeus.ca>
336        * Fix display of wifidog uptime in node list
337        * Preliminary skinning of the menu
338        * Network::getNumOnlineUsers():  Fix #40 by counting active connexion tokens, not distinct user id's.  That way users logged in twice (splash-only, or username if allowed in network config) will be counted twice.
339        * UIUserList_getUserUI.tpl:  Fix #337
340        * Node.php:  Improve getCurrentRealNode()
341        * Implement #4:  Allow the user to easily come back to the portal by typing in the root auth server adress from a hotspot.
342        * Log the system information sent with the gateway since almost forever:  sys_uptime, sys_memfree, sys_load, wifidog_uptime
343        * NodeStatus.php:  Include the above information
344        * node_list.html:  Include wifidog_uptime if the hotspot is up.
345        * Menu.php:  Sort menus alphabetically according to the user's locale.  TODO:  Implement menu weights.
346        * NodeLists:  Only list node types that have dependencies met in the menu.  Refactor the NodeLists for proper object-orientation.
347
3482007-07-12  Benoit Grégoire  <benoitg@coeus.ca>
349        * MainUI.php:  Fix label problem in language chooser.
350
3512007-07-12  Benoit Grégoire  <benoitg@coeus.ca>
352        * Fix #291 by adding a proper warning and location of documentation
353        * Fix #336:  Add Swedish translation by Christian Svensson <blue ATT cmd.nu>
354
3552007-07-12  Benoit Grégoire  <benoitg@coeus.ca>
356        -This is a behemoth "the road to 1.0"  commit.  I've been working on this for 6 months,
357        and it's reached the point where others can help.  Those are very far reaching changes, please
358        notify me if anything isn't working right (and im sure I can't have caught everything).
359    * Completely revamp exception handling, all exceptions are now trapped and handled centrally.
360    * Major changes in the login process to allow repeating a request after a time out or missing permission exception.
361    * New user roles architecture,  as described in https://dev.wifidog.org/wiki/doc/developer/UserRolesArchitecture
362        Mostly complete.  Missing parts are Content stakeholders, system roles and "su" functionnality.
363        I need help replacing all the DEPRECATED* methods.  Please read the wiki page above for instructions.
364        * generic_object_admin.php:  More work towards making it generic once again.
365        * GenericDataObject:  New class.  Eventually, most classes should extend this, instead of directly implementing GenericObject
366        * Menu.php:  Finally a uniform Menuing system to replace the mismatch of links that made wifidog
367        impossible to navigate.  It's not very sophisticated yet, but it IS permission aware
368        Loosely inspired from Drupal's menuing system.  HTML is slightly modified "Son of suckerfish",
369        so will be easy to style (althouh I haven't had time yet).
370        Actual menus are added in the hook_menu methods of each class.
371        * VirtualHost.php:  Finally properly split off Virtual Hosts, and make Server a singleton.
372        * install.php:  Do the bare minimum changes so it's still possible to setup a wifidog auth server.
373        However, install.php still needs 1- A good overhaull, 2- A way to install sample databases instead of the minimal one.
374        -Other changes
375    * Unbreak signup link for non-javascript enabled devices
376        * FlickrPhotostream:  Check CURL, which is a mandatory dependency of Flickr
377    * AbstractDb:  Improve debuging features
378    * *:getObject():  Hopefully improve performance of class caching by making sure
379    that we do not manipulate different objects.  Otherwise copies would be generated as soon as we change properties, wasting much memory.
380        * Add dependency check for XSL module for hotspot_status.php.
381        * Some work towards respecting the coding style: http://dev.wifidog.org/wiki/doc/developer/CodingStandard
382        * wifidog/admin/index.php:  Delete admin page.  There is no longuer a concept of a separate admin section.  Menu will depend on your access level.
383
3842007-07-11  Benoit Gréoire  <benoitg@coeus.ca>
385        * path_defines_url_content.php: Fix #348
386
3872007-07-03  Benoit Gréoire  <benoitg@coeus.ca>
388        * wifidog/signup.php:  Notify the user of the allowed characters.
389        * Add Bulgarian translation from "Nikola Petrov" <nvp.online A T gmail.com>
390        * config_available_languages:  Centralize the list there so that there is only one to modify everytime we add a translation
391
3922007-06-12  Benoit Gréoire  <benoitg@coeus.ca>
393        * IE6 layout workarounds (not perfect, but better)
394        * HTML validation of the login and portal pages
395        * Apply patch from tdb@timothy86.orangehome.co.uk, fixes #334
396
3972007-05-30  Benoit Gréoire  <benoitg@coeus.ca>
398        * VisitsPerMonth.php, VisitePerWeekday.php:  Fix small sql bug when selecting a single user
399
4002007-05-28  Benoit Gréoire  <benoitg@coeus.ca>
401        * ActiveUserReport.php:  Merge new report from my development tree.  Gives a breakdown of how many users actually use the network.
402
4032007-05-22  Benoit Gréoire  <benoitg@coeus.ca>
404        * Reverse part of [1230], hotspot_network_name was already available as standardised variable networkName, and hotspot_network_url as networkWebSiteURL.
405        * Reverse part of [1231]:  remove script tag, banning it was the reason the sag striping code was put in in the first place.  We may want to consider creating a RawHTMLContent Content Type.
406
4072007-05-22  Benoit Gréoire  <benoitg@coeus.ca>
408    * locales/el/: Add new greek translation contributed by Nikola Petrov
409
4102007-05-17 François Proulx <francois.proulx@gmail.com>
411        * WARNING: This has not been fully tested. Full testing to be completed on 2006-05-18
412          but I'm pretty confident that it works pretty well.
413        * Added automatic resize on Avatars
414        * Added FavoriteHotspots content (mostly used for Profiles)
415        * Added new features to Content and File
416        * Fixed URL regexp bug in HyperlinkUtils
417        * Updated French translations
418        * Updates profiles template
419        * TODO: Add getNewUI et processNewUI to FavoriteHotspots to simplify input
420
4212007-05-03  Benoit Gréoire  <benoitg@coeus.ca>
422    * MainUI_ToolContent.tpl: Make preferences_link, login_link, and logout_link CSS targetable.  Get rid of some deprecated CSS.
423
4242007-04-25  Benoit Gréoire  <benoitg@coeus.ca>
425    * ShoutBox.php:  The shout form wasn't displayed whent there weren't any Shouts yet, doh!
426
4272007-04-24 Benoit Grégoire  <benoitg@coeus.ca>
428        * AuthenticatorRadius.php:  Fix RADIUS dependency detection bug related to case sensitivity
429
4302007-04-19  Benoit Grégoire  <benoitg@coeus.ca>
431        * RssAggregator.php:  Fix bug saving the max item age.
432        * Forgot to remove a bunch of links to faq.php.
433
4342007-04-03 Benoit Grégoire  <benoitg@coeus.ca>
435        * AnonymisedDataExport.php:  New report.  Adds the ability to export anonymised SQL data for academic research.
436
4372007-03-20 Benoit Grégoire  <benoitg@coeus.ca>
438        * Shoutbox.php: Allow limiting the number of characters entered for a shout.
439        (Ideally, this would also need to be enforced at db write level).
440        Move the shout form in the list.
441        Allow choosing the number of shouts displayed.
442        Make the size of the shout field configurable from the admin interface
443        Put the date of the shout before the username.
444        * User.php:  Make the entire "edit profile" link CSS targetable, including the parentesis.
445
4462007-03-20 Benoit Grégoire  <benoitg@coeus.ca>
447        * ProfileTemplateField.php:  Only allow simple content types as metadata.
448        * Langstring.php:  Fix bug:  one couldn't change the language of a string without changing the actual text.
449        * Content.php:  Add isExactContentType() method.
450        * Profile-related visual and UI tweaks
451
4522007-03-20 Benoit Grégoire  <benoitg@coeus.ca>
453        * Fix #304:  For some reason the Smarty assignement to userName used getListUI() instead of getUsername()???
454        * Add HyperLink content type
455        * Add UIUserList content type (work towards #158)
456        * portal/index.php:  Finish refactoring Smarty usage.
457
4582007-03-17 Benoit Grégoire  <benoitg@coeus.ca>
459        * install.php: Make sure we are in the right directory when uncompressing Smarty
460        * Avatar.php:  Don't allow user to hyperlink the image.
461        * ProfileTemplate:  Display how many profiles will be affected when deleting a template field.
462        * User.php:  Don't show the profile creation button if the network has no profile template.
463         Don't hyperlink the username if the user has no profile.
464
4652007-03-16 Benoit Grégoire  <benoitg@coeus.ca>
466        * Lots of work on profiles.  The HTML and CSS are not final, but #18 can be considered closed.
467        * ProfileField::getContentField():  Fix bug where the object wouldn't refresh properly.
468        * Content:  Delicate refactoring of the UI to create new content.
469        The content object now supports directly adding the actual values of a new
470        Content in getNewContentUI(), if the content filter only allows a single content type.
471        For this to work, the Content type must overload the getNewUI() method.
472        This saves many mouse clicks for form style interface, like profiles.
473        * User:  Don't create profile automatically.
474        * Don't show profiles when user is invisible.
475        * Langstring, SimpleString, HTMLEditor: Support getNewUI().  As a result of these changes, SmartyTemplate, SimpleSmartyTemplate, Stylesheet also get it for free.
476        * Add new standard Smarty value userOriginallyRequestedURL.
477 Note that this does NOT fix #266
478        * Add new standard Smarty value nodeWebSiteURL
479        * Some work towards #158
480         1- The "Use the Internet" link pointing to the originally requested URL is no longuer a part of every portal.  To restore that functionnality, paste the following code in a SmartyTemplate in the Content manager.
481        {if $userOriginallyRequestedURL}
482                <a href='{$userOriginallyRequestedURL}'>Take me where I originally wanted to go</a>
483        {/if}
484        2- The "Where am I" link is gone.  It made little sense to have that content common to all groups.  To restore it, pu it inline in your login page, link a html page on your auth server, or link a Content display page.
485        3- Same with the link to the Network.  To restore the unctionnality, paste the following code in a SmartyTemplate:
486        <a class="administration" href="{$networkWebSiteURL}"><img class="administration" src="{$common_images_url}lien_ext.gif">&nbsp;{$networkName}</a>
487        * ContentTypeFilter:  Saving still wasn't neutral.  Strip the array indexes to fix it.
488
4892007-03-03 Benoit Grégoire  <benoitg@coeus.ca>
490        * CSS tweaks for RSS feeds.
491        * Fix detection of HTML Safe.
492        * Avatar.php:  Don't allow editing the picture size.
493        * ContentGroup:  In some cases, the same element could be picked twice in the same display.
494        Make sure that doesn't happen.  Also, implement the option to not rotate content at all,
495        usefull when showing all elements simultaneously in a specific order. Closes #294
496
4972007-02-24 Damien Raude-Morvan <drazzib@drazzib.com>
498        * Fix main SQL request in Node::getSelectNodeUI() to use
499          table alias in ORDER BY and SELECT. This disambiguation
500          is necessary when using a join on a table containing
501          another 'node_id' field.
502
503 2007-02-24 Max Horvath <max.horvath@freenet.de>
504        * Updated dependencies list (completion of all required components)
505        * Dramatic speedup of PEAR and PECL modules detection by dependencies class
506
5072007-02-25 Benoit Grégoire  <benoitg@coeus.ca>
508        -* rev [1182], [1183], [1184]  are repository fix commits.  If anyone have problem with their lib directory when upgrading, contact me.
509
5102007-02-24 Max Horvath <max.horvath@freenet.de>
511        * Fix ticket #300: SYSTEM_PATH not being respected in config.php.
512
5132007-02-07 Damien Raude-Morvan <drazzib@drazzib.com>
514        * Fix ticket #298 : php-ldap module is lowercase in Dependencies array,
515          update Dependencies::check() calls.
516
5172007-02-05 Damien Raude-Morvan <drazzib@drazzib.com>
518        * Try to fix ticket #295 and #297 by including parent class (Content.php) in
519          File.php.
520        * ... and remove unnecessary include of Avatar content type in User.php: All
521          contents types are included by Content.php getAvailableContentTypes() call.
522
5232007-01-28 François Proulx <francois.proulx@gmail.com>
524        * First iteration of user profiles completed.
525        * Need to improve Avatar admin UI
526
5272007-01-19 Benoit Grégoire  <benoitg@coeus.ca>
528        * dump_initial_data_postgres.sh:  Initial node wasn't setup correctly.
529        * INSTALL:  Fix some obsolete instructions for database backup and restore
530
5312007-01-18 Benoit Grégoire  <benoitg@coeus.ca>
532        * Updated french translation curtesy of http://zapquebec.org
533
5342007-01-16 François Proulx <francois.proulx@gmail.com>
535        * ContentTypeFilter : Now supports filters stored in the DB, backward compatible
536        * ProfileTemplate, ProfileTemplateField, Profile : profiles support
537        * Update schema to 53 for profiles
538        * Network, User : Added support for profiles (not implemented for Network)
539        * TODO: Integration in portal
540
5412007-01-16 Benoit Grégoire  <benoitg@coeus.ca>
542        * A few more steps towards a real user manager
543        * Move password change to preferences.
544        * InterfaceElements:  Begin moving away from a raw HTML generator and towards a more semantic one as discussed with Max Horvath.
545        * It is now possible for an administrator to manually validate or lock-out a user
546        * Add new SimpleString content type
547        * SmartyWifidog.php:  Fix #282 with a slightly dirty workround to the chicken and the egg smarty variables assignment problem.
548                We now extend the fetch method and do our assignment there instead of in the constructor.
549
5502007-01-15 Benoit Grégoire  <benoitg@coeus.ca>
551        * Sync initial schema and translations
552        * Minor spelling fixes
553
5542007-01-14 Benoit Grégoire  <benoitg@coeus.ca>
555        * Dependencies.php, AuthenticatorRadius.php:  Fix bug #287 (Dependencies not being detected properly)
556        * Content.php: Make hasDisplayableMetadata() consider Authors, and make it a bit faster.
557
5582007-01-13 Benoit Grégoire  <benoitg@coeus.ca>
559        * Content.php:  Add setUserUIMainDisplayContent() and setUserUIMainInteractionArea()
560        to simplify writing subclasses and port all content subclasses to the new API.
561        * Content.php:  Add a new callcack method, isTextualContent(), to be used by
562        ContentFilters.  Indicates that the content is suitable to store plain text.
563        * ContentGroup.php:  No longer warn about empty ContentGroup in getUserUI(),
564        as this may now be perfectly normal if all content has expired.
565        * Rework the classes and css for user_ui_main_outer, isSimpleContent has been
566        eliminated and hasDisplayableMetadata is now defined is metadata is available.
567        This should allow better HTML consistency and simpler CSS, and be closer to what
568        people expect by default.  Content without metadata will display without
569        borders or background, and without margins when inside another content.
570        * smarty.resource.string.php:  Add a setter function,
571        smarty_resource_string_add_string() that must be used before calling the smarty
572         function.  Using the name as the the template was far to brittle.  This makes
573         the SmartyTemplate content much more reliable, and quite possibly faster.
574        * ShoutBox: A very basic but already extensible implementation of the
575        shoutbox use case.  Shows the last five shouts.  Can connect to another web
576        site through a javascript extension.
577        * SimpleSmartyTemplate:  Add a simple version of the SmartyTemplate content
578        type
579
5802007-01-03 Benoit Grégoire  <benoitg@coeus.ca>
581        * FormSelectGenerator.php: Fix incorrect $this reference in isPresent().  The bug would only manifest
582         itself from the FlickrPhotostream's admin interface.
583        * page.php:  Fix missing retrieval of DB instance.
584
5852007-01-03 Benoit Grégoire  <benoitg@coeus.ca>
586        * Yet more Smarty cleanup, add some docs, add Smarty variables to access the physical node a user is connected to.
587        * RssAggregator.php:  Fix bug in setMaxItemAge() method when setting a null value
588        * Cache.php:  Performance optimization when caching is disabled.
589        * Fix bug where num online users in the portal was broken.
590
5912007-01-02 François Proulx <francois.proulx@gmail.com>
592        * Updated the SQL schema initial schema
593
5942006-12-31 Benoit Grégoire  <benoitg@coeus.ca>
595        * More Smarty cleanup
596        * Content.php:  Bugfix:  metadata wasn't deleted along with the rest of the
597        content upon deletion.
598
5992006-12-30 Benoit Grégoire  <benoitg@coeus.ca>
600        * install.php:  Move path verification to the first page, and make it clearer.  Fix PHP warnings.
601        * wifidog/include/smarty.resource.string.php:  A smarty resource plugin to parse a smarty template from a string
602        * SmartyTemplate:  Very basic but functionnal commit of the new Smarty content type.
603        IMPORTANT NOTE:  This will eventually obsolete IFrameRest, which will be removed.
604        * Continue cleaning-up/standardizing Smarty variable usage.
605
6062006-12-12 Benoit Grégoire  <benoitg@coeus.ca>
607        * Fix all PHP 5.2 compatibility issues I could find.  This needs further testing
608
6092006-12-12 Pascal Charest <pascal.charest@gmail.com>
610        * install.php: Remove obsolete Phlickr installation references
611
6122006-12-12 Benoit Grégoire  <benoitg@coeus.ca>
613        * install.php, Dependencies.php:  Centralize Dependency detection (next is to centralize
614        dependency installation code).
615        * config.php: Remove more obsolete config directives.
616
6172006-12-11 Benoit Grégoire  <benoitg@coeus.ca>
618        * install.php:  Fix a few problems caused by obsolete magpierss detection code.
619        * install.php, config.php:  Remove the obsolete PHLICKR_SUPPORT option.
620
6212006-11-30 Benoit Grégoire  <benoitg@coeus.ca>
622        * schema_validate.php:  Mute annoying ob_flush() notices.
623        * Node.php:  Add missing default parameter to getSelectNodeUI()
624        * get_stylesheet:  Fix date calculations that broke download.
625
6262006-11-29 Benoit Grégoire  <benoitg@coeus.ca>
627        Sync with my main developpement environement:
628        * Performance optimization pass:  Collect a few low hagning fruits
629        by implementing basic instance caching for classes Server, Network, Nodes, Content and User.
630         It's no replacement for a real ORM, but is cuts way down on duplicate SQL queries and
631         object instanciation for a single request.
632        * Langstring.php:  Slight performance optimization for admin interface, support for proper modification date.
633        * File.php:  Update to use unified content modification date.
634        * get_stylesheet.php:  Implement browser caching
635        * ContentGroup.php:  Get rid of is_locative and is_artistic metadata.  Will eventually be replaced by something better.
636        Allow editing of expired content elements
637        * Node.php, Utils.php:  Sort by case insensitive name, and show gateway id in node selectors
638        * BannerAdGroup.php:  Support group constraint of image size for all images in the group.
639        * ContentReport.php:  Finish basic content reporting.
640        Note that for content that displayed before the logging fixes commited 2006-11-14, the display count will be underestimated:
641        Display before then was only counted once per user per node.  Also File clickthrough wasn't logged (includes hyperlinked pictures).
642        * Content.php:  Implement a Key-Value Pair infrastructure.  In the future, this will often allow adding new content types without
643        having to modify the schema.  See the Content class documentation.
644        * Fix various small UI issues.
645
6462006-11-29 Benoit Grégoire  <benoitg@coeus.ca>
647        * common.php:  Fix the value of SESS_NODE_ID_VAR, it got overwritten by SESS_GW_ID_VAR.
648        Caused problems with logout.
649
6502006-11-27 Benoit Grégoire  <benoitg@coeus.ca>
651        * Try to fix #270:
652        * DateTime.php:  Rename class to DateTimeWD because of the stunt they pulled in PHP 5.2
653        * Content and derived classes:  Make all constructors protected.
654
6552006-11-26 Benoit Grégoire  <benoitg@coeus.ca>
656        * lost_username.tpl, lost_password.tpl, resend_validation.tpl:  Fix #259 by commenting out
657        all Javascript. I hate removing outside contributions, but the lost_username,
658        lost password and re-send validation email have been broken for months and no one
659        stepped-in to fix it.
660
6612006-11-23 Benoit Grégoire  <benoitg@coeus.ca>
662        * Fix bug in node creation
663        * Add error message for geocoder when you didn't set the country
664        * Clarify error messages and description for the geocoder.
665        * Make the google-map locator for nodes use the network center coordinates.
666          This change makes it usable when you didn't use the geocoder first.
667        * Show the gateway id in the technical nodelist.
668
6692006-11-22 Benoit Grégoire  <benoitg@coeus.ca>
670        * Fix minor problems with template using obsolete constants
671        * Delete a bunch of unused templates
672
6732006-11-22 Benoit Grégoire  <benoitg@coeus.ca>
674        * Fix broken auth
675        * Fix broken portal when called from gateway
676
6772006-11-22 Benoit Grégoire  <benoitg@coeus.ca>
678        * Major schema update (this one is going to make your database grind for a while, sorry
679        about that...)
680        Fix a long standing design problem with the node table, where the ID could be changed.
681        This caused performance problems when replacing gateways, and caused problems when
682        exporting data to other systems.  Among other things, it will allow us to finally
683         finish the JiWire output.
684        * Stylesheet.php:  New content type.  Takes advantage of two pass content display to create stylesheets to be used only at a specific node, or with a specific content.
685
6862006-11-21 Benoit Grégoire  <benoitg@coeus.ca>
687        * Change schema update method.  Will now do one transaction
688         per schema version, allowing each schema to assume that
689          the current schema is the previous one.  Also allows not
690          starting over when there is a problem.
691          Fixes schema update problems with the last commit
692
6932006-11-21 Benoit Grégoire  <benoitg@coeus.ca>
694        * RssAggregator.php:  At long last, sync with FeedPressReview 2.0
695         http://projects.coeus.ca/feedpressreview/ (formerly rsspressreview)  and
696          make most of it's features directly available from the web interface.
697        This gives us:
698        -Now based on SimplePie http://simplepie.org/ (magpie was no longuer maintained)
699        -Now unobtrusively displays almost all item and feed metadata
700        -Supports images
701        -Supports podcasts and enclosures
702        -More accurate algorithm
703        -Criteria based default feed expansion
704        -More real-estate efficient, and improved UI
705        The admin interface is now also more real-estate efficient (uses the hover help code commited by François that no one used yet).
706
707        Warning: This changes the dependencies of the auth server.  Your RSS feeds will be disabled untill you re-run the install script.
708        * gw_message.php:  Fix validation period not being displayed.
709
7102006-11-14 Benoit Grégoire  <benoitg@coeus.ca>
711        * MainUI.php:  Allow displaying any object with a getUserUI() method directly as content.
712
7132006-11-14 Benoit Grégoire  <benoitg@coeus.ca>
714        * generic_object_admin.php:  Fix interface options for the user object, but this is the wrong way to go about it.  THese options should be class properties.
715
7162006-11-14 Benoit Grégoire  <benoitg@coeus.ca>
717        * File.php:  Clickthrough weren't logged, DOH!
718        * User.php:  Error message on validation expired didn't properly output the validation grace time.
719        * Statistics.php:  Fix #271: Getting statistics for a single MAC address was broken.
720        * NodeListXML.php:  Small patch by Josephus to add the number of online users
721        * Improve CPU usage of the content manager
722        * AbstractDb:  Fix query time not being displayed in debug mode if profiling was turned off.
723                                        Add total execution time statistics.
724        * Fix logging of content clickthrough and display.  Unique users and node data is reliable for existing data.
725                Number of prints is underestimated (repeat prints for the same user, same content at same node didn't get counted)
726                 for data before this patch.
727                Same with number of clickthrough for File content types and derivatives (picture, etc.).
728        * ContentReport.php:  Add content report (does not support most options yet, but still very usefull).
729
7302006-11-13 Benoit Grégoire  <benoitg@coeus.ca>
731        * Make the MainUI, SmartyWifidog and Session and AbstractDb classes singletons
732        * Implement two pass content display.  All Content can now implement a prepareGetUserUI(), allowing them to interact with MainUI and other Content before display.
733          Allow creating content such as stylesheets, feed accumulators, etc.
734        * SmartyWifidog.php Turn on security, begin preparing for standardisation of Smarty variables
735        * New Content type:  Stylesheet.  Allows specific nodes, or even specific content groups to have custom stylesheets.
736        * Langstring.php:  Make getAdminUI calling conventions coherent with other content types.
737
7382006-11-11 Benoit Grégoire  <benoitg@coeus.ca>
739        * Authenticator.php:  Critical: Fix SQL query syntax in acctStart()
740
7412006-11-07 Benoit Grégoire  <benoitg@coeus.ca>
742        * install.php:  Fix password generation I inadvertently broke.  Remove misleading info about SSL
743
7442006-11-07 Benoit Grégoire  <benoitg@coeus.ca>
745        * install.php:  Put an end of line after the password, make it easier to read.
746        Make the install script check the permissions of lib/smarty/plugins directory to avoid smarty errors
747        * Statistics.php:  A little gift for France wireless:  Make aggregate statistics available across networks
748
7492006-11-07 Benoit Grégoire  <benoitg@coeus.ca>
750        * Fix # 268, #269 as well as greg's problems by moving all token and registration date arithmetics
751         to the database, and standardize on SQL-standard CURRENT_TIMESTAMP.
752        Fixes operational problems when PHP and PostGres don't have the same timezone
753        (which appears to be the case on Fedora by default).
754        Note that the page.php script still has PHP date arithmetics, but at least should be self-consistent.
755
7562006-10-24 Benoit Grégoire  <benoitg@coeus.ca>
757        * auth/index.php: Add some defensive coding and debug output when the token is invalid.
758
7592006-10-24 Damien Raude-Morvan <drazzib@drazzib.com>
760        * Fix french translation used for account validation to use same number of token as original message.
761        * Only show language combo when there is more than one language to select.
762
7632006-10-24 Benoit Grégoire  <benoitg@coeus.ca>
764        * EmbeddedContent.php:  Fix content type selection (admin interface of EmbeddedContent was broken)
765        * Full spanish translation curtesy of jguevara @@ unitec.edu (closes #254)
766        * Some documentation updates for content filters
767        * Content.php:  Add isNotContentType() method.
768
7692006-09-07 Benoit Grégoire  <benoitg@coeus.ca>
770        * Access to the Content manager was broken for normal users, again.
771
7722006-09-11 François Proulx <francois.proulx@gmail.com>
773        * Changed install.php req. for Smarty 2.6.17 is mandatory
774        * ContentTypeFilter.php fixed the method checking function
775        * Fixed errors in French translation file
776
7772006-09-07 Benoit Grégoire  <benoitg@coeus.ca>
778        * Fix PHPMailer that I've broken earlier
779
7802006-09-07 Benoit Grégoire  <benoitg@coeus.ca>
781        * Slightly rework SSL detection so that it uses the default server if a current one isn't available.
782                Fixes server passing passwords in the clear if the hostname disn't match (DOH!).
783                We really should properly split the Server class into a singleton Server class and multiple VirtualHost classes.
784        * Re-apply fixed HTMLeditor patch.  (Original description:  Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
785          line count and will stop the codebases from needlessly drifting apart.)
786
7872006-09-07 Benoit Grégoire  <benoitg@coeus.ca>
788        * Add missing require of Statistics.php in stats.php
789
7902006-09-07 Benoit Grégoire  <benoitg@coeus.ca>
791        * Fix non persistent content being available to add to nodes, networks and content groups.
792        * Prevent a user from entering the same language twice in a langstring.  Fixes #226
793
7942006-09-06 Benoit Grégoire  <benoitg@coeus.ca>
795        * Fix #63
796        * Fix problem with my Splash only user fix (I used match on the user_id instead of the username).
797        * Prevent the Splash only user from logging out, wrecking havock in the tokens.
798        * Do not allow SplashOnlyUser to set his preferences.
799        * Assigning a reusable content to a contentgroup element would make it non-reusable.
800Usability and UI fixes:
801        * Allow other users to log in when they are at a splash only node.
802        * Make isSimpleContent class available for Simple content types.  Make it borderless and backgroundless in the default theme_pack.
803        * Simplify HTML output for simple content.
804        * Fix IE layout bug in node admin
805        * Content linked to nodes and networks now edits in a new window.
806        * Remove "Add new node" menu item for consistency.
807
8082006-09-06 Benoit Grégoire  <benoitg@coeus.ca>
809        * Remove most inclusions of MainUI in classes.
810        That completely broke authentication (circular dependencies).
811        Fixes 245.
812    Unfixes 242. Exceptions should not be caught in the context
813    they are thrown in. Else there no point in throwing exception in the
814    first place.
815        * HyperLink.php:  Fix bug where a link with identical text as it's link would see the text replaced by the clickthrough-tracked equivalent.
816
8172006-09-06 Benoit Grégoire  <benoitg@coeus.ca>
818        * ContentTypeFilter:  New class, implements #159.  Allows to filter content type according to various criteria.  Will be used more extensively in the profile manager.
819        * Content manager:  Use content type filter to only allow Simple content types (Content without metadata) to be used for metadata.
820        * New content type BannerAdGroup.  Used (primarily) to display banner adds, or any other image rotation.  Size constraints not yet implemented
821        * Move externally maintained class.phpmailer.php, class.smtp.php into lib where they belong
822        * DateTime.php: Make class handle an empty date sensibly.
823        * Network.php:  Show the network again when there is only one.  It was confusing in some screens.
824        * page.php:  Clarify error message, and set a more reasonnable paging cascade:
825                5 min, 30 min, 2 hours, 1 day, 1 week, 1 month
826        * Finally fix #127
827        * At last, working content scheduled display and expiration for ContentGroups.  Archiving does not yet have a UI.  Content that expires will simply seem to disapear.
828        * Fix #247 (somebody filed a bug before I commited, conveniently saving me the need to describe it).
829        * The Fix for #106 in [1089] returned non-objects, causing error messages and not displaying what it was meant to display.
830                Used Guest instead of Annonymous, which will probably be used for different purpose in the future.
831                This re-fix does not include duplicate counting yet.  Splash users are not the only users that could log-in multiple times.
832                I don't have a staging server here, a fix will be commited in a few minutes if something goes wrong.
833        * Cleanup coments.
834        * Sync schemas
835
8362006-09-03 Max Horváth <max.horvath@freenet.de>
837        * The term SPLASH_ONLY_USER displayed to people visiting the portal has been
838          replaced by the more meaningful term "anonymous user" (fixes #106)
839        * When creating a new node and choosing an existing node_id there will be
840          shown an error message (fixes #223)
841        * If one or more nodes aren't monitored they now will be announced on the
842          front page (instead of just showing the number of monitored online nodes)
843          (fixes #100)
844        * Display more meaningful error messages if required user permissions are
845          missing (fixes #242)
846        * Refactored Network->getAdminUI() to match look and feel of
847          Node->getAdminUI (fixes #140)
848        * Show descriptive status of node (fixes #241)
849
8502006-09-02 Max Horváth <max.horvath@freenet.de>
851        * Installation script checks for PHP session extension (fixes #139)
852        * Removed "Call-time pass-by-reference has been deprecated" warnings
853          (fixes #239)
854        * Revert changes of FCKeditor implementation (fixes #240)
855        * Fix of FCKeditor implementation, now also supports FCKeditor 2.3+
856          (fixes #145)
857        * Hotspots/Nodes are sorted case-insensitive now (fixes #109)
858        * Fix #141
859        * templates/sites/index.tpl: fix wrong user count (fixes #236)
860        * Added more trash mail services to the black list (fixes #149)
861
8622006-09-01 Benoit Grégoire  <benoitg@coeus.ca>
863        * Fix #189, #173
864
865
8662006-09-01 Benoit Grégoire  <benoitg@coeus.ca>
867        * Content.php:  Improve handling of simple but persistent content.
868
8692006-08-31 Benoit Grégoire  <benoitg@coeus.ca>
870        * Server.php:  Make sure getCurrentServer returns the default server if the
871          hostname isn't recognised.
872        * Content manager:
873                - Allow deleting simple (trivial) but persistent content
874                - Remove the sponsor info field from Content Metadata.  Best practices
875                  is now to use the project info field to show this information.
876        * Add the necessary schema constraints to allow manually deleting networks,
877          nodes and users.  Be carefull, removing any of theses will remove all
878          traces of connection statistics as well.  You've been warned.
879        * Do not display the network in the login interface if there is only one.
880        * Add a pseudo-random content ordering mode.  Pick content elements
881          randomly, but do not display the same content twice untill all content
882          has been seen.
883        * Allow setting a title but not displaying it (very usefull for reusable
884          content)
885
8862006-08-29 Max Horváth <max.horvath@freenet.de>
887        * Cleaned up PHPdoc tags
888        * Updated german translation
889        * Updated portuguese translation, thanks to Gabriel Hahmann
890        * Added spanish translation, thanks to Ricardo Jose Guevara Ochoa
891
8922006-08-28 Benoit Grégoire  <benoitg@coeus.ca>
893        * Add SimplePicture content type
894        * Fix #225 (For both nodes and networks)
895
8962006-08-28 Max Horváth <max.horvath@freenet.de>
897        * Integrated KML node list export
898        * Integrated PDF node list export
899        * Updated Sprintf formatted strings in some Smarty templates
900
9012006-08-27 Benoit Grégoire  <benoitg@coeus.ca>
902        * clickthrough.php, HyperLink.php:  Implement working hyperlink
903          clickthrough tracking (no reporting yet).
904          Works for Langstring, FlickrPhotoStream, Picture, RssAggregator and their
905          subclasses.
906        * Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
907          line count and will stop the codebases from needlessly drifting apart.
908        * Do not log content displayed as metadata, and log their clickthrough as
909          the parent's.
910
9112006-08-27 François Proulx <francois.proulx@gmail.com>
912        * Updated French translations
913        * Now using Sprintf formatted strings in some Smarty templates (see
914          example in templates/sites/index.tpl).
915        * Integrated back the SQL profiling functions
916
9172006-07-20 Benoit Grégoire  <benoitg@coeus.ca>
918        * Fix a bug where having an empty username would break statistics.
919
9202006-07-07 Benoit Grégoire  <benoitg@coeus.ca>
921        * Fix a bug in some reports when selecting a single user.
922
9232006-07-05 Benoit Grégoire  <benoitg@coeus.ca>
924        * Fix #175.
925        * Fix the "Registration Log" and "User registration report" reports giving
926          incorrect statistics
927        * Allow disabling EventLogging class in config.php, to make SQL debuging
928          possible (The class was traping errors before AbstractDb could
929          output them)
930        * Make EVENT_LOGGING default to false for now, as it turns out EventLogging
931          was the cause of the Spurious PEAR output ("Runtime Notice: ") we've
932          been seeing.  That is probably only because we don't understand how to
933          properly control it's logging level.
934
9352006-06-18 François Proulx <francois.proulx@gmail.com>
936        * Added creation_date , last_update_date support to File content (with
937          proper HTTP caching handling)
938        * Added hyperlinks URL support in Picture content
939        * Fixed constants in Flickr Content
940        * Fixed #171 (Can't add existing content to Node)
941
9422006-06-17 François Proulx <francois.proulx@gmail.com>
943        * First iteration of JiWire CSV export
944                * Use : hotspot_status.php?format=JiWireCSV
945        * Fully working, but Excel doesn't seem to handle well UTF-8
946          investigation in progress.
947
9482006-06-08 Benoit Grégoire  <benoitg@coeus.ca>
949        * Fix #151.  It was still around after all.
950
9512006-06-08 Benoit Grégoire  <benoitg@coeus.ca>
952        * Completely refactor the look and html of the content manager, statistics
953          and most object's administrative interfaces.
954          Should be much simpler and clearer now.
955          No refactoring of the editing flow has been done yet.
956        * Spell check the french translation, and add a few of the missing strings.
957
9582006-05-26 François Proulx <francois.proulx@gmail.com>
959        * Added 'ja' to database locales table
960
9612006-05-26 François Proulx <francois.proulx@gmail.com>
962        * Added Japanese translation .po file
963          (Thanks to taedu AT ninjin-net DOT net)
964
9652006-05-24 François Proulx <francois.proulx@gmail.com>
966        * Stylesheet changes for left_area_bottom content block.
967
9682006-05-24 François Proulx <francois.proulx@gmail.com>
969        * Simplified Google Maps JS code to use more of the v2 abstraction
970        * Improved admin panels CSS classes
971
9722006-05-23 Benoit Grégoire  <benoitg@coeus.ca>
973        * config.php:  Disable USE_CACHE_LITE, it's definitely not stable, and
974          causes very hard to track down problems with Internet Explorer.
975
9762006-05-22 François Proulx <francois.proulx@gmail.com>
977        * Fixed isValidUsername() Js function to allow caret and dot characters
978
9792006-05-22 François Proulx <francois.proulx@gmail.com>
980        * Use Pgsql persistent connections
981
9822006-05-22 François Proulx <francois.proulx@gmail.com>
983        * Removed unnecessary debug message
984        * Fixed getNumOnlineUsers to count users by MAC on splash only nodes
985
9862006-05-22 François Proulx <francois.proulx@gmail.com>
987        * Added generateFromArray parameter (max_length)
988        * Restricts select content ui combo box to 40 chars
989        * Added Smarty plugin modifier.fsize_format.php
990
9912006-05-21 François Proulx <francois.proulx@gmail.com>
992        * Stupid IE CSS bug fixed
993
9942006-05-21 François Proulx <francois.proulx@gmail.com>
995        * Fixed various bugs in content system
996        * stylesheet work
997
9982006-05-21 François Proulx <francois.proulx@gmail.com>
999        * Think I've fixed Google Maps on IE.
1000                * need to test on another system..
1001
10022006-05-20 François Proulx <francois.proulx@gmail.com>
1003        * Completed french translations
1004        * Fixed Flickr javascript
1005        * Various stylesheet improvements to tighten up the portal and admin
1006
10072006-05-20 François Proulx <francois.proulx@gmail.com>
1008        * Various stylesheet improvements, started working on Île Sans Fil network
1009          specific theme pack
1010        * Fixed a few layout bugs
1011
10122006-05-20 Benoit Grégoire  <benoitg@coeus.ca>
1013        * USE_BASE_NON_SSL_PATH for hotspot map, else internet explorer whines
1014          endlessly
1015
10162006-05-20 Benoit Grégoire  <benoitg@coeus.ca>
1017        * index.tpl:  Fix link to the map not being displayed at a hotspot, even
1018          when you are logged in.  There needs to be much better logick before we
1019          export such things to smarty templates.
1020
10212006-05-20 François Proulx <francois.proulx@gmail.com>
1022        * Added /wifidog/contrib and /wifidog/contrib/xslt directories
1023        * Posted Île Sans Fil XSLT example stylesheet for converting the
1024          hotspot_status page
1025                * Browser view
1026                * PDA view (by Jean-Pierre Lessard <jplprog@videotron.ca>)
1027                * Simply use in this manner :
1028                  http://wifidog-server.org/hotspot_status.php?format=XML&xslt=http://wifidog-server.org/contrib/xslt/hotspot_status_browser.xsl
1029
10302006-05-20 Benoit Grégoire  <benoitg@coeus.ca>
1031        * page.php:  Fix bugs in various files preventing the system from working
1032          from the command line.
1033
10342006-05-20 Benoit Grégoire  <benoitg@coeus.ca>
1035        * More install script fixes:  Phlickr wouldn't install, and the permissions
1036          of wifidog/tmp/smarty/cache weren't checked.
1037
10382006-05-20 Benoit Grégoire  <benoitg@coeus.ca>
1039        * More stylesheet and HTML work
1040
10412006-05-18 Benoit Grégoire  <benoitg@coeus.ca>
1042        * Fix loging form incorrectly attempting to validate the password,
1043          preventing many existing accounts from logging-in.
1044        * Interim commit, begin simplifying the html ans stylesheets, and re-doing
1045          the general look.
1046          This is incomplete, this commit was done to fix the problem above.
1047        * install.php:  Fix path problems, make shel command errors visible.  Update
1048          magpie and smarty url to latest versions (note that this won't
1049          automatically update an existing install).  Didn't touch phlickr as I
1050          didn't know the implications
1051        * Add interactive scripts in sql/ to easily backup and restore a wifidog
1052          auth server database.
1053
10542006-05-10 François Proulx <francois.proulx@gmail.com>
1055        * Fixed Google Maps script path to images.
1056
10572006-05-10 François Proulx <francois.proulx@gmail.com>
1058        * Added sweetTitles tooltips script, now if you need to add tooltips simply
1059          add the 'title' attribute to you html <a>, <attr>, <accroym> tags
1060        * Fixed usort bug in MainUI
1061        * Fixed download (wget) in install.php
1062
10632006-05-09 Benoit Grégoire  <benoitg@coeus.ca>
1064        * Working (if slightly basic) theme manager.  You can pick the theme in the
1065          network configuration.
1066          To add your own theme, read wifidog/media/network_theme_packs/README.txt
1067        * Cleanup and document the wifidog directory structure
1068        * Minor HTML corrections for content types
1069        * Completely rip out the old local_content system, and a bunch of obsolete
1070          defines and config variables.
1071        * Get rid of PHP generated stylesheets
1072
10732006-05-09 Benoit Grégoire  <benoitg@coeus.ca>
1074        * Finish content assignation system
1075        * Content ordering is now global (network, nodes and everywhere content cand
1076          now be in mixed order).
1077        * Implement 'everywhere' content
1078        * Change MainUI::apendContent to MainUI::addContent
1079
10802006-04-28 François Proulx <francois.proulx@gmail.com>
1081        * Fixed error in initial data script
1082
10832006-04-28 Benoit Grégoire  <benoitg@coeus.ca>
1084        * wifidog/login/index.php: Correctly use DEFAULT_NODE_ID from config.php
1085          instead of hardcoded 'default'
1086
10872006-04-28 François Proulx <francois.proulx@gmail.com>
1088        * Fixed initial_data schema script so that it adds a dummy server.
1089
10902006-04-25 François Proulx <francois.proulx@gmail.com>
1091        * Updated JavaScript code to work with Google Maps v2 API
1092        * v2 will now provide full maps of European countries and is a bit faster
1093        * Updated the schema accordingly with new GMaps values
1094
10952006-04-24 Benoit Grégoire  <benoitg@coeus.ca>
1096        * Dependencies.php:  Small fix in case gettext isn't installed
1097
10982006-04-24 Benoit Grégoire  <benoitg@coeus.ca>
1099        * AuthenticatorLDAP.php:  Merge patch from jguevara@unitec.edu.  Fixes #125
1100
11012006-04-24 Benoit Grégoire  <benoitg@coeus.ca>
1102        * Major system locale handling overhaull.  Hopefully abstract out the UTF8
1103          problems once and for all, allowing everyone to define them the same way.
1104          Fix a few bugs along the way. Should also be a little faster.
1105
11062006-04-24 Benoit Grégoire  <benoitg@coeus.ca>
1107        * Revert Rob's SYSTEM_PATH change.  Sorry about that.  The devs spent hours
1108          to finally get the PATH stuff consistent and fixing the countless bugs
1109          that this process introduced.
1110          Maybe some links still need to use BASE_URL_PATH instead of BASE_SSL_PATH,
1111          (or vice-versa) but it was on purpose that SYSTEM_PATH was not made
1112          available to Smarty.
1113          We already have 3 defines to be used for links and html refs, that's
1114          enough BASE_SSL_PATH should be used to enter SSL mode (if available)
1115          BASE_NON_SSL_PATH should be used to break out of SSL mode of when we
1116          explicitely do not want someting to be referenced over http
1117          BASE_URL_PATH should be used in all other cases to avoid needless
1118          SSL warning
1119
11202006-04-17 Rob Janes <janes.rob@gmail.com>
1121        * javascript for validating and navigating forms.
1122        * help text (untranslated).
1123        * EVENT_LOGGING enabling/disabling flag.
1124        * use SYSTEM_PATH instead of BASE_URL_PATH and BASE_SSL_PATH where ever
1125          appropriate.
1126        * standardize Smarty variables for Network and User info by adding
1127          assignSmartyValues($smarty, $self) to Network and User.
1128        * change_password only allowed if logged in.
1129        * non-superadmin can only use change_password to change their own password.
1130        * superadmin can use change_password to change any user password by
1131          entering in their password for the old password.
1132        * page_header div defined and positioned in MainUI
1133
11342006-04-04 Benoit Grégoire  <benoitg@coeus.ca>
1135        * /classes/Content/IFrame/IFrame.php: Change a few methods from private
1136          to protected as the private methods broke IFrameRest
1137
11382006-04-01 François Proulx <francois.proulx@gmail.com>
1139        * Dumped initial schema from working install
1140
11412006-03-31 Benoit Grégoire  <benoitg@coeus.ca>
1142        * dump_initial_data_postgres.sh:  Add the content_available_display_pages
1143          table to the dump, can someone re-generate the initial data from a
1144          working install
1145        * Remove the ?> tags from all the classes.
1146
11472006-03-27 Benoit Grégoire  <benoitg@coeus.ca>
1148        * Fix bug where right_area_bottom content wouldn't be displayed.
1149        * Minor CSS cleanup
1150
11512006-03-28 François Proulx <francois.proulx@gmail.com>
1152        * Fixed error in initial schema (bad client encoding)
1153
11542006-03-28 François Proulx <francois.proulx@gmail.com>
1155        * Fixed schema 37 : left_area_top
1156        * Updated initial schema
1157
11582006-03-27 Benoit Grégoire  <benoitg@coeus.ca>
1159        * First step in massive simplification of CSS and templates
1160        * Implement the new main CSS structure
1161        * Implement working content assignation interface and content ordering for
1162          both network and nodes.
1163        * Display of content according to assignation work on 'portal' and 'login'.
1164          'everywhere' not yet implemented
1165        * Get rid of some ISF specific interface elements
1166        * Finally replace the overly complicated start button by a
1167          "Use the Internet" link that will not get you out of your working tab
1168        * Fix #118
1169
11702006-03-26 Benoit Grégoire  <benoitg@coeus.ca>
1171        * init_php.php: Fix stripslashes_cb() so it actually works, this means the
1172          auth server should work properly with auth servers with magic quotes
1173          turned on.
1174          This is still not recommended however.
1175        * Remove some spurious error ouptut on logout.
1176        * Remove potential error in network id parsing
1177
11782006-03-22 François Proulx <francois.proulx@gmail.com>
1179        * Fixed Google Maps URLs bug
1180        * Since Google Maps does not provide Javascript over SSL (it does but the
1181          certificate does not match) the code path to the map does not use SSL, but
1182          the outgoing URLs do.
1183        * Removed lost echo in Locale.php
1184
11852006-03-21 Benoit Grégoire  <benoitg@coeus.ca>
1186        * login/index.php: Remove huge security hole introduced by stylistic
1187          changes in the file. A user could login to any hotspot by simply filling
1188          a blank form because of a gratuitous change from empty to is_null
1189          everywhere.  Remove escaping or REQUEST parameters in non SQL
1190          related code, as this would lead to double unescaping down the line.
1191          Remove logic dependent on encapsulated side effects of object method call.
1192
11932006-03-19 François Proulx <francois.proulx@gmail.com>
1194        * Updated French translations
1195
11962006-03-18 Rob Janes <janes.rob@gmail.com>
1197        * path_defines_base working for combinations of DocumentRoot, Alias,
1198          and installed wifidog-auth directory, correctly setting SYSTEM_PATH
1199          and WIFIDOG_ABS_FILE_PATH dynamically.
1200        * classes/Locale.php::getBestLanguage changed to correctly parse
1201          HTTP_ACCEPT_LANGUAGE, comma is the correct delimiter not semi-colon.
1202          Ignores SESS_LANGUAGE_VAR if invalid.
1203
12042006-03-18 Rob Janes <janes.rob@gmail.com>
1205        * Fixed bug #77 classes/EventLogging.php non-variable pass by reference
1206
12072006-03-16 François Proulx <francois.proulx@gmail.com>
1208        * Removed stale owner_sendfiles.php (now integrated in the Content Manager)
1209        * Cleaned up a bunch of stale TODOs
1210
12112006-03-16 Max Horváth <max.horvath@freenet.de>
1212        * updated language files (new german strings have already been translated)
1213        * added LDAP authentication
1214        * Dependencies class can check for an PHP extension now
1215        * Dependencies class can check for multiple files on a single dependency now
1216        * Authentication classes moved to it's own directory
1217        * The getAuthenticator method now uses the much safer and faster
1218          call_user_func_array function to return an authenticator object
1219        * the available authenticator classes are now being displayed in a select
1220          box on the network administration page
1221        * the link to and the Google hotspots map as is won't be shown to an
1222          unauthenticated user at a real hotspot
1223
12242006-03-16 Benoit Grégoire  <benoitg@coeus.ca>
1225        * hotspots_map.tpl:  Use base_url_path instead of base_ssl_path
1226
12272006-03-09 Benoit Grégoire  <benoitg@coeus.ca>
1228        * init_php.php: Try to fix #102 by inspection
1229        * Delete AbstractDbMySql.php, and collapse AbstractDbPostgres.php
1230          into AbstractDb.php to prepare for eventual switch to PDO file.
1231        * incoming_outgoing_swap.php:  Delete file, closes #85
1232
12332006-03-09 Max Horváth <max.horvath@freenet.de>
1234        * fixed small bug in the InterfaceElements class
1235        * fixed PHP notices in portal/index.php and Locale class
1236        * fixed small bug in Authenticator class which in resulted in a fatal PHP
1237          error if a user logged out when his session was already gone
1238    * using the {$isUserAtHotspot} smarty variable you can check now in every
1239      template if a user calls the portal from a hotspot or not
1240
12412006-03-08 Max Horváth <max.horvath@freenet.de>
1242        * fixed small bug where clicking on the start button at the portal page
1243          didn't open the wifidog portal, but the requested page
1244        * updated source to generate a clean PHPdoc output
1245        * updated PHPdoc generating script
1246
12472006-03-07 Max Horváth <max.horvath@freenet.de>
1248        * init_php.php now does a 100% strict check for variable types of
1249          elements to be processed when magic_quotes are turned on
1250        * fixed duplicate use of SSL_AVIABLE define in common.php
1251          This fixes ticket #95.
1252        * fixed problens with slashes in htospots_map.php
1253          This fixes ticket #97.
1254        * fixed variable typo in NodeListXML.php
1255        * introduced new InterfaceElements class which is being used to create
1256          HTML code - this reduces HTML markup in PHP code and reduces HTML errors
1257          we had i.e. on the node administration page (unclosed div).
1258          It is being used on the node administration page now and will be updated
1259          for the other admin pages ...
1260        * when adding an owner or tech officer on the node admin page and pressing
1261          enter in the input field the statistics where called (no owner or tech
1262          officer was added) - this has been fixed
1263        * database schema update 35 wasn't compatible with PostgreSQL version 7,
1264          the update script has been changed to be compatible with it ...
1265          This fixes ticket #94.
1266        * Gabriel Hahmann did a translation of WiFiDog-Auth in portuguese ... it has
1267          been included
1268          This fixes ticket #98.
1269        * on node administration page owners have less rights than admins
1270
12712006-03-02 Max Horváth <max.horvath@freenet.de>
1272        * converted PNGs to GIFs because Internet Explorer cannot handle alpha
1273          transparency of PNGs
1274
12752006-02-28 Max Horváth <max.horvath@freenet.de>
1276        * the content selector for an owner could produce notices
1277        * the button add existing content in the content manager will only be shown
1278          if content is actually available
1279        * the start button on the portal page won't be shown anymore if a user
1280          didn't access it from a WiFiDog hotspot
1281        * deleted wifidog/templates/message_unknown_hotspot.html as this error
1282          message will be displayed using the genecir error message template
1283        * display of generic error messages will be handled by the MainUI class
1284        * deleted wifidog/portal/missing_original_url.php as its functions is being
1285          handled by wifidog/portal/index.php now
1286        * deleted wifidog/templates/message_default.html as its functions is being
1287          handled by wifidog/gw_message.php now
1288        * deleted wifidog/templates/message_activate.html as its functions is being
1289          handled by wifidog/gw_message.php now
1290        * account validation hints finally show the real validation grace time
1291          (used to display 15 minutes)
1292        * deleted wifidog/templates/message_denied.html as its functions is being
1293          handled by wifidog/gw_message.php now
1294        * deleted wifidog/templates/message_failed_validation.html as its functions
1295          is being handled by wifidog/gw_message.php now
1296        * deleted wifidog/templates/user_management_menu.html as its not being
1297          used anymore
1298        * deleted wifidog/local_content/default/footer.html as its not being
1299          used anymore
1300        * deleted wifidog/local_content/default/header.html as its not being
1301          used anymore
1302        * deleted wifidog/local_content/default/portal.html as its not being
1303          used anymore
1304        * deleted wifidog/local_content/default/new.css as its wasn't ever used
1305        * deleted wifidog/local_content/README as its content isn't valid anymore
1306          used anymore
1307        * Login site now uses a Smarty template to render HTML page
1308        * class MainUI now also delivers $isOwner variable for Smarty
1309
13102006-02-26 Max Horváth <max.horvath@freenet.de>
1311        * Hotspots map page now uses a direct Javascript call for the link
1312          "Show me on the map" (resulting in the browser not jumping to the top of
1313          the page if a user clicks on such a link)
1314        * refactored hotspot status page, it now uses node list classes to generate
1315          output
1316        * WIFI411_CSV has been removed from hotspot status page - it didn't work
1317          properly - a working version can be added to /wifidog/classes/NodeLists
1318        * RSS feed of hotspot status now delivers language of user
1319        * RSS and XML feed of hotspot status now actually do deliver data from
1320          the requested network (before the code accepted network selection but
1321          actually switched back to the current network)
1322        * RSS feed of hotspot status page now gets announced in browser
1323
13242006-02-25 Max Horváth <max.horvath@freenet.de>
1325        * fixed undefined variable bugs in statistic classes (use of date_from and
1326          date_to), variables were processed directly from request, without any
1327          check
1328          This fixes ticket #71.
1329        * clicking on a username in user logs now generates a individual user
1330          report as it does when clicking on a username on the online users page
1331        * Changing the value of the "Is persistent" checkbox doesn't have to
1332          saved when JavaScript is enabled in the browser. Before this change
1333          you had to save a content. So if you wanted to delete a persistant content
1334          you first had to uncheck this checkbox, save the content and delete the
1335          content after saving it. If JavaScript is enabled in your browser you
1336          can go straight ahead, uncheck the checkbox and delete the content.
1337          This fixes ticket #73.
1338        * when processing global arrays if magic quotes is enabled, WiFiDog will
1339          check for type variables
1340          This fixes ticket #84.
1341        * the RSS feed of nodes now delivers the correct link to the nodes homepage
1342          This fixes ticket #80.
1343        * small fix in schema_validate.php which should affect nobody (in schema
1344          version 9)
1345          This fixes ticket #79.
1346        * fixed "Show all available contents for this hotspot" link which didn't
1347          work if WiFiDog wasn't located in the root folder of the webserver
1348        * the "Show all available contents for this hotspot" link won't be shown
1349          anymore unless all requirements are meet that all content of a hotspot
1350          would be shown. The requirements are: you need to have at least one
1351          Content Group tagged artistic and locative content, with at least one
1352          content group element available for display.
1353          This fixes ticket #35.
1354        * adjusting the location of a node via the Google maps geocoding service)
1355          and clicking the button "Use these coordinates" didn't work
1356          This fixes ticket #81 and #82.
1357        * the content select box now only shows the content to a user of which is
1358          is the owner from (same mechanism has already been used on the content
1359          manager page) or all content if the user is a superadmin
1360        * wifidog/admin/content_admin.php removed, because the content manager now
1361          uses the generic object administration interface
1362        * the creation date of a network can be changed now (this value wasn't
1363          displayed in the admin interface, even though it was present in the
1364          database)
1365        * revamped administration sidebar, cleaner interface for the superadmin,
1366          for the owner of a node nothing changes
1367        * added "server administration" section to the administration interface
1368        * Added administration of webservers. For one webserver not much changes.
1369          The SSL available setting has been moved to this section (and removed
1370          from config.php). Running WiFiDog on two or more webserver (with one
1371          database) you now can define the different hostnames of the webserver.
1372          Of course you can also define, which of those webserver serves SSL. This
1373          is for example essential for the Google maps feature (different API keys
1374          for different hostnames)
1375        * for every network you now can define it's own Google Map initial values
1376          and map types
1377        * Hotspots map page now supports different maps for different networks
1378        * Hotspots map page now supports different map types for different networks
1379          This fixes ticket #69
1380        * Hotspots map page now offers full multilingual support (text in the
1381          JavaScript file was english only)
1382        * Hotspots map page now uses a Smarty template to render HTML page
1383
13842006-02-21 Max Horváth <max.horvath@freenet.de>
1385        * fixed access restriction for HTMLeditor in templates folder
1386        * fixed XML error in HTMLeditors CSS and HTML templates
1387        * fixed undefined variable bug in content class ContenGroup
1388        * start page now uses a Smarty template to render HTML page
1389        * start page now also displays information about deployed/operational nodes
1390        * information about valid/online users and deployed/operational nodes gets
1391          cached if caching has been enabled (valid/online users for 1 minute,
1392          deployed/operational nodes for 5 minutes)
1393
13942006-02-17 Max Horváth <max.horvath@freenet.de>
1395        * refactored lost username site - now it also includes the help toolbox
1396        * lost username page now focuses input field automaticly (like on login or
1397          signup page)
1398        * refactored lost password site - now it also includes the help toolbox
1399        * lost password page now focuses input field automaticly (like on login or
1400          signup page)
1401        * refactored sesend validation email site - now it also includes the help
1402          toolbox
1403        * refactored resend validation email page now focuses input field
1404          automaticly (like on login or signup page)
1405
14062006-02-16 Max Horváth <max.horvath@freenet.de>
1407    * added full PHPdoc documentation to Mail class
1408    * added more temporary-email-address-providers to the black-list
1409        * Login site now uses a Smarty template to render HTML page
1410        * refactored signup site - now it also includes the help toolbox
1411        * removed Phlickr directory in /lib dir as Phlickr must be installed via
1412          PEAR
1413        * modified gen.sh to include new template folders for the
1414          translation file generation
1415
14162006-02-15 Max Horváth <max.horvath@freenet.de>
1417        * Login site now uses a Smarty template to render HTML page
1418
14192006-02-14 Max Horváth <max.horvath@freenet.de>
1420        * converted Session class to PHP5 style
1421        * moved code used used to init PHP into wifidog/include/init_php.php
1422        * fixed bug regarding APC (super globals weren't initialized before their
1423          first use
1424        * in an attemp to enter the administration interface of WiFiDog and not
1425          being logged in you'll be redirected to the administration interface after
1426          a successful login, if you are an admin or owner of a node. This only
1427          works for a virtual login, as it isn't needed to be done when logging in
1428          via a WiFiDog node (then you have to login anyway on the splash page
1429          first)
1430        * fixed preview of network in administration interface as content for a
1431          network as is isn't available in the code, yet
1432
14332006-02-13 Rob Janes <janes.rob@gmail.com>
1434    * cron/cleanup.php needed new way to call common.php
1435        * added cron/vacuum.php to round things out
1436
14372006-02-07 Benoit Grégoire  <benoitg@coeus.ca>
1438        * Fix a bunch of file inclusion bugs in the statistics subsystem.
1439          This is only a ad-hac fix. It seems the requires for just about every
1440          class have been stripped off. This must be fixed, all classes should
1441          require_once all classes or include that they need that isn't included by
1442          a parent class.
1443
14442006-02-06 Benoit Grégoire  <benoitg@coeus.ca>
1445        * wifidog/local_content/default/hotspot_logo.jpg: Delete deprecated file
1446        * wifidog/local_content/default/hotspot_logo_banner.jpg: Delete deprecated
1447          file
1448
14492006-02-04 Max Horváth <max.horvath@freenet.de>
1450        * MainUI class now uses Smarty templates to render HTML pages
1451        * display of debug messages by using $_REQUEST['debug_request'] on any
1452          page is now only possible for a super admin
1453        * caching class now supports lifetime of a cache and every data type
1454          supported by PHP (except the resource-type)
1455        * Content class caches available content plugins for 7 days if caching has
1456          been enabled -> results in a nice speed-up on every page call because
1457          of 17 saved filesystem queries
1458        * converted Security class to PHP5 style and it's functions to static
1459          functions
1460        * fixed broken HTMLeditor support
1461        * implemented PEAR::HTML_Safe cache support - if PEAR::HTML_Safe has been
1462          installed it strips down all potentially dangerous content within HTML
1463          that has been entered using the content plugins Langstring,
1464          TrivialLangstring and HTMLeditor
1465        * moved /wifidog/include/HTMLeditor to /wifidog/content/HTMLeditor
1466        * fixed thrown exception in path_defines_base.php (sprintf() was used
1467          uncorrectly)
1468        * template for definition of SYSTEM_PATH has been added to config.php
1469          for easier definiton when path detection failes
1470        * from now on caching is enabled by default in config.php - it means that
1471          WiFiDog caching features will automaticly be used if PEAR::Cache_Lite
1472          has been installed
1473        * updated installation file to represent all the new modules that can be
1474          installed to use all WiFiDog features
1475
14762006-01-31 Benoit Grégoire  <benoitg@coeus.ca>
1477        * path_defines_base.php:  Fix syntax errors in the exception thrown. Add
1478          more meaningfull output
1479
14802006-01-29 Max Horváth <max.horvath@freenet.de>
1481        * WiFiDog now detects APC PHP cache and eAccelerator PHP cache and disables
1482          both PHP caches, because WiFiDog currently doesn't run with either of
1483          those PHP caches (I'm still investigating why)
1484        * added a missing <ul> HTML tag on the administration page
1485        * the validation mail sent to new users now includes the full path to the
1486          WiFiDog installation (before it assumed WiFiDog to be installed in
1487          the document root of the webserver)
1488        * fixed display of start button of portal when WiFiDog is not installed
1489          in the document root of the webserver
1490        * replaced $_SERVER["DOCUMENT_ROOT"]-stuff with our defines made in
1491          path_defines_base.php
1492        * updated HTMLeditor content class to use the new, moved stylesheet.css
1493        * fixed error messages not displaying technical support e-mail address
1494
14952006-01-25 Max Horváth <max.horvath@freenet.de>
1496        * a notice message regarding timezones was being displayed when running PHP
1497          5.1.0+ due to rewritten date functions of PHP. There is a new config flag
1498          in config.php named DATE_TIMEZONE. Set it to your local timezone.
1499          Don't forget to update your local.config.php in case you're using it.
1500
15012006-01-24 Benoit Grégoire  <benoitg@coeus.ca>
1502        * Dependencies.php:  We missed one more instance of non-unifrom code for
1503          path detection. The Dependencies class now uses the code in
1504          include/path_defines_base.php like the rest of the system. Also make it
1505          returns more usefull error messages.
1506        * SmartyWifidog.php: Output the error returned by Dependencies if Smarty
1507      cannot be found for some reason.
1508
15092006-01-23 Max Horváth <max.horvath@freenet.de>
1510        * Removed compiled PHPdoc documentation
1511        * moved createDoc.sh to "doc" directory, documentation can be generated on
1512          the fly now, in the future we'll be generating a nightly PHPdoc on
1513          wifidog.org
1514        * renamed "ChangeLog" to CHANGELOG, resulting this file being parsed by
1515          PHPdoc
1516        * moved "header.gif" image to its own folder in the images directory
1517        * touched almost every PHP file in WiFiDog auth server for PHPdoc generating
1518          compiling without any warnings
1519        * Initialized uninitialized variables in Node class
1520        * Fixed initialization error of one variable
1521        * Configuration file (config.php) will be read before path detection is
1522          being started (otherwise there was no chance to set a manual SYSTEM_PATH)
1523
15242006-01-22 Benoit Grégoire  <benoitg@coeus.ca>
1525        * common.php: Real fix for Ticket #59 ;)
1526        * common.php: Untested fix for Ticket #59
1527
15282006-01-18 François Proulx <francois.proulx@gmail.com>
1529        * Remove unneeded .cvsignore files since the svn:ignore property is set to
1530          the same list
1531
15322006-01-11 Rob Janes <janes.rob@gmail.com>
1533    * classes/User.php: added setters, getters, throw exceptions, added
1534      refresh() subr, tweaked language
1535
15362006-01-09 Max Horváth <max.horvath@freenet.de>
1537        * createDoc.sh: added description of how to install requirements
1538
15392006-01-08 Benoit Grégoire  <benoitg@coeus.ca>
1540        * common.php: Improve path detection code, and start moving PATH detection
1541          back to a central location. You should NEVER go to any $_SERVER[]
1542          variables for path related stuff, all you need is already available
1543          in defines.
1544        * UserReport.php: Remove dangling reference to BASEPATH.
1545        * install.php: Use centralised path detection.
1546
15472006-01-04 Benoit Grégoire  <benoitg@coeus.ca>
1548        * config.php, common.php: Completely remove SYSTEM_PATH from config.php,
1549          making one less config option to manage.  It is now autodetected.
1550
15512006-01-03 Rob Janes <janes.rob@gmail.com>
1552        * added support for classes/EventLogging.php.
1553        * modified include/common.php to pull in the EventLogging class
1554        * modified index.php to kick start error logging with minimal setup.
1555          I didn't setup a css for this, so any errors are simply pushed out
1556          when the logging channel is destructed.
1557        * other changes to include/common.php - a host of utility functions,
1558          prefixed with "cmn" to avoid namespace collision.
1559        * stock config.php, added global $AVAIL_LOCALE_ARRAY, cause of my change
1560          to include/common.php, wrapping the require_once in a function.
1561
15622006-01-04 Pascal Leclerc <isf@plec.ca>
1563    * install.php: New security validation and small bugs fix in admin account
1564      creation
1565
15662006-01-02 Rob Janes <janes.rob@gmail.com>
1567        * split static stylesheet.css from smarty template stuff.
1568          local_content/default/stylesheet.css has only smarty template stuff.
1569          local_content/common/stylesheet.css has all the rest.
1570        * classes/MainUI.php changed to <link ...> the common stylesheet.css, while
1571          still smarty fetching the templated stylesheet.
1572        * classes/SmartyWifidog.php changed to set a smarty template variable so
1573          that the templating stylesheet could work.
1574
15752005-12-29 François Proulx <francois.proulx@gmail.com>
1576        * Integrating Philippe's code for User class
1577        * This build needs extensive testing please
1578        * E-mail blacklisting (Mail class)
1579
15802005-12-29 François Proulx <francois.proulx@gmail.com>
1581        * Added Aidan's file_exists_incpath function to Dependencies class
1582        * Translated and standardized most of PostgreSQL abstraction class.
1583        * Removed blank lines at end of many files
1584        * Tested the new Phlickr package, which fixes URL on Flickr
1585
15862005-12-28 Max Horváth <max.horvath@freenet.de>
1587        * Removed BASEPATH define from source - resulting in a better
1588          require-overview
1589        * speed improvement of 7% by optimizing Dependencies class
1590        * improved documentation of content classes
1591
15922005-12-26 François Proulx <francois.proulx@gmail.com>
1593        * Fixed bug when the same user was owner of many nodes
1594        * Added missing reference to content_display_location initial data in dump
1595          script
1596
15972005-12-26 François Proulx <francois.proulx@gmail.com>
1598        * Tiny modifications to config.php
1599        * Reinserted the deprecated defines, created errors on my system
1600        * Fully translated FormSelectGenerator class, Locale
1601        * Added comments to Utils, Locale etc..
1602        * Fully tested installation from scratch using blank database with
1603          installation script
1604        * Improved installation script a bit
1605        * Synched SQL for CVS schema 29 --> 33
1606
16072005-12-26 Max Horváth <max.horvath@freenet.de>
1608        * added new headers to every source file
1609        * converted file to represent a tab as four (4) spaces
1610        * added PhpDocumentor documentation
1611        * added WiFiDog skin to HTMLeditor
1612        * language selection in a content class now shows the language name instead
1613          of the language code
1614        * added caching support to content classes Langstring and TrivialLangstring
1615
16162005-12-15 Max Horváth <max.horvath@freenet.de>
1617        * fixed bug in dependencies class when gettext support for PHP is not
1618          available
1619
16202005-12-14 Max Horváth <max.horvath@freenet.de>
1621        * fixed bug in config.php:59 ... was unable to select DB server
1622
16232005-12-08 Max Horváth <max.horvath@freenet.de>
1624        * added FCKeditor to the supported libraries
1625        * added new content type: HTMLeditor
1626        * added new caching class which uses PEAR::Cache_Lite - must be enabled in
1627          config.php
1628        * HTMLeditor is the first class using the new caching class
1629        * removed unused function from content type Langstring
1630        * beautified and reorganized config.php and added a new switch for the
1631          caching class
1632
16332005-12-06 Max Horváth <max.horvath@freenet.de>
1634        * fixed SQL bug when calling the "report configuration" page as a node owner
1635
16362005-12-05 François Proulx <francois.proulx@gmail.com>
1637        * Crunched the Google Maps Div block for better display on small screens
1638
16392005-12-05 Max Horváth <max.horvath@freenet.de>
1640        * fixed bug when calling the preview version of a login page
1641
16422005-11-30 Benoit Grégoire  <benoitg@coeus.ca>
1643        * User.php: Fix a bug in the sql query in isUserValid(). Checked that the
1644          change works with postgresql 7.4 and 8. It is still not understood why
1645          ISF doesn't encounter this bug on it's production server.
1646
16472005-11-28 François Proulx <francois.proulx@gmail.com>
1648        * Improved Flickr user output
1649        * Mostly completed Flickr admin UI
1650        * Changed display algorithm to display sequentially
1651
16522005-11-25 Rob Janes <janes.rob@gmail.com>
1653        * EventLogging class initial checkin
1654
16552005-11-14 Max Horváth <max.horvath@freenet.de>
1656        * fixed path to included classes
1657          Guys, please check the paths to included files twice next time you're
1658          moving files
1659
16602005-11-12 François Proulx <francois.proulx@gmail.com>
1661        * Fixed schema 33 update
1662        * fixed css
1663
16642005-11-11 François Proulx <francois.proulx@gmail.com>
1665        * Fixed Admin hotspot location map
1666        * Take note: Google Maps updated their API key system, so that you simply
1667          need to register a key for the whole domain.
1668          ie. one key for http://auth.abc.org will work even in sub-directories
1669        * Changed the Content classes structure to make them "pluggable" more easily
1670          as requested during last developpers meeting
1671        * node_list.php now support column sorting, node_id are naturally sorted
1672          (numerical order, alphabetic)
1673        * Added 2-dimensionnal natural sort algorithm to Utils class
1674        * fixed Node::getSelectNodeUI to naturally sort by node_id
1675        * Improved Flickr content class
1676        * Modified Flickr database schema
1677        * Modified CSS look and feel
1678
16792005-11-08 Philippe April  <philippe@ilesansfil.org>
1680        * Put a note to mention the roles of users in the logged in users list
1681        * Fixed online users link to statistics
1682
16832005-11-01 Max Horváth <max.horvath@freenet.de>
1684        * added german translation
1685        * modified gen.sh to include geocoder and statistics classes for the
1686          translation file generation
1687        * modified hotspot status page to allow translations of every string
1688        * modified node list page to allow translations of every string
1689        * modified FAQ page to allow translations of every string
1690        * fixed bug in FAQ page which caused the Safari browser to display very
1691          large text
1692        * modified online users page in administration to allow translations of
1693          every string
1694        * added Phlickr directory to /lib
1695
16962005-10-25 Francois Proulx <francois.proulx@gmail.com>
1697        * /classes/DateTime.php : First iteration of DateTime abstraction class
1698        * Basic support for datetime input field.
1699        * TODO : Overhaul with full-fledged datetime selector...
1700
17012005-10-25 Francois Proulx <francois.proulx@gmail.com>
1702        * AuthenticatorRadius : Fixed legacy variable misuse
1703
17042005-10-24 Benoit Grégoire  <benoitg@coeus.ca>
1705        * AuthenticatorRadius:  Fix bug reported by kouete, by inspection. Fix not
1706          actually tested. Guys, read the documentation of the function parameters
1707          when you code, it's there to help you ;)
1708
17092005-10-21 Francois Proulx <francois.proulx@gmail.com>
1710        * Integration testing for Radius debugging
1711        * Added network_id parameter to hotspot_status.php for selecting network
1712        * Default network will be automatically selected...
1713
17142005-10-04 Francois Proulx <francois.proulx@gmail.com>
1715        * Scaled down network logo
1716        * Changed CSS accordingly
1717        * Modified online users SQL query to sort better
1718
17192005-10-04 Francois Proulx <francois.proulx@gmail.com>
1720        * Removed unwanted file from checkout
1721
17222005-10-07 Philippe April  <philippe@ilesansfil.org>
1723        * Released wifidog-auth-1.0.0_m2
1724
17252005-10-06 Benoit Grégoire  <benoitg@coeus.ca>
1726        * AuthenticatorLocalUserNoSignup:  Make a new authenticator, identical to
1727          AuthenticatorLocalUser but disalowing new user signup.  When setting up
1728          a server, you can add your users, and then change the authenticator class
1729          from AuthenticatorLocalUser to AuthenticatorLocalUserNoSignup
1730        * signup.php: Actually enforce it. Still needs improvement, as the network
1731          is still shown for signing up.
1732
17332005-10-04 Francois Proulx <francois.proulx@gmail.com>
1734        * Translated some error message in SQL abstraction
1735        * Cleaned up error messages when starting from scratch
1736        * Added link to install script, when the database is empty.
1737        * Fixed initial data dump script
1738
17392005-10-04 Benoit Grégoire  <benoitg@coeus.ca>
1740        * Remove a bunch of deprecated methods from the Node object,
1741          document undocumented methods.
1742        * Make the node id editable.  This allows the gateway "MAC address as node
1743          ID" patch by London wireless to be usable with the standard auth server,
1744          and to transition to using MAC address as node ID.
1745        * Fix a saving problem with all the content types with some versions of PHP
1746        * Add a new Content type:  IFrameRest.  This allows the result of a REST
1747          style query returning HTML to be displayed in a HTML iframeset. Currently
1748          supported are substitution of the node_id, the user_id and the last
1749          display date in the get query.
1750        * CVS version of the auth server should now be "reasonnably" safe to use in
1751          production, so the 2005-09-01 notice is no longuer in effect.
1752
17532005-10-04 Francois Proulx <francois.proulx@gmail.com>
1754        * Translated signup page messages
1755
17562005-09-27 Benoit Grégoire  <benoitg@coeus.ca>
1757        * Partial login page content manager support (Node only for now)
1758
17592005-09-27 Philippe April  <philippe@ilesansfil.org>
1760        * Guess the best language from what the browser sends,
1761          otherwise use the default.
1762
17632005-09-26 Francois Proulx <francois.proulx@gmail.com>
1764        * Translated the few new sentences on the login page
1765
17662005-09-26 Benoit Grégoire  <benoitg@coeus.ca>
1767        * login/index.php, stylesheet.css:  Make the create new account bigger, and
1768          remove unnecessary words.
1769
17702005-09-26 Francois Proulx <francois.proulx@gmail.com>
1771        * Completed translations
1772
17732005-09-26 Francois Proulx <francois.proulx@gmail.com>
1774        * Fixed annoying bug in new google maps code
1775
17762005-09-25 Francois Proulx <francois.proulx@gmail.com>
1777        * Complete rewrite of Google maps code, now stands as a js class
1778        * relooking of mapping stuff
1779        * wrote basic "Find the closest hotspot" widget for canada geocoding only...
1780        * fixed broken xml, damn blank lines...
1781
17822005-09-25 Benoit Grégoire  <benoitg@coeus.ca>
1783        * Statistics:  At long last, the monster statistics commit.
1784          We finally have a stable, documented and uniform codebase for statistics.
1785          This resulted is removal of several functions in other classes too.
1786          There are a few new reports, but mostly, each report is a lot more
1787          flexible.
1788          Still TODO:
1789          - Security:  This is to be implemented directly in the Statistics class,
1790            by forcing restrictions to the selected nodes and network.
1791          - Support selecting multiple users for a report.
1792            The code and SQL queries support it, but the UI doesn't. An easy and
1793            quick way would be to simply parse a coma-separated list. Comment are
1794            off course welcome!
1795
17962005-09-25 Francois Proulx <francois.proulx@gmail.com>
1797        * Updated initial SQL script to schema 29
1798        * Remove useless includes in some files, preventing from using the "plugin"
1799          contents
1800
18012005-09-25 Philippe April  <philippe@ilesansfil.org>
1802        * Make method getCurrentRealNode ORDER BY DESC so it picks
1803          up the latest network name
1804
18052005-09-20 Francois Proulx <francois.proulx@gmail.com>
1806        * Changed the output layout of the Google Maps hotspots list
1807        * Added "Loading" message on Google Maps
1808
18092005-09-17 Francois Proulx <francois.proulx@gmail.com>
1810        * Fixed forgotten reference to getNetwork in AuthLocalUser
1811
18122005-09-17 Francois Proulx <francois.proulx@gmail.com>
1813        * Fixed a few bugs in Radius class
1814        * Improved syntax and completed 100% of French translations
1815
18162005-09-17 Francois Proulx <francois.proulx@gmail.com>
1817        * Fixed RADIUS bug #1287000
1818
18192005-09-16 Francois Proulx <francois.proulx@gmail.com>
1820        * Added Mail Classes to circumvent mb_send_mail UTF-8 problems
1821        * This class provides UTF-8 mailing for validation e-mail, lost password,
1822          lost username...
1823        * Fixes reported bug where users would not receive validation email on
1824          some servers
1825
18262005-09-13 Francois Proulx <francois.proulx@gmail.com>
1827        * Added bytes in words for online users
1828
18292005-09-13 Francois Proulx <francois.proulx@gmail.com>
1830        * Fixed bug in user stats
1831
18322005-09-13 Francois Proulx <francois.proulx@gmail.com>
1833        * Added access permissions for statistics.
1834
18352005-09-12 Benoit Grégoire  <benoitg@coeus.ca>
1836        * schema_validate.php:  Fix a bug version 26.  The conversion of the old
1837          account_origin as a parameter to the authenticator was wrong.  To fix it
1838          manually if you already ran the script, you must quote the parameter in
1839          column network_authenticator_params in the networks table.
1840        * Network.php:  Fix improper quoting of Authenticator arguments.
1841        * RssPressReview.php:  Make expansion of today's item optionnal.
1842
18432005-09-11 Francois Proulx <francois.proulx@gmail.com>
1844        * Fixed dependency check, found a workaround for the file_exists problem
1845
18462005-09-11 Francois Proulx <francois.proulx@gmail.com>
1847        * Added dependency check for Phlickr
1848
18492005-09-11 Francois Proulx <francois.proulx@gmail.com>
1850        * Fixed Flickr support
1851        * Now using PEAR version of Phlickr
1852        * Download the latest package and install like this: pear install
1853          PhlickrXYZ.tar.gz
1854
18552005-09-10 Francois Proulx <francois.proulx@gmail.com>
1856        * Fixed dependency check
1857
18582005-09-10 Francois Proulx <francois.proulx@gmail.com>
1859        * Removed many blank lines after php tags
1860        * added more checks, for dates etc...
1861        * changed sorting mode
1862
18632005-09-10 Benoit Grégoire  <benoitg@coeus.ca>
1864        * Add UI to add a new Network
1865        * Improve UI to add a new Node and new Content
1866
18672005-09-10 Philippe April  <philippe@ilesansfil.org>
1868        * signup.php: Fixed bug in detecting is the user is already part of the
1869          network.
1870        * classes/{Authenticator,Network,Node}.php: isset, and issues preventing
1871          users from logging out.
1872        * add BASEPATH to most files with require_once
1873        * Added dependency checking class
1874        * Don't show the admin menu if user does not have access
1875        * Got rid of user_log_detailed.html, using stats.php instead
1876
18772005-09-10 Francois Proulx <francois.proulx@gmail.com>
1878        * Automatically redirect user to login form when trying to access admin
1879        * Added various isset, empty tests, vars init in stats (to avoid PHP
1880          warning)
1881
18822005-09-08 Philippe April  <philippe@ilesansfil.org>
1883        * New stats system with graphs
1884        * Changed the UI a bit to reflect this change
1885        * Updated stylesheet
1886
18872005-09-08 Benoit Grégoire  <benoitg@coeus.ca>
1888        * portal/index.php:  Custom portal redirect now operational.
1889
18902005-09-08 Benoit Grégoire  <benoitg@coeus.ca>
1891        * MainUI:  Move call to garbage_collect() here.
1892        * portal/index.php:  New feature:  Custom portal redirect.
1893        * rework much of the logout code
1894
18952005-09-07 Benoit Grégoire  <benoitg@coeus.ca>
1896        * login/index.php:  Fix getSplashOnlyUser() method call.
1897
18982005-09-07 Benoit Grégoire  <benoitg@coeus.ca>
1899        * RssPressReview.php:  Fix z-index so the hovers will overlap the expanded
1900          news.
1901        * login/index.php:  Reorganise code to make it more legible and comment what
1902          it does. Emphasise error messages and put them right above where they
1903          clicked so users can actually see them.
1904        * Security.php:  Remove deprecated login code
1905        * Authenticator.php: Change calling convention for better encapsulation
1906        * New feature:  Support multiple simultaneous logins if enabled in network
1907          configuration
1908        * New feature (in testing): Splash-only node support
1909
19102005-09-05 Benoit Grégoire  <benoitg@coeus.ca>
1911        * include/common.php:  Add code to undo the effect of magic_quote if enabled
1912          in the server config.  It is still strongly recommended to disable
1913          magic_quote
1914        * Node.php:  Add UI for splash only node and custom portal
1915        * Update schema
1916
19172005-09-04 Francois Proulx <francois.proulx@gmail.com>
1918        * Removed update.php script ( should not have been in CVS )
1919        * Moved authenticator require in Network getAuthenticator()
1920
19212005-09-03 Philippe April  <philippe@ilesansfil.org>
1922        * Schema change: Added last_paged column to nodes table
1923        * Replaced HOTSPOT_NETWORK_NAME with hotspot_network_name in all templates
1924        * s/Networt/Network/
1925        * Fixed signing up and validation, typos
1926
19272005-09-01 Benoit Grégoire  <benoitg@coeus.ca>
1928        WARNING:  DO NOT use the CVS auth server in production until further notice.
1929        Massive internal changes are underway.
1930        Use the release tagged 1.0m1 in production.
1931        * Network abstraction mostly complete, including UI.
1932          All that is missing is new network creation, network stakeholder UI and
1933          testing.
1934        * Cleanup the config file of all the now unneeded constants.
1935          Note that the install script is currently broken.
1936          There can now be multiple networks on the server.
1937          The install script will have to make sure that there is at least one, with
1938          one super-admin
1939
19402005-08-31 Francois Proulx <francois.proulx@gmail.com>
1941        * Fixed bug where node ID containing periods, whitespaces or underscores
1942          would confuse PHP
1943        * MD5 hash is used to make sur the http vars are unique
1944        * This is only valid for Node administration
1945
1946NOTE:  the 1.0m1 release was tagged here
1947
19482005-08-31 Benoit Grégoire  <benoitg@coeus.ca>
1949        * Node.php:  Fix node creation
1950
19512005-08-31 Francois Proulx <francois.proulx@gmail.com>
1952        * Fixed new node creation bug
1953
19542005-08-29 Philippe April <philippe@ilesansfil.org>
1955        * js/gmaps_hotspots_status_map.js: Fixed small bug in that makes prevents
1956          IE to see the map properly.
1957
19582005-08-22 Pascal Leclerc  <pascal@plec.ca>
1959        * install.php, Change javascript to OnClick + dependencie note
1960        * schema_validate.php, Fix broken DB update for install.php
1961        * SmartyWifidog.php, Add automatic redirect to install.php if Smarty not
1962          installed
1963
19642005-08-22 Francois Proulx <francois.proulx@gmail.com>
1965        * Added edit button for quickly accessing Content editing mode
1966        * Changed the layout so the admin ui fits in a tighter space
1967
19682005-08-21 Francois Proulx <francois.proulx@gmail.com>
1969        * Added reference to new street address fields in mapping page and on status
1970          template
1971        * Fix bug on line 756 of RssPressReview , added check for empty var.
1972        * Flickr support is broken, added  bug to sf.net tracker
1973
19742005-08-21 Francois Proulx <francois.proulx@gmail.com>
1975        * Node admin UI should now be completed.
1976        * Minor bug fixes in Geocoder
1977        * Merged node_owners and node_tech_officers table into node_stakeholders
1978
19792005-08-19 Benoit Grégoire  <benoitg@coeus.ca>
1980        * New schema version
1981        * install.php, tmp/magpie_cache/:  Move all magpie caches
1982          to a central location, adjust install script to match.
1983        * classes/MainUI.php:  Add $_REQUEST array output if debug_request is set as
1984          a parameter to the page
1985        * classes/Network.php, classes/Node.php:  Change content ordering to be most
1986          recently subscribed first, this is a stopgap measure while waiting for
1987          Content ordering to be explicitely settable.
1988        * classes/Content/RssAggregator.php:  Full admin UI, some bug fixes
1989        * lib/RssPressReview/RssPressReview.php: New version, adds isFeedAvailable()
1990          and getFeedTitle() methods.
1991          Fixes minor bugs
1992
19932005-08-17 Pascal Leclerc  <pascal@plec.ca>
1994    * Added install script + minor changes in schema_validate.php
1995
19962005-08-15 Benoit Grégoire  <benoitg@coeus.ca>
1997        * Re-Run sync_sql_for_cvs.sh, did not run to completion last time.
1998
19992005-08-15 Benoit Grégoire  <benoitg@coeus.ca>
2000        * Run sync_sql_for_cvs.sh
2001        * sql/dump_initial_data_postgres.sh:  Fix a hardcoded reference to rss_url
2002          which no longer exists
2003        * .project:  Remove mistakenly commited file in last commit
2004        * .cvsignore:  Add file to avoid previous error
2005
20062005-08-12 Francois Proulx <francois.proulx@gmail.com>
2007        * Added missing GisPoint fille to CVS
2008        * Fixed some bugs
2009        * Added Technical officer table
2010        * Added technical officer management to node UI
2011
20122005-08-12 Francois Proulx <francois.proulx@gmail.com>
2013        * Changed config.php GMAPS_API_KEY to GMAPS_PUBLIC_API_KEY
2014        * Added GMAPS_ADMIN_API_KEY, needed for admin UI
2015        * This is a stupid limitation of the Google Maps API which matches the
2016          complete URL path
2017        * Added /classes/GisPoint.php class
2018        * Will add geocode + Google Maps capabilities very soon
2019        * Notice : the XML schema will change very soon...
2020        * I will try to keep the streetAddress field intact so I won't break
2021          backward compat.
2022
20232005-08-12 Benoit Grégoire  <benoitg@coeus.ca>
2024        * classes/MainUI.php: Move the call to schema_validate() in MainUI's
2025          constructor
2026        * lib/RssPressReview/RssPressReview.php: Finish rewrite. Move there to
2027          reflect it's independently maintained status
2028        * wifidog/classes/Content/HotspotRss.php:  Delete the class, obsolete
2029        * wifidog/classes/Content/RssAggregator.php:  Functionnal, but needs it's
2030          admin UI written.
2031        * wifidog/include/schema_validate.php:  Create the table structure for the
2032          new RssAggregator.
2033          Remove rss_url in nodes table, no longer needed.  Move it's data to the
2034          new Content class.
2035
20362005-08-11 Francois Proulx <francois.proulx@gmail.com>
2037        * Refactored the Admin UI.
2038        * I need to write the upload form and rewrite statistics
2039
20402005-08-10 Francois Proulx <francois.proulx@gmail.com>
2041        * More GIS stuff
2042
20432005-08-10 Francois Proulx <francois.proulx@gmail.com>
2044        * Added Geocoders
2045          - /classes/AbstractGeocoder.php
2046          - /classes/Geocoders/GeocoderCanada.php
2047          - /classes/Geocoders/GeocoderUsa.php
2048        * This will be used for enterring GIS data
2049        * Coming in the next few days: set hotspot gis using Google Maps + Geocoding
2050
20512005-01-25 Pascal Leclerc  <pascal@plec.ca>
2052        * Fix hardcoded images path in classes/MainUI.php
2053
20542005-07-25 Francois Proulx <francois.proulx@gmail.com>
2055        * Fixed bug in hotspot_status , added htmlspecialchars();
2056        * This solved the bug where ampersands would break the XML
2057
20582005-07-17 Francois Proulx <francois.proulx@gmail.com>
2059        * Fixed bugs in gen.sh, compile.sh locale scripts
2060
20612005-07-12 Francois Proulx <francois.proulx@gmail.com>
2062        * Changed XML element from hotspotsMetadata to hotspots and added networkUri
2063          element to networkMetadata
2064
20652005-07-12 Francois Proulx <francois.proulx@gmail.com>
2066        * Fixed XML protocol for exchanging hotspots status.
2067        * Should now be considered stable (stamped v1.0)
2068        * Fixed hotspots status map to reflect the changes
2069        * Added french translations
2070
20712005-07-11 Francois Proulx <francois.proulx@gmail.com>
2072        * Changed link to hotspots map using NON ssl because Google Keys are
2073          sensitive to the whole path.
2074
20752005-07-11 Benoit Grégoire  <benoitg@coeus.ca>
2076        * classes/RssPressReview.php: Begin rewrite.
2077        * classes/MainUI.php: Add addFooterScript() function.
2078        * venues_map.php:  Workaround the IE DOM problem.
2079
20802005-07-05 Francois Proulx <francois.proulx@gmail.com>
2081        * Changed wording in hotspots status page added legend
2082
20832005-07-05 Francois Proulx <francois.proulx@gmail.com>
2084        * Minor adjustements to icon positionning
2085
20862005-07-05 Francois Proulx <francois.proulx@gmail.com>
2087        * Changed google maps marker icons
2088
20892005-07-05 Francois Proulx <francois.proulx@gmail.com>
2090        * Added missing elements in XML exchange format
2091        * Stable v1.0 for XML exchange format and Google Maps mapping
2092        * Added GMaps constants to config file
2093        * Unsmartied index.php , added link to map
2094        * Check config.php to set corresponding values
2095        * You can now use hotspot_status.php?format=XML along with xslt query string
2096          parament to convert your XML document
2097        * For this to work, You need to have activated XSLT ( see config file )
2098
20992005-07-05 Francois Proulx <francois.proulx@gmail.com>
2100        * Added Google Maps mapping venues_map.php
2101        * /js/venues_status_map.js  JavaScript code for Mapping
2102        * In beta : tested successfuly with 48 nodes in the Montreal area, loads in
2103          a snap
2104
21052005-07-03 Francois Proulx <francois.proulx@gmail.com>
2106        * Updated the XML venues status format ( version 1.0, once approved )
2107        * Added long / lat fields to nodes table ( for mapping purposes )
2108
21092005-06-17 Francois Proulx <francois.proulx@gmail.com>
2110        * Added IFrame and SimpleIFrame content types.
2111
21122005-06-28 Benoit Grégoire  <benoitg@coeus.ca>
2113        * classes/Content/Langstring.php:  Bug fix:  Langstring was always
2114          non-persistent, no matter the checkbox.  Move the code to
2115          TrivialLangstring.php where it belongs.
2116
21172005-06-21 Benoit Grégoire  <benoitg@coeus.ca>
2118        * portal/inted.php:  Implement the start button functionnality (maybe it
2119          would be better to call it "use the Internet").  From now on, once
2120          authenticated and when pressing the start button on the portal, the user
2121          will be sent to the page he originally tried to access.  A second window
2122          will be popped with the portal page so he can come back to it. The window
2123          is collapsed, and can be expanded back by clicking on the link. I tried
2124          to make it cross platform (and mostly did) but it's still buggy in IE.
2125
2126          At the same time, this fixes the goof reported by Rob Kelley of
2127          nycwireless.net
2128
2129        * portal/missing_original_url.php:  Displayed when the user tries to use the
2130          start button but for some reason the original url is unavailable
2131        * common.php:  New define CURRENT_REQUEST_URL, hopefully containing the full
2132          URL in the user's URL bar.
2133
2134
21352005-06-17 Francois Proulx <francois.proulx@gmail.com>
2136        * Removed forced Pattern Language on all hotspots
2137        * Do not show hotspot logo in portal page, only on login, until we find a
2138          better layout
2139
21402005-06-16 Francois Proulx <francois.proulx@gmail.com>
2141        * Added XML output format for hotspot_status.php
2142        * Rough draft v1.0
2143        * TODO move to different classes once stabilized
2144        * Can use XSLT, if activated ( XSLT_SUPPORT constant )
2145        * ie : http://wifidog-auth.org/hotspot_status.php?format=XML&xslt=http://wifidog-auth.org/xslt/hotspot_status.xsl
2146        * or simply : http://wifidog-auth.org/hotspot_status.php?format=XML
2147
21482005-06-06 Francois Proulx <francois.proulx@gmail.com>
2149        * Added long description field to content table
2150        * MUST use schema_validate
2151        * Modified Pattern Language to be more generic
2152        * resend changelog
2153
21542005-06-06 Francois Proulx <francois.proulx@gmail.com>
2155        * Made changes to Pattern Language ( Kate Armstrong )
2156
21572005-05-30 Philippe April <philippe@ilesansfil.org>
2158        * Show username in user_stats.php instead of user_id
2159          and in other admin pages
2160
21612005-05-30 Francois Proulx <francois.proulx@gmail.com>
2162        * Changed language selectbox name so it does not clash with ISF's domain
2163          cookie
2164        * Fixed setlocale algorithm in Locale.php
2165
21662005-05-29 Francois Proulx <francois.proulx@gmail.com>
2167        * Missing null check in validate.php
2168
21692005-05-27 Francois Proulx <francois.proulx@gmail.com>
2170        * Changed the signup process to make it smoother for users
2171        * The user will automatically be granted the 15 minutes if he's signing up
2172          at a real hotspot
2173        * If the user closes his browser during the 15 minutes and loses its
2174          session, we will regenerate it
2175        * Added big red message to the top of the portal page, warning user to
2176          validate as soon as possible
2177        * Fixed translation typos
2178
21792005-05-26 Benoit Grégoire  <benoitg@coeus.ca>
2180        * Someone moved the fallback gettext functions definition (for when gettext
2181          isn't installed) inside the static setCurrentLocale method, completely
2182          breaking the system when PHP doesn't have gettext support.  This is an
2183          untested fix.
2184
21852005-05-24 Francois Proulx <francois.proulx@gmail.com>
2186        * Fixed bug in auth.php to let users go through when the click twice on the
2187          login button
2188        * Fixed bug in hotspot_log.php
2189
21902005-05-24 Francois Proulx <francois.proulx@gmail.com>
2191        * Added "Get access statistics" button to Node admin to get hotspot specific
2192          stats
2193        * Added search box in Users log to get a specific user stats quickly
2194
21952005-05-24 Francois Proulx <francois.proulx@gmail.com>
2196        * Fixed typo in some translations
2197        * Cleaned-up todos
2198
21992005-05-18 Francois Proulx <francois.proulx@gmail.com>
2200        * Added strip_tags in RssPreview ( some malformed HTML would break the page
2201          layout)
2202
22032005-05-16 Francois Proulx <francois.proulx@gmail.com>
2204        * Changed login message in MainUI to make it clearer what the login button
2205          will do
2206
22072005-05-13 Philippe April <philippe@ilesansfil.org>
2208        * Added deployment status to node_list
2209
22102005-05-11 Francois Proulx <francois.proulx@gmail.com>
2211        * Began writing user profiles
2212        * Added many methods to User class
2213        * Added node quota fields in DB ( bandwidth, throttling ...)
2214
22152005-05-10 Francois Proulx <francois.proulx@gmail.com>
2216        * Fixed Login link in signup page ( MainUI.php ) if the Session has gw_id,
2217          gw_address, gw_port show physical login link
2218
22192005-05-10 Francois Proulx <francois.proulx@gmail.com>
2220        * Added download button CSS class to style button
2221
22222005-05-10 Francois Proulx <francois.proulx@gmail.com>
2223        * Fixed wrong method name in File.php
2224        * Added strip tags to Langstring
2225        * Basic styling of content_admin table
2226
22272005-05-04 Francois Proulx <francois.proulx@gmail.com>
2228        * Fixed serialization issue ( flickr)
22292005-05-04 Francois Proulx <francois.proulx@gmail.com>
2230        * Improved caching
2231        * Wrote very basic gridview code for Flickr
2232
22332005-05-04 Francois Proulx <francois.proulx@gmail.com>
2234        * Implemented caching for Flickr
2235        * Need to contact Phlickr to see how we could do better, since serialize
2236          does not work OK on objects
2237
22382005-05-04 Francois Proulx <francois.proulx@gmail.com>
2239        * Fixed bug concerning Content-Length header
2240        * Changed default Unit size for setLocalFileSize to bytes
2241
22422005-05-04 Francois Proulx <francois.proulx@gmail.com>
2243        * Added BLOB support
2244        * modified file_download.php to support new header attributes
2245        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
2246        * Make sure your PHP.ini contains the right value to allow big downloads
2247        * Check : http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php
2248        * ISF Live server is now configured to support 100 megabytes files
2249
22502005-05-04 Francois Proulx <francois.proulx@gmail.com>
2251        * Fixed CSS IE Bug
2252        * Fixed SQL query
2253        * NEED HELP FROM A WEB DESIGNER !!!!!
2254
22552005-05-03 Francois Proulx <francois.proulx@gmail.com>
2256        * Disabled logging in Pattern Language archives
2257
22582005-05-03 Francois Proulx <francois.proulx@gmail.com>
2259        * Having for SQL query... :-(
2260
22612005-05-02 Francois Proulx <francois.proulx@gmail.com>
2262        * PatternLanguage is now completed
2263
22642005-04-30 Francois Proulx <francois.proulx@gmail.com>
2265        * Logout button will now destroy session AND render token USED
2266
22672005-04-30 Francois Proulx <francois.proulx@gmail.com>
2268        * Fixed bug that could potentially let non owners add content in /content
2269          through content groups
2270        * Admin menu won't show node selector if the user is not owner of at least
2271          one hotspot
2272        * Added Width, height support for Picture
2273
22742005-04-30 Francois Proulx <francois.proulx@gmail.com>
2275        * Did my best for content styling ... ( it's 5h00 am )
2276
22772005-04-30 Francois Proulx <francois.proulx@gmail.com>
2278        * Updated sync_sql_for_cvs.sh
2279
22802005-04-30 François Proulx <francois.proulx@gmail.com>
2281        * ChangeLog entry missed by CVS ?!
2282        * Locale now decomposes the locale string by '_'
2283        * Now works on Mac OS X ( but you must use fr_CA, en_CA or fr_FR ... )
2284
22852005-04-30 François Proulx <francois.proulx@gmail.com>
2286        * Trying to solve RSS encoding bug...
2287        * Testing on live server
2288
22892005-04-29 François Proulx <francois.proulx@gmail.com>
2290        * Removed all inline unuseful javascript code on submit buttons
2291          onclick='submit()'
2292        * This conflicted with the actual click on the submit button in Safari
2293        * Fixed check in Network for isOwner, only check superAdmin
2294        * Fixed bug so you can't add an existing content group to itself (deadlock)
2295        * Started coding Pattern language narrative display
2296
22972005-04-29 François Proulx <francois.proulx@gmail.com>
2298        * Wrote User.php addcontent, removeContent, getAllContent()
2299        * Wrote Content.php subscrite() and unsubscribe()
2300        * Added parameters to getAllContent() in Node and Network
2301          (exclude_subscribed_content)
2302        * These will be used for subscribing a to some content
2303        * Pattern Language will be the first to use it
2304        * Online users lists
2305        * Fixed bugs in Node and Network ( isOwner check )
2306
23072005-04-28 François Proulx <francois.proulx@gmail.com>
2308        * Logout button build a query string containing gw_id, gw_address, gw_port
2309          ( if available ), so that a user at a physical hotspot will get the login
2310          page from the hotspot he is.
2311        * Fixed but in Locale ( did not propertly set the locale in the session )
2312
23132005-04-28 François Proulx <francois.proulx@gmail.com>
2314        * Added check in MainUI toolbar so that it won't show "NOT logged in ?"
2315          message when connect to a real hotspot ( not virtual )
2316        * This message confused many users ( they clicked and got the virtual login
2317          instead ! )
2318        * Hide adminstration features ( statistics, hotspot creation, network wide
2319          content etc...) from all but Super admins
2320        * Fixed getAllLocativeArtisticContent in Node.php added is_persistent check
2321        * Added $associate_existing_content parameter to processNewContentUI to
2322          allows reuse for existing content ( in ContentGroup )
2323        * Fixed bug in FlickrPhotoStream delete ( missing return from parent )
2324        * Added security check in all content classes ( ProcessAdminUI )
2325
23262005-04-26 François Proulx <francois.proulx@gmail.com>
2327        * Replaced show only content groups by show persistent
2328
23292005-04-26 François Proulx <francois.proulx@gmail.com>
2330        * Added missing /content directory
2331
23322005-04-26 François Proulx <francois.proulx@gmail.com>
2333        * Added /content/ for displaying all content elements
2334        * Logging is disable when viewing them
2335        * All content elements will expand
2336        * Pattern languages won't display everything ( special property )
2337          isExpandable
2338        * Added a link in portal pages to go to /content/
2339        * Added Show all contents button in content_admin.php
2340
23412005-04-27 Benoit Grégoire  <benoitg@coeus.ca>
2342        * Content.php, ContentGroup.php:  All Content now implement the
2343          isDisplayableAt($node).  Used by the portal, if content has nothing
2344          displayabel, the entire content is skipped.
2345
23462005-04-27 Benoit Grégoire  <benoitg@coeus.ca>
2347        * FlickrPhotostream.php:  Fix the object so it doesn't crash when flicker is
2348          disabled.
2349
23502005-04-27 Benoit Grégoire  <benoitg@coeus.ca>
2351        * ContentGroup.php:  Fully functionnal content rotation engine, with all
2352          options supported. Rotation based on session may not be reliable if the
2353          user isn't truly logged in (from a node).
2354
23552005-04-26 François Proulx <francois.proulx@gmail.com>
2356        * Most of the missing translations
2357
23582005-04-26 François Proulx <francois.proulx@gmail.com>
2359        * Changed back File to non trivial
2360        * portal page stylesheet
2361
23622005-04-26 Benoit Grégoire  <benoitg@coeus.ca>
2363        * ContentGroupElement.php:  It shouldn't be allowed to create a new content
2364          element in isolation.  Unfortunately the UI allows if for now.  Such
2365          content will now be deleted.
2366        * Locale:  Fix string selection algorithm to pick the right language.
2367        * Content:  Implement display logging.
2368
23692005-04-26 François Proulx <francois.proulx@gmail.com>
2370        * stylesheet rework
2371
23722005-04-26 François Proulx <francois.proulx@gmail.com>
2373        * Fixed wrong location for change password link
2374
23752005-04-25 François Proulx <francois.proulx@gmail.com>
2376        * Portal page styling
2377
23782005-04-26 Benoit Grégoire  <benoitg@coeus.ca>
2379        * ContentGroup.php:  Previous fix didn't work.  New fix.
2380
23812005-04-26 Benoit Grégoire  <benoitg@coeus.ca>
2382        * ContentGroup.php:  Make bad selection mode eror non-fatal.
2383
23842005-04-25 Benoit Grégoire  <benoitg@coeus.ca>
2385        * Fix bug in ContentGroup enumeration
2386
23872005-04-25 François Proulx <francois.proulx@gmail.com>
2388        * More stylesheets work
2389
23902005-04-25 François Proulx <francois.proulx@gmail.com>
2391        * Much better stylesheet
2392
23932005-04-25 Benoit Grégoire  <benoitg@coeus.ca>
2394        * UI fully functionnal
2395
23962005-04-25 François Proulx <francois.proulx@gmail.com
2397        * More interface work
2398
23992005-04-25 François Proulx <francois.proulx@gmail.com
2400        * Completed integration of new interface with new objects
2401
24022005-04-25 Benoit Grégoire  <benoitg@coeus.ca>
2403        * Integration merge, should work, but there will be display problems
2404          everywhere.  Expect further commits today.
2405        * Almost 100% complete Network abstraction
2406        * Much better object encapsulation.  Deprecated methods not removed yet.
2407        * Add MainUI class.  Used to display the interface.  Inner workings still
2408          need work.
2409
24102005-04-23 François Proulx <francois.proulx@gmail.com>
2411        * Added Preferred Size support for Flickr pictures
2412
24132005-04-23 François Proulx <francois.proulx@gmail.com>
2414        * Completed missing translations
2415
24162005-04-23 François Proulx <francois.proulx@gmail.com>
2417        * Fixed bugs in File and EmbeddedContent
2418        * Completed first iteration of EmbeddedContent
2419        * Can now play multimedia content
2420        * Could not test fallback with my browser ( Safari and Firefox )
2421        * Need help to test content in different browser to see how it reacts...
2422
24232005-04-22 François Proulx <francois.proulx@gmail.com>
2424        * Fixed bug in FlickrPhotostream.php
2425        * Params did not match new methods requirements ( getUserByEmail )
2426        * Changed stylesheet class name for Flickr to match new changes
2427        * Fixed bugs in File
2428        * Wrote part of EmbeddedContent ( partially working )
2429        * TODO: add support for parameters and attributes in EmbeddedContent
2430
24312005-04-22 François Proulx <francois.proulx@gmail.com>
2432        * Fix schema version in François's commit
2433
24342005-04-21 François Proulx <francois.proulx@gmail.com>
2435        * Added explicit admin UI exceptions support for Flickr
2436        * Completed File and Picture objects
2437
24382005-04-20 François Proulx <francois.proulx@gmail.com>
2439        * Completed Flickr support ( explicit exceptions catching )
2440        * Most of File object is done
2441        * Fixed bug in generic_object_admin.php
2442        * changed stylesheet class tags for Flickr
2443
24442005-04-18 François Proulx <francois.proulx@gmail.com>
2445        * Added Flickr content support
2446        * Part of File object is done
2447
24482005-04-19 Benoit Grégoire  <benoitg@coeus.ca>
2449        * Working (beta...) content manager and portal.
2450        * Add content preview mode
2451
24522005-04-18 Benoit Grégoire  <benoitg@coeus.ca>
2453        * Hotspot and network content association, continue access control work.
2454        * hotspot_owner.php: Fix wrong assignement of user_id that prevented the
2455          script from working.
2456        * All files:  Remove whitespace and carriage return after the ?> closing
2457          tags.
2458
24592005-04-18 Benoit Grégoire  <benoitg@coeus.ca>
2460        * Much more complete admin, initial access control work.
2461
24622005-04-15 Benoit Grégoire  <benoitg@coeus.ca>
2463        * Support more of the content object model, do a half-decent CSS for the
2464          admin interface.
2465
24662005-04-14 Benoit Grégoire  <benoitg@coeus.ca>
2467        * Content.php:  Use full langstring interface by default;
2468
24692005-04-14 Benoit Grégoire  <benoitg@coeus.ca>
2470        * Content.php:  Fix db reference;
2471
24722005-04-14 Benoit Grégoire  <benoitg@coeus.ca>
2473        * Fix Content object enumeration preventing usage of admin interface
2474        * Partial fix for RSS feed encoding (multiple feed aggregation still broken)
2475
24762005-04-14 Benoit Grégoire  <benoitg@coeus.ca>
2477        * First part of the future content delivery infrastructure. Many files added
2478
24792005-04-01 François Proulx  <francois.proulx@gmail.com>
2480        * Modified gen.sh script to match UTF-8
2481        * Added PAP RADIUS encryption support ( asked by Paris Sans Fil )
2482
24832005-04-01 Benoit Grégoire  <benoitg@coeus.ca>
2484        * wifidog/templates/auth_sources_selection.html:  Add missing file from
2485          Francois's commit.
2486
24872005-04-01 Philippe April <philippe@ilesansfil.org>
2488        * Fixed missing parenthesis in classes/User.php
2489        * Removed unused files
2490        * fixed schema_validate.php (typos)
2491
24922005-04-01 Francois Proulx  <francois.proulx@gmail.com>
2493        * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT
2494          EDITOR
2495        * The database will be converted to UTF-8 (version 5)
2496        * Added select boxes ( or hidden ) html form elements to choose the network
2497          for signup, lost password, username
2498
24992005-04-01 Benoit Grégoire  <benoitg@coeus.ca>
2500        * Add constraints to account_origin to detect errors on inserts.
2501        * Remove IDRC test server
2502
25032005-04-01 Philippe April <philippe@ilesansfil.org>
2504        * User.php: Add reference to $db global variable.
2505        * Tagged v0_1_0_alpha1
2506        * Removed spaces in AuthenticatorLocalUser.php
2507
25082005-03-31 Benoit Grégoire  <benoitg@coeus.ca>
2509        * Remove spaces after php blocks in various files.
2510        * Temporarily fix single authentication source not present bug in login
2511          smarty template.  All other places where we select the network will be
2512          fixed tommorow.
2513        * Fix initial schema errors.
2514
25152005-03-31 Benoit Grégoire  <benoitg@coeus.ca>
2516        * More RADIUS install documentation.
2517        * Fix schema_validate.php
2518
25192005-03-31 Francois Proulx  <francois.proulx@gmail.com>
2520        * Moved language definition
2521        * Moved e-mail subjects to User class ( each e-mail functions )
2522
25232005-03-31 Francois Proulx  <francois.proulx@gmail.com>
2524        * Added missing schema_validate.php modifs.
2525
25262005-03-31 Francois Proulx  <francois.proulx@gmail.com>
2527        * Added PEAR install procedure
2528
25292005-03-30 François Proulx  <francois.proulx@gmail.com>
2530        * Finished RADIUS authentication and accounting
2531        * Accounting Unique session ID is now based on the same token we use
2532        * Fixed all issues with lost_username, lost_password etc...
2533        * User class has new static function getUsersByEmail and getUsersByUsername
2534        * Added translations for new features
2535        * Translated the validation, lost password, username e-mails
2536        * Tested quite a bit, this version is considered stable
2537        * A few examples on how set different RADIUS or local authenticators can be
2538          found in the config.php
2539
25402005-03-29 François Proulx  <francois.proulx@gmail.com>
2541        * schema_validate.php : Modified schema : dropped e-mail + account unique
2542          index, dropped email not empty constraint
2543        * Schema is now at version 3
2544        * Coded RADIUS authentication
2545        * Modified templates to show a select box when more than one server is
2546          configured
2547        * Coded RADIUS accounting and backward compatibility accounting
2548        * Modified many statistics SQL queries to match new Users table
2549        * modified statistics templates to match user_id and account_origin
2550        * TODO : Fix lost_username and lost_password ( issue since we dropped the
2551          unique constraint on emails... )
2552        * TODO : Heavy testing possibly with remote RADIUS servers
2553
25542005-03-28 Benoit Grégoire  <benoitg@coeus.ca>
2555        * sql:  Put initial data in a transaction, and specify the wifidog user so
2556          you do not have to su to it while using sync_sql_for_svs
2557
25582005-03-28 Benoit Grégoire  <benoitg@coeus.ca>
2559        * common.php:  Add get_guid() function
2560        * validate_schema.php: New auto-upgrade script to allow autaumatic schema
2561          upgrade.  Note that you must still update dump_initial_data_postgres.sh
2562          and use sync_sql_for_cvs.sh so new users aren't left in the cold.
2563        * New class Authenticator (and subclasses):  Begin virtualizing the login
2564          process.
2565
25662005-03-24 Benoit Grégoire  <benoitg@coeus.ca>
2567        * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming
2568          and outgoing for all connections from a user have null values.
2569        * wifidog/local_content/default/portal.html: Fix layout so it resizes
2570          properly.  This in an interim measure.
2571        * Update schema.  This will allow automatic schema updates in the future.
2572          TO update a live server:
2573
2574      BEGIN;
2575      CREATE TABLE schema_info (
2576            tag text PRIMARY KEY,
2577            value text
2578          );
2579          INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
2580          COMMIT;
2581
25822005-03-16 Matthew Asham <matthewa@bcwireless.net>
2583    * config.php: will use "local.config.php" instead, if present.  avoid cvs
2584      over-writing.
2585    * signup.php: if CUSTOM_SIGNUP_URL is defined, signup.php will re-direct.
2586      For integration with existing auth systems
2587    * hotspot_status.php: ob_clean may complain about buffering.  muted.
2588    * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the
2589      feed.
2590
25912005-02-22 Benoit Grégoire  <benoitg@coeus.ca>
2592        * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql,
2593          wifidog-postgres-schema.sql:-Widen the connections size to fix int4
2594          wraparound problems.  To update a running server, execute the following
2595          sql sniplet:
2596
2597      BEGIN;
2598      ALTER TABLE connections RENAME incoming TO incoming_old;
2599      ALTER TABLE connections ADD COLUMN incoming int8;
2600      ALTER TABLE connections RENAME outgoing TO outgoing_old;
2601      ALTER TABLE connections ADD COLUMN outgoing int8;
2602      UPDATE connections set incoming=incoming_old, outgoing=outgoing_old;
2603      ALTER TABLE connections DROP COLUMN incoming_old;
2604      ALTER TABLE connections DROP COLUMN outgoing_old;
2605      COMMIT;
2606
2607        * wifidog/admin/hotspot.php: Missing file from phil's commit.
2608        * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po:  New translation
2609          by Benoit St-André
2610
26112005-02-14 Philippe April <philippe@ilesansfil.org>
2612        * gw_message.php: the "activate" message was not properly defined and
2613          would cause an error to show up instead of the nice activate your account
2614          message
2615
26162005-02-14 Philippe April <philippe@ilesansfil.org>
2617        * wifidog/locale/gen.s: Was not working as expected, it will now get the
2618          gettext from smarty properly.
2619        * Updated TODO with ideas on making config better
2620
26212005-01-31 Benoit Grégoire  <benoitg@coeus.ca>
2622        * wifidog/templates/hotspot_status.html:  Restore the number of nodes
2623        * wifidog/hotspot_status.php: Restore the number of nodes, add formatting
2624          and more information to the RSS feed.
2625
26262005-01-26 Philippe April <isf_lists@philippeapril.com>
2627        * Some kind of virtual login (we need to talk about this).
2628        * New User and Node classes
2629        * Modified all files to work with the classes.
2630        * Remove mgmt_helpers (all done in User class now)
2631
26322005-01-25 Benoit Grégoire  <benoitg@coeus.ca>
2633        * classes/Node.php:  New file, untested code example
2634        * wifidog/admin/admin_common.php: Remove double-defined BASEPATH
2635
26362005-01-25 Philippe April <isf_lists@philippeapril.com>
2637        * Changed initial postgres inserts sql file, it wasn't working properly
2638
26392005-01-25 Pascal Leclerc  <pascal@plec.ca>
2640        * Added admin and owner administration pages
2641
26422005-01-23 Philippe April <isf_lists@philippeapril.com>
2643        * Added gateway error messages (validation period, etc.)
2644
26452005-01-20 Philippe April <isf_lists@philippeapril.com>
2646        * Modularized the admin interface, added functions
2647
26482005-01-18 Philippe April <isf_lists@philippeapril.com>
2649        * Smarty'ized more, I think it's done now
2650
26512005-01-12 Philippe April <isf_lists@philippeapril.com>
2652        * i18n and smarty'ized parts
2653
26542005-01-11 Benoit Grégoire  <benoitg@coeus.ca>
2655        * INSTALL: Mandate PHP5
2656        * wifidog/hotspot_status.php: Allow export of the list as a RSS feed
2657        * wifidog/classes/RssPressReview.inc:  Make it truly functionnal.
2658        * wifidog/portal/index.php:  Support multiple RSS feeds.  The system will
2659          automatically pick the best 5 entries from all the feeds.  It will
2660          compensate for disparate publication intervals.  An entry from a feed that
2661          does not publish often will live longer than an entry from a feed that
2662          publishes very often.  If a feed doesn't have any entry that makes the
2663          cut, it will not appear at all.
2664        * wifidog/templates/hotspot_status.html:  Add link to the RSS version.
2665
26662005-01-11 Benoit Grégoire  <benoitg@coeus.ca>
2667        * wifidog/config.php:  Add list of hotspot to network rss feed list (not yet
2668          functionnal)
2669        * wifidog/hotspot_status.php:  Allow RSS export of the list of deployed
2670          Hotspots.
2671        * wifidog/admin/incoming_outgoing_swap.php:  Script to swap incoming and
2672          outgoing in your data. Only use this if you had gateways before 1.0.2
2673          and wish to correct your logs before you upgrade.
2674        * wifidog/classes/RssPressReview.inc:  Missing file from previous commit.
2675        * wifidog/portal/index.php: Preliminary work to enable smart press review
2676          of multiple RSS feeds.
2677
26782005-01-10 Benoit Grégoire  <benoitg@coeus.ca>
2679        * include/common.php: Fix SSL security warnings.  If SSL is enabled and the
2680          page was actually served over SSL, all media in the file will be served
2681          over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links
2682          that break out of SSL mode.  From now on, use the self adapting
2683          BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode,
2684          and BASE_URL_PATH to break out of it.
2685
26862005-01-10 Benoit Grégoire  <benoitg@coeus.ca>
2687        * admin/user_stats.php: Add three top tens to the statistics:  Top ten
2688          apetite for bandwidth, top ten travelers, most addicted users.
2689
26902005-01-04 Benoit Grégoire  <benoitg@coeus.ca>
2691        * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much
2692          thinner.
2693        * wifidog/local_content/default/login.html: Remove announcements
2694        * wifidog/include/user_management_menu.php: Fix mailto:
2695        * wifidog/auth/index.php: Fix auth server part of the no data transmited
2696          statistics bug.
2697        * wifidog/admin/index.php: Add link to statistics
2698        * wifidog/admin/user_stats.php: Activate security.
2699        * wifidog/index.php: Make the distinction between the two hotspot status
2700          pages clearer.
2701
27022004-12-08 Benoit Grégoire  <benoitg@coeus.ca>
2703        * wifidog/index.php: Add menu
2704        * wifidog/include/user_management_menu.php: Editorial change, make
2705          translateable
2706        * wifidog/portal/index.php:  Fix RSS feeds
2707
27082004-12-03 Benoit Grégoire  <benoitg@coeus.ca>
2709        * wifidog/admin/user_stats.php,  wifidog/classes/Statistics.php:  Embryonic
2710          aggregate user stats.  Currently allows you to find out the rate at which
2711          your users subscribe.
2712        * wifidog/config.php, wifidog/local_content/default/login.html,
2713          wifidog/include/user_management_menu.php:  Add hotspot status page to
2714          login page.
2715        * wifidog/hotspot_status.php: Cosmetic
2716        * wifidog/admin/hotspot_log.php: Stats now need admin privileges
2717        * wifidog/index.php: Cosmetic.
2718
27192004-11-19 Benoit Grégoire  <benoitg@coeus.ca>
2720        * TODO: Add email domains to blacklist
2721        * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech
2722          support email address
2723        * wifidog/hotspot_status.php: List of HotSpots that are open with summary of
2724          information.  Designed to be included as part of another page.
2725        * wifidog/local_content/common/wifidog_logo_banner.gif: Add wifidog logo
2726        * wifidog/local_content/default/hotspot_logo_banner.jpg: Shrink the logo
2727          and write unknown hotspot, however this is still really ugly
2728        * wifidog/local_content/default/login.html, portal.html, stylesheet.css:
2729          Cosmetic fixes
2730        * wifidog/local_content/default/login.html.fr, portal.html.fr: Delete the
2731          files, this isn't the approach we will use for translation.
2732        * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:
2733          Update with new node information structures.
2734
27352004-11-04 Benoit Grégoire  <benoitg@coeus.ca>
2736        * wifidog/admin/hotspot_log.php: Add number of currently connected users
2737          here as well.
2738
27392004-11-03 Benoit Grégoire  <benoitg@coeus.ca>
2740        * wifidog/ping/index.php: Log user-agent
2741        * extensive statistics work
2742        * sql/wifidog-postgres-schema.sql: Add description field for hotspots and
2743          log user-agent
2744
27452004-10-28 Benoit Grégoire  <benoitg@coeus.ca>
2746        * sql/wifidog-postgres-schema.sql:  Add constraints to avoid empty string
2747          in email or user_id.
2748        * Some statistics fixes
2749
27502004-09-29 Alexandre Carmel-Veilleux <acv@acv.ca>
2751        * wifidog/admin/index.php: Integrated the changes contributed
2752          on the mailing list by Rikhardur EGILSSON (fname.lname@oecd.org),
2753          mainly a missing ' in some HTML.
2754
27552004-09-28 Yanik Crépeau <yanik@exScriptis.com>
2756    * wifidog/include/common.php: Added commented header with cvs
2757          keywords.
2758        * wifidog/include/common.php: Added commented code (not executing) for
2759          further testing with language/localization issues.
2760
27612004-09-27 Benoit Grégoire  <benoitg@coeus.ca>
2762        * sql/wifidog-postgres-schema.sql:  Remove non SQL standard "COMMENT ON"
2763          comments
2764
27652004-09-27 Benoit Grégoire  <benoitg@coeus.ca>
2766        * sql/wifidog-postgres-schema.sql:  Drop procedural language stuff
2767
27682004-09-27 Benoit Grégoire  <benoitg@coeus.ca>
2769        * sql/wifidog-postgres-schema.sql:  Fix layout for the node_owners table
2770        * Begin integrating Patrick Tanguay's new layout and generate the css
2771          dynamically to allow for background images.
2772
27732004-09-22 Benoit Grégoire  <benoitg@coeus.ca>
2774        * portal/index.php:  Fix users appearing online at every hotspot.
2775        * wifidog/classes/Style.php, wifidog/login/index.php:  Fix some potential
2776          cache problems and help with validation.
2777
27782004-09-18 Benoit Grégoire  <benoitg@coeus.ca>
2779        * wifidog/config.php:  Add VALIDATION_GRACE_TIME configuration parameter.
2780        * wifidog/auth/index.php:  Move grace time date arithmetics to the database,
2781          fixes validation period not working.  Stop storing VALIDATION_FAILES
2782          status to the database.  Add check for validation period expiration at
2783          stage login, not just stage counters, this will fix one minute
2784          validation period.
2785        * wifidog/login/index.php:  Check validation period activation, and if
2786          period is expired, explain to the user instead of redirecting to the
2787          gateway.
2788        * wifidog/user_management/index.php:  Fix SQL error at new user registration.
2789
27902004-09-02 Benoit Grégoire  <benoitg@coeus.ca>
2791        * wifidog/node_list.php: Complete the status page
2792        * Add images
2793        * Add hotspot creation date
2794
27952004-08-31 Benoit Grégoire  <benoitg@coeus.ca>
2796        * sql/: Update the postgres schemas and add scripts to ease maintaining it.
2797        * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this
2798          script to the chances will be available in the cvs schemas and initial
2799          data.
2800        * sql/dump_initial_data_postgres.sh: This does the actual dump of the data
2801          in a runnable form.  Note that this needs to be edited manually if you add
2802          a new table requiring initial data.
2803        * INSTALL:  Update for postgres.  Somebody please test this.
2804
28052004-08-31 Benoit Grégoire  <benoitg@coeus.ca>
2806        * wifidog/ping/index.php: Implement logging of which hotspot sent the
2807          heartbeat, from which ip and when.
2808        * wifidog/node_list.php:  Primitive but functionnal hotspot status page.
2809        * wifidog/include/user_management_menu.php:  Change menu labels
2810        * wifidog/local_content/default/login.html: Improve layout.  Someone needs
2811          to make this stylesheet correct, I took shortcuts...
2812        * wifidog/local_content/default/stylesheet.css:  Reduce H1 font size.
2813        * wifidog/user_management/index.php:  Display the menu, will eventually
2814          allow us to present proper help text.
2815
28162004-08-30 Benoit Grégoire  <benoitg@coeus.ca>
2817        * Add link to original requested site.
2818        * wifidog/node_list.php:  New file.  Will become the main node status page.
2819
28202004-08-28 Benoit Grégoire  <benoitg@coeus.ca>
2821        * Primitive network status available form the index page
2822        * Administrative security is implemented.
2823
28242004-08-28 Benoit Grégoire  <benoitg@coeus.ca>
2825        * Fix big gaping security hole in login page (password would be ignored if
2826          the username was used to login)
2827        * PostgreSql port
2828        * Change the method to determine who is online
2829        * Stop keeping unused token once user successfully logs in.
2830        * Fix missing update of token update date.
2831        * Counters wouldn't get updated for stage=LOGOUT
2832        * wifidog/auth/index.php:  Added a Messages: response in addition to Auth:
2833          so we can know what the hell the server is up to.  Currently you need to
2834          run wifidog in debug level 7 to see it. That message should be parsed so
2835          it is visible in debug level 6.
2836        * wifidog/auth/index.php:   Fix code injection vulnerability.
2837
28382004-08-27 Benoit Grégoire  <benoitg@coeus.ca>
2839        * SSL support and RSS improvement
2840        * Last commit tested with mysql support
2841
28422004-08-24 Pascal Leclerc  <pascal@plec.ca>
2843        * wifidog/admin/user_log.php: Add total to incoming and outgoing
2844        * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports
2845
28462004-08-11 Benoit Grégoire  <benoitg@coeus.ca>
2847        * wifidog/config.php: Add USER_MANAGEMENT_PAGE
2848        * wifidog/include/user_management_menu.php:  Code meant to deal with
2849          non-standard ports broke the menu.  Hopefully fixed.
2850        * Add alex's mising changelog entry...
2851
28522004-08-11 Alexandre Carmel-Veilleux <acv@acv.ca>
2853        * wifidog/ping/index.php: will now reply if the wifidog auth server is up.
2854          To be used by wifidog to do heartbeats.
2855
28562004-08-07 Benoit Grégoire  <benoitg@coeus.ca>
2857        * Add code to import a NoCat user database (passwd).  The username will be
2858          generated from the first part of the email if the name was en email.
2859        * Change password hashing algorithm to make it compatible with NoCat (For
2860          the curious among you, the hashing algorithm is now:  take the md5
2861          digest in binary format of the password, and base64 encode it.
2862        * Table schema changed to accomodate newhash length (users.pass is now
2863          varchar(32))
2864        * The user is now allowed to login with either his username or his email.
2865
28662004-08-03 Pascal Leclerc  <pascal@plec.ca>
2867        * wifidog/classes/SmartyWifidog.php: Fix path validation bug, replace
2868          NODE_CONTENT_URL with NODE_CONTENT_PHP_RELATIVE_PATH
2869        * wifidog/classes/AbstractDb.php: Add class=warning for better display
2870        * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports
2871
28722004-08-03 Benoit Grégoire  <benoitg@coeus.ca>
2873        * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set
2874          to true if gettext is available.  If false, blank _() and gettext()
2875          functions will be defined so the system still works.
2876
28772004-08-03 Benoit Grégoire  <benoitg@coeus.ca>
2878        * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully).
2879
28802004-08-02 Benoit Grégoire  <benoitg@coeus.ca>
2881        * wifidog-auth lives! New since the dark ages
2882        * Demo page to allow people to hack more easely on it
2883        * Support for multiple nodes.  TODO:  Merge with the database project.
2884        * Very cool local content architecture.  Every hotspot can have a folder in
2885          the local_content directory.  This folder can be filed by a single logo,
2886          leaving all the rest to the default content, or be completely custom
2887          (stylesheet, login page, portal page, header, etc.)
2888        * Everything in local content is templated with smarty, no problem with
2889          web designer wrecking havoc on the auth server.  You can edit everything
2890          in local_content/default even if you only speak html.
2891        * No need to set any path in the web server config files (that one was a
2892          bitch to implement)
2893        * RSS feed support (optionnal, with magpierss), one feed per node (url
2894          stored in the database, works great, but no gui to edit it yet) and one
2895          network-wide RSS feed.
2896        * All path are editable from the config file
2897        * "Productize" the thing, so it make sense for other groups to install it
2898          (the network name, url, default RSS, and such are set from the config
2899          file).
2900        * Put most strings in gettext calls for easy future translation.
2901        * User can request that the server send the validation email again
2902        * User can change password
2903        * User who forgot his username can have it mailed to him.
2904        * User who lost his password can ask the system to generate a new one and
2905          mail it to him.
2906        * Email is now a separate field to preserve user privacy.
2907        * Enforces (politely) that there are no duplicate emails in the database
2908        * Database abstraction layer with very nice debugging features (just append
2909          true at the end of the call, and you'll see the query, the results, the
2910          query plan and number of affected rows.  Also allow future upgrade to
2911          postgres.
2912        * Lots of other things I forgot.
Note: See TracBrowser for help on using the browser.