Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sun, Feb 2, 9:03 PM

in-portal

Index: branches/5.0.x/core/units/groups/groups_event_handler.php
===================================================================
--- branches/5.0.x/core/units/groups/groups_event_handler.php (revision 13592)
+++ branches/5.0.x/core/units/groups/groups_event_handler.php (revision 13593)
@@ -1,48 +1,51 @@
<?php
/**
* @version $Id$
* @package In-Portal
* @copyright Copyright (C) 1997 - 2009 Intechnic. All rights reserved.
* @license GNU/GPL
* In-Portal is Open Source software.
* This means that this software may have been modified pursuant
* the GNU General Public License, and as distributed it includes
* or is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
* See http://www.in-portal.org/license for copyright notices and details.
*/
defined('FULL_PATH') or die('restricted access!');
class GroupsEventHandler extends kDBEventHandler {
/**
* Adds grouping by userid
*
* @param kEvent $event
*/
function SetCustomQuery(&$event)
{
$object =& $event->getObject();
/* @var $object kDBList */
switch ($event->Special) {
case 'user':
$user_id = $this->Application->GetVar('u_id');
if ($user_id !== false) {
// show only groups, that user doesn't belong to
$table_name = $this->Application->GetTempName(TABLE_PREFIX.'UserGroup', 'prefix:u');
$sql = 'SELECT GroupId
FROM ' . $table_name . '
WHERE PortalUserId = ' . (int)$user_id;
$group_ids = $this->Conn->GetCol($sql);
- array_push($group_ids, 14, 15); // Guest & Everyone groups are set dynamically
+
+ // add system groups
+ array_push($group_ids, $this->Application->ConfigValue('User_GuestGroup')); // Guest
+ array_push($group_ids, $this->Application->ConfigValue('User_LoggedInGroup')); // Everyone
$object->addFilter('already_member_filter', '%1$s.GroupId NOT IN ('.implode(',', $group_ids).')');
}
break;
}
}
}
\ No newline at end of file

Event Timeline