root/trunk/wifidog-auth/CHANGELOG @ 1269

Revision 1269, 123.1 KB (checked in by benoitg, 6 years ago)
  • VirtualHost.php: Fix critical problem preventing new Virtual Hosts from being created.
  • StatisticGraph?.php: Fix a bad return by reference that prevented graphs from being displayed. Thanks to Daniel Lemay for finding it.
  • Content.php: Fix warning when selecting owners. Fix dangling metadata objects when deleting an object.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1# $Id$
22007-07-25 Benoit Grégoire  <bock@step.polymtl.ca>
3        * VirtualHost.php:  Fix critical problem preventing new Virtual Hosts from being created.
4        * StatisticGraph.php:  Fix a bad return by reference that prevented graphs from being displayed.  Thanks to Daniel Lemay for finding it.
5        * Content.php:  Fix warning when selecting owners. Fix dangling metadata objects when deleting an object.
6
72007-07-22 Benoit Grégoire  <bock@step.polymtl.ca>
8        * generic_object_admin.pgp:  Fix problems when creating new content objects.  Fix problems including the content type classes.
9        * Avatar.php:  Make the resampling code support any format available to GD, not just jpeg.
10       
112007-07-22 Benoit Grégoire  <bock@step.polymtl.ca>
12        * More schema compatibility defensive coding.  Comment out all SET commands in the schema
13       
142007-07-22 Benoit Grégoire  <bock@step.polymtl.ca>
15        * install.php:  Fix #215
16
172007-07-21 Benoit Grégoire  <bock@step.polymtl.ca>
18        * AnonymisedDataExport.php:  Work around the huge memory requirements this report used to have.
19        * install.php:  Strip create procedural language from schema, that requires superuser anyway.
20                                        Strip a few other things to hopefully allow it to work again with postgresql 7.4, but I need the full output of the commant "psql -f wifidog-postgres-schema.sql", run from the sql directory of a svn checkout, from someone still running 7.4, otherwise I can't do much.
21        * DependenciesList.php:  New class.  Allow seeing the dependency list once the server is installed.  A small step towards centralized dependency installation.
22
232007-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
24        * At long last, implement #9:  Automatic new node creation.  When attempting to login from an unknown node, the user (if he has the permissions) will be prompted to create the node, or "steal" en existing one (for hardware swaps).
25        * Refactor Node:getSelectNodeUI().
26        * Menu.php:  Fix small oversight causing menu not to clear.
27       
282007-07-19 Benoit Grégoire  <bock@step.polymtl.ca>
29        UIUserList fixes:
30        * Node::getRecentUsers():  Get the 5 most recent users, not some random users in the last week.  Also, exclude users currently logged-in.
31        * Node::getActiveUsers():  Function was unbearably slow, now limit the search space to the last 3 months.  Get the 5 user who connected on the most differents days, instead of users with the worst wireless card ;)
32        * schema_validate.php: Add index for timestamp_in on connection table.
33       
342007-07-17 Benoit Grégoire  <bock@step.polymtl.ca>
35        * Use last_heartbeat_sys_uptime untill #354 is fixed
36
372007-07-16  Benoit Grégoire  <bock@step.polymtl.ca>
38        * Fix display of wifidog uptime in node list
39        * Preliminary skinning of the menu
40        * Network::getNumOnlineUsers():  Fix #40 by counting active connexion tokens, not distinct user id's.  That way users logged in twice (splash-only, or username if allowed in network config) will be counted twice.
41        * UIUserList_getUserUI.tpl:  Fix #337
42        * Node.php:  Improve getCurrentRealNode()
43        * Implement #4:  Allow the user to easily come back to the portal by typing in the root auth server adress from a hotspot.
44        * Log the system information sent with the gateway since almost forever:  sys_uptime, sys_memfree, sys_load, wifidog_uptime
45        * NodeStatus.php:  Include the above information
46        * node_list.html:  Include wifidog_uptime if the hotspot is up.
47        * Menu.php:  Sort menus alphabetically according to the user's locale.  TODO:  Implement menu weights.
48        * NodeLists:  Only list node types that have dependencies met in the menu.  Refactor the NodeLists for proper object-orientation.
49       
502007-07-12  Benoit Grégoire  <bock@step.polymtl.ca>
51        * MainUI.php:  Fix label problem in language chooser.
52       
532007-07-12  Benoit Grégoire  <bock@step.polymtl.ca>
54        * Fix #291 by adding a proper warning and location of documentation
55        * Fix #336:  Add Swedish translation by Christian Svensson <blue ATT cmd.nu>
56
572007-07-12  Benoit Grégoire  <bock@step.polymtl.ca>
58        -This is a behemoth "the road to 1.0"  commit.  I've been working on this for 6 months,
59        and it's reached the point where others can help.  Those are very far reaching changes, please
60        notify me if anything isn't working right (and im sure I can't have caught everything).
61    * Completely revamp exception handling, all exceptions are now trapped and handled centrally.
62    * Major changes in the login process to allow repeating a request after a time out or missing permission exception.
63    * New user roles architecture,  as described in https://dev.wifidog.org/wiki/doc/developer/UserRolesArchitecture
64        Mostly complete.  Missing parts are Content stakeholders, system roles and "su" functionnality.
65        I need help replacing all the DEPRECATED* methods.  Please read the wiki page above for instructions.
66        * generic_object_admin.php:  More work towards making it generic once again.
67        * GenericDataObject:  New class.  Eventually, most classes should extend this, instead of directly implementing GenericObject
68        * Menu.php:  Finally a uniform Menuing system to replace the mismatch of links that made wifidog
69        impossible to navigate.  It's not very sophisticated yet, but it IS permission aware
70        Loosely inspired from Drupal's menuing system.  HTML is slightly modified "Son of suckerfish",
71        so will be easy to style (althouh I haven't had time yet).
72        Actual menus are added in the hook_menu methods of each class.
73        * VirtualHost.php:  Finally properly split off Virtual Hosts, and make Server a singleton.
74        * install.php:  Do the bare minimum changes so it's still possible to setup a wifidog auth server.
75        However, install.php still needs 1- A good overhaull, 2- A way to install sample databases instead of the minimal one.
76        -Other changes
77    * Unbreak signup link for non-javascript enabled devices
78        * FlickrPhotostream:  Check CURL, which is a mandatory dependency of Flickr
79    * AbstractDb:  Improve debuging features
80    * *:getObject():  Hopefully improve performance of class caching by making sure
81    that we do not manipulate different objects.  Otherwise copies would be generated as soon as we change properties, wasting much memory.
82        * Add dependency check for XSL module for hotspot_status.php.
83        * Some work towards respecting the coding style: http://dev.wifidog.org/wiki/doc/developer/CodingStandard
84        * wifidog/admin/index.php:  Delete admin page.  There is no longuer a concept of a separate admin section.  Menu will depend on your access level.
85
862007-07-11  Benoit Gréoire  <bock@step.polymtl.ca>
87        * path_defines_url_content.php: Fix #348
88
892007-07-03  Benoit Gréoire  <bock@step.polymtl.ca>
90        * wifidog/signup.php:  Notify the user of the allowed characters.
91        * Add Bulgarian translation from "Nikola Petrov" <nvp.online A T gmail.com>
92        * config_available_languages:  Centralize the list there so that there is only one to modify everytime we add a translation
93
942007-06-12  Benoit Gréoire  <bock@step.polymtl.ca>
95        * IE6 layout workarounds (not perfect, but better)
96        * HTML validation of the login and portal pages
97        * Apply patch from tdb@timothy86.orangehome.co.uk, fixes #334
98
992007-05-30  Benoit Gréoire  <bock@step.polymtl.ca>
100        * VisitsPerMonth.php, VisitePerWeekday.php:  Fix small sql bug when selecting a single user
101
1022007-05-28  Benoit Gréoire  <bock@step.polymtl.ca>
103        * ActiveUserReport.php:  Merge new report from my development tree.  Gives a breakdown of how many users actually use the network.
104
1052007-05-22  Benoit Gréoire  <bock@step.polymtl.ca>
106        * Reverse part of [1230], hotspot_network_name was already available as standardised variable networkName, and hotspot_network_url as networkWebSiteURL.
107        * Reverse part of [1231]:  remove script tag, banning it was the reason the sag striping code was put in in the first place.  We may want to consider creating a RawHTMLContent Content Type.
108       
1092007-05-22  Benoit Gréoire  <bock@step.polymtl.ca>
110    * locales/el/: Add new greek translation contributed by Nikola Petrov
111
1122007-05-17 François Proulx <francois.proulx@gmail.com>
113        * WARNING: This has not been fully tested. Full testing to be completed on 2006-05-18
114          but I'm pretty confident that it works pretty well.
115        * Added automatic resize on Avatars
116        * Added FavoriteHotspots content (mostly used for Profiles)
117        * Added new features to Content and File
118        * Fixed URL regexp bug in HyperlinkUtils
119        * Updated French translations
120        * Updates profiles template
121        * TODO: Add getNewUI et processNewUI to FavoriteHotspots to simplify input
122
1232007-05-03  Benoit Gréoire  <bock@step.polymtl.ca>
124    * MainUI_ToolContent.tpl: Make preferences_link, login_link, and logout_link CSS targetable.  Get rid of some deprecated CSS.
125
1262007-04-25  Benoit Gréoire  <bock@step.polymtl.ca>
127    * ShoutBox.php:  The shout form wasn't displayed whent there weren't any Shouts yet, doh!
128
1292007-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
130        * AuthenticatorRadius.php:  Fix RADIUS dependency detection bug related to case sensitivity
131
1322007-04-19  Benoit Grégoire  <bock@step.polymtl.ca>
133        * RssAggregator.php:  Fix bug saving the max item age.
134        * Forgot to remove a bunch of links to faq.php.
135
1362007-04-03 Benoit Grégoire  <bock@step.polymtl.ca>
137        * AnonymisedDataExport.php:  New report.  Adds the ability to export anonymised SQL data for academic research.
138
1392007-03-20 Benoit Grégoire  <bock@step.polymtl.ca>
140        * Shoutbox.php: Allow limiting the number of characters entered for a shout.
141        (Ideally, this would also need to be enforced at db write level).
142        Move the shout form in the list.
143        Allow choosing the number of shouts displayed.
144        Make the size of the shout field configurable from the admin interface
145        Put the date of the shout before the username.
146        * User.php:  Make the entire "edit profile" link CSS targetable, including the parentesis.
147
1482007-03-20 Benoit Grégoire  <bock@step.polymtl.ca>
149        * ProfileTemplateField.php:  Only allow simple content types as metadata.
150        * Langstring.php:  Fix bug:  one couldn't change the language of a string without changing the actual text.
151        * Content.php:  Add isExactContentType() method.
152        * Profile-related visual and UI tweaks
153
1542007-03-20 Benoit Grégoire  <bock@step.polymtl.ca>
155        * Fix #304:  For some reason the Smarty assignement to userName used getListUI() instead of getUsername()???
156        * Add HyperLink content type
157        * Add UIUserList content type (work towards #158)
158        * portal/index.php:  Finish refactoring Smarty usage.
159
1602007-03-17 Benoit Grégoire  <bock@step.polymtl.ca>
161        * install.php: Make sure we are in the right directory when uncompressing Smarty
162        * Avatar.php:  Don't allow user to hyperlink the image.
163        * ProfileTemplate:  Display how many profiles will be affected when deleting a template field.
164        * User.php:  Don't show the profile creation button if the network has no profile template.
165         Don't hyperlink the username if the user has no profile.
166
1672007-03-16 Benoit Grégoire  <bock@step.polymtl.ca>
168        * Lots of work on profiles.  The HTML and CSS are not final, but #18 can be considered closed.
169        * ProfileField::getContentField():  Fix bug where the object wouldn't refresh properly.
170        * Content:  Delicate refactoring of the UI to create new content.
171        The content object now supports directly adding the actual values of a new
172        Content in getNewContentUI(), if the content filter only allows a single content type.
173        For this to work, the Content type must overload the getNewUI() method.
174        This saves many mouse clicks for form style interface, like profiles.
175        * User:  Don't create profile automatically.
176        * Don't show profiles when user is invisible.
177        * Langstring, SimpleString, HTMLEditor: Support getNewUI().  As a result of these changes, SmartyTemplate, SimpleSmartyTemplate, Stylesheet also get it for free.
178        * Add new standard Smarty value userOriginallyRequestedURL.
179 Note that this does NOT fix #266
180        * Add new standard Smarty value nodeWebSiteURL
181        * Some work towards #158
182         1- The "Use the Internet" link pointing to the originally requested URL is no longuer a part of every portal.  To restore that functionnality, paste the following code in a SmartyTemplate in the Content manager.
183        {if $userOriginallyRequestedURL}
184                <a href='{$userOriginallyRequestedURL}'>Take me where I originally wanted to go</a>
185        {/if}
186        2- The "Where am I" link is gone.  It made little sense to have that content common to all groups.  To restore it, pu it inline in your login page, link a html page on your auth server, or link a Content display page.
187        3- Same with the link to the Network.  To restore the unctionnality, paste the following code in a SmartyTemplate:
188        <a class="administration" href="{$networkWebSiteURL}"><img class="administration" src="{$common_images_url}lien_ext.gif">&nbsp;{$networkName}</a>
189        * ContentTypeFilter:  Saving still wasn't neutral.  Strip the array indexes to fix it.
190
1912007-03-03 Benoit Grégoire  <bock@step.polymtl.ca>
192        * CSS tweaks for RSS feeds.
193        * Fix detection of HTML Safe.
194        * Avatar.php:  Don't allow editing the picture size.
195        * ContentGroup:  In some cases, the same element could be picked twice in the same display.
196        Make sure that doesn't happen.  Also, implement the option to not rotate content at all,
197        usefull when showing all elements simultaneously in a specific order. Closes #294
198
1992007-02-24 Damien Raude-Morvan <drazzib@drazzib.com>
200        * Fix main SQL request in Node::getSelectNodeUI() to use
201          table alias in ORDER BY and SELECT. This disambiguation
202          is necessary when using a join on a table containing
203          another 'node_id' field.
204
205 2007-02-24 Max Horvath <max.horvath@freenet.de>
206        * Updated dependencies list (completion of all required components)
207        * Dramatic speedup of PEAR and PECL modules detection by dependencies class
208
2092007-02-25 Benoit Grégoire  <bock@step.polymtl.ca>
210        -* rev [1182], [1183], [1184]  are repository fix commits.  If anyone have problem with their lib directory when upgrading, contact me.
211
2122007-02-24 Max Horvath <max.horvath@freenet.de>
213        * Fix ticket #300: SYSTEM_PATH not being respected in config.php.
214
2152007-02-07 Damien Raude-Morvan <drazzib@drazzib.com>
216        * Fix ticket #298 : php-ldap module is lowercase in Dependencies array,
217          update Dependencies::check() calls.
218
2192007-02-05 Damien Raude-Morvan <drazzib@drazzib.com>
220        * Try to fix ticket #295 and #297 by including parent class (Content.php) in
221          File.php.
222        * ... and remove unnecessary include of Avatar content type in User.php: All
223          contents types are included by Content.php getAvailableContentTypes() call.
224
2252007-01-28 François Proulx <francois.proulx@gmail.com>
226        * First iteration of user profiles completed.
227        * Need to improve Avatar admin UI
228
2292007-01-19 Benoit Grégoire  <bock@step.polymtl.ca>
230        * dump_initial_data_postgres.sh:  Initial node wasn't setup correctly.
231        * INSTALL:  Fix some obsolete instructions for database backup and restore
232
2332007-01-18 Benoit Grégoire  <bock@step.polymtl.ca>
234        * Updated french translation curtesy of http://zapquebec.org
235
2362007-01-16 François Proulx <francois.proulx@gmail.com>
237        * ContentTypeFilter : Now supports filters stored in the DB, backward compatible
238        * ProfileTemplate, ProfileTemplateField, Profile : profiles support
239        * Update schema to 53 for profiles
240        * Network, User : Added support for profiles (not implemented for Network)
241        * TODO: Integration in portal
242
2432007-01-16 Benoit Grégoire  <bock@step.polymtl.ca>
244        * A few more steps towards a real user manager
245        * Move password change to preferences.
246        * InterfaceElements:  Begin moving away from a raw HTML generator and towards a more semantic one as discussed with Max Horvath.
247        * It is now possible for an administrator to manually validate or lock-out a user
248        * Add new SimpleString content type
249        * SmartyWifidog.php:  Fix #282 with a slightly dirty workround to the chicken and the egg smarty variables assignment problem.
250                We now extend the fetch method and do our assignment there instead of in the constructor.
251
2522007-01-15 Benoit Grégoire  <bock@step.polymtl.ca>
253        * Sync initial schema and translations
254        * Minor spelling fixes
255
2562007-01-14 Benoit Grégoire  <bock@step.polymtl.ca>
257        * Dependencies.php, AuthenticatorRadius.php:  Fix bug #287 (Dependencies not being detected properly)
258        * Content.php: Make hasDisplayableMetadata() consider Authors, and make it a bit faster.
259
2602007-01-13 Benoit Grégoire  <bock@step.polymtl.ca>
261        * Content.php:  Add setUserUIMainDisplayContent() and setUserUIMainInteractionArea()
262        to simplify writing subclasses and port all content subclasses to the new API.
263        * Content.php:  Add a new callcack method, isTextualContent(), to be used by
264        ContentFilters.  Indicates that the content is suitable to store plain text.
265        * ContentGroup.php:  No longer warn about empty ContentGroup in getUserUI(),
266        as this may now be perfectly normal if all content has expired.
267        * Rework the classes and css for user_ui_main_outer, isSimpleContent has been
268        eliminated and hasDisplayableMetadata is now defined is metadata is available.
269        This should allow better HTML consistency and simpler CSS, and be closer to what
270        people expect by default.  Content without metadata will display without
271        borders or background, and without margins when inside another content.
272        * smarty.resource.string.php:  Add a setter function,
273        smarty_resource_string_add_string() that must be used before calling the smarty
274         function.  Using the name as the the template was far to brittle.  This makes
275         the SmartyTemplate content much more reliable, and quite possibly faster.
276        * ShoutBox: A very basic but already extensible implementation of the
277        shoutbox use case.  Shows the last five shouts.  Can connect to another web
278        site through a javascript extension.
279        * SimpleSmartyTemplate:  Add a simple version of the SmartyTemplate content
280        type
281
2822007-01-03 Benoit Grégoire  <bock@step.polymtl.ca>
283        * FormSelectGenerator.php: Fix incorrect $this reference in isPresent().  The bug would only manifest
284         itself from the FlickrPhotostream's admin interface.
285        * page.php:  Fix missing retrieval of DB instance.
286
2872007-01-03 Benoit Grégoire  <bock@step.polymtl.ca>
288        * Yet more Smarty cleanup, add some docs, add Smarty variables to access the physical node a user is connected to.
289        * RssAggregator.php:  Fix bug in setMaxItemAge() method when setting a null value
290        * Cache.php:  Performance optimization when caching is disabled.
291        * Fix bug where num online users in the portal was broken.
292
2932007-01-02 François Proulx <francois.proulx@gmail.com>
294        * Updated the SQL schema initial schema
295
2962006-12-31 Benoit Grégoire  <bock@step.polymtl.ca>
297        * More Smarty cleanup
298        * Content.php:  Bugfix:  metadata wasn't deleted along with the rest of the
299        content upon deletion.
300
3012006-12-30 Benoit Grégoire  <bock@step.polymtl.ca>
302        * install.php:  Move path verification to the first page, and make it clearer.  Fix PHP warnings.
303        * wifidog/include/smarty.resource.string.php:  A smarty resource plugin to parse a smarty template from a string
304        * SmartyTemplate:  Very basic but functionnal commit of the new Smarty content type.
305        IMPORTANT NOTE:  This will eventually obsolete IFrameRest, which will be removed.
306        * Continue cleaning-up/standardizing Smarty variable usage.
307
3082006-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
309        * Fix all PHP 5.2 compatibility issues I could find.  This needs further testing
310
3112006-12-12 Pascal Charest <pascal.charest@gmail.com>
312        * install.php: Remove obsolete Phlickr installation references
313
3142006-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
315        * install.php, Dependencies.php:  Centralize Dependency detection (next is to centralize
316        dependency installation code).
317        * config.php: Remove more obsolete config directives.
318
3192006-12-11 Benoit Grégoire  <bock@step.polymtl.ca>
320        * install.php:  Fix a few problems caused by obsolete magpierss detection code.
321        * install.php, config.php:  Remove the obsolete PHLICKR_SUPPORT option.
322
3232006-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
324        * schema_validate.php:  Mute annoying ob_flush() notices.
325        * Node.php:  Add missing default parameter to getSelectNodeUI()
326        * get_stylesheet:  Fix date calculations that broke download.
327
3282006-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
329        Sync with my main developpement environement:
330        * Performance optimization pass:  Collect a few low hagning fruits
331        by implementing basic instance caching for classes Server, Network, Nodes, Content and User.
332         It's no replacement for a real ORM, but is cuts way down on duplicate SQL queries and
333         object instanciation for a single request.
334        * Langstring.php:  Slight performance optimization for admin interface, support for proper modification date.
335        * File.php:  Update to use unified content modification date.
336        * get_stylesheet.php:  Implement browser caching
337        * ContentGroup.php:  Get rid of is_locative and is_artistic metadata.  Will eventually be replaced by something better.
338        Allow editing of expired content elements
339        * Node.php, Utils.php:  Sort by case insensitive name, and show gateway id in node selectors
340        * BannerAdGroup.php:  Support group constraint of image size for all images in the group.
341        * ContentReport.php:  Finish basic content reporting.
342        Note that for content that displayed before the logging fixes commited 2006-11-14, the display count will be underestimated:
343        Display before then was only counted once per user per node.  Also File clickthrough wasn't logged (includes hyperlinked pictures).
344        * Content.php:  Implement a Key-Value Pair infrastructure.  In the future, this will often allow adding new content types without
345        having to modify the schema.  See the Content class documentation.
346        * Fix various small UI issues.
347
3482006-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
349        * common.php:  Fix the value of SESS_NODE_ID_VAR, it got overwritten by SESS_GW_ID_VAR.
350        Caused problems with logout.
351
3522006-11-27 Benoit Grégoire  <bock@step.polymtl.ca>
353        * Try to fix #270:
354        * DateTime.php:  Rename class to DateTimeWD because of the stunt they pulled in PHP 5.2
355        * Content and derived classes:  Make all constructors protected.
356
3572006-11-26 Benoit Grégoire  <bock@step.polymtl.ca>
358        * lost_username.tpl, lost_password.tpl, resend_validation.tpl:  Fix #259 by commenting out
359        all Javascript. I hate removing outside contributions, but the lost_username,
360        lost password and re-send validation email have been broken for months and no one
361        stepped-in to fix it.
362
3632006-11-23 Benoit Grégoire  <bock@step.polymtl.ca>
364        * Fix bug in node creation
365        * Add error message for geocoder when you didn't set the country
366        * Clarify error messages and description for the geocoder.
367        * Make the google-map locator for nodes use the network center coordinates.
368          This change makes it usable when you didn't use the geocoder first.
369        * Show the gateway id in the technical nodelist.
370
3712006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
372        * Fix minor problems with template using obsolete constants
373        * Delete a bunch of unused templates
374
3752006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
376        * Fix broken auth
377        * Fix broken portal when called from gateway
378
3792006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
380        * Major schema update (this one is going to make your database grind for a while, sorry
381        about that...)
382        Fix a long standing design problem with the node table, where the ID could be changed.
383        This caused performance problems when replacing gateways, and caused problems when
384        exporting data to other systems.  Among other things, it will allow us to finally
385         finish the JiWire output.
386        * 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.
387
3882006-11-21 Benoit Grégoire  <bock@step.polymtl.ca>
389        * Change schema update method.  Will now do one transaction
390         per schema version, allowing each schema to assume that
391          the current schema is the previous one.  Also allows not
392          starting over when there is a problem.
393          Fixes schema update problems with the last commit
394
3952006-11-21 Benoit Grégoire  <bock@step.polymtl.ca>
396        * RssAggregator.php:  At long last, sync with FeedPressReview 2.0
397         http://projects.coeus.ca/feedpressreview/ (formerly rsspressreview)  and
398          make most of it's features directly available from the web interface.
399        This gives us:
400        -Now based on SimplePie http://simplepie.org/ (magpie was no longuer maintained)
401        -Now unobtrusively displays almost all item and feed metadata
402        -Supports images
403        -Supports podcasts and enclosures
404        -More accurate algorithm
405        -Criteria based default feed expansion
406        -More real-estate efficient, and improved UI
407        The admin interface is now also more real-estate efficient (uses the hover help code commited by François that no one used yet).
408
409        Warning: This changes the dependencies of the auth server.  Your RSS feeds will be disabled untill you re-run the install script.
410        * gw_message.php:  Fix validation period not being displayed.
411
4122006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
413        * MainUI.php:  Allow displaying any object with a getUserUI() method directly as content.
414
4152006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
416        * 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.
417
4182006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
419        * File.php:  Clickthrough weren't logged, DOH!
420        * User.php:  Error message on validation expired didn't properly output the validation grace time.
421        * Statistics.php:  Fix #271: Getting statistics for a single MAC address was broken.
422        * NodeListXML.php:  Small patch by Josephus to add the number of online users
423        * Improve CPU usage of the content manager
424        * AbstractDb:  Fix query time not being displayed in debug mode if profiling was turned off.
425                                        Add total execution time statistics.
426        * Fix logging of content clickthrough and display.  Unique users and node data is reliable for existing data.
427                Number of prints is underestimated (repeat prints for the same user, same content at same node didn't get counted)
428                 for data before this patch.
429                Same with number of clickthrough for File content types and derivatives (picture, etc.).
430        * ContentReport.php:  Add content report (does not support most options yet, but still very usefull).
431
4322006-11-13 Benoit Grégoire  <bock@step.polymtl.ca>
433        * Make the MainUI, SmartyWifidog and Session and AbstractDb classes singletons
434        * Implement two pass content display.  All Content can now implement a prepareGetUserUI(), allowing them to interact with MainUI and other Content before display.
435          Allow creating content such as stylesheets, feed accumulators, etc.
436        * SmartyWifidog.php Turn on security, begin preparing for standardisation of Smarty variables
437        * New Content type:  Stylesheet.  Allows specific nodes, or even specific content groups to have custom stylesheets.
438        * Langstring.php:  Make getAdminUI calling conventions coherent with other content types.
439
4402006-11-11 Benoit Grégoire  <bock@step.polymtl.ca>
441        * Authenticator.php:  Critical: Fix SQL query syntax in acctStart()
442
4432006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
444        * install.php:  Fix password generation I inadvertently broke.  Remove misleading info about SSL
445
4462006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
447        * install.php:  Put an end of line after the password, make it easier to read.
448        Make the install script check the permissions of lib/smarty/plugins directory to avoid smarty errors
449        * Statistics.php:  A little gift for France wireless:  Make aggregate statistics available across networks
450
4512006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
452        * Fix # 268, #269 as well as greg's problems by moving all token and registration date arithmetics
453         to the database, and standardize on SQL-standard CURRENT_TIMESTAMP.
454        Fixes operational problems when PHP and PostGres don't have the same timezone
455        (which appears to be the case on Fedora by default).
456        Note that the page.php script still has PHP date arithmetics, but at least should be self-consistent.
457
4582006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
459        * auth/index.php: Add some defensive coding and debug output when the token is invalid.
460
4612006-10-24 Damien Raude-Morvan <drazzib@drazzib.com>
462        * Fix french translation used for account validation to use same number of token as original message.
463        * Only show language combo when there is more than one language to select.
464
4652006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
466        * EmbeddedContent.php:  Fix content type selection (admin interface of EmbeddedContent was broken)
467        * Full spanish translation curtesy of jguevara @@ unitec.edu (closes #254)
468        * Some documentation updates for content filters
469        * Content.php:  Add isNotContentType() method.
470
4712006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
472        * Access to the Content manager was broken for normal users, again.
473
4742006-09-11 François Proulx <francois.proulx@gmail.com>
475        * Changed install.php req. for Smarty 2.6.17 is mandatory
476        * ContentTypeFilter.php fixed the method checking function
477        * Fixed errors in French translation file
478
4792006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
480        * Fix PHPMailer that I've broken earlier
481
4822006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
483        * Slightly rework SSL detection so that it uses the default server if a current one isn't available.
484                Fixes server passing passwords in the clear if the hostname disn't match (DOH!).
485                We really should properly split the Server class into a singleton Server class and multiple VirtualHost classes.
486        * Re-apply fixed HTMLeditor patch.  (Original description:  Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
487          line count and will stop the codebases from needlessly drifting apart.)
488
4892006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
490        * Add missing require of Statistics.php in stats.php
491
4922006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
493        * Fix non persistent content being available to add to nodes, networks and content groups.
494        * Prevent a user from entering the same language twice in a langstring.  Fixes #226
495
4962006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
497        * Fix #63
498        * Fix problem with my Splash only user fix (I used match on the user_id instead of the username).
499        * Prevent the Splash only user from logging out, wrecking havock in the tokens.
500        * Do not allow SplashOnlyUser to set his preferences.
501        * Assigning a reusable content to a contentgroup element would make it non-reusable.
502Usability and UI fixes:
503        * Allow other users to log in when they are at a splash only node.
504        * Make isSimpleContent class available for Simple content types.  Make it borderless and backgroundless in the default theme_pack.
505        * Simplify HTML output for simple content.
506        * Fix IE layout bug in node admin
507        * Content linked to nodes and networks now edits in a new window.
508        * Remove "Add new node" menu item for consistency.
509
5102006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
511        * Remove most inclusions of MainUI in classes.
512        That completely broke authentication (circular dependencies).
513        Fixes 245.
514    Unfixes 242. Exceptions should not be caught in the context
515    they are thrown in. Else there no point in throwing exception in the
516    first place.
517        * HyperLink.php:  Fix bug where a link with identical text as it's link would see the text replaced by the clickthrough-tracked equivalent.
518
5192006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
520        * ContentTypeFilter:  New class, implements #159.  Allows to filter content type according to various criteria.  Will be used more extensively in the profile manager.
521        * Content manager:  Use content type filter to only allow Simple content types (Content without metadata) to be used for metadata.
522        * New content type BannerAdGroup.  Used (primarily) to display banner adds, or any other image rotation.  Size constraints not yet implemented
523        * Move externally maintained class.phpmailer.php, class.smtp.php into lib where they belong
524        * DateTime.php: Make class handle an empty date sensibly.
525        * Network.php:  Show the network again when there is only one.  It was confusing in some screens.
526        * page.php:  Clarify error message, and set a more reasonnable paging cascade:
527                5 min, 30 min, 2 hours, 1 day, 1 week, 1 month
528        * Finally fix #127
529        * 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.
530        * Fix #247 (somebody filed a bug before I commited, conveniently saving me the need to describe it).
531        * The Fix for #106 in [1089] returned non-objects, causing error messages and not displaying what it was meant to display.
532                Used Guest instead of Annonymous, which will probably be used for different purpose in the future.
533                This re-fix does not include duplicate counting yet.  Splash users are not the only users that could log-in multiple times.
534                I don't have a staging server here, a fix will be commited in a few minutes if something goes wrong.
535        * Cleanup coments.
536        * Sync schemas
537
5382006-09-03 Max Horváth <max.horvath@freenet.de>
539        * The term SPLASH_ONLY_USER displayed to people visiting the portal has been
540          replaced by the more meaningful term "anonymous user" (fixes #106)
541        * When creating a new node and choosing an existing node_id there will be
542          shown an error message (fixes #223)
543        * If one or more nodes aren't monitored they now will be announced on the
544          front page (instead of just showing the number of monitored online nodes)
545          (fixes #100)
546        * Display more meaningful error messages if required user permissions are
547          missing (fixes #242)
548        * Refactored Network->getAdminUI() to match look and feel of
549          Node->getAdminUI (fixes #140)
550        * Show descriptive status of node (fixes #241)
551
5522006-09-02 Max Horváth <max.horvath@freenet.de>
553        * Installation script checks for PHP session extension (fixes #139)
554        * Removed "Call-time pass-by-reference has been deprecated" warnings
555          (fixes #239)
556        * Revert changes of FCKeditor implementation (fixes #240)
557        * Fix of FCKeditor implementation, now also supports FCKeditor 2.3+
558          (fixes #145)
559        * Hotspots/Nodes are sorted case-insensitive now (fixes #109)
560        * Fix #141
561        * templates/sites/index.tpl: fix wrong user count (fixes #236)
562        * Added more trash mail services to the black list (fixes #149)
563
5642006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
565        * Fix #189, #173
566
567
5682006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
569        * Content.php:  Improve handling of simple but persistent content.
570
5712006-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
572        * Server.php:  Make sure getCurrentServer returns the default server if the
573          hostname isn't recognised.
574        * Content manager:
575                - Allow deleting simple (trivial) but persistent content
576                - Remove the sponsor info field from Content Metadata.  Best practices
577                  is now to use the project info field to show this information.
578        * Add the necessary schema constraints to allow manually deleting networks,
579          nodes and users.  Be carefull, removing any of theses will remove all
580          traces of connection statistics as well.  You've been warned.
581        * Do not display the network in the login interface if there is only one.
582        * Add a pseudo-random content ordering mode.  Pick content elements
583          randomly, but do not display the same content twice untill all content
584          has been seen.
585        * Allow setting a title but not displaying it (very usefull for reusable
586          content)
587
5882006-08-29 Max Horváth <max.horvath@freenet.de>
589        * Cleaned up PHPdoc tags
590        * Updated german translation
591        * Updated portuguese translation, thanks to Gabriel Hahmann
592        * Added spanish translation, thanks to Ricardo Jose Guevara Ochoa
593
5942006-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
595        * Add SimplePicture content type
596        * Fix #225 (For both nodes and networks)
597
5982006-08-28 Max Horváth <max.horvath@freenet.de>
599        * Integrated KML node list export
600        * Integrated PDF node list export
601        * Updated Sprintf formatted strings in some Smarty templates
602
6032006-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
604        * clickthrough.php, HyperLink.php:  Implement working hyperlink
605          clickthrough tracking (no reporting yet).
606          Works for Langstring, FlickrPhotoStream, Picture, RssAggregator and their
607          subclasses.
608        * Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
609          line count and will stop the codebases from needlessly drifting apart.
610        * Do not log content displayed as metadata, and log their clickthrough as
611          the parent's.
612
6132006-08-27 François Proulx <francois.proulx@gmail.com>
614        * Updated French translations
615        * Now using Sprintf formatted strings in some Smarty templates (see
616          example in templates/sites/index.tpl).
617        * Integrated back the SQL profiling functions
618
6192006-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
620        * Fix a bug where having an empty username would break statistics.
621
6222006-07-07 Benoit Grégoire  <bock@step.polymtl.ca>
623        * Fix a bug in some reports when selecting a single user.
624
6252006-07-05 Benoit Grégoire  <bock@step.polymtl.ca>
626        * Fix #175.
627        * Fix the "Registration Log" and "User registration report" reports giving
628          incorrect statistics
629        * Allow disabling EventLogging class in config.php, to make SQL debuging
630          possible (The class was traping errors before AbstractDb could
631          output them)
632        * Make EVENT_LOGGING default to false for now, as it turns out EventLogging
633          was the cause of the Spurious PEAR output ("Runtime Notice: ") we've
634          been seeing.  That is probably only because we don't understand how to
635          properly control it's logging level.
636
6372006-06-18 François Proulx <francois.proulx@gmail.com>
638        * Added creation_date , last_update_date support to File content (with
639          proper HTTP caching handling)
640        * Added hyperlinks URL support in Picture content
641        * Fixed constants in Flickr Content
642        * Fixed #171 (Can't add existing content to Node)
643
6442006-06-17 François Proulx <francois.proulx@gmail.com>
645        * First iteration of JiWire CSV export
646                * Use : hotspot_status.php?format=JiWireCSV
647        * Fully working, but Excel doesn't seem to handle well UTF-8
648          investigation in progress.
649
6502006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
651        * Fix #151.  It was still around after all.
652
6532006-06-08 Benoit Grégoire  <bock@step.polymtl.ca>
654        * Completely refactor the look and html of the content manager, statistics
655          and most object's administrative interfaces.
656          Should be much simpler and clearer now.
657          No refactoring of the editing flow has been done yet.
658        * Spell check the french translation, and add a few of the missing strings.
659
6602006-05-26 François Proulx <francois.proulx@gmail.com>
661        * Added 'ja' to database locales table
662
6632006-05-26 François Proulx <francois.proulx@gmail.com>
664        * Added Japanese translation .po file
665          (Thanks to taedu AT ninjin-net DOT net)
666
6672006-05-24 François Proulx <francois.proulx@gmail.com>
668        * Stylesheet changes for left_area_bottom content block.
669
6702006-05-24 François Proulx <francois.proulx@gmail.com>
671        * Simplified Google Maps JS code to use more of the v2 abstraction
672        * Improved admin panels CSS classes
673
6742006-05-23 Benoit Grégoire  <bock@step.polymtl.ca>
675        * config.php:  Disable USE_CACHE_LITE, it's definitely not stable, and
676          causes very hard to track down problems with Internet Explorer.
677
6782006-05-22 François Proulx <francois.proulx@gmail.com>
679        * Fixed isValidUsername() Js function to allow caret and dot characters
680
6812006-05-22 François Proulx <francois.proulx@gmail.com>
682        * Use Pgsql persistent connections
683
6842006-05-22 François Proulx <francois.proulx@gmail.com>
685        * Removed unnecessary debug message
686        * Fixed getNumOnlineUsers to count users by MAC on splash only nodes
687
6882006-05-22 François Proulx <francois.proulx@gmail.com>
689        * Added generateFromArray parameter (max_length)
690        * Restricts select content ui combo box to 40 chars
691        * Added Smarty plugin modifier.fsize_format.php
692
6932006-05-21 François Proulx <francois.proulx@gmail.com>
694        * Stupid IE CSS bug fixed
695
6962006-05-21 François Proulx <francois.proulx@gmail.com>
697        * Fixed various bugs in content system
698        * stylesheet work
699
7002006-05-21 François Proulx <francois.proulx@gmail.com>
701        * Think I've fixed Google Maps on IE.
702                * need to test on another system..
703
7042006-05-20 François Proulx <francois.proulx@gmail.com>
705        * Completed french translations
706        * Fixed Flickr javascript
707        * Various stylesheet improvements to tighten up the portal and admin
708
7092006-05-20 François Proulx <francois.proulx@gmail.com>
710        * Various stylesheet improvements, started working on Île Sans Fil network
711          specific theme pack
712        * Fixed a few layout bugs
713
7142006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
715        * USE_BASE_NON_SSL_PATH for hotspot map, else internet explorer whines
716          endlessly
717
7182006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
719        * index.tpl:  Fix link to the map not being displayed at a hotspot, even
720          when you are logged in.  There needs to be much better logick before we
721          export such things to smarty templates.
722
7232006-05-20 François Proulx <francois.proulx@gmail.com>
724        * Added /wifidog/contrib and /wifidog/contrib/xslt directories
725        * Posted Île Sans Fil XSLT example stylesheet for converting the
726          hotspot_status page
727                * Browser view
728                * PDA view (by Jean-Pierre Lessard <jplprog@videotron.ca>)
729                * Simply use in this manner :
730                  http://wifidog-server.org/hotspot_status.php?format=XML&xslt=http://wifidog-server.org/contrib/xslt/hotspot_status_browser.xsl
731
7322006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
733        * page.php:  Fix bugs in various files preventing the system from working
734          from the command line.
735
7362006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
737        * More install script fixes:  Phlickr wouldn't install, and the permissions
738          of wifidog/tmp/smarty/cache weren't checked.
739
7402006-05-20 Benoit Grégoire  <bock@step.polymtl.ca>
741        * More stylesheet and HTML work
742
7432006-05-18 Benoit Grégoire  <bock@step.polymtl.ca>
744        * Fix loging form incorrectly attempting to validate the password,
745          preventing many existing accounts from logging-in.
746        * Interim commit, begin simplifying the html ans stylesheets, and re-doing
747          the general look.
748          This is incomplete, this commit was done to fix the problem above.
749        * install.php:  Fix path problems, make shel command errors visible.  Update
750          magpie and smarty url to latest versions (note that this won't
751          automatically update an existing install).  Didn't touch phlickr as I
752          didn't know the implications
753        * Add interactive scripts in sql/ to easily backup and restore a wifidog
754          auth server database.
755
7562006-05-10 François Proulx <francois.proulx@gmail.com>
757        * Fixed Google Maps script path to images.
758
7592006-05-10 François Proulx <francois.proulx@gmail.com>
760        * Added sweetTitles tooltips script, now if you need to add tooltips simply
761          add the 'title' attribute to you html <a>, <attr>, <accroym> tags
762        * Fixed usort bug in MainUI
763        * Fixed download (wget) in install.php
764
7652006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
766        * Working (if slightly basic) theme manager.  You can pick the theme in the
767          network configuration.
768          To add your own theme, read wifidog/media/network_theme_packs/README.txt
769        * Cleanup and document the wifidog directory structure
770        * Minor HTML corrections for content types
771        * Completely rip out the old local_content system, and a bunch of obsolete
772          defines and config variables.
773        * Get rid of PHP generated stylesheets
774
7752006-05-09 Benoit Grégoire  <bock@step.polymtl.ca>
776        * Finish content assignation system
777        * Content ordering is now global (network, nodes and everywhere content cand
778          now be in mixed order).
779        * Implement 'everywhere' content
780        * Change MainUI::apendContent to MainUI::addContent
781
7822006-04-28 François Proulx <francois.proulx@gmail.com>
783        * Fixed error in initial data script
784
7852006-04-28 Benoit Grégoire  <bock@step.polymtl.ca>
786        * wifidog/login/index.php: Correctly use DEFAULT_NODE_ID from config.php
787          instead of hardcoded 'default'
788
7892006-04-28 François Proulx <francois.proulx@gmail.com>
790        * Fixed initial_data schema script so that it adds a dummy server.
791
7922006-04-25 François Proulx <francois.proulx@gmail.com>
793        * Updated JavaScript code to work with Google Maps v2 API
794        * v2 will now provide full maps of European countries and is a bit faster
795        * Updated the schema accordingly with new GMaps values
796
7972006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
798        * Dependencies.php:  Small fix in case gettext isn't installed
799
8002006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
801        * AuthenticatorLDAP.php:  Merge patch from jguevara@unitec.edu.  Fixes #125
802
8032006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
804        * Major system locale handling overhaull.  Hopefully abstract out the UTF8
805          problems once and for all, allowing everyone to define them the same way.
806          Fix a few bugs along the way. Should also be a little faster.
807
8082006-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
809        * Revert Rob's SYSTEM_PATH change.  Sorry about that.  The devs spent hours
810          to finally get the PATH stuff consistent and fixing the countless bugs
811          that this process introduced.
812          Maybe some links still need to use BASE_URL_PATH instead of BASE_SSL_PATH,
813          (or vice-versa) but it was on purpose that SYSTEM_PATH was not made
814          available to Smarty.
815          We already have 3 defines to be used for links and html refs, that's
816          enough BASE_SSL_PATH should be used to enter SSL mode (if available)
817          BASE_NON_SSL_PATH should be used to break out of SSL mode of when we
818          explicitely do not want someting to be referenced over http
819          BASE_URL_PATH should be used in all other cases to avoid needless
820          SSL warning
821
8222006-04-17 Rob Janes <janes.rob@gmail.com>
823        * javascript for validating and navigating forms.
824        * help text (untranslated).
825        * EVENT_LOGGING enabling/disabling flag.
826        * use SYSTEM_PATH instead of BASE_URL_PATH and BASE_SSL_PATH where ever
827          appropriate.
828        * standardize Smarty variables for Network and User info by adding
829          assignSmartyValues($smarty, $self) to Network and User.
830        * change_password only allowed if logged in.
831        * non-superadmin can only use change_password to change their own password.
832        * superadmin can use change_password to change any user password by
833          entering in their password for the old password.
834        * page_header div defined and positioned in MainUI
835
8362006-04-04 Benoit Grégoire  <bock@step.polymtl.ca>
837        * /classes/Content/IFrame/IFrame.php: Change a few methods from private
838          to protected as the private methods broke IFrameRest
839
8402006-04-01 François Proulx <francois.proulx@gmail.com>
841        * Dumped initial schema from working install
842
8432006-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
844        * dump_initial_data_postgres.sh:  Add the content_available_display_pages
845          table to the dump, can someone re-generate the initial data from a
846          working install
847        * Remove the ?> tags from all the classes.
848
8492006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
850        * Fix bug where right_area_bottom content wouldn't be displayed.
851        * Minor CSS cleanup
852
8532006-03-28 François Proulx <francois.proulx@gmail.com>
854        * Fixed error in initial schema (bad client encoding)
855
8562006-03-28 François Proulx <francois.proulx@gmail.com>
857        * Fixed schema 37 : left_area_top
858        * Updated initial schema
859
8602006-03-27 Benoit Grégoire  <bock@step.polymtl.ca>
861        * First step in massive simplification of CSS and templates
862        * Implement the new main CSS structure
863        * Implement working content assignation interface and content ordering for
864          both network and nodes.
865        * Display of content according to assignation work on 'portal' and 'login'.
866          'everywhere' not yet implemented
867        * Get rid of some ISF specific interface elements
868        * Finally replace the overly complicated start button by a
869          "Use the Internet" link that will not get you out of your working tab
870        * Fix #118
871
8722006-03-26 Benoit Grégoire  <bock@step.polymtl.ca>
873        * init_php.php: Fix stripslashes_cb() so it actually works, this means the
874          auth server should work properly with auth servers with magic quotes
875          turned on.
876          This is still not recommended however.
877        * Remove some spurious error ouptut on logout.
878        * Remove potential error in network id parsing
879
8802006-03-22 François Proulx <francois.proulx@gmail.com>
881        * Fixed Google Maps URLs bug
882        * Since Google Maps does not provide Javascript over SSL (it does but the
883          certificate does not match) the code path to the map does not use SSL, but
884          the outgoing URLs do.
885        * Removed lost echo in Locale.php
886
8872006-03-21 Benoit Grégoire  <bock@step.polymtl.ca>
888        * login/index.php: Remove huge security hole introduced by stylistic
889          changes in the file. A user could login to any hotspot by simply filling
890          a blank form because of a gratuitous change from empty to is_null
891          everywhere.  Remove escaping or REQUEST parameters in non SQL
892          related code, as this would lead to double unescaping down the line.
893          Remove logic dependent on encapsulated side effects of object method call.
894
8952006-03-19 François Proulx <francois.proulx@gmail.com>
896        * Updated French translations
897
8982006-03-18 Rob Janes <janes.rob@gmail.com>
899        * path_defines_base working for combinations of DocumentRoot, Alias,
900          and installed wifidog-auth directory, correctly setting SYSTEM_PATH
901          and WIFIDOG_ABS_FILE_PATH dynamically.
902        * classes/Locale.php::getBestLanguage changed to correctly parse
903          HTTP_ACCEPT_LANGUAGE, comma is the correct delimiter not semi-colon.
904          Ignores SESS_LANGUAGE_VAR if invalid.
905
9062006-03-18 Rob Janes <janes.rob@gmail.com>
907        * Fixed bug #77 classes/EventLogging.php non-variable pass by reference
908
9092006-03-16 François Proulx <francois.proulx@gmail.com>
910        * Removed stale owner_sendfiles.php (now integrated in the Content Manager)
911        * Cleaned up a bunch of stale TODOs
912
9132006-03-16 Max Horváth <max.horvath@freenet.de>
914        * updated language files (new german strings have already been translated)
915        * added LDAP authentication
916        * Dependencies class can check for an PHP extension now
917        * Dependencies class can check for multiple files on a single dependency now
918        * Authentication classes moved to it's own directory
919        * The getAuthenticator method now uses the much safer and faster
920          call_user_func_array function to return an authenticator object
921        * the available authenticator classes are now being displayed in a select
922          box on the network administration page
923        * the link to and the Google hotspots map as is won't be shown to an
924          unauthenticated user at a real hotspot
925
9262006-03-16 Benoit Grégoire  <bock@step.polymtl.ca>
927        * hotspots_map.tpl:  Use base_url_path instead of base_ssl_path
928
9292006-03-09 Benoit Grégoire  <bock@step.polymtl.ca>
930        * init_php.php: Try to fix #102 by inspection
931        * Delete AbstractDbMySql.php, and collapse AbstractDbPostgres.php
932          into AbstractDb.php to prepare for eventual switch to PDO file.
933        * incoming_outgoing_swap.php:  Delete file, closes #85
934
9352006-03-09 Max Horváth <max.horvath@freenet.de>
936        * fixed small bug in the InterfaceElements class
937        * fixed PHP notices in portal/index.php and Locale class
938        * fixed small bug in Authenticator class which in resulted in a fatal PHP
939          error if a user logged out when his session was already gone
940    * using the {$isUserAtHotspot} smarty variable you can check now in every
941      template if a user calls the portal from a hotspot or not
942
9432006-03-08 Max Horváth <max.horvath@freenet.de>
944        * fixed small bug where clicking on the start button at the portal page
945          didn't open the wifidog portal, but the requested page
946        * updated source to generate a clean PHPdoc output
947        * updated PHPdoc generating script
948
9492006-03-07 Max Horváth <max.horvath@freenet.de>
950        * init_php.php now does a 100% strict check for variable types of
951          elements to be processed when magic_quotes are turned on
952        * fixed duplicate use of SSL_AVIABLE define in common.php
953          This fixes ticket #95.
954        * fixed problens with slashes in htospots_map.php
955          This fixes ticket #97.
956        * fixed variable typo in NodeListXML.php
957        * introduced new InterfaceElements class which is being used to create
958          HTML code - this reduces HTML markup in PHP code and reduces HTML errors
959          we had i.e. on the node administration page (unclosed div).
960          It is being used on the node administration page now and will be updated
961          for the other admin pages ...
962        * when adding an owner or tech officer on the node admin page and pressing
963          enter in the input field the statistics where called (no owner or tech
964          officer was added) - this has been fixed
965        * database schema update 35 wasn't compatible with PostgreSQL version 7,
966          the update script has been changed to be compatible with it ...
967          This fixes ticket #94.
968        * Gabriel Hahmann did a translation of WiFiDog-Auth in portuguese ... it has
969          been included
970          This fixes ticket #98.
971        * on node administration page owners have less rights than admins
972
9732006-03-02 Max Horváth <max.horvath@freenet.de>
974        * converted PNGs to GIFs because Internet Explorer cannot handle alpha
975          transparency of PNGs
976
9772006-02-28 Max Horváth <max.horvath@freenet.de>
978        * the content selector for an owner could produce notices
979        * the button add existing content in the content manager will only be shown
980          if content is actually available
981        * the start button on the portal page won't be shown anymore if a user
982          didn't access it from a WiFiDog hotspot
983        * deleted wifidog/templates/message_unknown_hotspot.html as this error
984          message will be displayed using the genecir error message template
985        * display of generic error messages will be handled by the MainUI class
986        * deleted wifidog/portal/missing_original_url.php as its functions is being
987          handled by wifidog/portal/index.php now
988        * deleted wifidog/templates/message_default.html as its functions is being
989          handled by wifidog/gw_message.php now
990        * deleted wifidog/templates/message_activate.html as its functions is being
991          handled by wifidog/gw_message.php now
992        * account validation hints finally show the real validation grace time
993          (used to display 15 minutes)
994        * deleted wifidog/templates/message_denied.html as its functions is being
995          handled by wifidog/gw_message.php now
996        * deleted wifidog/templates/message_failed_validation.html as its functions
997          is being handled by wifidog/gw_message.php now
998        * deleted wifidog/templates/user_management_menu.html as its not being
999          used anymore
1000        * deleted wifidog/local_content/default/footer.html as its not being
1001          used anymore
1002        * deleted wifidog/local_content/default/header.html as its not being
1003          used anymore
1004        * deleted wifidog/local_content/default/portal.html as its not being
1005          used anymore
1006        * deleted wifidog/local_content/default/new.css as its wasn't ever used
1007        * deleted wifidog/local_content/README as its content isn't valid anymore
1008          used anymore
1009        * Login site now uses a Smarty template to render HTML page
1010        * class MainUI now also delivers $isOwner variable for Smarty
1011
10122006-02-26 Max Horváth <max.horvath@freenet.de>
1013        * Hotspots map page now uses a direct Javascript call for the link
1014          "Show me on the map" (resulting in the browser not jumping to the top of
1015          the page if a user clicks on such a link)
1016        * refactored hotspot status page, it now uses node list classes to generate
1017          output
1018        * WIFI411_CSV has been removed from hotspot status page - it didn't work
1019          properly - a working version can be added to /wifidog/classes/NodeLists
1020        * RSS feed of hotspot status now delivers language of user
1021        * RSS and XML feed of hotspot status now actually do deliver data from
1022          the requested network (before the code accepted network selection but
1023          actually switched back to the current network)
1024        * RSS feed of hotspot status page now gets announced in browser
1025
10262006-02-25 Max Horváth <max.horvath@freenet.de>
1027        * fixed undefined variable bugs in statistic classes (use of date_from and
1028          date_to), variables were processed directly from request, without any
1029          check
1030          This fixes ticket #71.
1031        * clicking on a username in user logs now generates a individual user
1032          report as it does when clicking on a username on the online users page
1033        * Changing the value of the "Is persistent" checkbox doesn't have to
1034          saved when JavaScript is enabled in the browser. Before this change
1035          you had to save a content. So if you wanted to delete a persistant content
1036          you first had to uncheck this checkbox, save the content and delete the
1037          content after saving it. If JavaScript is enabled in your browser you
1038          can go straight ahead, uncheck the checkbox and delete the content.
1039          This fixes ticket #73.
1040        * when processing global arrays if magic quotes is enabled, WiFiDog will
1041          check for type variables
1042          This fixes ticket #84.
1043        * the RSS feed of nodes now delivers the correct link to the nodes homepage
1044          This fixes ticket #80.
1045        * small fix in schema_validate.php which should affect nobody (in schema
1046          version 9)
1047          This fixes ticket #79.
1048        * fixed "Show all available contents for this hotspot" link which didn't
1049          work if WiFiDog wasn't located in the root folder of the webserver
1050        * the "Show all available contents for this hotspot" link won't be shown
1051          anymore unless all requirements are meet that all content of a hotspot
1052          would be shown. The requirements are: you need to have at least one
1053          Content Group tagged artistic and locative content, with at least one
1054          content group element available for display.
1055          This fixes ticket #35.
1056        * adjusting the location of a node via the Google maps geocoding service)
1057          and clicking the button "Use these coordinates" didn't work
1058          This fixes ticket #81 and #82.
1059        * the content select box now only shows the content to a user of which is
1060          is the owner from (same mechanism has already been used on the content
1061          manager page) or all content if the user is a superadmin
1062        * wifidog/admin/content_admin.php removed, because the content manager now
1063          uses the generic object administration interface
1064        * the creation date of a network can be changed now (this value wasn't
1065          displayed in the admin interface, even though it was present in the
1066          database)
1067        * revamped administration sidebar, cleaner interface for the superadmin,
1068          for the owner of a node nothing changes
1069        * added "server administration" section to the administration interface
1070        * Added administration of webservers. For one webserver not much changes.
1071          The SSL available setting has been moved to this section (and removed
1072          from config.php). Running WiFiDog on two or more webserver (with one
1073          database) you now can define the different hostnames of the webserver.
1074          Of course you can also define, which of those webserver serves SSL. This
1075          is for example essential for the Google maps feature (different API keys
1076          for different hostnames)
1077        * for every network you now can define it's own Google Map initial values
1078          and map types
1079        * Hotspots map page now supports different maps for different networks
1080        * Hotspots map page now supports different map types for different networks
1081          This fixes ticket #69
1082        * Hotspots map page now offers full multilingual support (text in the
1083          JavaScript file was english only)
1084        * Hotspots map page now uses a Smarty template to render HTML page
1085
10862006-02-21 Max Horváth <max.horvath@freenet.de>
1087        * fixed access restriction for HTMLeditor in templates folder
1088        * fixed XML error in HTMLeditors CSS and HTML templates
1089        * fixed undefined variable bug in content class ContenGroup
1090        * start page now uses a Smarty template to render HTML page
1091        * start page now also displays information about deployed/operational nodes
1092        * information about valid/online users and deployed/operational nodes gets
1093          cached if caching has been enabled (valid/online users for 1 minute,
1094          deployed/operational nodes for 5 minutes)
1095
10962006-02-17 Max Horváth <max.horvath@freenet.de>
1097        * refactored lost username site - now it also includes the help toolbox
1098        * lost username page now focuses input field automaticly (like on login or
1099          signup page)
1100        * refactored lost password site - now it also includes the help toolbox
1101        * lost password page now focuses input field automaticly (like on login or
1102          signup page)
1103        * refactored sesend validation email site - now it also includes the help
1104          toolbox
1105        * refactored resend validation email page now focuses input field
1106          automaticly (like on login or signup page)
1107
11082006-02-16 Max Horváth <max.horvath@freenet.de>
1109    * added full PHPdoc documentation to Mail class
1110    * added more temporary-email-address-providers to the black-list
1111        * Login site now uses a Smarty template to render HTML page
1112        * refactored signup site - now it also includes the help toolbox
1113        * removed Phlickr directory in /lib dir as Phlickr must be installed via
1114          PEAR
1115        * modified gen.sh to include new template folders for the
1116          translation file generation
1117
11182006-02-15 Max Horváth <max.horvath@freenet.de>
1119        * Login site now uses a Smarty template to render HTML page
1120
11212006-02-14 Max Horváth <max.horvath@freenet.de>
1122        * converted Session class to PHP5 style
1123        * moved code used used to init PHP into wifidog/include/init_php.php
1124        * fixed bug regarding APC (super globals weren't initialized before their
1125          first use
1126        * in an attemp to enter the administration interface of WiFiDog and not
1127          being logged in you'll be redirected to the administration interface after
1128          a successful login, if you are an admin or owner of a node. This only
1129          works for a virtual login, as it isn't needed to be done when logging in
1130          via a WiFiDog node (then you have to login anyway on the splash page
1131          first)
1132        * fixed preview of network in administration interface as content for a
1133          network as is isn't available in the code, yet
1134
11352006-02-13 Rob Janes <janes.rob@gmail.com>
1136    * cron/cleanup.php needed new way to call common.php
1137        * added cron/vacuum.php to round things out
1138
11392006-02-07 Benoit Grégoire  <bock@step.polymtl.ca>
1140        * Fix a bunch of file inclusion bugs in the statistics subsystem.
1141          This is only a ad-hac fix. It seems the requires for just about every
1142          class have been stripped off. This must be fixed, all classes should
1143          require_once all classes or include that they need that isn't included by
1144          a parent class.
1145
11462006-02-06 Benoit Grégoire  <bock@step.polymtl.ca>
1147        * wifidog/local_content/default/hotspot_logo.jpg: Delete deprecated file
1148        * wifidog/local_content/default/hotspot_logo_banner.jpg: Delete deprecated
1149          file
1150
11512006-02-04 Max Horváth <max.horvath@freenet.de>
1152        * MainUI class now uses Smarty templates to render HTML pages
1153        * display of debug messages by using $_REQUEST['debug_request'] on any
1154          page is now only possible for a super admin
1155        * caching class now supports lifetime of a cache and every data type
1156          supported by PHP (except the resource-type)
1157        * Content class caches available content plugins for 7 days if caching has
1158          been enabled -> results in a nice speed-up on every page call because
1159          of 17 saved filesystem queries
1160        * converted Security class to PHP5 style and it's functions to static
1161          functions
1162        * fixed broken HTMLeditor support
1163        * implemented PEAR::HTML_Safe cache support - if PEAR::HTML_Safe has been
1164          installed it strips down all potentially dangerous content within HTML
1165          that has been entered using the content plugins Langstring,
1166          TrivialLangstring and HTMLeditor
1167        * moved /wifidog/include/HTMLeditor to /wifidog/content/HTMLeditor
1168        * fixed thrown exception in path_defines_base.php (sprintf() was used
1169          uncorrectly)
1170        * template for definition of SYSTEM_PATH has been added to config.php
1171          for easier definiton when path detection failes
1172        * from now on caching is enabled by default in config.php - it means that
1173          WiFiDog caching features will automaticly be used if PEAR::Cache_Lite
1174          has been installed
1175        * updated installation file to represent all the new modules that can be
1176          installed to use all WiFiDog features
1177
11782006-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
1179        * path_defines_base.php:  Fix syntax errors in the exception thrown. Add
1180          more meaningfull output
1181
11822006-01-29 Max Horváth <max.horvath@freenet.de>
1183        * WiFiDog now detects APC PHP cache and eAccelerator PHP cache and disables
1184          both PHP caches, because WiFiDog currently doesn't run with either of
1185          those PHP caches (I'm still investigating why)
1186        * added a missing <ul> HTML tag on the administration page
1187        * the validation mail sent to new users now includes the full path to the
1188          WiFiDog installation (before it assumed WiFiDog to be installed in
1189          the document root of the webserver)
1190        * fixed display of start button of portal when WiFiDog is not installed
1191          in the document root of the webserver
1192        * replaced $_SERVER["DOCUMENT_ROOT"]-stuff with our defines made in
1193          path_defines_base.php
1194        * updated HTMLeditor content class to use the new, moved stylesheet.css
1195        * fixed error messages not displaying technical support e-mail address
1196
11972006-01-25 Max Horváth <max.horvath@freenet.de>
1198        * a notice message regarding timezones was being displayed when running PHP
1199          5.1.0+ due to rewritten date functions of PHP. There is a new config flag
1200          in config.php named DATE_TIMEZONE. Set it to your local timezone.
1201          Don't forget to update your local.config.php in case you're using it.
1202
12032006-01-24 Benoit Grégoire  <bock@step.polymtl.ca>
1204        * Dependencies.php:  We missed one more instance of non-unifrom code for
1205          path detection. The Dependencies class now uses the code in
1206          include/path_defines_base.php like the rest of the system. Also make it
1207          returns more usefull error messages.
1208        * SmartyWifidog.php: Output the error returned by Dependencies if Smarty
1209      cannot be found for some reason.
1210
12112006-01-23 Max Horváth <max.horvath@freenet.de>
1212        * Removed compiled PHPdoc documentation
1213        * moved createDoc.sh to "doc" directory, documentation can be generated on
1214          the fly now, in the future we'll be generating a nightly PHPdoc on
1215          wifidog.org
1216        * renamed "ChangeLog" to CHANGELOG, resulting this file being parsed by
1217          PHPdoc
1218        * moved "header.gif" image to its own folder in the images directory
1219        * touched almost every PHP file in WiFiDog auth server for PHPdoc generating
1220          compiling without any warnings
1221        * Initialized uninitialized variables in Node class
1222        * Fixed initialization error of one variable
1223        * Configuration file (config.php) will be read before path detection is
1224          being started (otherwise there was no chance to set a manual SYSTEM_PATH)
1225
12262006-01-22 Benoit Grégoire  <bock@step.polymtl.ca>
1227        * common.php: Real fix for Ticket #59 ;)
1228        * common.php: Untested fix for Ticket #59
1229
12302006-01-18 François Proulx <francois.proulx@gmail.com>
1231        * Remove unneeded .cvsignore files since the svn:ignore property is set to
1232          the same list
1233
12342006-01-11 Rob Janes <janes.rob@gmail.com>
1235    * classes/User.php: added setters, getters, throw exceptions, added
1236      refresh() subr, tweaked language
1237
12382006-01-09 Max Horváth <max.horvath@freenet.de>
1239        * createDoc.sh: added description of how to install requirements
1240
12412006-01-08 Benoit Grégoire  <bock@step.polymtl.ca>
1242        * common.php: Improve path detection code, and start moving PATH detection
1243          back to a central location. You should NEVER go to any $_SERVER[]
1244          variables for path related stuff, all you need is already available
1245          in defines.
1246        * UserReport.php: Remove dangling reference to BASEPATH.
1247        * install.php: Use centralised path detection.
1248
12492006-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
1250        * config.php, common.php: Completely remove SYSTEM_PATH from config.php,
1251          making one less config option to manage.  It is now autodetected.
1252
12532006-01-03 Rob Janes <janes.rob@gmail.com>
1254        * added support for classes/EventLogging.php.
1255        * modified include/common.php to pull in the EventLogging class
1256        * modified index.php to kick start error logging with minimal setup.
1257          I didn't setup a css for this, so any errors are simply pushed out
1258          when the logging channel is destructed.
1259        * other changes to include/common.php - a host of utility functions,
1260          prefixed with "cmn" to avoid namespace collision.
1261        * stock config.php, added global $AVAIL_LOCALE_ARRAY, cause of my change
1262          to include/common.php, wrapping the require_once in a function.
1263
12642006-01-04 Pascal Leclerc <isf@plec.ca>
1265    * install.php: New security validation and small bugs fix in admin account
1266      creation
1267
12682006-01-02 Rob Janes <janes.rob@gmail.com>
1269        * split static stylesheet.css from smarty template stuff.
1270          local_content/default/stylesheet.css has only smarty template stuff.
1271          local_content/common/stylesheet.css has all the rest.
1272        * classes/MainUI.php changed to <link ...> the common stylesheet.css, while
1273          still smarty fetching the templated stylesheet.
1274        * classes/SmartyWifidog.php changed to set a smarty template variable so
1275          that the templating stylesheet could work.
1276
12772005-12-29 François Proulx <francois.proulx@gmail.com>
1278        * Integrating Philippe's code for User class
1279        * This build needs extensive testing please
1280        * E-mail blacklisting (Mail class)
1281
12822005-12-29 François Proulx <francois.proulx@gmail.com>
1283        * Added Aidan's file_exists_incpath function to Dependencies class
1284        * Translated and standardized most of PostgreSQL abstraction class.
1285        * Removed blank lines at end of many files
1286        * Tested the new Phlickr package, which fixes URL on Flickr
1287
12882005-12-28 Max Horváth <max.horvath@freenet.de>
1289        * Removed BASEPATH define from source - resulting in a better
1290          require-overview
1291        * speed improvement of 7% by optimizing Dependencies class
1292        * improved documentation of content classes
1293
12942005-12-26 François Proulx <francois.proulx@gmail.com>
1295        * Fixed bug when the same user was owner of many nodes
1296        * Added missing reference to content_display_location initial data in dump
1297          script
1298
12992005-12-26 François Proulx <francois.proulx@gmail.com>
1300        * Tiny modifications to config.php
1301        * Reinserted the deprecated defines, created errors on my system
1302        * Fully translated FormSelectGenerator class, Locale
1303        * Added comments to Utils, Locale etc..
1304        * Fully tested installation from scratch using blank database with
1305          installation script
1306        * Improved installation script a bit
1307        * Synched SQL for CVS schema 29 --> 33
1308
13092005-12-26 Max Horváth <max.horvath@freenet.de>
1310        * added new headers to every source file
1311        * converted file to represent a tab as four (4) spaces
1312        * added PhpDocumentor documentation
1313        * added WiFiDog skin to HTMLeditor
1314        * language selection in a content class now shows the language name instead
1315          of the language code
1316        * added caching support to content classes Langstring and TrivialLangstring
1317
13182005-12-15 Max Horváth <max.horvath@freenet.de>
1319        * fixed bug in dependencies class when gettext support for PHP is not
1320          available
1321
13222005-12-14 Max Horváth <max.horvath@freenet.de>
1323        * fixed bug in config.php:59 ... was unable to select DB server
1324
13252005-12-08 Max Horváth <max.horvath@freenet.de>
1326        * added FCKeditor to the supported libraries
1327        * added new content type: HTMLeditor
1328        * added new caching class which uses PEAR::Cache_Lite - must be enabled in
1329          config.php
1330        * HTMLeditor is the first class using the new caching class
1331        * removed unused function from content type Langstring
1332        * beautified and reorganized config.php and added a new switch for the
1333          caching class
1334
13352005-12-06 Max Horváth <max.horvath@freenet.de>
1336        * fixed SQL bug when calling the "report configuration" page as a node owner
1337
13382005-12-05 François Proulx <francois.proulx@gmail.com>
1339        * Crunched the Google Maps Div block for better display on small screens
1340
13412005-12-05 Max Horváth <max.horvath@freenet.de>
1342        * fixed bug when calling the preview version of a login page
1343
13442005-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
1345        * User.php: Fix a bug in the sql query in isUserValid(). Checked that the
1346          change works with postgresql 7.4 and 8. It is still not understood why
1347          ISF doesn't encounter this bug on it's production server.
1348
13492005-11-28 François Proulx <francois.proulx@gmail.com>
1350        * Improved Flickr user output
1351        * Mostly completed Flickr admin UI
1352        * Changed display algorithm to display sequentially
1353
13542005-11-25 Rob Janes <janes.rob@gmail.com>
1355        * EventLogging class initial checkin
1356
13572005-11-14 Max Horváth <max.horvath@freenet.de>
1358        * fixed path to included classes
1359          Guys, please check the paths to included files twice next time you're
1360          moving files
1361
13622005-11-12 François Proulx <francois.proulx@gmail.com>
1363        * Fixed schema 33 update
1364        * fixed css
1365
13662005-11-11 François Proulx <francois.proulx@gmail.com>
1367        * Fixed Admin hotspot location map
1368        * Take note: Google Maps updated their API key system, so that you simply
1369          need to register a key for the whole domain.
1370          ie. one key for http://auth.abc.org will work even in sub-directories
1371        * Changed the Content classes structure to make them "pluggable" more easily
1372          as requested during last developpers meeting
1373        * node_list.php now support column sorting, node_id are naturally sorted
1374          (numerical order, alphabetic)
1375        * Added 2-dimensionnal natural sort algorithm to Utils class
1376        * fixed Node::getSelectNodeUI to naturally sort by node_id
1377        * Improved Flickr content class
1378        * Modified Flickr database schema
1379        * Modified CSS look and feel
1380
13812005-11-08 Philippe April  <philippe@ilesansfil.org>
1382        * Put a note to mention the roles of users in the logged in users list
1383        * Fixed online users link to statistics
1384
13852005-11-01 Max Horváth <max.horvath@freenet.de>
1386        * added german translation
1387        * modified gen.sh to include geocoder and statistics classes for the
1388          translation file generation
1389        * modified hotspot status page to allow translations of every string
1390        * modified node list page to allow translations of every string
1391        * modified FAQ page to allow translations of every string
1392        * fixed bug in FAQ page which caused the Safari browser to display very
1393          large text
1394        * modified online users page in administration to allow translations of
1395          every string
1396        * added Phlickr directory to /lib
1397
13982005-10-25 Francois Proulx <francois.proulx@gmail.com>
1399        * /classes/DateTime.php : First iteration of DateTime abstraction class
1400        * Basic support for datetime input field.
1401        * TODO : Overhaul with full-fledged datetime selector...
1402
14032005-10-25 Francois Proulx <francois.proulx@gmail.com>
1404        * AuthenticatorRadius : Fixed legacy variable misuse
1405
14062005-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
1407        * AuthenticatorRadius:  Fix bug reported by kouete, by inspection. Fix not
1408          actually tested. Guys, read the documentation of the function parameters
1409          when you code, it's there to help you ;)
1410
14112005-10-21 Francois Proulx <francois.proulx@gmail.com>
1412        * Integration testing for Radius debugging
1413        * Added network_id parameter to hotspot_status.php for selecting network
1414        * Default network will be automatically selected...
1415
14162005-10-04 Francois Proulx <francois.proulx@gmail.com>
1417        * Scaled down network logo
1418        * Changed CSS accordingly
1419        * Modified online users SQL query to sort better
1420
14212005-10-04 Francois Proulx <francois.proulx@gmail.com>
1422        * Removed unwanted file from checkout
1423
14242005-10-07 Philippe April  <philippe@ilesansfil.org>
1425        * Released wifidog-auth-1.0.0_m2
1426
14272005-10-06 Benoit Grégoire  <bock@step.polymtl.ca>
1428        * AuthenticatorLocalUserNoSignup:  Make a new authenticator, identical to
1429          AuthenticatorLocalUser but disalowing new user signup.  When setting up
1430          a server, you can add your users, and then change the authenticator class
1431          from AuthenticatorLocalUser to AuthenticatorLocalUserNoSignup
1432        * signup.php: Actually enforce it. Still needs improvement, as the network
1433          is still shown for signing up.
1434
14352005-10-04 Francois Proulx <francois.proulx@gmail.com>
1436        * Translated some error message in SQL abstraction
1437        * Cleaned up error messages when starting from scratch
1438        * Added link to install script, when the database is empty.
1439        * Fixed initial data dump script
1440
14412005-10-04 Benoit Grégoire  <bock@step.polymtl.ca>
1442        * Remove a bunch of deprecated methods from the Node object,
1443          document undocumented methods.
1444        * Make the node id editable.  This allows the gateway "MAC address as node
1445          ID" patch by London wireless to be usable with the standard auth server,
1446          and to transition to using MAC address as node ID.
1447        * Fix a saving problem with all the content types with some versions of PHP
1448        * Add a new Content type:  IFrameRest.  This allows the result of a REST
1449          style query returning HTML to be displayed in a HTML iframeset. Currently
1450          supported are substitution of the node_id, the user_id and the last
1451          display date in the get query.
1452        * CVS version of the auth server should now be "reasonnably" safe to use in
1453          production, so the 2005-09-01 notice is no longuer in effect.
1454
14552005-10-04 Francois Proulx <francois.proulx@gmail.com>
1456        * Translated signup page messages
1457
14582005-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
1459        * Partial login page content manager support (Node only for now)
1460
14612005-09-27 Philippe April  <philippe@ilesansfil.org>
1462        * Guess the best language from what the browser sends,
1463          otherwise use the default.
1464
14652005-09-26 Francois Proulx <francois.proulx@gmail.com>
1466        * Translated the few new sentences on the login page
1467
14682005-09-26 Benoit Grégoire  <bock@step.polymtl.ca>
1469        * login/index.php, stylesheet.css:  Make the create new account bigger, and
1470          remove unnecessary words.
1471
14722005-09-26 Francois Proulx <francois.proulx@gmail.com>
1473        * Completed translations
1474
14752005-09-26 Francois Proulx <francois.proulx@gmail.com>
1476        * Fixed annoying bug in new google maps code
1477
14782005-09-25 Francois Proulx <francois.proulx@gmail.com>
1479        * Complete rewrite of Google maps code, now stands as a js class
1480        * relooking of mapping stuff
1481        * wrote basic "Find the closest hotspot" widget for canada geocoding only...
1482        * fixed broken xml, damn blank lines...
1483
14842005-09-25 Benoit Grégoire  <bock@step.polymtl.ca>
1485        * Statistics:  At long last, the monster statistics commit.
1486          We finally have a stable, documented and uniform codebase for statistics.
1487          This resulted is removal of several functions in other classes too.
1488          There are a few new reports, but mostly, each report is a lot more
1489          flexible.
1490          Still TODO:
1491          - Security:  This is to be implemented directly in the Statistics class,
1492            by forcing restrictions to the selected nodes and network.
1493          - Support selecting multiple users for a report.
1494            The code and SQL queries support it, but the UI doesn't. An easy and
1495            quick way would be to simply parse a coma-separated list. Comment are
1496            off course welcome!
1497
14982005-09-25 Francois Proulx <francois.proulx@gmail.com>
1499        * Updated initial SQL script to schema 29
1500        * Remove useless includes in some files, preventing from using the "plugin"
1501          contents
1502
15032005-09-25 Philippe April  <philippe@ilesansfil.org>
1504        * Make method getCurrentRealNode ORDER BY DESC so it picks
1505          up the latest network name
1506
15072005-09-20 Francois Proulx <francois.proulx@gmail.com>
1508        * Changed the output layout of the Google Maps hotspots list
1509        * Added "Loading" message on Google Maps
1510
15112005-09-17 Francois Proulx <francois.proulx@gmail.com>
1512        * Fixed forgotten reference to getNetwork in AuthLocalUser
1513
15142005-09-17 Francois Proulx <francois.proulx@gmail.com>
1515        * Fixed a few bugs in Radius class
1516        * Improved syntax and completed 100% of French translations
1517
15182005-09-17 Francois Proulx <francois.proulx@gmail.com>
1519        * Fixed RADIUS bug #1287000
1520
15212005-09-16 Francois Proulx <francois.proulx@gmail.com>
1522        * Added Mail Classes to circumvent mb_send_mail UTF-8 problems
1523        * This class provides UTF-8 mailing for validation e-mail, lost password,
1524          lost username...
1525        * Fixes reported bug where users would not receive validation email on
1526          some servers
1527
15282005-09-13 Francois Proulx <francois.proulx@gmail.com>
1529        * Added bytes in words for online users
1530
15312005-09-13 Francois Proulx <francois.proulx@gmail.com>
1532        * Fixed bug in user stats
1533
15342005-09-13 Francois Proulx <francois.proulx@gmail.com>
1535        * Added access permissions for statistics.
1536
15372005-09-12 Benoit Grégoire  <bock@step.polymtl.ca>
1538        * schema_validate.php:  Fix a bug version 26.  The conversion of the old
1539          account_origin as a parameter to the authenticator was wrong.  To fix it
1540          manually if you already ran the script, you must quote the parameter in
1541          column network_authenticator_params in the networks table.
1542        * Network.php:  Fix improper quoting of Authenticator arguments.
1543        * RssPressReview.php:  Make expansion of today's item optionnal.
1544
15452005-09-11 Francois Proulx <francois.proulx@gmail.com>
1546        * Fixed dependency check, found a workaround for the file_exists problem
1547
15482005-09-11 Francois Proulx <francois.proulx@gmail.com>
1549        * Added dependency check for Phlickr
1550
15512005-09-11 Francois Proulx <francois.proulx@gmail.com>
1552        * Fixed Flickr support
1553        * Now using PEAR version of Phlickr
1554        * Download the latest package and install like this: pear install
1555          PhlickrXYZ.tar.gz
1556
15572005-09-10 Francois Proulx <francois.proulx@gmail.com>
1558        * Fixed dependency check
1559
15602005-09-10 Francois Proulx <francois.proulx@gmail.com>
1561        * Removed many blank lines after php tags
1562        * added more checks, for dates etc...
1563        * changed sorting mode
1564
15652005-09-10 Benoit Grégoire  <bock@step.polymtl.ca>
1566        * Add UI to add a new Network
1567        * Improve UI to add a new Node and new Content
1568
15692005-09-10 Philippe April  <philippe@ilesansfil.org>
1570        * signup.php: Fixed bug in detecting is the user is already part of the
1571          network.
1572        * classes/{Authenticator,Network,Node}.php: isset, and issues preventing
1573          users from logging out.
1574        * add BASEPATH to most files with require_once
1575        * Added dependency checking class
1576        * Don't show the admin menu if user does not have access
1577        * Got rid of user_log_detailed.html, using stats.php instead
1578
15792005-09-10 Francois Proulx <francois.proulx@gmail.com>
1580        * Automatically redirect user to login form when trying to access admin
1581        * Added various isset, empty tests, vars init in stats (to avoid PHP
1582          warning)
1583
15842005-09-08 Philippe April  <philippe@ilesansfil.org>
1585        * New stats system with graphs
1586        * Changed the UI a bit to reflect this change
1587        * Updated stylesheet
1588
15892005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1590        * portal/index.php:  Custom portal redirect now operational.
1591
15922005-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
1593        * MainUI:  Move call to garbage_collect() here.
1594        * portal/index.php:  New feature:  Custom portal redirect.
1595        * rework much of the logout code
1596
15972005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1598        * login/index.php:  Fix getSplashOnlyUser() method call.
1599
16002005-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
1601        * RssPressReview.php:  Fix z-index so the hovers will overlap the expanded
1602          news.
1603        * login/index.php:  Reorganise code to make it more legible and comment what
1604          it does. Emphasise error messages and put them right above where they
1605          clicked so users can actually see them.
1606        * Security.php:  Remove deprecated login code
1607        * Authenticator.php: Change calling convention for better encapsulation
1608        * New feature:  Support multiple simultaneous logins if enabled in network
1609          configuration
1610        * New feature (in testing): Splash-only node support
1611
16122005-09-05 Benoit Grégoire  <bock@step.polymtl.ca>
1613        * include/common.php:  Add code to undo the effect of magic_quote if enabled
1614          in the server config.  It is still strongly recommended to disable
1615          magic_quote
1616        * Node.php:  Add UI for splash only node and custom portal
1617        * Update schema
1618
16192005-09-04 Francois Proulx <francois.proulx@gmail.com>
1620        * Removed update.php script ( should not have been in CVS )
1621        * Moved authenticator require in Network getAuthenticator()
1622
16232005-09-03 Philippe April  <philippe@ilesansfil.org>
1624        * Schema change: Added last_paged column to nodes table
1625        * Replaced HOTSPOT_NETWORK_NAME with hotspot_network_name in all templates
1626        * s/Networt/Network/
1627        * Fixed signing up and validation, typos
1628
16292005-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
1630        WARNING:  DO NOT use the CVS auth server in production until further notice.
1631        Massive internal changes are underway.
1632        Use the release tagged 1.0m1 in production.
1633        * Network abstraction mostly complete, including UI.
1634          All that is missing is new network creation, network stakeholder UI and
1635          testing.
1636        * Cleanup the config file of all the now unneeded constants.
1637          Note that the install script is currently broken.
1638          There can now be multiple networks on the server.
1639          The install script will have to make sure that there is at least one, with
1640          one super-admin
1641
16422005-08-31 Francois Proulx <francois.proulx@gmail.com>
1643        * Fixed bug where node ID containing periods, whitespaces or underscores
1644          would confuse PHP
1645        * MD5 hash is used to make sur the http vars are unique
1646        * This is only valid for Node administration
1647
1648NOTE:  the 1.0m1 release was tagged here
1649
16502005-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
1651        * Node.php:  Fix node creation
1652
16532005-08-31 Francois Proulx <francois.proulx@gmail.com>
1654        * Fixed new node creation bug
1655
16562005-08-29 Philippe April <philippe@ilesansfil.org>
1657        * js/gmaps_hotspots_status_map.js: Fixed small bug in that makes prevents
1658          IE to see the map properly.
1659
16602005-08-22 Pascal Leclerc  <pascal@plec.ca>
1661        * install.php, Change javascript to OnClick + dependencie note
1662        * schema_validate.php, Fix broken DB update for install.php
1663        * SmartyWifidog.php, Add automatic redirect to install.php if Smarty not
1664          installed
1665
16662005-08-22 Francois Proulx <francois.proulx@gmail.com>
1667        * Added edit button for quickly accessing Content editing mode
1668        * Changed the layout so the admin ui fits in a tighter space
1669
16702005-08-21 Francois Proulx <francois.proulx@gmail.com>
1671        * Added reference to new street address fields in mapping page and on status
1672          template
1673        * Fix bug on line 756 of RssPressReview , added check for empty var.
1674        * Flickr support is broken, added  bug to sf.net tracker
1675
16762005-08-21 Francois Proulx <francois.proulx@gmail.com>
1677        * Node admin UI should now be completed.
1678        * Minor bug fixes in Geocoder
1679        * Merged node_owners and node_tech_officers table into node_stakeholders
1680
16812005-08-19 Benoit Grégoire  <bock@step.polymtl.ca>
1682        * New schema version
1683        * install.php, tmp/magpie_cache/:  Move all magpie caches
1684          to a central location, adjust install script to match.
1685        * classes/MainUI.php:  Add $_REQUEST array output if debug_request is set as
1686          a parameter to the page
1687        * classes/Network.php, classes/Node.php:  Change content ordering to be most
1688          recently subscribed first, this is a stopgap measure while waiting for
1689          Content ordering to be explicitely settable.
1690        * classes/Content/RssAggregator.php:  Full admin UI, some bug fixes
1691        * lib/RssPressReview/RssPressReview.php: New version, adds isFeedAvailable()
1692          and getFeedTitle() methods.
1693          Fixes minor bugs
1694
16952005-08-17 Pascal Leclerc  <pascal@plec.ca>
1696    * Added install script + minor changes in schema_validate.php
1697
16982005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1699        * Re-Run sync_sql_for_cvs.sh, did not run to completion last time.
1700
17012005-08-15 Benoit Grégoire  <bock@step.polymtl.ca>
1702        * Run sync_sql_for_cvs.sh
1703        * sql/dump_initial_data_postgres.sh:  Fix a hardcoded reference to rss_url
1704          which no longer exists
1705        * .project:  Remove mistakenly commited file in last commit
1706        * .cvsignore:  Add file to avoid previous error
1707
17082005-08-12 Francois Proulx <francois.proulx@gmail.com>
1709        * Added missing GisPoint fille to CVS
1710        * Fixed some bugs
1711        * Added Technical officer table
1712        * Added technical officer management to node UI
1713
17142005-08-12 Francois Proulx <francois.proulx@gmail.com>
1715        * Changed config.php GMAPS_API_KEY to GMAPS_PUBLIC_API_KEY
1716        * Added GMAPS_ADMIN_API_KEY, needed for admin UI
1717        * This is a stupid limitation of the Google Maps API which matches the
1718          complete URL path
1719        * Added /classes/GisPoint.php class
1720        * Will add geocode + Google Maps capabilities very soon
1721        * Notice : the XML schema will change very soon...
1722        * I will try to keep the streetAddress field intact so I won't break
1723          backward compat.
1724
17252005-08-12 Benoit Grégoire  <bock@step.polymtl.ca>
1726        * classes/MainUI.php: Move the call to schema_validate() in MainUI's
1727          constructor
1728        * lib/RssPressReview/RssPressReview.php: Finish rewrite. Move there to
1729          reflect it's independently maintained status
1730        * wifidog/classes/Content/HotspotRss.php:  Delete the class, obsolete
1731        * wifidog/classes/Content/RssAggregator.php:  Functionnal, but needs it's
1732          admin UI written.
1733        * wifidog/include/schema_validate.php:  Create the table structure for the
1734          new RssAggregator.
1735          Remove rss_url in nodes table, no longer needed.  Move it's data to the
1736          new Content class.
1737
17382005-08-11 Francois Proulx <francois.proulx@gmail.com>
1739        * Refactored the Admin UI.
1740        * I need to write the upload form and rewrite statistics
1741
17422005-08-10 Francois Proulx <francois.proulx@gmail.com>
1743        * More GIS stuff
1744
17452005-08-10 Francois Proulx <francois.proulx@gmail.com>
1746        * Added Geocoders
1747          - /classes/AbstractGeocoder.php
1748          - /classes/Geocoders/GeocoderCanada.php
1749          - /classes/Geocoders/GeocoderUsa.php
1750        * This will be used for enterring GIS data
1751        * Coming in the next few days: set hotspot gis using Google Maps + Geocoding
1752
17532005-01-25 Pascal Leclerc  <pascal@plec.ca>
1754        * Fix hardcoded images path in classes/MainUI.php
1755
17562005-07-25 Francois Proulx <francois.proulx@gmail.com>
1757        * Fixed bug in hotspot_status , added htmlspecialchars();
1758        * This solved the bug where ampersands would break the XML
1759
17602005-07-17 Francois Proulx <francois.proulx@gmail.com>
1761        * Fixed bugs in gen.sh, compile.sh locale scripts
1762
17632005-07-12 Francois Proulx <francois.proulx@gmail.com>
1764        * Changed XML element from hotspotsMetadata to hotspots and added networkUri
1765          element to networkMetadata
1766
17672005-07-12 Francois Proulx <francois.proulx@gmail.com>
1768        * Fixed XML protocol for exchanging hotspots status.
1769        * Should now be considered stable (stamped v1.0)
1770        * Fixed hotspots status map to reflect the changes
1771        * Added french translations
1772
17732005-07-11 Francois Proulx <francois.proulx@gmail.com>
1774        * Changed link to hotspots map using NON ssl because Google Keys are
1775          sensitive to the whole path.
1776
17772005-07-11 Benoit Grégoire  <bock@step.polymtl.ca>
1778        * classes/RssPressReview.php: Begin rewrite.
1779        * classes/MainUI.php: Add addFooterScript() function.
1780        * venues_map.php:  Workaround the IE DOM problem.
1781
17822005-07-05 Francois Proulx <francois.proulx@gmail.com>
1783        * Changed wording in hotspots status page added legend
1784
17852005-07-05 Francois Proulx <francois.proulx@gmail.com>
1786        * Minor adjustements to icon positionning
1787
17882005-07-05 Francois Proulx <francois.proulx@gmail.com>
1789        * Changed google maps marker icons
1790
17912005-07-05 Francois Proulx <francois.proulx@gmail.com>
1792        * Added missing elements in XML exchange format
1793        * Stable v1.0 for XML exchange format and Google Maps mapping
1794        * Added GMaps constants to config file
1795        * Unsmartied index.php , added link to map
1796        * Check config.php to set corresponding values
1797        * You can now use hotspot_status.php?format=XML along with xslt query string
1798          parament to convert your XML document
1799        * For this to work, You need to have activated XSLT ( see config file )
1800
18012005-07-05 Francois Proulx <francois.proulx@gmail.com>
1802        * Added Google Maps mapping venues_map.php
1803        * /js/venues_status_map.js  JavaScript code for Mapping
1804        * In beta : tested successfuly with 48 nodes in the Montreal area, loads in
1805          a snap
1806
18072005-07-03 Francois Proulx <francois.proulx@gmail.com>
1808        * Updated the XML venues status format ( version 1.0, once approved )
1809        * Added long / lat fields to nodes table ( for mapping purposes )
1810
18112005-06-17 Francois Proulx <francois.proulx@gmail.com>
1812        * Added IFrame and SimpleIFrame content types.
1813
18142005-06-28 Benoit Grégoire  <bock@step.polymtl.ca>
1815        * classes/Content/Langstring.php:  Bug fix:  Langstring was always
1816          non-persistent, no matter the checkbox.  Move the code to
1817          TrivialLangstring.php where it belongs.
1818
18192005-06-21 Benoit Grégoire  <bock@step.polymtl.ca>
1820        * portal/inted.php:  Implement the start button functionnality (maybe it
1821          would be better to call it "use the Internet").  From now on, once
1822          authenticated and when pressing the start button on the portal, the user
1823          will be sent to the page he originally tried to access.  A second window
1824          will be popped with the portal page so he can come back to it. The window
1825          is collapsed, and can be expanded back by clicking on the link. I tried
1826          to make it cross platform (and mostly did) but it's still buggy in IE.
1827
1828          At the same time, this fixes the goof reported by Rob Kelley of
1829          nycwireless.net
1830
1831        * portal/missing_original_url.php:  Displayed when the user tries to use the
1832          start button but for some reason the original url is unavailable
1833        * common.php:  New define CURRENT_REQUEST_URL, hopefully containing the full
1834          URL in the user's URL bar.
1835
1836
18372005-06-17 Francois Proulx <francois.proulx@gmail.com>
1838        * Removed forced Pattern Language on all hotspots
1839        * Do not show hotspot logo in portal page, only on login, until we find a
1840          better layout
1841
18422005-06-16 Francois Proulx <francois.proulx@gmail.com>
1843        * Added XML output format for hotspot_status.php
1844        * Rough draft v1.0
1845        * TODO move to different classes once stabilized
1846        * Can use XSLT, if activated ( XSLT_SUPPORT constant )
1847        * ie : http://wifidog-auth.org/hotspot_status.php?format=XML&xslt=http://wifidog-auth.org/xslt/hotspot_status.xsl
1848        * or simply : http://wifidog-auth.org/hotspot_status.php?format=XML
1849
18502005-06-06 Francois Proulx <francois.proulx@gmail.com>
1851        * Added long description field to content table
1852        * MUST use schema_validate
1853        * Modified Pattern Language to be more generic
1854        * resend changelog
1855
18562005-06-06 Francois Proulx <francois.proulx@gmail.com>
1857        * Made changes to Pattern Language ( Kate Armstrong )
1858
18592005-05-30 Philippe April <philippe@ilesansfil.org>
1860        * Show username in user_stats.php instead of user_id
1861          and in other admin pages
1862
18632005-05-30 Francois Proulx <francois.proulx@gmail.com>
1864        * Changed language selectbox name so it does not clash with ISF's domain
1865          cookie
1866        * Fixed setlocale algorithm in Locale.php
1867
18682005-05-29 Francois Proulx <francois.proulx@gmail.com>
1869        * Missing null check in validate.php
1870
18712005-05-27 Francois Proulx <francois.proulx@gmail.com>
1872        * Changed the signup process to make it smoother for users
1873        * The user will automatically be granted the 15 minutes if he's signing up
1874          at a real hotspot
1875        * If the user closes his browser during the 15 minutes and loses its
1876          session, we will regenerate it
1877        * Added big red message to the top of the portal page, warning user to
1878          validate as soon as possible
1879        * Fixed translation typos
1880
18812005-05-26 Benoit Grégoire  <bock@step.polymtl.ca>
1882        * Someone moved the fallback gettext functions definition (for when gettext
1883          isn't installed) inside the static setCurrentLocale method, completely
1884          breaking the system when PHP doesn't have gettext support.  This is an
1885          untested fix.
1886
18872005-05-24 Francois Proulx <francois.proulx@gmail.com>
1888        * Fixed bug in auth.php to let users go through when the click twice on the
1889          login button
1890        * Fixed bug in hotspot_log.php
1891
18922005-05-24 Francois Proulx <francois.proulx@gmail.com>
1893        * Added "Get access statistics" button to Node admin to get hotspot specific
1894          stats
1895        * Added search box in Users log to get a specific user stats quickly
1896
18972005-05-24 Francois Proulx <francois.proulx@gmail.com>
1898        * Fixed typo in some translations
1899        * Cleaned-up todos
1900
19012005-05-18 Francois Proulx <francois.proulx@gmail.com>
1902        * Added strip_tags in RssPreview ( some malformed HTML would break the page
1903          layout)
1904
19052005-05-16 Francois Proulx <francois.proulx@gmail.com>
1906        * Changed login message in MainUI to make it clearer what the login button
1907          will do
1908
19092005-05-13 Philippe April <philippe@ilesansfil.org>
1910        * Added deployment status to node_list
1911
19122005-05-11 Francois Proulx <francois.proulx@gmail.com>
1913        * Began writing user profiles
1914        * Added many methods to User class
1915        * Added node quota fields in DB ( bandwidth, throttling ...)
1916
19172005-05-10 Francois Proulx <francois.proulx@gmail.com>
1918        * Fixed Login link in signup page ( MainUI.php ) if the Session has gw_id,
1919          gw_address, gw_port show physical login link
1920
19212005-05-10 Francois Proulx <francois.proulx@gmail.com>
1922        * Added download button CSS class to style button
1923
19242005-05-10 Francois Proulx <francois.proulx@gmail.com>
1925        * Fixed wrong method name in File.php
1926        * Added strip tags to Langstring
1927        * Basic styling of content_admin table
1928
19292005-05-04 Francois Proulx <francois.proulx@gmail.com>
1930        * Fixed serialization issue ( flickr)
19312005-05-04 Francois Proulx <francois.proulx@gmail.com>
1932        * Improved caching
1933        * Wrote very basic gridview code for Flickr
1934
19352005-05-04 Francois Proulx <francois.proulx@gmail.com>
1936        * Implemented caching for Flickr
1937        * Need to contact Phlickr to see how we could do better, since serialize
1938          does not work OK on objects
1939
19402005-05-04 Francois Proulx <francois.proulx@gmail.com>
1941        * Fixed bug concerning Content-Length header
1942        * Changed default Unit size for setLocalFileSize to bytes
1943
19442005-05-04 Francois Proulx <francois.proulx@gmail.com>
1945        * Added BLOB support
1946        * modified file_download.php to support new header attributes
1947        * Added ImportLargeObject, UnlinkLargeObject to PG SQL abtraction
1948        * Make sure your PHP.ini contains the right value to allow big downloads
1949        * Check : http://ca3.php.net/manual/en/features.file-upload.common-pitfalls.php
1950        * ISF Live server is now configured to support 100 megabytes files
1951
19522005-05-04 Francois Proulx <francois.proulx@gmail.com>
1953        * Fixed CSS IE Bug
1954        * Fixed SQL query
1955        * NEED HELP FROM A WEB DESIGNER !!!!!
1956
19572005-05-03 Francois Proulx <francois.proulx@gmail.com>
1958        * Disabled logging in Pattern Language archives
1959
19602005-05-03 Francois Proulx <francois.proulx@gmail.com>
1961        * Having for SQL query... :-(
1962
19632005-05-02 Francois Proulx <francois.proulx@gmail.com>
1964        * PatternLanguage is now completed
1965
19662005-04-30 Francois Proulx <francois.proulx@gmail.com>
1967        * Logout button will now destroy session AND render token USED
1968
19692005-04-30 Francois Proulx <francois.proulx@gmail.com>
1970        * Fixed bug that could potentially let non owners add content in /content
1971          through content groups
1972        * Admin menu won't show node selector if the user is not owner of at least
1973          one hotspot
1974        * Added Width, height support for Picture
1975
19762005-04-30 Francois Proulx <francois.proulx@gmail.com>
1977        * Did my best for content styling ... ( it's 5h00 am )
1978
19792005-04-30 Francois Proulx <francois.proulx@gmail.com>
1980        * Updated sync_sql_for_cvs.sh
1981
19822005-04-30 François Proulx <francois.proulx@gmail.com>
1983        * ChangeLog entry missed by CVS ?!
1984        * Locale now decomposes the locale string by '_'
1985        * Now works on Mac OS X ( but you must use fr_CA, en_CA or fr_FR ... )
1986
19872005-04-30 François Proulx <francois.proulx@gmail.com>
1988        * Trying to solve RSS encoding bug...
1989        * Testing on live server
1990
19912005-04-29 François Proulx <francois.proulx@gmail.com>
1992        * Removed all inline unuseful javascript code on submit buttons
1993          onclick='submit()'
1994        * This conflicted with the actual click on the submit button in Safari
1995        * Fixed check in Network for isOwner, only check superAdmin
1996        * Fixed bug so you can't add an existing content group to itself (deadlock)
1997        * Started coding Pattern language narrative display
1998
19992005-04-29 François Proulx <francois.proulx@gmail.com>
2000        * Wrote User.php addcontent, removeContent, getAllContent()
2001        * Wrote Content.php subscrite() and unsubscribe()
2002        * Added parameters to getAllContent() in Node and Network
2003          (exclude_subscribed_content)
2004        * These will be used for subscribing a to some content
2005        * Pattern Language will be the first to use it
2006        * Online users lists
2007        * Fixed bugs in Node and Network ( isOwner check )
2008
20092005-04-28 François Proulx <francois.proulx@gmail.com>
2010        * Logout button build a query string containing gw_id, gw_address, gw_port
2011          ( if available ), so that a user at a physical hotspot will get the login
2012          page from the hotspot he is.
2013        * Fixed but in Locale ( did not propertly set the locale in the session )
2014
20152005-04-28 François Proulx <francois.proulx@gmail.com>
2016        * Added check in MainUI toolbar so that it won't show "NOT logged in ?"
2017          message when connect to a real hotspot ( not virtual )
2018        * This message confused many users ( they clicked and got the virtual login
2019          instead ! )
2020        * Hide adminstration features ( statistics, hotspot creation, network wide
2021          content etc...) from all but Super admins
2022        * Fixed getAllLocativeArtisticContent in Node.php added is_persistent check
2023        * Added $associate_existing_content parameter to processNewContentUI to
2024          allows reuse for existing content ( in ContentGroup )
2025        * Fixed bug in FlickrPhotoStream delete ( missing return from parent )
2026        * Added security check in all content classes ( ProcessAdminUI )
2027
20282005-04-26 François Proulx <francois.proulx@gmail.com>
2029        * Replaced show only content groups by show persistent
2030
20312005-04-26 François Proulx <francois.proulx@gmail.com>
2032        * Added missing /content directory
2033
20342005-04-26 François Proulx <francois.proulx@gmail.com>
2035        * Added /content/ for displaying all content elements
2036        * Logging is disable when viewing them
2037        * All content elements will expand
2038        * Pattern languages won't display everything ( special property )
2039          isExpandable
2040        * Added a link in portal pages to go to /content/
2041        * Added Show all contents button in content_admin.php
2042
20432005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
2044        * Content.php, ContentGroup.php:  All Content now implement the
2045          isDisplayableAt($node).  Used by the portal, if content has nothing
2046          displayabel, the entire content is skipped.
2047
20482005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
2049        * FlickrPhotostream.php:  Fix the object so it doesn't crash when flicker is
2050          disabled.
2051
20522005-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
2053        * ContentGroup.php:  Fully functionnal content rotation engine, with all
2054          options supported. Rotation based on session may not be reliable if the
2055          user isn't truly logged in (from a node).
2056
20572005-04-26 François Proulx <francois.proulx@gmail.com>
2058        * Most of the missing translations
2059
20602005-04-26 François Proulx <francois.proulx@gmail.com>
2061        * Changed back File to non trivial
2062        * portal page stylesheet
2063
20642005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
2065        * ContentGroupElement.php:  It shouldn't be allowed to create a new content
2066          element in isolation.  Unfortunately the UI allows if for now.  Such
2067          content will now be deleted.
2068        * Locale:  Fix string selection algorithm to pick the right language.
2069        * Content:  Implement display logging.
2070
20712005-04-26 François Proulx <francois.proulx@gmail.com>
2072        * stylesheet rework
2073
20742005-04-26 François Proulx <francois.proulx@gmail.com>
2075        * Fixed wrong location for change password link
2076
20772005-04-25 François Proulx <francois.proulx@gmail.com>
2078        * Portal page styling
2079
20802005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
2081        * ContentGroup.php:  Previous fix didn't work.  New fix.
2082
20832005-04-26 Benoit Grégoire  <bock@step.polymtl.ca>
2084        * ContentGroup.php:  Make bad selection mode eror non-fatal.
2085
20862005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
2087        * Fix bug in ContentGroup enumeration
2088
20892005-04-25 François Proulx <francois.proulx@gmail.com>
2090        * More stylesheets work
2091
20922005-04-25 François Proulx <francois.proulx@gmail.com>
2093        * Much better stylesheet
2094
20952005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
2096        * UI fully functionnal
2097
20982005-04-25 François Proulx <francois.proulx@gmail.com
2099        * More interface work
2100
21012005-04-25 François Proulx <francois.proulx@gmail.com
2102        * Completed integration of new interface with new objects
2103
21042005-04-25 Benoit Grégoire  <bock@step.polymtl.ca>
2105        * Integration merge, should work, but there will be display problems
2106          everywhere.  Expect further commits today.
2107        * Almost 100% complete Network abstraction
2108        * Much better object encapsulation.  Deprecated methods not removed yet.
2109        * Add MainUI class.  Used to display the interface.  Inner workings still
2110          need work.
2111
21122005-04-23 François Proulx <francois.proulx@gmail.com>
2113        * Added Preferred Size support for Flickr pictures
2114
21152005-04-23 François Proulx <francois.proulx@gmail.com>
2116        * Completed missing translations
2117
21182005-04-23 François Proulx <francois.proulx@gmail.com>
2119        * Fixed bugs in File and EmbeddedContent
2120        * Completed first iteration of EmbeddedContent
2121        * Can now play multimedia content
2122        * Could not test fallback with my browser ( Safari and Firefox )
2123        * Need help to test content in different browser to see how it reacts...
2124
21252005-04-22 François Proulx <francois.proulx@gmail.com>
2126        * Fixed bug in FlickrPhotostream.php
2127        * Params did not match new methods requirements ( getUserByEmail )
2128        * Changed stylesheet class name for Flickr to match new changes
2129        * Fixed bugs in File
2130        * Wrote part of EmbeddedContent ( partially working )
2131        * TODO: add support for parameters and attributes in EmbeddedContent
2132
21332005-04-22 François Proulx <francois.proulx@gmail.com>
2134        * Fix schema version in François's commit
2135
21362005-04-21 François Proulx <francois.proulx@gmail.com>
2137        * Added explicit admin UI exceptions support for Flickr
2138        * Completed File and Picture objects
2139
21402005-04-20 François Proulx <francois.proulx@gmail.com>
2141        * Completed Flickr support ( explicit exceptions catching )
2142        * Most of File object is done
2143        * Fixed bug in generic_object_admin.php
2144        * changed stylesheet class tags for Flickr
2145
21462005-04-18 François Proulx <francois.proulx@gmail.com>
2147        * Added Flickr content support
2148        * Part of File object is done
2149
21502005-04-19 Benoit Grégoire  <bock@step.polymtl.ca>
2151        * Working (beta...) content manager and portal.
2152        * Add content preview mode
2153
21542005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
2155        * Hotspot and network content association, continue access control work.
2156        * hotspot_owner.php: Fix wrong assignement of user_id that prevented the
2157          script from working.
2158        * All files:  Remove whitespace and carriage return after the ?> closing
2159          tags.
2160
21612005-04-18 Benoit Grégoire  <bock@step.polymtl.ca>
2162        * Much more complete admin, initial access control work.
2163
21642005-04-15 Benoit Grégoire  <bock@step.polymtl.ca>
2165        * Support more of the content object model, do a half-decent CSS for the
2166          admin interface.
2167
21682005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
2169        * Content.php:  Use full langstring interface by default;
2170
21712005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
2172        * Content.php:  Fix db reference;
2173
21742005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
2175        * Fix Content object enumeration preventing usage of admin interface
2176        * Partial fix for RSS feed encoding (multiple feed aggregation still broken)
2177
21782005-04-14 Benoit Grégoire  <bock@step.polymtl.ca>
2179        * First part of the future content delivery infrastructure. Many files added
2180
21812005-04-01 François Proulx  <francois.proulx@gmail.com>
2182        * Modified gen.sh script to match UTF-8
2183        * Added PAP RADIUS encryption support ( asked by Paris Sans Fil )
2184
21852005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
2186        * wifidog/templates/auth_sources_selection.html:  Add missing file from
2187          Francois's commit.
2188
21892005-04-01 Philippe April <philippe@ilesansfil.org>
2190        * Fixed missing parenthesis in classes/User.php
2191        * Removed unused files
2192        * fixed schema_validate.php (typos)
2193
21942005-04-01 Francois Proulx  <francois.proulx@gmail.com>
2195        * EVERYTHING IS NOW UTF-8 YOU MUST EDIT YOUR FILES WITH AN UTF-8 COMPLIANT
2196          EDITOR
2197        * The database will be converted to UTF-8 (version 5)
2198        * Added select boxes ( or hidden ) html form elements to choose the network
2199          for signup, lost password, username
2200
22012005-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
2202        * Add constraints to account_origin to detect errors on inserts.
2203        * Remove IDRC test server
2204
22052005-04-01 Philippe April <philippe@ilesansfil.org>
2206        * User.php: Add reference to $db global variable.
2207        * Tagged v0_1_0_alpha1
2208        * Removed spaces in AuthenticatorLocalUser.php
2209
22102005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
2211        * Remove spaces after php blocks in various files.
2212        * Temporarily fix single authentication source not present bug in login
2213          smarty template.  All other places where we select the network will be
2214          fixed tommorow.
2215        * Fix initial schema errors.
2216
22172005-03-31 Benoit Grégoire  <bock@step.polymtl.ca>
2218        * More RADIUS install documentation.
2219        * Fix schema_validate.php
2220
22212005-03-31 Francois Proulx  <francois.proulx@gmail.com>
2222        * Moved language definition
2223        * Moved e-mail subjects to User class ( each e-mail functions )
2224
22252005-03-31 Francois Proulx  <francois.proulx@gmail.com>
2226        * Added missing schema_validate.php modifs.
2227
22282005-03-31 Francois Proulx  <francois.proulx@gmail.com>
2229        * Added PEAR install procedure
2230
22312005-03-30 François Proulx  <francois.proulx@gmail.com>
2232        * Finished RADIUS authentication and accounting
2233        * Accounting Unique session ID is now based on the same token we use
2234        * Fixed all issues with lost_username, lost_password etc...
2235        * User class has new static function getUsersByEmail and getUsersByUsername
2236        * Added translations for new features
2237        * Translated the validation, lost password, username e-mails
2238        * Tested quite a bit, this version is considered stable
2239        * A few examples on how set different RADIUS or local authenticators can be
2240          found in the config.php
2241
22422005-03-29 François Proulx  <francois.proulx@gmail.com>
2243        * schema_validate.php : Modified schema : dropped e-mail + account unique
2244          index, dropped email not empty constraint
2245        * Schema is now at version 3
2246        * Coded RADIUS authentication
2247        * Modified templates to show a select box when more than one server is
2248          configured
2249        * Coded RADIUS accounting and backward compatibility accounting
2250        * Modified many statistics SQL queries to match new Users table
2251        * modified statistics templates to match user_id and account_origin
2252        * TODO : Fix lost_username and lost_password ( issue since we dropped the
2253          unique constraint on emails... )
2254        * TODO : Heavy testing possibly with remote RADIUS servers
2255
22562005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
2257        * sql:  Put initial data in a transaction, and specify the wifidog user so
2258          you do not have to su to it while using sync_sql_for_svs
2259
22602005-03-28 Benoit Grégoire  <bock@step.polymtl.ca>
2261        * common.php:  Add get_guid() function
2262        * validate_schema.php: New auto-upgrade script to allow autaumatic schema
2263          upgrade.  Note that you must still update dump_initial_data_postgres.sh
2264          and use sync_sql_for_cvs.sh so new users aren't left in the cold.
2265        * New class Authenticator (and subclasses):  Begin virtualizing the login
2266          process.
2267
22682005-03-24 Benoit Grégoire  <bock@step.polymtl.ca>
2269        * Statistics.php: Fix getMostGreedyUsers returning bad values when incoming
2270          and outgoing for all connections from a user have null values.
2271        * wifidog/local_content/default/portal.html: Fix layout so it resizes
2272          properly.  This in an interim measure.
2273        * Update schema.  This will allow automatic schema updates in the future.
2274          TO update a live server:
2275
2276      BEGIN;
2277      CREATE TABLE schema_info (
2278            tag text PRIMARY KEY,
2279            value text
2280          );
2281          INSERT INTO schema_info (tag, value) VALUES ('schema_version', '1');
2282          COMMIT;
2283
22842005-03-16 Matthew Asham <matthewa@bcwireless.net>
2285    * config.php: will use "local.config.php" instead, if present.  avoid cvs
2286      over-writing.
2287    * signup.php: if CUSTOM_SIGNUP_URL is defined, signup.php will re-direct.
2288      For integration with existing auth systems
2289    * hotspot_status.php: ob_clean may complain about buffering.  muted.
2290    * ./classes/RssPressReview.inc: if rss_source['url'] is blank, ignore the
2291      feed.
2292
22932005-02-22 Benoit Grégoire  <bock@step.polymtl.ca>
2294        * sql/dump_initial_data_postgres.sh, wifidog-postgres-initial-data.sql,
2295          wifidog-postgres-schema.sql:-Widen the connections size to fix int4
2296          wraparound problems.  To update a running server, execute the following
2297          sql sniplet:
2298
2299      BEGIN;
2300      ALTER TABLE connections RENAME incoming TO incoming_old;
2301      ALTER TABLE connections ADD COLUMN incoming int8;
2302      ALTER TABLE connections RENAME outgoing TO outgoing_old;
2303      ALTER TABLE connections ADD COLUMN outgoing int8;
2304      UPDATE connections set incoming=incoming_old, outgoing=outgoing_old;
2305      ALTER TABLE connections DROP COLUMN incoming_old;
2306      ALTER TABLE connections DROP COLUMN outgoing_old;
2307      COMMIT;
2308
2309        * wifidog/admin/hotspot.php: Missing file from phil's commit.
2310        * wifidog/locale/fr/LC_MESSAGES/messages.mo, messages.po:  New translation
2311          by Benoit St-André
2312
23132005-02-14 Philippe April <philippe@ilesansfil.org>
2314        * gw_message.php: the "activate" message was not properly defined and
2315          would cause an error to show up instead of the nice activate your account
2316          message
2317
23182005-02-14 Philippe April <philippe@ilesansfil.org>
2319        * wifidog/locale/gen.s: Was not working as expected, it will now get the
2320          gettext from smarty properly.
2321        * Updated TODO with ideas on making config better
2322
23232005-01-31 Benoit Grégoire  <bock@step.polymtl.ca>
2324        * wifidog/templates/hotspot_status.html:  Restore the number of nodes
2325        * wifidog/hotspot_status.php: Restore the number of nodes, add formatting
2326          and more information to the RSS feed.
2327
23282005-01-26 Philippe April <isf_lists@philippeapril.com>
2329        * Some kind of virtual login (we need to talk about this).
2330        * New User and Node classes
2331        * Modified all files to work with the classes.
2332        * Remove mgmt_helpers (all done in User class now)
2333
23342005-01-25 Benoit Grégoire  <bock@step.polymtl.ca>
2335        * classes/Node.php:  New file, untested code example
2336        * wifidog/admin/admin_common.php: Remove double-defined BASEPATH
2337
23382005-01-25 Philippe April <isf_lists@philippeapril.com>
2339        * Changed initial postgres inserts sql file, it wasn't working properly
2340
23412005-01-25 Pascal Leclerc  <pascal@plec.ca>
2342        * Added admin and owner administration pages
2343
23442005-01-23 Philippe April <isf_lists@philippeapril.com>
2345        * Added gateway error messages (validation period, etc.)
2346
23472005-01-20 Philippe April <isf_lists@philippeapril.com>
2348        * Modularized the admin interface, added functions
2349
23502005-01-18 Philippe April <isf_lists@philippeapril.com>
2351        * Smarty'ized more, I think it's done now
2352
23532005-01-12 Philippe April <isf_lists@philippeapril.com>
2354        * i18n and smarty'ized parts
2355
23562005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
2357        * INSTALL: Mandate PHP5
2358        * wifidog/hotspot_status.php: Allow export of the list as a RSS feed
2359        * wifidog/classes/RssPressReview.inc:  Make it truly functionnal.
2360        * wifidog/portal/index.php:  Support multiple RSS feeds.  The system will
2361          automatically pick the best 5 entries from all the feeds.  It will
2362          compensate for disparate publication intervals.  An entry from a feed that
2363          does not publish often will live longer than an entry from a feed that
2364          publishes very often.  If a feed doesn't have any entry that makes the
2365          cut, it will not appear at all.
2366        * wifidog/templates/hotspot_status.html:  Add link to the RSS version.
2367
23682005-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
2369        * wifidog/config.php:  Add list of hotspot to network rss feed list (not yet
2370          functionnal)
2371        * wifidog/hotspot_status.php:  Allow RSS export of the list of deployed
2372          Hotspots.
2373        * wifidog/admin/incoming_outgoing_swap.php:  Script to swap incoming and
2374          outgoing in your data. Only use this if you had gateways before 1.0.2
2375          and wish to correct your logs before you upgrade.
2376        * wifidog/classes/RssPressReview.inc:  Missing file from previous commit.
2377        * wifidog/portal/index.php: Preliminary work to enable smart press review
2378          of multiple RSS feeds.
2379
23802005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
2381        * include/common.php: Fix SSL security warnings.  If SSL is enabled and the
2382          page was actually served over SSL, all media in the file will be served
2383          over SSL. Add a new define (BASE_NON_SSL_PATH) to allow us to make links
2384          that break out of SSL mode.  From now on, use the self adapting
2385          BASE_URL_PATH in most circumstance, BASE_SSL_PATH to enter SSL mode,
2386          and BASE_URL_PATH to break out of it.
2387
23882005-01-10 Benoit Grégoire  <bock@step.polymtl.ca>
2389        * admin/user_stats.php: Add three top tens to the statistics:  Top ten
2390          apetite for bandwidth, top ten travelers, most addicted users.
2391
23922005-01-04 Benoit Grégoire  <bock@step.polymtl.ca>
2393        * wifidog/local_content/default/hotspot_logo_banner.jpg: Make it much
2394          thinner.
2395        * wifidog/local_content/default/login.html: Remove announcements
2396        * wifidog/include/user_management_menu.php: Fix mailto:
2397        * wifidog/auth/index.php: Fix auth server part of the no data transmited
2398          statistics bug.
2399        * wifidog/admin/index.php: Add link to statistics
2400        * wifidog/admin/user_stats.php: Activate security.
2401        * wifidog/index.php: Make the distinction between the two hotspot status
2402          pages clearer.
2403
24042004-12-08 Benoit Grégoire  <bock@step.polymtl.ca>
2405        * wifidog/index.php: Add menu
2406        * wifidog/include/user_management_menu.php: Editorial change, make
2407          translateable
2408        * wifidog/portal/index.php:  Fix RSS feeds
2409
24102004-12-03 Benoit Grégoire  <bock@step.polymtl.ca>
2411        * wifidog/admin/user_stats.php,  wifidog/classes/Statistics.php:  Embryonic
2412          aggregate user stats.  Currently allows you to find out the rate at which
2413          your users subscribe.
2414        * wifidog/config.php, wifidog/local_content/default/login.html,
2415          wifidog/include/user_management_menu.php:  Add hotspot status page to
2416          login page.
2417        * wifidog/hotspot_status.php: Cosmetic
2418        * wifidog/admin/hotspot_log.php: Stats now need admin privileges
2419        * wifidog/index.php: Cosmetic.
2420
24212004-11-19 Benoit Grégoire  <bock@step.polymtl.ca>
2422        * TODO: Add email domains to blacklist
2423        * wifidog/config.php, wifidog/include/user_management_menu.php: Add tech
2424          support email address
2425        * wifidog/hotspot_status.php: List of HotSpots that are open with summary of
2426          information.  Designed to be included as part of another page.
2427        * wifidog/local_content/common/wifidog_logo_banner.gif: Add wifidog logo
2428        * wifidog/local_content/default/hotspot_logo_banner.jpg: Shrink the logo
2429          and write unknown hotspot, however this is still really ugly
2430        * wifidog/local_content/default/login.html, portal.html, stylesheet.css:
2431          Cosmetic fixes
2432        * wifidog/local_content/default/login.html.fr, portal.html.fr: Delete the
2433          files, this isn't the approach we will use for translation.
2434        * sql/wifidog-postgres-initial-data.sql, wifidog-postgres-schema.sql:
2435          Update with new node information structures.
2436
24372004-11-04 Benoit Grégoire  <bock@step.polymtl.ca>
2438        * wifidog/admin/hotspot_log.php: Add number of currently connected users
2439          here as well.
2440
24412004-11-03 Benoit Grégoire  <bock@step.polymtl.ca>
2442        * wifidog/ping/index.php: Log user-agent
2443        * extensive statistics work
2444        * sql/wifidog-postgres-schema.sql: Add description field for hotspots and
2445          log user-agent
2446
24472004-10-28 Benoit Grégoire  <bock@step.polymtl.ca>
2448        * sql/wifidog-postgres-schema.sql:  Add constraints to avoid empty string
2449          in email or user_id.
2450        * Some statistics fixes
2451
24522004-09-29 Alexandre Carmel-Veilleux <acv@acv.ca>
2453        * wifidog/admin/index.php: Integrated the changes contributed
2454          on the mailing list by Rikhardur EGILSSON (fname.lname@oecd.org),
2455          mainly a missing ' in some HTML.
2456
24572004-09-28 Yanik Crépeau <yanik@exScriptis.com>
2458    * wifidog/include/common.php: Added commented header with cvs
2459          keywords.
2460        * wifidog/include/common.php: Added commented code (not executing) for
2461          further testing with language/localization issues.
2462
24632004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2464        * sql/wifidog-postgres-schema.sql:  Remove non SQL standard "COMMENT ON"
2465          comments
2466
24672004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2468        * sql/wifidog-postgres-schema.sql:  Drop procedural language stuff
2469
24702004-09-27 Benoit Grégoire  <bock@step.polymtl.ca>
2471        * sql/wifidog-postgres-schema.sql:  Fix layout for the node_owners table
2472        * Begin integrating Patrick Tanguay's new layout and generate the css
2473          dynamically to allow for background images.
2474
24752004-09-22 Benoit Grégoire  <bock@step.polymtl.ca>
2476        * portal/index.php:  Fix users appearing online at every hotspot.
2477        * wifidog/classes/Style.php, wifidog/login/index.php:  Fix some potential
2478          cache problems and help with validation.
2479
24802004-09-18 Benoit Grégoire  <bock@step.polymtl.ca>
2481        * wifidog/config.php:  Add VALIDATION_GRACE_TIME configuration parameter.
2482        * wifidog/auth/index.php:  Move grace time date arithmetics to the database,
2483          fixes validation period not working.  Stop storing VALIDATION_FAILES
2484          status to the database.  Add check for validation period expiration at
2485          stage login, not just stage counters, this will fix one minute
2486          validation period.
2487        * wifidog/login/index.php:  Check validation period activation, and if
2488          period is expired, explain to the user instead of redirecting to the
2489          gateway.
2490        * wifidog/user_management/index.php:  Fix SQL error at new user registration.
2491
24922004-09-02 Benoit Grégoire  <bock@step.polymtl.ca>
2493        * wifidog/node_list.php: Complete the status page
2494        * Add images
2495        * Add hotspot creation date
2496
24972004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
2498        * sql/: Update the postgres schemas and add scripts to ease maintaining it.
2499        * sql/sync_sql_for_cvs.sh: Should you modify the schema in your db, run this
2500          script to the chances will be available in the cvs schemas and initial
2501          data.
2502        * sql/dump_initial_data_postgres.sh: This does the actual dump of the data
2503          in a runnable form.  Note that this needs to be edited manually if you add
2504          a new table requiring initial data.
2505        * INSTALL:  Update for postgres.  Somebody please test this.
2506
25072004-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
2508        * wifidog/ping/index.php: Implement logging of which hotspot sent the
2509          heartbeat, from which ip and when.
2510        * wifidog/node_list.php:  Primitive but functionnal hotspot status page.
2511        * wifidog/include/user_management_menu.php:  Change menu labels
2512        * wifidog/local_content/default/login.html: Improve layout.  Someone needs
2513          to make this stylesheet correct, I took shortcuts...
2514        * wifidog/local_content/default/stylesheet.css:  Reduce H1 font size.
2515        * wifidog/user_management/index.php:  Display the menu, will eventually
2516          allow us to present proper help text.
2517
25182004-08-30 Benoit Grégoire  <bock@step.polymtl.ca>
2519        * Add link to original requested site.
2520        * wifidog/node_list.php:  New file.  Will become the main node status page.
2521
25222004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
2523        * Primitive network status available form the index page
2524        * Administrative security is implemented.
2525
25262004-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
2527        * Fix big gaping security hole in login page (password would be ignored if
2528          the username was used to login)
2529        * PostgreSql port
2530        * Change the method to determine who is online
2531        * Stop keeping unused token once user successfully logs in.
2532        * Fix missing update of token update date.
2533        * Counters wouldn't get updated for stage=LOGOUT
2534        * wifidog/auth/index.php:  Added a Messages: response in addition to Auth:
2535          so we can know what the hell the server is up to.  Currently you need to
2536          run wifidog in debug level 7 to see it. That message should be parsed so
2537          it is visible in debug level 6.
2538        * wifidog/auth/index.php:   Fix code injection vulnerability.
2539
25402004-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
2541        * SSL support and RSS improvement
2542        * Last commit tested with mysql support
2543
25442004-08-24 Pascal Leclerc  <pascal@plec.ca>
2545        * wifidog/admin/user_log.php: Add total to incoming and outgoing
2546        * Replace all SERVER_NAME by HTTP_HOST to fix non-standard server ports
2547
25482004-08-11 Benoit Grégoire  <bock@step.polymtl.ca>
2549        * wifidog/config.php: Add USER_MANAGEMENT_PAGE
2550        * wifidog/include/user_management_menu.php:  Code meant to deal with
2551          non-standard ports broke the menu.  Hopefully fixed.
2552        * Add alex's mising changelog entry...
2553
25542004-08-11 Alexandre Carmel-Veilleux <acv@acv.ca>
2555        * wifidog/ping/index.php: will now reply if the wifidog auth server is up.
2556          To be used by wifidog to do heartbeats.
2557
25582004-08-07 Benoit Grégoire  <bock@step.polymtl.ca>
2559        * Add code to import a NoCat user database (passwd).  The username will be
2560          generated from the first part of the email if the name was en email.
2561        * Change password hashing algorithm to make it compatible with NoCat (For
2562          the curious among you, the hashing algorithm is now:  take the md5
2563          digest in binary format of the password, and base64 encode it.
2564        * Table schema changed to accomodate newhash length (users.pass is now
2565          varchar(32))
2566        * The user is now allowed to login with either his username or his email.
2567
25682004-08-03 Pascal Leclerc  <pascal@plec.ca>
2569        * wifidog/classes/SmartyWifidog.php: Fix path validation bug, replace
2570          NODE_CONTENT_URL with NODE_CONTENT_PHP_RELATIVE_PATH
2571        * wifidog/classes/AbstractDb.php: Add class=warning for better display
2572        * wifidog/config.php: Add SYSTEM_PATH and test/fix non-standard server ports
2573
25742004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2575        * Make gettext support optionnal, and define GETTEXT_AVAILABLE, will be set
2576          to true if gettext is available.  If false, blank _() and gettext()
2577          functions will be defined so the system still works.
2578
25792004-08-03 Benoit Grégoire  <bock@step.polymtl.ca>
2580        * Fix BASE_URL_PATH to properly detect non-standard server ports (hopefully).
2581
25822004-08-02 Benoit Grégoire  <bock@step.polymtl.ca>
2583        * wifidog-auth lives! New since the dark ages
2584        * Demo page to allow people to hack more easely on it
2585        * Support for multiple nodes.  TODO:  Merge with the database project.
2586        * Very cool local content architecture.  Every hotspot can have a folder in
2587          the local_content directory.  This folder can be filed by a single logo,
2588          leaving all the rest to the default content, or be completely custom
2589          (stylesheet, login page, portal page, header, etc.)
2590        * Everything in local content is templated with smarty, no problem with
2591          web designer wrecking havoc on the auth server.  You can edit everything
2592          in local_content/default even if you only speak html.
2593        * No need to set any path in the web server config files (that one was a
2594          bitch to implement)
2595        * RSS feed support (optionnal, with magpierss), one feed per node (url
2596          stored in the database, works great, but no gui to edit it yet) and one
2597          network-wide RSS feed.
2598        * All path are editable from the config file
2599        * "Productize" the thing, so it make sense for other groups to install it
2600          (the network name, url, default RSS, and such are set from the config
2601          file).
2602        * Put most strings in gettext calls for easy future translation.
2603        * User can request that the server send the validation email again
2604        * User can change password
2605        * User who forgot his username can have it mailed to him.
2606        * User who lost his password can ask the system to generate a new one and
2607          mail it to him.
2608        * Email is now a separate field to preserve user privacy.
2609        * Enforces (politely) that there are no duplicate emails in the database
2610        * Database abstraction layer with very nice debugging features (just append
2611          true at the end of the call, and you'll see the query, the results, the
2612          query plan and number of affected rows.  Also allow future upgrade to
2613          postgres.
2614        * Lots of other things I forgot.
Note: See TracBrowser for help on using the browser.