From: <sy...@us...> - 2012-01-17 13:22:35
|
Revision: 39531 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=39531&view=rev Author: sylvieg Date: 2012-01-17 13:22:29 +0000 (Tue, 17 Jan 2012) Log Message: ----------- [merge/r39530][FIX]group: also clean lost groups in objectpermission table Revision Links: -------------- http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=39530&view=rev Modified Paths: -------------- trunk/lib/userslib.php Modified: trunk/lib/userslib.php =================================================================== --- trunk/lib/userslib.php 2012-01-17 13:21:15 UTC (rev 39530) +++ trunk/lib/userslib.php 2012-01-17 13:22:29 UTC (rev 39531) @@ -6756,6 +6756,12 @@ if (!in_array($res['groupName'], $ret)) $ret[] = $res['groupName']; } + $query = 'SELECT ugp.`groupName` FROM `users_objectpermissions` ugp LEFT JOIN `users_groups` ug ON ( ug.`groupName` = ugp.`groupName` ) WHERE ug.`groupName` IS NULL'; + $groups = $this->fetchAll($query); + foreach ($groups as $res) { + if (!in_array($res['groupName'], $ret)) + $ret[] = $res['groupName']; + } return $ret; } function remove_lost_groups() { @@ -6764,6 +6770,8 @@ return; $query = 'delete FROM `users_grouppermissions` where `groupName` in ('.implode(',',array_fill(0, count($groups),'?')).')'; $this->query($query, $groups); + $query = 'delete FROM `users_objectpermissions` where `groupName` in ('.implode(',',array_fill(0, count($groups),'?')).')'; + $this->query($query, $groups); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |