root/trunk/wifidog-auth/CHANGELOG @ 1118

Revision 1118, 95.5 KB (checked in by benoitg, 7 years ago)

2006-10-24 Benoit Grégoire <bock@…>

  • EmbeddedContent?.php: Fix content type selection (admin interface of EmbeddedContent? was broken)
  • Full spanish translation curtesy of jguevara @@ unitec.edu (closes #254)
  • Some documentation updates for content filters
  • Content.php: Add isNotContentType() method.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
12006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
2        * EmbeddedContent.php:  Fix content type selection (admin interface of EmbeddedContent was broken)
3        * Full spanish translation curtesy of jguevara @@ unitec.edu (closes #254)
4        * Some documentation updates for content filters
5        * Content.php:  Add isNotContentType() method.
6       
72006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
8        * Access to the Content manager was broken for normal users, again.
9
102006-09-11 François Proulx <francois.proulx@gmail.com>
11        * Changed install.php req. for Smarty 2.6.17 is mandatory
12        * ContentTypeFilter.php fixed the method checking function
13        * Fixed errors in French translation file
14
152006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
16        * Fix PHPMailer that I've broken earlier
17
182006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
19        * Slightly rework SSL detection so that it uses the default server if a current one isn't available.
20                Fixes server passing passwords in the clear if the hostname disn't match (DOH!).
21                We really should properly split the Server class into a singleton Server class and multiple VirtualHost classes.
22        * Re-apply fixed HTMLeditor patch.  (Original description:  Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
23          line count and will stop the codebases from needlessly drifting apart.)
24
252006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
26        * Add missing require of Statistics.php in stats.php
27
282006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
29        * Fix non persistent content being available to add to nodes, networks and content groups.
30        * Prevent a user from entering the same language twice in a langstring.  Fixes #226
31
322006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
33        * Fix #63
34        * Fix problem with my Splash only user fix (I used match on the user_id instead of the username).
35        * Prevent the Splash only user from logging out, wrecking havock in the tokens.
36        * Do not allow SplashOnlyUser to set his preferences.
37        * Assigning a reusable content to a contentgroup element would make it non-reusable.
38Usability and UI fixes:
39        * Allow other users to log in when they are at a splash only node.
40        * Make isSimpleContent class available for Simple content types.  Make it borderless and backgroundless in the default theme_pack.
41        * Simplify HTML output for simple content.
42        * Fix IE layout bug in node admin
43        * Content linked to nodes and networks now edits in a new window.
44        * Remove "Add new node" menu item for consistency.
45
462006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
47        * Remove most inclusions of MainUI in classes.
48        That completely broke authentication (circular dependencies).
49        Fixes 245.
50    Unfixes 242. Exceptions should not be caught in the context
51    they are thrown in. Else there no point in throwing exception in the
52    first place.
53        * HyperLink.php:  Fix bug where a link with identical text as it's link would see the text replaced by the clickthrough-tracked equivalent.
54
552006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
56        * ContentTypeFilter:  New class, implements #159.  Allows to filter content type according to various criteria.  Will be used more extensively in the profile manager.
57        * Content manager:  Use content type filter to only allow Simple content types (Content without metadata) to be used for metadata.
58        * New content type BannerAdGroup.  Used (primarily) to display banner adds, or any other image rotation.  Size constraints not yet implemented
59        * Move externally maintained class.phpmailer.php, class.smtp.php into lib where they belong
60        * DateTime.php: Make class handle an empty date sensibly.
61        * Network.php:  Show the network again when there is only one.  It was confusing in some screens.
62        * page.php:  Clarify error message, and set a more reasonnable paging cascade:
63                5 min, 30 min, 2 hours, 1 day, 1 week, 1 month
64        * Finally fix #127
65        * 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.
66        * Fix #247 (somebody filed a bug before I commited, conveniently saving me the need to describe it).
67        * The Fix for #106 in [1089] returned non-objects, causing error messages and not displaying what it was meant to display.
68                Used Guest instead of Annonymous, which will probably be used for different purpose in the future.
69                This re-fix does not include duplicate counting yet.  Splash users are not the only users that could log-in multiple times.
70                I don't have a staging server here, a fix will be commited in a few minutes if something goes wrong.
71        * Cleanup coments.
72        * Sync schemas
73
742006-09-03 Max Horváth <max.horvath@maxspot.de>
75        * The term SPLASH_ONLY_USER displayed to people visiting the portal has been
76          replaced by the more meaningful term "anonymous user" (fixes #106)
77        * When creating a new node and choosing an existing node_id there will be
78          shown an error message (fixes #223)
79        * If one or more nodes aren't monitored they now will be announced on the
80          front page (instead of just showing the number of monitored online nodes)
81          (fixes #100)
82        * Display more meaningful error messages if required user permissions are
83          missing (fixes #242)
84        * Refactored Network->getAdminUI() to match look and feel of
85          Node->getAdminUI (fixes #140)
86        * Show descriptive status of node (fixes #241)
87
882006-09-02 Max Horváth <max.horvath@maxspot.de>
89        * Installation script checks for PHP session extension (fixes #139)
90        * Removed "Call-time pass-by-reference has been deprecated" warnings
91          (fixes #239)
92        * Revert changes of FCKeditor implementation (fixes #240)
93        * Fix of FCKeditor implementation, now also supports FCKeditor 2.3+
94          (fixes #145)
95        * Hotspots/Nodes are sorted case-insensitive now (fixes #109)
96        * Fix #141
97        * templates/sites/index.tpl: fix wrong user count (fixes #236)
98        * Added more trash mail services to the black list (fixes #149)
99
1002006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
101        * Fix #189, #173
102
103
1042006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
105        * Content.php:  Improve handling of simple but persistent content.
106
1072006-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
108        * Server.php:  Make sure getCurrentServer returns the default server if the
109          hostname isn't recognised.
110        * Content manager:
111                - Allow deleting simple (trivial) but persistent content
112                - Remove the sponsor info field from Content Metadata.  Best practices
113                  is now to use the project info field to show this information.
114        * Add the necessary schema constraints to allow manually deleting networks,
115          nodes and users.  Be carefull, removing any of theses will remove all
116          traces of connection statistics as well.  You've been warned.
117        * Do not display the network in the login interface if there is only one.
118        * Add a pseudo-random content ordering mode.  Pick content elements
119          randomly, but do not display the same content twice untill all content
120          has been seen.
121        * Allow setting a title but not displaying it (very usefull for reusable
122          content)
123
1242006-08-29 Max Horváth <max.horvath@maxspot.de>
125        * Cleaned up PHPdoc tags
126        * Updated german translation
127        * Updated portuguese translation, thanks to Gabriel Hahmann
128        * Added spanish translation, thanks to Ricardo Jose Guevara Ochoa
129
1302006-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
131        * Add SimplePicture content type
132        * Fix #225 (For both nodes and networks)
133
1342006-08-28 Max Horváth <max.horvath@maxspot.de>
135        * Integrated KML node list export
136        * Integrated PDF node list export
137        * Updated Sprintf formatted strings in some Smarty templates
138
1392006-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
140        * clickthrough.php, HyperLink.php:  Implement working hyperlink
141          clickthrough tracking (no reporting yet).
142          Works for Langstring, FlickrPhotoStream, Picture, RssAggregator and their
143          subclasses.
144        * Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
145          line count and will stop the codebases from needlessly drifting apart.
146        * Do not log content displayed as metadata, and log their clickthrough as
147          the parent's.
148
1492006-08-27 François Proulx <francois.proulx@gmail.com>
150        * Updated French translations
151        * Now using Sprintf formatted strings in some Smarty templates (see
152          example in templates/sites/index.tpl).
153        * Integrated back the SQL profiling functions
154
1552006-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
156        * Fix a bug where having an empty username would break statistics.
157
1582006-07-07 Benoit Grégoire  <bock@step.polymtl.ca>
159        * Fix a bug in some reports when selecting a single user.
160
1612006-07-05 Benoit Grégoire  <bock@step.polymtl.ca>
162        * Fix #175.
163        * Fix the "Registration Log" and "User registration report" reports giving
164          incorrect statistics
165        * Allow disabling EventLogging class in config.php, to make SQL debuging
166          possible (The class was traping errors before AbstractDb could
167          output them)
168        * Make EVENT_LOGGING default to false for now, as it turns out EventLogging
169          was the cause of the Spurious PEAR output ("Runtime Notice: ") we've
170          been seeing.  That is probably only because we don't understand how to
171          properly control it's logging level.
172
1732006-06-18 François Proulx <francois.proulx@gmail.com>
174        * Added creation_date , last_update_date support to File content (with
175          proper HTTP caching handling)
176        * Added hyperlinks URL support in Picture content
177        * Fixed constants in Flickr Content
178        * Fixed #171 (Can't add existing content to Node)
179
1802006-06-17 François Proulx <francois.proulx@gmail.com>
181        * First iteration of JiWire CSV export
182                * Use : hotspot_status.php?format=JiWireCSV
183        * Fully working, but Excel doesn't seem to handle well UTF-8
184          investigation in progress.
185
1862006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
187        * Fix #151.  It was still around after all.
188
1892006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
190        * Completely refactor the look and html of the content manager, statistics
191          and most object's administrative interfaces.
192          Should be much simpler and clearer now.
193          No refactoring of the editing flow has been done yet.
194        * Spell check the french translation, and add a few of the missing strings.
195
1962006-05-26 François Proulx <francois.proulx@gmail.com>
197        * Added 'ja' to database locales table
198
1992006-05-26 François Proulx <francois.proulx@gmail.com>
200        * Added Japanese translation .po file
201          (Thanks to taedu AT ninjin-net DOT net)
202
2032006-05-24 François Proulx <francois.proulx@gmail.com>
204        * Stylesheet changes for left_area_bottom content block.
205
2062006-05-24 François Proulx <francois.proulx@gmail.com>
207        * Simplified Google Maps JS code to use more of the v2 abstraction
208        * Improved admin panels CSS classes
209
2102006-05-23 Benoit Grégoire  <bock@step.polymtl.ca>
211        * config.php:  Disable USE_CACHE_LITE, it's definitely not stable, and
212          causes very hard to track down problems with Internet Explorer.
213
2142006-05-22 François Proulx <francois.proulx@gmail.com>
215        * Fixed isValidUsername() Js function to allow caret and dot characters
216
2172006-05-22 François Proulx <francois.proulx@gmail.com>
218        * Use Pgsql persistent connections
219
2202006-05-22 François Proulx <francois.proulx@gmail.com>
221        * Removed unnecessary debug message
222        * Fixed getNumOnlineUsers to count users by MAC on splash only nodes
223
2242006-05-22 François Proulx <francois.proulx@gmail.com>
225        * Added generateFromArray parameter (max_length)
226        * Restricts select content ui combo box to 40 chars
227        * Added Smarty plugin modifier.fsize_format.php
228
2292006-05-21 François Proulx <francois.proulx@gmail.com>
230        * Stupid IE CSS bug fixed
231
2322006-05-21 François Proulx <francois.proulx@gmail.com>
233        * Fixed various bugs in content system
234        * stylesheet work
235
2362006-05-21 François Proulx <francois.proulx@gmail.com>
237        * Think I've fixed Google Maps on IE.
238                * need to test on another system..
239
2402006-05-20 François Proulx <francois.proulx@gmail.com>
241        * Completed french translations
242        * Fixed Flickr javascript
243        * Various stylesheet improvements to tighten up the portal and admin
244
2452006-05-20 François Proulx <francois.proulx@gmail.com>
246        * Various stylesheet improvements, started working on Île Sans Fil network
247          specific theme pack
248        * Fixed a few layout bugs
249
2502006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
251        * USE_BASE_NON_SSL_PATH for hotspot map, else internet explorer whines
252          endlessly
253
2542006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
255        * index.tpl:  Fix link to the map not being displayed at a hotspot, even
256          when you are logged in.  There needs to be much better logick before we
257          export such things to smarty templates.
258
2592006-05-20 François Proulx <francois.proulx@gmail.com>
260        * Added /wifidog/contrib and /wifidog/contrib/xslt directories
261        * Posted Île Sans Fil XSLT example stylesheet for converting the
262          hotspot_status page
263                * Browser view
264                * PDA view (by Jean-Pierre Lessard <jplprog@videotron.ca>)
265                * Simply use in this manner :
266                  http://wifidog-server.org/hotspot_status.php?format=XML&xslt=http://wifidog-server.org/contrib/xslt/hotspot_status_browser.xsl
267
2682006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
269        * page.php:  Fix bugs in various files preventing the system from working
270          from the command line.
271
2722006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
273        * More install script fixes:  Phlickr wouldn't install, and the permissions
274          of wifidog/tmp/smarty/cache weren't checked.
275
2762006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
277        * More stylesheet and HTML work
278
2792006-05-18 Benoit Grégoire  <bock@step.polymtl.ca>
280        * Fix loging form incorrectly attempting to validate the password,
281          preventing many existing accounts from logging-in.
282        * Interim commit, begin simplifying the html ans stylesheets, and re-doing
283          the general look.
284          This is incomplete, this commit was done to fix the problem above.
285        * install.php:  Fix path problems, make shel command errors visible.  Update
286          magpie and smarty url to latest versions (note that this won't
287          automatically update an existing install).  Didn't touch phlickr as I
288          didn't know the implications
289        * Add interactive scripts in sql/ to easily backup and restore a wifidog
290          auth server database.
291
2922006-05-10 François Proulx <francois.proulx@gmail.com>
293        * Fixed Google Maps script path to images.
294
2952006-05-10 François Proulx <francois.proulx@gmail.com>
296        * Added sweetTitles tooltips script, now if you need to add tooltips simply
297          add the 'title' attribute to you html <a>, <attr>, <accroym> tags
298        * Fixed usort bug in MainUI
299        * Fixed download (wget) in install.php
300
3012006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
302        * Working (if slightly basic) theme manager.  You can pick the theme in the
303          network configuration.
304          To add your own theme, read wifidog/media/network_theme_packs/README.txt
305        * Cleanup and document the wifidog directory structure
306        * Minor HTML corrections for content types
307        * Completely rip out the old local_content system, and a bunch of obsolete
308          defines and config variables.
309        * Get rid of PHP generated stylesheets
310
3112006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
312        * Finish content assignation system
313        * Content ordering is now global (network, nodes and everywhere content cand
314          now be in mixed order).
315        * Implement 'everywhere' content
316        * Change MainUI::apendContent to MainUI::addContent
317
3182006-04-28 François Proulx <francois.proulx@gmail.com>
319        * Fixed error in initial data script
320
3212006-04-28 Benoit Grégoire  <bock@step.polymtl.ca>
322        * wifidog/login/index.php: Correctly use DEFAULT_NODE_ID from config.php
323          instead of hardcoded 'default'
324
3252006-04-28 François Proulx <francois.proulx@gmail.com>
326        * Fixed initial_data schema script so that it adds a dummy server.
327
3282006-04-25 François Proulx <francois.proulx@gmail.com>
329        * Updated JavaScript code to work with Google Maps v2 API
330        * v2 will now provide full maps of European countries and is a bit faster
331        * Updated the schema accordingly with new GMaps values
332
3332006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
334        * Dependencies.php:  Small fix in case gettext isn't installed
335
3362006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
337        * AuthenticatorLDAP.php:  Merge patch from jguevara@unitec.edu.  Fixes #125
338
3392006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
340        * Major system locale handling overhaull.  Hopefully abstract out the UTF8
341          problems once and for all, allowing everyone to define them the same way.
342          Fix a few bugs along the way. Should also be a little faster.
343
3442006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
345        * Revert Rob's SYSTEM_PATH change.  Sorry about that.  The devs spent hours
346          to finally get the PATH stuff consistent and fixing the countless bugs
347          that this process introduced.
348          Maybe some links still need to use BASE_URL_PATH instead of BASE_SSL_PATH,
349          (or vice-versa) but it was on purpose that SYSTEM_PATH was not made
350          available to Smarty.
351          We already have 3 defines to be used for links and html refs, that's
352          enough BASE_SSL_PATH should be used to enter SSL mode (if available)
353          BASE_NON_SSL_PATH should be used to break out of SSL mode of when we
354          explicitely do not want someting to be referenced over http
355          BASE_URL_PATH should be used in all other cases to avoid needless
356          SSL warning
357
3582006-04-17 Rob Janes <janes.rob@gmail.com>
359        * javascript for validating and navigating forms.
360        * help text (untranslated).
361        * EVENT_LOGGING enabling/disabling flag.
362        * use SYSTEM_PATH instead of BASE_URL_PATH and BASE_SSL_PATH where ever
363          appropriate.
364        * standardize Smarty variables for Network and User info by adding
365          assignSmartyValues($smarty, $self) to Network and User.
366        * change_password only allowed if logged in.
367        * non-superadmin can only use change_password to change their own password.
368        * superadmin can use change_password to change any user password by
369          entering in their password for the old password.
370        * page_header div defined and positioned in MainUI
371
3722006-04-04 Benoit Grégoire  <bock@step.polymtl.ca>
373        * /classes/Content/IFrame/IFrame.php: Change a few methods from private
374          to protected as the private methods broke IFrameRest
375
3762006-04-01 François Proulx <francois.proulx@gmail.com>
377        * Dumped initial schema from working install
378
3792006-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
380        * dump_initial_data_postgres.sh:  Add the content_available_display_pages
381          table to the dump, can someone re-generate the initial data from a
382          working install
383        * Remove the ?> tags from all the classes.
384
3852006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
386        * Fix bug where right_area_bottom content wouldn't be displayed.
387        * Minor CSS cleanup
388
3892006-03-28 François Proulx <francois.proulx@gmail.com>
390        * Fixed error in initial schema (bad client encoding)
391
3922006-03-28 François Proulx <francois.proulx@gmail.com>
393        * Fixed schema 37 : left_area_top
394        * Updated initial schema
395
3962006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
397        * First step in massive simplification of CSS and templates
398        * Implement the new main CSS structure
399        * Implement working content assignation interface and content ordering for
400          both network and nodes.
401        * Display of content according to assignation work on 'portal' and 'login'.
402          'everywhere' not yet implemented
403        * Get rid of some ISF specific interface elements
404        * Finally replace the overly complicated start button by a
405          "Use the Internet" link that will not get you out of your working tab
406        * Fix #118
407
4082006-03-26 Benoit Grégoire  <bock@step.polymtl.ca>
409        * init_php.php: Fix stripslashes_cb() so it actually works, this means the
410          auth server should work properly with auth servers with magic quotes
411          turned on.
412          This is still not recommended however.
413        * Remove some spurious error ouptut on logout.
414        * Remove potential error in network id parsing
415
4162006-03-22 François Proulx <francois.proulx@gmail.com>
417        * Fixed Google Maps URLs bug
418        * Since Google Maps does not provide Javascript over SSL (it does but the
419          certificate does not match) the code path to the map does not use SSL, but
420          the outgoing URLs do.
421        * Removed lost echo in Locale.php
422
4232006-03-21 Benoit Grégoire  <bock@step.polymtl.ca>
424        * login/index.php: Remove huge security hole introduced by stylistic
425          changes in the file. A user could login to any hotspot by simply filling
426          a blank form because of a gratuitous change from empty to is_null
427          everywhere.  Remove escaping or REQUEST parameters in non SQL
428          related code, as this would lead to double unescaping down the line.
429          Remove logic dependent on encapsulated side effects of object method call.
430
4312006-03-19 François Proulx <francois.proulx@gmail.com>
432        * Updated French translations
433
4342006-03-18 Rob Janes <janes.rob@gmail.com>
435        * path_defines_base working for combinations of DocumentRoot, Alias,
436          and installed wifidog-auth directory, correctly setting SYSTEM_PATH
437          and WIFIDOG_ABS_FILE_PATH dynamically.
438        * classes/Locale.php::getBestLanguage changed to correctly parse
439          HTTP_ACCEPT_LANGUAGE, comma is the correct delimiter not semi-colon.
440          Ignores SESS_LANGUAGE_VAR if invalid.
441
4422006-03-18 Rob Janes <janes.rob@gmail.com>
443        * Fixed bug #77 classes/EventLogging.php non-variable pass by reference
444
4452006-03-16 François Proulx <francois.proulx@gmail.com>
446        * Removed stale owner_sendfiles.php (now integrated in the Content Manager)
447        * Cleaned up a bunch of stale TODOs
448
4492006-03-16 Max Horváth <max.horvath@maxspot.de>
450        * updated language files (new german strings have already been translated)
451        * added LDAP authentication
452        * Dependencies class can check for an PHP extension now
453        * Dependencies class can check for multiple files on a single dependency now
454        * Authentication classes moved to it's own directory
455        * The getAuthenticator method now uses the much safer and faster
456          call_user_func_array function to return an authenticator object
457        * the available authenticator classes are now being displayed in a select
458          box on the network administration page
459        * the link to and the Google hotspots map as is won't be shown to an
460          unauthenticated user at a real hotspot
461
4622006-03-16 Benoit Grégoire  <bock@step.polymtl.ca>
463        * hotspots_map.tpl:  Use base_url_path instead of base_ssl_path
464
4652006-03-09 Benoit Grégoire  <bock@step.polymtl.ca>
466        * init_php.php: Try to fix #102 by inspection
467        * Delete AbstractDbMySql.php, and collapse AbstractDbPostgres.php
468          into AbstractDb.php to prepare for eventual switch to PDO file.
469        * incoming_outgoing_swap.php:  Delete file, closes #85
470
4712006-03-09 Max Horváth <max.horvath@maxspot.de>
472        * fixed small bug in the InterfaceElements class
473        * fixed PHP notices in portal/index.php and Locale class
474        * fixed small bug in Authenticator class which in resulted in a fatal PHP
475          error if a user logged out when his session was already gone
476    * using the {$isUserAtHotspot} smarty variable you can check now in every
477      template if a user calls the portal from a hotspot or not
478
4792006-03-08 Max Horváth <max.horvath@maxspot.de>
480        * fixed small bug where clicking on the start button at the portal page
481          didn't open the wifidog portal, but the requested page
482        * updated source to generate a clean PHPdoc output
483        * updated PHPdoc generating script
484
4852006-03-07 Max Horváth <max.horvath@maxspot.de>
486        * init_php.php now does a 100% strict check for variable types of
487          elements to be processed when magic_quotes are turned on
488        * fixed duplicate use of SSL_AVIABLE define in common.php
489          This fixes ticket #95.
490        * fixed problens with slashes in htospots_map.php
491          This fixes ticket #97.
492        * fixed variable typo in NodeListXML.php
493        * introduced new InterfaceElements class which is being used to create
494          HTML code - this reduces HTML markup in PHP code and reduces HTML errors
495          we had i.e. on the node administration page (unclosed div).
496          It is being used on the node administration page now and will be updated
497          for the other admin pages ...
498        * when adding an owner or tech officer on the node admin page and pressing
499          enter in the input field the statistics where called (no owner or tech
500          officer was added) - this has been fixed
501        * database schema update 35 wasn't compatible with PostgreSQL version 7,
502          the update script has been changed to be compatible with it ...
503          This fixes ticket #94.
504        * Gabriel Hahmann did a translation of WiFiDog-Auth in portuguese ... it has
505          been included
506          This fixes ticket #98.
507        * on node administration page owners have less rights than admins
508
5092006-03-02 Max Horváth <max.horvath@maxspot.de>
510        * converted PNGs to GIFs because Internet Explorer cannot handle alpha
511          transparency of PNGs
512
5132006-02-28 Max Horváth <max.horvath@maxspot.de>
514        * the content selector for an owner could produce notices
515        * the button add existing content in the content manager will only be shown
516          if content is actually available
517        * the start button on the portal page won't be shown anymore if a user
518          didn't access it from a WiFiDog hotspot
519        * deleted wifidog/templates/message_unknown_hotspot.html as this error
520          message will be displayed using the genecir error message template
521        * display of generic error messages will be handled by the MainUI class
522        * deleted wifidog/portal/missing_original_url.php as its functions is being
523          handled by wifidog/portal/index.php now
524        * deleted wifidog/templates/message_default.html as its functions is being
525          handled by wifidog/gw_message.php now
526        * deleted wifidog/templates/message_activate.html as its functions is being
527          handled by wifidog/gw_message.php now
528        * account validation hints finally show the real validation grace time
529          (used to display 15 minutes)
530        * deleted wifidog/templates/message_denied.html as its functions is being
531          handled by wifidog/gw_message.php now
532        * deleted wifidog/templates/message_failed_validation.html as its functions
533          is being handled by wifidog/gw_message.php now
534        * deleted wifidog/templates/user_management_menu.html as its not being
535          used anymore
536        * deleted wifidog/local_content/default/footer.html as its not being
537          used anymore
538        * deleted wifidog/local_content/default/header.html as its not being
539          used anymore
540        * deleted wifidog/local_content/default/portal.html as its not being
541          used anymore
542        * deleted wifidog/local_content/default/new.css as its wasn't ever used
543        * deleted wifidog/local_content/README as its content isn't valid anymore
544          used anymore
545        * Login site now uses a Smarty template to render HTML page
546        * class MainUI now also delivers $isOwner variable for Smarty
547
5482006-02-26 Max Horváth <max.horvath@maxspot.de>
549        * Hotspots map page now uses a direct Javascript call for the link
550          "Show me on the map" (resulting in the browser not jumping to the top of
551          the page if a user clicks on such a link)
552        * refactored hotspot status page, it now uses node list classes to generate
553          output
554        * WIFI411_CSV has been removed from hotspot status page - it didn't work
555          properly - a working version can be added to /wifidog/classes/NodeLists
556        * RSS feed of hotspot status now delivers language of user
557        * RSS and XML feed of hotspot status now actually do deliver data from
558          the requested network (before the code accepted network selection but
559          actually switched back to the current network)
560        * RSS feed of hotspot status page now gets announced in browser
561
5622006-02-25 Max Horváth <max.horvath@maxspot.de>
563        * fixed undefined variable bugs in statistic classes (use of date_from and
564          date_to), variables were processed directly from request, without any
565          check
566          This fixes ticket #71.
567        * clicking on a username in user logs now generates a individual user
568          report as it does when clicking on a username on the online users page
569        * Changing the value of the "Is persistent" checkbox doesn't have to
570          saved when JavaScript is enabled in the browser. Before this change
571          you had to save a content. So if you wanted to delete a persistant content
572          you first had to uncheck this checkbox, save the content and delete the
573          content after saving it. If JavaScript is enabled in your browser you
574          can go straight ahead, uncheck the checkbox and delete the content.
575          This fixes ticket #73.
576        * when processing global arrays if magic quotes is enabled, WiFiDog will
577          check for type variables
578          This fixes ticket #84.
579        * the RSS feed of nodes now delivers the correct link to the nodes homepage
580          This fixes ticket #80.
581        * small fix in schema_validate.php which should affect nobody (in schema
582          version 9)
583          This fixes ticket #79.
584        * fixed "Show all available contents for this hotspot" link which didn't
585          work if WiFiDog wasn't located in the root folder of the webserver
586        * the "Show all available contents for this hotspot" link won't be shown
587          anymore unless all requirements are meet that all content of a hotspot
588          would be shown. The requirements are: you need to have at least one
589          Content Group tagged artistic and locative content, with at least one
590          content group element available for display.
591          This fixes ticket #35.
592        * adjusting the location of a node via the Google maps geocoding service)
593          and clicking the button "Use these coordinates" didn't work
594          This fixes ticket #81 and #82.
595        * the content select box now only shows the content to a user of which is
596          is the owner from (same mechanism has already been used on the content
597          manager page) or all content if the user is a superadmin
598        * wifidog/admin/content_admin.php removed, because the content manager now
599          uses the generic object administration interface
600        * the creation date of a network can be changed now (this value wasn't
601          displayed in the admin interface, even though it was present in the
602          database)
603        * revamped administration sidebar, cleaner interface for the superadmin,
604          for the owner of a node nothing changes
605        * added "server administration" section to the administration interface
606        * Added administration of webservers. For one webserver not much changes.
607          The SSL available setting has been moved to this section (and removed
608          from config.php). Running WiFiDog on two or more webserver (with one
609          database) you now can define the different hostnames of the webserver.
610          Of course you can also define, which of those webserver serves SSL. This
611          is for example essential for the Google maps feature (different API keys
612          for different hostnames)
613        * for every network you now can define it's own Google Map initial values
614          and map types
615        * Hotspots map page now supports different maps for different networks
616        * Hotspots map page now supports different map types for different networks
617          This fixes ticket #69
618        * Hotspots map page now offers full multilingual support (text in the
619          JavaScript file was english only)
620        * Hotspots map page now uses a Smarty template to render HTML page
621
6222006-02-21 Max Horváth <max.horvath@maxspot.de>
623        * fixed access restriction for HTMLeditor in templates folder
624        * fixed XML error in HTMLeditors CSS and HTML templates
625        * fixed undefined variable bug in content class ContenGroup
626        * start page now uses a Smarty template to render HTML page
627        * start page now also displays information about deployed/operational nodes
628        * information about valid/online users and deployed/operational nodes gets
629          cached if caching has been enabled (valid/online users for 1 minute,
630          deployed/operational nodes for 5 minutes)
631
6322006-02-17 Max Horváth <max.horvath@maxspot.de>
633        * refactored lost username site - now it also includes the help toolbox
634        * lost username page now focuses input field automaticly (like on login or
635          signup page)
636        * refactored lost password site - now it also includes the help toolbox
637        * lost password page now focuses input field automaticly (like on login or
638          signup page)
639        * refactored sesend validation email site - now it also includes the help
640          toolbox
641        * refactored resend validation email page now focuses input field
642          automaticly (like on login or signup page)
643
6442006-02-16 Max Horváth <max.horvath@maxspot.de>
645    * added full PHPdoc documentation to Mail class
646    * added more temporary-email-address-providers to the black-list
647        * Login site now uses a Smarty template to render HTML page
648        * refactored signup site - now it also includes the help toolbox
649        * removed Phlickr directory in /lib dir as Phlickr must be installed via
650          PEAR
651        * modified gen.sh to include new template folders for the
652          translation file generation
653
6542006-02-15 Max Horváth <max.horvath@maxspot.de>
655        * Login site now uses a Smarty template to render HTML page
656
6572006-02-14 Max Horváth <max.horvath@maxspot.de>
658        * converted Session class to PHP5 style
659        * moved code used used to init PHP into wifidog/include/init_php.php
660        * fixed bug regarding APC (super globals weren't initialized before their
661          first use
662        * in an attemp to enter the administration interface of WiFiDog and not
663          being logged in you'll be redirected to the administration interface after
664          a successful login, if you are an admin or owner of a node. This only
665          works for a virtual login, as it isn't needed to be done when logging in
666          via a WiFiDog node (then you have to login anyway on the splash page
667          first)
668        * fixed preview of network in administration interface as content for a
669          network as is isn't available in the code, yet
670
6712006-02-13 Rob Janes <janes.rob@gmail.com>
672    * cron/cleanup.php needed new way to call common.php
673        * added cron/vacuum.php to round things out
674
6752006-02-07 Benoit Grégoire  <bock@step.polymtl.ca>
676        * Fix a bunch of file inclusion bugs in the statistics subsystem.
677          This is only a ad-hac fix. It seems the requires for just about every
678          class have been stripped off. This must be fixed, all classes should
679          require_once all classes or include that they need that isn't included by
680          a parent class.
681
6822006-02-06 Benoit Grégoire  <bock@step.polymtl.ca>
683        * wifidog/local_content/default/hotspot_logo.jpg: Delete deprecated file
684        * wifidog/local_content/default/hotspot_logo_banner.jpg: Delete deprecated
685          file
686
6872006-02-04 Max Horváth <max.horvath@maxspot.de>
688        * MainUI class now uses Smarty templates to render HTML pages
689        * display of debug messages by using $_REQUEST['debug_request'] on any
690          page is now only possible for a super admin
691        * caching class now supports lifetime of a cache and every data type
692          supported by PHP (except the resource-type)
693        * Content class caches available content plugins for 7 days if caching has
694          been enabled -> results in a nice speed-up on every page call because
695          of 17 saved filesystem queries
696        * converted Security class to PHP5 style and it's functions to static
697          functions
698        * fixed broken HTMLeditor support
699        * implemented PEAR::HTML_Safe cache support - if PEAR::HTML_Safe has been
700          installed it strips down all potentially dangerous content within HTML
701          that has been entered using the content plugins Langstring,
702          TrivialLangstring and HTMLeditor
703        * moved /wifidog/include/HTMLeditor to /wifidog/content/HTMLeditor
704        * fixed thrown exception in path_defines_base.php (sprintf() was used
705          uncorrectly)
706        * template for definition of SYSTEM_PATH has been added to config.php
707          for easier definiton when path detection failes
708        * from now on caching is enabled by default in config.php - it means that
709          WiFiDog caching features will automaticly be used if PEAR::Cache_Lite
710          has been installed
711        * updated installation file to represent all the new modules that can be
712          installed to use all WiFiDog features
713
7142006-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
715        * path_defines_base.php:  Fix syntax errors in the exception thrown. Add
716          more meaningfull output
717
7182006-01-29 Max Horváth <max.horvath@maxspot.de>
719        * WiFiDog now detects APC PHP cache and eAccelerator PHP cache and disables
720          both PHP caches, because WiFiDog currently doesn't run with either of
721          those PHP caches (I'm still investigating why)
722        * added a missing <ul> HTML tag on the administration page
723        * the validation mail sent to new users now includes the full path to the
724          WiFiDog installation (before it assumed WiFiDog to be installed in
725          the document root of the webserver)
726        * fixed display of start button of portal when WiFiDog is not installed
727          in the document root of the webserver
728        * replaced $_SERVER["DOCUMENT_ROOT"]-stuff with our defines made in
729          path_defines_base.php
730        * updated HTMLeditor content class to use the new, moved stylesheet.css
731        * fixed error messages not displaying technical support e-mail address
732
7332006-01-25 Max Horváth <max.horvath@maxspot.de>
734        * a notice message regarding timezones was being displayed when running PHP
735          5.1.0+ due to rewritten date functions of PHP. There is a new config flag
736          in config.php named DATE_TIMEZONE. Set it to your local timezone.
737          Don't forget to update your local.config.php in case you're using it.
738
7392006-01-24 Benoit Grégoire  <bock@step.polymtl.ca>
740        * Dependencies.php:  We missed one more instance of non-unifrom code for
741          path detection. The Dependencies class now uses the code in
742          include/path_defines_base.php like the rest of the system. Also make it
743          returns more usefull error messages.
744        * SmartyWifidog.php: Output the error returned by Dependencies if Smarty
745      cannot be found for some reason.
746
7472006-01-23 Max Horváth <max.horvath@maxspot.de>
748        * Removed compiled PHPdoc documentation
749        * moved createDoc.sh to "doc" directory, documentation can be generated on
750          the fly now, in the future we'll be generating a nightly PHPdoc on
751          wifidog.org
752        * renamed "ChangeLog" to CHANGELOG, resulting this file being parsed by
753          PHPdoc
754        * moved "header.gif" image to its own folder in the images directory
755        * touched almost every PHP file in WiFiDog auth server for PHPdoc generating
756          compiling without any warnings
757        * Initialized uninitialized variables in Node class
758        * Fixed initialization error of one variable
759        * Configuration file (config.php) will be read before path detection is
760          being started (otherwise there was no chance to set a manual SYSTEM_PATH)
761
7622006-01-22 Benoit Grégoire  <bock@step.polymtl.ca>
763        * common.php: Real fix for Ticket #59 ;)
764        * common.php: Untested fix for Ticket #59
765
7662006-01-18 François Proulx <francois.proulx@gmail.com>
767        * Remove unneeded .cvsignore files since the svn:ignore property is set to
768          the same list
769
7702006-01-11 Rob Janes <janes.rob@gmail.com>
771    * classes/User.php: added setters, getters, throw exceptions, added
772      refresh() subr, tweaked language
773
7742006-01-09 Max Horváth <max.horvath@maxspot.de>
775        * createDoc.sh: added description of how to install requirements
776
7772006-01-08 Benoit Grégoire  <bock@step.polymtl.ca>
778        * common.php: Improve path detection code, and start moving PATH detection
779          back to a central location. You should NEVER go to any $_SERVER[]
780          variables for path related stuff, all you need is already available
781          in defines.
782        * UserReport.php: Remove dangling reference to BASEPATH.
783        * install.php: Use centralised path detection.
784
7852006-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
786        * config.php, common.php: Completely remove SYSTEM_PATH from config.php,
787          making one less config option to manage.  It is now autodetected.
788
7892006-01-03 Rob Janes <janes.rob@gmail.com>
790        * added support for classes/EventLogging.php.
791        * modified include/common.php to pull in the EventLogging class
792        * modified index.php to kick start error logging with minimal setup.
793          I didn't setup a css for this, so any errors are simply pushed out
794          when the logging channel is destructed.
795        * other changes to include/common.php - a host of utility functions,
796          prefixed with "cmn" to avoid namespace collision.
797        * stock config.php, added global $AVAIL_LOCALE_ARRAY, cause of my change
798          to include/common.php, wrapping the require_once in a function.
799
8002006-01-04 Pascal Leclerc <isf@plec.ca>
801    * install.php: New security validation and small bugs fix in admin account
802      creation
803
8042006-01-02 Rob Janes <janes.rob@gmail.com>
805        * split static stylesheet.css from smarty template stuff.
806          local_content/default/stylesheet.css has only smarty template stuff.
807          local_content/common/stylesheet.css has all the rest.
808        * classes/MainUI.php changed to <link ...> the common stylesheet.css, while
809          still smarty fetching the templated stylesheet.
810        * classes/SmartyWifidog.php changed to set a smarty template variable so
811          that the templating stylesheet could work.
812
8132005-12-29 François Proulx <francois.proulx@gmail.com>
814        * Integrating Philippe's code for User class
815        * This build needs extensive testing please
816        * E-mail blacklisting (Mail class)
817
8182005-12-29 François Proulx <francois.proulx@gmail.com>
819        * Added Aidan's file_exists_incpath function to Dependencies class
820        * Translated and standardized most of PostgreSQL abstraction class.
821        * Removed blank lines at end of many files
822        * Tested the new Phlickr package, which fixes URL on Flickr
823
8242005-12-28 Max Horváth <max.horvath@maxspot.de>
825        * Removed BASEPATH define from source - resulting in a better
826          require-overview
827        * speed improvement of 7% by optimizing Dependencies class
828        * improved documentation of content classes
829
8302005-12-26 François Proulx <francois.proulx@gmail.com>
831        * Fixed bug when the same user was owner of many nodes
832        * Added missing reference to content_display_location initial data in dump
833          script
834
8352005-12-26 François Proulx <francois.proulx@gmail.com>
836        * Tiny modifications to config.php
837        * Reinserted the deprecated defines, created errors on my system
838        * Fully translated FormSelectGenerator class, Locale
839        * Added comments to Utils, Locale etc..
840        * Fully tested installation from scratch using blank database with
841          installation script
842        * Improved installation script a bit
843        * Synched SQL for CVS schema 29 --> 33
844
8452005-12-26 Max Horváth <max.horvath@maxspot.de>
846        * added new headers to every source file
847        * converted file to represent a tab as four (4) spaces
848        * added PhpDocumentor documentation
849        * added WiFiDog skin to HTMLeditor
850        * language selection in a content class now shows the language name instead
851          of the language code
852        * added caching support to content classes Langstring and TrivialLangstring
853
8542005-12-15 Max Horváth <max.horvath@maxspot.de>
855        * fixed bug in dependencies class when gettext support for PHP is not
856          available
857
8582005-12-14 Max Horváth <max.horvath@maxspot.de>
859        * fixed bug in config.php:59 ... was unable to select DB server
860
8612005-12-08 Max Horváth <max.horvath@maxspot.de>
862        * added FCKeditor to the supported libraries
863        * added new content type: HTMLeditor
864        * added new caching class which uses PEAR::Cache_Lite - must be enabled in
865          config.php
866        * HTMLeditor is the first class using the new caching class
867        * removed unused function from content type Langstring
868        * beautified and reorganized config.php and added a new switch for the
869          caching class
870
8712005-12-06 Max Horváth <max.horvath@maxspot.de>
872        * fixed SQL bug when calling the "report configuration" page as a node owner
873
8742005-12-05 François Proulx <francois.proulx@gmail.com>
875        * Crunched the Google Maps Div block for better display on small screens
876
8772005-12-05 Max Horváth <max.horvath@maxspot.de>
878        * fixed bug when calling the preview version of a login page
879
8802005-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
881        * User.php: Fix a bug in the sql query in isUserValid(). Checked that the
882          change works with postgresql 7.4 and 8. It is still not understood why
883          ISF doesn't encounter this bug on it's production server.
884
8852005-11-28 François Proulx <francois.proulx@gmail.com>
886        * Improved Flickr user output
887        * Mostly completed Flickr admin UI
888        * Changed display algorithm to display sequentially
889
8902005-11-25 Rob Janes <janes.rob@gmail.com>
891        * EventLogging class initial checkin
892
8932005-11-14 Max Horváth <max.horvath@maxspot.de>
894        * fixed path to included classes
895          Guys, please check the paths to included files twice next time you're
896          moving files
897
8982005-11-12 François Proulx <francois.proulx@gmail.com>
899        * Fixed schema 33 update
900        * fixed css
901
9022005-11-11 François Proulx <francois.proulx@gmail.com>
903        * Fixed Admin hotspot location map
904        * Take note: Google Maps updated their API key system, so that you simply
905          need to register a key for the whole domain.
906          ie. one key for http://auth.abc.org will work even in sub-directories
907        * Changed the Content classes structure to make them "pluggable" more easily
908          as requested during last developpers meeting
909        * node_list.php now support column sorting, node_id are naturally sorted
910          (numerical order, alphabetic)
911        * Added 2-dimensionnal natural sort algorithm to Utils class
912        * fixed Node::getSelectNodeUI to naturally sort by node_id
913        * Improved Flickr content class
914        * Modified Flickr database schema
915        * Modified CSS look and feel
916
9172005-11-08 Philippe April  <philippe@ilesansfil.org>
918        * Put a note to mention the roles of users in the logged in users list
919        * Fixed online users link to statistics
920
9212005-11-01 Max Horváth <max.horvath@maxspot.de>
922        * added german translation
923        * modified gen.sh to include geocoder and statistics classes for the
924          translation file generation
925        * modified hotspot status page to allow translations of every string
926        * modified node list page to allow translations of every string
927        * modified FAQ page to allow translations of every string
928        * fixed bug in FAQ page which caused the Safari browser to display very
929          large text
930        * modified online users page in administration to allow translations of
931          every string
932        * added Phlickr directory to /lib
933
9342005-10-25 Francois Proulx <francois.proulx@gmail.com>
935        * /classes/DateTime.php : First iteration of DateTime abstraction class
936        * Basic support for datetime input field.
937        * TODO : Overhaul with full-fledged datetime selector...
938
9392005-10-25 Francois Proulx <francois.proulx@gmail.com>
940        * AuthenticatorRadius : Fixed legacy variable misuse
941
9422005-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
943        * AuthenticatorRadius:  Fix bug reported by kouete, by inspection. Fix not
944          actually tested. Guys, read the documentation of the function parameters
945          when you code, it's there to help you ;)
946
9472005-10-21 Francois Proulx <francois.proulx@gmail.com>
948        * Integration testing for Radius debugging
949        * Added network_id parameter to hotspot_status.php for selecting network
950        * Default network will be automatically selected...
951
9522005-10-04 Francois Proulx <francois.proulx@gmail.com>
953        * Scaled down network logo
954        * Changed CSS accordingly
955        * Modified online users SQL query to sort better
956
9572005-10-04 Francois Proulx <francois.proulx@gmail.com>
958        * Removed unwanted file from checkout
959
9602005-10-07 Philippe April  <philippe@ilesansfil.org>
961        * Released wifidog-auth-1.0.0_m2
962
9632005-10-06 Benoit Grégoire  <bock@step.polymtl.ca>
964        * AuthenticatorLocalUserNoSignup:  Make a new authenticator, identical to
965          AuthenticatorLocalUser but disalowing new user signup.  When setting up
966          a server, you can add your users, and then change the authenticator class
967          from AuthenticatorLocalUser to AuthenticatorLocalUserNoSignup
968        * signup.php: Actually enforce it. Still needs improvement, as the network
969          is still shown for signing up.
970
9712005-10-04 Francois Proulx <francois.proulx@gmail.com>
972        * Translated some error message in SQL abstraction
973        * Cleaned up error messages when starting from scratch
974        * Added link to install script, when the database is empty.
975        * Fixed initial data dump script
976
9772005-10-04 Benoit Grégoire  <bock@step.polymtl.ca>
978        * Remove a bunch of deprecated methods from the Node object,
979          document undocumented methods.
980        * Make the node id editable.  This allows the gateway "MAC address as node
981          ID" patch by London wireless to be usable with the standard auth server,
982          and to transition to using MAC address as node ID.
983        * Fix a saving problem with all the content types with some versions of PHP
984        * Add a new Content type:  IFrameRest.  This allows the result of a REST
985          style query returning HTML to be displayed in a HTML iframeset. Currently
986          supported are substitution of the node_id, the user_id and the last
987          display date in the get query.
988        * CVS version of the auth server should now be "reasonnably" safe to use in
989          production, so the 2005-09-01 notice is no longuer in effect.
990
9912005-10-04 Francois Proulx <francois.proulx@gmail.com>
992        * Translated signup page messages
993
9942005-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
995        * Partial login page content manager support (Node only for now)
996
9972005-09-27 Philippe April  <philippe@ilesansfil.org>
998        * Guess the best language from what the browser sends,
999          otherwise use the default.
1000
10012005-09-26 Francois Proulx <francois.proulx@gmail.com>
1002        * Translated the few new sentences on the login page
1003
10042005-09-26 Benoit Grégoire  <bock@step.polymtl.ca>
1005        * login/index.php, stylesheet.css:  Make the create new account bigger, and
1006          remove unnecessary words.
1007
10082005-09-26 Francois Proulx <francois.proulx@gmail.com>
1009        * Completed translations
1010
10112005-09-26 Francois Proulx <francois.proulx@gmail.com>
1012        * Fixed annoying bug in new google maps code
1013
10142005-09-25 Francois Proulx <francois.proulx@gmail.com>
1015        * Complete rewrite of Google maps code, now stands as a js class
1016        * relooking of mapping stuff
1017        * wrote basic "Find the closest hotspot" widget for canada geocoding only...
1018        * fixed broken xml, damn blank lines...
1019
10202005-09-25 Benoit Grégoire  <bock@step.polymtl.ca>
1021        * Statistics:  At long last, the monster statistics commit.
1022          We finally have a stable, documented and uniform codebase for statistics.
1023          This resulted is removal of several functions in other classes too.
1024          There are a few new reports, but mostly, each report is a lot more
1025          flexible.
1026          Still TODO:
1027          - Security:  This is to be implemented directly in the Statistics class,
1028            by forcing restrictions to the selected nodes and network.
1029          - Support selecting multiple users for a report.
1030            The code and SQL queries support it, but the UI doesn't. An easy and
1031            quick way would be to simply parse a coma-separated list. Comment are
1032            off course welcome!
1033
10342005-09-25 Francois Proulx <francois.proulx@gmail.com>
1035        * Updated initial SQL script to schema 29
1036        * Remove useless includes in some files, preventing from using the "plugin"
1037          contents
1038
10392005-09-25 Philippe April  <philippe@ilesansfil.org>
1040        * Make method getCurrentRealNode ORDER BY DESC so it picks
1041          up the latest network name
1042
10432005-09-20 Francois Proulx <francois.proulx@gmail.com>
1044        * Changed the output layout of the Google Maps hotspots list
1045        * Added "Loading" message on Google Maps
1046
10472005-09-17 Francois Proulx <francois.proulx@gmail.com>
1048        * Fixed forgotten reference to getNetwork in AuthLocalUser
1049
10502005-09-17 Francois Proulx <francois.proulx@gmail.com>
1051        * Fixed a few bugs in Radius class
1052        * Improved syntax and completed 100% of French translations
1053
10542005-09-17 Francois Proulx <francois.proulx@gmail.com>
1055        * Fixed RADIUS bug #1287000
1056
10572005-09-16 Francois Proulx <francois.proulx@gmail.com>
1058        * Added Mail Classes to circumvent mb_send_mail UTF-8 problems
1059        * This class provides UTF-8 mailing for validation e-mail, lost password,
1060          lost username...
1061        * Fixes reported bug where users would not receive validation email on
1062          some servers
1063
10642005-09-13 Francois Proulx <francois.proulx@gmail.com>
1065        * Added bytes in words for online users
1066
10672005-09-13 Francois Proulx <francois.proulx@gmail.com>
1068        * Fixed bug in user stats
1069
10702005-09-13 Francois Proulx <francois.proulx@gmail.com>
1071        * Added access permissions for statistics.
1072
10732005-09-12 Benoit Grégoire  <bock@step.polymtl.ca>
1074        * schema_validate.php:  Fix a bug version 26.  The conversion of the old
1075          account_origin as a parameter to the authenticator was wrong.  To fix it
1076          manually if you already ran the script, you must quote the parameter in
1077          column network_authenticator_params in the networks table.
1078        * Network.php:  Fix improper quoting of Authenticator arguments.
1079        * RssPressReview.php:  Make expansion of today's item optionnal.
1080
10812005-09-11 Francois Proulx <francois.proulx@gmail.com>
1082        * Fixed dependency check, found a workaround for the file_exists problem
1083
10842005-09-11 Francois Proulx <francois.proulx@gmail.com>
1085        * Added dependency check for Phlickr
1086
10872005-09-11 Francois Proulx <francois.proulx@gmail.com>
1088        * Fixed Flickr support
1089        * Now using PEAR version of Phlickr
1090        * Download the latest package and install like this: pear install
1091          PhlickrXYZ.tar.gz
1092
10932005-09-10 Francois Proulx <francois.proulx@gmail.com>
1094        * Fixed dependency check
1095
10962005-09-10 Francois Proulx <francois.proulx@gmail.com>
1097        * Removed many blank lines after php tags
1098        * added more checks, for dates etc...
1099        * changed sorting mode
1100
11012005-09-10 Benoit Grégoire  <bock@step.polymtl.ca>
1102        * Add UI to add a new Network
1103        * Improve UI to add a new Node and new Content
1104
11052005-09-10 Philippe April  <philippe@ilesansfil.org>
1106        * signup.php: Fixed bug in detecting is the user is already part of the
1107          network.
1108        * classes/{Authenticator,Network,Node}.php: isset, and issues preventing
1109          users from logging out.
1110        * add BASEPATH to most files with require_once
1111        * Added dependency checking class
1112        * Don't show the admin menu if user does not have access
1113        * Got rid of user_log_detailed.html, using stats.php instead
1114
11152005-09-10 Francois Proulx <francois.proulx@gmail.com>
1116        * Automatically redirect user to login form when trying to access admin
1117        * Added various isset, empty tests, vars init in stats (to avoid PHP
1118          warning)
1119
11202005-09-08 Philippe April  <philippe@ilesansfil.org>
1121        * New stats system with graphs
1122        * Changed the UI a bit to reflect this change
1123        * Updated stylesheet
1124
11252005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1126        * portal/index.php:  Custom portal redirect now operational.
1127
11282005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1129        * MainUI:  Move call to garbage_collect() here.
1130        * portal/index.php:  New feature:  Custom portal redirect.
1131        * rework much of the logout code
1132
11332005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1134        * login/index.php:  Fix getSplashOnlyUser() method call.
1135
11362005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1137        * RssPressReview.php:  Fix z-index so the hovers will overlap the expanded
1138          news.
1139        * login/index.php:  Reorganise code to make it more legible and comment what
1140          it does. Emphasise error messages and put them right above where they
1141          clicked so users can actually see them.
1142        * Security.php:  Remove deprecated login code
1143        * Authenticator.php: Change calling convention for better encapsulation
1144        * New feature:  Support multiple simultaneous logins if enabled in network
1145          configuration
1146        * New feature (in testing): Splash-only node support
1147
11482005-09-05 Benoit Grégoire  <bock@step.polymtl.ca>
1149        * include/common.php:  Add code to undo the effect of magic_quote if enabled
1150          in the server config.  It is still strongly recommended to disable
1151          magic_quote
1152        * Node.php:  Add UI for splash only node and custom portal
1153        * Update schema
1154
11552005-09-04 Francois Proulx <francois.proulx@gmail.com>
1156        * Removed update.php script ( should not have been in CVS )
1157        * Moved authenticator require in Network getAuthenticator()
1158
11592005-09-03 Philippe April  <philippe@ilesansfil.org>
1160        * Schema change: Added last_paged column to nodes table
1161        * Replaced HOTSPOT_NETWORK_NAME with hotspot_network_name in all templates
1162        * s/Networt/Network/
1163        * Fixed signing up and validation, typos
1164
11652005-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
1166        WARNING:  DO NOT use the CVS auth server in production until further notice.
1167        Massive internal changes are underway.
1168        Use the release tagged 1.0m1 in production.
1169        * Network abstraction mostly complete, including UI.
1170          All that is missing is new network creation, network stakeholder UI and
1171          testing.
1172        * Cleanup the config file of all the now unneeded constants.
1173          Note that the install script is currently broken.
1174          There can now be multiple networks on the server.
1175          The install script will have to make sure that there is at least one, with
1176          one super-admin
1177
11782005-08-31 Francois Proulx <francois.proulx@gmail.com>
1179        * Fixed bug where node ID containing periods, whitespaces or underscores
1180          would confuse PHP
1181        * MD5 hash is used to make sur the http vars are unique
1182        * This is only valid for Node administration
1183
1184NOTE:  the 1.0m1 release was tagged here
1185
11862005-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1187        * Node.php:  Fix node creation
1188
11892005-08-31 Francois Proulx <francois.proulx@gmail.com>
1190        * Fixed new node creation bug
1191
11922005-08-29 Philippe April <philippe@ilesansfil.org>
1193        * js/gmaps_hotspots_status_map.js: Fixed small bug in that makes prevents
1194          IE to see the map properly.
1195
11962005-08-22 Pascal Leclerc  <pascal@plec.ca>
1197        * install.php, Change javascript to OnClick + dependencie note
1198        * schema_validate.php, Fix broken DB update for install.php
1199        * SmartyWifidog.php, Add automatic redirect to install.php if Smarty not
1200          installed
1201
12022005-08-22 Francois Proulx <francois.proulx@gmail.com>
1203        * Added edit button for quickly accessing Content editing mode
1204        * Changed the layout so the admin ui fits in a tighter space
1205
12062005-08-21 Francois Proulx <francois.proulx@gmail.com>
1207        * Added reference to new street address fields in mapping page and on status
1208          template
1209        * Fix bug on line 756 of RssPressReview , added check for empty var.
1210        * Flickr support is broken, added  bug to sf.net tracker
1211
12122005-08-21 Francois Proulx <francois.proulx@gmail.com>
1213        * Node admin UI should now be completed.
1214        * Minor bug fixes in Geocoder
1215        * Merged node_owners and node_tech_officers table into node_stakeholders
1216
12172005-08-19 Benoit Grégoire  <bock@step.polymtl.ca>
1218        * New schema version
1219        * install.php, tmp/magpie_cache/:  Move all magpie caches
1220          to a central location, adjust install script to match.
1221        * classes/MainUI.php:  Add $_REQUEST array output if debug_request is set as
1222          a parameter to the page
1223        * classes/Network.php, classes/Node.php:  Change content ordering to be most
1224          recently subscribed first, this is a stopgap measure while waiting for
1225          Content ordering to be explicitely settable.
1226        * classes/Content/RssAggregator.php:  Full admin UI, some bug fixes
1227        * lib/RssPressReview/RssPressReview.php: New version, adds isFeedAvailable()
1228          and getFeedTitle() methods.
1229          Fixes minor bugs
1230
12312005-08-17 Pascal Leclerc  <pascal@plec.ca>
1232    * Added install script + minor changes in schema_validate.php
1233
12342005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1235        * Re-Run sync_sql_for_cvs.sh, did not run to completion last time.
1236
12372005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1238        * Run sync_sql_for_cvs.sh
1239        * sql/dump_initial_data_postgres.sh:  Fix a hardcoded reference to rss_url
1240          which no longer exists
1241        * .project:  Remove mistakenly commited file in last commit
1242        * .cvsignore:  Add file to avoid previous error
1243
12442005-08-12 Francois Proulx <francois.proulx@gmail.com>
1245        * Added missing GisPoint fille to CVS
1246        * Fixed some bugs
1247        * Added Technical officer table
1248        * Added technical officer management to node UI
1249
12502005-08-12 Francois Proulx <francois.proulx@gmail.com>
1251        * Changed config.php GMAPS_API_KEY to GMAPS_PUBLIC_API_KEY
1252        * Added GMAPS_ADMIN_API_KEY, needed for admin UI
1253        * This is a stupid limitation of the Google Maps API which matches the
1254          complete URL path
1255        * Added /classes/GisPoint.php class
1256        * Will add geocode + Google Maps capabilities very soon
1257        * Notice : the XML schema will change very soon...
1258        * I will try to keep the streetAddress field intact so I won't break
1259          backward compat.
1260
12612005-08-12 Benoit Grégoire  <bock@step.polymtl.ca>
1262        * classes/MainUI.php: Move the call to schema_validate() in MainUI's
1263          constructor
1264        * lib/RssPressReview/RssPressReview.php: Finish rewrite. Move there to
1265          reflect it's independently maintained status
1266        * wifidog/classes/Content/HotspotRss.php:  Delete the class, obsolete
1267        * wifidog/classes/Content/RssAggregator.php:  Functionnal, but needs it's
1268          admin UI written.
1269        * wifidog/include/schema_validate.php:  Create the table structure for the
1270          new RssAggregator.
1271          Remove rss_url in nodes table, no longer needed.  Move it's data to the
1272          new Content class.
1273
12742005-08-11 Francois Proulx <francois.proulx@gmail.com>
1275        * Refactored the Admin UI.
1276        * I need to write the upload form and rewrite statistics
1277
12782005-08-10 Francois Proulx <francois.proulx@gmail.com>
1279        * More GIS stuff
1280
12812005-08-10 Francois Proulx <francois.proulx@gmail.com>
1282        * Added Geocoders
1283          - /classes/AbstractGeocoder.php
1284          - /classes/Geocoders/GeocoderCanada.php
1285          - /classes/Geocoders/GeocoderUsa.php
1286        * This will be used for enterring GIS data
1287        * Coming in the next few days: set hotspot gis using Google Maps + Geocoding
1288
12892005-01-25 Pascal Leclerc  <pascal@plec.ca>
1290        * Fix hardcoded images path in classes/MainUI.php
1291
12922005-07-25 Francois Proulx <francois.proulx@gmail.com>
1293        * Fixed bug in hotspot_status , added htmlspecialchars();
1294        * This solved the bug where ampersands would break the XML
1295
12962005-07-17 Francois Proulx <francois.proulx@gmail.com>
1297        * Fixed bugs in gen.sh, compile.sh locale scripts
1298
12992005-07-12 Francois Proulx <francois.proulx@gmail.com>
1300        * Changed XML element from hotspotsMetadata to hotspots and added networkUri
1301          element to networkMetadata
1302
13032005-07-12 Francois Proulx <francois.proulx@gmail.com>
1304        * Fixed XML protocol for exchanging hotspots status.
1305        * Should now be considered stable (stamped v1.0)
1306        * Fixed hotspots status map to reflect the changes
1307        * Added french translations
1308
13092005-07-11 Francois Proulx <francois.proulx@gmail.com>
1310        * Changed link to hotspots map using NON ssl because Google Keys are
1311          sensitive to the whole path.
1312
13132005-07-11 Benoit Grégoire  <bock@step.polymtl.ca>
1314        * classes/RssPressReview.php: Begin rewrite.
1315        * classes/MainUI.php: Add addFooterScript() function.
1316        * venues_map.php:  Workaround the IE DOM problem.
1317
13182005-07-05 Francois Proulx <francois.proulx@gmail.com>
1319        * Changed wording in hotspots status page added legend
1320
13212005-07-05 Francois Proulx <francois.proulx@gmail.com>
1322        * Minor adjustements to icon positionning
1323
13242005-07-05 Francois Proulx <francois.proulx@gmail.com>
1325        * Changed google maps marker icons
1326
13272005-07-05 Francois Proulx <francois.proulx@gmail.com>
1328        * Added missing elements in XML exchange format
1329        * Stable v1.0 for XML exchange format and Google Maps mapping
1330        * Added GMaps constants to config file
1331        * Unsmartied index.php , added link to map
1332        * Check config.php to set corresponding values
1333        * You can now use hotspot_status.php?format=XML along with xslt query string
1334          parament to convert your XML document
1335        * For this to work, You need to have activated XSLT ( see config file )
1336
13372005-07-05 Francois Proulx <francois.proulx@gmail.com>
1338        * Added Google Maps mapping venues_map.php
1339        * /js/venues_status_map.js  JavaScript code for Mapping
1340        * In beta : tested successfuly with 48 nodes in the Montreal area, loads in
1341          a snap
1342
13432005-07-03 Francois Proulx <francois.proulx@gmail.com>
1344        * Updated the XML venues status format ( version 1.0, once approved )
1345        * Added long / lat fields to nodes table ( for mapping purposes )
1346
13472005-06-17 Francois Proulx <francois.proulx@gmail.com>
1348        * Added IFrame and SimpleIFrame content types.
1349
13502005-06-28 Benoit Grégoire  <bock@step.polymtl.ca>
1351        * classes/Content/Langstring.php:  Bug fix:  Langstring was always
1352          non-persistent, no matter the checkbox.  Move the code to
1353          TrivialLangstring.php where it belongs.
1354
13552005-06-21 Benoit Grégoire  <bock@step.polymtl.ca>
1356        * portal/inted.php:  Implement the start button functionnality (maybe it
1357          would be better to call it "use the Internet").  From now on, once
1358          authenticated and when pressing the start button on the portal, the user
1359          will be sent to the page he originally tried to access.  A second window
1360          will be popped with the portal page so he can come back to it. The window
1361          is collapsed, and can be expanded back by clicking on the link. I tried
1362          to make it cross platform (and mostly did) but it's still buggy in IE.
1363
1364          At the same time, this fixes the goof reported by Rob Kelley of
1365          nycwireless.net
1366
1367        * portal/missing_original_url.php:  Displayed when the user tries to use the
1368          start button but for some reason the original url is unavailable
1369        * common.php:  New define CURRENT_REQUEST_URL, hopefully containing the full
1370          URL in the user's URL bar.
1371
1372
13732005-06-17 Francois Proulx <francois.proulx@gmail.com>
1374        * Removed forced Pattern Language on all hotspots
1375        * Do not show hotspot logo in portal page, only on login, until we find a
1376          better layout
1377
13782005-06-16 Francois Proulx <francois.proulx@gmail.com>
1379        * Added XML output format for hotspot_status.php
1380        * Rough draft v1.0
1381        * TODO move to different classes once stabilized
1382        * Can use XSLT, if activated ( XSLT_SUPPORT constant )
1383        * ie : http://wifidog-auth.org/hotspot_status.php?format=XML&xslt=http://wifidog-auth.org/xslt/hotspot_status.xsl
1384        * or simply : http://wifidog-auth.org/hotspot_status.php?format=XML
1385
13862005-06-06 Francois Proulx <francois.proulx@gmail.com>
1387        * Added long description field to content table
1388        * MUST use schema_validate
1389        * Modified Pattern Language to be more generic
1390        * resend changelog
1391
13922005-06-06 Francois Proulx <francois.proulx@gmail.com>
1393        * Made changes to Pattern Language ( Kate Armstrong )
1394
13952005-05-30 Philippe April <philippe@ilesansfil.org>
1396        * Show username in user_stats.php instead of user_id
1397          and in other admin pages
1398
13992005-05-30 Francois Proulx <francois.proulx@gmail.com>
1400        * Changed language selectbox name so it does not clash with ISF's domain
1401          cookie
1402        * Fixed setlocale algorithm in Locale.php
1403
14042005-05-29 Francois Proulx <francois.proulx@gmail.com>
1405        * Missing null check in validate.php
1406
14072005-05-27 Francois Proulx <francois.proulx@gmail.com>
1408        * Changed the signup process to make it smoother for users
1409        * The user will automatically be granted the 15 minutes if he's signing up
1410          at a real hotspot
1411        * If the user closes his browser during the 15 minutes and loses its
1412          session, we will regenerate it
1413        * Added big red message to the top of the portal page, warning user to
1414          validate as soon as possible
1415        * Fixed translation typos
1416
14172005-05-26 Benoit Grégoire  <bock@step.polymtl.ca>
1418        * Someone moved the fallback gettext functions definition (for when gettext
1419          isn't installed) inside the static setCurrentLocale method, completely
1420          breaking the system when PHP doesn't have gettext support.  This is an
1421          untested fix.
1422
14232005-05-24 Francois Proulx <francois.proulx@gmail.com>
1424        * Fixed bug in auth.php to let users go through when the click twice on the
1425          login button
1426        * Fixed bug in hotspot_log.php
1427
14282005-05-24 Francois Proulx <francois.proulx@gmail.com>
1429        * Added "Get access statistics" button to Node admin to get hotspot specific
1430          stats
1431        * Added search box in Users log to get a specific user stats quickly
1432
14332005-05-24 Francois Proulx <francois.proulx@gmail.com>
1434        * Fixed typo in some translations
1435        * Cleaned-up todos
1436
14372005-05-18 Francois Proulx <francois.proulx@gmail.com>
1438        * Added strip_tags in RssPreview ( some malformed HTML would break the page
1439          layout)
1440
14412005-05-16 Francois Proulx <francois.proulx@gmail.com>
1442        * Changed login message in MainUI to make it clearer what the login button
1443          will do
1444
14452005-05-13 Philippe April <philippe@ilesansfil.org>
1446        * Added deployment status to node_list
1447
14482005-05-11 Francois Proulx <francois.proulx@gmail.com>
1449        * Began writing user profiles
1450        * Added many methods to User class
1451        * Added node quota fields in DB ( bandwidth, throttling ...)
1452
14532005-05-10 Francois Proulx <francois.proulx@gmail.com>
1454        * Fixed Login link in signup page ( MainUI.php ) if the Session has gw_id,
1455          gw_address, gw_port show physical login link
1456
14572005-05-10 Francois Proulx <francois.proulx@gmail.com>
1458        * Added download button CSS class to style button
1459
14602005-05-10 Francois Proulx <francois.proulx@gmail.com>
1461        * Fixed wrong method name in File.php
1462        * Added strip tags to Langstring
1463        * Basic styling of content_admin table
1464
14652005-05-04 Francois Proulx <francois.proulx@gmail.com>
1466        * Fixed serialization issue ( flickr)
14672005-05-04 Francois Proulx <francois.proulx@gmail.com>
1468        * Improved caching
1469        * Wrote very basic gridview code for Flickr
1470
14712005-05-04 Francois Proulx <francois.proulx@gmail.com>
1472        * Implemented caching for Flickr
1473        * Need to contact Phlickr to see how we could do better, since serialize
1474          does not work OK on objects
1475
14762005-05-04 Francois Proulx <francois.proulx@gmail.com>
1477        * Fixed bug concerning Content-Length header
1478        * Changed default Unit size for setLocalFileSize to bytes
1479
14802005-05-04 Francois Proulx <francois.proulx@gmail.com>
1481        * Added BLOB support
1482        * modified file_download.php to support new header attributes
1483        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
1484        * Make sure your PHP.ini contains the right value to allow big downloads
1485        * Check : http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php
1486        * ISF Live server is now configured to support 100 megabytes files
1487
14882005-05-04 Francois Proulx <francois.proulx@gmail.com>
1489        * Fixed CSS IE Bug
1490        * Fixed SQL query
1491        * NEED HELP FROM A WEB DESIGNER !!!!!
1492
14932005-05-03 Francois Proulx <francois.proulx@gmail.com>
1494        * Disabled logging in Pattern Language archives
1495
14962005-05-03 Francois Proulx <francois.proulx@gmail.com>
1497        * Having for SQL query... :-(
1498
14992005-05-02 Francois Proulx <francois.proulx@gmail.com>
1500        * PatternLanguage is now completed
1501
15022005-04-30 Francois Proulx <francois.proulx@gmail.com>
1503        * Logout button will now destroy session AND render token USED
1504
15052005-04-30 Francois Proulx <francois.proulx@gmail.com>
1506        * Fixed bug that could potentially let non owners add content in /content
1507          through content groups
1508        * Admin menu won't show node selector if the user is not owner of at least
1509          one hotspot
1510        * Added Width, height support for Picture
1511
15122005-04-30 Francois Proulx <francois.proulx@gmail.com>
1513        * Did my best for content styling ... ( it's 5h00 am )
1514
15152005-04-30 Francois Proulx <francois.proulx@gmail.com>
1516        * Updated sync_sql_for_cvs.sh
1517
15182005-04-30 François Proulx <francois.proulx@gmail.com>
1519        * ChangeLog entry missed by CVS ?!
1520        * Locale now decomposes the locale string by '_'
1521        * Now works on Mac OS X ( but you must use fr_CA, en_CA or fr_FR ... )
1522
15232005-04-30 François Proulx <francois.proulx@gmail.com>
1524        * Trying to solve RSS encoding bug...
1525        * Testing on live server
1526
15272005-04-29 François Proulx <francois.proulx@gmail.com>
1528        * Removed all inline unuseful javascript code on submit buttons
1529          onclick='submit()'
1530        * This conflicted with the actual click on the submit button in Safari
1531        * Fixed check in Network for isOwner, only check superAdmin
1532        * Fixed bug so you can't add an existing content group to itself (deadlock)
1533        * Started coding Pattern language narrative display
1534
15352005-04-29 François Proulx <francois.proulx@gmail.com>
1536        * Wrote User.php addcontent, removeContent, getAllContent()
1537        * Wrote Content.php subscrite() and unsubscribe()
1538        * Added parameters to getAllContent() in Node and Network
1539          (exclude_subscribed_content)
1540        * These will be used for subscribing a to some content
1541        * Pattern Language will be the first to use it
1542        * Online users lists
1543        * Fixed bugs in Node and Network ( isOwner check )
1544
15452005-04-28 François Proulx <francois.proulx@gmail.com>
1546        * Logout button build a query string containing gw_id, gw_address, gw_port
1547          ( if available ), so that a user at a physical hotspot will get the login
1548          page from the hotspot he is.
1549        * Fixed but in Locale ( did not propertly set the locale in the session )
1550
15512005-04-28 François Proulx <francois.proulx@gmail.com>
1552        * Added check in MainUI toolbar so that it won't show "NOT logged in ?"
1553          message when connect to a real hotspot ( not virtual )
1554        * This message confused many users ( they clicked and got the virtual login
1555          instead ! )
1556        * Hide adminstration features ( statistics, hotspot creation, network wide
1557          content etc...) from all but Super admins
1558        * Fixed getAllLocativeArtisticContent in Node.php added is_persistent check
1559        * Added $associate_existing_content parameter to processNewContentUI to
1560          allows reuse for existing content ( in ContentGroup )
1561        * Fixed bug in FlickrPhotoStream delete ( missing return from parent )
1562        * Added security check in all content classes ( ProcessAdminUI )
1563
15642005-04-26 François Proulx <francois.proulx@gmail.com>
1565        * Replaced show only content groups by show persistent
1566
15672005-04-26 François Proulx <francois.proulx@gmail.com>
1568        * Added missing /content directory
1569
15702005-04-26 François Proulx <francois.proulx@gmail.com>
1571        * Added /content/ for displaying all content elements
1572        * Logging is disable when viewing them
1573        * All content elements will expand
1574        * Pattern languages won't display everything ( special property )
1575          isExpandable
1576        * Added a link in portal pages to go to /content/
1577        * Added Show all contents button in content_admin.php
1578
15792005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1580        * Content.php, ContentGroup.php:  All Content now implement the
1581          isDisplayableAt($node).  Used by the portal, if content has nothing
1582          displayabel, the entire content is skipped.
1583
15842005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1585        * FlickrPhotostream.php:  Fix the object so it doesn't crash when flicker is
1586          disabled.
1587
15882005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1589        * ContentGroup.php:  Fully functionnal content rotation engine, with all
1590          options supported. Rotation based on session may not be reliable if the
1591          user isn't truly logged in (from a node).
1592
15932005-04-26 François Proulx <francois.proulx@gmail.com>
1594        * Most of the missing translations
1595
15962005-04-26 François Proulx <francois.proulx@gmail.com>
1597        * Changed back File to non trivial
1598        * portal page stylesheet
1599
16002005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1601        * ContentGroupElement.php:  It shouldn't be allowed to create a new content
1602          element in isolation.  Unfortunately the UI allows if for now.  Such
1603          content will now be deleted.
1604        * Locale:  Fix string selection algorithm to pick the right language.
1605        * Content:  Implement display logging.
1606
16072005-04-26 François Proulx <francois.proulx@gmail.com>
1608        * stylesheet rework
1609
16102005-04-26 François Proulx <francois.proulx@gmail.com>
1611        * Fixed wrong location for change password link
1612
16132005-04-25 François Proulx <francois.proulx@gmail.com>
1614        * Portal page styling
1615
16162005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1617        * ContentGroup.php:  Previous fix didn't work.  New fix.
1618
16192005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1620        * ContentGroup.php:  Make bad selection mode eror non-fatal.
1621
16222005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1623        * Fix bug in ContentGroup enumeration
1624
16252005-04-25 François Proulx <francois.proulx@gmail.com>
1626        * More stylesheets work
1627
16282005-04-25 François Proulx <francois.proulx@gmail.com>
1629        * Much better stylesheet
1630
16312005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1632        * UI fully functionnal
1633
16342005-04-25 François Proulx <francois.proulx@gmail.com
1635        * More interface work
1636
16372005-04-25 François Proulx <francois.proulx@gmail.com
1638        * Completed integration of new interface with new objects
1639
16402005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1641        * Integration merge, should work, but there will be display problems
1642          everywhere.  Expect further commits today.
1643        * Almost 100% complete Network abstraction
1644        * Much better object encapsulation.  Deprecated methods not removed yet.
1645        * Add MainUI class.  Used to display the interface.  Inner workings still
1646          need work.
1647
16482005-04-23 François Proulx <francois.proulx@gmail.com>
1649        * Added Preferred Size support for Flickr pictures
1650
16512005-04-23 François Proulx <francois.proulx@gmail.com>
1652        * Completed missing translations
1653
16542005-04-23 François Proulx <francois.proulx@gmail.com>
1655        * Fixed bugs in File and EmbeddedContent
1656        * Completed first iteration of EmbeddedContent
1657        * Can now play multimedia content
1658        * Could not test fallback with my browser ( Safari and Firefox )
1659        * Need help to test content in different browser to see how it reacts...
1660
16612005-04-22 François Proulx <francois.proulx@gmail.com>
1662        * Fixed bug in FlickrPhotostream.php
1663        * Params did not match new methods requirements ( getUserByEmail )
1664        * Changed stylesheet class name for Flickr to match new changes
1665        * Fixed bugs in File
1666        * Wrote part of EmbeddedContent ( partially working )
1667        * TODO: add support for parameters and attributes in EmbeddedContent
1668
16692005-04-22 François Proulx <francois.proulx@gmail.com>
1670        * Fix schema version in François's commit
1671
16722005-04-21 François Proulx <francois.proulx@gmail.com>
1673        * Added explicit admin UI exceptions support for Flickr
1674        * Completed File and Picture objects
1675
16762005-04-20 François Proulx <francois.proulx@gmail.com>
1677        * Completed Flickr support ( explicit exceptions catching )
1678        * Most of File object is done
1679        * Fixed bug in generic_object_admin.php
1680        * changed stylesheet class tags for Flickr
1681
16822005-04-18 François Proulx <francois.proulx@gmail.com>
1683        * Added Flickr content support
1684        * Part of File object is done
1685
16862005-04-19 Benoit Grégoire  <bock@step.polymtl.ca>
1687        * Working (beta...) content manager and portal.
1688        * Add content preview mode
1689
16902005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1691        * Hotspot and network content association, continue access control work.
1692        * hotspot_owner.php: Fix wrong assignement of user_id that prevented the
1693          script from working.
1694        * All files:  Remove whitespace and carriage return after the ?> closing
1695          tags.
1696
16972005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1698        * Much more complete admin, initial access control work.
1699
17002005-04-15 Benoit Grégoire  <bock@step.polymtl.ca>
1701        * Support more of the content object model, do a half-decent CSS for the
1702          admin interface.
1703
17042005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1705        * Content.php:  Use full langstring interface by default;
1706
17072005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1708        * Content.php:  Fix db reference;
1709
17102005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1711        * Fix Content object enumeration preventing usage of admin interface
1712        * Partial fix for RSS feed encoding (multiple feed aggregation still broken)
1713
17142005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1715        * First part of the future content delivery infrastructure. Many files added
1716
17172005-04-01 François Proulx  <francois.proulx@gmail.com>
1718        * Modified gen.sh script to match UTF-8
1719        * Added PAP RADIUS encryption support ( asked by Paris Sans Fil )
1720
17212005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1722        * wifidog/templates/auth_sources_selection.html:  Add missing file from
1723          Francois's commit.
1724
17252005-04-01 Philippe April <philippe@ilesansfil.org>
1726        * Fixed missing parenthesis in classes/User.php
1727        * Removed unused files
1728        * fixed schema_validate.php (typos)
1729
17302005-04-01 Francois Proulx  <francois.proulx@gmail.com>
1731        * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT
1732          EDITOR
1733        * The database will be converted to UTF-8 (version 5)
1734        * Added select boxes ( or hidden ) html form elements to choose the network
1735          for signup, lost password, username
1736
17372005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1738        * Add constraints to account_origin to detect errors on inserts.
1739        * Remove IDRC test server
1740
17412005-04-01 Philippe April <philippe@ilesansfil.org>
1742        * User.php: Add reference to $db global variable.
1743        * Tagged v0_1_0_alpha1
1744        * Removed spaces in AuthenticatorLocalUser.php
1745
17462005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1747        * Remove spaces after php blocks in various files.
1748        * Temporarily fix single authentication source not present bug in login
1749          smarty template.  All other places where we select the network will be
1750          fixed tommorow.
1751        * Fix initial schema errors.
1752
17532005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1754        * More RADIUS install documentation.
1755        * Fix schema_validate.php
1756
17572005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1758        * Moved language definition
1759        * Moved e-mail subjects to User class ( each e-mail functions )
1760
17612005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1762        * Added missing schema_validate.php modifs.
1763
17642005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1765        * Added PEAR install procedure
1766
17672005-03-30 François Proulx  <francois.proulx@gmail.com>
1768        * Finished RADIUS authentication and accounting
1769        * Accounting Unique session ID is now based on the same token we use
1770        * Fixed all issues with lost_username, lost_password etc...
1771        * User class has new static function getUsersByEmail and getUsersByUsername
1772        * Added translations for new features
1773        * Translated the validation, lost password, username e-mails
1774        * Tested quite a bit, this version is considered stable
1775        * A few examples on how set different RADIUS or local authenticators can be
1776          found in the config.php
1777
17782005-03-29 François Proulx  <francois.proulx@gmail.com>
1779        * schema_validate.php : Modified schema : dropped e-mail + account unique
1780          index, dropped email not empty constraint
1781        * Schema is now at version 3
1782        * Coded RADIUS authentication
1783        * Modified templates to show a select box when more than one server is
1784          configured
1785        * Coded RADIUS accounting and backward compatibility accounting
1786        * Modified many statistics SQL queries to match new Users table
1787        * modified statistics templates to match user_id and account_origin
1788        * TODO : Fix lost_username and lost_password ( issue since we dropped the
1789          unique constraint on emails... )
1790        * TODO : Heavy testing possibly with remote RADIUS servers
1791
17922005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1793        * sql:  Put initial data in a transaction, and specify the wifidog user so
1794          you do not have to su to it while using sync_sql_for_svs
1795
17962005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1797        * common.php:  Add get_guid() function
1798        * validate_schema.php: New auto-upgrade script to allow autaumatic schema
1799          upgrade.  Note that you must still update dump_initial_data_postgres.sh
1800          and use sync_sql_for_cvs.sh so new users aren't left in the cold.
1801        * New class Authenticator (and subclasses):  Begin virtualizing the login
1802          process.
1803
18042005-03-24 Benoit Grégoire  <bock@step.polymtl.ca>
1805        * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming
1806          and outgoing for all connections from a user have null values.
1807        * wifidog/local_content/default/portal.html: Fix layout so it resizes
1808          properly.  This in an interim measure.
1809        * Update schema.  This will allow automatic schema updates in the future.
1810          TO update a live server:
1811
1812      BEGIN;
1813      CREATE TABLE schema_info (
1814            tag text PRIMARY KEY,
1815            value text
1816          );
1817          INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
1818          COMMIT;
1819
18202005-03-16 Matthew Asham <matthewa@bcwireless.net>
1821    * config.php: will use "local.config.php" instead, if present.  avoid cvs
1822      over-writing.
1823    * signup.php: if CUSTOM_SIGNUP_URL is defined, signup.php will re-direct.
1824      For integration with existing auth systems
1825    * hotspot_status.php: ob_clean may complain about buffering.  muted.
1826    * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the
1827      feed.
1828
18292005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
1830        * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql,
1831          wifidog-postgres-schema.sql:-Widen the connections size to fix int4
1832          wraparound problems.  To update a running server, execute the following
1833          sql sniplet:
1834
1835      BEGIN;
1836      ALTER TABLE connections RENAME incoming TO incoming_old;
1837      ALTER TABLE connections ADD COLUMN incoming int8;
1838      ALTER TABLE connections RENAME outgoing TO outgoing_old;
1839      ALTER TABLE connections ADD COLUMN outgoing int8;
1840      UPDATE connections set incoming=incoming_old, outgoing=outgoing_old;
1841      ALTER TABLE connections DROP COLUMN incoming_old;
1842      ALTER TABLE connections DROP COLUMN outgoing_old;
1843      COMMIT;
1844
1845        * wifidog/admin/hotspot.php: Missing file from phil's commit.
1846        * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po:  New translation
1847          by Benoit St-André
1848
18492005-02-14 Philippe April <philippe@ilesansfil.org>
1850        * gw_message.php: the "activate" message was not properly defined and
1851          would cause an error to show up instead of the nice activate your account
1852          message
1853
18542005-02-14 Philippe April <philippe@ilesansfil.org>
1855        * wifidog/locale/gen.s: Was not working as expected, it will now get the
1856          gettext from smarty properly.
1857        * Updated TODO with ideas on making config better
1858
18592005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1860        * wifidog/templates/hotspot_status.html:  Restore the number of nodes
1861        * wifidog/hotspot_status.php: Restore the number of nodes, add formatting
1862          and more information to the RSS feed.
1863
18642005-01-26 Philippe April <isf_lists@philippeapril.com>
1865        * Some kind of virtual login (we need to talk about this).
1866        * New User and Node classes
1867        * Modified all files to work with the classes.
1868        * Remove mgmt_helpers (all done in User class now)
1869
18702005-01-25 Benoit Grégoire  <bock@step.polymtl.ca>
1871        * classes/Node.php:  New file, untested code example
1872        * wifidog/admin/admin_common.php: Remove double-defined BASEPATH
1873
18742005-01-25 Philippe April <isf_lists@philippeapril.com>
1875        * Changed initial postgres inserts sql file, it wasn't working properly
1876
18772005-01-25 Pascal Leclerc  <pascal@plec.ca>
1878        * Added admin and owner administration pages
1879
18802005-01-23 Philippe April <isf_lists@philippeapril.com>
1881        * Added gateway error messages (validation period, etc.)
1882
18832005-01-20 Philippe April <isf_lists@philippeapril.com>
1884        * Modularized the admin interface, added functions
1885
18862005-01-18 Philippe April <isf_lists@philippeapril.com>
1887        * Smarty'ized more, I think it's done now
1888
18892005-01-12 Philippe April <isf_lists@philippeapril.com>
1890        * i18n and smarty'ized parts
1891
18922005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
1893        * INSTALL: Mandate PHP5
1894        * wifidog/hotspot_status.php: Allow export of the list as a RSS feed
1895        * wifidog/classes/RssPressReview.inc:  Make it truly functionnal.
1896        * wifidog/portal/index.php:  Support multiple RSS feeds.  The system will
1897          automatically pick the best 5 entries from all the feeds.  It will
1898          compensate for disparate publication intervals.  An entry from a feed that
1899          does not publish often will live longer than an entry from a feed that
1900          publishes very often.  If a feed doesn't have any entry that makes the
1901          cut, it will not appear at all.
1902        * wifidog/templates/hotspot_status.html:  Add link to the RSS version.
1903
19042005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
1905        * wifidog/config.php:  Add list of hotspot to network rss feed list (not yet
1906          functionnal)
1907        * wifidog/hotspot_status.php:  Allow RSS export of the list of deployed
1908          Hotspots.
1909        * wifidog/admin/incoming_outgoing_swap.php:  Script to swap incoming and
1910          outgoing in your data. Only use this if you had gateways before 1.0.2
1911          and wish to correct your logs before you upgrade.
1912        * wifidog/classes/RssPressReview.inc:  Missing file from previous commit.
1913        * wifidog/portal/index.php: Preliminary work to enable smart press review
1914          of multiple RSS feeds.
1915
19162005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
1917        * include/common.php: Fix SSL security warnings.  If SSL is enabled and the
1918          page was actually served over SSL, all media in the file will be served
1919          over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links
1920          that break out of SSL mode.  From now on, use the self adapting
1921          BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode,
1922          and BASE_URL_PATH to break out of it.
1923
19242005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
1925        * admin/user_stats.php: Add three top tens to the statistics:  Top ten
1926          apetite for bandwidth, top ten travelers, most addicted users.
1927
19282005-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
1929        * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much
1930          thinner.
1931        * wifidog/local_content/default/login.html: Remove announcements
1932        * wifidog/include/user_management_menu.php: Fix mailto:
1933        * wifidog/auth/index.php: Fix auth server part of the no data transmited
1934          statistics bug.
1935        * wifidog/admin/index.php: Add link to statistics
1936        * wifidog/admin/user_stats.php: Activate security.
1937        * wifidog/index.php: Make the distinction between the two hotspot status
1938          pages clearer.
1939
19402004-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
1941        * wifidog/index.php: Add menu
1942        * wifidog/include/user_management_menu.php: Editorial change, make
1943          translateable
1944        * wifidog/portal/index.php:  Fix RSS feeds
1945
19462004-12-03 Benoit Grégoire  <bock@step.polymtl.ca>
1947        * wifidog/admin/user_stats.php,  wifidog/classes/Statistics.php:  Embryonic
1948          aggregate user stats.  Currently allows you to find out the rate at which
1949          your users subscribe.
1950        * wifidog/config.php, wifidog/local_content/default/login.html,
1951          wifidog/include/user_management_menu.php:  Add hotspot status page to
1952          login page.
1953        * wifidog/hotspot_status.php: Cosmetic
1954        * wifidog/admin/hotspot_log.php: Stats now need admin privileges
1955        * wifidog/index.php: Cosmetic.
1956
19572004-11-19 Benoit Grégoire  <bock@step.polymtl.ca>
1958        * TODO: Add email domains to blacklist
1959        * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech
1960          support email address
1961        * wifidog/hotspot_status.php: List of HotSpots that are open with summary of
1962          information.  Designed to be included as part of another page.
1963        * wifidog/local_content/common/wifidog_logo_banner.gif: Add wifidog logo
1964        * wifidog/local_content/default/hotspot_logo_banner.jpg: Shrink the logo
1965          and write unknown hotspot, however this is still really ugly
1966        * wifidog/local_content/default/login.html, portal.html, stylesheet.css:
1967          Cosmetic fixes
1968        * wifidog/local_content/default/login.html.fr, portal.html.fr: Delete the
1969          files, this isn't the approach we will use for translation.
1970        * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:
1971          Update with new node information structures.
1972
19732004-11-04 Benoit Grégoire  <bock@step.polymtl.ca>
1974        * wifidog/admin/hotspot_log.php: Add number of currently connected users
1975          here as well.
1976
19772004-11-03 Benoit Grégoire  <bock@step.polymtl.ca>
1978        * wifidog/ping/index.php: Log user-agent
1979        * extensive statistics work
1980        * sql/wifidog-postgres-schema.sql: Add description field for hotspots and
1981          log user-agent
1982
19832004-10-28 Benoit Grégoire  <bock@step.polymtl.ca>
1984        * sql/wifidog-postgres-schema.sql:  Add constraints to avoid empty string
1985          in email or user_id.
1986        * Some statistics fixes
1987
19882004-09-29 Alexandre Carmel-Veilleux <acv@acv.ca>
1989        * wifidog/admin/index.php: Integrated the changes contributed
1990          on the mailing list by Rikhardur EGILSSON (fname.lname@oecd.org),
1991          mainly a missing ' in some HTML.
1992
19932004-09-28 Yanik Crépeau <yanik@exScriptis.com>
1994    * wifidog/include/common.php: Added commented header with cvs
1995          keywords.
1996        * wifidog/include/common.php: Added commented code (not executing) for
1997          further testing with language/localization issues.
1998
19992004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2000        * sql/wifidog-postgres-schema.sql:  Remove non SQL standard "COMMENT ON"
2001          comments
2002
20032004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2004        * sql/wifidog-postgres-schema.sql:  Drop procedural language stuff
2005
20062004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2007        * sql/wifidog-postgres-schema.sql:  Fix layout for the node_owners table
2008        * Begin integrating Patrick Tanguay's new layout and generate the css
2009          dynamically to allow for background images.
2010
20112004-09-22 Benoit Grégoire  <bock@step.polymtl.ca>
2012        * portal/index.php:  Fix users appearing online at every hotspot.
2013        * wifidog/classes/Style.php, wifidog/login/index.php:  Fix some potential
2014          cache problems and help with validation.
2015
20162004-09-18 Benoit Grégoire  <bock@step.polymtl.ca>
2017        * wifidog/config.php:  Add VALIDATION_GRACE_TIME configuration parameter.
2018        * wifidog/auth/index.php:  Move grace time date arithmetics to the database,
2019          fixes validation period not working.  Stop storing VALIDATION_FAILES
2020          status to the database.  Add check for validation period expiration at
2021          stage login, not just stage counters, this will fix one minute
2022          validation period.
2023        * wifidog/login/index.php:  Check validation period activation, and if
2024          period is expired, explain to the user instead of redirecting to the
2025          gateway.
2026        * wifidog/user_management/index.php:  Fix SQL error at new user registration.
2027
20282004-09-02 Benoit Grégoire  <bock@step.polymtl.ca>
2029        * wifidog/node_list.php: Complete the status page
2030        * Add images
2031        * Add hotspot creation date
2032
20332004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
2034        * sql/: Update the postgres schemas and add scripts to ease maintaining it.
2035        * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this
2036          script to the chances will be available in the cvs schemas and initial
2037          data.
2038        * sql/dump_initial_data_postgres.sh: This does the actual dump of the data
2039          in a runnable form.  Note that this needs to be edited manually if you add
2040          a new table requiring initial data.
2041        * INSTALL:  Update for postgres.  Somebody please test this.
2042
20432004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
2044        * wifidog/ping/index.php: Implement logging of which hotspot sent the
2045          heartbeat, from which ip and when.
2046        * wifidog/node_list.php:  Primitive but functionnal hotspot status page.
2047        * wifidog/include/user_management_menu.php:  Change menu labels
2048        * wifidog/local_content/default/login.html: Improve layout.  Someone needs
2049          to make this stylesheet correct, I took shortcuts...
2050        * wifidog/local_content/default/stylesheet.css:  Reduce H1 font size.
2051        * wifidog/user_management/index.php:  Display the menu, will eventually
2052          allow us to present proper help text.
2053
20542004-08-30 Benoit Grégoire  <bock@step.polymtl.ca>
2055        * Add link to original requested site.
2056        * wifidog/node_list.php:  New file.  Will become the main node status page.
2057
20582004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
2059        * Primitive network status available form the index page
2060        * Administrative security is implemented.
2061
20622004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
2063        * Fix big gaping security hole in login page (password would be ignored if
2064          the username was used to login)
2065        * PostgreSql port
2066        * Change the method to determine who is online
2067        * Stop keeping unused token once user successfully logs in.
2068        * Fix missing update of token update date.
2069        * Counters wouldn't get updated for stage=LOGOUT
2070        * wifidog/auth/index.php:  Added a Messages: response in addition to Auth:
2071          so we can know what the hell the server is up to.  Currently you need to
2072          run wifidog in debug level 7 to see it. That message should be parsed so
2073          it is visible in debug level 6.
2074        * wifidog/auth/index.php:   Fix code injection vulnerability.
2075
20762004-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
2077        * SSL support and RSS improvement
2078        * Last commit tested with mysql support
2079
20802004-08-24 Pascal Leclerc  <pascal@plec.ca>
2081        * wifidog/admin/user_log.php: Add total to incoming and outgoing
2082        * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports
2083
20842004-08-11 Benoit Grégoire  <bock@step.polymtl.ca>
2085        * wifidog/config.php: Add USER_MANAGEMENT_PAGE
2086        * wifidog/include/user_management_menu.php:  Code meant to deal with
2087          non-standard ports broke the menu.  Hopefully fixed.
2088        * Add alex's mising changelog entry...
2089
20902004-08-11 Alexandre Carmel-Veilleux <acv@acv.ca>
2091        * wifidog/ping/index.php: will now reply if the wifidog auth server is up.
2092          To be used by wifidog to do heartbeats.
2093
20942004-08-07 Benoit Grégoire  <bock@step.polymtl.ca>
2095        * Add code to import a NoCat user database (passwd).  The username will be
2096          generated from the first part of the email if the name was en email.
2097        * Change password hashing algorithm to make it compatible with NoCat (For
2098          the curious among you, the hashing algorithm is now:  take the md5
2099          digest in binary format of the password, and base64 encode it.
2100        * Table schema changed to accomodate newhash length (users.pass is now
2101          varchar(32))
2102        * The user is now allowed to login with either his username or his email.
2103
21042004-08-03 Pascal Leclerc  <pascal@plec.ca>
2105        * wifidog/classes/SmartyWifidog.php: Fix path validation bug, replace
2106          NODE_CONTENT_URL with NODE_CONTENT_PHP_RELATIVE_PATH
2107        * wifidog/classes/AbstractDb.php: Add class=warning for better display
2108        * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports
2109
21102004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2111        * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set
2112          to true if gettext is available.  If false, blank _() and gettext()
2113          functions will be defined so the system still works.
2114
21152004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2116        * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully).
2117
21182004-08-02 Benoit Grégoire  <bock@step.polymtl.ca>
2119        * wifidog-auth lives! New since the dark ages
2120        * Demo page to allow people to hack more easely on it
2121        * Support for multiple nodes.  TODO:  Merge with the database project.
2122        * Very cool local content architecture.  Every hotspot can have a folder in
2123          the local_content directory.  This folder can be filed by a single logo,
2124          leaving all the rest to the default content, or be completely custom
2125          (stylesheet, login page, portal page, header, etc.)
2126        * Everything in local content is templated with smarty, no problem with
2127          web designer wrecking havoc on the auth server.  You can edit everything
2128          in local_content/default even if you only speak html.
2129        * No need to set any path in the web server config files (that one was a
2130          bitch to implement)
2131        * RSS feed support (optionnal, with magpierss), one feed per node (url
2132          stored in the database, works great, but no gui to edit it yet) and one
2133          network-wide RSS feed.
2134        * All path are editable from the config file
2135        * "Productize" the thing, so it make sense for other groups to install it
2136          (the network name, url, default RSS, and such are set from the config
2137          file).
2138        * Put most strings in gettext calls for easy future translation.
2139        * User can request that the server send the validation email again
2140        * User can change password
2141        * User who forgot his username can have it mailed to him.
2142        * User who lost his password can ask the system to generate a new one and
2143          mail it to him.
2144        * Email is now a separate field to preserve user privacy.
2145        * Enforces (politely) that there are no duplicate emails in the database
2146        * Database abstraction layer with very nice debugging features (just append
2147          true at the end of the call, and you'll see the query, the results, the
2148          query plan and number of affected rows.  Also allow future upgrade to
2149          postgres.
2150        * Lots of other things I forgot.
Note: See TracBrowser for help on using the browser.