root/trunk/wifidog-auth/CHANGELOG

Revision 1384, 136.9 kB (checked in by networkfusion, 1 week ago)

* Support for redirecting to the users original URL instead of portal

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 # $Id$
2 2008-10-02 Robin Jones
3         * Support for redirecting to the users original URL instead of portal
4
5 2008-09-23 Robin Jones
6         * Oops, forgot to include new style sheet into the previous commit.
7         * Made Login template easier to edit using CSS and added example to NetworkFusion theme pack, This closes #343 .
8
9 2008-08-31 Robin Jones
10         * Created ability to have a themes setting file to define commonly asked for features.
11         * Created a new "Network Theme Pack" to show off the settings file and improve the user experience.
12
13 2008-08-31 Robin Jones
14         * Updated some table row elements to support Odd/Even CSS. This also closes #382
15
16 2008-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
17         * Fix #492
18
19 2008-08-13 Robin Jones
20         * Fixed dependency change for Smarty reported by cristian@lalineapeluda.com
21
22 2008-08-07 Benoit Grégoire  <bock@step.polymtl.ca>
23         * Updated Spanish translation by jlms77@gmail.com
24
25 2008-07-13 Benoit Grégoire  <bock@step.polymtl.ca>
26         * Add new Catalan translation by Christian Lorenzo cristian@lalineapeluda.com
27         * Rebuild transaltions and initial schema.
28
29 2008-06-12 Benoit Grégoire  <bock@step.polymtl.ca>
30         * Add NODE_PERM_BYPASS_DYNAMIC_ABUSE_CONTROL permission.  User is allowed to exceed dynamic abuse control limits at this node.
31         * Stakeholder selector UI tweaks
32
33 2008-06-12 Benoit Grégoire  <bock@step.polymtl.ca>
34         * Use bigint for dynamic abuse control byte values
35         * UIAllowedBandwidth:  Format values in a human-readable way
36
37 2008-06-10 Benoit Grégoire  <bock@step.polymtl.ca>
38         * Authenticator.php:  Fix SQL error closing connections.
39         * auth/index.php:  Probably fix the "Access denied" message when user click twice problem that resurfaced.
40         * At long last, implement operational Dynamic abuse control (out of the embryo of the token architecture)!  Configurable in Network preferences if you have the permissions.  Unlike static limits, this is a sliding window (typically a month) during which user have a bandwidth and connection duration limit, per node, and totalled throughout the network.
41         * UIAllowedBandwidth:  New, simplistic content type to show the user how much of his allocation he consumed.  Off course, the goal is actually to make it into a pretty graph....
42
43 2008-06-10 Benoit Grégoire  <bock@step.polymtl.ca>
44         * Begin implementing http://dev.wifidog.org/wiki/doc/developer/TokenArchitecture.  This is a first step:  SQL schema changes, and adapt the current functionnality to the new schema to have a baseline.  Everything should work as before, please notify me if you notice anything strange...
45
46 2008-04-27 Benoit Grégoire  <bock@step.polymtl.ca>
47         * Fixed dependencies on simplepie.  Simplepie removed a stable branch from their SVN.  Why on earth would one do that!?!?
48         * For an existing install, you may want to remove the feedpressreview and simplepie directories and re-install them from the Dependencies page under the "Server" menu. 
49        
50 2008-04-02 Robin Jones
51         * Fixed #325 password validation
52         * Added a new banner for the install script
53
54 2008-04-01 Benoit Grégoire  <bock@step.polymtl.ca>
55         * Apply patch from dc.ml@oxys.net to allow commas in authentication parameter strings.  This is sometimes necessary for LDAP, and fixes #342
56
57 2008-03-31 Robin Jones
58         * Minor install script improvements, including making changelog accessible and colour in the permissions tables
59
60 2008-03-21 Benoit Grégoire  <bock@step.polymtl.ca>
61         * generic_object_admin.php (and others):  Fix bug reported by  Jerry DeFoe (ProfileTemplates couldn't be created) + some UI tweaks.
62        
63 2008-03-21 Benoit Grégoire  <bock@step.polymtl.ca>
64         * hotspot_status.php:  Fix bug in XSLT procesing.
65
66 2008-03-15 Benoit Grégoire  <bock@step.polymtl.ca>
67         * Content.php:  Eliminate the generation of a large number of useless SQL queries when getting Content metadata.
68         * User.php: Do the same thing for getCurrentUser()
69        
70 2008-03-12 Benoit Grégoire  <bock@step.polymtl.ca>
71     * Major performance improvement in content manager for content groups picking items with limits on how many times they can be displayed.
72         * Improve performance of Content::getLastDisplayedTimestamp(), will mostly show when using the RSS aggregator, especially when postgres has little memory
73        
74 2008-03-06 Benoit Grégoire  <bock@step.polymtl.ca>
75     * Fix #438.  Not Node::getNumOnlineUsers() will count every users connected (once for every account), except the splash-only user + every mac adresses connecting as the splash-only user.
76         * Network::getNumOnlineUsers() use the same counting method
77         * Network.php:  Reformat variables names according to coding standards.
78        
79 2008-03-02 Benoit Grégoire  <bock@step.polymtl.ca>
80         * Fix #431: Don't even display the Signup button if none of the networks allow signing up.  Allow Authenticators to define the signup URL themselves.
81
82 2008-02-27 Damien Raude-Morvan <drazzib@drazzib.com>
83     * Update french translation
84
85 2008-02-12 Max Horváth  <max.horvath@freenet.de>
86     * Fixed issue in install.php when POSIX is unavailable to PHP
87     * Fixed package name of Cache_Lite in Dependency class
88     * Updated mail address of Max Horváth
89
90 2008-01-16 Benoit Grégoire  <bock@step.polymtl.ca>
91         * Fix #42 (Node cannot be renamed)
92
93 2008-01-16 Benoit Grégoire  <bock@step.polymtl.ca>
94         * Temporary patch for problem introduced in [1319]:  the menu did not display where main_area_top is empty (which is actually most places in the admin interface).  This shouldn't have been done in the first place, as it doesn't fix the problem the menu cause of theming, and worse causes people to edit MainUI_Display.tpl, causing such errors.  A network config option should have been provided to allow selecting in what area the menu goes.
95
96 2008-01-13 Benoit Grégoire  <bock@step.polymtl.ca>
97         * Permission.php:  Fix typo that caused "Tried to check if an object of class Server has a permission of type Network" errors.  Changed the id from NETWORK_PERM_ADD_NEW_NODE to NETWORK_PERM_ADD_NODE so it will auto-delete the corrupted permission.
98
99 2008-01-11 Benoit Grégoire  <bock@step.polymtl.ca>
100         * Use the Dependency system to include PHPMailer and tweak Mail.php.  You'll need to re-run the Dpenedency stage of the install script. This allows:  Translating PHPMailer error messages, Actually having PHPMailer error messages, and displaying them properly.
101
102 2008-01-09 Benoit Grégoire  <bock@step.polymtl.ca>
103         * Add gettext calls, fixes #413
104
105 2008-01-06 Benoit Grégoire  <bock@step.polymtl.ca>
106         * Some more work on the permission system.  At long last, close #358
107
108 2008-01-05 Benoit Grégoire  <bock@step.polymtl.ca>
109         * French translation update from Frederic Sheedy (sheedf@gmail.com).  Closes #411
110
111 2007-12-30 Benoit Grégoire  <bock@step.polymtl.ca>
112         * Workaround IE6 braindeadness in the base theme.  Closes  #406.  Credit goes to Frederic Sheedy (sheedf@gmail.com)
113
114 2007-12-23 Benoit Grégoire  <bock@step.polymtl.ca>
115         * Node.php:  Fix bug in setCurrentNode() reported by Vacio
116         * install.php, Dependency.php:  Commit install script improvements by Robin Jones
117
118 2007-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
119         * signup.tpl, lost_username.tpl, lost_password.tpl, resend_validation.tpl:  Move the error div near the button for coherence with the login page (and for the same reason).  In fact it was worse than the login page used to be:  the error message during signup could appear completely below the page for a user with a low resolution screeen (or big font), giving the form the apereance of doing absolutely nothing (it stumped even me as I was trying to help a user).
120
121 2007-11-23 Benoit Grégoire  <bock@step.polymtl.ca>
122         * UIUserList.php: Don't force it to be persistent, it prevented users from deleting it.
123
124 2007-11-15 Benoit Grégoire  <bock@step.polymtl.ca>
125         * Menu.php: Make individual submenus, and individual menu items CSS-targetable.
126
127 2007-11-05 Benoit Grégoire  <bock@step.polymtl.ca>
128         * Commit most of Robin Jones install script improvements.
129
130 2007-10-22 Benoit Grégoire  <bock@step.polymtl.ca>
131         * Major security fix:  Fix the authenticator for a security breach where a user could get Internet access using an empty username.  LocalUser and LDAP were definitely vulnerable, RADIUS may have been.
132
133 2007-10-01 Benoit Grégoire  <bock@step.polymtl.ca>
134         * Remove Array type hinting in Security.php. It's not supported in PHP < 5.1.  Fixes  #393
135
136 2007-10-01 Benoit Grégoire  <bock@step.polymtl.ca>
137         * Commited slightly modified patch by Robin Jones to implement #184
138
139 2007-09-25 Benoit Grégoire  <bock@step.polymtl.ca>
140         * Menu.php:  Fix a number of improper call time pass by reference
141
142 2007-09-24 Benoit Grégoire  <bock@step.polymtl.ca>
143         * locale/gensmarty.pl:  Heads up translators:  There was a bug in the regex; about 20 strings in the smarty templates were missed.
144         * Updated french translation
145
146 2007-09-20 Benoit Grégoire  <bock@step.polymtl.ca>
147         * install.php:  Hopefully fix #384, and remove pages unlikely to be implemented for 1.0
148
149 2007-09-18 Benoit Grégoire  <bock@step.polymtl.ca>
150         * portal/index.php:  Add a call to garbage_collect() to fix #367
151
152 2007-09-17 Benoit Grégoire  <bock@step.polymtl.ca>
153         * SmartyWifidog:  If ANY of the mandatory dependencies (not just smarty) are missing, user will be redirected to the install script
154         * Move Smarty detection and install to common framework.  Take this opportunity to move to upgrade to latest Smarty since people will have to re-run the install script anyway.
155         * Fix #381 by applying patch from leandro@texnet.it, mea-culpa, I didn't know I broke the install script.
156
157 2007-09-12 Benoit Grégoire  <bock@step.polymtl.ca>
158         * Scratch a few itches:  Fix the link from node admin to stats, minor CSS fixes
159
160 2007-09-11 Benoit Grégoire  <bock@step.polymtl.ca>
161         * VitrualHost.php: Close #373: Apply patch from leandro@texnet.it to fix mispelled table name in delete() method
162         * Close #374:  Add preliminary italian translation from leandro@texnet.it
163
164 2007-09-10 Benoit Grégoire  <bock@step.polymtl.ca>
165         * Fix #370:  Dropdown Javascript menus didn't retract in Internet Explorer.  My thanks to Robin Jones for at least proposing a solution to the problem, even if it didn't work in this case.  The problem turned out to be a wrong regex in the IE workaround javascript.
166
167 2007-09-09 Benoit Grégoire  <bock@step.polymtl.ca>
168         * Early OpenID support.  The auth server can now be used as an identity provider, with your profile page as the identity URL
169
170 2007-09-08 Benoit Grégoire  <bock@step.polymtl.ca>
171         * Dependencies installation:  Improve layout, add embryo of unified install sytem (currently works for tarballs).  Improve error output.
172         * Add dependencies for future OpenId support
173         * AbstractDb:  Make sure to throw an exception, avoiding a blank page when trying to access the index page on a auth server that hasn't been setup.  Patch by Mathieu Bruno.
174
175 2007-09-04 Benoit Grégoire  <bock@step.polymtl.ca>
176         * cron/page.php:  Improve script to output what it did.
177         * fix typo in Node::DEPRECATEDgetTechnicalOfficers(), that prevented getting the users to page in case a node is down.
178         * Delete leftover login.tpl
179         * Apply patch from leandro@texnet.it to fix #371
180
181 2007-08-30 Benoit Grégoire  <bock@step.polymtl.ca>
182         * install.php:  Experimental fix for #353
183
184 2007-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
185         * install.php:  Fix bug that would manifest as a blank page at the "Checking Dependency" stage if PHP's postgres module was not installed.  Thanks to drfense for providing an account on a server where the bug occured.
186
187 2007-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
188         * Added vacuum_last_resort_fix_backup_restore_database.sh.  This is DANGEROUS, and should only be run when your neglected (or had problem with) your VACCUMs,
189         your database has become slow as molases, and VACUUM FULL is not an option because your db has grown too big.
190
191 2007-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
192         * install.php:  Fix #368: Correct the svn source for SimplePie 1.0, the 1.0b2 branch was unexpectedly renamed.
193         Note that this forces a rather disruptive change.  To update an existing install, you'll need to run the following commands:
194         cd lib/simplepie
195         svn switch http://svn.simplepie.org/simplepie/branches/1.0/
196         But this also requires a recent feedpressreview (revision 13), so you'll also need to run:
197         cd lib/feedpressreview
198         svn update
199
200 2007-08-06 Benoit Grégoire  <bock@step.polymtl.ca>
201         * Allow users with NETWORK_PERM_EDIT_ANY_NODE_CONFIG to edit gateway id's
202
203 2007-08-05 Damien Raude-Morvan <drazzib@drazzib.com>
204         * Security.php : A permission can be acquired by a user via multiples roles, this means
205         that, for the moment, we have to use DISTINCT to check if a user had correct permission
206         (otherwise the SQL request is invalid : subrequest return more than one line).
207         * Locale.php : If the browser send Accept-Value header without any quality (i.e. q=x.y)
208         we have to use order of the locales to select between them (and don't use a rand() number).
209
210 2007-08-04 Benoit Grégoire  <bock@step.polymtl.ca>
211         * Portugese (from portugal) translation contributed by MiguelCMA
212         * locale/gen.sh:  Major change to .po file generation.  Now uses msgmerge so we won't completely throw away previous efforts by translators (will preserve comments, and use fuzzy translation).  It's also much faster (seconds instead of minutes), and produces less strings to translate.
213
214 2007-08-03 Damien Raude-Morvan <drazzib@drazzib.com>
215         * init_php.php : Fix #363 by applying patch from Leandro to correctly set timezone info in Wifidog
216         if set in configuration (allow Wifidog to work not only in Canada :).
217
218 2007-07-26 Benoit Grégoire  <bock@step.polymtl.ca>
219         * DependenciesList::hook_menu():  Fix menu path conflict with Server::hook_menu();
220         * Server::getAdminUI(): Add output to help debug timezone problems.
221
222 2007-07-25 Benoit Grégoire  <bock@step.polymtl.ca>
223         * VirtualHost.php:  Fix critical problem preventing new Virtual Hosts from being created.  Thanks to Miguel for pointing this out!ssss
224         * StatisticGraph.php:  Fix a bad return by reference that prevented graphs from being displayed.  Thanks to Daniel Lemay for finding it.
225         * Content.php:  Fix warning when selecting owners. Fix dangling metadata objects when deleting an object.
226         * Statistics::getDateRangeUI():  Make days end a minute before midnight, not a minute before noon, DOH!
227         * import_user_database.php:  Fix permission call systax error.  That does't mean the script works as a whole, it hasn't been maintained for years.
228         * DependenciesList.php:  Make it extend GenericDataObject after all.  Fixes problem displaying it in the generic editor.
229
230 2007-07-22 Benoit Grégoire  <bock@step.polymtl.ca>
231         * generic_object_admin.pgp:  Fix problems when creating new content objects.  Fix problems including the content type classes.
232         * Avatar.php:  Make the resampling code support any format available to GD, not just jpeg.
233
234 2007-07-22 Benoit Grégoire  <bock@step.polymtl.ca>
235         * More schema compatibility defensive coding.  Comment out all SET commands in the schema
236
237 2007-07-22 Benoit Grégoire  <bock@step.polymtl.ca>
238         * install.php:  Fix #215
239
240 2007-07-21 Benoit Grégoire  <bock@step.polymtl.ca>
241         * AnonymisedDataExport.php:  Work around the huge memory requirements this report used to have.
242         * install.php:  Strip create procedural language from schema, that requires superuser anyway.
243                                         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.
244         * DependenciesList.php:  New class.  Allow seeing the dependency list once the server is installed.  A small step towards centralized dependency installation.
245
246 2007-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
247         * 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).
248         * Refactor Node:getSelectNodeUI().
249         * Menu.php:  Fix small oversight causing menu not to clear.
250
251 2007-07-19 Benoit Grégoire  <bock@step.polymtl.ca>
252         UIUserList fixes:
253         * Node::getRecentUsers():  Get the 5 most recent users, not some random users in the last week.  Also, exclude users currently logged-in.
254         * 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 ;)
255         * schema_validate.php: Add index for timestamp_in on connection table.
256
257 2007-07-17 Benoit Grégoire  <bock@step.polymtl.ca>
258         * Use last_heartbeat_sys_uptime untill #354 is fixed
259
260 2007-07-16  Benoit Grégoire  <bock@step.polymtl.ca>
261         * Fix display of wifidog uptime in node list
262         * Preliminary skinning of the menu
263         * 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.
264         * UIUserList_getUserUI.tpl:  Fix #337
265         * Node.php:  Improve getCurrentRealNode()
266         * Implement #4:  Allow the user to easily come back to the portal by typing in the root auth server adress from a hotspot.
267         * Log the system information sent with the gateway since almost forever:  sys_uptime, sys_memfree, sys_load, wifidog_uptime
268         * NodeStatus.php:  Include the above information
269         * node_list.html:  Include wifidog_uptime if the hotspot is up.
270         * Menu.php:  Sort menus alphabetically according to the user's locale.  TODO:  Implement menu weights.
271         * NodeLists:  Only list node types that have dependencies met in the menu.  Refactor the NodeLists for proper object-orientation.
272
273 2007-07-12  Benoit Grégoire  <bock@step.polymtl.ca>
274         * MainUI.php:  Fix label problem in language chooser.
275
276 2007-07-12  Benoit Grégoire  <bock@step.polymtl.ca>
277         * Fix #291 by adding a proper warning and location of documentation
278         * Fix #336:  Add Swedish translation by Christian Svensson <blue ATT cmd.nu>
279
280 2007-07-12  Benoit Grégoire  <bock@step.polymtl.ca>
281         -This is a behemoth "the road to 1.0"  commit.  I've been working on this for 6 months,
282         and it's reached the point where others can help.  Those are very far reaching changes, please
283         notify me if anything isn't working right (and im sure I can't have caught everything).
284     * Completely revamp exception handling, all exceptions are now trapped and handled centrally.
285     * Major changes in the login process to allow repeating a request after a time out or missing permission exception.
286     * New user roles architecture,  as described in https://dev.wifidog.org/wiki/doc/developer/UserRolesArchitecture
287         Mostly complete.  Missing parts are Content stakeholders, system roles and "su" functionnality.
288         I need help replacing all the DEPRECATED* methods.  Please read the wiki page above for instructions.
289         * generic_object_admin.php:  More work towards making it generic once again.
290         * GenericDataObject:  New class.  Eventually, most classes should extend this, instead of directly implementing GenericObject
291         * Menu.php:  Finally a uniform Menuing system to replace the mismatch of links that made wifidog
292         impossible to navigate.  It's not very sophisticated yet, but it IS permission aware
293         Loosely inspired from Drupal's menuing system.  HTML is slightly modified "Son of suckerfish",
294         so will be easy to style (althouh I haven't had time yet).
295         Actual menus are added in the hook_menu methods of each class.
296         * VirtualHost.php:  Finally properly split off Virtual Hosts, and make Server a singleton.
297         * install.php:  Do the bare minimum changes so it's still possible to setup a wifidog auth server.
298         However, install.php still needs 1- A good overhaull, 2- A way to install sample databases instead of the minimal one.
299         -Other changes
300     * Unbreak signup link for non-javascript enabled devices
301         * FlickrPhotostream:  Check CURL, which is a mandatory dependency of Flickr
302     * AbstractDb:  Improve debuging features
303     * *:getObject():  Hopefully improve performance of class caching by making sure
304     that we do not manipulate different objects.  Otherwise copies would be generated as soon as we change properties, wasting much memory.
305         * Add dependency check for XSL module for hotspot_status.php.
306         * Some work towards respecting the coding style: http://dev.wifidog.org/wiki/doc/developer/CodingStandard
307         * 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.
308
309 2007-07-11  Benoit Gréoire  <bock@step.polymtl.ca>
310         * path_defines_url_content.php: Fix #348
311
312 2007-07-03  Benoit Gréoire  <bock@step.polymtl.ca>
313         * wifidog/signup.php:  Notify the user of the allowed characters.
314         * Add Bulgarian translation from "Nikola Petrov" <nvp.online A T gmail.com>
315         * config_available_languages:  Centralize the list there so that there is only one to modify everytime we add a translation
316
317 2007-06-12  Benoit Gréoire  <bock@step.polymtl.ca>
318         * IE6 layout workarounds (not perfect, but better)
319         * HTML validation of the login and portal pages
320         * Apply patch from tdb@timothy86.orangehome.co.uk, fixes #334
321
322 2007-05-30  Benoit Gréoire  <bock@step.polymtl.ca>
323         * VisitsPerMonth.php, VisitePerWeekday.php:  Fix small sql bug when selecting a single user
324
325 2007-05-28  Benoit Gréoire  <bock@step.polymtl.ca>
326         * ActiveUserReport.php:  Merge new report from my development tree.  Gives a breakdown of how many users actually use the network.
327
328 2007-05-22  Benoit Gréoire  <bock@step.polymtl.ca>
329         * Reverse part of [1230], hotspot_network_name was already available as standardised variable networkName, and hotspot_network_url as networkWebSiteURL.
330         * 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.
331
332 2007-05-22  Benoit Gréoire  <bock@step.polymtl.ca>
333     * locales/el/: Add new greek translation contributed by Nikola Petrov
334
335 2007-05-17 François Proulx <francois.proulx@gmail.com>
336         * WARNING: This has not been fully tested. Full testing to be completed on 2006-05-18
337           but I'm pretty confident that it works pretty well.
338         * Added automatic resize on Avatars
339         * Added FavoriteHotspots content (mostly used for Profiles)
340         * Added new features to Content and File
341         * Fixed URL regexp bug in HyperlinkUtils
342         * Updated French translations
343         * Updates profiles template
344         * TODO: Add getNewUI et processNewUI to FavoriteHotspots to simplify input
345
346 2007-05-03  Benoit Gréoire  <bock@step.polymtl.ca>
347     * MainUI_ToolContent.tpl: Make preferences_link, login_link, and logout_link CSS targetable.  Get rid of some deprecated CSS.
348
349 2007-04-25  Benoit Gréoire  <bock@step.polymtl.ca>
350     * ShoutBox.php:  The shout form wasn't displayed whent there weren't any Shouts yet, doh!
351
352 2007-04-24 Benoit Grégoire  <bock@step.polymtl.ca>
353         * AuthenticatorRadius.php:  Fix RADIUS dependency detection bug related to case sensitivity
354
355 2007-04-19  Benoit Grégoire  <bock@step.polymtl.ca>
356         * RssAggregator.php:  Fix bug saving the max item age.
357         * Forgot to remove a bunch of links to faq.php.
358
359 2007-04-03 Benoit Grégoire  <bock@step.polymtl.ca>
360         * AnonymisedDataExport.php:  New report.  Adds the ability to export anonymised SQL data for academic research.
361
362 2007-03-20 Benoit Grégoire  <bock@step.polymtl.ca>
363         * Shoutbox.php: Allow limiting the number of characters entered for a shout.
364         (Ideally, this would also need to be enforced at db write level).
365         Move the shout form in the list.
366         Allow choosing the number of shouts displayed.
367         Make the size of the shout field configurable from the admin interface
368         Put the date of the shout before the username.
369         * User.php:  Make the entire "edit profile" link CSS targetable, including the parentesis.
370
371 2007-03-20 Benoit Grégoire  <bock@step.polymtl.ca>
372         * ProfileTemplateField.php:  Only allow simple content types as metadata.
373         * Langstring.php:  Fix bug:  one couldn't change the language of a string without changing the actual text.
374         * Content.php:  Add isExactContentType() method.
375         * Profile-related visual and UI tweaks
376
377 2007-03-20 Benoit Grégoire  <bock@step.polymtl.ca>
378         * Fix #304:  For some reason the Smarty assignement to userName used getListUI() instead of getUsername()???
379         * Add HyperLink content type
380         * Add UIUserList content type (work towards #158)
381         * portal/index.php:  Finish refactoring Smarty usage.
382
383 2007-03-17 Benoit Grégoire  <bock@step.polymtl.ca>
384         * install.php: Make sure we are in the right directory when uncompressing Smarty
385         * Avatar.php:  Don't allow user to hyperlink the image.
386         * ProfileTemplate:  Display how many profiles will be affected when deleting a template field.
387         * User.php:  Don't show the profile creation button if the network has no profile template.
388          Don't hyperlink the username if the user has no profile.
389
390 2007-03-16 Benoit Grégoire  <bock@step.polymtl.ca>
391         * Lots of work on profiles.  The HTML and CSS are not final, but #18 can be considered closed.
392         * ProfileField::getContentField():  Fix bug where the object wouldn't refresh properly.
393         * Content:  Delicate refactoring of the UI to create new content.
394         The content object now supports directly adding the actual values of a new
395         Content in getNewContentUI(), if the content filter only allows a single content type.
396         For this to work, the Content type must overload the getNewUI() method.
397         This saves many mouse clicks for form style interface, like profiles.
398         * User:  Don't create profile automatically.
399         * Don't show profiles when user is invisible.
400         * Langstring, SimpleString, HTMLEditor: Support getNewUI().  As a result of these changes, SmartyTemplate, SimpleSmartyTemplate, Stylesheet also get it for free.
401         * Add new standard Smarty value userOriginallyRequestedURL.
402  Note that this does NOT fix #266
403         * Add new standard Smarty value nodeWebSiteURL
404         * Some work towards #158
405          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.
406         {if $userOriginallyRequestedURL}
407                 <a href='{$userOriginallyRequestedURL}'>Take me where I originally wanted to go</a>
408         {/if}
409         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.
410         3- Same with the link to the Network.  To restore the unctionnality, paste the following code in a SmartyTemplate:
411         <a class="administration" href="{$networkWebSiteURL}"><img class="administration" src="{$common_images_url}lien_ext.gif">&nbsp;{$networkName}</a>
412         * ContentTypeFilter:  Saving still wasn't neutral.  Strip the array indexes to fix it.
413
414 2007-03-03 Benoit Grégoire  <bock@step.polymtl.ca>
415         * CSS tweaks for RSS feeds.
416         * Fix detection of HTML Safe.
417         * Avatar.php:  Don't allow editing the picture size.
418         * ContentGroup:  In some cases, the same element could be picked twice in the same display.
419         Make sure that doesn't happen.  Also, implement the option to not rotate content at all,
420         usefull when showing all elements simultaneously in a specific order. Closes #294
421
422 2007-02-24 Damien Raude-Morvan <drazzib@drazzib.com>
423         * Fix main SQL request in Node::getSelectNodeUI() to use
424           table alias in ORDER BY and SELECT. This disambiguation
425           is necessary when using a join on a table containing
426           another 'node_id' field.
427
428  2007-02-24 Max Horvath <max.horvath@freenet.de>
429         * Updated dependencies list (completion of all required components)
430         * Dramatic speedup of PEAR and PECL modules detection by dependencies class
431
432 2007-02-25 Benoit Grégoire  <bock@step.polymtl.ca>
433         -* rev [1182], [1183], [1184]  are repository fix commits.  If anyone have problem with their lib directory when upgrading, contact me.
434
435 2007-02-24 Max Horvath <max.horvath@freenet.de>
436         * Fix ticket #300: SYSTEM_PATH not being respected in config.php.
437
438 2007-02-07 Damien Raude-Morvan <drazzib@drazzib.com>
439         * Fix ticket #298 : php-ldap module is lowercase in Dependencies array,
440           update Dependencies::check() calls.
441
442 2007-02-05 Damien Raude-Morvan <drazzib@drazzib.com>
443         * Try to fix ticket #295 and #297 by including parent class (Content.php) in
444           File.php.
445         * ... and remove unnecessary include of Avatar content type in User.php: All
446           contents types are included by Content.php getAvailableContentTypes() call.
447
448 2007-01-28 François Proulx <francois.proulx@gmail.com>
449         * First iteration of user profiles completed.
450         * Need to improve Avatar admin UI
451
452 2007-01-19 Benoit Grégoire  <bock@step.polymtl.ca>
453         * dump_initial_data_postgres.sh:  Initial node wasn't setup correctly.
454         * INSTALL:  Fix some obsolete instructions for database backup and restore
455
456 2007-01-18 Benoit Grégoire  <bock@step.polymtl.ca>
457         * Updated french translation curtesy of http://zapquebec.org
458
459 2007-01-16 François Proulx <francois.proulx@gmail.com>
460         * ContentTypeFilter : Now supports filters stored in the DB, backward compatible
461         * ProfileTemplate, ProfileTemplateField, Profile : profiles support
462         * Update schema to 53 for profiles
463         * Network, User : Added support for profiles (not implemented for Network)
464         * TODO: Integration in portal
465
466 2007-01-16 Benoit Grégoire  <bock@step.polymtl.ca>
467         * A few more steps towards a real user manager
468         * Move password change to preferences.
469         * InterfaceElements:  Begin moving away from a raw HTML generator and towards a more semantic one as discussed with Max Horvath.
470         * It is now possible for an administrator to manually validate or lock-out a user
471         * Add new SimpleString content type
472         * SmartyWifidog.php:  Fix #282 with a slightly dirty workround to the chicken and the egg smarty variables assignment problem.
473                 We now extend the fetch method and do our assignment there instead of in the constructor.
474
475 2007-01-15 Benoit Grégoire  <bock@step.polymtl.ca>
476         * Sync initial schema and translations
477         * Minor spelling fixes
478
479 2007-01-14 Benoit Grégoire  <bock@step.polymtl.ca>
480         * Dependencies.php, AuthenticatorRadius.php:  Fix bug #287 (Dependencies not being detected properly)
481         * Content.php: Make hasDisplayableMetadata() consider Authors, and make it a bit faster.
482
483 2007-01-13 Benoit Grégoire  <bock@step.polymtl.ca>
484         * Content.php:  Add setUserUIMainDisplayContent() and setUserUIMainInteractionArea()
485         to simplify writing subclasses and port all content subclasses to the new API.
486         * Content.php:  Add a new callcack method, isTextualContent(), to be used by
487         ContentFilters.  Indicates that the content is suitable to store plain text.
488         * ContentGroup.php:  No longer warn about empty ContentGroup in getUserUI(),
489         as this may now be perfectly normal if all content has expired.
490         * Rework the classes and css for user_ui_main_outer, isSimpleContent has been
491         eliminated and hasDisplayableMetadata is now defined is metadata is available.
492         This should allow better HTML consistency and simpler CSS, and be closer to what
493         people expect by default.  Content without metadata will display without
494         borders or background, and without margins when inside another content.
495         * smarty.resource.string.php:  Add a setter function,
496         smarty_resource_string_add_string() that must be used before calling the smarty
497          function.  Using the name as the the template was far to brittle.  This makes
498          the SmartyTemplate content much more reliable, and quite possibly faster.
499         * ShoutBox: A very basic but already extensible implementation of the
500         shoutbox use case.  Shows the last five shouts.  Can connect to another web
501         site through a javascript extension.
502         * SimpleSmartyTemplate:  Add a simple version of the SmartyTemplate content
503         type
504
505 2007-01-03 Benoit Grégoire  <bock@step.polymtl.ca>
506         * FormSelectGenerator.php: Fix incorrect $this reference in isPresent().  The bug would only manifest
507          itself from the FlickrPhotostream's admin interface.
508         * page.php:  Fix missing retrieval of DB instance.
509
510 2007-01-03 Benoit Grégoire  <bock@step.polymtl.ca>
511         * Yet more Smarty cleanup, add some docs, add Smarty variables to access the physical node a user is connected to.
512         * RssAggregator.php:  Fix bug in setMaxItemAge() method when setting a null value
513         * Cache.php:  Performance optimization when caching is disabled.
514         * Fix bug where num online users in the portal was broken.
515
516 2007-01-02 François Proulx <francois.proulx@gmail.com>
517         * Updated the SQL schema initial schema
518
519 2006-12-31 Benoit Grégoire  <bock@step.polymtl.ca>
520         * More Smarty cleanup
521         * Content.php:  Bugfix:  metadata wasn't deleted along with the rest of the
522         content upon deletion.
523
524 2006-12-30 Benoit Grégoire  <bock@step.polymtl.ca>
525         * install.php:  Move path verification to the first page, and make it clearer.  Fix PHP warnings.
526         * wifidog/include/smarty.resource.string.php:  A smarty resource plugin to parse a smarty template from a string
527         * SmartyTemplate:  Very basic but functionnal commit of the new Smarty content type.
528         IMPORTANT NOTE:  This will eventually obsolete IFrameRest, which will be removed.
529         * Continue cleaning-up/standardizing Smarty variable usage.
530
531 2006-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
532         * Fix all PHP 5.2 compatibility issues I could find.  This needs further testing
533
534 2006-12-12 Pascal Charest <pascal.charest@gmail.com>
535         * install.php: Remove obsolete Phlickr installation references
536
537 2006-12-12 Benoit Grégoire  <bock@step.polymtl.ca>
538         * install.php, Dependencies.php:  Centralize Dependency detection (next is to centralize
539         dependency installation code).
540         * config.php: Remove more obsolete config directives.
541
542 2006-12-11 Benoit Grégoire  <bock@step.polymtl.ca>
543         * install.php:  Fix a few problems caused by obsolete magpierss detection code.
544         * install.php, config.php:  Remove the obsolete PHLICKR_SUPPORT option.
545
546 2006-11-30 Benoit Grégoire  <bock@step.polymtl.ca>
547         * schema_validate.php:  Mute annoying ob_flush() notices.
548         * Node.php:  Add missing default parameter to getSelectNodeUI()
549         * get_stylesheet:  Fix date calculations that broke download.
550
551 2006-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
552         Sync with my main developpement environement:
553         * Performance optimization pass:  Collect a few low hagning fruits
554         by implementing basic instance caching for classes Server, Network, Nodes, Content and User.
555          It's no replacement for a real ORM, but is cuts way down on duplicate SQL queries and
556          object instanciation for a single request.
557         * Langstring.php:  Slight performance optimization for admin interface, support for proper modification date.
558         * File.php:  Update to use unified content modification date.
559         * get_stylesheet.php:  Implement browser caching
560         * ContentGroup.php:  Get rid of is_locative and is_artistic metadata.  Will eventually be replaced by something better.
561         Allow editing of expired content elements
562         * Node.php, Utils.php:  Sort by case insensitive name, and show gateway id in node selectors
563         * BannerAdGroup.php:  Support group constraint of image size for all images in the group.
564         * ContentReport.php:  Finish basic content reporting.
565         Note that for content that displayed before the logging fixes commited 2006-11-14, the display count will be underestimated:
566         Display before then was only counted once per user per node.  Also File clickthrough wasn't logged (includes hyperlinked pictures).
567         * Content.php:  Implement a Key-Value Pair infrastructure.  In the future, this will often allow adding new content types without
568         having to modify the schema.  See the Content class documentation.
569         * Fix various small UI issues.
570
571 2006-11-29 Benoit Grégoire  <bock@step.polymtl.ca>
572         * common.php:  Fix the value of SESS_NODE_ID_VAR, it got overwritten by SESS_GW_ID_VAR.
573         Caused problems with logout.
574
575 2006-11-27 Benoit Grégoire  <bock@step.polymtl.ca>
576         * Try to fix #270:
577         * DateTime.php:  Rename class to DateTimeWD because of the stunt they pulled in PHP 5.2
578         * Content and derived classes:  Make all constructors protected.
579
580 2006-11-26 Benoit Grégoire  <bock@step.polymtl.ca>
581         * lost_username.tpl, lost_password.tpl, resend_validation.tpl:  Fix #259 by commenting out
582         all Javascript. I hate removing outside contributions, but the lost_username,
583         lost password and re-send validation email have been broken for months and no one
584         stepped-in to fix it.
585
586 2006-11-23 Benoit Grégoire  <bock@step.polymtl.ca>
587         * Fix bug in node creation
588         * Add error message for geocoder when you didn't set the country
589         * Clarify error messages and description for the geocoder.
590         * Make the google-map locator for nodes use the network center coordinates.
591           This change makes it usable when you didn't use the geocoder first.
592         * Show the gateway id in the technical nodelist.
593
594 2006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
595         * Fix minor problems with template using obsolete constants
596         * Delete a bunch of unused templates
597
598 2006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
599         * Fix broken auth
600         * Fix broken portal when called from gateway
601
602 2006-11-22 Benoit Grégoire  <bock@step.polymtl.ca>
603         * Major schema update (this one is going to make your database grind for a while, sorry
604         about that...)
605         Fix a long standing design problem with the node table, where the ID could be changed.
606         This caused performance problems when replacing gateways, and caused problems when
607         exporting data to other systems.  Among other things, it will allow us to finally
608          finish the JiWire output.
609         * 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.
610
611 2006-11-21 Benoit Grégoire  <bock@step.polymtl.ca>
612         * Change schema update method.  Will now do one transaction
613          per schema version, allowing each schema to assume that
614           the current schema is the previous one.  Also allows not
615           starting over when there is a problem.
616           Fixes schema update problems with the last commit
617
618 2006-11-21 Benoit Grégoire  <bock@step.polymtl.ca>
619         * RssAggregator.php:  At long last, sync with FeedPressReview 2.0
620          http://projects.coeus.ca/feedpressreview/ (formerly rsspressreview)  and
621           make most of it's features directly available from the web interface.
622         This gives us:
623         -Now based on SimplePie http://simplepie.org/ (magpie was no longuer maintained)
624         -Now unobtrusively displays almost all item and feed metadata
625         -Supports images
626         -Supports podcasts and enclosures
627         -More accurate algorithm
628         -Criteria based default feed expansion
629         -More real-estate efficient, and improved UI
630         The admin interface is now also more real-estate efficient (uses the hover help code commited by François that no one used yet).
631
632         Warning: This changes the dependencies of the auth server.  Your RSS feeds will be disabled untill you re-run the install script.
633         * gw_message.php:  Fix validation period not being displayed.
634
635 2006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
636         * MainUI.php:  Allow displaying any object with a getUserUI() method directly as content.
637
638 2006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
639         * 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.
640
641 2006-11-14 Benoit Grégoire  <bock@step.polymtl.ca>
642         * File.php:  Clickthrough weren't logged, DOH!
643         * User.php:  Error message on validation expired didn't properly output the validation grace time.
644         * Statistics.php:  Fix #271: Getting statistics for a single MAC address was broken.
645         * NodeListXML.php:  Small patch by Josephus to add the number of online users
646         * Improve CPU usage of the content manager
647         * AbstractDb:  Fix query time not being displayed in debug mode if profiling was turned off.
648                                         Add total execution time statistics.
649         * Fix logging of content clickthrough and display.  Unique users and node data is reliable for existing data.
650                 Number of prints is underestimated (repeat prints for the same user, same content at same node didn't get counted)
651                  for data before this patch.
652                 Same with number of clickthrough for File content types and derivatives (picture, etc.).
653         * ContentReport.php:  Add content report (does not support most options yet, but still very usefull).
654
655 2006-11-13 Benoit Grégoire  <bock@step.polymtl.ca>
656         * Make the MainUI, SmartyWifidog and Session and AbstractDb classes singletons
657         * Implement two pass content display.  All Content can now implement a prepareGetUserUI(), allowing them to interact with MainUI and other Content before display.
658           Allow creating content such as stylesheets, feed accumulators, etc.
659         * SmartyWifidog.php Turn on security, begin preparing for standardisation of Smarty variables
660         * New Content type:  Stylesheet.  Allows specific nodes, or even specific content groups to have custom stylesheets.
661         * Langstring.php:  Make getAdminUI calling conventions coherent with other content types.
662
663 2006-11-11 Benoit Grégoire  <bock@step.polymtl.ca>
664         * Authenticator.php:  Critical: Fix SQL query syntax in acctStart()
665
666 2006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
667         * install.php:  Fix password generation I inadvertently broke.  Remove misleading info about SSL
668
669 2006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
670         * install.php:  Put an end of line after the password, make it easier to read.
671         Make the install script check the permissions of lib/smarty/plugins directory to avoid smarty errors
672         * Statistics.php:  A little gift for France wireless:  Make aggregate statistics available across networks
673
674 2006-11-07 Benoit Grégoire  <bock@step.polymtl.ca>
675         * Fix # 268, #269 as well as greg's problems by moving all token and registration date arithmetics
676          to the database, and standardize on SQL-standard CURRENT_TIMESTAMP.
677         Fixes operational problems when PHP and PostGres don't have the same timezone
678         (which appears to be the case on Fedora by default).
679         Note that the page.php script still has PHP date arithmetics, but at least should be self-consistent.
680
681 2006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
682         * auth/index.php: Add some defensive coding and debug output when the token is invalid.
683
684 2006-10-24 Damien Raude-Morvan <drazzib@drazzib.com>
685         * Fix french translation used for account validation to use same number of token as original message.
686         * Only show language combo when there is more than one language to select.
687
688 2006-10-24 Benoit Grégoire  <bock@step.polymtl.ca>
689         * EmbeddedContent.php:  Fix content type selection (admin interface of EmbeddedContent was broken)
690         * Full spanish translation curtesy of jguevara @@ unitec.edu (closes #254)
691         * Some documentation updates for content filters
692         * Content.php:  Add isNotContentType() method.
693
694 2006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
695         * Access to the Content manager was broken for normal users, again.
696
697 2006-09-11 François Proulx <francois.proulx@gmail.com>
698         * Changed install.php req. for Smarty 2.6.17 is mandatory
699         * ContentTypeFilter.php fixed the method checking function
700         * Fixed errors in French translation file
701
702 2006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
703         * Fix PHPMailer that I've broken earlier
704
705 2006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
706         * Slightly rework SSL detection so that it uses the default server if a current one isn't available.
707                 Fixes server passing passwords in the clear if the hostname disn't match (DOH!).
708                 We really should properly split the Server class into a singleton Server class and multiple VirtualHost classes.
709         * Re-apply fixed HTMLeditor patch.  (Original description:  Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
710           line count and will stop the codebases from needlessly drifting apart.)
711
712 2006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
713         * Add missing require of Statistics.php in stats.php
714
715 2006-09-07 Benoit Grégoire  <bock@step.polymtl.ca>
716         * Fix non persistent content being available to add to nodes, networks and content groups.
717         * Prevent a user from entering the same language twice in a langstring.  Fixes #226
718
719 2006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
720         * Fix #63
721         * Fix problem with my Splash only user fix (I used match on the user_id instead of the username).
722         * Prevent the Splash only user from logging out, wrecking havock in the tokens.
723         * Do not allow SplashOnlyUser to set his preferences.
724         * Assigning a reusable content to a contentgroup element would make it non-reusable.
725 Usability and UI fixes:
726         * Allow other users to log in when they are at a splash only node.
727         * Make isSimpleContent class available for Simple content types.  Make it borderless and backgroundless in the default theme_pack.
728         * Simplify HTML output for simple content.
729         * Fix IE layout bug in node admin
730         * Content linked to nodes and networks now edits in a new window.
731         * Remove "Add new node" menu item for consistency.
732
733 2006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
734         * Remove most inclusions of MainUI in classes.
735         That completely broke authentication (circular dependencies).
736         Fixes 245.
737     Unfixes 242. Exceptions should not be caught in the context
738     they are thrown in. Else there no point in throwing exception in the
739     first place.
740         * HyperLink.php:  Fix bug where a link with identical text as it's link would see the text replaced by the clickthrough-tracked equivalent.
741
742 2006-09-06 Benoit Grégoire  <bock@step.polymtl.ca>
743         * ContentTypeFilter:  New class, implements #159.  Allows to filter content type according to various criteria.  Will be used more extensively in the profile manager.
744         * Content manager:  Use content type filter to only allow Simple content types (Content without metadata) to be used for metadata.
745         * New content type BannerAdGroup.  Used (primarily) to display banner adds, or any other image rotation.  Size constraints not yet implemented
746         * Move externally maintained class.phpmailer.php, class.smtp.php into lib where they belong
747         * DateTime.php: Make class handle an empty date sensibly.
748         * Network.php:  Show the network again when there is only one.  It was confusing in some screens.
749         * page.php:  Clarify error message, and set a more reasonnable paging cascade:
750                 5 min, 30 min, 2 hours, 1 day, 1 week, 1 month
751         * Finally fix #127
752         * 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.
753         * Fix #247 (somebody filed a bug before I commited, conveniently saving me the need to describe it).
754         * The Fix for #106 in [1089] returned non-objects, causing error messages and not displaying what it was meant to display.
755                 Used Guest instead of Annonymous, which will probably be used for different purpose in the future.
756                 This re-fix does not include duplicate counting yet.  Splash users are not the only users that could log-in multiple times.
757                 I don't have a staging server here, a fix will be commited in a few minutes if something goes wrong.
758         * Cleanup coments.
759         * Sync schemas
760
761 2006-09-03 Max Horváth <max.horvath@freenet.de>
762         * The term SPLASH_ONLY_USER displayed to people visiting the portal has been
763           replaced by the more meaningful term "anonymous user" (fixes #106)
764         * When creating a new node and choosing an existing node_id there will be
765           shown an error message (fixes #223)
766         * If one or more nodes aren't monitored they now will be announced on the
767           front page (instead of just showing the number of monitored online nodes)
768           (fixes #100)
769         * Display more meaningful error messages if required user permissions are
770           missing (fixes #242)
771         * Refactored Network->getAdminUI() to match look and feel of
772           Node->getAdminUI (fixes #140)
773         * Show descriptive status of node (fixes #241)
774
775 2006-09-02 Max Horváth <max.horvath@freenet.de>
776         * Installation script checks for PHP session extension (fixes #139)
777         * Removed "Call-time pass-by-reference has been deprecated" warnings
778           (fixes #239)
779         * Revert changes of FCKeditor implementation (fixes #240)
780         * Fix of FCKeditor implementation, now also supports FCKeditor 2.3+
781           (fixes #145)
782         * Hotspots/Nodes are sorted case-insensitive now (fixes #109)
783         * Fix #141
784         * templates/sites/index.tpl: fix wrong user count (fixes #236)
785         * Added more trash mail services to the black list (fixes #149)
786
787 2006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
788         * Fix #189, #173
789
790
791 2006-09-01 Benoit Grégoire  <bock@step.polymtl.ca>
792         * Content.php:  Improve handling of simple but persistent content.
793
794 2006-08-31 Benoit Grégoire  <bock@step.polymtl.ca>
795         * Server.php:  Make sure getCurrentServer returns the default server if the
796           hostname isn't recognised.
797         * Content manager:
798                 - Allow deleting simple (trivial) but persistent content
799                 - Remove the sponsor info field from Content Metadata.  Best practices
800                   is now to use the project info field to show this information.
801         * Add the necessary schema constraints to allow manually deleting networks,
802           nodes and users.  Be carefull, removing any of theses will remove all
803           traces of connection statistics as well.  You've been warned.
804         * Do not display the network in the login interface if there is only one.
805         * Add a pseudo-random content ordering mode.  Pick content elements
806           randomly, but do not display the same content twice untill all content
807           has been seen.
808         * Allow setting a title but not displaying it (very usefull for reusable
809           content)
810
811 2006-08-29 Max Horváth <max.horvath@freenet.de>
812         * Cleaned up PHPdoc tags
813         * Updated german translation
814         * Updated portuguese translation, thanks to Gabriel Hahmann
815         * Added spanish translation, thanks to Ricardo Jose Guevara Ochoa
816
817 2006-08-28 Benoit Grégoire  <bock@step.polymtl.ca>
818         * Add SimplePicture content type
819         * Fix #225 (For both nodes and networks)
820
821 2006-08-28 Max Horváth <max.horvath@freenet.de>
822         * Integrated KML node list export
823         * Integrated PDF node list export
824         * Updated Sprintf formatted strings in some Smarty templates
825
826 2006-08-27 Benoit Grégoire  <bock@step.polymtl.ca>
827         * clickthrough.php, HyperLink.php:  Implement working hyperlink
828           clickthrough tracking (no reporting yet).
829           Works for Langstring, FlickrPhotoStream, Picture, RssAggregator and their
830           subclasses.
831         * Make HTMLeditor inherit from Langstring.  Allowed a massive reduction of
832           line count and will stop the codebases from needlessly drifting apart.
833         * Do not log content displayed as metadata, and log their clickthrough as
834           the parent's.
835
836 2006-08-27 François Proulx <francois.proulx@gmail.com>
837         * Updated French translations
838         * Now using Sprintf formatted strings in some Smarty templates (see
839           example in templates/sites/index.tpl).
840         * Integrated back the SQL profiling functions
841
842 2006-07-20 Benoit Grégoire  <bock@step.polymtl.ca>
843         * Fix a bug where having an empty username would break statistics.
844
845 2006-07-07 Benoit Grégoire  <bock@step.polymtl.ca>
846         * Fix a bug in some reports when selecting a single user.
847
848 2006-07-05 Benoit Grégoire  <bock@step.polymtl.ca>
849         * Fix #175.
850         * Fix the "Registration Log" and "User registration report" reports giving
851           incorrect statistics
852         * Allow disabling EventLogging class in config.php, to make SQL debuging
853           possible (The class was traping errors before AbstractDb could
854           output them)
855         * Make EVENT_LOGGING default to false for now, as it turns out EventLogging
856           was the cause of the Spurious PEAR output ("Runtime Notice: ") we've
857           been seeing.  That is probably only because we don't understand how to
858           properly control it's logging level.
859
860 2006-06-18 François Proulx <francois.proulx@gmail.com>
861         * Added creation_date , last_update_date support to File content (with
862           proper HTTP caching handling)
863         * Added hyperlinks URL support in Picture content
864         * Fixed constants in Flickr Content
865         * Fixed #171 (Can't add existi