root/trunk/wifidog-auth/CHANGELOG @ 1164

Revision 1164, 105.9 KB (checked in by benoitg, 6 years ago)
  • page.php: Fix missing retrieval of DB instance.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
12007-01-03 Benoit Grégoire  <bock@step.polymtl.ca>
2        * FormSelectGenerator.php: Fix incorrect $this reference in isPresent().  The bug would only manifest
3         itself from the FlickrPhotostream's admin interface.
4        * page.php:  Fix missing retrieval of DB instance.
5
62007-01-03 Benoit Grégoire  <bock@step.polymtl.ca>
7        * Yet more Smarty cleanup, add some docs, add Smarty variables to access the physical node a user is connected to.
8        * RssAggregator.php:  Fix bug in setMaxItemAge() method when setting a null value
9        * Cache.php:  Performance optimization when caching is disabled.
10        * Fix bug where num online users in the portal was broken.
11       
122007-01-02 François Proulx <francois.proulx@gmail.com>
13        * Updated the SQL schema initial schema
14       
152006-12-31 Benoit Grégoire  <bock@step.polymtl.ca>
16        * More Smarty cleanup
17        * Content.php:  Bugfix:  metadata wasn't deleted along with the rest of the
18        content upon deletion.
19       
202006-12-30 Benoit Grégoire  <bock@step.polymtl.ca>
21        * install.php:  Move path verification to the first page, and make it clearer.  Fix PHP warnings.
22        * wifidog/include/smarty.resource.string.php:  A smarty resource plugin to parse a smarty template from a string
23        * SmartyTemplate:  Very basic but functionnal commit of the new Smarty content type. 
24        IMPORTANT NOTE:  This will eventually obsolete IFrameRest, which will be removed.
25        * Continue cleaning-up/standardizing Smarty variable usage.
26       
272006-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
28        * Fix all PHP 5.2 compatibility issues I could find.  This needs further testing
29
302006-12-12 Pascal Charest <pascal.charest@gmail.com>
31        * install.php: Remove obsolete Phlickr installation references
32
332006-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
34        * install.php, Dependencies.php:  Centralize Dependency detection (next is to centralize
35        dependency installation code).
36        * config.php: Remove more obsolete config directives.
37
382006-12-11 Benoit Grégoire  <bock@step.polymtl.ca>
39        * install.php:  Fix a few problems caused by obsolete magpierss detection code.
40        * install.php, config.php:  Remove the obsolete PHLICKR_SUPPORT option.
41       
422006-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
43        * schema_validate.php:  Mute annoying ob_flush() notices.
44        * Node.php:  Add missing default parameter to getSelectNodeUI()
45        * get_stylesheet:  Fix date calculations that broke download.
46       
472006-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
48        Sync with my main developpement environement:
49        * Performance optimization pass:  Collect a few low hagning fruits
50        by implementing basic instance caching for classes Server, Network, Nodes, Content and User.
51         It's no replacement for a real ORM, but is cuts way down on duplicate SQL queries and
52         object instanciation for a single request.
53        * Langstring.php:  Slight performance optimization for admin interface, support for proper modification date.
54        * File.php:  Update to use unified content modification date.
55        * get_stylesheet.php:  Implement browser caching
56        * ContentGroup.php:  Get rid of is_locative and is_artistic metadata.  Will eventually be replaced by something better.
57        Allow editing of expired content elements
58        * Node.php, Utils.php:  Sort by case insensitive name, and show gateway id in node selectors
59        * BannerAdGroup.php:  Support group constraint of image size for all images in the group.
60        * ContentReport.php:  Finish basic content reporting. 
61        Note that for content that displayed before the logging fixes commited 2006-11-14, the display count will be underestimated: 
62        Display before then was only counted once per user per node.  Also File clickthrough wasn't logged (includes hyperlinked pictures).
63        * Content.php:  Implement a Key-Value Pair infrastructure.  In the future, this will often allow adding new content types without
64        having to modify the schema.  See the Content class documentation.
65        * Fix various small UI issues.
66       
672006-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
68        * common.php:  Fix the value of SESS_NODE_ID_VAR, it got overwritten by SESS_GW_ID_VAR.
69        Caused problems with logout.
70       
712006-11-27 Benoit Grégoire  <bock@step.polymtl.ca>
72        * Try to fix #270:
73        * DateTime.php:  Rename class to DateTimeWD because of the stunt they pulled in PHP 5.2
74        * Content and derived classes:  Make all constructors protected.
75
762006-11-26 Benoit Grégoire  <bock@step.polymtl.ca>
77        * lost_username.tpl, lost_password.tpl, resend_validation.tpl:  Fix #259 by commenting out
78        all Javascript. I hate removing outside contributions, but the lost_username,
79        lost password and re-send validation email have been broken for months and no one
80        stepped-in to fix it.
81         
822006-11-23 Benoit Grégoire  <bock@step.polymtl.ca>
83        * Fix bug in node creation
84        * Add error message for geocoder when you didn't set the country
85        * Clarify error messages and description for the geocoder.
86        * Make the google-map locator for nodes use the network center coordinates.
87          This change makes it usable when you didn't use the geocoder first.
88        * Show the gateway id in the technical nodelist.
89       
902006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
91        * Fix minor problems with template using obsolete constants
92        * Delete a bunch of unused templates
93       
942006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
95        * Fix broken auth
96        * Fix broken portal when called from gateway
97       
982006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
99        * Major schema update (this one is going to make your database grind for a while, sorry
100        about that...)
101        Fix a long standing design problem with the node table, where the ID could be changed. 
102        This caused performance problems when replacing gateways, and caused problems when
103        exporting data to other systems.  Among other things, it will allow us to finally
104         finish the JiWire output.
105        * Stylesheet.php:  New content type.  Takes advantage of two pass content display to create stylesheets to be used only at a specific node, or with a specific content.
106       
1072006-11-21 Benoit Grégoire  <bock@step.polymtl.ca>
108        * Change schema update method.  Will now do one transaction
109         per schema version, allowing each schema to assume that
110          the current schema is the previous one.  Also allows not
111          starting over when there is a problem.
112          Fixes schema update problems with the last commit
113       
1142006-11-21 Benoit Grégoire  <bock@step.polymtl.ca>
115        * RssAggregator.php:  At long last, sync with FeedPressReview 2.0
116         http://projects.coeus.ca/feedpressreview/ (formerly rsspressreview)  and
117          make most of it's features directly available from the web interface.
118        This gives us:         
119        -Now based on SimplePie http://simplepie.org/ (magpie was no longuer maintained)
120        -Now unobtrusively displays almost all item and feed metadata
121        -Supports images
122        -Supports podcasts and enclosures
123        -More accurate algorithm
124        -Criteria based default feed expansion
125        -More real-estate efficient, and improved UI
126        The admin interface is now also more real-estate efficient (uses the hover help code commited by François that no one used yet).
127       
128        Warning: This changes the dependencies of the auth server.  Your RSS feeds will be disabled untill you re-run the install script.
129        * gw_message.php:  Fix validation period not being displayed.
130
1312006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
132        * MainUI.php:  Allow displaying any object with a getUserUI() method directly as content.
133
1342006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
135        * generic_object_admin.php:  Fix interface options for the user object, but this is the wrong way to go about it.  THese options should be class properties.
136
1372006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
138        * File.php:  Clickthrough weren't logged, DOH!
139        * User.php:  Error message on validation expired didn't properly output the validation grace time.
140        * Statistics.php:  Fix #271: Getting statistics for a single MAC address was broken. 
141        * NodeListXML.php:  Small patch by Josephus to add the number of online users
142        * Improve CPU usage of the content manager
143        * AbstractDb:  Fix query time not being displayed in debug mode if profiling was turned off.
144                                        Add total execution time statistics.
145        * Fix logging of content clickthrough and display.  Unique users and node data is reliable for existing data. 
146                Number of prints is underestimated (repeat prints for the same user, same content at same node didn't get counted)
147                 for data before this patch. 
148                Same with number of clickthrough for File content types and derivatives (picture, etc.).
149        * ContentReport.php:  Add content report (does not support most options yet, but still very usefull).
150       
1512006-11-13 Benoit Grégoire  <bock@step.polymtl.ca>
152        * Make the MainUI, SmartyWifidog and Session and AbstractDb classes singletons
153        * Implement two pass content display.  All Content can now implement a prepareGetUserUI(), allowing them to interact with MainUI and other Content before display. 
154          Allow creating content such as stylesheets, feed accumulators, etc.
155        * SmartyWifidog.php Turn on security, begin preparing for standardisation of Smarty variables
156        * New Content type:  Stylesheet.  Allows specific nodes, or even specific content groups to have custom stylesheets.
157        * Langstring.php:  Make getAdminUI calling conventions coherent with other content types.
158
1592006-11-11 Benoit Grégoire  <bock@step.polymtl.ca>
160        * Authenticator.php:  Critical: Fix SQL query syntax in acctStart()
161       
1622006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
163        * install.php:  Fix password generation I inadvertently broke.  Remove misleading info about SSL
164
1652006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
166        * install.php:  Put an end of line after the password, make it easier to read. 
167        Make the install script check the permissions of lib/smarty/plugins directory to avoid smarty errors
168        * Statistics.php:  A little gift for France wireless:  Make aggregate statistics available across networks
169       
1702006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
171        * Fix # 268, #269 as well as greg's problems by moving all token and registration date arithmetics
172         to the database, and standardize on SQL-standard CURRENT_TIMESTAMP. 
173        Fixes operational problems when PHP and PostGres don't have the same timezone
174        (which appears to be the case on Fedora by default).
175        Note that the page.php script still has PHP date arithmetics, but at least should be self-consistent.
176
1772006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
178        * auth/index.php: Add some defensive coding and debug output when the token is invalid.
179
1802006-10-24 Damien Raude-Morvan <drazzib@drazzib.com>
181        * Fix french translation used for account validation to use same number of token as original message.
182        * Only show language combo when there is more than one language to select.
183
1842006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
185        * EmbeddedContent.php:  Fix content type selection (admin interface of EmbeddedContent was broken)
186        * Full spanish translation curtesy of jguevara @@ unitec.edu (closes #254)
187        * Some documentation updates for content filters
188        * Content.php:  Add isNotContentType() method.
189       
1902006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
191        * Access to the Content manager was broken for normal users, again.
192
1932006-09-11 François Proulx <francois.proulx@gmail.com>
194        * Changed install.php req. for Smarty 2.6.17 is mandatory
195        * ContentTypeFilter.php fixed the method checking function
196        * Fixed errors in French translation file
197
1982006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
199        * Fix PHPMailer that I've broken earlier
200
2012006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
202        * Slightly rework SSL detection so that it uses the default server if a current one isn't available.
203                Fixes server passing passwords in the clear if the hostname disn't match (DOH!).
204                We really should properly split the Server class into a singleton Server class and multiple VirtualHost classes.
205        * Re-apply fixed HTMLeditor patch.  (Original description:  Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
206          line count and will stop the codebases from needlessly drifting apart.)
207
2082006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
209        * Add missing require of Statistics.php in stats.php
210
2112006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
212        * Fix non persistent content being available to add to nodes, networks and content groups.
213        * Prevent a user from entering the same language twice in a langstring.  Fixes #226
214
2152006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
216        * Fix #63
217        * Fix problem with my Splash only user fix (I used match on the user_id instead of the username).
218        * Prevent the Splash only user from logging out, wrecking havock in the tokens.
219        * Do not allow SplashOnlyUser to set his preferences.
220        * Assigning a reusable content to a contentgroup element would make it non-reusable.
221Usability and UI fixes:
222        * Allow other users to log in when they are at a splash only node.
223        * Make isSimpleContent class available for Simple content types.  Make it borderless and backgroundless in the default theme_pack.
224        * Simplify HTML output for simple content.
225        * Fix IE layout bug in node admin
226        * Content linked to nodes and networks now edits in a new window.
227        * Remove "Add new node" menu item for consistency.
228
2292006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
230        * Remove most inclusions of MainUI in classes.
231        That completely broke authentication (circular dependencies).
232        Fixes 245.
233    Unfixes 242. Exceptions should not be caught in the context
234    they are thrown in. Else there no point in throwing exception in the
235    first place.
236        * HyperLink.php:  Fix bug where a link with identical text as it's link would see the text replaced by the clickthrough-tracked equivalent.
237
2382006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
239        * ContentTypeFilter:  New class, implements #159.  Allows to filter content type according to various criteria.  Will be used more extensively in the profile manager.
240        * Content manager:  Use content type filter to only allow Simple content types (Content without metadata) to be used for metadata.
241        * New content type BannerAdGroup.  Used (primarily) to display banner adds, or any other image rotation.  Size constraints not yet implemented
242        * Move externally maintained class.phpmailer.php, class.smtp.php into lib where they belong
243        * DateTime.php: Make class handle an empty date sensibly.
244        * Network.php:  Show the network again when there is only one.  It was confusing in some screens.
245        * page.php:  Clarify error message, and set a more reasonnable paging cascade:
246                5 min, 30 min, 2 hours, 1 day, 1 week, 1 month
247        * Finally fix #127
248        * At last, working content scheduled display and expiration for ContentGroups.  Archiving does not yet have a UI.  Content that expires will simply seem to disapear.
249        * Fix #247 (somebody filed a bug before I commited, conveniently saving me the need to describe it).
250        * The Fix for #106 in [1089] returned non-objects, causing error messages and not displaying what it was meant to display.
251                Used Guest instead of Annonymous, which will probably be used for different purpose in the future.
252                This re-fix does not include duplicate counting yet.  Splash users are not the only users that could log-in multiple times.
253                I don't have a staging server here, a fix will be commited in a few minutes if something goes wrong.
254        * Cleanup coments.
255        * Sync schemas
256
2572006-09-03 Max Horváth <max.horvath@maxspot.de>
258        * The term SPLASH_ONLY_USER displayed to people visiting the portal has been
259          replaced by the more meaningful term "anonymous user" (fixes #106)
260        * When creating a new node and choosing an existing node_id there will be
261          shown an error message (fixes #223)
262        * If one or more nodes aren't monitored they now will be announced on the
263          front page (instead of just showing the number of monitored online nodes)
264          (fixes #100)
265        * Display more meaningful error messages if required user permissions are
266          missing (fixes #242)
267        * Refactored Network->getAdminUI() to match look and feel of
268          Node->getAdminUI (fixes #140)
269        * Show descriptive status of node (fixes #241)
270
2712006-09-02 Max Horváth <max.horvath@maxspot.de>
272        * Installation script checks for PHP session extension (fixes #139)
273        * Removed "Call-time pass-by-reference has been deprecated" warnings
274          (fixes #239)
275        * Revert changes of FCKeditor implementation (fixes #240)
276        * Fix of FCKeditor implementation, now also supports FCKeditor 2.3+
277          (fixes #145)
278        * Hotspots/Nodes are sorted case-insensitive now (fixes #109)
279        * Fix #141
280        * templates/sites/index.tpl: fix wrong user count (fixes #236)
281        * Added more trash mail services to the black list (fixes #149)
282
2832006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
284        * Fix #189, #173
285
286
2872006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
288        * Content.php:  Improve handling of simple but persistent content.
289
2902006-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
291        * Server.php:  Make sure getCurrentServer returns the default server if the
292          hostname isn't recognised.
293        * Content manager:
294                - Allow deleting simple (trivial) but persistent content
295                - Remove the sponsor info field from Content Metadata.  Best practices
296                  is now to use the project info field to show this information.
297        * Add the necessary schema constraints to allow manually deleting networks,
298          nodes and users.  Be carefull, removing any of theses will remove all
299          traces of connection statistics as well.  You've been warned.
300        * Do not display the network in the login interface if there is only one.
301        * Add a pseudo-random content ordering mode.  Pick content elements
302          randomly, but do not display the same content twice untill all content
303          has been seen.
304        * Allow setting a title but not displaying it (very usefull for reusable
305          content)
306
3072006-08-29 Max Horváth <max.horvath@maxspot.de>
308        * Cleaned up PHPdoc tags
309        * Updated german translation
310        * Updated portuguese translation, thanks to Gabriel Hahmann
311        * Added spanish translation, thanks to Ricardo Jose Guevara Ochoa
312
3132006-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
314        * Add SimplePicture content type
315        * Fix #225 (For both nodes and networks)
316
3172006-08-28 Max Horváth <max.horvath@maxspot.de>
318        * Integrated KML node list export
319        * Integrated PDF node list export
320        * Updated Sprintf formatted strings in some Smarty templates
321
3222006-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
323        * clickthrough.php, HyperLink.php:  Implement working hyperlink
324          clickthrough tracking (no reporting yet).
325          Works for Langstring, FlickrPhotoStream, Picture, RssAggregator and their
326          subclasses.
327        * Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
328          line count and will stop the codebases from needlessly drifting apart.
329        * Do not log content displayed as metadata, and log their clickthrough as
330          the parent's.
331
3322006-08-27 François Proulx <francois.proulx@gmail.com>
333        * Updated French translations
334        * Now using Sprintf formatted strings in some Smarty templates (see
335          example in templates/sites/index.tpl).
336        * Integrated back the SQL profiling functions
337
3382006-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
339        * Fix a bug where having an empty username would break statistics.
340
3412006-07-07 Benoit Grégoire  <bock@step.polymtl.ca>
342        * Fix a bug in some reports when selecting a single user.
343
3442006-07-05 Benoit Grégoire  <bock@step.polymtl.ca>
345        * Fix #175.
346        * Fix the "Registration Log" and "User registration report" reports giving
347          incorrect statistics
348        * Allow disabling EventLogging class in config.php, to make SQL debuging
349          possible (The class was traping errors before AbstractDb could
350          output them)
351        * Make EVENT_LOGGING default to false for now, as it turns out EventLogging
352          was the cause of the Spurious PEAR output ("Runtime Notice: ") we've
353          been seeing.  That is probably only because we don't understand how to
354          properly control it's logging level.
355
3562006-06-18 François Proulx <francois.proulx@gmail.com>
357        * Added creation_date , last_update_date support to File content (with
358          proper HTTP caching handling)
359        * Added hyperlinks URL support in Picture content
360        * Fixed constants in Flickr Content
361        * Fixed #171 (Can't add existing content to Node)
362
3632006-06-17 François Proulx <francois.proulx@gmail.com>
364        * First iteration of JiWire CSV export
365                * Use : hotspot_status.php?format=JiWireCSV
366        * Fully working, but Excel doesn't seem to handle well UTF-8
367          investigation in progress.
368
3692006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
370        * Fix #151.  It was still around after all.
371
3722006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
373        * Completely refactor the look and html of the content manager, statistics
374          and most object's administrative interfaces.
375          Should be much simpler and clearer now.
376          No refactoring of the editing flow has been done yet.
377        * Spell check the french translation, and add a few of the missing strings.
378
3792006-05-26 François Proulx <francois.proulx@gmail.com>
380        * Added 'ja' to database locales table
381
3822006-05-26 François Proulx <francois.proulx@gmail.com>
383        * Added Japanese translation .po file
384          (Thanks to taedu AT ninjin-net DOT net)
385
3862006-05-24 François Proulx <francois.proulx@gmail.com>
387        * Stylesheet changes for left_area_bottom content block.
388
3892006-05-24 François Proulx <francois.proulx@gmail.com>
390        * Simplified Google Maps JS code to use more of the v2 abstraction
391        * Improved admin panels CSS classes
392
3932006-05-23 Benoit Grégoire  <bock@step.polymtl.ca>
394        * config.php:  Disable USE_CACHE_LITE, it's definitely not stable, and
395          causes very hard to track down problems with Internet Explorer.
396
3972006-05-22 François Proulx <francois.proulx@gmail.com>
398        * Fixed isValidUsername() Js function to allow caret and dot characters
399
4002006-05-22 François Proulx <francois.proulx@gmail.com>
401        * Use Pgsql persistent connections
402
4032006-05-22 François Proulx <francois.proulx@gmail.com>
404        * Removed unnecessary debug message
405        * Fixed getNumOnlineUsers to count users by MAC on splash only nodes
406
4072006-05-22 François Proulx <francois.proulx@gmail.com>
408        * Added generateFromArray parameter (max_length)
409        * Restricts select content ui combo box to 40 chars
410        * Added Smarty plugin modifier.fsize_format.php
411
4122006-05-21 François Proulx <francois.proulx@gmail.com>
413        * Stupid IE CSS bug fixed
414
4152006-05-21 François Proulx <francois.proulx@gmail.com>
416        * Fixed various bugs in content system
417        * stylesheet work
418
4192006-05-21 François Proulx <francois.proulx@gmail.com>
420        * Think I've fixed Google Maps on IE.
421                * need to test on another system..
422
4232006-05-20 François Proulx <francois.proulx@gmail.com>
424        * Completed french translations
425        * Fixed Flickr javascript
426        * Various stylesheet improvements to tighten up the portal and admin
427
4282006-05-20 François Proulx <francois.proulx@gmail.com>
429        * Various stylesheet improvements, started working on Île Sans Fil network
430          specific theme pack
431        * Fixed a few layout bugs
432
4332006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
434        * USE_BASE_NON_SSL_PATH for hotspot map, else internet explorer whines
435          endlessly
436
4372006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
438        * index.tpl:  Fix link to the map not being displayed at a hotspot, even
439          when you are logged in.  There needs to be much better logick before we
440          export such things to smarty templates.
441
4422006-05-20 François Proulx <francois.proulx@gmail.com>
443        * Added /wifidog/contrib and /wifidog/contrib/xslt directories
444        * Posted Île Sans Fil XSLT example stylesheet for converting the
445          hotspot_status page
446                * Browser view
447                * PDA view (by Jean-Pierre Lessard <jplprog@videotron.ca>)
448                * Simply use in this manner :
449                  http://wifidog-server.org/hotspot_status.php?format=XML&xslt=http://wifidog-server.org/contrib/xslt/hotspot_status_browser.xsl
450
4512006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
452        * page.php:  Fix bugs in various files preventing the system from working
453          from the command line.
454
4552006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
456        * More install script fixes:  Phlickr wouldn't install, and the permissions
457          of wifidog/tmp/smarty/cache weren't checked.
458
4592006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
460        * More stylesheet and HTML work
461
4622006-05-18 Benoit Grégoire  <bock@step.polymtl.ca>
463        * Fix loging form incorrectly attempting to validate the password,
464          preventing many existing accounts from logging-in.
465        * Interim commit, begin simplifying the html ans stylesheets, and re-doing
466          the general look.
467          This is incomplete, this commit was done to fix the problem above.
468        * install.php:  Fix path problems, make shel command errors visible.  Update
469          magpie and smarty url to latest versions (note that this won't
470          automatically update an existing install).  Didn't touch phlickr as I
471          didn't know the implications
472        * Add interactive scripts in sql/ to easily backup and restore a wifidog
473          auth server database.
474
4752006-05-10 François Proulx <francois.proulx@gmail.com>
476        * Fixed Google Maps script path to images.
477
4782006-05-10 François Proulx <francois.proulx@gmail.com>
479        * Added sweetTitles tooltips script, now if you need to add tooltips simply
480          add the 'title' attribute to you html <a>, <attr>, <accroym> tags
481        * Fixed usort bug in MainUI
482        * Fixed download (wget) in install.php
483
4842006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
485        * Working (if slightly basic) theme manager.  You can pick the theme in the
486          network configuration.
487          To add your own theme, read wifidog/media/network_theme_packs/README.txt
488        * Cleanup and document the wifidog directory structure
489        * Minor HTML corrections for content types
490        * Completely rip out the old local_content system, and a bunch of obsolete
491          defines and config variables.
492        * Get rid of PHP generated stylesheets
493
4942006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
495        * Finish content assignation system
496        * Content ordering is now global (network, nodes and everywhere content cand
497          now be in mixed order).
498        * Implement 'everywhere' content
499        * Change MainUI::apendContent to MainUI::addContent
500
5012006-04-28 François Proulx <francois.proulx@gmail.com>
502        * Fixed error in initial data script
503
5042006-04-28 Benoit Grégoire  <bock@step.polymtl.ca>
505        * wifidog/login/index.php: Correctly use DEFAULT_NODE_ID from config.php
506          instead of hardcoded 'default'
507
5082006-04-28 François Proulx <francois.proulx@gmail.com>
509        * Fixed initial_data schema script so that it adds a dummy server.
510
5112006-04-25 François Proulx <francois.proulx@gmail.com>
512        * Updated JavaScript code to work with Google Maps v2 API
513        * v2 will now provide full maps of European countries and is a bit faster
514        * Updated the schema accordingly with new GMaps values
515
5162006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
517        * Dependencies.php:  Small fix in case gettext isn't installed
518
5192006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
520        * AuthenticatorLDAP.php:  Merge patch from jguevara@unitec.edu.  Fixes #125
521
5222006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
523        * Major system locale handling overhaull.  Hopefully abstract out the UTF8
524          problems once and for all, allowing everyone to define them the same way.
525          Fix a few bugs along the way. Should also be a little faster.
526
5272006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
528        * Revert Rob's SYSTEM_PATH change.  Sorry about that.  The devs spent hours
529          to finally get the PATH stuff consistent and fixing the countless bugs
530          that this process introduced.
531          Maybe some links still need to use BASE_URL_PATH instead of BASE_SSL_PATH,
532          (or vice-versa) but it was on purpose that SYSTEM_PATH was not made
533          available to Smarty.
534          We already have 3 defines to be used for links and html refs, that's
535          enough BASE_SSL_PATH should be used to enter SSL mode (if available)
536          BASE_NON_SSL_PATH should be used to break out of SSL mode of when we
537          explicitely do not want someting to be referenced over http
538          BASE_URL_PATH should be used in all other cases to avoid needless
539          SSL warning
540
5412006-04-17 Rob Janes <janes.rob@gmail.com>
542        * javascript for validating and navigating forms.
543        * help text (untranslated).
544        * EVENT_LOGGING enabling/disabling flag.
545        * use SYSTEM_PATH instead of BASE_URL_PATH and BASE_SSL_PATH where ever
546          appropriate.
547        * standardize Smarty variables for Network and User info by adding
548          assignSmartyValues($smarty, $self) to Network and User.
549        * change_password only allowed if logged in.
550        * non-superadmin can only use change_password to change their own password.
551        * superadmin can use change_password to change any user password by
552          entering in their password for the old password.
553        * page_header div defined and positioned in MainUI
554
5552006-04-04 Benoit Grégoire  <bock@step.polymtl.ca>
556        * /classes/Content/IFrame/IFrame.php: Change a few methods from private
557          to protected as the private methods broke IFrameRest
558
5592006-04-01 François Proulx <francois.proulx@gmail.com>
560        * Dumped initial schema from working install
561
5622006-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
563        * dump_initial_data_postgres.sh:  Add the content_available_display_pages
564          table to the dump, can someone re-generate the initial data from a
565          working install
566        * Remove the ?> tags from all the classes.
567
5682006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
569        * Fix bug where right_area_bottom content wouldn't be displayed.
570        * Minor CSS cleanup
571
5722006-03-28 François Proulx <francois.proulx@gmail.com>
573        * Fixed error in initial schema (bad client encoding)
574
5752006-03-28 François Proulx <francois.proulx@gmail.com>
576        * Fixed schema 37 : left_area_top
577        * Updated initial schema
578
5792006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
580        * First step in massive simplification of CSS and templates
581        * Implement the new main CSS structure
582        * Implement working content assignation interface and content ordering for
583          both network and nodes.
584        * Display of content according to assignation work on 'portal' and 'login'.
585          'everywhere' not yet implemented
586        * Get rid of some ISF specific interface elements
587        * Finally replace the overly complicated start button by a
588          "Use the Internet" link that will not get you out of your working tab
589        * Fix #118
590
5912006-03-26 Benoit Grégoire  <bock@step.polymtl.ca>
592        * init_php.php: Fix stripslashes_cb() so it actually works, this means the
593          auth server should work properly with auth servers with magic quotes
594          turned on.
595          This is still not recommended however.
596        * Remove some spurious error ouptut on logout.
597        * Remove potential error in network id parsing
598
5992006-03-22 François Proulx <francois.proulx@gmail.com>
600        * Fixed Google Maps URLs bug
601        * Since Google Maps does not provide Javascript over SSL (it does but the
602          certificate does not match) the code path to the map does not use SSL, but
603          the outgoing URLs do.
604        * Removed lost echo in Locale.php
605
6062006-03-21 Benoit Grégoire  <bock@step.polymtl.ca>
607        * login/index.php: Remove huge security hole introduced by stylistic
608          changes in the file. A user could login to any hotspot by simply filling
609          a blank form because of a gratuitous change from empty to is_null
610          everywhere.  Remove escaping or REQUEST parameters in non SQL
611          related code, as this would lead to double unescaping down the line.
612          Remove logic dependent on encapsulated side effects of object method call.
613
6142006-03-19 François Proulx <francois.proulx@gmail.com>
615        * Updated French translations
616
6172006-03-18 Rob Janes <janes.rob@gmail.com>
618        * path_defines_base working for combinations of DocumentRoot, Alias,
619          and installed wifidog-auth directory, correctly setting SYSTEM_PATH
620          and WIFIDOG_ABS_FILE_PATH dynamically.
621        * classes/Locale.php::getBestLanguage changed to correctly parse
622          HTTP_ACCEPT_LANGUAGE, comma is the correct delimiter not semi-colon.
623          Ignores SESS_LANGUAGE_VAR if invalid.
624
6252006-03-18 Rob Janes <janes.rob@gmail.com>
626        * Fixed bug #77 classes/EventLogging.php non-variable pass by reference
627
6282006-03-16 François Proulx <francois.proulx@gmail.com>
629        * Removed stale owner_sendfiles.php (now integrated in the Content Manager)
630        * Cleaned up a bunch of stale TODOs
631
6322006-03-16 Max Horváth <max.horvath@maxspot.de>
633        * updated language files (new german strings have already been translated)
634        * added LDAP authentication
635        * Dependencies class can check for an PHP extension now
636        * Dependencies class can check for multiple files on a single dependency now
637        * Authentication classes moved to it's own directory
638        * The getAuthenticator method now uses the much safer and faster
639          call_user_func_array function to return an authenticator object
640        * the available authenticator classes are now being displayed in a select
641          box on the network administration page
642        * the link to and the Google hotspots map as is won't be shown to an
643          unauthenticated user at a real hotspot
644
6452006-03-16 Benoit Grégoire  <bock@step.polymtl.ca>
646        * hotspots_map.tpl:  Use base_url_path instead of base_ssl_path
647
6482006-03-09 Benoit Grégoire  <bock@step.polymtl.ca>
649        * init_php.php: Try to fix #102 by inspection
650        * Delete AbstractDbMySql.php, and collapse AbstractDbPostgres.php
651          into AbstractDb.php to prepare for eventual switch to PDO file.
652        * incoming_outgoing_swap.php:  Delete file, closes #85
653
6542006-03-09 Max Horváth <max.horvath@maxspot.de>
655        * fixed small bug in the InterfaceElements class
656        * fixed PHP notices in portal/index.php and Locale class
657        * fixed small bug in Authenticator class which in resulted in a fatal PHP
658          error if a user logged out when his session was already gone
659    * using the {$isUserAtHotspot} smarty variable you can check now in every
660      template if a user calls the portal from a hotspot or not
661
6622006-03-08 Max Horváth <max.horvath@maxspot.de>
663        * fixed small bug where clicking on the start button at the portal page
664          didn't open the wifidog portal, but the requested page
665        * updated source to generate a clean PHPdoc output
666        * updated PHPdoc generating script
667
6682006-03-07 Max Horváth <max.horvath@maxspot.de>
669        * init_php.php now does a 100% strict check for variable types of
670          elements to be processed when magic_quotes are turned on
671        * fixed duplicate use of SSL_AVIABLE define in common.php
672          This fixes ticket #95.
673        * fixed problens with slashes in htospots_map.php
674          This fixes ticket #97.
675        * fixed variable typo in NodeListXML.php
676        * introduced new InterfaceElements class which is being used to create
677          HTML code - this reduces HTML markup in PHP code and reduces HTML errors
678          we had i.e. on the node administration page (unclosed div).
679          It is being used on the node administration page now and will be updated
680          for the other admin pages ...
681        * when adding an owner or tech officer on the node admin page and pressing
682          enter in the input field the statistics where called (no owner or tech
683          officer was added) - this has been fixed
684        * database schema update 35 wasn't compatible with PostgreSQL version 7,
685          the update script has been changed to be compatible with it ...
686          This fixes ticket #94.
687        * Gabriel Hahmann did a translation of WiFiDog-Auth in portuguese ... it has
688          been included
689          This fixes ticket #98.
690        * on node administration page owners have less rights than admins
691
6922006-03-02 Max Horváth <max.horvath@maxspot.de>
693        * converted PNGs to GIFs because Internet Explorer cannot handle alpha
694          transparency of PNGs
695
6962006-02-28 Max Horváth <max.horvath@maxspot.de>
697        * the content selector for an owner could produce notices
698        * the button add existing content in the content manager will only be shown
699          if content is actually available
700        * the start button on the portal page won't be shown anymore if a user
701          didn't access it from a WiFiDog hotspot
702        * deleted wifidog/templates/message_unknown_hotspot.html as this error
703          message will be displayed using the genecir error message template
704        * display of generic error messages will be handled by the MainUI class
705        * deleted wifidog/portal/missing_original_url.php as its functions is being
706          handled by wifidog/portal/index.php now
707        * deleted wifidog/templates/message_default.html as its functions is being
708          handled by wifidog/gw_message.php now
709        * deleted wifidog/templates/message_activate.html as its functions is being
710          handled by wifidog/gw_message.php now
711        * account validation hints finally show the real validation grace time
712          (used to display 15 minutes)
713        * deleted wifidog/templates/message_denied.html as its functions is being
714          handled by wifidog/gw_message.php now
715        * deleted wifidog/templates/message_failed_validation.html as its functions
716          is being handled by wifidog/gw_message.php now
717        * deleted wifidog/templates/user_management_menu.html as its not being
718          used anymore
719        * deleted wifidog/local_content/default/footer.html as its not being
720          used anymore
721        * deleted wifidog/local_content/default/header.html as its not being
722          used anymore
723        * deleted wifidog/local_content/default/portal.html as its not being
724          used anymore
725        * deleted wifidog/local_content/default/new.css as its wasn't ever used
726        * deleted wifidog/local_content/README as its content isn't valid anymore
727          used anymore
728        * Login site now uses a Smarty template to render HTML page
729        * class MainUI now also delivers $isOwner variable for Smarty
730
7312006-02-26 Max Horváth <max.horvath@maxspot.de>
732        * Hotspots map page now uses a direct Javascript call for the link
733          "Show me on the map" (resulting in the browser not jumping to the top of
734          the page if a user clicks on such a link)
735        * refactored hotspot status page, it now uses node list classes to generate
736          output
737        * WIFI411_CSV has been removed from hotspot status page - it didn't work
738          properly - a working version can be added to /wifidog/classes/NodeLists
739        * RSS feed of hotspot status now delivers language of user
740        * RSS and XML feed of hotspot status now actually do deliver data from
741          the requested network (before the code accepted network selection but
742          actually switched back to the current network)
743        * RSS feed of hotspot status page now gets announced in browser
744
7452006-02-25 Max Horváth <max.horvath@maxspot.de>
746        * fixed undefined variable bugs in statistic classes (use of date_from and
747          date_to), variables were processed directly from request, without any
748          check
749          This fixes ticket #71.
750        * clicking on a username in user logs now generates a individual user
751          report as it does when clicking on a username on the online users page
752        * Changing the value of the "Is persistent" checkbox doesn't have to
753          saved when JavaScript is enabled in the browser. Before this change
754          you had to save a content. So if you wanted to delete a persistant content
755          you first had to uncheck this checkbox, save the content and delete the
756          content after saving it. If JavaScript is enabled in your browser you
757          can go straight ahead, uncheck the checkbox and delete the content.
758          This fixes ticket #73.
759        * when processing global arrays if magic quotes is enabled, WiFiDog will
760          check for type variables
761          This fixes ticket #84.
762        * the RSS feed of nodes now delivers the correct link to the nodes homepage
763          This fixes ticket #80.
764        * small fix in schema_validate.php which should affect nobody (in schema
765          version 9)
766          This fixes ticket #79.
767        * fixed "Show all available contents for this hotspot" link which didn't
768          work if WiFiDog wasn't located in the root folder of the webserver
769        * the "Show all available contents for this hotspot" link won't be shown
770          anymore unless all requirements are meet that all content of a hotspot
771          would be shown. The requirements are: you need to have at least one
772          Content Group tagged artistic and locative content, with at least one
773          content group element available for display.
774          This fixes ticket #35.
775        * adjusting the location of a node via the Google maps geocoding service)
776          and clicking the button "Use these coordinates" didn't work
777          This fixes ticket #81 and #82.
778        * the content select box now only shows the content to a user of which is
779          is the owner from (same mechanism has already been used on the content
780          manager page) or all content if the user is a superadmin
781        * wifidog/admin/content_admin.php removed, because the content manager now
782          uses the generic object administration interface
783        * the creation date of a network can be changed now (this value wasn't
784          displayed in the admin interface, even though it was present in the
785          database)
786        * revamped administration sidebar, cleaner interface for the superadmin,
787          for the owner of a node nothing changes
788        * added "server administration" section to the administration interface
789        * Added administration of webservers. For one webserver not much changes.
790          The SSL available setting has been moved to this section (and removed
791          from config.php). Running WiFiDog on two or more webserver (with one
792          database) you now can define the different hostnames of the webserver.
793          Of course you can also define, which of those webserver serves SSL. This
794          is for example essential for the Google maps feature (different API keys
795          for different hostnames)
796        * for every network you now can define it's own Google Map initial values
797          and map types
798        * Hotspots map page now supports different maps for different networks
799        * Hotspots map page now supports different map types for different networks
800          This fixes ticket #69
801        * Hotspots map page now offers full multilingual support (text in the
802          JavaScript file was english only)
803        * Hotspots map page now uses a Smarty template to render HTML page
804
8052006-02-21 Max Horváth <max.horvath@maxspot.de>
806        * fixed access restriction for HTMLeditor in templates folder
807        * fixed XML error in HTMLeditors CSS and HTML templates
808        * fixed undefined variable bug in content class ContenGroup
809        * start page now uses a Smarty template to render HTML page
810        * start page now also displays information about deployed/operational nodes
811        * information about valid/online users and deployed/operational nodes gets
812          cached if caching has been enabled (valid/online users for 1 minute,
813          deployed/operational nodes for 5 minutes)
814
8152006-02-17 Max Horváth <max.horvath@maxspot.de>
816        * refactored lost username site - now it also includes the help toolbox
817        * lost username page now focuses input field automaticly (like on login or
818          signup page)
819        * refactored lost password site - now it also includes the help toolbox
820        * lost password page now focuses input field automaticly (like on login or
821          signup page)
822        * refactored sesend validation email site - now it also includes the help
823          toolbox
824        * refactored resend validation email page now focuses input field
825          automaticly (like on login or signup page)
826
8272006-02-16 Max Horváth <max.horvath@maxspot.de>
828    * added full PHPdoc documentation to Mail class
829    * added more temporary-email-address-providers to the black-list
830        * Login site now uses a Smarty template to render HTML page
831        * refactored signup site - now it also includes the help toolbox
832        * removed Phlickr directory in /lib dir as Phlickr must be installed via
833          PEAR
834        * modified gen.sh to include new template folders for the
835          translation file generation
836
8372006-02-15 Max Horváth <max.horvath@maxspot.de>
838        * Login site now uses a Smarty template to render HTML page
839
8402006-02-14 Max Horváth <max.horvath@maxspot.de>
841        * converted Session class to PHP5 style
842        * moved code used used to init PHP into wifidog/include/init_php.php
843        * fixed bug regarding APC (super globals weren't initialized before their
844          first use
845        * in an attemp to enter the administration interface of WiFiDog and not
846          being logged in you'll be redirected to the administration interface after
847          a successful login, if you are an admin or owner of a node. This only
848          works for a virtual login, as it isn't needed to be done when logging in
849          via a WiFiDog node (then you have to login anyway on the splash page
850          first)
851        * fixed preview of network in administration interface as content for a
852          network as is isn't available in the code, yet
853
8542006-02-13 Rob Janes <janes.rob@gmail.com>
855    * cron/cleanup.php needed new way to call common.php
856        * added cron/vacuum.php to round things out
857
8582006-02-07 Benoit Grégoire  <bock@step.polymtl.ca>
859        * Fix a bunch of file inclusion bugs in the statistics subsystem.
860          This is only a ad-hac fix. It seems the requires for just about every
861          class have been stripped off. This must be fixed, all classes should
862          require_once all classes or include that they need that isn't included by
863          a parent class.
864
8652006-02-06 Benoit Grégoire  <bock@step.polymtl.ca>
866        * wifidog/local_content/default/hotspot_logo.jpg: Delete deprecated file
867        * wifidog/local_content/default/hotspot_logo_banner.jpg: Delete deprecated
868          file
869
8702006-02-04 Max Horváth <max.horvath@maxspot.de>
871        * MainUI class now uses Smarty templates to render HTML pages
872        * display of debug messages by using $_REQUEST['debug_request'] on any
873          page is now only possible for a super admin
874        * caching class now supports lifetime of a cache and every data type
875          supported by PHP (except the resource-type)
876        * Content class caches available content plugins for 7 days if caching has
877          been enabled -> results in a nice speed-up on every page call because
878          of 17 saved filesystem queries
879        * converted Security class to PHP5 style and it's functions to static
880          functions
881        * fixed broken HTMLeditor support
882        * implemented PEAR::HTML_Safe cache support - if PEAR::HTML_Safe has been
883          installed it strips down all potentially dangerous content within HTML
884          that has been entered using the content plugins Langstring,
885          TrivialLangstring and HTMLeditor
886        * moved /wifidog/include/HTMLeditor to /wifidog/content/HTMLeditor
887        * fixed thrown exception in path_defines_base.php (sprintf() was used
888          uncorrectly)
889        * template for definition of SYSTEM_PATH has been added to config.php
890          for easier definiton when path detection failes
891        * from now on caching is enabled by default in config.php - it means that
892          WiFiDog caching features will automaticly be used if PEAR::Cache_Lite
893          has been installed
894        * updated installation file to represent all the new modules that can be
895          installed to use all WiFiDog features
896
8972006-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
898        * path_defines_base.php:  Fix syntax errors in the exception thrown. Add
899          more meaningfull output
900
9012006-01-29 Max Horváth <max.horvath@maxspot.de>
902        * WiFiDog now detects APC PHP cache and eAccelerator PHP cache and disables
903          both PHP caches, because WiFiDog currently doesn't run with either of
904          those PHP caches (I'm still investigating why)
905        * added a missing <ul> HTML tag on the administration page
906        * the validation mail sent to new users now includes the full path to the
907          WiFiDog installation (before it assumed WiFiDog to be installed in
908          the document root of the webserver)
909        * fixed display of start button of portal when WiFiDog is not installed
910          in the document root of the webserver
911        * replaced $_SERVER["DOCUMENT_ROOT"]-stuff with our defines made in
912          path_defines_base.php
913        * updated HTMLeditor content class to use the new, moved stylesheet.css
914        * fixed error messages not displaying technical support e-mail address
915
9162006-01-25 Max Horváth <max.horvath@maxspot.de>
917        * a notice message regarding timezones was being displayed when running PHP
918          5.1.0+ due to rewritten date functions of PHP. There is a new config flag
919          in config.php named DATE_TIMEZONE. Set it to your local timezone.
920          Don't forget to update your local.config.php in case you're using it.
921
9222006-01-24 Benoit Grégoire  <bock@step.polymtl.ca>
923        * Dependencies.php:  We missed one more instance of non-unifrom code for
924          path detection. The Dependencies class now uses the code in
925          include/path_defines_base.php like the rest of the system. Also make it
926          returns more usefull error messages.
927        * SmartyWifidog.php: Output the error returned by Dependencies if Smarty
928      cannot be found for some reason.
929
9302006-01-23 Max Horváth <max.horvath@maxspot.de>
931        * Removed compiled PHPdoc documentation
932        * moved createDoc.sh to "doc" directory, documentation can be generated on
933          the fly now, in the future we'll be generating a nightly PHPdoc on
934          wifidog.org
935        * renamed "ChangeLog" to CHANGELOG, resulting this file being parsed by
936          PHPdoc
937        * moved "header.gif" image to its own folder in the images directory
938        * touched almost every PHP file in WiFiDog auth server for PHPdoc generating
939          compiling without any warnings
940        * Initialized uninitialized variables in Node class
941        * Fixed initialization error of one variable
942        * Configuration file (config.php) will be read before path detection is
943          being started (otherwise there was no chance to set a manual SYSTEM_PATH)
944
9452006-01-22 Benoit Grégoire  <bock@step.polymtl.ca>
946        * common.php: Real fix for Ticket #59 ;)
947        * common.php: Untested fix for Ticket #59
948
9492006-01-18 François Proulx <francois.proulx@gmail.com>
950        * Remove unneeded .cvsignore files since the svn:ignore property is set to
951          the same list
952
9532006-01-11 Rob Janes <janes.rob@gmail.com>
954    * classes/User.php: added setters, getters, throw exceptions, added
955      refresh() subr, tweaked language
956
9572006-01-09 Max Horváth <max.horvath@maxspot.de>
958        * createDoc.sh: added description of how to install requirements
959
9602006-01-08 Benoit Grégoire  <bock@step.polymtl.ca>
961        * common.php: Improve path detection code, and start moving PATH detection
962          back to a central location. You should NEVER go to any $_SERVER[]
963          variables for path related stuff, all you need is already available
964          in defines.
965        * UserReport.php: Remove dangling reference to BASEPATH.
966        * install.php: Use centralised path detection.
967
9682006-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
969        * config.php, common.php: Completely remove SYSTEM_PATH from config.php,
970          making one less config option to manage.  It is now autodetected.
971
9722006-01-03 Rob Janes <janes.rob@gmail.com>
973        * added support for classes/EventLogging.php.
974        * modified include/common.php to pull in the EventLogging class
975        * modified index.php to kick start error logging with minimal setup.
976          I didn't setup a css for this, so any errors are simply pushed out
977          when the logging channel is destructed.
978        * other changes to include/common.php - a host of utility functions,
979          prefixed with "cmn" to avoid namespace collision.
980        * stock config.php, added global $AVAIL_LOCALE_ARRAY, cause of my change
981          to include/common.php, wrapping the require_once in a function.
982
9832006-01-04 Pascal Leclerc <isf@plec.ca>
984    * install.php: New security validation and small bugs fix in admin account
985      creation
986
9872006-01-02 Rob Janes <janes.rob@gmail.com>
988        * split static stylesheet.css from smarty template stuff.
989          local_content/default/stylesheet.css has only smarty template stuff.
990          local_content/common/stylesheet.css has all the rest.
991        * classes/MainUI.php changed to <link ...> the common stylesheet.css, while
992          still smarty fetching the templated stylesheet.
993        * classes/SmartyWifidog.php changed to set a smarty template variable so
994          that the templating stylesheet could work.
995
9962005-12-29 François Proulx <francois.proulx@gmail.com>
997        * Integrating Philippe's code for User class
998        * This build needs extensive testing please
999        * E-mail blacklisting (Mail class)
1000
10012005-12-29 François Proulx <francois.proulx@gmail.com>
1002        * Added Aidan's file_exists_incpath function to Dependencies class
1003        * Translated and standardized most of PostgreSQL abstraction class.
1004        * Removed blank lines at end of many files
1005        * Tested the new Phlickr package, which fixes URL on Flickr
1006
10072005-12-28 Max Horváth <max.horvath@maxspot.de>
1008        * Removed BASEPATH define from source - resulting in a better
1009          require-overview
1010        * speed improvement of 7% by optimizing Dependencies class
1011        * improved documentation of content classes
1012
10132005-12-26 François Proulx <francois.proulx@gmail.com>
1014        * Fixed bug when the same user was owner of many nodes
1015        * Added missing reference to content_display_location initial data in dump
1016          script
1017
10182005-12-26 François Proulx <francois.proulx@gmail.com>
1019        * Tiny modifications to config.php
1020        * Reinserted the deprecated defines, created errors on my system
1021        * Fully translated FormSelectGenerator class, Locale
1022        * Added comments to Utils, Locale etc..
1023        * Fully tested installation from scratch using blank database with
1024          installation script
1025        * Improved installation script a bit
1026        * Synched SQL for CVS schema 29 --> 33
1027
10282005-12-26 Max Horváth <max.horvath@maxspot.de>
1029        * added new headers to every source file
1030        * converted file to represent a tab as four (4) spaces
1031        * added PhpDocumentor documentation
1032        * added WiFiDog skin to HTMLeditor
1033        * language selection in a content class now shows the language name instead
1034          of the language code
1035        * added caching support to content classes Langstring and TrivialLangstring
1036
10372005-12-15 Max Horváth <max.horvath@maxspot.de>
1038        * fixed bug in dependencies class when gettext support for PHP is not
1039          available
1040
10412005-12-14 Max Horváth <max.horvath@maxspot.de>
1042        * fixed bug in config.php:59 ... was unable to select DB server
1043
10442005-12-08 Max Horváth <max.horvath@maxspot.de>
1045        * added FCKeditor to the supported libraries
1046        * added new content type: HTMLeditor
1047        * added new caching class which uses PEAR::Cache_Lite - must be enabled in
1048          config.php
1049        * HTMLeditor is the first class using the new caching class
1050        * removed unused function from content type Langstring
1051        * beautified and reorganized config.php and added a new switch for the
1052          caching class
1053
10542005-12-06 Max Horváth <max.horvath@maxspot.de>
1055        * fixed SQL bug when calling the "report configuration" page as a node owner
1056
10572005-12-05 François Proulx <francois.proulx@gmail.com>
1058        * Crunched the Google Maps Div block for better display on small screens
1059
10602005-12-05 Max Horváth <max.horvath@maxspot.de>
1061        * fixed bug when calling the preview version of a login page
1062
10632005-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
1064        * User.php: Fix a bug in the sql query in isUserValid(). Checked that the
1065          change works with postgresql 7.4 and 8. It is still not understood why
1066          ISF doesn't encounter this bug on it's production server.
1067
10682005-11-28 François Proulx <francois.proulx@gmail.com>
1069        * Improved Flickr user output
1070        * Mostly completed Flickr admin UI
1071        * Changed display algorithm to display sequentially
1072
10732005-11-25 Rob Janes <janes.rob@gmail.com>
1074        * EventLogging class initial checkin
1075
10762005-11-14 Max Horváth <max.horvath@maxspot.de>
1077        * fixed path to included classes
1078          Guys, please check the paths to included files twice next time you're
1079          moving files
1080
10812005-11-12 François Proulx <francois.proulx@gmail.com>
1082        * Fixed schema 33 update
1083        * fixed css
1084
10852005-11-11 François Proulx <francois.proulx@gmail.com>
1086        * Fixed Admin hotspot location map
1087        * Take note: Google Maps updated their API key system, so that you simply
1088          need to register a key for the whole domain.
1089          ie. one key for http://auth.abc.org will work even in sub-directories
1090        * Changed the Content classes structure to make them "pluggable" more easily
1091          as requested during last developpers meeting
1092        * node_list.php now support column sorting, node_id are naturally sorted
1093          (numerical order, alphabetic)
1094        * Added 2-dimensionnal natural sort algorithm to Utils class
1095        * fixed Node::getSelectNodeUI to naturally sort by node_id
1096        * Improved Flickr content class
1097        * Modified Flickr database schema
1098        * Modified CSS look and feel
1099
11002005-11-08 Philippe April  <philippe@ilesansfil.org>
1101        * Put a note to mention the roles of users in the logged in users list
1102        * Fixed online users link to statistics
1103
11042005-11-01 Max Horváth <max.horvath@maxspot.de>
1105        * added german translation
1106        * modified gen.sh to include geocoder and statistics classes for the
1107          translation file generation
1108        * modified hotspot status page to allow translations of every string
1109        * modified node list page to allow translations of every string
1110        * modified FAQ page to allow translations of every string
1111        * fixed bug in FAQ page which caused the Safari browser to display very
1112          large text
1113        * modified online users page in administration to allow translations of
1114          every string
1115        * added Phlickr directory to /lib
1116
11172005-10-25 Francois Proulx <francois.proulx@gmail.com>
1118        * /classes/DateTime.php : First iteration of DateTime abstraction class
1119        * Basic support for datetime input field.
1120        * TODO : Overhaul with full-fledged datetime selector...
1121
11222005-10-25 Francois Proulx <francois.proulx@gmail.com>
1123        * AuthenticatorRadius : Fixed legacy variable misuse
1124
11252005-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
1126        * AuthenticatorRadius:  Fix bug reported by kouete, by inspection. Fix not
1127          actually tested. Guys, read the documentation of the function parameters
1128          when you code, it's there to help you ;)
1129
11302005-10-21 Francois Proulx <francois.proulx@gmail.com>
1131        * Integration testing for Radius debugging
1132        * Added network_id parameter to hotspot_status.php for selecting network
1133        * Default network will be automatically selected...
1134
11352005-10-04 Francois Proulx <francois.proulx@gmail.com>
1136        * Scaled down network logo
1137        * Changed CSS accordingly
1138        * Modified online users SQL query to sort better
1139
11402005-10-04 Francois Proulx <francois.proulx@gmail.com>
1141        * Removed unwanted file from checkout
1142
11432005-10-07 Philippe April  <philippe@ilesansfil.org>
1144        * Released wifidog-auth-1.0.0_m2
1145
11462005-10-06 Benoit Grégoire  <bock@step.polymtl.ca>
1147        * AuthenticatorLocalUserNoSignup:  Make a new authenticator, identical to
1148          AuthenticatorLocalUser but disalowing new user signup.  When setting up
1149          a server, you can add your users, and then change the authenticator class
1150          from AuthenticatorLocalUser to AuthenticatorLocalUserNoSignup
1151        * signup.php: Actually enforce it. Still needs improvement, as the network
1152          is still shown for signing up.
1153
11542005-10-04 Francois Proulx <francois.proulx@gmail.com>
1155        * Translated some error message in SQL abstraction
1156        * Cleaned up error messages when starting from scratch
1157        * Added link to install script, when the database is empty.
1158        * Fixed initial data dump script
1159
11602005-10-04 Benoit Grégoire  <bock@step.polymtl.ca>
1161        * Remove a bunch of deprecated methods from the Node object,
1162          document undocumented methods.
1163        * Make the node id editable.  This allows the gateway "MAC address as node
1164          ID" patch by London wireless to be usable with the standard auth server,
1165          and to transition to using MAC address as node ID.
1166        * Fix a saving problem with all the content types with some versions of PHP
1167        * Add a new Content type:  IFrameRest.  This allows the result of a REST
1168          style query returning HTML to be displayed in a HTML iframeset. Currently
1169          supported are substitution of the node_id, the user_id and the last
1170          display date in the get query.
1171        * CVS version of the auth server should now be "reasonnably" safe to use in
1172          production, so the 2005-09-01 notice is no longuer in effect.
1173
11742005-10-04 Francois Proulx <francois.proulx@gmail.com>
1175        * Translated signup page messages
1176
11772005-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1178        * Partial login page content manager support (Node only for now)
1179
11802005-09-27 Philippe April  <philippe@ilesansfil.org>
1181        * Guess the best language from what the browser sends,
1182          otherwise use the default.
1183
11842005-09-26 Francois Proulx <francois.proulx@gmail.com>
1185        * Translated the few new sentences on the login page
1186
11872005-09-26 Benoit Grégoire  <bock@step.polymtl.ca>
1188        * login/index.php, stylesheet.css:  Make the create new account bigger, and
1189          remove unnecessary words.
1190
11912005-09-26 Francois Proulx <francois.proulx@gmail.com>
1192        * Completed translations
1193
11942005-09-26 Francois Proulx <francois.proulx@gmail.com>
1195        * Fixed annoying bug in new google maps code
1196
11972005-09-25 Francois Proulx <francois.proulx@gmail.com>
1198        * Complete rewrite of Google maps code, now stands as a js class
1199        * relooking of mapping stuff
1200        * wrote basic "Find the closest hotspot" widget for canada geocoding only...
1201        * fixed broken xml, damn blank lines...
1202
12032005-09-25 Benoit Grégoire  <bock@step.polymtl.ca>
1204        * Statistics:  At long last, the monster statistics commit.
1205          We finally have a stable, documented and uniform codebase for statistics.
1206          This resulted is removal of several functions in other classes too.
1207          There are a few new reports, but mostly, each report is a lot more
1208          flexible.
1209          Still TODO:
1210          - Security:  This is to be implemented directly in the Statistics class,
1211            by forcing restrictions to the selected nodes and network.
1212          - Support selecting multiple users for a report.
1213            The code and SQL queries support it, but the UI doesn't. An easy and
1214            quick way would be to simply parse a coma-separated list. Comment are
1215            off course welcome!
1216
12172005-09-25 Francois Proulx <francois.proulx@gmail.com>
1218        * Updated initial SQL script to schema 29
1219        * Remove useless includes in some files, preventing from using the "plugin"
1220          contents
1221
12222005-09-25 Philippe April  <philippe@ilesansfil.org>
1223        * Make method getCurrentRealNode ORDER BY DESC so it picks
1224          up the latest network name
1225
12262005-09-20 Francois Proulx <francois.proulx@gmail.com>
1227        * Changed the output layout of the Google Maps hotspots list
1228        * Added "Loading" message on Google Maps
1229
12302005-09-17 Francois Proulx <francois.proulx@gmail.com>
1231        * Fixed forgotten reference to getNetwork in AuthLocalUser
1232
12332005-09-17 Francois Proulx <francois.proulx@gmail.com>
1234        * Fixed a few bugs in Radius class
1235        * Improved syntax and completed 100% of French translations
1236
12372005-09-17 Francois Proulx <francois.proulx@gmail.com>
1238        * Fixed RADIUS bug #1287000
1239
12402005-09-16 Francois Proulx <francois.proulx@gmail.com>
1241        * Added Mail Classes to circumvent mb_send_mail UTF-8 problems
1242        * This class provides UTF-8 mailing for validation e-mail, lost password,
1243          lost username...
1244        * Fixes reported bug where users would not receive validation email on
1245          some servers
1246
12472005-09-13 Francois Proulx <francois.proulx@gmail.com>
1248        * Added bytes in words for online users
1249
12502005-09-13 Francois Proulx <francois.proulx@gmail.com>
1251        * Fixed bug in user stats
1252
12532005-09-13 Francois Proulx <francois.proulx@gmail.com>
1254        * Added access permissions for statistics.
1255
12562005-09-12 Benoit Grégoire  <bock@step.polymtl.ca>
1257        * schema_validate.php:  Fix a bug version 26.  The conversion of the old
1258          account_origin as a parameter to the authenticator was wrong.  To fix it
1259          manually if you already ran the script, you must quote the parameter in
1260          column network_authenticator_params in the networks table.
1261        * Network.php:  Fix improper quoting of Authenticator arguments.
1262        * RssPressReview.php:  Make expansion of today's item optionnal.
1263
12642005-09-11 Francois Proulx <francois.proulx@gmail.com>
1265        * Fixed dependency check, found a workaround for the file_exists problem
1266
12672005-09-11 Francois Proulx <francois.proulx@gmail.com>
1268        * Added dependency check for Phlickr
1269
12702005-09-11 Francois Proulx <francois.proulx@gmail.com>
1271        * Fixed Flickr support
1272        * Now using PEAR version of Phlickr
1273        * Download the latest package and install like this: pear install
1274          PhlickrXYZ.tar.gz
1275
12762005-09-10 Francois Proulx <francois.proulx@gmail.com>
1277        * Fixed dependency check
1278
12792005-09-10 Francois Proulx <francois.proulx@gmail.com>
1280        * Removed many blank lines after php tags
1281        * added more checks, for dates etc...
1282        * changed sorting mode
1283
12842005-09-10 Benoit Grégoire  <bock@step.polymtl.ca>
1285        * Add UI to add a new Network
1286        * Improve UI to add a new Node and new Content
1287
12882005-09-10 Philippe April  <philippe@ilesansfil.org>
1289        * signup.php: Fixed bug in detecting is the user is already part of the
1290          network.
1291        * classes/{Authenticator,Network,Node}.php: isset, and issues preventing
1292          users from logging out.
1293        * add BASEPATH to most files with require_once
1294        * Added dependency checking class
1295        * Don't show the admin menu if user does not have access
1296        * Got rid of user_log_detailed.html, using stats.php instead
1297
12982005-09-10 Francois Proulx <francois.proulx@gmail.com>
1299        * Automatically redirect user to login form when trying to access admin
1300        * Added various isset, empty tests, vars init in stats (to avoid PHP
1301          warning)
1302
13032005-09-08 Philippe April  <philippe@ilesansfil.org>
1304        * New stats system with graphs
1305        * Changed the UI a bit to reflect this change
1306        * Updated stylesheet
1307
13082005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1309        * portal/index.php:  Custom portal redirect now operational.
1310
13112005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1312        * MainUI:  Move call to garbage_collect() here.
1313        * portal/index.php:  New feature:  Custom portal redirect.
1314        * rework much of the logout code
1315
13162005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1317        * login/index.php:  Fix getSplashOnlyUser() method call.
1318
13192005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1320        * RssPressReview.php:  Fix z-index so the hovers will overlap the expanded
1321          news.
1322        * login/index.php:  Reorganise code to make it more legible and comment what
1323          it does. Emphasise error messages and put them right above where they
1324          clicked so users can actually see them.
1325        * Security.php:  Remove deprecated login code
1326        * Authenticator.php: Change calling convention for better encapsulation
1327        * New feature:  Support multiple simultaneous logins if enabled in network
1328          configuration
1329        * New feature (in testing): Splash-only node support
1330
13312005-09-05 Benoit Grégoire  <bock@step.polymtl.ca>
1332        * include/common.php:  Add code to undo the effect of magic_quote if enabled
1333          in the server config.  It is still strongly recommended to disable
1334          magic_quote
1335        * Node.php:  Add UI for splash only node and custom portal
1336        * Update schema
1337
13382005-09-04 Francois Proulx <francois.proulx@gmail.com>
1339        * Removed update.php script ( should not have been in CVS )
1340        * Moved authenticator require in Network getAuthenticator()
1341
13422005-09-03 Philippe April  <philippe@ilesansfil.org>
1343        * Schema change: Added last_paged column to nodes table
1344        * Replaced HOTSPOT_NETWORK_NAME with hotspot_network_name in all templates
1345        * s/Networt/Network/
1346        * Fixed signing up and validation, typos
1347
13482005-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
1349        WARNING:  DO NOT use the CVS auth server in production until further notice.
1350        Massive internal changes are underway.
1351        Use the release tagged 1.0m1 in production.
1352        * Network abstraction mostly complete, including UI.
1353          All that is missing is new network creation, network stakeholder UI and
1354          testing.
1355        * Cleanup the config file of all the now unneeded constants.
1356          Note that the install script is currently broken.
1357          There can now be multiple networks on the server.
1358          The install script will have to make sure that there is at least one, with
1359          one super-admin
1360
13612005-08-31 Francois Proulx <francois.proulx@gmail.com>
1362        * Fixed bug where node ID containing periods, whitespaces or underscores
1363          would confuse PHP
1364        * MD5 hash is used to make sur the http vars are unique
1365        * This is only valid for Node administration
1366
1367NOTE:  the 1.0m1 release was tagged here
1368
13692005-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1370        * Node.php:  Fix node creation
1371
13722005-08-31 Francois Proulx <francois.proulx@gmail.com>
1373        * Fixed new node creation bug
1374
13752005-08-29 Philippe April <philippe@ilesansfil.org>
1376        * js/gmaps_hotspots_status_map.js: Fixed small bug in that makes prevents
1377          IE to see the map properly.
1378
13792005-08-22 Pascal Leclerc  <pascal@plec.ca>
1380        * install.php, Change javascript to OnClick + dependencie note
1381        * schema_validate.php, Fix broken DB update for install.php
1382        * SmartyWifidog.php, Add automatic redirect to install.php if Smarty not
1383          installed
1384
13852005-08-22 Francois Proulx <francois.proulx@gmail.com>
1386        * Added edit button for quickly accessing Content editing mode
1387        * Changed the layout so the admin ui fits in a tighter space
1388
13892005-08-21 Francois Proulx <francois.proulx@gmail.com>
1390        * Added reference to new street address fields in mapping page and on status
1391          template
1392        * Fix bug on line 756 of RssPressReview , added check for empty var.
1393        * Flickr support is broken, added  bug to sf.net tracker
1394
13952005-08-21 Francois Proulx <francois.proulx@gmail.com>
1396        * Node admin UI should now be completed.
1397        * Minor bug fixes in Geocoder
1398        * Merged node_owners and node_tech_officers table into node_stakeholders
1399
14002005-08-19 Benoit Grégoire  <bock@step.polymtl.ca>
1401        * New schema version
1402        * install.php, tmp/magpie_cache/:  Move all magpie caches
1403          to a central location, adjust install script to match.
1404        * classes/MainUI.php:  Add $_REQUEST array output if debug_request is set as
1405          a parameter to the page
1406        * classes/Network.php, classes/Node.php:  Change content ordering to be most
1407          recently subscribed first, this is a stopgap measure while waiting for
1408          Content ordering to be explicitely settable.
1409        * classes/Content/RssAggregator.php:  Full admin UI, some bug fixes
1410        * lib/RssPressReview/RssPressReview.php: New version, adds isFeedAvailable()
1411          and getFeedTitle() methods.
1412          Fixes minor bugs
1413
14142005-08-17 Pascal Leclerc  <pascal@plec.ca>
1415    * Added install script + minor changes in schema_validate.php
1416
14172005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1418        * Re-Run sync_sql_for_cvs.sh, did not run to completion last time.
1419
14202005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1421        * Run sync_sql_for_cvs.sh
1422        * sql/dump_initial_data_postgres.sh:  Fix a hardcoded reference to rss_url
1423          which no longer exists
1424        * .project:  Remove mistakenly commited file in last commit
1425        * .cvsignore:  Add file to avoid previous error
1426
14272005-08-12 Francois Proulx <francois.proulx@gmail.com>
1428        * Added missing GisPoint fille to CVS
1429        * Fixed some bugs
1430        * Added Technical officer table
1431        * Added technical officer management to node UI
1432
14332005-08-12 Francois Proulx <francois.proulx@gmail.com>
1434        * Changed config.php GMAPS_API_KEY to GMAPS_PUBLIC_API_KEY
1435        * Added GMAPS_ADMIN_API_KEY, needed for admin UI
1436        * This is a stupid limitation of the Google Maps API which matches the
1437          complete URL path
1438        * Added /classes/GisPoint.php class
1439        * Will add geocode + Google Maps capabilities very soon
1440        * Notice : the XML schema will change very soon...
1441        * I will try to keep the streetAddress field intact so I won't break
1442          backward compat.
1443
14442005-08-12 Benoit Grégoire  <bock@step.polymtl.ca>
1445        * classes/MainUI.php: Move the call to schema_validate() in MainUI's
1446          constructor
1447        * lib/RssPressReview/RssPressReview.php: Finish rewrite. Move there to
1448          reflect it's independently maintained status
1449        * wifidog/classes/Content/HotspotRss.php:  Delete the class, obsolete
1450        * wifidog/classes/Content/RssAggregator.php:  Functionnal, but needs it's
1451          admin UI written.
1452        * wifidog/include/schema_validate.php:  Create the table structure for the
1453          new RssAggregator.
1454          Remove rss_url in nodes table, no longer needed.  Move it's data to the
1455          new Content class.
1456
14572005-08-11 Francois Proulx <francois.proulx@gmail.com>
1458        * Refactored the Admin UI.
1459        * I need to write the upload form and rewrite statistics
1460
14612005-08-10 Francois Proulx <francois.proulx@gmail.com>
1462        * More GIS stuff
1463
14642005-08-10 Francois Proulx <francois.proulx@gmail.com>
1465        * Added Geocoders
1466          - /classes/AbstractGeocoder.php
1467          - /classes/Geocoders/GeocoderCanada.php
1468          - /classes/Geocoders/GeocoderUsa.php
1469        * This will be used for enterring GIS data
1470        * Coming in the next few days: set hotspot gis using Google Maps + Geocoding
1471
14722005-01-25 Pascal Leclerc  <pascal@plec.ca>
1473        * Fix hardcoded images path in classes/MainUI.php
1474
14752005-07-25 Francois Proulx <francois.proulx@gmail.com>
1476        * Fixed bug in hotspot_status , added htmlspecialchars();
1477        * This solved the bug where ampersands would break the XML
1478
14792005-07-17 Francois Proulx <francois.proulx@gmail.com>
1480        * Fixed bugs in gen.sh, compile.sh locale scripts
1481
14822005-07-12 Francois Proulx <francois.proulx@gmail.com>
1483        * Changed XML element from hotspotsMetadata to hotspots and added networkUri
1484          element to networkMetadata
1485
14862005-07-12 Francois Proulx <francois.proulx@gmail.com>
1487        * Fixed XML protocol for exchanging hotspots status.
1488        * Should now be considered stable (stamped v1.0)
1489        * Fixed hotspots status map to reflect the changes
1490        * Added french translations
1491
14922005-07-11 Francois Proulx <francois.proulx@gmail.com>
1493        * Changed link to hotspots map using NON ssl because Google Keys are
1494          sensitive to the whole path.
1495
14962005-07-11 Benoit Grégoire  <bock@step.polymtl.ca>
1497        * classes/RssPressReview.php: Begin rewrite.
1498        * classes/MainUI.php: Add addFooterScript() function.
1499        * venues_map.php:  Workaround the IE DOM problem.
1500
15012005-07-05 Francois Proulx <francois.proulx@gmail.com>
1502        * Changed wording in hotspots status page added legend
1503
15042005-07-05 Francois Proulx <francois.proulx@gmail.com>
1505        * Minor adjustements to icon positionning
1506
15072005-07-05 Francois Proulx <francois.proulx@gmail.com>
1508        * Changed google maps marker icons
1509
15102005-07-05 Francois Proulx <francois.proulx@gmail.com>
1511        * Added missing elements in XML exchange format
1512        * Stable v1.0 for XML exchange format and Google Maps mapping
1513        * Added GMaps constants to config file
1514        * Unsmartied index.php , added link to map
1515        * Check config.php to set corresponding values
1516        * You can now use hotspot_status.php?format=XML along with xslt query string
1517          parament to convert your XML document
1518        * For this to work, You need to have activated XSLT ( see config file )
1519
15202005-07-05 Francois Proulx <francois.proulx@gmail.com>
1521        * Added Google Maps mapping venues_map.php
1522        * /js/venues_status_map.js  JavaScript code for Mapping
1523        * In beta : tested successfuly with 48 nodes in the Montreal area, loads in
1524          a snap
1525
15262005-07-03 Francois Proulx <francois.proulx@gmail.com>
1527        * Updated the XML venues status format ( version 1.0, once approved )
1528        * Added long / lat fields to nodes table ( for mapping purposes )
1529
15302005-06-17 Francois Proulx <francois.proulx@gmail.com>
1531        * Added IFrame and SimpleIFrame content types.
1532
15332005-06-28 Benoit Grégoire  <bock@step.polymtl.ca>
1534        * classes/Content/Langstring.php:  Bug fix:  Langstring was always
1535          non-persistent, no matter the checkbox.  Move the code to
1536          TrivialLangstring.php where it belongs.
1537
15382005-06-21 Benoit Grégoire  <bock@step.polymtl.ca>
1539        * portal/inted.php:  Implement the start button functionnality (maybe it
1540          would be better to call it "use the Internet").  From now on, once
1541          authenticated and when pressing the start button on the portal, the user
1542          will be sent to the page he originally tried to access.  A second window
1543          will be popped with the portal page so he can come back to it. The window
1544          is collapsed, and can be expanded back by clicking on the link. I tried
1545          to make it cross platform (and mostly did) but it's still buggy in IE.
1546
1547          At the same time, this fixes the goof reported by Rob Kelley of
1548          nycwireless.net
1549
1550        * portal/missing_original_url.php:  Displayed when the user tries to use the
1551          start button but for some reason the original url is unavailable
1552        * common.php:  New define CURRENT_REQUEST_URL, hopefully containing the full
1553          URL in the user's URL bar.
1554
1555
15562005-06-17 Francois Proulx <francois.proulx@gmail.com>
1557        * Removed forced Pattern Language on all hotspots
1558        * Do not show hotspot logo in portal page, only on login, until we find a
1559          better layout
1560
15612005-06-16 Francois Proulx <francois.proulx@gmail.com>
1562        * Added XML output format for hotspot_status.php
1563        * Rough draft v1.0
1564        * TODO move to different classes once stabilized
1565        * Can use XSLT, if activated ( XSLT_SUPPORT constant )
1566        * ie : http://wifidog-auth.org/hotspot_status.php?format=XML&xslt=http://wifidog-auth.org/xslt/hotspot_status.xsl
1567        * or simply : http://wifidog-auth.org/hotspot_status.php?format=XML
1568
15692005-06-06 Francois Proulx <francois.proulx@gmail.com>
1570        * Added long description field to content table
1571        * MUST use schema_validate
1572        * Modified Pattern Language to be more generic
1573        * resend changelog
1574
15752005-06-06 Francois Proulx <francois.proulx@gmail.com>
1576        * Made changes to Pattern Language ( Kate Armstrong )
1577
15782005-05-30 Philippe April <philippe@ilesansfil.org>
1579        * Show username in user_stats.php instead of user_id
1580          and in other admin pages
1581
15822005-05-30 Francois Proulx <francois.proulx@gmail.com>
1583        * Changed language selectbox name so it does not clash with ISF's domain
1584          cookie
1585        * Fixed setlocale algorithm in Locale.php
1586
15872005-05-29 Francois Proulx <francois.proulx@gmail.com>
1588        * Missing null check in validate.php
1589
15902005-05-27 Francois Proulx <francois.proulx@gmail.com>
1591        * Changed the signup process to make it smoother for users
1592        * The user will automatically be granted the 15 minutes if he's signing up
1593          at a real hotspot
1594        * If the user closes his browser during the 15 minutes and loses its
1595          session, we will regenerate it
1596        * Added big red message to the top of the portal page, warning user to
1597          validate as soon as possible
1598        * Fixed translation typos
1599
16002005-05-26 Benoit Grégoire  <bock@step.polymtl.ca>
1601        * Someone moved the fallback gettext functions definition (for when gettext
1602          isn't installed) inside the static setCurrentLocale method, completely
1603          breaking the system when PHP doesn't have gettext support.  This is an
1604          untested fix.
1605
16062005-05-24 Francois Proulx <francois.proulx@gmail.com>
1607        * Fixed bug in auth.php to let users go through when the click twice on the
1608          login button
1609        * Fixed bug in hotspot_log.php
1610
16112005-05-24 Francois Proulx <francois.proulx@gmail.com>
1612        * Added "Get access statistics" button to Node admin to get hotspot specific
1613          stats
1614        * Added search box in Users log to get a specific user stats quickly
1615
16162005-05-24 Francois Proulx <francois.proulx@gmail.com>
1617        * Fixed typo in some translations
1618        * Cleaned-up todos
1619
16202005-05-18 Francois Proulx <francois.proulx@gmail.com>
1621        * Added strip_tags in RssPreview ( some malformed HTML would break the page
1622          layout)
1623
16242005-05-16 Francois Proulx <francois.proulx@gmail.com>
1625        * Changed login message in MainUI to make it clearer what the login button
1626          will do
1627
16282005-05-13 Philippe April <philippe@ilesansfil.org>
1629        * Added deployment status to node_list
1630
16312005-05-11 Francois Proulx <francois.proulx@gmail.com>
1632        * Began writing user profiles
1633        * Added many methods to User class
1634        * Added node quota fields in DB ( bandwidth, throttling ...)
1635
16362005-05-10 Francois Proulx <francois.proulx@gmail.com>
1637        * Fixed Login link in signup page ( MainUI.php ) if the Session has gw_id,
1638          gw_address, gw_port show physical login link
1639
16402005-05-10 Francois Proulx <francois.proulx@gmail.com>
1641        * Added download button CSS class to style button
1642
16432005-05-10 Francois Proulx <francois.proulx@gmail.com>
1644        * Fixed wrong method name in File.php
1645        * Added strip tags to Langstring
1646        * Basic styling of content_admin table
1647
16482005-05-04 Francois Proulx <francois.proulx@gmail.com>
1649        * Fixed serialization issue ( flickr)
16502005-05-04 Francois Proulx <francois.proulx@gmail.com>
1651        * Improved caching
1652        * Wrote very basic gridview code for Flickr
1653
16542005-05-04 Francois Proulx <francois.proulx@gmail.com>
1655        * Implemented caching for Flickr
1656        * Need to contact Phlickr to see how we could do better, since serialize
1657          does not work OK on objects
1658
16592005-05-04 Francois Proulx <francois.proulx@gmail.com>
1660        * Fixed bug concerning Content-Length header
1661        * Changed default Unit size for setLocalFileSize to bytes
1662
16632005-05-04 Francois Proulx <francois.proulx@gmail.com>
1664        * Added BLOB support
1665        * modified file_download.php to support new header attributes
1666        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
1667        * Make sure your PHP.ini contains the right value to allow big downloads
1668        * Check : http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php
1669        * ISF Live server is now configured to support 100 megabytes files
1670
16712005-05-04 Francois Proulx <francois.proulx@gmail.com>
1672        * Fixed CSS IE Bug
1673        * Fixed SQL query
1674        * NEED HELP FROM A WEB DESIGNER !!!!!
1675
16762005-05-03 Francois Proulx <francois.proulx@gmail.com>
1677        * Disabled logging in Pattern Language archives
1678
16792005-05-03 Francois Proulx <francois.proulx@gmail.com>
1680        * Having for SQL query... :-(
1681
16822005-05-02 Francois Proulx <francois.proulx@gmail.com>
1683        * PatternLanguage is now completed
1684
16852005-04-30 Francois Proulx <francois.proulx@gmail.com>
1686        * Logout button will now destroy session AND render token USED
1687
16882005-04-30 Francois Proulx <francois.proulx@gmail.com>
1689        * Fixed bug that could potentially let non owners add content in /content
1690          through content groups
1691        * Admin menu won't show node selector if the user is not owner of at least
1692          one hotspot
1693        * Added Width, height support for Picture
1694
16952005-04-30 Francois Proulx <francois.proulx@gmail.com>
1696        * Did my best for content styling ... ( it's 5h00 am )
1697
16982005-04-30 Francois Proulx <francois.proulx@gmail.com>
1699        * Updated sync_sql_for_cvs.sh
1700
17012005-04-30 François Proulx <francois.proulx@gmail.com>
1702        * ChangeLog entry missed by CVS ?!
1703        * Locale now decomposes the locale string by '_'
1704        * Now works on Mac OS X ( but you must use fr_CA, en_CA or fr_FR ... )
1705
17062005-04-30 François Proulx <francois.proulx@gmail.com>
1707        * Trying to solve RSS encoding bug...
1708        * Testing on live server
1709
17102005-04-29 François Proulx <francois.proulx@gmail.com>
1711        * Removed all inline unuseful javascript code on submit buttons
1712          onclick='submit()'
1713        * This conflicted with the actual click on the submit button in Safari
1714        * Fixed check in Network for isOwner, only check superAdmin
1715        * Fixed bug so you can't add an existing content group to itself (deadlock)
1716        * Started coding Pattern language narrative display
1717
17182005-04-29 François Proulx <francois.proulx@gmail.com>
1719        * Wrote User.php addcontent, removeContent, getAllContent()
1720        * Wrote Content.php subscrite() and unsubscribe()
1721        * Added parameters to getAllContent() in Node and Network
1722          (exclude_subscribed_content)
1723        * These will be used for subscribing a to some content
1724        * Pattern Language will be the first to use it
1725        * Online users lists
1726        * Fixed bugs in Node and Network ( isOwner check )
1727
17282005-04-28 François Proulx <francois.proulx@gmail.com>
1729        * Logout button build a query string containing gw_id, gw_address, gw_port
1730          ( if available ), so that a user at a physical hotspot will get the login
1731          page from the hotspot he is.
1732        * Fixed but in Locale ( did not propertly set the locale in the session )
1733
17342005-04-28 François Proulx <francois.proulx@gmail.com>
1735        * Added check in MainUI toolbar so that it won't show "NOT logged in ?"
1736          message when connect to a real hotspot ( not virtual )
1737        * This message confused many users ( they clicked and got the virtual login
1738          instead ! )
1739        * Hide adminstration features ( statistics, hotspot creation, network wide
1740          content etc...) from all but Super admins
1741        * Fixed getAllLocativeArtisticContent in Node.php added is_persistent check
1742        * Added $associate_existing_content parameter to processNewContentUI to
1743          allows reuse for existing content ( in ContentGroup )
1744        * Fixed bug in FlickrPhotoStream delete ( missing return from parent )
1745        * Added security check in all content classes ( ProcessAdminUI )
1746
17472005-04-26 François Proulx <francois.proulx@gmail.com>
1748        * Replaced show only content groups by show persistent
1749
17502005-04-26 François Proulx <francois.proulx@gmail.com>
1751        * Added missing /content directory
1752
17532005-04-26 François Proulx <francois.proulx@gmail.com>
1754        * Added /content/ for displaying all content elements
1755        * Logging is disable when viewing them
1756        * All content elements will expand
1757        * Pattern languages won't display everything ( special property )
1758          isExpandable
1759        * Added a link in portal pages to go to /content/
1760        * Added Show all contents button in content_admin.php
1761
17622005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1763        * Content.php, ContentGroup.php:  All Content now implement the
1764          isDisplayableAt($node).  Used by the portal, if content has nothing
1765          displayabel, the entire content is skipped.
1766
17672005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1768        * FlickrPhotostream.php:  Fix the object so it doesn't crash when flicker is
1769          disabled.
1770
17712005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
1772        * ContentGroup.php:  Fully functionnal content rotation engine, with all
1773          options supported. Rotation based on session may not be reliable if the
1774          user isn't truly logged in (from a node).
1775
17762005-04-26 François Proulx <francois.proulx@gmail.com>
1777        * Most of the missing translations
1778
17792005-04-26 François Proulx <francois.proulx@gmail.com>
1780        * Changed back File to non trivial
1781        * portal page stylesheet
1782
17832005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1784        * ContentGroupElement.php:  It shouldn't be allowed to create a new content
1785          element in isolation.  Unfortunately the UI allows if for now.  Such
1786          content will now be deleted.
1787        * Locale:  Fix string selection algorithm to pick the right language.
1788        * Content:  Implement display logging.
1789
17902005-04-26 François Proulx <francois.proulx@gmail.com>
1791        * stylesheet rework
1792
17932005-04-26 François Proulx <francois.proulx@gmail.com>
1794        * Fixed wrong location for change password link
1795
17962005-04-25 François Proulx <francois.proulx@gmail.com>
1797        * Portal page styling
1798
17992005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1800        * ContentGroup.php:  Previous fix didn't work.  New fix.
1801
18022005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
1803        * ContentGroup.php:  Make bad selection mode eror non-fatal.
1804
18052005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1806        * Fix bug in ContentGroup enumeration
1807
18082005-04-25 François Proulx <francois.proulx@gmail.com>
1809        * More stylesheets work
1810
18112005-04-25 François Proulx <francois.proulx@gmail.com>
1812        * Much better stylesheet
1813
18142005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1815        * UI fully functionnal
1816
18172005-04-25 François Proulx <francois.proulx@gmail.com
1818        * More interface work
1819
18202005-04-25 François Proulx <francois.proulx@gmail.com
1821        * Completed integration of new interface with new objects
1822
18232005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
1824        * Integration merge, should work, but there will be display problems
1825          everywhere.  Expect further commits today.
1826        * Almost 100% complete Network abstraction
1827        * Much better object encapsulation.  Deprecated methods not removed yet.
1828        * Add MainUI class.  Used to display the interface.  Inner workings still
1829          need work.
1830
18312005-04-23 François Proulx <francois.proulx@gmail.com>
1832        * Added Preferred Size support for Flickr pictures
1833
18342005-04-23 François Proulx <francois.proulx@gmail.com>
1835        * Completed missing translations
1836
18372005-04-23 François Proulx <francois.proulx@gmail.com>
1838        * Fixed bugs in File and EmbeddedContent
1839        * Completed first iteration of EmbeddedContent
1840        * Can now play multimedia content
1841        * Could not test fallback with my browser ( Safari and Firefox )
1842        * Need help to test content in different browser to see how it reacts...
1843
18442005-04-22 François Proulx <francois.proulx@gmail.com>
1845        * Fixed bug in FlickrPhotostream.php
1846        * Params did not match new methods requirements ( getUserByEmail )
1847        * Changed stylesheet class name for Flickr to match new changes
1848        * Fixed bugs in File
1849        * Wrote part of EmbeddedContent ( partially working )
1850        * TODO: add support for parameters and attributes in EmbeddedContent
1851
18522005-04-22 François Proulx <francois.proulx@gmail.com>
1853        * Fix schema version in François's commit
1854
18552005-04-21 François Proulx <francois.proulx@gmail.com>
1856        * Added explicit admin UI exceptions support for Flickr
1857        * Completed File and Picture objects
1858
18592005-04-20 François Proulx <francois.proulx@gmail.com>
1860        * Completed Flickr support ( explicit exceptions catching )
1861        * Most of File object is done
1862        * Fixed bug in generic_object_admin.php
1863        * changed stylesheet class tags for Flickr
1864
18652005-04-18 François Proulx <francois.proulx@gmail.com>
1866        * Added Flickr content support
1867        * Part of File object is done
1868
18692005-04-19 Benoit Grégoire  <bock@step.polymtl.ca>
1870        * Working (beta...) content manager and portal.
1871        * Add content preview mode
1872
18732005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1874        * Hotspot and network content association, continue access control work.
1875        * hotspot_owner.php: Fix wrong assignement of user_id that prevented the
1876          script from working.
1877        * All files:  Remove whitespace and carriage return after the ?> closing
1878          tags.
1879
18802005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
1881        * Much more complete admin, initial access control work.
1882
18832005-04-15 Benoit Grégoire  <bock@step.polymtl.ca>
1884        * Support more of the content object model, do a half-decent CSS for the
1885          admin interface.
1886
18872005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1888        * Content.php:  Use full langstring interface by default;
1889
18902005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1891        * Content.php:  Fix db reference;
1892
18932005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1894        * Fix Content object enumeration preventing usage of admin interface
1895        * Partial fix for RSS feed encoding (multiple feed aggregation still broken)
1896
18972005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
1898        * First part of the future content delivery infrastructure. Many files added
1899
19002005-04-01 François Proulx  <francois.proulx@gmail.com>
1901        * Modified gen.sh script to match UTF-8
1902        * Added PAP RADIUS encryption support ( asked by Paris Sans Fil )
1903
19042005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1905        * wifidog/templates/auth_sources_selection.html:  Add missing file from
1906          Francois's commit.
1907
19082005-04-01 Philippe April <philippe@ilesansfil.org>
1909        * Fixed missing parenthesis in classes/User.php
1910        * Removed unused files
1911        * fixed schema_validate.php (typos)
1912
19132005-04-01 Francois Proulx  <francois.proulx@gmail.com>
1914        * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT
1915          EDITOR
1916        * The database will be converted to UTF-8 (version 5)
1917        * Added select boxes ( or hidden ) html form elements to choose the network
1918          for signup, lost password, username
1919
19202005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
1921        * Add constraints to account_origin to detect errors on inserts.
1922        * Remove IDRC test server
1923
19242005-04-01 Philippe April <philippe@ilesansfil.org>
1925        * User.php: Add reference to $db global variable.
1926        * Tagged v0_1_0_alpha1
1927        * Removed spaces in AuthenticatorLocalUser.php
1928
19292005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1930        * Remove spaces after php blocks in various files.
1931        * Temporarily fix single authentication source not present bug in login
1932          smarty template.  All other places where we select the network will be
1933          fixed tommorow.
1934        * Fix initial schema errors.
1935
19362005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
1937        * More RADIUS install documentation.
1938        * Fix schema_validate.php
1939
19402005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1941        * Moved language definition
1942        * Moved e-mail subjects to User class ( each e-mail functions )
1943
19442005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1945        * Added missing schema_validate.php modifs.
1946
19472005-03-31 Francois Proulx  <francois.proulx@gmail.com>
1948        * Added PEAR install procedure
1949
19502005-03-30 François Proulx  <francois.proulx@gmail.com>
1951        * Finished RADIUS authentication and accounting
1952        * Accounting Unique session ID is now based on the same token we use
1953        * Fixed all issues with lost_username, lost_password etc...
1954        * User class has new static function getUsersByEmail and getUsersByUsername
1955        * Added translations for new features
1956        * Translated the validation, lost password, username e-mails
1957        * Tested quite a bit, this version is considered stable
1958        * A few examples on how set different RADIUS or local authenticators can be
1959          found in the config.php
1960
19612005-03-29 François Proulx  <francois.proulx@gmail.com>
1962        * schema_validate.php : Modified schema : dropped e-mail + account unique
1963          index, dropped email not empty constraint
1964        * Schema is now at version 3
1965        * Coded RADIUS authentication
1966        * Modified templates to show a select box when more than one server is
1967          configured
1968        * Coded RADIUS accounting and backward compatibility accounting
1969        * Modified many statistics SQL queries to match new Users table
1970        * modified statistics templates to match user_id and account_origin
1971        * TODO : Fix lost_username and lost_password ( issue since we dropped the
1972          unique constraint on emails... )
1973        * TODO : Heavy testing possibly with remote RADIUS servers
1974
19752005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1976        * sql:  Put initial data in a transaction, and specify the wifidog user so
1977          you do not have to su to it while using sync_sql_for_svs
1978
19792005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
1980        * common.php:  Add get_guid() function
1981        * validate_schema.php: New auto-upgrade script to allow autaumatic schema
1982          upgrade.  Note that you must still update dump_initial_data_postgres.sh
1983          and use sync_sql_for_cvs.sh so new users aren't left in the cold.
1984        * New class Authenticator (and subclasses):  Begin virtualizing the login
1985          process.
1986
19872005-03-24 Benoit Grégoire  <bock@step.polymtl.ca>
1988        * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming
1989          and outgoing for all connections from a user have null values.
1990        * wifidog/local_content/default/portal.html: Fix layout so it resizes
1991          properly.  This in an interim measure.
1992        * Update schema.  This will allow automatic schema updates in the future.
1993          TO update a live server:
1994
1995      BEGIN;
1996      CREATE TABLE schema_info (
1997            tag text PRIMARY KEY,
1998            value text
1999          );
2000          INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
2001          COMMIT;
2002
20032005-03-16 Matthew Asham <matthewa@bcwireless.net>
2004    * config.php: will use "local.config.php" instead, if present.  avoid cvs
2005      over-writing.
2006    * signup.php: if CUSTOM_SIGNUP_URL is defined, signup.php will re-direct.
2007      For integration with existing auth systems
2008    * hotspot_status.php: ob_clean may complain about buffering.  muted.
2009    * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the
2010      feed.
2011
20122005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
2013        * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql,
2014          wifidog-postgres-schema.sql:-Widen the connections size to fix int4
2015          wraparound problems.  To update a running server, execute the following
2016          sql sniplet:
2017
2018      BEGIN;
2019      ALTER TABLE connections RENAME incoming TO incoming_old;
2020      ALTER TABLE connections ADD COLUMN incoming int8;
2021      ALTER TABLE connections RENAME outgoing TO outgoing_old;
2022      ALTER TABLE connections ADD COLUMN outgoing int8;
2023      UPDATE connections set incoming=incoming_old, outgoing=outgoing_old;
2024      ALTER TABLE connections DROP COLUMN incoming_old;
2025      ALTER TABLE connections DROP COLUMN outgoing_old;
2026      COMMIT;
2027
2028        * wifidog/admin/hotspot.php: Missing file from phil's commit.
2029        * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po:  New translation
2030          by Benoit St-André
2031
20322005-02-14 Philippe April <philippe@ilesansfil.org>
2033        * gw_message.php: the "activate" message was not properly defined and
2034          would cause an error to show up instead of the nice activate your account
2035          message
2036
20372005-02-14 Philippe April <philippe@ilesansfil.org>
2038        * wifidog/locale/gen.s: Was not working as expected, it will now get the
2039          gettext from smarty properly.
2040        * Updated TODO with ideas on making config better
2041
20422005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
2043        * wifidog/templates/hotspot_status.html:  Restore the number of nodes
2044        * wifidog/hotspot_status.php: Restore the number of nodes, add formatting
2045          and more information to the RSS feed.
2046
20472005-01-26 Philippe April <isf_lists@philippeapril.com>
2048        * Some kind of virtual login (we need to talk about this).
2049        * New User and Node classes
2050        * Modified all files to work with the classes.
2051        * Remove mgmt_helpers (all done in User class now)
2052
20532005-01-25 Benoit Grégoire  <bock@step.polymtl.ca>
2054        * classes/Node.php:  New file, untested code example
2055        * wifidog/admin/admin_common.php: Remove double-defined BASEPATH
2056
20572005-01-25 Philippe April <isf_lists@philippeapril.com>
2058        * Changed initial postgres inserts sql file, it wasn't working properly
2059
20602005-01-25 Pascal Leclerc  <pascal@plec.ca>
2061        * Added admin and owner administration pages
2062
20632005-01-23 Philippe April <isf_lists@philippeapril.com>
2064        * Added gateway error messages (validation period, etc.)
2065
20662005-01-20 Philippe April <isf_lists@philippeapril.com>
2067        * Modularized the admin interface, added functions
2068
20692005-01-18 Philippe April <isf_lists@philippeapril.com>
2070        * Smarty'ized more, I think it's done now
2071
20722005-01-12 Philippe April <isf_lists@philippeapril.com>
2073        * i18n and smarty'ized parts
2074
20752005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
2076        * INSTALL: Mandate PHP5
2077        * wifidog/hotspot_status.php: Allow export of the list as a RSS feed
2078        * wifidog/classes/RssPressReview.inc:  Make it truly functionnal.
2079        * wifidog/portal/index.php:  Support multiple RSS feeds.  The system will
2080          automatically pick the best 5 entries from all the feeds.  It will
2081          compensate for disparate publication intervals.  An entry from a feed that
2082          does not publish often will live longer than an entry from a feed that
2083          publishes very often.  If a feed doesn't have any entry that makes the
2084          cut, it will not appear at all.
2085        * wifidog/templates/hotspot_status.html:  Add link to the RSS version.
2086
20872005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
2088        * wifidog/config.php:  Add list of hotspot to network rss feed list (not yet
2089          functionnal)
2090        * wifidog/hotspot_status.php:  Allow RSS export of the list of deployed
2091          Hotspots.
2092        * wifidog/admin/incoming_outgoing_swap.php:  Script to swap incoming and
2093          outgoing in your data. Only use this if you had gateways before 1.0.2
2094          and wish to correct your logs before you upgrade.
2095        * wifidog/classes/RssPressReview.inc:  Missing file from previous commit.
2096        * wifidog/portal/index.php: Preliminary work to enable smart press review
2097          of multiple RSS feeds.
2098
20992005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
2100        * include/common.php: Fix SSL security warnings.  If SSL is enabled and the
2101          page was actually served over SSL, all media in the file will be served
2102          over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links
2103          that break out of SSL mode.  From now on, use the self adapting
2104          BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode,
2105          and BASE_URL_PATH to break out of it.
2106
21072005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
2108        * admin/user_stats.php: Add three top tens to the statistics:  Top ten
2109          apetite for bandwidth, top ten travelers, most addicted users.
2110
21112005-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
2112        * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much
2113          thinner.
2114        * wifidog/local_content/default/login.html: Remove announcements
2115        * wifidog/include/user_management_menu.php: Fix mailto:
2116        * wifidog/auth/index.php: Fix auth server part of the no data transmited
2117          statistics bug.
2118        * wifidog/admin/index.php: Add link to statistics
2119        * wifidog/admin/user_stats.php: Activate security.
2120        * wifidog/index.php: Make the distinction between the two hotspot status
2121          pages clearer.
2122
21232004-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
2124        * wifidog/index.php: Add menu
2125        * wifidog/include/user_management_menu.php: Editorial change, make
2126          translateable
2127        * wifidog/portal/index.php:  Fix RSS feeds
2128
21292004-12-03 Benoit Grégoire  <bock@step.polymtl.ca>
2130        * wifidog/admin/user_stats.php,  wifidog/classes/Statistics.php:  Embryonic
2131          aggregate user stats.  Currently allows you to find out the rate at which
2132          your users subscribe.
2133        * wifidog/config.php, wifidog/local_content/default/login.html,
2134          wifidog/include/user_management_menu.php:  Add hotspot status page to
2135          login page.
2136        * wifidog/hotspot_status.php: Cosmetic
2137        * wifidog/admin/hotspot_log.php: Stats now need admin privileges
2138        * wifidog/index.php: Cosmetic.
2139
21402004-11-19 Benoit Grégoire  <bock@step.polymtl.ca>
2141        * TODO: Add email domains to blacklist
2142        * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech
2143          support email address
2144        * wifidog/hotspot_status.php: List of HotSpots that are open with summary of
2145          information.  Designed to be included as part of another page.
2146        * wifidog/local_content/common/wifidog_logo_banner.gif: Add wifidog logo
2147        * wifidog/local_content/default/hotspot_logo_banner.jpg: Shrink the logo
2148          and write unknown hotspot, however this is still really ugly
2149        * wifidog/local_content/default/login.html, portal.html, stylesheet.css:
2150          Cosmetic fixes
2151        * wifidog/local_content/default/login.html.fr, portal.html.fr: Delete the
2152          files, this isn't the approach we will use for translation.
2153        * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:
2154          Update with new node information structures.
2155
21562004-11-04 Benoit Grégoire  <bock@step.polymtl.ca>
2157        * wifidog/admin/hotspot_log.php: Add number of currently connected users
2158          here as well.
2159
21602004-11-03 Benoit Grégoire  <bock@step.polymtl.ca>
2161        * wifidog/ping/index.php: Log user-agent
2162        * extensive statistics work
2163        * sql/wifidog-postgres-schema.sql: Add description field for hotspots and
2164          log user-agent
2165
21662004-10-28 Benoit Grégoire  <bock@step.polymtl.ca>
2167        * sql/wifidog-postgres-schema.sql:  Add constraints to avoid empty string
2168          in email or user_id.
2169        * Some statistics fixes
2170
21712004-09-29 Alexandre Carmel-Veilleux <acv@acv.ca>
2172        * wifidog/admin/index.php: Integrated the changes contributed
2173          on the mailing list by Rikhardur EGILSSON (fname.lname@oecd.org),
2174          mainly a missing ' in some HTML.
2175
21762004-09-28 Yanik Crépeau <yanik@exScriptis.com>
2177    * wifidog/include/common.php: Added commented header with cvs
2178          keywords.
2179        * wifidog/include/common.php: Added commented code (not executing) for
2180          further testing with language/localization issues.
2181
21822004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2183        * sql/wifidog-postgres-schema.sql:  Remove non SQL standard "COMMENT ON"
2184          comments
2185
21862004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2187        * sql/wifidog-postgres-schema.sql:  Drop procedural language stuff
2188
21892004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2190        * sql/wifidog-postgres-schema.sql:  Fix layout for the node_owners table
2191        * Begin integrating Patrick Tanguay's new layout and generate the css
2192          dynamically to allow for background images.
2193
21942004-09-22 Benoit Grégoire  <bock@step.polymtl.ca>
2195        * portal/index.php:  Fix users appearing online at every hotspot.
2196        * wifidog/classes/Style.php, wifidog/login/index.php:  Fix some potential
2197          cache problems and help with validation.
2198
21992004-09-18 Benoit Grégoire  <bock@step.polymtl.ca>
2200        * wifidog/config.php:  Add VALIDATION_GRACE_TIME configuration parameter.
2201        * wifidog/auth/index.php:  Move grace time date arithmetics to the database,
2202          fixes validation period not working.  Stop storing VALIDATION_FAILES
2203          status to the database.  Add check for validation period expiration at
2204          stage login, not just stage counters, this will fix one minute
2205          validation period.
2206        * wifidog/login/index.php:  Check validation period activation, and if
2207          period is expired, explain to the user instead of redirecting to the
2208          gateway.
2209        * wifidog/user_management/index.php:  Fix SQL error at new user registration.
2210
22112004-09-02 Benoit Grégoire  <bock@step.polymtl.ca>
2212        * wifidog/node_list.php: Complete the status page
2213        * Add images
2214        * Add hotspot creation date
2215
22162004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
2217        * sql/: Update the postgres schemas and add scripts to ease maintaining it.
2218        * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this
2219          script to the chances will be available in the cvs schemas and initial
2220          data.
2221        * sql/dump_initial_data_postgres.sh: This does the actual dump of the data
2222          in a runnable form.  Note that this needs to be edited manually if you add
2223          a new table requiring initial data.
2224        * INSTALL:  Update for postgres.  Somebody please test this.
2225
22262004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
2227        * wifidog/ping/index.php: Implement logging of which hotspot sent the
2228          heartbeat, from which ip and when.
2229        * wifidog/node_list.php:  Primitive but functionnal hotspot status page.
2230        * wifidog/include/user_management_menu.php:  Change menu labels
2231        * wifidog/local_content/default/login.html: Improve layout.  Someone needs
2232          to make this stylesheet correct, I took shortcuts...
2233        * wifidog/local_content/default/stylesheet.css:  Reduce H1 font size.
2234        * wifidog/user_management/index.php:  Display the menu, will eventually
2235          allow us to present proper help text.
2236
22372004-08-30 Benoit Grégoire  <bock@step.polymtl.ca>
2238        * Add link to original requested site.
2239        * wifidog/node_list.php:  New file.  Will become the main node status page.
2240
22412004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
2242        * Primitive network status available form the index page
2243        * Administrative security is implemented.
2244
22452004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
2246        * Fix big gaping security hole in login page (password would be ignored if
2247          the username was used to login)
2248        * PostgreSql port
2249        * Change the method to determine who is online
2250        * Stop keeping unused token once user successfully logs in.
2251        * Fix missing update of token update date.
2252        * Counters wouldn't get updated for stage=LOGOUT
2253        * wifidog/auth/index.php:  Added a Messages: response in addition to Auth:
2254          so we can know what the hell the server is up to.  Currently you need to
2255          run wifidog in debug level 7 to see it. That message should be parsed so
2256          it is visible in debug level 6.
2257        * wifidog/auth/index.php:   Fix code injection vulnerability.
2258
22592004-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
2260        * SSL support and RSS improvement
2261        * Last commit tested with mysql support
2262
22632004-08-24 Pascal Leclerc  <pascal@plec.ca>
2264        * wifidog/admin/user_log.php: Add total to incoming and outgoing
2265        * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports
2266
22672004-08-11 Benoit Grégoire  <bock@step.polymtl.ca>
2268        * wifidog/config.php: Add USER_MANAGEMENT_PAGE
2269        * wifidog/include/user_management_menu.php:  Code meant to deal with
2270          non-standard ports broke the menu.  Hopefully fixed.
2271        * Add alex's mising changelog entry...
2272
22732004-08-11 Alexandre Carmel-Veilleux <acv@acv.ca>
2274        * wifidog/ping/index.php: will now reply if the wifidog auth server is up.
2275          To be used by wifidog to do heartbeats.
2276
22772004-08-07 Benoit Grégoire  <bock@step.polymtl.ca>
2278        * Add code to import a NoCat user database (passwd).  The username will be
2279          generated from the first part of the email if the name was en email.
2280        * Change password hashing algorithm to make it compatible with NoCat (For
2281          the curious among you, the hashing algorithm is now:  take the md5
2282          digest in binary format of the password, and base64 encode it.
2283        * Table schema changed to accomodate newhash length (users.pass is now
2284          varchar(32))
2285        * The user is now allowed to login with either his username or his email.
2286
22872004-08-03 Pascal Leclerc  <pascal@plec.ca>
2288        * wifidog/classes/SmartyWifidog.php: Fix path validation bug, replace
2289          NODE_CONTENT_URL with NODE_CONTENT_PHP_RELATIVE_PATH
2290        * wifidog/classes/AbstractDb.php: Add class=warning for better display
2291        * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports
2292
22932004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2294        * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set
2295          to true if gettext is available.  If false, blank _() and gettext()
2296          functions will be defined so the system still works.
2297
22982004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2299        * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully).
2300
23012004-08-02 Benoit Grégoire  <bock@step.polymtl.ca>
2302        * wifidog-auth lives! New since the dark ages
2303        * Demo page to allow people to hack more easely on it
2304        * Support for multiple nodes.  TODO:  Merge with the database project.
2305        * Very cool local content architecture.  Every hotspot can have a folder in
2306          the local_content directory.  This folder can be filed by a single logo,
2307          leaving all the rest to the default content, or be completely custom
2308          (stylesheet, login page, portal page, header, etc.)
2309        * Everything in local content is templated with smarty, no problem with
2310          web designer wrecking havoc on the auth server.  You can edit everything
2311          in local_content/default even if you only speak html.
2312        * No need to set any path in the web server config files (that one was a
2313          bitch to implement)
2314        * RSS feed support (optionnal, with magpierss), one feed per node (url
2315          stored in the database, works great, but no gui to edit it yet) and one
2316          network-wide RSS feed.
2317        * All path are editable from the config file
2318        * "Productize" the thing, so it make sense for other groups to install it
2319          (the network name, url, default RSS, and such are set from the config
2320          file).
2321        * Put most strings in gettext calls for easy future translation.
2322        * User can request that the server send the validation email again
2323        * User can change password
2324        * User who forgot his username can have it mailed to him.
2325        * User who lost his password can ask the system to generate a new one and
2326          mail it to him.
2327        * Email is now a separate field to preserve user privacy.
2328        * Enforces (politely) that there are no duplicate emails in the database
2329        * Database abstraction layer with very nice debugging features (just append
2330          true at the end of the call, and you'll see the query, the results, the
2331          query plan and number of affected rows.  Also allow future upgrade to
2332          postgres.
2333        * Lots of other things I forgot.
Note: See TracBrowser for help on using the browser.