root/trunk/wifidog-auth/CHANGELOG @ 960

Revision 960, 65.1 KB (checked in by max-horvath, 7 years ago)

"2006-02-17 Max Horvath <max.horvath@…>

  • refactored sesend validation email site - now it also includes the help toolbox
  • refactored resend validation email page now focuses input field automaticly (like on login or signup page)"
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
12006-02-17 Max Horváth <max.horvath@maxspot.de>
2        * refactored lost username site - now it also includes the help toolbox
3        * lost username page now focuses input field automaticly (like on login or
4          signup page)
5        * refactored lost password site - now it also includes the help toolbox
6        * lost password page now focuses input field automaticly (like on login or
7          signup page)
8        * refactored sesend validation email site - now it also includes the help
9          toolbox
10        * refactored resend validation email page now focuses input field
11          automaticly (like on login or signup page)
12
132006-02-16 Max Horváth <max.horvath@maxspot.de>
14    * added full PHPdoc documentation to Mail class
15    * added more temporary-email-address-providers to the black-list
16        * Login site now uses a Smarty template to render HTML page
17        * refactored signup site - now it also includes the help toolbox
18        * removed Phlickr directory in /lib dir as Phlickr must be installed via
19          PEAR
20        * modified gen.sh to include new template folders for the
21          translation file generation
22
232006-02-15 Max Horváth <max.horvath@maxspot.de>
24        * Login site now uses a Smarty template to render HTML page
25
262006-02-14 Max Horváth <max.horvath@maxspot.de>
27        * converted Session class to PHP5 style
28        * moved code used used to init PHP into wifidog/include/init_php.php
29        * fixed bug regarding APC (super globals weren't initialized before their
30          first use
31        * in an attemp to enter the administration interface of WiFiDog and not
32          being logged in you'll be redirected to the administration interface after
33          a successful login, if you are an admin or owner of a node. This only
34          works for a virtual login, as it isn't needed to be done when logging in
35          via a WiFiDog node (then you have to login anyway on the splash page
36          first)
37        * fixed preview of network in administration interface as content for a
38          network as is isn't available in the code, yet
39
402006-02-13 Rob Janes <janes.rob@gmail.com>
41    * cron/cleanup.php needed new way to call common.php
42        * added cron/vacuum.php to round things out
43
442006-02-07 Benoit Grégoire  <bock@step.polymtl.ca>
45        * Fix a bunch of file inclusion bugs in the statistics subsystem.
46          This is only a ad-hac fix. It seems the requires for just about every
47          class have been stripped off. This must be fixed, all classes should
48          require_once all classes or include that they need that isn't included by
49          a parent class.
50
512006-02-06 Benoit Grégoire  <bock@step.polymtl.ca>
52        * wifidog/local_content/default/hotspot_logo.jpg: Delete deprecated file
53        * wifidog/local_content/default/hotspot_logo_banner.jpg: Delete deprecated
54          file
55
562006-02-04 Max Horváth <max.horvath@maxspot.de>
57        * MainUI class now uses Smarty templates to render HTML pages
58        * display of debug messages by using $_REQUEST['debug_request'] on any
59          page is now only possible for a super admin
60        * caching class now supports lifetime of a cache and every data type
61          supported by PHP (except the resource-type)
62        * Content class caches available content plugins for 7 days if caching has
63          been enabled -> results in a nice speed-up on every page call because
64          of 17 saved filesystem queries
65        * converted Security class to PHP5 style and it's functions to static
66          functions
67        * fixed broken HTMLeditor support
68        * implemented PEAR::HTML_Safe cache support - if PEAR::HTML_Safe has been
69          installed it strips down all potentially dangerous content within HTML
70          that has been entered using the content plugins Langstring,
71          TrivialLangstring and HTMLeditor
72        * moved /wifidog/include/HTMLeditor to /wifidog/content/HTMLeditor
73        * fixed thrown exception in path_defines_base.php (sprintf() was used
74          uncorrectly)
75        * template for definition of SYSTEM_PATH has been added to config.php
76          for easier definiton when path detection failes
77        * from now on caching is enabled by default in config.php - it means that
78          WiFiDog caching features will automaticly be used if PEAR::Cache_Lite
79          has been installed
80        * updated installation file to represent all the new modules that can be
81          installed to use all WiFiDog features
82
832006-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
84        * path_defines_base.php:  Fix syntax errors in the exception thrown. Add
85          more meaningfull output
86
872006-01-29 Max Horváth <max.horvath@maxspot.de>
88        * WiFiDog now detects APC PHP cache and eAccelerator PHP cache and disables
89          both PHP caches, because WiFiDog currently doesn't run with either of
90          those PHP caches (I'm still investigating why)
91        * added a missing <ul> HTML tag on the administration page
92        * the validation mail sent to new users now includes the full path to the
93          WiFiDog installation (before it assumed WiFiDog to be installed in
94          the document root of the webserver)
95        * fixed display of start button of portal when WiFiDog is not installed
96          in the document root of the webserver
97        * replaced $_SERVER["DOCUMENT_ROOT"]-stuff with our defines made in
98          path_defines_base.php
99        * updated HTMLeditor content class to use the new, moved stylesheet.css
100        * fixed error messages not displaying technical support e-mail address
101
1022006-01-25 Max Horváth <max.horvath@maxspot.de>
103        * a notice message regarding timezones was being displayed when running PHP
104          5.1.0+ due to rewritten date functions of PHP. There is a new config flag
105          in config.php named DATE_TIMEZONE. Set it to your local timezone.
106          Don't forget to update your local.config.php in case you're using it.
107
1082006-01-24 Benoit Grégoire  <bock@step.polymtl.ca>
109        * Dependencies.php:  We missed one more instance of non-unifrom code for
110          path detection. The Dependencies class now uses the code in
111          include/path_defines_base.php like the rest of the system. Also make it
112          returns more usefull error messages.
113        * SmartyWifidog.php: Output the error returned by Dependencies if Smarty
114      cannot be found for some reason.
115
1162006-01-23 Max Horváth <max.horvath@maxspot.de>
117        * Removed compiled PHPdoc documentation
118        * moved createDoc.sh to "doc" directory, documentation can be generated on
119          the fly now, in the future we'll be generating a nightly PHPdoc on
120          wifidog.org
121        * renamed "ChangeLog" to CHANGELOG, resulting this file being parsed by
122          PHPdoc
123        * moved "header.gif" image to its own folder in the images directory
124        * touched almost every PHP file in WiFiDog auth server for PHPdoc generating
125          compiling without any warnings
126        * Initialized uninitialized variables in Node class
127        * Fixed initialization error of one variable
128        * Configuration file (config.php) will be read before path detection is
129          being started (otherwise there was no chance to set a manual SYSTEM_PATH)
130
1312006-01-22 Benoit Grégoire  <bock@step.polymtl.ca>
132        * common.php: Real fix for Ticket #59 ;)
133        * common.php: Untested fix for Ticket #59
134
1352006-01-18 François Proulx <francois.proulx@gmail.com>
136        * Remove unneeded .cvsignore files since the svn:ignore property is set to
137          the same list
138
1392006-01-11 Rob Janes <janes.rob@gmail.com>
140    * classes/User.php: added setters, getters, throw exceptions, added
141      refresh() subr, tweaked language
142
1432006-01-09 Max Horváth <max.horvath@maxspot.de>
144        * createDoc.sh: added description of how to install requirements
145
1462006-01-08 Benoit Grégoire  <bock@step.polymtl.ca>
147        * common.php: Improve path detection code, and start moving PATH detection
148          back to a central location. You should NEVER go to any $_SERVER[]
149          variables for path related stuff, all you need is already available
150          in defines.
151        * UserReport.php: Remove dangling reference to BASEPATH.
152        * install.php: Use centralised path detection.
153
1542006-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
155        * config.php, common.php: Completely remove SYSTEM_PATH from config.php,
156          making one less config option to manage.  It is now autodetected.
157
1582006-01-03 Rob Janes <janes.rob@gmail.com>
159        * added support for classes/EventLogging.php.
160        * modified include/common.php to pull in the EventLogging class
161        * modified index.php to kick start error logging with minimal setup.
162          I didn't setup a css for this, so any errors are simply pushed out
163          when the logging channel is destructed.
164        * other changes to include/common.php - a host of utility functions,
165          prefixed with "cmn" to avoid namespace collision.
166        * stock config.php, added global $AVAIL_LOCALE_ARRAY, cause of my change
167          to include/common.php, wrapping the require_once in a function.
168
1692006-01-04 Pascal Leclerc <isf@plec.ca>
170    * install.php: New security validation and small bugs fix in admin account
171      creation
172
1732006-01-02 Rob Janes <janes.rob@gmail.com>
174        * split static stylesheet.css from smarty template stuff.
175          local_content/default/stylesheet.css has only smarty template stuff.
176          local_content/common/stylesheet.css has all the rest.
177        * classes/MainUI.php changed to <link ...> the common stylesheet.css, while
178          still smarty fetching the templated stylesheet.
179        * classes/SmartyWifidog.php changed to set a smarty template variable so
180          that the templating stylesheet could work.
181
1822005-12-29 François Proulx <francois.proulx@gmail.com>
183        * Integrating Philippe's code for User class
184        * This build needs extensive testing please
185        * E-mail blacklisting (Mail class)
186
1872005-12-29 François Proulx <francois.proulx@gmail.com>
188        * Added Aidan's file_exists_incpath function to Dependencies class
189        * Translated and standardized most of PostgreSQL abstraction class.
190        * Removed blank lines at end of many files
191        * Tested the new Phlickr package, which fixes URL on Flickr
192
1932005-12-28 Max Horváth <max.horvath@maxspot.de>
194        * Removed BASEPATH define from source - resulting in a better
195          require-overview
196        * speed improvement of 7% by optimizing Dependencies class
197        * improved documentation of content classes
198
1992005-12-26 François Proulx <francois.proulx@gmail.com>
200        * Fixed bug when the same user was owner of many nodes
201        * Added missing reference to content_display_location initial data in dump
202          script
203
2042005-12-26 François Proulx <francois.proulx@gmail.com>
205        * Tiny modifications to config.php
206        * Reinserted the deprecated defines, created errors on my system
207        * Fully translated FormSelectGenerator class, Locale
208        * Added comments to Utils, Locale etc..
209        * Fully tested installation from scratch using blank database with
210          installation script
211        * Improved installation script a bit
212        * Synched SQL for CVS schema 29 --> 33
213
2142005-12-26 Max Horváth <max.horvath@maxspot.de>
215        * added new headers to every source file
216        * converted file to represent a tab as four (4) spaces
217        * added PhpDocumentor documentation
218        * added WiFiDog skin to HTMLeditor
219        * language selection in a content class now shows the language name instead
220          of the language code
221        * added caching support to content classes Langstring and TrivialLangstring
222
2232005-12-15 Max Horváth <max.horvath@maxspot.de>
224        * fixed bug in dependencies class when gettext support for PHP is not
225          available
226
2272005-12-14 Max Horváth <max.horvath@maxspot.de>
228        * fixed bug in config.php:59 ... was unable to select DB server
229
2302005-12-08 Max Horváth <max.horvath@maxspot.de>
231        * added FCKeditor to the supported libraries
232        * added new content type: HTMLeditor
233        * added new caching class which uses PEAR::Cache_Lite - must be enabled in
234          config.php
235        * HTMLeditor is the first class using the new caching class
236        * removed unused function from content type Langstring
237        * beautified and reorganized config.php and added a new switch for the
238          caching class
239
2402005-12-06 Max Horváth <max.horvath@maxspot.de>
241        * fixed SQL bug when calling the "report configuration" page as a node owner
242
2432005-12-05 François Proulx <francois.proulx@gmail.com>
244        * Crunched the Google Maps Div block for better display on small screens
245
2462005-12-05 Max Horváth <max.horvath@maxspot.de>
247        * fixed bug when calling the preview version of a login page
248
2492005-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
250        * User.php: Fix a bug in the sql query in isUserValid(). Checked that the
251          change works with postgresql 7.4 and 8. It is still not understood why
252          ISF doesn't encounter this bug on it's production server.
253
2542005-11-28 François Proulx <francois.proulx@gmail.com>
255        * Improved Flickr user output
256        * Mostly completed Flickr admin UI
257        * Changed display algorithm to display sequentially
258
2592005-11-25 Rob Janes <janes.rob@gmail.com>
260        * EventLogging class initial checkin
261
2622005-11-14 Max Horváth <max.horvath@maxspot.de>
263        * fixed path to included classes
264          Guys, please check the paths to included files twice next time you're
265          moving files
266
2672005-11-12 François Proulx <francois.proulx@gmail.com>
268        * Fixed schema 33 update
269        * fixed css
270
2712005-11-11 François Proulx <francois.proulx@gmail.com>
272        * Fixed Admin hotspot location map
273        * Take note: Google Maps updated their API key system, so that you simply
274          need to register a key for the whole domain.
275          ie. one key for http://auth.abc.org will work even in sub-directories
276        * Changed the Content classes structure to make them "pluggable" more easily
277          as requested during last developpers meeting
278        * node_list.php now support column sorting, node_id are naturally sorted
279          (numerical order, alphabetic)
280        * Added 2-dimensionnal natural sort algorithm to Utils class
281        * fixed Node::getSelectNodeUI to naturally sort by node_id
282        * Improved Flickr content class
283        * Modified Flickr database schema
284        * Modified CSS look and feel
285
2862005-11-08 Philippe April  <philippe@ilesansfil.org>
287        * Put a note to mention the roles of users in the logged in users list
288        * Fixed online users link to statistics
289
2902005-11-01 Max Horváth <max.horvath@maxspot.de>
291        * added german translation
292        * modified gen.sh to include geocoder and statistics classes for the
293          translation file generation
294        * modified hotspot status page to allow translations of every string
295        * modified node list page to allow translations of every string
296        * modified FAQ page to allow translations of every string
297        * fixed bug in FAQ page which caused the Safari browser to display very
298          large text
299        * modified online users page in administration to allow translations of
300          every string
301        * added Phlickr directory to /lib
302
3032005-10-25 Francois Proulx <francois.proulx@gmail.com>
304        * /classes/DateTime.php : First iteration of DateTime abstraction class
305        * Basic support for datetime input field.
306        * TODO : Overhaul with full-fledged datetime selector...
307
3082005-10-25 Francois Proulx <francois.proulx@gmail.com>
309        * AuthenticatorRadius : Fixed legacy variable misuse
310
3112005-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
312        * AuthenticatorRadius:  Fix bug reported by kouete, by inspection. Fix not
313          actually tested. Guys, read the documentation of the function parameters
314          when you code, it's there to help you ;)
315
3162005-10-21 Francois Proulx <francois.proulx@gmail.com>
317        * Integration testing for Radius debugging
318        * Added network_id parameter to hotspot_status.php for selecting network
319        * Default network will be automatically selected...
320
3212005-10-04 Francois Proulx <francois.proulx@gmail.com>
322        * Scaled down network logo
323        * Changed CSS accordingly
324        * Modified online users SQL query to sort better
325
3262005-10-04 Francois Proulx <francois.proulx@gmail.com>
327        * Removed unwanted file from checkout
328
3292005-10-07 Philippe April  <philippe@ilesansfil.org>
330        * Released wifidog-auth-1.0.0_m2
331
3322005-10-06 Benoit Grégoire  <bock@step.polymtl.ca>
333        * AuthenticatorLocalUserNoSignup:  Make a new authenticator, identical to
334          AuthenticatorLocalUser but disalowing new user signup.  When setting up
335          a server, you can add your users, and then change the authenticator class
336          from AuthenticatorLocalUser to AuthenticatorLocalUserNoSignup
337        * signup.php: Actually enforce it. Still needs improvement, as the network
338          is still shown for signing up.
339
3402005-10-04 Francois Proulx <francois.proulx@gmail.com>
341        * Translated some error message in SQL abstraction
342        * Cleaned up error messages when starting from scratch
343        * Added link to install script, when the database is empty.
344        * Fixed initial data dump script
345
3462005-10-04 Benoit Grégoire  <bock@step.polymtl.ca>
347        * Remove a bunch of deprecated methods from the Node object,
348          document undocumented methods.
349        * Make the node id editable.  This allows the gateway "MAC address as node
350          ID" patch by London wireless to be usable with the standard auth server,
351          and to transition to using MAC address as node ID.
352        * Fix a saving problem with all the content types with some versions of PHP
353        * Add a new Content type:  IFrameRest.  This allows the result of a REST
354          style query returning HTML to be displayed in a HTML iframeset. Currently
355          supported are substitution of the node_id, the user_id and the last
356          display date in the get query.
357        * CVS version of the auth server should now be "reasonnably" safe to use in
358          production, so the 2005-09-01 notice is no longuer in effect.
359
3602005-10-04 Francois Proulx <francois.proulx@gmail.com>
361        * Translated signup page messages
362
3632005-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
364        * Partial login page content manager support (Node only for now)
365
3662005-09-27 Philippe April  <philippe@ilesansfil.org>
367        * Guess the best language from what the browser sends,
368          otherwise use the default.
369
3702005-09-26 Francois Proulx <francois.proulx@gmail.com>
371        * Translated the few new sentences on the login page
372
3732005-09-26 Benoit Grégoire  <bock@step.polymtl.ca>
374        * login/index.php, stylesheet.css:  Make the create new account bigger, and
375          remove unnecessary words.
376
3772005-09-26 Francois Proulx <francois.proulx@gmail.com>
378        * Completed translations
379
3802005-09-26 Francois Proulx <francois.proulx@gmail.com>
381        * Fixed annoying bug in new google maps code
382
3832005-09-25 Francois Proulx <francois.proulx@gmail.com>
384        * Complete rewrite of Google maps code, now stands as a js class
385        * relooking of mapping stuff
386        * wrote basic "Find the closest hotspot" widget for canada geocoding only...
387        * fixed broken xml, damn blank lines...
388
3892005-09-25 Benoit Grégoire  <bock@step.polymtl.ca>
390        * Statistics:  At long last, the monster statistics commit.
391          We finally have a stable, documented and uniform codebase for statistics.
392          This resulted is removal of several functions in other classes too.
393          There are a few new reports, but mostly, each report is a lot more
394          flexible.
395          Still TODO:
396          - Security:  This is to be implemented directly in the Statistics class,
397            by forcing restrictions to the selected nodes and network.
398          - Support selecting multiple users for a report.
399            The code and SQL queries support it, but the UI doesn't. An easy and
400            quick way would be to simply parse a coma-separated list. Comment are
401            off course welcome!
402
4032005-09-25 Francois Proulx <francois.proulx@gmail.com>
404        * Updated initial SQL script to schema 29
405        * Remove useless includes in some files, preventing from using the "plugin"
406          contents
407
4082005-09-25 Philippe April  <philippe@ilesansfil.org>
409        * Make method getCurrentRealNode ORDER BY DESC so it picks
410          up the latest network name
411
4122005-09-20 Francois Proulx <francois.proulx@gmail.com>
413        * Changed the output layout of the Google Maps hotspots list
414        * Added "Loading" message on Google Maps
415
4162005-09-17 Francois Proulx <francois.proulx@gmail.com>
417        * Fixed forgotten reference to getNetwork in AuthLocalUser
418
4192005-09-17 Francois Proulx <francois.proulx@gmail.com>
420        * Fixed a few bugs in Radius class
421        * Improved syntax and completed 100% of French translations
422
4232005-09-17 Francois Proulx <francois.proulx@gmail.com>
424        * Fixed RADIUS bug #1287000
425
4262005-09-16 Francois Proulx <francois.proulx@gmail.com>
427        * Added Mail Classes to circumvent mb_send_mail UTF-8 problems
428        * This class provides UTF-8 mailing for validation e-mail, lost password,
429          lost username...
430        * Fixes reported bug where users would not receive validation email on
431          some servers
432
4332005-09-13 Francois Proulx <francois.proulx@gmail.com>
434        * Added bytes in words for online users
435
4362005-09-13 Francois Proulx <francois.proulx@gmail.com>
437        * Fixed bug in user stats
438
4392005-09-13 Francois Proulx <francois.proulx@gmail.com>
440        * Added access permissions for statistics.
441
4422005-09-12 Benoit Grégoire  <bock@step.polymtl.ca>
443        * schema_validate.php:  Fix a bug version 26.  The conversion of the old
444          account_origin as a parameter to the authenticator was wrong.  To fix it
445          manually if you already ran the script, you must quote the parameter in
446          column network_authenticator_params in the networks table.
447        * Network.php:  Fix improper quoting of Authenticator arguments.
448        * RssPressReview.php:  Make expansion of today's item optionnal.
449
4502005-09-11 Francois Proulx <francois.proulx@gmail.com>
451        * Fixed dependency check, found a workaround for the file_exists problem
452
4532005-09-11 Francois Proulx <francois.proulx@gmail.com>
454        * Added dependency check for Phlickr
455
4562005-09-11 Francois Proulx <francois.proulx@gmail.com>
457        * Fixed Flickr support
458        * Now using PEAR version of Phlickr
459        * Download the latest package and install like this: pear install
460          PhlickrXYZ.tar.gz
461
4622005-09-10 Francois Proulx <francois.proulx@gmail.com>
463        * Fixed dependency check
464
4652005-09-10 Francois Proulx <francois.proulx@gmail.com>
466        * Removed many blank lines after php tags
467        * added more checks, for dates etc...
468        * changed sorting mode
469
4702005-09-10 Benoit Grégoire  <bock@step.polymtl.ca>
471        * Add UI to add a new Network
472        * Improve UI to add a new Node and new Content
473
4742005-09-10 Philippe April  <philippe@ilesansfil.org>
475        * signup.php: Fixed bug in detecting is the user is already part of the
476          network.
477        * classes/{Authenticator,Network,Node}.php: isset, and issues preventing
478          users from logging out.
479        * add BASEPATH to most files with require_once
480        * Added dependency checking class
481        * Don't show the admin menu if user does not have access
482        * Got rid of user_log_detailed.html, using stats.php instead
483
4842005-09-10 Francois Proulx <francois.proulx@gmail.com>
485        * Automatically redirect user to login form when trying to access admin
486        * Added various isset, empty tests, vars init in stats (to avoid PHP
487          warning)
488
4892005-09-08 Philippe April  <philippe@ilesansfil.org>
490        * New stats system with graphs
491        * Changed the UI a bit to reflect this change
492        * Updated stylesheet
493
4942005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
495        * portal/index.php:  Custom portal redirect now operational.
496
4972005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
498        * MainUI:  Move call to garbage_collect() here.
499        * portal/index.php:  New feature:  Custom portal redirect.
500        * rework much of the logout code
501
5022005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
503        * login/index.php:  Fix getSplashOnlyUser() method call.
504
5052005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
506        * RssPressReview.php:  Fix z-index so the hovers will overlap the expanded
507          news.
508        * login/index.php:  Reorganise code to make it more legible and comment what
509          it does. Emphasise error messages and put them right above where they
510          clicked so users can actually see them.
511        * Security.php:  Remove deprecated login code
512        * Authenticator.php: Change calling convention for better encapsulation
513        * New feature:  Support multiple simultaneous logins if enabled in network
514          configuration
515        * New feature (in testing): Splash-only node support
516
5172005-09-05 Benoit Grégoire  <bock@step.polymtl.ca>
518        * include/common.php:  Add code to undo the effect of magic_quote if enabled
519          in the server config.  It is still strongly recommended to disable
520          magic_quote
521        * Node.php:  Add UI for splash only node and custom portal
522        * Update schema
523
5242005-09-04 Francois Proulx <francois.proulx@gmail.com>
525        * Removed update.php script ( should not have been in CVS )
526        * Moved authenticator require in Network getAuthenticator()
527
5282005-09-03 Philippe April  <philippe@ilesansfil.org>
529        * Schema change: Added last_paged column to nodes table
530        * Replaced HOTSPOT_NETWORK_NAME with hotspot_network_name in all templates
531        * s/Networt/Network/
532        * Fixed signing up and validation, typos
533
5342005-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
535        WARNING:  DO NOT use the CVS auth server in production until further notice.
536        Massive internal changes are underway.
537        Use the release tagged 1.0m1 in production.
538        * Network abstraction mostly complete, including UI.
539          All that is missing is new network creation, network stakeholder UI and
540          testing.
541        * Cleanup the config file of all the now unneeded constants.
542          Note that the install script is currently broken.
543          There can now be multiple networks on the server.
544          The install script will have to make sure that there is at least one, with
545          one super-admin
546
5472005-08-31 Francois Proulx <francois.proulx@gmail.com>
548        * Fixed bug where node ID containing periods, whitespaces or underscores
549          would confuse PHP
550        * MD5 hash is used to make sur the http vars are unique
551        * This is only valid for Node administration
552
553NOTE:  the 1.0m1 release was tagged here
554
5552005-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
556        * Node.php:  Fix node creation
557
5582005-08-31 Francois Proulx <francois.proulx@gmail.com>
559        * Fixed new node creation bug
560
5612005-08-29 Philippe April <philippe@ilesansfil.org>
562        * js/gmaps_hotspots_status_map.js: Fixed small bug in that makes prevents
563          IE to see the map properly.
564
5652005-08-22 Pascal Leclerc  <pascal@plec.ca>
566        * install.php, Change javascript to OnClick + dependencie note
567        * schema_validate.php, Fix broken DB update for install.php
568        * SmartyWifidog.php, Add automatic redirect to install.php if Smarty not
569          installed
570
5712005-08-22 Francois Proulx <francois.proulx@gmail.com>
572        * Added edit button for quickly accessing Content editing mode
573        * Changed the layout so the admin ui fits in a tighter space
574
5752005-08-21 Francois Proulx <francois.proulx@gmail.com>
576        * Added reference to new street address fields in mapping page and on status
577          template
578        * Fix bug on line 756 of RssPressReview , added check for empty var.
579        * Flickr support is broken, added  bug to sf.net tracker
580
5812005-08-21 Francois Proulx <francois.proulx@gmail.com>
582        * Node admin UI should now be completed.
583        * Minor bug fixes in Geocoder
584        * Merged node_owners and node_tech_officers table into node_stakeholders
585
5862005-08-19 Benoit Grégoire  <bock@step.polymtl.ca>
587        * New schema version
588        * install.php, tmp/magpie_cache/:  Move all magpie caches
589          to a central location, adjust install script to match.
590        * classes/MainUI.php:  Add $_REQUEST array output if debug_request is set as
591          a parameter to the page
592        * classes/Network.php, classes/Node.php:  Change content ordering to be most
593          recently subscribed first, this is a stopgap measure while waiting for
594          Content ordering to be explicitely settable.
595        * classes/Content/RssAggregator.php:  Full admin UI, some bug fixes
596        * lib/RssPressReview/RssPressReview.php: New version, adds isFeedAvailable()
597          and getFeedTitle() methods.
598          Fixes minor bugs
599
6002005-08-17 Pascal Leclerc  <pascal@plec.ca>
601    * Added install script + minor changes in schema_validate.php
602
6032005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
604        * Re-Run sync_sql_for_cvs.sh, did not run to completion last time.
605
6062005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
607        * Run sync_sql_for_cvs.sh
608        * sql/dump_initial_data_postgres.sh:  Fix a hardcoded reference to rss_url
609          which no longer exists
610        * .project:  Remove mistakenly commited file in last commit
611        * .cvsignore:  Add file to avoid previous error
612
6132005-08-12 Francois Proulx <francois.proulx@gmail.com>
614        * Added missing GisPoint fille to CVS
615        * Fixed some bugs
616        * Added Technical officer table
617        * Added technical officer management to node UI
618
6192005-08-12 Francois Proulx <francois.proulx@gmail.com>
620        * Changed config.php GMAPS_API_KEY to GMAPS_PUBLIC_API_KEY
621        * Added GMAPS_ADMIN_API_KEY, needed for admin UI
622        * This is a stupid limitation of the Google Maps API which matches the
623          complete URL path
624        * Added /classes/GisPoint.php class
625        * Will add geocode + Google Maps capabilities very soon
626        * Notice : the XML schema will change very soon...
627        * I will try to keep the streetAddress field intact so I won't break
628          backward compat.
629
6302005-08-12 Benoit Grégoire  <bock@step.polymtl.ca>
631        * classes/MainUI.php: Move the call to schema_validate() in MainUI's
632          constructor
633        * lib/RssPressReview/RssPressReview.php: Finish rewrite. Move there to
634          reflect it's independently maintained status
635        * wifidog/classes/Content/HotspotRss.php:  Delete the class, obsolete
636        * wifidog/classes/Content/RssAggregator.php:  Functionnal, but needs it's
637          admin UI written.
638        * wifidog/include/schema_validate.php:  Create the table structure for the
639          new RssAggregator.
640          Remove rss_url in nodes table, no longer needed.  Move it's data to the
641          new Content class.
642
6432005-08-11 Francois Proulx <francois.proulx@gmail.com>
644        * Refactored the Admin UI.
645        * I need to write the upload form and rewrite statistics
646
6472005-08-10 Francois Proulx <francois.proulx@gmail.com>
648        * More GIS stuff
649
6502005-08-10 Francois Proulx <francois.proulx@gmail.com>
651        * Added Geocoders
652          - /classes/AbstractGeocoder.php
653          - /classes/Geocoders/GeocoderCanada.php
654          - /classes/Geocoders/GeocoderUsa.php
655        * This will be used for enterring GIS data
656        * Coming in the next few days: set hotspot gis using Google Maps + Geocoding
657
6582005-01-25 Pascal Leclerc  <pascal@plec.ca>
659        * Fix hardcoded images path in classes/MainUI.php
660
6612005-07-25 Francois Proulx <francois.proulx@gmail.com>
662        * Fixed bug in hotspot_status , added htmlspecialchars();
663        * This solved the bug where ampersands would break the XML
664
6652005-07-17 Francois Proulx <francois.proulx@gmail.com>
666        * Fixed bugs in gen.sh, compile.sh locale scripts
667
6682005-07-12 Francois Proulx <francois.proulx@gmail.com>
669        * Changed XML element from hotspotsMetadata to hotspots and added networkUri
670          element to networkMetadata
671
6722005-07-12 Francois Proulx <francois.proulx@gmail.com>
673        * Fixed XML protocol for exchanging hotspots status.
674        * Should now be considered stable (stamped v1.0)
675        * Fixed hotspots status map to reflect the changes
676        * Added french translations
677
6782005-07-11 Francois Proulx <francois.proulx@gmail.com>
679        * Changed link to hotspots map using NON ssl because Google Keys are
680          sensitive to the whole path.
681
6822005-07-11 Benoit Grégoire  <bock@step.polymtl.ca>
683        * classes/RssPressReview.php: Begin rewrite.
684        * classes/MainUI.php: Add addFooterScript() function.
685        * venues_map.php:  Workaround the IE DOM problem.
686
6872005-07-05 Francois Proulx <francois.proulx@gmail.com>
688        * Changed wording in hotspots status page added legend
689
6902005-07-05 Francois Proulx <francois.proulx@gmail.com>
691        * Minor adjustements to icon positionning
692
6932005-07-05 Francois Proulx <francois.proulx@gmail.com>
694        * Changed google maps marker icons
695
6962005-07-05 Francois Proulx <francois.proulx@gmail.com>
697        * Added missing elements in XML exchange format
698        * Stable v1.0 for XML exchange format and Google Maps mapping
699        * Added GMaps constants to config file
700        * Unsmartied index.php , added link to map
701        * Check config.php to set corresponding values
702        * You can now use hotspot_status.php?format=XML along with xslt query string
703          parament to convert your XML document
704        * For this to work, You need to have activated XSLT ( see config file )
705
7062005-07-05 Francois Proulx <francois.proulx@gmail.com>
707        * Added Google Maps mapping venues_map.php
708        * /js/venues_status_map.js  JavaScript code for Mapping
709        * In beta : tested successfuly with 48 nodes in the Montreal area, loads in
710          a snap
711
7122005-07-03 Francois Proulx <francois.proulx@gmail.com>
713        * Updated the XML venues status format ( version 1.0, once approved )
714        * Added long / lat fields to nodes table ( for mapping purposes )
715
7162005-06-17 Francois Proulx <francois.proulx@gmail.com>
717        * Added IFrame and SimpleIFrame content types.
718
7192005-06-28 Benoit Grégoire  <bock@step.polymtl.ca>
720        * classes/Content/Langstring.php:  Bug fix:  Langstring was always
721          non-persistent, no matter the checkbox.  Move the code to
722          TrivialLangstring.php where it belongs.
723
7242005-06-21 Benoit Grégoire  <bock@step.polymtl.ca>
725        * portal/inted.php:  Implement the start button functionnality (maybe it
726          would be better to call it "use the Internet").  From now on, once
727          authenticated and when pressing the start button on the portal, the user
728          will be sent to the page he originally tried to access.  A second window
729          will be popped with the portal page so he can come back to it. The window
730          is collapsed, and can be expanded back by clicking on the link. I tried
731          to make it cross platform (and mostly did) but it's still buggy in IE.
732
733          At the same time, this fixes the goof reported by Rob Kelley of
734          nycwireless.net
735
736        * portal/missing_original_url.php:  Displayed when the user tries to use the
737          start button but for some reason the original url is unavailable
738        * common.php:  New define CURRENT_REQUEST_URL, hopefully containing the full
739          URL in the user's URL bar.
740
741
7422005-06-17 Francois Proulx <francois.proulx@gmail.com>
743        * Removed forced Pattern Language on all hotspots
744        * Do not show hotspot logo in portal page, only on login, until we find a
745          better layout
746
7472005-06-16 Francois Proulx <francois.proulx@gmail.com>
748        * Added XML output format for hotspot_status.php
749        * Rough draft v1.0
750        * TODO move to different classes once stabilized
751        * Can use XSLT, if activated ( XSLT_SUPPORT constant )
752        * ie : http://wifidog-auth.org/hotspot_status.php?format=XML&xslt=http://wifidog-auth.org/xslt/hotspot_status.xsl
753        * or simply : http://wifidog-auth.org/hotspot_status.php?format=XML
754
7552005-06-06 Francois Proulx <francois.proulx@gmail.com>
756        * Added long description field to content table
757        * MUST use schema_validate
758        * Modified Pattern Language to be more generic
759        * resend changelog
760
7612005-06-06 Francois Proulx <francois.proulx@gmail.com>
762        * Made changes to Pattern Language ( Kate Armstrong )
763
7642005-05-30 Philippe April <philippe@ilesansfil.org>
765        * Show username in user_stats.php instead of user_id
766          and in other admin pages
767
7682005-05-30 Francois Proulx <francois.proulx@gmail.com>
769        * Changed language selectbox name so it does not clash with ISF's domain
770          cookie
771        * Fixed setlocale algorithm in Locale.php
772
7732005-05-29 Francois Proulx <francois.proulx@gmail.com>
774        * Missing null check in validate.php
775
7762005-05-27 Francois Proulx <francois.proulx@gmail.com>
777        * Changed the signup process to make it smoother for users
778        * The user will automatically be granted the 15 minutes if he's signing up
779          at a real hotspot
780        * If the user closes his browser during the 15 minutes and loses its
781          session, we will regenerate it
782        * Added big red message to the top of the portal page, warning user to
783          validate as soon as possible
784        * Fixed translation typos
785
7862005-05-26 Benoit Grégoire  <bock@step.polymtl.ca>
787        * Someone moved the fallback gettext functions definition (for when gettext
788          isn't installed) inside the static setCurrentLocale method, completely
789          breaking the system when PHP doesn't have gettext support.  This is an
790          untested fix.
791
7922005-05-24 Francois Proulx <francois.proulx@gmail.com>
793        * Fixed bug in auth.php to let users go through when the click twice on the
794          login button
795        * Fixed bug in hotspot_log.php
796
7972005-05-24 Francois Proulx <francois.proulx@gmail.com>
798        * Added "Get access statistics" button to Node admin to get hotspot specific
799          stats
800        * Added search box in Users log to get a specific user stats quickly
801
8022005-05-24 Francois Proulx <francois.proulx@gmail.com>
803        * Fixed typo in some translations
804        * Cleaned-up todos
805
8062005-05-18 Francois Proulx <francois.proulx@gmail.com>
807        * Added strip_tags in RssPreview ( some malformed HTML would break the page
808          layout)
809
8102005-05-16 Francois Proulx <francois.proulx@gmail.com>
811        * Changed login message in MainUI to make it clearer what the login button
812          will do
813
8142005-05-13 Philippe April <philippe@ilesansfil.org>
815        * Added deployment status to node_list
816
8172005-05-11 Francois Proulx <francois.proulx@gmail.com>
818        * Began writing user profiles
819        * Added many methods to User class
820        * Added node quota fields in DB ( bandwidth, throttling ...)
821
8222005-05-10 Francois Proulx <francois.proulx@gmail.com>
823        * Fixed Login link in signup page ( MainUI.php ) if the Session has gw_id,
824          gw_address, gw_port show physical login link
825
8262005-05-10 Francois Proulx <francois.proulx@gmail.com>
827        * Added download button CSS class to style button
828
8292005-05-10 Francois Proulx <francois.proulx@gmail.com>
830        * Fixed wrong method name in File.php
831        * Added strip tags to Langstring
832        * Basic styling of content_admin table
833
8342005-05-04 Francois Proulx <francois.proulx@gmail.com>
835        * Fixed serialization issue ( flickr)
8362005-05-04 Francois Proulx <francois.proulx@gmail.com>
837        * Improved caching
838        * Wrote very basic gridview code for Flickr
839
8402005-05-04 Francois Proulx <francois.proulx@gmail.com>
841        * Implemented caching for Flickr
842        * Need to contact Phlickr to see how we could do better, since serialize
843          does not work OK on objects
844
8452005-05-04 Francois Proulx <francois.proulx@gmail.com>
846        * Fixed bug concerning Content-Length header
847        * Changed default Unit size for setLocalFileSize to bytes
848
8492005-05-04 Francois Proulx <francois.proulx@gmail.com>
850        * Added BLOB support
851        * modified file_download.php to support new header attributes
852        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
853        * Make sure your PHP.ini contains the right value to allow big downloads
854        * Check : http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php
855        * ISF Live server is now configured to support 100 megabytes files
856
8572005-05-04 Francois Proulx <francois.proulx@gmail.com>
858        * Fixed CSS IE Bug
859        * Fixed SQL query
860        * NEED HELP FROM A WEB DESIGNER !!!!!
861
8622005-05-03 Francois Proulx <francois.proulx@gmail.com>
863        * Disabled logging in Pattern Language archives
864
8652005-05-03 Francois Proulx <francois.proulx@gmail.com>
866        * Having for SQL query... :-(
867
8682005-05-02 Francois Proulx <francois.proulx@gmail.com>
869        * PatternLanguage is now completed
870
8712005-04-30 Francois Proulx <francois.proulx@gmail.com>
872        * Logout button will now destroy session AND render token USED
873
8742005-04-30 Francois Proulx <francois.proulx@gmail.com>
875        * Fixed bug that could potentially let non owners add content in /content
876          through content groups
877        * Admin menu won't show node selector if the user is not owner of at least
878          one hotspot
879        * Added Width, height support for Picture
880
8812005-04-30 Francois Proulx <francois.proulx@gmail.com>
882        * Did my best for content styling ... ( it's 5h00 am )
883
8842005-04-30 Francois Proulx <francois.proulx@gmail.com>
885        * Updated sync_sql_for_cvs.sh
886
8872005-04-30 François Proulx <francois.proulx@gmail.com>
888        * ChangeLog entry missed by CVS ?!
889        * Locale now decomposes the locale string by '_'
890        * Now works on Mac OS X ( but you must use fr_CA, en_CA or fr_FR ... )
891
8922005-04-30 François Proulx <francois.proulx@gmail.com>
893        * Trying to solve RSS encoding bug...
894        * Testing on live server
895
8962005-04-29 François Proulx <francois.proulx@gmail.com>
897        * Removed all inline unuseful javascript code on submit buttons
898          onclick='submit()'
899        * This conflicted with the actual click on the submit button in Safari
900        * Fixed check in Network for isOwner, only check superAdmin
901        * Fixed bug so you can't add an existing content group to itself (deadlock)
902        * Started coding Pattern language narrative display
903
9042005-04-29 François Proulx <francois.proulx@gmail.com>
905        * Wrote User.php addcontent, removeContent, getAllContent()
906        * Wrote Content.php subscrite() and unsubscribe()
907        * Added parameters to getAllContent() in Node and Network
908          (exclude_subscribed_content)
909        * These will be used for subscribing a to some content
910        * Pattern Language will be the first to use it
911        * Online users lists
912        * Fixed bugs in Node and Network ( isOwner check )
913
9142005-04-28 François Proulx <francois.proulx@gmail.com>
915        * Logout button build a query string containing gw_id, gw_address, gw_port
916          ( if available ), so that a user at a physical hotspot will get the login
917          page from the hotspot he is.
918        * Fixed but in Locale ( did not propertly set the locale in the session )
919
9202005-04-28 François Proulx <francois.proulx@gmail.com>
921        * Added check in MainUI toolbar so that it won't show "NOT logged in ?"
922          message when connect to a real hotspot ( not virtual )
923        * This message confused many users ( they clicked and got the virtual login
924          instead ! )
925        * Hide adminstration features ( statistics, hotspot creation, network wide
926          content etc...) from all but Super admins
927        * Fixed getAllLocativeArtisticContent in Node.php added is_persistent check
928        * Added $associate_existing_content parameter to processNewContentUI to
929          allows reuse for existing content ( in ContentGroup )
930        * Fixed bug in FlickrPhotoStream delete ( missing return from parent )
931        * Added security check in all content classes ( ProcessAdminUI )
932
9332005-04-26 François Proulx <francois.proulx@gmail.com>
934        * Replaced show only content groups by show persistent
935
9362005-04-26 François Proulx <francois.proulx@gmail.com>
937        * Added missing /content directory
938
9392005-04-26 François Proulx <francois.proulx@gmail.com>
940        * Added /content/ for displaying all content elements
941        * Logging is disable when viewing them
942        * All content elements will expand
943        * Pattern languages won't display everything ( special property )
944          isExpandable
945        * Added a link in portal pages to go to /content/
946        * Added Show all contents button in content_admin.php
947
9482005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
949        * Content.php, ContentGroup.php:  All Content now implement the
950          isDisplayableAt($node).  Used by the portal, if content has nothing
951          displayabel, the entire content is skipped.
952
9532005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
954        * FlickrPhotostream.php:  Fix the object so it doesn't crash when flicker is
955          disabled.
956
9572005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
958        * ContentGroup.php:  Fully functionnal content rotation engine, with all
959          options supported. Rotation based on session may not be reliable if the
960          user isn't truly logged in (from a node).
961
9622005-04-26 François Proulx <francois.proulx@gmail.com>
963        * Most of the missing translations
964
9652005-04-26 François Proulx <francois.proulx@gmail.com>
966        * Changed back File to non trivial
967        * portal page stylesheet
968
9692005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
970        * ContentGroupElement.php:  It shouldn't be allowed to create a new content
971          element in isolation.  Unfortunately the UI allows if for now.  Such
972          content will now be deleted.
973        * Locale:  Fix string selection algorithm to pick the right language.
974        * Content:  Implement display logging.
975
9762005-04-26 François Proulx <francois.proulx@gmail.com>
977        * stylesheet rework
978
9792005-04-26 François Proulx <francois.proulx@gmail.com>
980        * Fixed wrong location for change password link
981
9822005-04-25 François Proulx <francois.proulx@gmail.com>
983        * Portal page styling
984
9852005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
986        * ContentGroup.php:  Previous fix didn't work.  New fix.
987
9882005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
989        * ContentGroup.php:  Make bad selection mode eror non-fatal.
990
9912005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
992        * Fix bug in ContentGroup enumeration
993
9942005-04-25 François Proulx <francois.proulx@gmail.com>
995        * More stylesheets work
996
9972005-04-25 François Proulx <francois.proulx@gmail.com>
998        * Much better stylesheet
999
10002005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1001        * UI fully functionnal
1002
10032005-04-25 François Proulx <francois.proulx@gmail.com
1004        * More interface work
1005
10062005-04-25 François Proulx <francois.proulx@gmail.com
1007        * Completed integration of new interface with new objects
1008
10092005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1010        * Integration merge, should work, but there will be display problems
1011          everywhere.  Expect further commits today.
1012        * Almost 100% complete Network abstraction
1013        * Much better object encapsulation.  Deprecated methods not removed yet.
1014        * Add MainUI class.  Used to display the interface.  Inner workings still
1015          need work.
1016
10172005-04-23 François Proulx <francois.proulx@gmail.com>
1018        * Added Preferred Size support for Flickr pictures
1019
10202005-04-23 François Proulx <francois.proulx@gmail.com>
1021        * Completed missing translations
1022
10232005-04-23 François Proulx <francois.proulx@gmail.com>
1024        * Fixed bugs in File and EmbeddedContent
1025        * Completed first iteration of EmbeddedContent
1026        * Can now play multimedia content
1027        * Could not test fallback with my browser ( Safari and Firefox )
1028        * Need help to test content in different browser to see how it reacts...
1029
10302005-04-22 François Proulx <francois.proulx@gmail.com>
1031        * Fixed bug in FlickrPhotostream.php
1032        * Params did not match new methods requirements ( getUserByEmail )
1033        * Changed stylesheet class name for Flickr to match new changes
1034        * Fixed bugs in File
1035        * Wrote part of EmbeddedContent ( partially working )
1036        * TODO: add support for parameters and attributes in EmbeddedContent
1037
10382005-04-22 François Proulx <francois.proulx@gmail.com>
1039        * Fix schema version in François's commit
1040
10412005-04-21 François Proulx <francois.proulx@gmail.com>
1042        * Added explicit admin UI exceptions support for Flickr
1043        * Completed File and Picture objects
1044
10452005-04-20 François Proulx <francois.proulx@gmail.com>
1046        * Completed Flickr support ( explicit exceptions catching )
1047        * Most of File object is done
1048        * Fixed bug in generic_object_admin.php
1049        * changed stylesheet class tags for Flickr
1050
10512005-04-18 François Proulx <francois.proulx@gmail.com>
1052        * Added Flickr content support
1053        * Part of File object is done
1054
10552005-04-19 Benoit Grégoire  <bock@step.polymtl.ca>
1056        * Working (beta...) content manager and portal.
1057        * Add content preview mode
1058
10592005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1060        * Hotspot and network content association, continue access control work.
1061        * hotspot_owner.php: Fix wrong assignement of user_id that prevented the
1062          script from working.
1063        * All files:  Remove whitespace and carriage return after the ?> closing
1064          tags.
1065
10662005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1067        * Much more complete admin, initial access control work.
1068
10692005-04-15 Benoit Grégoire  <bock@step.polymtl.ca>
1070        * Support more of the content object model, do a half-decent CSS for the
1071          admin interface.
1072
10732005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1074        * Content.php:  Use full langstring interface by default;
1075
10762005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1077        * Content.php:  Fix db reference;
1078
10792005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1080        * Fix Content object enumeration preventing usage of admin interface
1081        * Partial fix for RSS feed encoding (multiple feed aggregation still broken)
1082
10832005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1084        * First part of the future content delivery infrastructure. Many files added
1085
10862005-04-01 François Proulx  <francois.proulx@gmail.com>
1087        * Modified gen.sh script to match UTF-8
1088        * Added PAP RADIUS encryption support ( asked by Paris Sans Fil )
1089
10902005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1091        * wifidog/templates/auth_sources_selection.html:  Add missing file from
1092          Francois's commit.
1093
10942005-04-01 Philippe April <philippe@ilesansfil.org>
1095        * Fixed missing parenthesis in classes/User.php
1096        * Removed unused files
1097        * fixed schema_validate.php (typos)
1098
10992005-04-01 Francois Proulx  <francois.proulx@gmail.com>
1100        * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT
1101          EDITOR
1102        * The database will be converted to UTF-8 (version 5)
1103        * Added select boxes ( or hidden ) html form elements to choose the network
1104          for signup, lost password, username
1105
11062005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1107        * Add constraints to account_origin to detect errors on inserts.
1108        * Remove IDRC test server
1109
11102005-04-01 Philippe April <philippe@ilesansfil.org>
1111        * User.php: Add reference to $db global variable.
1112        * Tagged v0_1_0_alpha1
1113        * Removed spaces in AuthenticatorLocalUser.php
1114
11152005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1116        * Remove spaces after php blocks in various files.
1117        * Temporarily fix single authentication source not present bug in login
1118          smarty template.  All other places where we select the network will be
1119          fixed tommorow.
1120        * Fix initial schema errors.
1121
11222005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1123        * More RADIUS install documentation.
1124        * Fix schema_validate.php
1125
11262005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1127        * Moved language definition
1128        * Moved e-mail subjects to User class ( each e-mail functions )
1129
11302005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1131        * Added missing schema_validate.php modifs.
1132
11332005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1134        * Added PEAR install procedure
1135
11362005-03-30 François Proulx  <francois.proulx@gmail.com>
1137        * Finished RADIUS authentication and accounting
1138        * Accounting Unique session ID is now based on the same token we use
1139        * Fixed all issues with lost_username, lost_password etc...
1140        * User class has new static function getUsersByEmail and getUsersByUsername
1141        * Added translations for new features
1142        * Translated the validation, lost password, username e-mails
1143        * Tested quite a bit, this version is considered stable
1144        * A few examples on how set different RADIUS or local authenticators can be
1145          found in the config.php
1146
11472005-03-29 François Proulx  <francois.proulx@gmail.com>
1148        * schema_validate.php : Modified schema : dropped e-mail + account unique
1149          index, dropped email not empty constraint
1150        * Schema is now at version 3
1151        * Coded RADIUS authentication
1152        * Modified templates to show a select box when more than one server is
1153          configured
1154        * Coded RADIUS accounting and backward compatibility accounting
1155        * Modified many statistics SQL queries to match new Users table
1156        * modified statistics templates to match user_id and account_origin
1157        * TODO : Fix lost_username and lost_password ( issue since we dropped the
1158          unique constraint on emails... )
1159        * TODO : Heavy testing possibly with remote RADIUS servers
1160
11612005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1162        * sql:  Put initial data in a transaction, and specify the wifidog user so
1163          you do not have to su to it while using sync_sql_for_svs
1164
11652005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1166        * common.php:  Add get_guid() function
1167        * validate_schema.php: New auto-upgrade script to allow autaumatic schema
1168          upgrade.  Note that you must still update dump_initial_data_postgres.sh
1169          and use sync_sql_for_cvs.sh so new users aren't left in the cold.
1170        * New class Authenticator (and subclasses):  Begin virtualizing the login
1171          process.
1172
11732005-03-24 Benoit Grégoire  <bock@step.polymtl.ca>
1174        * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming
1175          and outgoing for all connections from a user have null values.
1176        * wifidog/local_content/default/portal.html: Fix layout so it resizes
1177          properly.  This in an interim measure.
1178        * Update schema.  This will allow automatic schema updates in the future.
1179          TO update a live server:
1180
1181      BEGIN;
1182      CREATE TABLE schema_info (
1183            tag text PRIMARY KEY,
1184            value text
1185          );
1186          INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
1187          COMMIT;
1188
11892005-03-16 Matthew Asham <matthewa@bcwireless.net>
1190    * config.php: will use "local.config.php" instead, if present.  avoid cvs
1191      over-writing.
1192    * signup.php: if CUSTOM_SIGNUP_URL is defined, signup.php will re-direct.
1193      For integration with existing auth systems
1194    * hotspot_status.php: ob_clean may complain about buffering.  muted.
1195    * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the
1196      feed.
1197
11982005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
1199        * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql,
1200          wifidog-postgres-schema.sql:-Widen the connections size to fix int4
1201          wraparound problems.  To update a running server, execute the following
1202          sql sniplet:
1203
1204      BEGIN;
1205      ALTER TABLE connections RENAME incoming TO incoming_old;
1206      ALTER TABLE connections ADD COLUMN incoming int8;
1207      ALTER TABLE connections RENAME outgoing TO outgoing_old;
1208      ALTER TABLE connections ADD COLUMN outgoing int8;
1209      UPDATE connections set incoming=incoming_old, outgoing=outgoing_old;
1210      ALTER TABLE connections DROP COLUMN incoming_old;
1211      ALTER TABLE connections DROP COLUMN outgoing_old;
1212      COMMIT;
1213
1214        * wifidog/admin/hotspot.php: Missing file from phil's commit.
1215        * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po:  New translation
1216          by Benoit St-André
1217
12182005-02-14 Philippe April <philippe@ilesansfil.org>
1219        * gw_message.php: the "activate" message was not properly defined and
1220          would cause an error to show up instead of the nice activate your account
1221          message
1222
12232005-02-14 Philippe April <philippe@ilesansfil.org>
1224        * wifidog/locale/gen.s: Was not working as expected, it will now get the
1225          gettext from smarty properly.
1226        * Updated TODO with ideas on making config better
1227
12282005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1229        * wifidog/templates/hotspot_status.html:  Restore the number of nodes
1230        * wifidog/hotspot_status.php: Restore the number of nodes, add formatting
1231          and more information to the RSS feed.
1232
12332005-01-26 Philippe April <isf_lists@philippeapril.com>
1234        * Some kind of virtual login (we need to talk about this).
1235        * New User and Node classes
1236        * Modified all files to work with the classes.
1237        * Remove mgmt_helpers (all done in User class now)
1238
12392005-01-25 Benoit Grégoire  <bock@step.polymtl.ca>
1240        * classes/Node.php:  New file, untested code example
1241        * wifidog/admin/admin_common.php: Remove double-defined BASEPATH
1242
12432005-01-25 Philippe April <isf_lists@philippeapril.com>
1244        * Changed initial postgres inserts sql file, it wasn't working properly
1245
12462005-01-25 Pascal Leclerc  <pascal@plec.ca>
1247        * Added admin and owner administration pages
1248
12492005-01-23 Philippe April <isf_lists@philippeapril.com>
1250        * Added gateway error messages (validation period, etc.)
1251
12522005-01-20 Philippe April <isf_lists@philippeapril.com>
1253        * Modularized the admin interface, added functions
1254
12552005-01-18 Philippe April <isf_lists@philippeapril.com>
1256        * Smarty'ized more, I think it's done now
1257
12582005-01-12 Philippe April <isf_lists@philippeapril.com>
1259        * i18n and smarty'ized parts
1260
12612005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
1262        * INSTALL: Mandate PHP5
1263        * wifidog/hotspot_status.php: Allow export of the list as a RSS feed
1264        * wifidog/classes/RssPressReview.inc:  Make it truly functionnal.
1265        * wifidog/portal/index.php:  Support multiple RSS feeds.  The system will
1266          automatically pick the best 5 entries from all the feeds.  It will
1267          compensate for disparate publication intervals.  An entry from a feed that
1268          does not publish often will live longer than an entry from a feed that
1269          publishes very often.  If a feed doesn't have any entry that makes the
1270          cut, it will not appear at all.
1271        * wifidog/templates/hotspot_status.html:  Add link to the RSS version.
1272
12732005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
1274        * wifidog/config.php:  Add list of hotspot to network rss feed list (not yet
1275          functionnal)
1276        * wifidog/hotspot_status.php:  Allow RSS export of the list of deployed
1277          Hotspots.
1278        * wifidog/admin/incoming_outgoing_swap.php:  Script to swap incoming and
1279          outgoing in your data. Only use this if you had gateways before 1.0.2
1280          and wish to correct your logs before you upgrade.
1281        * wifidog/classes/RssPressReview.inc:  Missing file from previous commit.
1282        * wifidog/portal/index.php: Preliminary work to enable smart press review
1283          of multiple RSS feeds.
1284
12852005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
1286        * include/common.php: Fix SSL security warnings.  If SSL is enabled and the
1287          page was actually served over SSL, all media in the file will be served
1288          over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links
1289          that break out of SSL mode.  From now on, use the self adapting
1290          BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode,
1291          and BASE_URL_PATH to break out of it.
1292
12932005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
1294        * admin/user_stats.php: Add three top tens to the statistics:  Top ten
1295          apetite for bandwidth, top ten travelers, most addicted users.
1296
12972005-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
1298        * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much
1299          thinner.
1300        * wifidog/local_content/default/login.html: Remove announcements
1301        * wifidog/include/user_management_menu.php: Fix mailto:
1302        * wifidog/auth/index.php: Fix auth server part of the no data transmited
1303          statistics bug.
1304        * wifidog/admin/index.php: Add link to statistics
1305        * wifidog/admin/user_stats.php: Activate security.
1306        * wifidog/index.php: Make the distinction between the two hotspot status
1307          pages clearer.
1308
13092004-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
1310        * wifidog/index.php: Add menu
1311        * wifidog/include/user_management_menu.php: Editorial change, make
1312          translateable
1313        * wifidog/portal/index.php:  Fix RSS feeds
1314
13152004-12-03 Benoit Grégoire  <bock@step.polymtl.ca>
1316        * wifidog/admin/user_stats.php,  wifidog/classes/Statistics.php:  Embryonic
1317          aggregate user stats.  Currently allows you to find out the rate at which
1318          your users subscribe.
1319        * wifidog/config.php, wifidog/local_content/default/login.html,
1320          wifidog/include/user_management_menu.php:  Add hotspot status page to
1321          login page.
1322        * wifidog/hotspot_status.php: Cosmetic
1323        * wifidog/admin/hotspot_log.php: Stats now need admin privileges
1324        * wifidog/index.php: Cosmetic.
1325
13262004-11-19 Benoit Grégoire  <bock@step.polymtl.ca>
1327        * TODO: Add email domains to blacklist
1328        * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech
1329          support email address
1330        * wifidog/hotspot_status.php: List of HotSpots that are open with summary of
1331          information.  Designed to be included as part of another page.
1332        * wifidog/local_content/common/wifidog_logo_banner.gif: Add wifidog logo
1333        * wifidog/local_content/default/hotspot_logo_banner.jpg: Shrink the logo
1334          and write unknown hotspot, however this is still really ugly
1335        * wifidog/local_content/default/login.html, portal.html, stylesheet.css:
1336          Cosmetic fixes
1337        * wifidog/local_content/default/login.html.fr, portal.html.fr: Delete the
1338          files, this isn't the approach we will use for translation.
1339        * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:
1340          Update with new node information structures.
1341
13422004-11-04 Benoit Grégoire  <bock@step.polymtl.ca>
1343        * wifidog/admin/hotspot_log.php: Add number of currently connected users
1344          here as well.
1345
13462004-11-03 Benoit Grégoire  <bock@step.polymtl.ca>
1347        * wifidog/ping/index.php: Log user-agent
1348        * extensive statistics work
1349        * sql/wifidog-postgres-schema.sql: Add description field for hotspots and
1350          log user-agent
1351
13522004-10-28 Benoit Grégoire  <bock@step.polymtl.ca>
1353        * sql/wifidog-postgres-schema.sql:  Add constraints to avoid empty string
1354          in email or user_id.
1355        * Some statistics fixes
1356
13572004-09-29 Alexandre Carmel-Veilleux <acv@acv.ca>
1358        * wifidog/admin/index.php: Integrated the changes contributed
1359          on the mailing list by Rikhardur EGILSSON (fname.lname@oecd.org),
1360          mainly a missing ' in some HTML.
1361
13622004-09-28 Yanik Crépeau <yanik@exScriptis.com>
1363    * wifidog/include/common.php: Added commented header with cvs
1364          keywords.
1365        * wifidog/include/common.php: Added commented code (not executing) for
1366          further testing with language/localization issues.
1367
13682004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1369        * sql/wifidog-postgres-schema.sql:  Remove non SQL standard "COMMENT ON"
1370          comments
1371
13722004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1373        * sql/wifidog-postgres-schema.sql:  Drop procedural language stuff
1374
13752004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1376        * sql/wifidog-postgres-schema.sql:  Fix layout for the node_owners table
1377        * Begin integrating Patrick Tanguay's new layout and generate the css
1378          dynamically to allow for background images.
1379
13802004-09-22 Benoit Grégoire  <bock@step.polymtl.ca>
1381        * portal/index.php:  Fix users appearing online at every hotspot.
1382        * wifidog/classes/Style.php, wifidog/login/index.php:  Fix some potential
1383          cache problems and help with validation.
1384
13852004-09-18 Benoit Grégoire  <bock@step.polymtl.ca>
1386        * wifidog/config.php:  Add VALIDATION_GRACE_TIME configuration parameter.
1387        * wifidog/auth/index.php:  Move grace time date arithmetics to the database,
1388          fixes validation period not working.  Stop storing VALIDATION_FAILES
1389          status to the database.  Add check for validation period expiration at
1390          stage login, not just stage counters, this will fix one minute
1391          validation period.
1392        * wifidog/login/index.php:  Check validation period activation, and if
1393          period is expired, explain to the user instead of redirecting to the
1394          gateway.
1395        * wifidog/user_management/index.php:  Fix SQL error at new user registration.
1396
13972004-09-02 Benoit Grégoire  <bock@step.polymtl.ca>
1398        * wifidog/node_list.php: Complete the status page
1399        * Add images
1400        * Add hotspot creation date
1401
14022004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1403        * sql/: Update the postgres schemas and add scripts to ease maintaining it.
1404        * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this
1405          script to the chances will be available in the cvs schemas and initial
1406          data.
1407        * sql/dump_initial_data_postgres.sh: This does the actual dump of the data
1408          in a runnable form.  Note that this needs to be edited manually if you add
1409          a new table requiring initial data.
1410        * INSTALL:  Update for postgres.  Somebody please test this.
1411
14122004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1413        * wifidog/ping/index.php: Implement logging of which hotspot sent the
1414          heartbeat, from which ip and when.
1415        * wifidog/node_list.php:  Primitive but functionnal hotspot status page.
1416        * wifidog/include/user_management_menu.php:  Change menu labels
1417        * wifidog/local_content/default/login.html: Improve layout.  Someone needs
1418          to make this stylesheet correct, I took shortcuts...
1419        * wifidog/local_content/default/stylesheet.css:  Reduce H1 font size.
1420        * wifidog/user_management/index.php:  Display the menu, will eventually
1421          allow us to present proper help text.
1422
14232004-08-30 Benoit Grégoire  <bock@step.polymtl.ca>
1424        * Add link to original requested site.
1425        * wifidog/node_list.php:  New file.  Will become the main node status page.
1426
14272004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
1428        * Primitive network status available form the index page
1429        * Administrative security is implemented.
1430
14312004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
1432        * Fix big gaping security hole in login page (password would be ignored if
1433          the username was used to login)
1434        * PostgreSql port
1435        * Change the method to determine who is online
1436        * Stop keeping unused token once user successfully logs in.
1437        * Fix missing update of token update date.
1438        * Counters wouldn't get updated for stage=LOGOUT
1439        * wifidog/auth/index.php:  Added a Messages: response in addition to Auth:
1440          so we can know what the hell the server is up to.  Currently you need to
1441          run wifidog in debug level 7 to see it. That message should be parsed so
1442          it is visible in debug level 6.
1443        * wifidog/auth/index.php:   Fix code injection vulnerability.
1444
14452004-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
1446        * SSL support and RSS improvement
1447        * Last commit tested with mysql support
1448
14492004-08-24 Pascal Leclerc  <pascal@plec.ca>
1450        * wifidog/admin/user_log.php: Add total to incoming and outgoing
1451        * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports
1452
14532004-08-11 Benoit Grégoire  <bock@step.polymtl.ca>
1454        * wifidog/config.php: Add USER_MANAGEMENT_PAGE
1455        * wifidog/include/user_management_menu.php:  Code meant to deal with
1456          non-standard ports broke the menu.  Hopefully fixed.
1457        * Add alex's mising changelog entry...
1458
14592004-08-11 Alexandre Carmel-Veilleux <acv@acv.ca>
1460        * wifidog/ping/index.php: will now reply if the wifidog auth server is up.
1461          To be used by wifidog to do heartbeats.
1462
14632004-08-07 Benoit Grégoire  <bock@step.polymtl.ca>
1464        * Add code to import a NoCat user database (passwd).  The username will be
1465          generated from the first part of the email if the name was en email.
1466        * Change password hashing algorithm to make it compatible with NoCat (For
1467          the curious among you, the hashing algorithm is now:  take the md5
1468          digest in binary format of the password, and base64 encode it.
1469        * Table schema changed to accomodate newhash length (users.pass is now
1470          varchar(32))
1471        * The user is now allowed to login with either his username or his email.
1472
14732004-08-03 Pascal Leclerc  <pascal@plec.ca>
1474        * wifidog/classes/SmartyWifidog.php: Fix path validation bug, replace
1475          NODE_CONTENT_URL with NODE_CONTENT_PHP_RELATIVE_PATH
1476        * wifidog/classes/AbstractDb.php: Add class=warning for better display
1477        * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports
1478
14792004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
1480        * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set
1481          to true if gettext is available.  If false, blank _() and gettext()
1482          functions will be defined so the system still works.
1483
14842004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
1485        * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully).
1486
14872004-08-02 Benoit Grégoire  <bock@step.polymtl.ca>
1488        * wifidog-auth lives! New since the dark ages
1489        * Demo page to allow people to hack more easely on it
1490        * Support for multiple nodes.  TODO:  Merge with the database project.
1491        * Very cool local content architecture.  Every hotspot can have a folder in
1492          the local_content directory.  This folder can be filed by a single logo,
1493          leaving all the rest to the default content, or be completely custom
1494          (stylesheet, login page, portal page, header, etc.)
1495        * Everything in local content is templated with smarty, no problem with
1496          web designer wrecking havoc on the auth server.  You can edit everything
1497          in local_content/default even if you only speak html.
1498        * No need to set any path in the web server config files (that one was a
1499          bitch to implement)
1500        * RSS feed support (optionnal, with magpierss), one feed per node (url
1501          stored in the database, works great, but no gui to edit it yet) and one
1502          network-wide RSS feed.
1503        * All path are editable from the config file
1504        * "Productize" the thing, so it make sense for other groups to install it
1505          (the network name, url, default RSS, and such are set from the config
1506          file).
1507        * Put most strings in gettext calls for easy future translation.
1508        * User can request that the server send the validation email again
1509        * User can change password
1510        * User who forgot his username can have it mailed to him.
1511        * User who lost his password can ask the system to generate a new one and
1512          mail it to him.
1513        * Email is now a separate field to preserve user privacy.
1514        * Enforces (politely) that there are no duplicate emails in the database
1515        * Database abstraction layer with very nice debugging features (just append
1516          true at the end of the call, and you'll see the query, the results, the
1517          query plan and number of affected rows.  Also allow future upgrade to
1518          postgres.
1519        * Lots of other things I forgot.
Note: See TracBrowser for help on using the browser.