root/trunk/wifidog-auth/CHANGELOG @ 1088

Revision 1088, 90.3 KB (checked in by max-horvath, 7 years ago)

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

  • Installation script checks for PHP session extension (fixes #139)
  • Removed \"Call-time pass-by-reference has been deprecated\" warnings (fixes #239)
  • Revert changes of FCKeditor implementation (fixes #240)
  • Fix of FCKeditor implementation, now also supports FCKeditor 2.3+ (fixes #145)
  • Hotspots/Nodes? are sorted case-insensitive now (fixes #109)
  • Fix #141
  • templates/sites/index.tpl: fix wrong user count (fixes #236)
  • Added more trash mail services to the black list (fixes #149)"
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
12006-09-02 Max Horváth <max.horvath@maxspot.de>
2        * Installation script checks for PHP session extension (fixes #139)
3        * Removed "Call-time pass-by-reference has been deprecated" warnings
4          (fixes #239)
5        * Revert changes of FCKeditor implementation (fixes #240)
6        * Fix of FCKeditor implementation, now also supports FCKeditor 2.3+
7          (fixes #145)
8        * Hotspots/Nodes are sorted case-insensitive now (fixes #109)
9        * Fix #141
10        * templates/sites/index.tpl: fix wrong user count (fixes #236)
11        * Added more trash mail services to the black list (fixes #149)
12
132006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
14        * Fix #189, #173,
15
162006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
17        * Content.php:  Improve handling of simple but persistent content.
18
192006-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
20        * Server.php:  Make sure getCurrentServer returns the default server if the
21          hostname isn't recognised.
22        * Content manager:
23                - Allow deleting simple (trivial) but persistent content
24                - Remove the sponsor info field from Content Metadata.  Best practices
25                  is now to use the project info field to show this information.
26        * Add the necessary schema constraints to allow manually deleting networks,
27          nodes and users.  Be carefull, removing any of theses will remove all
28          traces of connection statistics as well.  You've been warned.
29        * Do not display the network in the login interface if there is only one.
30        * Add a pseudo-random content ordering mode.  Pick content elements
31          randomly, but do not display the same content twice untill all content
32          has been seen.
33        * Allow setting a title but not displaying it (very usefull for reusable
34          content)
35
362006-08-29 Max Horváth <max.horvath@maxspot.de>
37        * Cleaned up PHPdoc tags
38        * Updated german translation
39        * Updated portuguese translation, thanks to Gabriel Hahmann
40        * Added spanish translation, thanks to Ricardo Jose Guevara Ochoa
41
422006-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
43        * Add SimplePicture content type
44        * Fix #225 (For both nodes and networks)
45
462006-08-28 Max Horváth <max.horvath@maxspot.de>
47        * Integrated KML node list export
48        * Integrated PDF node list export
49        * Updated Sprintf formatted strings in some Smarty templates
50
512006-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
52        * clickthrough.php, HyperLink.php:  Implement working hyperlink
53          clickthrough tracking (no reporting yet).
54          Works for Langstring, FlickrPhotoStream, Picture, RssAggregator and their
55          subclasses.
56        * Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
57          line count and will stop the codebases from needlessly drifting apart.
58        * Do not log content displayed as metadata, and log their clickthrough as
59          the parent's.
60
612006-08-27 François Proulx <francois.proulx@gmail.com>
62        * Updated French translations
63        * Now using Sprintf formatted strings in some Smarty templates (see
64          example in templates/sites/index.tpl).
65        * Integrated back the SQL profiling functions
66
672006-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
68        * Fix a bug where having an empty username would break statistics.
69
702006-07-07 Benoit Grégoire  <bock@step.polymtl.ca>
71        * Fix a bug in some reports when selecting a single user.
72
732006-07-05 Benoit Grégoire  <bock@step.polymtl.ca>
74        * Fix #175.
75        * Fix the "Registration Log" and "User registration report" reports giving
76          incorrect statistics
77        * Allow disabling EventLogging class in config.php, to make SQL debuging
78          possible (The class was traping errors before AbstractDb could
79          output them)
80        * Make EVENT_LOGGING default to false for now, as it turns out EventLogging
81          was the cause of the Spurious PEAR output ("Runtime Notice: ") we've
82          been seeing.  That is probably only because we don't understand how to
83          properly control it's logging level.
84
852006-06-18 François Proulx <francois.proulx@gmail.com>
86        * Added creation_date , last_update_date support to File content (with
87          proper HTTP caching handling)
88        * Added hyperlinks URL support in Picture content
89        * Fixed constants in Flickr Content
90        * Fixed #171 (Can't add existing content to Node)
91
922006-06-17 François Proulx <francois.proulx@gmail.com>
93        * First iteration of JiWire CSV export
94                * Use : hotspot_status.php?format=JiWireCSV
95        * Fully working, but Excel doesn't seem to handle well UTF-8
96          investigation in progress.
97
982006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
99        * Fix #151.  It was still around after all.
100
1012006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
102        * Completely refactor the look and html of the content manager, statistics
103          and most object's administrative interfaces.
104          Should be much simpler and clearer now.
105          No refactoring of the editing flow has been done yet.
106        * Spell check the french translation, and add a few of the missing strings.
107
1082006-05-26 François Proulx <francois.proulx@gmail.com>
109        * Added 'ja' to database locales table
110
1112006-05-26 François Proulx <francois.proulx@gmail.com>
112        * Added Japanese translation .po file
113          (Thanks to taedu AT ninjin-net DOT net)
114
1152006-05-24 François Proulx <francois.proulx@gmail.com>
116        * Stylesheet changes for left_area_bottom content block.
117
1182006-05-24 François Proulx <francois.proulx@gmail.com>
119        * Simplified Google Maps JS code to use more of the v2 abstraction
120        * Improved admin panels CSS classes
121
1222006-05-23 Benoit Grégoire  <bock@step.polymtl.ca>
123        * config.php:  Disable USE_CACHE_LITE, it's definitely not stable, and
124          causes very hard to track down problems with Internet Explorer.
125
1262006-05-22 François Proulx <francois.proulx@gmail.com>
127        * Fixed isValidUsername() Js function to allow caret and dot characters
128
1292006-05-22 François Proulx <francois.proulx@gmail.com>
130        * Use Pgsql persistent connections
131
1322006-05-22 François Proulx <francois.proulx@gmail.com>
133        * Removed unnecessary debug message
134        * Fixed getNumOnlineUsers to count users by MAC on splash only nodes
135
1362006-05-22 François Proulx <francois.proulx@gmail.com>
137        * Added generateFromArray parameter (max_length)
138        * Restricts select content ui combo box to 40 chars
139        * Added Smarty plugin modifier.fsize_format.php
140
1412006-05-21 François Proulx <francois.proulx@gmail.com>
142        * Stupid IE CSS bug fixed
143
1442006-05-21 François Proulx <francois.proulx@gmail.com>
145        * Fixed various bugs in content system
146        * stylesheet work
147
1482006-05-21 François Proulx <francois.proulx@gmail.com>
149        * Think I've fixed Google Maps on IE.
150                * need to test on another system..
151
1522006-05-20 François Proulx <francois.proulx@gmail.com>
153        * Completed french translations
154        * Fixed Flickr javascript
155        * Various stylesheet improvements to tighten up the portal and admin
156
1572006-05-20 François Proulx <francois.proulx@gmail.com>
158        * Various stylesheet improvements, started working on Île Sans Fil network
159          specific theme pack
160        * Fixed a few layout bugs
161
1622006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
163        * USE_BASE_NON_SSL_PATH for hotspot map, else internet explorer whines
164          endlessly
165
1662006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
167        * index.tpl:  Fix link to the map not being displayed at a hotspot, even
168          when you are logged in.  There needs to be much better logick before we
169          export such things to smarty templates.
170
1712006-05-20 François Proulx <francois.proulx@gmail.com>
172        * Added /wifidog/contrib and /wifidog/contrib/xslt directories
173        * Posted Île Sans Fil XSLT example stylesheet for converting the
174          hotspot_status page
175                * Browser view
176                * PDA view (by Jean-Pierre Lessard <jplprog@videotron.ca>)
177                * Simply use in this manner :
178                  http://wifidog-server.org/hotspot_status.php?format=XML&xslt=http://wifidog-server.org/contrib/xslt/hotspot_status_browser.xsl
179
1802006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
181        * page.php:  Fix bugs in various files preventing the system from working
182          from the command line.
183
1842006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
185        * More install script fixes:  Phlickr wouldn't install, and the permissions
186          of wifidog/tmp/smarty/cache weren't checked.
187
1882006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
189        * More stylesheet and HTML work
190
1912006-05-18 Benoit Grégoire  <bock@step.polymtl.ca>
192        * Fix loging form incorrectly attempting to validate the password,
193          preventing many existing accounts from logging-in.
194        * Interim commit, begin simplifying the html ans stylesheets, and re-doing
195          the general look.
196          This is incomplete, this commit was done to fix the problem above.
197        * install.php:  Fix path problems, make shel command errors visible.  Update
198          magpie and smarty url to latest versions (note that this won't
199          automatically update an existing install).  Didn't touch phlickr as I
200          didn't know the implications
201        * Add interactive scripts in sql/ to easily backup and restore a wifidog
202          auth server database.
203
2042006-05-10 François Proulx <francois.proulx@gmail.com>
205        * Fixed Google Maps script path to images.
206
2072006-05-10 François Proulx <francois.proulx@gmail.com>
208        * Added sweetTitles tooltips script, now if you need to add tooltips simply
209          add the 'title' attribute to you html <a>, <attr>, <accroym> tags
210        * Fixed usort bug in MainUI
211        * Fixed download (wget) in install.php
212
2132006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
214        * Working (if slightly basic) theme manager.  You can pick the theme in the
215          network configuration.
216          To add your own theme, read wifidog/media/network_theme_packs/README.txt
217        * Cleanup and document the wifidog directory structure
218        * Minor HTML corrections for content types
219        * Completely rip out the old local_content system, and a bunch of obsolete
220          defines and config variables.
221        * Get rid of PHP generated stylesheets
222
2232006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
224        * Finish content assignation system
225        * Content ordering is now global (network, nodes and everywhere content cand
226          now be in mixed order).
227        * Implement 'everywhere' content
228        * Change MainUI::apendContent to MainUI::addContent
229
2302006-04-28 François Proulx <francois.proulx@gmail.com>
231        * Fixed error in initial data script
232
2332006-04-28 Benoit Grégoire  <bock@step.polymtl.ca>
234        * wifidog/login/index.php: Correctly use DEFAULT_NODE_ID from config.php
235          instead of hardcoded 'default'
236
2372006-04-28 François Proulx <francois.proulx@gmail.com>
238        * Fixed initial_data schema script so that it adds a dummy server.
239
2402006-04-25 François Proulx <francois.proulx@gmail.com>
241        * Updated JavaScript code to work with Google Maps v2 API
242        * v2 will now provide full maps of European countries and is a bit faster
243        * Updated the schema accordingly with new GMaps values
244
2452006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
246        * Dependencies.php:  Small fix in case gettext isn't installed
247
2482006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
249        * AuthenticatorLDAP.php:  Merge patch from jguevara@unitec.edu.  Fixes #125
250
2512006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
252        * Major system locale handling overhaull.  Hopefully abstract out the UTF8
253          problems once and for all, allowing everyone to define them the same way.
254          Fix a few bugs along the way. Should also be a little faster.
255
2562006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
257        * Revert Rob's SYSTEM_PATH change.  Sorry about that.  The devs spent hours
258          to finally get the PATH stuff consistent and fixing the countless bugs
259          that this process introduced.
260          Maybe some links still need to use BASE_URL_PATH instead of BASE_SSL_PATH,
261          (or vice-versa) but it was on purpose that SYSTEM_PATH was not made
262          available to Smarty.
263          We already have 3 defines to be used for links and html refs, that's
264          enough BASE_SSL_PATH should be used to enter SSL mode (if available)
265          BASE_NON_SSL_PATH should be used to break out of SSL mode of when we
266          explicitely do not want someting to be referenced over http
267          BASE_URL_PATH should be used in all other cases to avoid needless
268          SSL warning
269
2702006-04-17 Rob Janes <janes.rob@gmail.com>
271        * javascript for validating and navigating forms.
272        * help text (untranslated).
273        * EVENT_LOGGING enabling/disabling flag.
274        * use SYSTEM_PATH instead of BASE_URL_PATH and BASE_SSL_PATH where ever
275          appropriate.
276        * standardize Smarty variables for Network and User info by adding
277          assignSmartyValues($smarty, $self) to Network and User.
278        * change_password only allowed if logged in.
279        * non-superadmin can only use change_password to change their own password.
280        * superadmin can use change_password to change any user password by
281          entering in their password for the old password.
282        * page_header div defined and positioned in MainUI
283
2842006-04-04 Benoit Grégoire  <bock@step.polymtl.ca>
285        * /classes/Content/IFrame/IFrame.php: Change a few methods from private
286          to protected as the private methods broke IFrameRest
287
2882006-04-01 François Proulx <francois.proulx@gmail.com>
289        * Dumped initial schema from working install
290
2912006-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
292        * dump_initial_data_postgres.sh:  Add the content_available_display_pages
293          table to the dump, can someone re-generate the initial data from a
294          working install
295        * Remove the ?> tags from all the classes.
296
2972006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
298        * Fix bug where right_area_bottom content wouldn't be displayed.
299        * Minor CSS cleanup
300
3012006-03-28 François Proulx <francois.proulx@gmail.com>
302        * Fixed error in initial schema (bad client encoding)
303
3042006-03-28 François Proulx <francois.proulx@gmail.com>
305        * Fixed schema 37 : left_area_top
306        * Updated initial schema
307
3082006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
309        * First step in massive simplification of CSS and templates
310        * Implement the new main CSS structure
311        * Implement working content assignation interface and content ordering for
312          both network and nodes.
313        * Display of content according to assignation work on 'portal' and 'login'.
314          'everywhere' not yet implemented
315        * Get rid of some ISF specific interface elements
316        * Finally replace the overly complicated start button by a
317          "Use the Internet" link that will not get you out of your working tab
318        * Fix #118
319
3202006-03-26 Benoit Grégoire  <bock@step.polymtl.ca>
321        * init_php.php: Fix stripslashes_cb() so it actually works, this means the
322          auth server should work properly with auth servers with magic quotes
323          turned on.
324          This is still not recommended however.
325        * Remove some spurious error ouptut on logout.
326        * Remove potential error in network id parsing
327
3282006-03-22 François Proulx <francois.proulx@gmail.com>
329        * Fixed Google Maps URLs bug
330        * Since Google Maps does not provide Javascript over SSL (it does but the
331          certificate does not match) the code path to the map does not use SSL, but
332          the outgoing URLs do.
333        * Removed lost echo in Locale.php
334
3352006-03-21 Benoit Grégoire  <bock@step.polymtl.ca>
336        * login/index.php: Remove huge security hole introduced by stylistic
337          changes in the file. A user could login to any hotspot by simply filling
338          a blank form because of a gratuitous change from empty to is_null
339          everywhere.  Remove escaping or REQUEST parameters in non SQL
340          related code, as this would lead to double unescaping down the line.
341          Remove logic dependent on encapsulated side effects of object method call.
342
3432006-03-19 François Proulx <francois.proulx@gmail.com>
344        * Updated French translations
345
3462006-03-18 Rob Janes <janes.rob@gmail.com>
347        * path_defines_base working for combinations of DocumentRoot, Alias,
348          and installed wifidog-auth directory, correctly setting SYSTEM_PATH
349          and WIFIDOG_ABS_FILE_PATH dynamically.
350        * classes/Locale.php::getBestLanguage changed to correctly parse
351          HTTP_ACCEPT_LANGUAGE, comma is the correct delimiter not semi-colon.
352          Ignores SESS_LANGUAGE_VAR if invalid.
353
3542006-03-18 Rob Janes <janes.rob@gmail.com>
355        * Fixed bug #77 classes/EventLogging.php non-variable pass by reference
356
3572006-03-16 François Proulx <francois.proulx@gmail.com>
358        * Removed stale owner_sendfiles.php (now integrated in the Content Manager)
359        * Cleaned up a bunch of stale TODOs
360
3612006-03-16 Max Horváth <max.horvath@maxspot.de>
362        * updated language files (new german strings have already been translated)
363        * added LDAP authentication
364        * Dependencies class can check for an PHP extension now
365        * Dependencies class can check for multiple files on a single dependency now
366        * Authentication classes moved to it's own directory
367        * The getAuthenticator method now uses the much safer and faster
368          call_user_func_array function to return an authenticator object
369        * the available authenticator classes are now being displayed in a select
370          box on the network administration page
371        * the link to and the Google hotspots map as is won't be shown to an
372          unauthenticated user at a real hotspot
373
3742006-03-16 Benoit Grégoire  <bock@step.polymtl.ca>
375        * hotspots_map.tpl:  Use base_url_path instead of base_ssl_path
376
3772006-03-09 Benoit Grégoire  <bock@step.polymtl.ca>
378        * init_php.php: Try to fix #102 by inspection
379        * Delete AbstractDbMySql.php, and collapse AbstractDbPostgres.php
380          into AbstractDb.php to prepare for eventual switch to PDO file.
381        * incoming_outgoing_swap.php:  Delete file, closes #85
382
3832006-03-09 Max Horváth <max.horvath@maxspot.de>
384        * fixed small bug in the InterfaceElements class
385        * fixed PHP notices in portal/index.php and Locale class
386        * fixed small bug in Authenticator class which in resulted in a fatal PHP
387          error if a user logged out when his session was already gone
388    * using the {$isUserAtHotspot} smarty variable you can check now in every
389      template if a user calls the portal from a hotspot or not
390
3912006-03-08 Max Horváth <max.horvath@maxspot.de>
392        * fixed small bug where clicking on the start button at the portal page
393          didn't open the wifidog portal, but the requested page
394        * updated source to generate a clean PHPdoc output
395        * updated PHPdoc generating script
396
3972006-03-07 Max Horváth <max.horvath@maxspot.de>
398        * init_php.php now does a 100% strict check for variable types of
399          elements to be processed when magic_quotes are turned on
400        * fixed duplicate use of SSL_AVIABLE define in common.php
401          This fixes ticket #95.
402        * fixed problens with slashes in htospots_map.php
403          This fixes ticket #97.
404        * fixed variable typo in NodeListXML.php
405        * introduced new InterfaceElements class which is being used to create
406          HTML code - this reduces HTML markup in PHP code and reduces HTML errors
407          we had i.e. on the node administration page (unclosed div).
408          It is being used on the node administration page now and will be updated
409          for the other admin pages ...
410        * when adding an owner or tech officer on the node admin page and pressing
411          enter in the input field the statistics where called (no owner or tech
412          officer was added) - this has been fixed
413        * database schema update 35 wasn't compatible with PostgreSQL version 7,
414          the update script has been changed to be compatible with it ...
415          This fixes ticket #94.
416        * Gabriel Hahmann did a translation of WiFiDog-Auth in portuguese ... it has
417          been included
418          This fixes ticket #98.
419        * on node administration page owners have less rights than admins
420
4212006-03-02 Max Horváth <max.horvath@maxspot.de>
422        * converted PNGs to GIFs because Internet Explorer cannot handle alpha
423          transparency of PNGs
424
4252006-02-28 Max Horváth <max.horvath@maxspot.de>
426        * the content selector for an owner could produce notices
427        * the button add existing content in the content manager will only be shown
428          if content is actually available
429        * the start button on the portal page won't be shown anymore if a user
430          didn't access it from a WiFiDog hotspot
431        * deleted wifidog/templates/message_unknown_hotspot.html as this error
432          message will be displayed using the genecir error message template
433        * display of generic error messages will be handled by the MainUI class
434        * deleted wifidog/portal/missing_original_url.php as its functions is being
435          handled by wifidog/portal/index.php now
436        * deleted wifidog/templates/message_default.html as its functions is being
437          handled by wifidog/gw_message.php now
438        * deleted wifidog/templates/message_activate.html as its functions is being
439          handled by wifidog/gw_message.php now
440        * account validation hints finally show the real validation grace time
441          (used to display 15 minutes)
442        * deleted wifidog/templates/message_denied.html as its functions is being
443          handled by wifidog/gw_message.php now
444        * deleted wifidog/templates/message_failed_validation.html as its functions
445          is being handled by wifidog/gw_message.php now
446        * deleted wifidog/templates/user_management_menu.html as its not being
447          used anymore
448        * deleted wifidog/local_content/default/footer.html as its not being
449          used anymore
450        * deleted wifidog/local_content/default/header.html as its not being
451          used anymore
452        * deleted wifidog/local_content/default/portal.html as its not being
453          used anymore
454        * deleted wifidog/local_content/default/new.css as its wasn't ever used
455        * deleted wifidog/local_content/README as its content isn't valid anymore
456          used anymore
457        * Login site now uses a Smarty template to render HTML page
458        * class MainUI now also delivers $isOwner variable for Smarty
459
4602006-02-26 Max Horváth <max.horvath@maxspot.de>
461        * Hotspots map page now uses a direct Javascript call for the link
462          "Show me on the map" (resulting in the browser not jumping to the top of
463          the page if a user clicks on such a link)
464        * refactored hotspot status page, it now uses node list classes to generate
465          output
466        * WIFI411_CSV has been removed from hotspot status page - it didn't work
467          properly - a working version can be added to /wifidog/classes/NodeLists
468        * RSS feed of hotspot status now delivers language of user
469        * RSS and XML feed of hotspot status now actually do deliver data from
470          the requested network (before the code accepted network selection but
471          actually switched back to the current network)
472        * RSS feed of hotspot status page now gets announced in browser
473
4742006-02-25 Max Horváth <max.horvath@maxspot.de>
475        * fixed undefined variable bugs in statistic classes (use of date_from and
476          date_to), variables were processed directly from request, without any
477          check
478          This fixes ticket #71.
479        * clicking on a username in user logs now generates a individual user
480          report as it does when clicking on a username on the online users page
481        * Changing the value of the "Is persistent" checkbox doesn't have to
482          saved when JavaScript is enabled in the browser. Before this change
483          you had to save a content. So if you wanted to delete a persistant content
484          you first had to uncheck this checkbox, save the content and delete the
485          content after saving it. If JavaScript is enabled in your browser you
486          can go straight ahead, uncheck the checkbox and delete the content.
487          This fixes ticket #73.
488        * when processing global arrays if magic quotes is enabled, WiFiDog will
489          check for type variables
490          This fixes ticket #84.
491        * the RSS feed of nodes now delivers the correct link to the nodes homepage
492          This fixes ticket #80.
493        * small fix in schema_validate.php which should affect nobody (in schema
494          version 9)
495          This fixes ticket #79.
496        * fixed "Show all available contents for this hotspot" link which didn't
497          work if WiFiDog wasn't located in the root folder of the webserver
498        * the "Show all available contents for this hotspot" link won't be shown
499          anymore unless all requirements are meet that all content of a hotspot
500          would be shown. The requirements are: you need to have at least one
501          Content Group tagged artistic and locative content, with at least one
502          content group element available for display.
503          This fixes ticket #35.
504        * adjusting the location of a node via the Google maps geocoding service)
505          and clicking the button "Use these coordinates" didn't work
506          This fixes ticket #81 and #82.
507        * the content select box now only shows the content to a user of which is
508          is the owner from (same mechanism has already been used on the content
509          manager page) or all content if the user is a superadmin
510        * wifidog/admin/content_admin.php removed, because the content manager now
511          uses the generic object administration interface
512        * the creation date of a network can be changed now (this value wasn't
513          displayed in the admin interface, even though it was present in the
514          database)
515        * revamped administration sidebar, cleaner interface for the superadmin,
516          for the owner of a node nothing changes
517        * added "server administration" section to the administration interface
518        * Added administration of webservers. For one webserver not much changes.
519          The SSL available setting has been moved to this section (and removed
520          from config.php). Running WiFiDog on two or more webserver (with one
521          database) you now can define the different hostnames of the webserver.
522          Of course you can also define, which of those webserver serves SSL. This
523          is for example essential for the Google maps feature (different API keys
524          for different hostnames)
525        * for every network you now can define it's own Google Map initial values
526          and map types
527        * Hotspots map page now supports different maps for different networks
528        * Hotspots map page now supports different map types for different networks
529          This fixes ticket #69
530        * Hotspots map page now offers full multilingual support (text in the
531          JavaScript file was english only)
532        * Hotspots map page now uses a Smarty template to render HTML page
533
5342006-02-21 Max Horváth <max.horvath@maxspot.de>
535        * fixed access restriction for HTMLeditor in templates folder
536        * fixed XML error in HTMLeditors CSS and HTML templates
537        * fixed undefined variable bug in content class ContenGroup
538        * start page now uses a Smarty template to render HTML page
539        * start page now also displays information about deployed/operational nodes
540        * information about valid/online users and deployed/operational nodes gets
541          cached if caching has been enabled (valid/online users for 1 minute,
542          deployed/operational nodes for 5 minutes)
543
5442006-02-17 Max Horváth <max.horvath@maxspot.de>
545        * refactored lost username site - now it also includes the help toolbox
546        * lost username page now focuses input field automaticly (like on login or
547          signup page)
548        * refactored lost password site - now it also includes the help toolbox
549        * lost password page now focuses input field automaticly (like on login or
550          signup page)
551        * refactored sesend validation email site - now it also includes the help
552          toolbox
553        * refactored resend validation email page now focuses input field
554          automaticly (like on login or signup page)
555
5562006-02-16 Max Horváth <max.horvath@maxspot.de>
557    * added full PHPdoc documentation to Mail class
558    * added more temporary-email-address-providers to the black-list
559        * Login site now uses a Smarty template to render HTML page
560        * refactored signup site - now it also includes the help toolbox
561        * removed Phlickr directory in /lib dir as Phlickr must be installed via
562          PEAR
563        * modified gen.sh to include new template folders for the
564          translation file generation
565
5662006-02-15 Max Horváth <max.horvath@maxspot.de>
567        * Login site now uses a Smarty template to render HTML page
568
5692006-02-14 Max Horváth <max.horvath@maxspot.de>
570        * converted Session class to PHP5 style
571        * moved code used used to init PHP into wifidog/include/init_php.php
572        * fixed bug regarding APC (super globals weren't initialized before their
573          first use
574        * in an attemp to enter the administration interface of WiFiDog and not
575          being logged in you'll be redirected to the administration interface after
576          a successful login, if you are an admin or owner of a node. This only
577          works for a virtual login, as it isn't needed to be done when logging in
578          via a WiFiDog node (then you have to login anyway on the splash page
579          first)
580        * fixed preview of network in administration interface as content for a
581          network as is isn't available in the code, yet
582
5832006-02-13 Rob Janes <janes.rob@gmail.com>
584    * cron/cleanup.php needed new way to call common.php
585        * added cron/vacuum.php to round things out
586
5872006-02-07 Benoit Grégoire  <bock@step.polymtl.ca>
588        * Fix a bunch of file inclusion bugs in the statistics subsystem.
589          This is only a ad-hac fix. It seems the requires for just about every
590          class have been stripped off. This must be fixed, all classes should
591          require_once all classes or include that they need that isn't included by
592          a parent class.
593
5942006-02-06 Benoit Grégoire  <bock@step.polymtl.ca>
595        * wifidog/local_content/default/hotspot_logo.jpg: Delete deprecated file
596        * wifidog/local_content/default/hotspot_logo_banner.jpg: Delete deprecated
597          file
598
5992006-02-04 Max Horváth <max.horvath@maxspot.de>
600        * MainUI class now uses Smarty templates to render HTML pages
601        * display of debug messages by using $_REQUEST['debug_request'] on any
602          page is now only possible for a super admin
603        * caching class now supports lifetime of a cache and every data type
604          supported by PHP (except the resource-type)
605        * Content class caches available content plugins for 7 days if caching has
606          been enabled -> results in a nice speed-up on every page call because
607          of 17 saved filesystem queries
608        * converted Security class to PHP5 style and it's functions to static
609          functions
610        * fixed broken HTMLeditor support
611        * implemented PEAR::HTML_Safe cache support - if PEAR::HTML_Safe has been
612          installed it strips down all potentially dangerous content within HTML
613          that has been entered using the content plugins Langstring,
614          TrivialLangstring and HTMLeditor
615        * moved /wifidog/include/HTMLeditor to /wifidog/content/HTMLeditor
616        * fixed thrown exception in path_defines_base.php (sprintf() was used
617          uncorrectly)
618        * template for definition of SYSTEM_PATH has been added to config.php
619          for easier definiton when path detection failes
620        * from now on caching is enabled by default in config.php - it means that
621          WiFiDog caching features will automaticly be used if PEAR::Cache_Lite
622          has been installed
623        * updated installation file to represent all the new modules that can be
624          installed to use all WiFiDog features
625
6262006-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
627        * path_defines_base.php:  Fix syntax errors in the exception thrown. Add
628          more meaningfull output
629
6302006-01-29 Max Horváth <max.horvath@maxspot.de>
631        * WiFiDog now detects APC PHP cache and eAccelerator PHP cache and disables
632          both PHP caches, because WiFiDog currently doesn't run with either of
633          those PHP caches (I'm still investigating why)
634        * added a missing <ul> HTML tag on the administration page
635        * the validation mail sent to new users now includes the full path to the
636          WiFiDog installation (before it assumed WiFiDog to be installed in
637          the document root of the webserver)
638        * fixed display of start button of portal when WiFiDog is not installed
639          in the document root of the webserver
640        * replaced $_SERVER["DOCUMENT_ROOT"]-stuff with our defines made in
641          path_defines_base.php
642        * updated HTMLeditor content class to use the new, moved stylesheet.css
643        * fixed error messages not displaying technical support e-mail address
644
6452006-01-25 Max Horváth <max.horvath@maxspot.de>
646        * a notice message regarding timezones was being displayed when running PHP
647          5.1.0+ due to rewritten date functions of PHP. There is a new config flag
648          in config.php named DATE_TIMEZONE. Set it to your local timezone.
649          Don't forget to update your local.config.php in case you're using it.
650
6512006-01-24 Benoit Grégoire  <bock@step.polymtl.ca>
652        * Dependencies.php:  We missed one more instance of non-unifrom code for
653          path detection. The Dependencies class now uses the code in
654          include/path_defines_base.php like the rest of the system. Also make it
655          returns more usefull error messages.
656        * SmartyWifidog.php: Output the error returned by Dependencies if Smarty
657      cannot be found for some reason.
658
6592006-01-23 Max Horváth <max.horvath@maxspot.de>
660        * Removed compiled PHPdoc documentation
661        * moved createDoc.sh to "doc" directory, documentation can be generated on
662          the fly now, in the future we'll be generating a nightly PHPdoc on
663          wifidog.org
664        * renamed "ChangeLog" to CHANGELOG, resulting this file being parsed by
665          PHPdoc
666        * moved "header.gif" image to its own folder in the images directory
667        * touched almost every PHP file in WiFiDog auth server for PHPdoc generating
668          compiling without any warnings
669        * Initialized uninitialized variables in Node class
670        * Fixed initialization error of one variable
671        * Configuration file (config.php) will be read before path detection is
672          being started (otherwise there was no chance to set a manual SYSTEM_PATH)
673
6742006-01-22 Benoit Grégoire  <bock@step.polymtl.ca>
675        * common.php: Real fix for Ticket #59 ;)
676        * common.php: Untested fix for Ticket #59
677
6782006-01-18 François Proulx <francois.proulx@gmail.com>
679        * Remove unneeded .cvsignore files since the svn:ignore property is set to
680          the same list
681
6822006-01-11 Rob Janes <janes.rob@gmail.com>
683    * classes/User.php: added setters, getters, throw exceptions, added
684      refresh() subr, tweaked language
685
6862006-01-09 Max Horváth <max.horvath@maxspot.de>
687        * createDoc.sh: added description of how to install requirements
688
6892006-01-08 Benoit Grégoire  <bock@step.polymtl.ca>
690        * common.php: Improve path detection code, and start moving PATH detection
691          back to a central location. You should NEVER go to any $_SERVER[]
692          variables for path related stuff, all you need is already available
693          in defines.
694        * UserReport.php: Remove dangling reference to BASEPATH.
695        * install.php: Use centralised path detection.
696
6972006-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
698        * config.php, common.php: Completely remove SYSTEM_PATH from config.php,
699          making one less config option to manage.  It is now autodetected.
700
7012006-01-03 Rob Janes <janes.rob@gmail.com>
702        * added support for classes/EventLogging.php.
703        * modified include/common.php to pull in the EventLogging class
704        * modified index.php to kick start error logging with minimal setup.
705          I didn't setup a css for this, so any errors are simply pushed out
706          when the logging channel is destructed.
707        * other changes to include/common.php - a host of utility functions,
708          prefixed with "cmn" to avoid namespace collision.
709        * stock config.php, added global $AVAIL_LOCALE_ARRAY, cause of my change
710          to include/common.php, wrapping the require_once in a function.
711
7122006-01-04 Pascal Leclerc <isf@plec.ca>
713    * install.php: New security validation and small bugs fix in admin account
714      creation
715
7162006-01-02 Rob Janes <janes.rob@gmail.com>
717        * split static stylesheet.css from smarty template stuff.
718          local_content/default/stylesheet.css has only smarty template stuff.
719          local_content/common/stylesheet.css has all the rest.
720        * classes/MainUI.php changed to <link ...> the common stylesheet.css, while
721          still smarty fetching the templated stylesheet.
722        * classes/SmartyWifidog.php changed to set a smarty template variable so
723          that the templating stylesheet could work.
724
7252005-12-29 François Proulx <francois.proulx@gmail.com>
726        * Integrating Philippe's code for User class
727        * This build needs extensive testing please
728        * E-mail blacklisting (Mail class)
729
7302005-12-29 François Proulx <francois.proulx@gmail.com>
731        * Added Aidan's file_exists_incpath function to Dependencies class
732        * Translated and standardized most of PostgreSQL abstraction class.
733        * Removed blank lines at end of many files
734        * Tested the new Phlickr package, which fixes URL on Flickr
735
7362005-12-28 Max Horváth <max.horvath@maxspot.de>
737        * Removed BASEPATH define from source - resulting in a better
738          require-overview
739        * speed improvement of 7% by optimizing Dependencies class
740        * improved documentation of content classes
741
7422005-12-26 François Proulx <francois.proulx@gmail.com>
743        * Fixed bug when the same user was owner of many nodes
744        * Added missing reference to content_display_location initial data in dump
745          script
746
7472005-12-26 François Proulx <francois.proulx@gmail.com>
748        * Tiny modifications to config.php
749        * Reinserted the deprecated defines, created errors on my system
750        * Fully translated FormSelectGenerator class, Locale
751        * Added comments to Utils, Locale etc..
752        * Fully tested installation from scratch using blank database with
753          installation script
754        * Improved installation script a bit
755        * Synched SQL for CVS schema 29 --> 33
756
7572005-12-26 Max Horváth <max.horvath@maxspot.de>
758        * added new headers to every source file
759        * converted file to represent a tab as four (4) spaces
760        * added PhpDocumentor documentation
761        * added WiFiDog skin to HTMLeditor
762        * language selection in a content class now shows the language name instead
763          of the language code
764        * added caching support to content classes Langstring and TrivialLangstring
765
7662005-12-15 Max Horváth <max.horvath@maxspot.de>
767        * fixed bug in dependencies class when gettext support for PHP is not
768          available
769
7702005-12-14 Max Horváth <max.horvath@maxspot.de>
771        * fixed bug in config.php:59 ... was unable to select DB server
772
7732005-12-08 Max Horváth <max.horvath@maxspot.de>
774        * added FCKeditor to the supported libraries
775        * added new content type: HTMLeditor
776        * added new caching class which uses PEAR::Cache_Lite - must be enabled in
777          config.php
778        * HTMLeditor is the first class using the new caching class
779        * removed unused function from content type Langstring
780        * beautified and reorganized config.php and added a new switch for the
781          caching class
782
7832005-12-06 Max Horváth <max.horvath@maxspot.de>
784        * fixed SQL bug when calling the "report configuration" page as a node owner
785
7862005-12-05 François Proulx <francois.proulx@gmail.com>
787        * Crunched the Google Maps Div block for better display on small screens
788
7892005-12-05 Max Horváth <max.horvath@maxspot.de>
790        * fixed bug when calling the preview version of a login page
791
7922005-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
793        * User.php: Fix a bug in the sql query in isUserValid(). Checked that the
794          change works with postgresql 7.4 and 8. It is still not understood why
795          ISF doesn't encounter this bug on it's production server.
796
7972005-11-28 François Proulx <francois.proulx@gmail.com>
798        * Improved Flickr user output
799        * Mostly completed Flickr admin UI
800        * Changed display algorithm to display sequentially
801
8022005-11-25 Rob Janes <janes.rob@gmail.com>
803        * EventLogging class initial checkin
804
8052005-11-14 Max Horváth <max.horvath@maxspot.de>
806        * fixed path to included classes
807          Guys, please check the paths to included files twice next time you're
808          moving files
809
8102005-11-12 François Proulx <francois.proulx@gmail.com>
811        * Fixed schema 33 update
812        * fixed css
813
8142005-11-11 François Proulx <francois.proulx@gmail.com>
815        * Fixed Admin hotspot location map
816        * Take note: Google Maps updated their API key system, so that you simply
817          need to register a key for the whole domain.
818          ie. one key for http://auth.abc.org will work even in sub-directories
819        * Changed the Content classes structure to make them "pluggable" more easily
820          as requested during last developpers meeting
821        * node_list.php now support column sorting, node_id are naturally sorted
822          (numerical order, alphabetic)
823        * Added 2-dimensionnal natural sort algorithm to Utils class
824        * fixed Node::getSelectNodeUI to naturally sort by node_id
825        * Improved Flickr content class
826        * Modified Flickr database schema
827        * Modified CSS look and feel
828
8292005-11-08 Philippe April  <philippe@ilesansfil.org>
830        * Put a note to mention the roles of users in the logged in users list
831        * Fixed online users link to statistics
832
8332005-11-01 Max Horváth <max.horvath@maxspot.de>
834        * added german translation
835        * modified gen.sh to include geocoder and statistics classes for the
836          translation file generation
837        * modified hotspot status page to allow translations of every string
838        * modified node list page to allow translations of every string
839        * modified FAQ page to allow translations of every string
840        * fixed bug in FAQ page which caused the Safari browser to display very
841          large text
842        * modified online users page in administration to allow translations of
843          every string
844        * added Phlickr directory to /lib
845
8462005-10-25 Francois Proulx <francois.proulx@gmail.com>
847        * /classes/DateTime.php : First iteration of DateTime abstraction class
848        * Basic support for datetime input field.
849        * TODO : Overhaul with full-fledged datetime selector...
850
8512005-10-25 Francois Proulx <francois.proulx@gmail.com>
852        * AuthenticatorRadius : Fixed legacy variable misuse
853
8542005-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
855        * AuthenticatorRadius:  Fix bug reported by kouete, by inspection. Fix not
856          actually tested. Guys, read the documentation of the function parameters
857          when you code, it's there to help you ;)
858
8592005-10-21 Francois Proulx <francois.proulx@gmail.com>
860        * Integration testing for Radius debugging
861        * Added network_id parameter to hotspot_status.php for selecting network
862        * Default network will be automatically selected...
863
8642005-10-04 Francois Proulx <francois.proulx@gmail.com>
865        * Scaled down network logo
866        * Changed CSS accordingly
867        * Modified online users SQL query to sort better
868
8692005-10-04 Francois Proulx <francois.proulx@gmail.com>
870        * Removed unwanted file from checkout
871
8722005-10-07 Philippe April  <philippe@ilesansfil.org>
873        * Released wifidog-auth-1.0.0_m2
874
8752005-10-06 Benoit Grégoire  <bock@step.polymtl.ca>
876        * AuthenticatorLocalUserNoSignup:  Make a new authenticator, identical to
877          AuthenticatorLocalUser but disalowing new user signup.  When setting up
878          a server, you can add your users, and then change the authenticator class
879          from AuthenticatorLocalUser to AuthenticatorLocalUserNoSignup
880        * signup.php: Actually enforce it. Still needs improvement, as the network
881          is still shown for signing up.
882
8832005-10-04 Francois Proulx <francois.proulx@gmail.com>
884        * Translated some error message in SQL abstraction
885        * Cleaned up error messages when starting from scratch
886        * Added link to install script, when the database is empty.
887        * Fixed initial data dump script
888
8892005-10-04 Benoit Grégoire  <bock@step.polymtl.ca>
890        * Remove a bunch of deprecated methods from the Node object,
891          document undocumented methods.
892        * Make the node id editable.  This allows the gateway "MAC address as node
893          ID" patch by London wireless to be usable with the standard auth server,
894          and to transition to using MAC address as node ID.
895        * Fix a saving problem with all the content types with some versions of PHP
896        * Add a new Content type:  IFrameRest.  This allows the result of a REST
897          style query returning HTML to be displayed in a HTML iframeset. Currently
898          supported are substitution of the node_id, the user_id and the last
899          display date in the get query.
900        * CVS version of the auth server should now be "reasonnably" safe to use in
901          production, so the 2005-09-01 notice is no longuer in effect.
902
9032005-10-04 Francois Proulx <francois.proulx@gmail.com>
904        * Translated signup page messages
905
9062005-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
907        * Partial login page content manager support (Node only for now)
908
9092005-09-27 Philippe April  <philippe@ilesansfil.org>
910        * Guess the best language from what the browser sends,
911          otherwise use the default.
912
9132005-09-26 Francois Proulx <francois.proulx@gmail.com>
914        * Translated the few new sentences on the login page
915
9162005-09-26 Benoit Grégoire  <bock@step.polymtl.ca>
917        * login/index.php, stylesheet.css:  Make the create new account bigger, and
918          remove unnecessary words.
919
9202005-09-26 Francois Proulx <francois.proulx@gmail.com>
921        * Completed translations
922
9232005-09-26 Francois Proulx <francois.proulx@gmail.com>
924        * Fixed annoying bug in new google maps code
925
9262005-09-25 Francois Proulx <francois.proulx@gmail.com>
927        * Complete rewrite of Google maps code, now stands as a js class
928        * relooking of mapping stuff
929        * wrote basic "Find the closest hotspot" widget for canada geocoding only...
930        * fixed broken xml, damn blank lines...
931
9322005-09-25 Benoit Grégoire  <bock@step.polymtl.ca>
933        * Statistics:  At long last, the monster statistics commit.
934          We finally have a stable, documented and uniform codebase for statistics.
935          This resulted is removal of several functions in other classes too.
936          There are a few new reports, but mostly, each report is a lot more
937          flexible.
938          Still TODO:
939          - Security:  This is to be implemented directly in the Statistics class,
940            by forcing restrictions to the selected nodes and network.
941          - Support selecting multiple users for a report.
942            The code and SQL queries support it, but the UI doesn't. An easy and
943            quick way would be to simply parse a coma-separated list. Comment are
944            off course welcome!
945
9462005-09-25 Francois Proulx <francois.proulx@gmail.com>
947        * Updated initial SQL script to schema 29
948        * Remove useless includes in some files, preventing from using the "plugin"
949          contents
950
9512005-09-25 Philippe April  <philippe@ilesansfil.org>
952        * Make method getCurrentRealNode ORDER BY DESC so it picks
953          up the latest network name
954
9552005-09-20 Francois Proulx <francois.proulx@gmail.com>
956        * Changed the output layout of the Google Maps hotspots list
957        * Added "Loading" message on Google Maps
958
9592005-09-17 Francois Proulx <francois.proulx@gmail.com>
960        * Fixed forgotten reference to getNetwork in AuthLocalUser
961
9622005-09-17 Francois Proulx <francois.proulx@gmail.com>
963        * Fixed a few bugs in Radius class
964        * Improved syntax and completed 100% of French translations
965
9662005-09-17 Francois Proulx <francois.proulx@gmail.com>
967        * Fixed RADIUS bug #1287000
968
9692005-09-16 Francois Proulx <francois.proulx@gmail.com>
970        * Added Mail Classes to circumvent mb_send_mail UTF-8 problems
971        * This class provides UTF-8 mailing for validation e-mail, lost password,
972          lost username...
973        * Fixes reported bug where users would not receive validation email on
974          some servers
975
9762005-09-13 Francois Proulx <francois.proulx@gmail.com>
977        * Added bytes in words for online users
978
9792005-09-13 Francois Proulx <francois.proulx@gmail.com>
980        * Fixed bug in user stats
981
9822005-09-13 Francois Proulx <francois.proulx@gmail.com>
983        * Added access permissions for statistics.
984
9852005-09-12 Benoit Grégoire  <bock@step.polymtl.ca>
986        * schema_validate.php:  Fix a bug version 26.  The conversion of the old
987          account_origin as a parameter to the authenticator was wrong.  To fix it
988          manually if you already ran the script, you must quote the parameter in
989          column network_authenticator_params in the networks table.
990        * Network.php:  Fix improper quoting of Authenticator arguments.
991        * RssPressReview.php:  Make expansion of today's item optionnal.
992
9932005-09-11 Francois Proulx <francois.proulx@gmail.com>
994        * Fixed dependency check, found a workaround for the file_exists problem
995
9962005-09-11 Francois Proulx <francois.proulx@gmail.com>
997        * Added dependency check for Phlickr
998
9992005-09-11 Francois Proulx <francois.proulx@gmail.com>
1000        * Fixed Flickr support
1001        * Now using PEAR version of Phlickr
1002        * Download the latest package and install like this: pear install
1003          PhlickrXYZ.tar.gz
1004
10052005-09-10 Francois Proulx <francois.proulx@gmail.com>
1006        * Fixed dependency check
1007
10082005-09-10 Francois Proulx <francois.proulx@gmail.com>
1009        * Removed many blank lines after php tags
1010        * added more checks, for dates etc...
1011        * changed sorting mode
1012
10132005-09-10 Benoit Grégoire  <bock@step.polymtl.ca>
1014        * Add UI to add a new Network
1015        * Improve UI to add a new Node and new Content
1016
10172005-09-10 Philippe April  <philippe@ilesansfil.org>
1018        * signup.php: Fixed bug in detecting is the user is already part of the
1019          network.
1020        * classes/{Authenticator,Network,Node}.php: isset, and issues preventing
1021          users from logging out.
1022        * add BASEPATH to most files with require_once
1023        * Added dependency checking class
1024        * Don't show the admin menu if user does not have access
1025        * Got rid of user_log_detailed.html, using stats.php instead
1026
10272005-09-10 Francois Proulx <francois.proulx@gmail.com>
1028        * Automatically redirect user to login form when trying to access admin
1029        * Added various isset, empty tests, vars init in stats (to avoid PHP
1030          warning)
1031
10322005-09-08 Philippe April  <philippe@ilesansfil.org>
1033        * New stats system with graphs
1034        * Changed the UI a bit to reflect this change
1035        * Updated stylesheet
1036
10372005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1038        * portal/index.php:  Custom portal redirect now operational.
1039
10402005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1041        * MainUI:  Move call to garbage_collect() here.
1042        * portal/index.php:  New feature:  Custom portal redirect.
1043        * rework much of the logout code
1044
10452005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1046        * login/index.php:  Fix getSplashOnlyUser() method call.
1047
10482005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1049        * RssPressReview.php:  Fix z-index so the hovers will overlap the expanded
1050          news.
1051        * login/index.php:  Reorganise code to make it more legible and comment what
1052          it does. Emphasise error messages and put them right above where they
1053          clicked so users can actually see them.
1054        * Security.php:  Remove deprecated login code
1055        * Authenticator.php: Change calling convention for better encapsulation
1056        * New feature:  Support multiple simultaneous logins if enabled in network
1057          configuration
1058        * New feature (in testing): Splash-only node support
1059
10602005-09-05 Benoit Grégoire  <bock@step.polymtl.ca>
1061        * include/common.php:  Add code to undo the effect of magic_quote if enabled
1062          in the server config.  It is still strongly recommended to disable
1063          magic_quote
1064        * Node.php:  Add UI for splash only node and custom portal
1065        * Update schema
1066
10672005-09-04 Francois Proulx <francois.proulx@gmail.com>
1068        * Removed update.php script ( should not have been in CVS )
1069        * Moved authenticator require in Network getAuthenticator()
1070
10712005-09-03 Philippe April  <philippe@ilesansfil.org>
1072        * Schema change: Added last_paged column to nodes table
1073        * Replaced HOTSPOT_NETWORK_NAME with hotspot_network_name in all templates
1074        * s/Networt/Network/
1075        * Fixed signing up and validation, typos
1076
10772005-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
1078        WARNING:  DO NOT use the CVS auth server in production until further notice.
1079        Massive internal changes are underway.
1080        Use the release tagged 1.0m1 in production.
1081        * Network abstraction mostly complete, including UI.
1082          All that is missing is new network creation, network stakeholder UI and
1083          testing.
1084        * Cleanup the config file of all the now unneeded constants.
1085          Note that the install script is currently broken.
1086          There can now be multiple networks on the server.
1087          The install script will have to make sure that there is at least one, with
1088          one super-admin
1089
10902005-08-31 Francois Proulx <francois.proulx@gmail.com>
1091        * Fixed bug where node ID containing periods, whitespaces or underscores
1092          would confuse PHP
1093        * MD5 hash is used to make sur the http vars are unique
1094        * This is only valid for Node administration
1095
1096NOTE:  the 1.0m1 release was tagged here
1097
10982005-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1099        * Node.php:  Fix node creation
1100
11012005-08-31 Francois Proulx <francois.proulx@gmail.com>
1102        * Fixed new node creation bug
1103
11042005-08-29 Philippe April <philippe@ilesansfil.org>
1105        * js/gmaps_hotspots_status_map.js: Fixed small bug in that makes prevents
1106          IE to see the map properly.
1107
11082005-08-22 Pascal Leclerc  <pascal@plec.ca>
1109        * install.php, Change javascript to OnClick + dependencie note
1110        * schema_validate.php, Fix broken DB update for install.php
1111        * SmartyWifidog.php, Add automatic redirect to install.php if Smarty not
1112          installed
1113
11142005-08-22 Francois Proulx <francois.proulx@gmail.com>
1115        * Added edit button for quickly accessing Content editing mode
1116        * Changed the layout so the admin ui fits in a tighter space
1117
11182005-08-21 Francois Proulx <francois.proulx@gmail.com>
1119        * Added reference to new street address fields in mapping page and on status
1120          template
1121        * Fix bug on line 756 of RssPressReview , added check for empty var.
1122        * Flickr support is broken, added  bug to sf.net tracker
1123
11242005-08-21 Francois Proulx <francois.proulx@gmail.com>
1125        * Node admin UI should now be completed.
1126        * Minor bug fixes in Geocoder
1127        * Merged node_owners and node_tech_officers table into node_stakeholders
1128
11292005-08-19 Benoit Grégoire  <bock@step.polymtl.ca>
1130        * New schema version
1131        * install.php, tmp/magpie_cache/:  Move all magpie caches
1132          to a central location, adjust install script to match.
1133        * classes/MainUI.php:  Add $_REQUEST array output if debug_request is set as
1134          a parameter to the page
1135        * classes/Network.php, classes/Node.php:  Change content ordering to be most
1136          recently subscribed first, this is a stopgap measure while waiting for
1137          Content ordering to be explicitely settable.
1138        * classes/Content/RssAggregator.php:  Full admin UI, some bug fixes
1139        * lib/RssPressReview/RssPressReview.php: New version, adds isFeedAvailable()
1140          and getFeedTitle() methods.
1141          Fixes minor bugs
1142
11432005-08-17 Pascal Leclerc  <pascal@plec.ca>
1144    * Added install script + minor changes in schema_validate.php
1145
11462005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1147        * Re-Run sync_sql_for_cvs.sh, did not run to completion last time.
1148
11492005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1150        * Run sync_sql_for_cvs.sh
1151        * sql/dump_initial_data_postgres.sh:  Fix a hardcoded reference to rss_url
1152          which no longer exists
1153        * .project:  Remove mistakenly commited file in last commit
1154        * .cvsignore:  Add file to avoid previous error
1155
11562005-08-12 Francois Proulx <francois.proulx@gmail.com>
1157        * Added missing GisPoint fille to CVS
1158        * Fixed some bugs
1159        * Added Technical officer table
1160        * Added technical officer management to node UI
1161
11622005-08-12 Francois Proulx <francois.proulx@gmail.com>
1163        * Changed config.php GMAPS_API_KEY to GMAPS_PUBLIC_API_KEY
1164        * Added GMAPS_ADMIN_API_KEY, needed for admin UI
1165        * This is a stupid limitation of the Google Maps API which matches the
1166          complete URL path
1167        * Added /classes/GisPoint.php class
1168        * Will add geocode + Google Maps capabilities very soon
1169        * Notice : the XML schema will change very soon...
1170        * I will try to keep the streetAddress field intact so I won't break
1171          backward compat.
1172
11732005-08-12 Benoit Grégoire  <bock@step.polymtl.ca>
1174        * classes/MainUI.php: Move the call to schema_validate() in MainUI's
1175          constructor
1176        * lib/RssPressReview/RssPressReview.php: Finish rewrite. Move there to
1177          reflect it's independently maintained status
1178        * wifidog/classes/Content/HotspotRss.php:  Delete the class, obsolete
1179        * wifidog/classes/Content/RssAggregator.php:  Functionnal, but needs it's
1180          admin UI written.
1181        * wifidog/include/schema_validate.php:  Create the table structure for the
1182          new RssAggregator.
1183          Remove rss_url in nodes table, no longer needed.  Move it's data to the
1184          new Content class.
1185
11862005-08-11 Francois Proulx <francois.proulx@gmail.com>
1187        * Refactored the Admin UI.
1188        * I need to write the upload form and rewrite statistics
1189
11902005-08-10 Francois Proulx <francois.proulx@gmail.com>
1191        * More GIS stuff
1192
11932005-08-10 Francois Proulx <francois.proulx@gmail.com>
1194        * Added Geocoders
1195          - /classes/AbstractGeocoder.php
1196          - /classes/Geocoders/GeocoderCanada.php
1197          - /classes/Geocoders/GeocoderUsa.php
1198        * This will be used for enterring GIS data
1199        * Coming in the next few days: set hotspot gis using Google Maps + Geocoding
1200
12012005-01-25 Pascal Leclerc  <pascal@plec.ca>
1202        * Fix hardcoded images path in classes/MainUI.php
1203
12042005-07-25 Francois Proulx <francois.proulx@gmail.com>
1205        * Fixed bug in hotspot_status , added htmlspecialchars();
1206        * This solved the bug where ampersands would break the XML
1207
12082005-07-17 Francois Proulx <francois.proulx@gmail.com>
1209        * Fixed bugs in gen.sh, compile.sh locale scripts
1210
12112005-07-12 Francois Proulx <francois.proulx@gmail.com>
1212        * Changed XML element from hotspotsMetadata to hotspots and added networkUri
1213          element to networkMetadata
1214
12152005-07-12 Francois Proulx <francois.proulx@gmail.com>
1216        * Fixed XML protocol for exchanging hotspots status.
1217        * Should now be considered stable (stamped v1.0)
1218        * Fixed hotspots status map to reflect the changes
1219        * Added french translations
1220
12212005-07-11 Francois Proulx <francois.proulx@gmail.com>
1222        * Changed link to hotspots map using NON ssl because Google Keys are
1223          sensitive to the whole path.
1224
12252005-07-11 Benoit Grégoire  <bock@step.polymtl.ca>
1226        * classes/RssPressReview.php: Begin rewrite.
1227        * classes/MainUI.php: Add addFooterScript() function.
1228        * venues_map.php:  Workaround the IE DOM problem.
1229
12302005-07-05 Francois Proulx <francois.proulx@gmail.com>
1231        * Changed wording in hotspots status page added legend
1232
12332005-07-05 Francois Proulx <francois.proulx@gmail.com>
1234        * Minor adjustements to icon positionning
1235
12362005-07-05 Francois Proulx <francois.proulx@gmail.com>
1237        * Changed google maps marker icons
1238
12392005-07-05 Francois Proulx <francois.proulx@gmail.com>
1240        * Added missing elements in XML exchange format
1241        * Stable v1.0 for XML exchange format and Google Maps mapping
1242        * Added GMaps constants to config file
1243        * Unsmartied index.php , added link to map
1244        * Check config.php to set corresponding values
1245        * You can now use hotspot_status.php?format=XML along with xslt query string
1246          parament to convert your XML document
1247        * For this to work, You need to have activated XSLT ( see config file )
1248
12492005-07-05 Francois Proulx <francois.proulx@gmail.com>
1250        * Added Google Maps mapping venues_map.php
1251        * /js/venues_status_map.js  JavaScript code for Mapping
1252        * In beta : tested successfuly with 48 nodes in the Montreal area, loads in
1253          a snap
1254
12552005-07-03 Francois Proulx <francois.proulx@gmail.com>
1256        * Updated the XML venues status format ( version 1.0, once approved )
1257        * Added long / lat fields to nodes table ( for mapping purposes )
1258
12592005-06-17 Francois Proulx <francois.proulx@gmail.com>
1260        * Added IFrame and SimpleIFrame content types.
1261
12622005-06-28 Benoit Grégoire  <bock@step.polymtl.ca>
1263        * classes/Content/Langstring.php:  Bug fix:  Langstring was always
1264          non-persistent, no matter the checkbox.  Move the code to
1265          TrivialLangstring.php where it belongs.
1266
12672005-06-21 Benoit Grégoire  <bock@step.polymtl.ca>
1268        * portal/inted.php:  Implement the start button functionnality (maybe it
1269          would be better to call it "use the Internet").  From now on, once
1270          authenticated and when pressing the start button on the portal, the user
1271          will be sent to the page he originally tried to access.  A second window
1272          will be popped with the portal page so he can come back to it. The window
1273          is collapsed, and can be expanded back by clicking on the link. I tried
1274          to make it cross platform (and mostly did) but it's still buggy in IE.
1275
1276          At the same time, this fixes the goof reported by Rob Kelley of
1277          nycwireless.net
1278
1279        * portal/missing_original_url.php:  Displayed when the user tries to use the
1280          start button but for some reason the original url is unavailable
1281        * common.php:  New define CURRENT_REQUEST_URL, hopefully containing the full
1282          URL in the user's URL bar.
1283
1284
12852005-06-17 Francois Proulx <francois.proulx@gmail.com>
1286        * Removed forced Pattern Language on all hotspots
1287        * Do not show hotspot logo in portal page, only on login, until we find a
1288          better layout
1289
12902005-06-16 Francois Proulx <francois.proulx@gmail.com>
1291        * Added XML output format for hotspot_status.php
1292        * Rough draft v1.0
1293        * TODO move to different classes once stabilized
1294        * Can use XSLT, if activated ( XSLT_SUPPORT constant )
1295        * ie : http://wifidog-auth.org/hotspot_status.php?format=XML&xslt=http://wifidog-auth.org/xslt/hotspot_status.xsl
1296        * or simply : http://wifidog-auth.org/hotspot_status.php?format=XML
1297
12982005-06-06 Francois Proulx <francois.proulx@gmail.com>
1299        * Added long description field to content table
1300        * MUST use schema_validate
1301        * Modified Pattern Language to be more generic
1302        * resend changelog
1303
13042005-06-06 Francois Proulx <francois.proulx@gmail.com>
1305        * Made changes to Pattern Language ( Kate Armstrong )
1306
13072005-05-30 Philippe April <philippe@ilesansfil.org>
1308        * Show username in user_stats.php instead of user_id
1309          and in other admin pages
1310
13112005-05-30 Francois Proulx <francois.proulx@gmail.com>
1312        * Changed language selectbox name so it does not clash with ISF's domain
1313          cookie
1314        * Fixed setlocale algorithm in Locale.php
1315
13162005-05-29 Francois Proulx <francois.proulx@gmail.com>
1317        * Missing null check in validate.php
1318
13192005-05-27 Francois Proulx <francois.proulx@gmail.com>
1320        * Changed the signup process to make it smoother for users
1321        * The user will automatically be granted the 15 minutes if he's signing up
1322          at a real hotspot
1323        * If the user closes his browser during the 15 minutes and loses its
1324          session, we will regenerate it
1325        * Added big red message to the top of the portal page, warning user to
1326          validate as soon as possible
1327        * Fixed translation typos
1328
13292005-05-26 Benoit Grégoire  <bock@step.polymtl.ca>
1330        * Someone moved the fallback gettext functions definition (for when gettext
1331          isn't installed) inside the static setCurrentLocale method, completely
1332          breaking the system when PHP doesn't have gettext support.  This is an
1333          untested fix.
1334
13352005-05-24 Francois Proulx <francois.proulx@gmail.com>
1336        * Fixed bug in auth.php to let users go through when the click twice on the
1337          login button
1338        * Fixed bug in hotspot_log.php
1339
13402005-05-24 Francois Proulx <francois.proulx@gmail.com>
1341        * Added "Get access statistics" button to Node admin to get hotspot specific
1342          stats
1343        * Added search box in Users log to get a specific user stats quickly
1344
13452005-05-24 Francois Proulx <francois.proulx@gmail.com>
1346        * Fixed typo in some translations
1347        * Cleaned-up todos
1348
13492005-05-18 Francois Proulx <francois.proulx@gmail.com>
1350        * Added strip_tags in RssPreview ( some malformed HTML would break the page
1351          layout)
1352
13532005-05-16 Francois Proulx <francois.proulx@gmail.com>
1354        * Changed login message in MainUI to make it clearer what the login button
1355          will do
1356
13572005-05-13 Philippe April <philippe@ilesansfil.org>
1358        * Added deployment status to node_list
1359
13602005-05-11 Francois Proulx <francois.proulx@gmail.com>
1361        * Began writing user profiles
1362        * Added many methods to User class
1363        * Added node quota fields in DB ( bandwidth, throttling ...)
1364
13652005-05-10 Francois Proulx <francois.proulx@gmail.com>
1366        * Fixed Login link in signup page ( MainUI.php ) if the Session has gw_id,
1367          gw_address, gw_port show physical login link
1368
13692005-05-10 Francois Proulx <francois.proulx@gmail.com>
1370        * Added download button CSS class to style button
1371
13722005-05-10 Francois Proulx <francois.proulx@gmail.com>
1373        * Fixed wrong method name in File.php
1374        * Added strip tags to Langstring
1375        * Basic styling of content_admin table
1376
13772005-05-04 Francois Proulx <francois.proulx@gmail.com>
1378        * Fixed serialization issue ( flickr)
13792005-05-04 Francois Proulx <francois.proulx@gmail.com>
1380        * Improved caching
1381        * Wrote very basic gridview code for Flickr
1382
13832005-05-04 Francois Proulx <francois.proulx@gmail.com>
1384        * Implemented caching for Flickr
1385        * Need to contact Phlickr to see how we could do better, since serialize
1386          does not work OK on objects
1387
13882005-05-04 Francois Proulx <francois.proulx@gmail.com>
1389        * Fixed bug concerning Content-Length header
1390        * Changed default Unit size for setLocalFileSize to bytes
1391
13922005-05-04 Francois Proulx <francois.proulx@gmail.com>
1393        * Added BLOB support
1394        * modified file_download.php to support new header attributes
1395        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
1396        * Make sure your PHP.ini contains the right value to allow big downloads
1397        * Check : http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php
1398        * ISF Live server is now configured to support 100 megabytes files
1399
14002005-05-04 Francois Proulx <francois.proulx@gmail.com>
1401        * Fixed CSS IE Bug
1402        * Fixed SQL query
1403        * NEED HELP FROM A WEB DESIGNER !!!!!
1404
14052005-05-03 Francois Proulx <francois.proulx@gmail.com>
1406        * Disabled logging in Pattern Language archives
1407
14082005-05-03 Francois Proulx <francois.proulx@gmail.com>
1409        * Having for SQL query... :-(
1410
14112005-05-02 Francois Proulx <francois.proulx@gmail.com>
1412        * PatternLanguage is now completed
1413
14142005-04-30 Francois Proulx <francois.proulx@gmail.com>
1415        * Logout button will now destroy session AND render token USED
1416
14172005-04-30 Francois Proulx <francois.proulx@gmail.com>
1418        * Fixed bug that could potentially let non owners add content in /content
1419          through content groups
1420        * Admin menu won't show node selector if the user is not owner of at least
1421          one hotspot
1422        * Added Width, height support for Picture
1423
14242005-04-30 Francois Proulx <francois.proulx@gmail.com>
1425        * Did my best for content styling ... ( it's 5h00 am )
1426
14272005-04-30 Francois Proulx <francois.proulx@gmail.com>
1428        * Updated sync_sql_for_cvs.sh
1429
14302005-04-30 François Proulx <francois.proulx@gmail.com>
1431        * ChangeLog entry missed by CVS ?!
1432        * Locale now decomposes the locale string by '_'
1433        * Now works on Mac OS X ( but you must use fr_CA, en_CA or fr_FR ... )
1434
14352005-04-30 François Proulx <francois.proulx@gmail.com>
1436        * Trying to solve RSS encoding bug...
1437        * Testing on live server
1438
14392005-04-29 François Proulx <francois.proulx@gmail.com>
1440        * Removed all inline unuseful javascript code on submit buttons
1441          onclick='submit()'
1442        * This conflicted with the actual click on the submit button in Safari
1443        * Fixed check in Network for isOwner, only check superAdmin
1444        * Fixed bug so you can't add an existing content group to itself (deadlock)
1445        * Started coding Pattern language narrative display
1446
14472005-04-29 François Proulx <francois.proulx@gmail.com>
1448        * Wrote User.php addcontent, removeContent, getAllContent()
1449        * Wrote Content.php subscrite() and unsubscribe()
1450        * Added parameters to getAllContent() in Node and Network
1451          (exclude_subscribed_content)
1452        * These will be used for subscribing a to some content
1453        * Pattern Language will be the first to use it
1454        * Online users lists
1455        * Fixed bugs in Node and Network ( isOwner check )
1456
14572005-04-28 François Proulx <francois.proulx@gmail.com>
1458        * Logout button build a query string containing gw_id, gw_address, gw_port
1459          ( if available ), so that a user at a physical hotspot will get the login
1460          page from the hotspot he is.
1461        * Fixed but in Locale ( did not propertly set the locale in the session )
1462
14632005-04-28 François Proulx <francois.proulx@gmail.com>
1464        * Added check in MainUI toolbar so that it won't show "NOT logged in ?"
1465          message when connect to a real hotspot ( not virtual )
1466        * This message confused many users ( they clicked and got the virtual login
1467          instead ! )
1468        * Hide adminstration features ( statistics, hotspot creation, network wide
1469          content etc...) from all but Super admins
1470        * Fixed getAllLocativeArtisticContent in Node.php added is_persistent check
1471        * Added $associate_existing_content parameter to processNewContentUI to
1472          allows reuse for existing content ( in ContentGroup )
1473        * Fixed bug in FlickrPhotoStream delete ( missing return from parent )
1474        * Added security check in all content classes ( ProcessAdminUI )
1475
14762005-04-26 François Proulx <francois.proulx@gmail.com>
1477        * Replaced show only content groups by show persistent
1478
14792005-04-26 François Proulx <francois.proulx@gmail.com>
1480        * Added missing /content directory
1481
14822005-04-26 François Proulx <francois.proulx@gmail.com>
1483        * Added /content/ for displaying all content elements
1484        * Logging is disable when viewing them
1485        * All content elements will expand
1486        * Pattern languages won't display everything ( special property )
1487          isExpandable
1488        * Added a link in portal pages to go to /content/
1489        * Added Show all contents button in content_admin.php
1490
14912005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1492        * Content.php, ContentGroup.php:  All Content now implement the
1493          isDisplayableAt($node).  Used by the portal, if content has nothing
1494          displayabel, the entire content is skipped.
1495
14962005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1497        * FlickrPhotostream.php:  Fix the object so it doesn't crash when flicker is
1498          disabled.
1499
15002005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1501        * ContentGroup.php:  Fully functionnal content rotation engine, with all
1502          options supported. Rotation based on session may not be reliable if the
1503          user isn't truly logged in (from a node).
1504
15052005-04-26 François Proulx <francois.proulx@gmail.com>
1506        * Most of the missing translations
1507
15082005-04-26 François Proulx <francois.proulx@gmail.com>
1509        * Changed back File to non trivial
1510        * portal page stylesheet
1511
15122005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1513        * ContentGroupElement.php:  It shouldn't be allowed to create a new content
1514          element in isolation.  Unfortunately the UI allows if for now.  Such
1515          content will now be deleted.
1516        * Locale:  Fix string selection algorithm to pick the right language.
1517        * Content:  Implement display logging.
1518
15192005-04-26 François Proulx <francois.proulx@gmail.com>
1520        * stylesheet rework
1521
15222005-04-26 François Proulx <francois.proulx@gmail.com>
1523        * Fixed wrong location for change password link
1524
15252005-04-25 François Proulx <francois.proulx@gmail.com>
1526        * Portal page styling
1527
15282005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1529        * ContentGroup.php:  Previous fix didn't work.  New fix.
1530
15312005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1532        * ContentGroup.php:  Make bad selection mode eror non-fatal.
1533
15342005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1535        * Fix bug in ContentGroup enumeration
1536
15372005-04-25 François Proulx <francois.proulx@gmail.com>
1538        * More stylesheets work
1539
15402005-04-25 François Proulx <francois.proulx@gmail.com>
1541        * Much better stylesheet
1542
15432005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1544        * UI fully functionnal
1545
15462005-04-25 François Proulx <francois.proulx@gmail.com
1547        * More interface work
1548
15492005-04-25 François Proulx <francois.proulx@gmail.com
1550        * Completed integration of new interface with new objects
1551
15522005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1553        * Integration merge, should work, but there will be display problems
1554          everywhere.  Expect further commits today.
1555        * Almost 100% complete Network abstraction
1556        * Much better object encapsulation.  Deprecated methods not removed yet.
1557        * Add MainUI class.  Used to display the interface.  Inner workings still
1558          need work.
1559
15602005-04-23 François Proulx <francois.proulx@gmail.com>
1561        * Added Preferred Size support for Flickr pictures
1562
15632005-04-23 François Proulx <francois.proulx@gmail.com>
1564        * Completed missing translations
1565
15662005-04-23 François Proulx <francois.proulx@gmail.com>
1567        * Fixed bugs in File and EmbeddedContent
1568        * Completed first iteration of EmbeddedContent
1569        * Can now play multimedia content
1570        * Could not test fallback with my browser ( Safari and Firefox )
1571        * Need help to test content in different browser to see how it reacts...
1572
15732005-04-22 François Proulx <francois.proulx@gmail.com>
1574        * Fixed bug in FlickrPhotostream.php
1575        * Params did not match new methods requirements ( getUserByEmail )
1576        * Changed stylesheet class name for Flickr to match new changes
1577        * Fixed bugs in File
1578        * Wrote part of EmbeddedContent ( partially working )
1579        * TODO: add support for parameters and attributes in EmbeddedContent
1580
15812005-04-22 François Proulx <francois.proulx@gmail.com>
1582        * Fix schema version in François's commit
1583
15842005-04-21 François Proulx <francois.proulx@gmail.com>
1585        * Added explicit admin UI exceptions support for Flickr
1586        * Completed File and Picture objects
1587
15882005-04-20 François Proulx <francois.proulx@gmail.com>
1589        * Completed Flickr support ( explicit exceptions catching )
1590        * Most of File object is done
1591        * Fixed bug in generic_object_admin.php
1592        * changed stylesheet class tags for Flickr
1593
15942005-04-18 François Proulx <francois.proulx@gmail.com>
1595        * Added Flickr content support
1596        * Part of File object is done
1597
15982005-04-19 Benoit Grégoire  <bock@step.polymtl.ca>
1599        * Working (beta...) content manager and portal.
1600        * Add content preview mode
1601
16022005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1603        * Hotspot and network content association, continue access control work.
1604        * hotspot_owner.php: Fix wrong assignement of user_id that prevented the
1605          script from working.
1606        * All files:  Remove whitespace and carriage return after the ?> closing
1607          tags.
1608
16092005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1610        * Much more complete admin, initial access control work.
1611
16122005-04-15 Benoit Grégoire  <bock@step.polymtl.ca>
1613        * Support more of the content object model, do a half-decent CSS for the
1614          admin interface.
1615
16162005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1617        * Content.php:  Use full langstring interface by default;
1618
16192005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1620        * Content.php:  Fix db reference;
1621
16222005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1623        * Fix Content object enumeration preventing usage of admin interface
1624        * Partial fix for RSS feed encoding (multiple feed aggregation still broken)
1625
16262005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1627        * First part of the future content delivery infrastructure. Many files added
1628
16292005-04-01 François Proulx  <francois.proulx@gmail.com>
1630        * Modified gen.sh script to match UTF-8
1631        * Added PAP RADIUS encryption support ( asked by Paris Sans Fil )
1632
16332005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1634        * wifidog/templates/auth_sources_selection.html:  Add missing file from
1635          Francois's commit.
1636
16372005-04-01 Philippe April <philippe@ilesansfil.org>
1638        * Fixed missing parenthesis in classes/User.php
1639        * Removed unused files
1640        * fixed schema_validate.php (typos)
1641
16422005-04-01 Francois Proulx  <francois.proulx@gmail.com>
1643        * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT
1644          EDITOR
1645        * The database will be converted to UTF-8 (version 5)
1646        * Added select boxes ( or hidden ) html form elements to choose the network
1647          for signup, lost password, username
1648
16492005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1650        * Add constraints to account_origin to detect errors on inserts.
1651        * Remove IDRC test server
1652
16532005-04-01 Philippe April <philippe@ilesansfil.org>
1654        * User.php: Add reference to $db global variable.
1655        * Tagged v0_1_0_alpha1
1656        * Removed spaces in AuthenticatorLocalUser.php
1657
16582005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1659        * Remove spaces after php blocks in various files.
1660        * Temporarily fix single authentication source not present bug in login
1661          smarty template.  All other places where we select the network will be
1662          fixed tommorow.
1663        * Fix initial schema errors.
1664
16652005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1666        * More RADIUS install documentation.
1667        * Fix schema_validate.php
1668
16692005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1670        * Moved language definition
1671        * Moved e-mail subjects to User class ( each e-mail functions )
1672
16732005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1674        * Added missing schema_validate.php modifs.
1675
16762005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1677        * Added PEAR install procedure
1678
16792005-03-30 François Proulx  <francois.proulx@gmail.com>
1680        * Finished RADIUS authentication and accounting
1681        * Accounting Unique session ID is now based on the same token we use
1682        * Fixed all issues with lost_username, lost_password etc...
1683        * User class has new static function getUsersByEmail and getUsersByUsername
1684        * Added translations for new features
1685        * Translated the validation, lost password, username e-mails
1686        * Tested quite a bit, this version is considered stable
1687        * A few examples on how set different RADIUS or local authenticators can be
1688          found in the config.php
1689
16902005-03-29 François Proulx  <francois.proulx@gmail.com>
1691        * schema_validate.php : Modified schema : dropped e-mail + account unique
1692          index, dropped email not empty constraint
1693        * Schema is now at version 3
1694        * Coded RADIUS authentication
1695        * Modified templates to show a select box when more than one server is
1696          configured
1697        * Coded RADIUS accounting and backward compatibility accounting
1698        * Modified many statistics SQL queries to match new Users table
1699        * modified statistics templates to match user_id and account_origin
1700        * TODO : Fix lost_username and lost_password ( issue since we dropped the
1701          unique constraint on emails... )
1702        * TODO : Heavy testing possibly with remote RADIUS servers
1703
17042005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1705        * sql:  Put initial data in a transaction, and specify the wifidog user so
1706          you do not have to su to it while using sync_sql_for_svs
1707
17082005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1709        * common.php:  Add get_guid() function
1710        * validate_schema.php: New auto-upgrade script to allow autaumatic schema
1711          upgrade.  Note that you must still update dump_initial_data_postgres.sh
1712          and use sync_sql_for_cvs.sh so new users aren't left in the cold.
1713        * New class Authenticator (and subclasses):  Begin virtualizing the login
1714          process.
1715
17162005-03-24 Benoit Grégoire  <bock@step.polymtl.ca>
1717        * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming
1718          and outgoing for all connections from a user have null values.
1719        * wifidog/local_content/default/portal.html: Fix layout so it resizes
1720          properly.  This in an interim measure.
1721        * Update schema.  This will allow automatic schema updates in the future.
1722          TO update a live server:
1723
1724      BEGIN;
1725      CREATE TABLE schema_info (
1726            tag text PRIMARY KEY,
1727            value text
1728          );
1729          INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
1730          COMMIT;
1731
17322005-03-16 Matthew Asham <matthewa@bcwireless.net>
1733    * config.php: will use "local.config.php" instead, if present.  avoid cvs
1734      over-writing.
1735    * signup.php: if CUSTOM_SIGNUP_URL is defined, signup.php will re-direct.
1736      For integration with existing auth systems
1737    * hotspot_status.php: ob_clean may complain about buffering.  muted.
1738    * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the
1739      feed.
1740
17412005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
1742        * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql,
1743          wifidog-postgres-schema.sql:-Widen the connections size to fix int4
1744          wraparound problems.  To update a running server, execute the following
1745          sql sniplet:
1746
1747      BEGIN;
1748      ALTER TABLE connections RENAME incoming TO incoming_old;
1749      ALTER TABLE connections ADD COLUMN incoming int8;
1750      ALTER TABLE connections RENAME outgoing TO outgoing_old;
1751      ALTER TABLE connections ADD COLUMN outgoing int8;
1752      UPDATE connections set incoming=incoming_old, outgoing=outgoing_old;
1753      ALTER TABLE connections DROP COLUMN incoming_old;
1754      ALTER TABLE connections DROP COLUMN outgoing_old;
1755      COMMIT;
1756
1757        * wifidog/admin/hotspot.php: Missing file from phil's commit.
1758        * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po:  New translation
1759          by Benoit St-André
1760
17612005-02-14 Philippe April <philippe@ilesansfil.org>
1762        * gw_message.php: the "activate" message was not properly defined and
1763          would cause an error to show up instead of the nice activate your account
1764          message
1765
17662005-02-14 Philippe April <philippe@ilesansfil.org>
1767        * wifidog/locale/gen.s: Was not working as expected, it will now get the
1768          gettext from smarty properly.
1769        * Updated TODO with ideas on making config better
1770
17712005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1772        * wifidog/templates/hotspot_status.html:  Restore the number of nodes
1773        * wifidog/hotspot_status.php: Restore the number of nodes, add formatting
1774          and more information to the RSS feed.
1775
17762005-01-26 Philippe April <isf_lists@philippeapril.com>
1777        * Some kind of virtual login (we need to talk about this).
1778        * New User and Node classes
1779        * Modified all files to work with the classes.
1780        * Remove mgmt_helpers (all done in User class now)
1781
17822005-01-25 Benoit Grégoire  <bock@step.polymtl.ca>
1783        * classes/Node.php:  New file, untested code example
1784        * wifidog/admin/admin_common.php: Remove double-defined BASEPATH
1785
17862005-01-25 Philippe April <isf_lists@philippeapril.com>
1787        * Changed initial postgres inserts sql file, it wasn't working properly
1788
17892005-01-25 Pascal Leclerc  <pascal@plec.ca>
1790        * Added admin and owner administration pages
1791
17922005-01-23 Philippe April <isf_lists@philippeapril.com>
1793        * Added gateway error messages (validation period, etc.)
1794
17952005-01-20 Philippe April <isf_lists@philippeapril.com>
1796        * Modularized the admin interface, added functions
1797
17982005-01-18 Philippe April <isf_lists@philippeapril.com>
1799        * Smarty'ized more, I think it's done now
1800
18012005-01-12 Philippe April <isf_lists@philippeapril.com>
1802        * i18n and smarty'ized parts
1803
18042005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
1805        * INSTALL: Mandate PHP5
1806        * wifidog/hotspot_status.php: Allow export of the list as a RSS feed
1807        * wifidog/classes/RssPressReview.inc:  Make it truly functionnal.
1808        * wifidog/portal/index.php:  Support multiple RSS feeds.  The system will
1809          automatically pick the best 5 entries from all the feeds.  It will
1810          compensate for disparate publication intervals.  An entry from a feed that
1811          does not publish often will live longer than an entry from a feed that
1812          publishes very often.  If a feed doesn't have any entry that makes the
1813          cut, it will not appear at all.
1814        * wifidog/templates/hotspot_status.html:  Add link to the RSS version.
1815
18162005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
1817        * wifidog/config.php:  Add list of hotspot to network rss feed list (not yet
1818          functionnal)
1819        * wifidog/hotspot_status.php:  Allow RSS export of the list of deployed
1820          Hotspots.
1821        * wifidog/admin/incoming_outgoing_swap.php:  Script to swap incoming and
1822          outgoing in your data. Only use this if you had gateways before 1.0.2
1823          and wish to correct your logs before you upgrade.
1824        * wifidog/classes/RssPressReview.inc:  Missing file from previous commit.
1825        * wifidog/portal/index.php: Preliminary work to enable smart press review
1826          of multiple RSS feeds.
1827
18282005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
1829        * include/common.php: Fix SSL security warnings.  If SSL is enabled and the
1830          page was actually served over SSL, all media in the file will be served
1831          over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links
1832          that break out of SSL mode.  From now on, use the self adapting
1833          BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode,
1834          and BASE_URL_PATH to break out of it.
1835
18362005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
1837        * admin/user_stats.php: Add three top tens to the statistics:  Top ten
1838          apetite for bandwidth, top ten travelers, most addicted users.
1839
18402005-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
1841        * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much
1842          thinner.
1843        * wifidog/local_content/default/login.html: Remove announcements
1844        * wifidog/include/user_management_menu.php: Fix mailto:
1845        * wifidog/auth/index.php: Fix auth server part of the no data transmited
1846          statistics bug.
1847        * wifidog/admin/index.php: Add link to statistics
1848        * wifidog/admin/user_stats.php: Activate security.
1849        * wifidog/index.php: Make the distinction between the two hotspot status
1850          pages clearer.
1851
18522004-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
1853        * wifidog/index.php: Add menu
1854        * wifidog/include/user_management_menu.php: Editorial change, make
1855          translateable
1856        * wifidog/portal/index.php:  Fix RSS feeds
1857
18582004-12-03 Benoit Grégoire  <bock@step.polymtl.ca>
1859        * wifidog/admin/user_stats.php,  wifidog/classes/Statistics.php:  Embryonic
1860          aggregate user stats.  Currently allows you to find out the rate at which
1861          your users subscribe.
1862        * wifidog/config.php, wifidog/local_content/default/login.html,
1863          wifidog/include/user_management_menu.php:  Add hotspot status page to
1864          login page.
1865        * wifidog/hotspot_status.php: Cosmetic
1866        * wifidog/admin/hotspot_log.php: Stats now need admin privileges
1867        * wifidog/index.php: Cosmetic.
1868
18692004-11-19 Benoit Grégoire  <bock@step.polymtl.ca>
1870        * TODO: Add email domains to blacklist
1871        * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech
1872          support email address
1873        * wifidog/hotspot_status.php: List of HotSpots that are open with summary of
1874          information.  Designed to be included as part of another page.
1875        * wifidog/local_content/common/wifidog_logo_banner.gif: Add wifidog logo
1876        * wifidog/local_content/default/hotspot_logo_banner.jpg: Shrink the logo
1877          and write unknown hotspot, however this is still really ugly
1878        * wifidog/local_content/default/login.html, portal.html, stylesheet.css:
1879          Cosmetic fixes
1880        * wifidog/local_content/default/login.html.fr, portal.html.fr: Delete the
1881          files, this isn't the approach we will use for translation.
1882        * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:
1883          Update with new node information structures.
1884
18852004-11-04 Benoit Grégoire  <bock@step.polymtl.ca>
1886        * wifidog/admin/hotspot_log.php: Add number of currently connected users
1887          here as well.
1888
18892004-11-03 Benoit Grégoire  <bock@step.polymtl.ca>
1890        * wifidog/ping/index.php: Log user-agent
1891        * extensive statistics work
1892        * sql/wifidog-postgres-schema.sql: Add description field for hotspots and
1893          log user-agent
1894
18952004-10-28 Benoit Grégoire  <bock@step.polymtl.ca>
1896        * sql/wifidog-postgres-schema.sql:  Add constraints to avoid empty string
1897          in email or user_id.
1898        * Some statistics fixes
1899
19002004-09-29 Alexandre Carmel-Veilleux <acv@acv.ca>
1901        * wifidog/admin/index.php: Integrated the changes contributed
1902          on the mailing list by Rikhardur EGILSSON (fname.lname@oecd.org),
1903          mainly a missing ' in some HTML.
1904
19052004-09-28 Yanik Crépeau <yanik@exScriptis.com>
1906    * wifidog/include/common.php: Added commented header with cvs
1907          keywords.
1908        * wifidog/include/common.php: Added commented code (not executing) for
1909          further testing with language/localization issues.
1910
19112004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1912        * sql/wifidog-postgres-schema.sql:  Remove non SQL standard "COMMENT ON"
1913          comments
1914
19152004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1916        * sql/wifidog-postgres-schema.sql:  Drop procedural language stuff
1917
19182004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1919        * sql/wifidog-postgres-schema.sql:  Fix layout for the node_owners table
1920        * Begin integrating Patrick Tanguay's new layout and generate the css
1921          dynamically to allow for background images.
1922
19232004-09-22 Benoit Grégoire  <bock@step.polymtl.ca>
1924        * portal/index.php:  Fix users appearing online at every hotspot.
1925        * wifidog/classes/Style.php, wifidog/login/index.php:  Fix some potential
1926          cache problems and help with validation.
1927
19282004-09-18 Benoit Grégoire  <bock@step.polymtl.ca>
1929        * wifidog/config.php:  Add VALIDATION_GRACE_TIME configuration parameter.
1930        * wifidog/auth/index.php:  Move grace time date arithmetics to the database,
1931          fixes validation period not working.  Stop storing VALIDATION_FAILES
1932          status to the database.  Add check for validation period expiration at
1933          stage login, not just stage counters, this will fix one minute
1934          validation period.
1935        * wifidog/login/index.php:  Check validation period activation, and if
1936          period is expired, explain to the user instead of redirecting to the
1937          gateway.
1938        * wifidog/user_management/index.php:  Fix SQL error at new user registration.
1939
19402004-09-02 Benoit Grégoire  <bock@step.polymtl.ca>
1941        * wifidog/node_list.php: Complete the status page
1942        * Add images
1943        * Add hotspot creation date
1944
19452004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1946        * sql/: Update the postgres schemas and add scripts to ease maintaining it.
1947        * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this
1948          script to the chances will be available in the cvs schemas and initial
1949          data.
1950        * sql/dump_initial_data_postgres.sh: This does the actual dump of the data
1951          in a runnable form.  Note that this needs to be edited manually if you add
1952          a new table requiring initial data.
1953        * INSTALL:  Update for postgres.  Somebody please test this.
1954
19552004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1956        * wifidog/ping/index.php: Implement logging of which hotspot sent the
1957          heartbeat, from which ip and when.
1958        * wifidog/node_list.php:  Primitive but functionnal hotspot status page.
1959        * wifidog/include/user_management_menu.php:  Change menu labels
1960        * wifidog/local_content/default/login.html: Improve layout.  Someone needs
1961          to make this stylesheet correct, I took shortcuts...
1962        * wifidog/local_content/default/stylesheet.css:  Reduce H1 font size.
1963        * wifidog/user_management/index.php:  Display the menu, will eventually
1964          allow us to present proper help text.
1965
19662004-08-30 Benoit Grégoire  <bock@step.polymtl.ca>
1967        * Add link to original requested site.
1968        * wifidog/node_list.php:  New file.  Will become the main node status page.
1969
19702004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
1971        * Primitive network status available form the index page
1972        * Administrative security is implemented.
1973
19742004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
1975        * Fix big gaping security hole in login page (password would be ignored if
1976          the username was used to login)
1977        * PostgreSql port
1978        * Change the method to determine who is online
1979        * Stop keeping unused token once user successfully logs in.
1980        * Fix missing update of token update date.
1981        * Counters wouldn't get updated for stage=LOGOUT
1982        * wifidog/auth/index.php:  Added a Messages: response in addition to Auth:
1983          so we can know what the hell the server is up to.  Currently you need to
1984          run wifidog in debug level 7 to see it. That message should be parsed so
1985          it is visible in debug level 6.
1986        * wifidog/auth/index.php:   Fix code injection vulnerability.
1987
19882004-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
1989        * SSL support and RSS improvement
1990        * Last commit tested with mysql support
1991
19922004-08-24 Pascal Leclerc  <pascal@plec.ca>
1993        * wifidog/admin/user_log.php: Add total to incoming and outgoing
1994        * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports
1995
19962004-08-11 Benoit Grégoire  <bock@step.polymtl.ca>
1997        * wifidog/config.php: Add USER_MANAGEMENT_PAGE
1998        * wifidog/include/user_management_menu.php:  Code meant to deal with
1999          non-standard ports broke the menu.  Hopefully fixed.
2000        * Add alex's mising changelog entry...
2001
20022004-08-11 Alexandre Carmel-Veilleux <acv@acv.ca>
2003        * wifidog/ping/index.php: will now reply if the wifidog auth server is up.
2004          To be used by wifidog to do heartbeats.
2005
20062004-08-07 Benoit Grégoire  <bock@step.polymtl.ca>
2007        * Add code to import a NoCat user database (passwd).  The username will be
2008          generated from the first part of the email if the name was en email.
2009        * Change password hashing algorithm to make it compatible with NoCat (For
2010          the curious among you, the hashing algorithm is now:  take the md5
2011          digest in binary format of the password, and base64 encode it.
2012        * Table schema changed to accomodate newhash length (users.pass is now
2013          varchar(32))
2014        * The user is now allowed to login with either his username or his email.
2015
20162004-08-03 Pascal Leclerc  <pascal@plec.ca>
2017        * wifidog/classes/SmartyWifidog.php: Fix path validation bug, replace
2018          NODE_CONTENT_URL with NODE_CONTENT_PHP_RELATIVE_PATH
2019        * wifidog/classes/AbstractDb.php: Add class=warning for better display
2020        * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports
2021
20222004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2023        * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set
2024          to true if gettext is available.  If false, blank _() and gettext()
2025          functions will be defined so the system still works.
2026
20272004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2028        * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully).
2029
20302004-08-02 Benoit Grégoire  <bock@step.polymtl.ca>
2031        * wifidog-auth lives! New since the dark ages
2032        * Demo page to allow people to hack more easely on it
2033        * Support for multiple nodes.  TODO:  Merge with the database project.
2034        * Very cool local content architecture.  Every hotspot can have a folder in
2035          the local_content directory.  This folder can be filed by a single logo,
2036          leaving all the rest to the default content, or be completely custom
2037          (stylesheet, login page, portal page, header, etc.)
2038        * Everything in local content is templated with smarty, no problem with
2039          web designer wrecking havoc on the auth server.  You can edit everything
2040          in local_content/default even if you only speak html.
2041        * No need to set any path in the web server config files (that one was a
2042          bitch to implement)
2043        * RSS feed support (optionnal, with magpierss), one feed per node (url
2044          stored in the database, works great, but no gui to edit it yet) and one
2045          network-wide RSS feed.
2046        * All path are editable from the config file
2047        * "Productize" the thing, so it make sense for other groups to install it
2048          (the network name, url, default RSS, and such are set from the config
2049          file).
2050        * Put most strings in gettext calls for easy future translation.
2051        * User can request that the server send the validation email again
2052        * User can change password
2053        * User who forgot his username can have it mailed to him.
2054        * User who lost his password can ask the system to generate a new one and
2055          mail it to him.
2056        * Email is now a separate field to preserve user privacy.
2057        * Enforces (politely) that there are no duplicate emails in the database
2058        * Database abstraction layer with very nice debugging features (just append
2059          true at the end of the call, and you'll see the query, the results, the
2060          query plan and number of affected rows.  Also allow future upgrade to
2061          postgres.
2062        * Lots of other things I forgot.
Note: See TracBrowser for help on using the browser.