1<?xml version="1.0" encoding="UTF-8"?>
2<package packagerversion="1.9.0" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
3 <name>LiveUser_Admin</name>
4 <channel>pear.php.net</channel>
5 <summary>User authentication and permission management framework</summary>
6 <description>LiveUser_Admin is meant to be used with the LiveUser package.
7  It is composed of all the classes necessary to administrate
8  data used by LiveUser.
9
10  You&apos;ll be able to add/edit/delete/get things like:
11  * Rights
12  * Users
13  * Groups
14  * Areas
15  * Applications
16  * Subgroups
17  * ImpliedRights
18
19  And all other entities within LiveUser.
20
21  At the moment we support the following storage containers:
22  * PEAR::DB
23  * PEAR::MDB
24  * PEAR::MDB2
25  * PECL::PDO
26
27  But it takes no time to write up your own storage container,
28  so if you like to use native mysql functions straight, then it&apos;s possible
29  to do so in under a hour!</description>
30 <lead>
31  <name>Markus Wolff</name>
32  <user>mw21st</user>
33  <email>mw21st@php.net</email>
34  <active>yes</active>
35 </lead>
36 <lead>
37  <name>Arnaud Limbourg</name>
38  <user>arnaud</user>
39  <email>arnaud@php.net</email>
40  <active>yes</active>
41 </lead>
42 <lead>
43  <name>Lukas Kahwe Smith</name>
44  <user>lsmith</user>
45  <email>smith@pooteeweet.org</email>
46  <active>yes</active>
47 </lead>
48 <lead>
49  <name>Helgi &amp;#222;ormar</name>
50  <user>dufuz</user>
51  <email>dufuz@php.net</email>
52  <active>yes</active>
53 </lead>
54 <developer>
55  <name>Matthias Nothhaft</name>
56  <user>mahono</user>
57  <email>mahono@php.net</email>
58  <active>yes</active>
59 </developer>
60 <date>2010-10-06</date>
61 <time>01:53:48</time>
62 <version>
63  <release>0.4.0</release>
64  <api>0.4.0</api>
65 </version>
66 <stability>
67  <release>beta</release>
68  <api>beta</api>
69 </stability>
70 <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
71 <notes>
72QA release
73Bug #13233  	Example1 error when importing data in DB
74Bug #11051  	Seems class variable is not declared
75Bug #8424  	incorrect handling of single column joins
76 </notes>
77 <contents>
78  <dir baseinstalldir="/LiveUser" name="/">
79   <file baseinstalldir="/LiveUser/Admin" md5sum="a04980228ec5ab350c6e61b3362c4070" name="Auth/Common.php" role="php" />
80   <file baseinstalldir="/LiveUser/Admin" md5sum="92802918b4f2dfbe4d25b68d7cbba3b3" name="Auth/DB.php" role="php" />
81   <file baseinstalldir="/LiveUser/Admin" md5sum="a6b655bd8f91f8056e2fb585e95347b1" name="Auth/MDB.php" role="php" />
82   <file baseinstalldir="/LiveUser/Admin" md5sum="e8e5c22af1fcf9f57de9152716e2e79c" name="Auth/MDB2.php" role="php" />
83   <file baseinstalldir="/LiveUser/Admin" md5sum="5badcc5313ef2d6042d08002a8e4f225" name="Auth/PDO.php" role="php" />
84   <file baseinstalldir="/LiveUser/Admin" md5sum="956d0c490be5e59e86aed0de08617991" name="Auth/Storage/DB.php" role="php" />
85   <file baseinstalldir="/LiveUser/Admin" md5sum="b8a58d3cea8a01b52901489dc0e2b31c" name="Auth/Storage/MDB.php" role="php" />
86   <file baseinstalldir="/LiveUser/Admin" md5sum="dbc63eef83ea7e0afdab8bb9cc34bd6d" name="Auth/Storage/MDB2.php" role="php" />
87   <file baseinstalldir="/LiveUser/Admin" md5sum="7d8b11c5ece93bcb9b55c3aa1fc68c2d" name="Auth/Storage/PDO.php" role="php" />
88   <file baseinstalldir="/LiveUser/Admin" md5sum="49902439d4125d7d754f0b838af31334" name="docs/examples/README" role="doc" />
89   <file baseinstalldir="/LiveUser/Admin" md5sum="73c07104cfeca74b240b5122e183e8ce" name="docs/examples/example1/Application.php" role="doc" />
90   <file baseinstalldir="/LiveUser/Admin" md5sum="11aa4f0cc1cf0fde32bcc17a595dbb82" name="docs/examples/example1/Area.php" role="doc" />
91   <file baseinstalldir="/LiveUser/Admin" md5sum="10b760c338e1b7bbfcb82b8203ebbacd" name="docs/examples/example1/Area_Admin_Areas.php" role="doc" />
92   <file baseinstalldir="/LiveUser/Admin" md5sum="37edaa8ca6a33057dbce1445b0e26d38" name="docs/examples/example1/config.inc.php" role="doc" />
93   <file baseinstalldir="/LiveUser/Admin" md5sum="58a36e0d144921ab79a4693730733968" name="docs/examples/example1/demodata.xml" role="doc" />
94   <file baseinstalldir="/LiveUser/Admin" md5sum="5fe6306f94a1dae8dd58a023d9f4cc05" name="docs/examples/example1/Group.php" role="doc" />
95   <file baseinstalldir="/LiveUser/Admin" md5sum="75722d311cfb2299c96a754549f4e005" name="docs/examples/example1/GroupRights.php" role="doc" />
96   <file baseinstalldir="/LiveUser/Admin" md5sum="db796f58cf31b8b186ea73cfcfbca919" name="docs/examples/example1/ImplyRights.php" role="doc" />
97   <file baseinstalldir="/LiveUser/Admin" md5sum="bed711fd442885ff3e1a0468c9010f5c" name="docs/examples/example1/index.php" role="doc" />
98   <file baseinstalldir="/LiveUser/Admin" md5sum="a97325c851eb12d337eaae8a921d4e98" name="docs/examples/example1/OutputRightsConstants.php" role="doc" />
99   <file baseinstalldir="/LiveUser/Admin" md5sum="bb0bbae65ba158c64ee888342bb2aa87" name="docs/examples/example1/Rights.php" role="doc" />
100   <file baseinstalldir="/LiveUser/Admin" md5sum="65953039467cd7820cbfaf757fb9d0a9" name="docs/examples/example1/Subgroups.php" role="doc" />
101   <file baseinstalldir="/LiveUser/Admin" md5sum="00b5169fc9ef07cb6674761c43f7ada7" name="docs/examples/example1/test.php" role="doc" />
102   <file baseinstalldir="/LiveUser/Admin" md5sum="fb19374b9c435a28c64f17d2ff28e9a4" name="docs/examples/example1/Translation.php" role="doc" />
103   <file baseinstalldir="/LiveUser/Admin" md5sum="7b7a368171f743ee00d13b2b76f20f4a" name="docs/examples/example1/User.php" role="doc" />
104   <file baseinstalldir="/LiveUser/Admin" md5sum="0d1d17acec43477a9875cc14d55d5a63" name="docs/examples/example1/UserGroup.php" role="doc" />
105   <file baseinstalldir="/LiveUser/Admin" md5sum="b621ff8c501f3c27865556fd3ffd5035" name="docs/examples/example1/UserRights.php" role="doc" />
106   <file baseinstalldir="/LiveUser/Admin" md5sum="8c6e54f68b7a222ec9ea6786b92f2498" name="docs/examples/example3/area51.php" role="doc" />
107   <file baseinstalldir="/LiveUser/Admin" md5sum="e1550364ca9687c69f0278bdc7cc2f84" name="docs/examples/example3/coffeemaker.php" role="doc" />
108   <file baseinstalldir="/LiveUser/Admin" md5sum="3df213f5b5fbc82cfc6b56a1503be8cf" name="docs/examples/example3/conf.php" role="doc" />
109   <file baseinstalldir="/LiveUser/Admin" md5sum="2673487d17aa4790d4d4cb5d08078b5c" name="docs/examples/example3/demodata.xml" role="doc" />
110   <file baseinstalldir="/LiveUser/Admin" md5sum="64bf384674ea41003996482b10c06007" name="docs/examples/example3/example.php" role="doc" />
111   <file baseinstalldir="/LiveUser/Admin" md5sum="9df118a19c46c9aba51f77e7678f7220" name="docs/examples/example3/index.html" role="doc" />
112   <file baseinstalldir="/LiveUser/Admin" md5sum="fdba00fc8da8d08ce3a2d1b2f7fc5bae" name="docs/examples/example3/loginscreen.php" role="doc" />
113   <file baseinstalldir="/LiveUser/Admin" md5sum="c914ae7436bbd1d385b40eda52360b81" name="docs/examples/example3/main.php" role="doc" />
114   <file baseinstalldir="/LiveUser/Admin" md5sum="6d0a114efb74e64f53ed29ac8c4fc817" name="docs/examples/example3/nav.php" role="doc" />
115   <file baseinstalldir="/LiveUser/Admin" md5sum="a72be2d9aeae28f5dba8fdcc4afab14a" name="docs/examples/example3/testarea.php" role="doc" />
116   <file baseinstalldir="/LiveUser/Admin" md5sum="051b75fa6c27b92b94975689dd8b621c" name="Perm/Complex.php" role="php" />
117   <file baseinstalldir="/LiveUser/Admin" md5sum="68acd73dc7f3864dba8742d939c617a2" name="Perm/Medium.php" role="php" />
118   <file baseinstalldir="/LiveUser/Admin" md5sum="ca9f5cdd7c49385fb7bd03ce2139fb2c" name="Perm/Simple.php" role="php" />
119   <file baseinstalldir="/LiveUser/Admin" md5sum="4e8453392bffbcf1af2443d8943571de" name="Perm/Storage/DB.php" role="php" />
120   <file baseinstalldir="/LiveUser/Admin" md5sum="cdbcaf6d26a2925315bbb4da43d00394" name="Perm/Storage/MDB.php" role="php" />
121   <file baseinstalldir="/LiveUser/Admin" md5sum="eac710db33c95fe889bbbed384e70279" name="Perm/Storage/MDB2.php" role="php" />
122   <file baseinstalldir="/LiveUser/Admin" md5sum="50cf3c272cefb13e05b9f175a33ba525" name="Perm/Storage/PDO.php" role="php" />
123   <file baseinstalldir="/LiveUser/Admin" md5sum="a95f6438f717e2088aa9eee7cf73923a" name="Storage/DB.php" role="php" />
124   <file baseinstalldir="/LiveUser/Admin" md5sum="d52b435d9552543c12467979bfa57627" name="Storage/MDB.php" role="php" />
125   <file baseinstalldir="/LiveUser/Admin" md5sum="2fd61ff95b90f23d6529eef6ed04e77d" name="Storage/MDB2.php" role="php" />
126   <file baseinstalldir="/LiveUser/Admin" md5sum="6ce12711b97764c18fa3b4314d59e92b" name="Storage/PDO.php" role="php" />
127   <file baseinstalldir="/LiveUser/Admin" md5sum="58dcc86416e76d7ddaafba92253a3a65" name="Storage/SQL.php" role="php" />
128   <file baseinstalldir="/LiveUser" md5sum="2338aed4aa991166393ef13befd71dc7" name="Admin.php" role="php" />
129   <file baseinstalldir="/LiveUser/Admin" md5sum="03fb004783f456bfd292dde36ab5c489" name="lgpl.txt" role="doc" />
130   <file baseinstalldir="/LiveUser/Admin" md5sum="f5bf165fa2c7819fa41f99f41dc0f286" name="Storage.php" role="php" />
131  </dir>
132 </contents>
133 <dependencies>
134  <required>
135   <php>
136    <min>4.2.0</min>
137   </php>
138   <pearinstaller>
139    <min>1.4.0b1</min>
140   </pearinstaller>
141   <package>
142    <name>PEAR</name>
143    <channel>pear.php.net</channel>
144    <min>1.3.1</min>
145   </package>
146   <package>
147    <name>LiveUser</name>
148    <channel>pear.php.net</channel>
149    <min>0.16.12</min>
150   </package>
151  </required>
152  <optional>
153   <package>
154    <name>Log</name>
155    <channel>pear.php.net</channel>
156    <min>1.7.0</min>
157   </package>
158   <package>
159    <name>DB</name>
160    <channel>pear.php.net</channel>
161    <min>1.6.0</min>
162   </package>
163   <package>
164    <name>MDB</name>
165    <channel>pear.php.net</channel>
166    <min>1.1.4</min>
167   </package>
168   <package>
169    <name>MDB2</name>
170    <channel>pear.php.net</channel>
171    <min>2.1.0</min>
172   </package>
173   <package>
174    <name>XML_Tree</name>
175    <channel>pear.php.net</channel>
176   </package>
177   <package>
178    <name>Crypt_RC4</name>
179    <channel>pear.php.net</channel>
180   </package>
181  </optional>
182 </dependencies>
183 <phprelease />
184 <changelog>
185  <release>
186   <version>
187    <release>0.14.0</release>
188    <api>0.14.0</api>
189   </version>
190   <stability>
191    <release>beta</release>
192    <api>beta</api>
193   </stability>
194   <date>2004-12-11</date>
195   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
196   <notes>
197- Refactored nto a separate package.
198   </notes>
199  </release>
200  <release>
201   <version>
202    <release>0.1.0</release>
203    <api>0.1.0</api>
204   </version>
205   <stability>
206    <release>beta</release>
207    <api>beta</api>
208   </stability>
209   <date>2004-12-20</date>
210   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
211   <notes>
212- refactored into a separate package from LiveUser
213- severe BC breaks in the permission API in order to unify the API
214- added ErrorStack
215- fixed outputRightsConstants() method
216- refactored storage layer to use an SQL query builder (DB and MDB support is
217  currently missing but will be added in the next minor update)
218- sql query builder should output more portable SQL code
219- sql query builder enables full aliasing of all field names
220- sql query builder only joins the necessary tables so the admin API does not
221  force the usage of any table (especially the translation table)
222- searchUser() now also fetches perm data
223- the complex container is currently not fully implemented
224   </notes>
225  </release>
226  <release>
227   <version>
228    <release>0.2.0</release>
229    <api>0.2.0</api>
230   </version>
231   <stability>
232    <release>beta</release>
233    <api>beta</api>
234   </stability>
235   <date>2005-03-15</date>
236   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
237   <notes>
238- perm container now also has a default init() method that is called in the factory
239- delete/update now dont require a filter in the id field
240- delete/update now return the number of affected rows
241- use LiveUser::cryptRC4() for rc4 handling
242- added support to be able to query for single values, columns and rows next to
243  fetching multi dimensional arrays (&apos;select&apos; key in params array of get methods)
244- improved error handling in several places to not trigger on empty results
245- sequences are now named after the table they belong to
246- now requiring MDB2-2.0.0beta3
247- if the &quot;force-seq&quot; option is now set to false in the storage config
248  MDB2 will try to use autoincrement if supported by the RDBMS (you will need
249  to add autoincrement to the id fields in the applications, areas, groups,
250  rights, and perm_users tables yourself)
251- example 1 now outputs all queries using an MDB2 debug handler
252- Subgroups now work
253- ImplyRights now work
254- One can now remove groups recursively by passing recursive = true to
255  removeGroup in Perm Complex container (before it was hardcoded to true,
256  now defaults to false)
257- Tests for SubGroups and ImplyRights up and running
258- getGroup and getRight now work in Perm Complex Container
259- added DB and MDB permission backends
260- Complex container is now fully implemented.
261- addAreaAdmin and removeAreaAdmin where added to the Complex container
262- Admin.php getUser was removed and searchUser was renamed to getUsers and with
263  new params (BC break!)
264- give each example a unique database name
265- moved selectable tables into property so that they can be overwritten
266- fixed autoinit handling in factoray (bug #3133)
267- added missing PEAR error to error stack conversions
268- return false if we previously ensured that the value is false anyways for clarity
269- call setAdminAuthContainer() in updateUser() and removeUser() to ensure that
270  the proper auth container is affected
271- updated the file headers as per the RFC
272- getGroups() in the complex container was refactored and subgroup handling
273  was reworked (BC break!)
274   </notes>
275  </release>
276  <release>
277   <version>
278    <release>0.2.1</release>
279    <api>0.2.1</api>
280   </version>
281   <stability>
282    <release>beta</release>
283    <api>beta</api>
284   </stability>
285   <date>2005-03-30</date>
286   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
287   <notes>
288- typo fix in autoinit option (bug #3844)
289- updated LiveUser dependency to 0.15.0
290- fixed type handling in updateUser()
291- update getErrors() with code from the LiveUser class
292- typo fix in outputRightsConstants() (bug #3897)
293- removed calls to make remove filter on delete of relationship tables (bug #3874)
294   </notes>
295  </release>
296  <release>
297   <version>
298    <release>0.2.2</release>
299    <api>0.2.2</api>
300   </version>
301   <stability>
302    <release>beta</release>
303    <api>beta</api>
304   </stability>
305   <date>2005-05-05</date>
306   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
307   <notes>
308- delete() now uses findTable() to ensure that only defined table with the
309  proper fields are being used
310- findTable() now only prefixes fields if necessary
311- typo fix: hierachy -&gt; hierarchy (bug #4150)
312- added ability to prefix explicit tables in findTables()
313- no longer use &quot;ids&quot; in insert so we can remove this information from the
314  Globals.php file in the client
315- examples were converted to use MDB2_Schema. See the demodata.php script found
316  in the client part (http://cvs.php.net/co.php/pear/LiveUser/docs/examples/demodata.php)
317- added _call() overloading method for php5 users in LiveUser_Admin class
318- added support for table name aliasing (fairly untested)
319   </notes>
320  </release>
321  <release>
322   <version>
323    <release>0.3.0</release>
324    <api>0.3.0</api>
325   </version>
326   <stability>
327    <release>beta</release>
328    <api>beta</api>
329   </stability>
330   <date>2005-06-21</date>
331   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
332   <notes>
333- added _call() overloading method for php5 users in LiveUser_Admin class
334- dont require a conf array for all but the first call of singleton()
335- updated LiveUser dependency
336
337storage
338- delete() now uses findTable() to ensure that only defined table with the
339  proper fields are being used
340- findTable() now only prefixes fields if necessary
341- added ability to prefix explicit tables in findTables()
342- no longer use &quot;ids&quot; in insert so we can remove this information from the
343  Globals.php file in the client
344- added support for table name aliasing
345- tweaked NULL value handling in createWhere() (bug #4638)
346
347authentication
348- typo fix (bug #4109)
349- typo fix (bug #4173)
350- moved to admin storage class
351- tweaked disconnect to only disconnect when a new connection was made
352
353permission
354- typo fix: hierachy -&gt; hierarchy (bug #4150)
355- improved the &quot;with&quot; support (fixing bug #3245)
356- tweaked disconnect to only disconnect when a new connection was made
357- fixed bug that would lead to hierarchy mode in getGroups only fetching the
358  first subgroup level (bug #4633)
359
360examples
361- examples were converted to use MDB2_Schema. See the demodata.php script found
362  in the client part (http://cvs.php.net/co.php/pear/LiveUser/docs/examples/demodata.php)
363- removed the test.php script since this code is outdated and serves no purpose any longer
364- updated examples to use the new auth config layout due to using admin storage
365- tweaked error handling on init() call
366   </notes>
367  </release>
368  <release>
369   <version>
370    <release>0.3.1</release>
371    <api>0.3.1</api>
372   </version>
373   <stability>
374    <release>beta</release>
375    <api>beta</api>
376   </stability>
377   <date>2005-07-19</date>
378   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
379   <notes>
380- php 4.4 reference assignment fixes
381- dont filter out subgroups from the previous level in
382  _getGroupsWithHierarchy() (bug #4860)
383   </notes>
384  </release>
385  <release>
386   <version>
387    <release>0.3.2</release>
388    <api>0.3.2</api>
389   </version>
390   <stability>
391    <release>beta</release>
392    <api>beta</api>
393   </stability>
394   <date>2005-08-09</date>
395   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
396   <notes>
397- copy storage config before passing it to the storageFactory() since this
398  method messes with the values which causes the original to be modified due to
399  using pass by reference
400- removed old &apos;with&apos; handling code that is no longer necessary from getGroups()
401  in the medium container
402   </notes>
403  </release>
404  <release>
405   <version>
406    <release>0.3.3</release>
407    <api>0.3.3</api>
408   </version>
409   <stability>
410    <release>beta</release>
411    <api>beta</api>
412   </stability>
413   <date>2005-08-17</date>
414   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
415   <notes>
416- typo fix in phpdoc (bug #5054)
417- removed space in the example1 directory name
418- ensure that fields are properly aliased (bug #5059)
419- added an aliased field to exampl1 so that we can better test liveuser_admin
420- several CS fixes
421- removed uncessary optional dependencies on XML_Tree and Crypt_RC4
422- fixed issue in upate() handling in the storage of required fields
423- supress errors due to deleting non existant tables in example1
424- fixed bug in setFetchMode() calling in example1
425- removed warning about extra_sql.sql in example1
426- pass the storage config array by ref after all
427   </notes>
428  </release>
429  <release>
430   <version>
431    <release>0.3.4</release>
432    <api>0.3.4</api>
433   </version>
434   <stability>
435    <release>beta</release>
436    <api>beta</api>
437   </stability>
438   <date>2005-09-02</date>
439   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
440   <notes>
441- fixed typo error in sanity checking of the SQL storage layer update() method
442- fixed bug in the SQL storage layer insert() method that would lead to the
443  sequence value not being returned if it was set externally. this for example
444  leads to broken behaviour  in the addUser() wrapper method in LiveUser_Admin
445- added error handler to example1 so that notices and warnings will not go
446  unnoticed so easily in the large output
447   </notes>
448  </release>
449  <release>
450   <version>
451    <release>0.3.5</release>
452    <api>0.3.5</api>
453   </version>
454   <stability>
455    <release>beta</release>
456    <api>beta</api>
457   </stability>
458   <date>2005-10-10</date>
459   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
460   <notes>
461- only alias orders fields if needed (bug #5310)
462- fixed warning in _getGroupsWithHierarchy() if filters match no group
463- several typo fixes in getGroups() in the complex container
464- several fixes to getRights() in the complex container (bug #5453)
465- added test.php to the linkbar in example1
466- removed autoInit (call setAdminContainers() manually instead) *BC BREAK*
467- reworked log/debug handling (there is a new &apos;debug&apos; conf option which can
468  either be a bool or a log instance)
469- made the log property public which made it possible to remove addErrorLog()
470- use static LiveUser::PEARLogFactory instead of loadPEARLog()
471   </notes>
472  </release>
473  <release>
474   <version>
475    <release>0.3.6</release>
476    <api>0.3.6</api>
477   </version>
478   <stability>
479    <release>beta</release>
480    <api>beta</api>
481   </stability>
482   <date>2005-12-21</date>
483   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
484   <notes>
485- dont raise an error when no user is found in getUsers() helper method (bug #5690)
486- fixed bug in handling of _checkExplicitTable() return value in findTables() (bug #5706)
487- tweaked error messages for failed factory method calls
488- renamed query() to exec() to match the MDB2 RC1 API
489- use exec() instead of query()
490- handle database structure merging inside the Storage class
491  (previously handled in the auth/perm backend drivers)
492- improved sanity checking in insert and update when values for undefined fields are passed
493- do nothing in update() if an empty data array is passed
494- required fields may not be unset, but may be empty strings
495  (corrected overly strict check in update() method)
496- owner_*_id is no longer necessary for the tests
497- leave owner_user_id management to the developer
498- tweaked errors messages in insert() and update()
499- in createJoinFilter first work through all the direct matches before recursing
500- typo in loadModule call in the MDB2 backend (bug #6092)
501- removed loginTimeout feature (disable lastlogin if you are concerned about
502  the cost of updating the lastlogin time)
503- tons of phpdoc and whitespace fixes and additions
504- updated API calls to LiveUser to version 0.16.8
505- renamed setAdminContainers() to init()
506   </notes>
507  </release>
508  <release>
509   <version>
510    <release>0.3.7</release>
511    <api>0.3.7</api>
512   </version>
513   <stability>
514    <release>beta</release>
515    <api>beta</api>
516   </stability>
517   <date>2006-02-21</date>
518   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
519   <notes>
520- fix &quot;No rights for a user if the user only has inherited rights&quot; (bug #6374)
521- do not overwrite all filters in _get*() helper methods
522- minor issue with &apos;alias&apos; position in the config array in example1
523- make sure that tables required as intermediate join steps are listed in the from
524- add depth parameter to createJoinFilter (may be used to determine shortest join path eventually)
525- fixed detection if list of tables has been reduced or not
526- do not push an error on the stack for a possible recursion because it may just
527  be one possible path we are evaluating
528- added &quot;by_group&quot; optional parameter to params getRights() which determines if
529  the userrights table should be used or rather the grouprights and groupupsers tables
530- incorrect handling of filters inside unimplyRights() (bug #6592)
531- renamed &quot;connection&quot; config option to &quot;dbc&quot; *BC BREAK*
532- cleaned up and unified init() in the storage classes
533- added support for &apos;*&apos; in fields list as an alias to fetch all fields in the root table
534- made LiveUser_Admin::getUsers() API as flexible as in the containers *BC BREAK*
535- fixed serious issue in join filter handling that caused join filters to be ignored
536- removed allowDuplicateHandles and allowEmptyPasswords options, they are now
537  handled through the table definition in the given Globals.php (overwriteable
538  via the config array) *BC BREAK*
539- typo fix in extended module loading in the MDB2 storage container
540- fixed inherited and implied handling in getRights() when fetching only 2 columns
541- added initial version of a PDO storage container (needs more testing)
542- removed setCurrentApplication()/getCurrentApplication() methods since they are
543  no longer relevant *BC BREAK*
544   </notes>
545  </release>
546  <release>
547   <version>
548    <release>0.3.8</release>
549    <api>0.3.8</api>
550   </version>
551   <stability>
552    <release>beta</release>
553    <api>beta</api>
554   </stability>
555   <date>2006-04-19</date>
556   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
557   <notes>
558- wrong parameter used in getUsers(&apos;auth&apos;, ..) (report by gregory)
559- fixed usage of outdated getUsers() API in init()
560- phpdoc fix in outputRightsConstants() (bug #7037)
561- removed bogus parameter from phpdoc in getRights() in medium/complex container
562- added support for selectable_tables in the param array in get*() methods
563- fixed updating of implied right field in umimplyRight() (bug #7050)
564- made stack property public
565- remove artificial limitation that prevented groups to have multiple parents
566- fixed PDO storage layer queryAll() method (bug #7213)
567- expanded error handling in Log instance creation
568- fixed outdated API call to getRights() in _getInheritedRights() (bug #7236)
569- made translations columns wider for example1
570- replace isset() with array_key_exists() where applicable
571- added link to area admin area test to the menu in example1
572- reworked getRights() and getGroups() API for recursive reads
573  (related to bug #7241) *BC break*
574  Set the filter parameters for the recursion explicitly. For getGroups() in the
575  &apos;subgroups&apos;, &apos;hierarchy&apos; keys (note that hierarchy is now no longer specified
576  by setting &apos;subgroups&apos; =&gt; &apos;hierarchy&apos;). For getRights() &apos;inherited&apos;, &apos;implied&apos;
577  and &apos;hierarchy&apos; (note that hierarchy is now no longer specified by setting
578  &apos;implied&apos; =&gt; &apos;hierarchy&apos;;).
579- expanded outputRightsConstants() filtering
580- changed the getUsers(), addUser() and updateUser() API to be more in line
581  with the container APIs *BC break* (req #7025)
582- added LiveUser_Admin_Storage::setSelectDefaultParams() to centralize default setting
583- added selectable_tables property to auth backend
584- fixed typos in &apos;with&apos; handling in the perm container
585- prevent duplictate entries in the fields not yet linked array
586   </notes>
587  </release>
588  <release>
589   <version>
590    <release>0.3.9</release>
591    <api>0.3.9</api>
592   </version>
593   <stability>
594    <release>beta</release>
595    <api>beta</api>
596   </stability>
597   <date>2010-10-06</date>
598   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
599   <notes>
600- pass debug parameter by ref to the constructor since it can be an object instance
601- updated API calls of getBeforeId() and getAfterId() in the storage classes
602- refactored decryptPW() and encryptPW() into static methods in the LiveUser class
603- force null instead of false for PDO fetch() calls that return empty sets
604- added static error push when a non array is passed to setSelectDefaultParams() (Request #7779)
605- use empty() instead of array_key_exists() in setSelectDefaultParams()
606- update of auth_user_id not possible via LiveUser_Admin::updateUser() (Bug #7975; thx to Matthias)
607- fixed incorrect handling of single column joins (Bug #8424)
608- better handling of &apos;*&apos; inside the field list together with explicit fields (Bug #7955)
609   </notes>
610  </release>
611  <release>
612   <version>
613    <release>0.4.0</release>
614    <api>0.4.0</api>
615   </version>
616   <stability>
617    <release>beta</release>
618    <api>beta</api>
619   </stability>
620   <date>2010-10-06</date>
621   <license uri="http://www.gnu.org/copyleft/lesser.html">LGPL</license>
622   <notes>
623QA release
624Bug #13233  	Example1 error when importing data in DB
625Bug #11051  	Seems class variable is not declared
626Bug #8424  	incorrect handling of single column joins
627   </notes>
628  </release>
629 </changelog>
630</package>
631