Index: trunk/admin/users/user_select.php =================================================================== diff -u -r718 -r732 --- trunk/admin/users/user_select.php (.../user_select.php) (revision 718) +++ trunk/admin/users/user_select.php (.../user_select.php) (revision 732) @@ -147,69 +147,76 @@ $where = strlen($SearchWhere) ? "AND $SearchWhere" : ''; -$SelectorType = $_REQUEST["Selector"] ? $_REQUEST["Selector"] : 'checkbox'; +$SelectorType = GetVar('Selector'); +if(!$SelectorType) $SelectorType = 'checkbox'; $objListView = new clsListView($objListToolBar); -$objListView->CurrentPageVar = "Page_UserSelect"; -$objListView->PerPageVar = "Perpage_User"; +$objListView->CurrentPageVar = 'Page_UserSelect'; +$objListView->PerPageVar = 'Perpage_User'; +$prefix = GetTablePrefix(); -if(strlen($_GET["source"])>0) +if( GetVar('source') ) { - switch($_GET["source"]) - { - case "addgroup_users": - $SelectorType = "radio"; - $ado = &GetADODBConnection(); - $sql = "SELECT Distinct(PortalUserId) FROM ".GetTablePrefix()."UserGroup WHERE GroupId=".$_GET["GroupId"]; - $rs = $ado->Execute($sql); - $inlist = array(); - while($rs && !$rs->EOF) - { - array_push($inlist,$rs->fields["PortalUserId"]); - $rs->MoveNext(); - } - if(count($inlist)>0) - { - $catlist = implode(",",$inlist); - $field = $objConfig->Get("UserSelect_SortField"); - if(!strlen($field)) - $field = "Login"; - $orderby = $field." ".$order; - $sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, "; - $sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u "; - $sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) "; - $sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE "; - $sql .= "u.PortalUserId NOT IN (".$catlist.")"; - - //$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_UserSelect"),$objConfig->Get("Perpage_User")); - $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); - - $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); - } - else - { - $sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, "; - $sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u "; - $sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) "; - $sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE 1"; - //$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_UserSelect"),$objConfig->Get("Perpage_User")); - $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); - $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); - - } - break; - } + // specific users list requested + switch( GetVar('source') ) + { + case 'addgroup_users': + $SelectorType = 'radio'; + $ado =& GetADODBConnection(); + // get user's list in group + $sql = 'SELECT DISTINCT(PortalUserId) FROM '.$prefix.'UserGroup WHERE GroupId='.$_GET['GroupId']; + $rs = $ado->Execute($sql); + $inlist = Array(); + while($rs && !$rs->EOF) + { + array_push($inlist,$rs->fields['PortalUserId']); + $rs->MoveNext(); + } + + if(count($inlist)>0) + { + // we have users in group requested + $catlist = implode(",",$inlist); + $field = $objConfig->Get("UserSelect_SortField"); + if(!strlen($field)) + $field = "Login"; + $orderby = $field." ".$order; + $sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, "; + $sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u "; + $sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) "; + $sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE "; + $sql .= "u.PortalUserId NOT IN (".$catlist.")"; + + $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); + $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); + } + else + { + // we have no users in group requested + $catlist = -1; + $sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, "; + $sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u "; + $sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) "; + $sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE 1"; + + $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); + $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); + + } + break; + } } else { - $sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, "; - $sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u "; - $sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) "; - $sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE 1 $where"; - //$sql .=" ".GetLimitSQL($objSession->GetVariable("Page_UserSelect"),$objConfig->Get("Perpage_User")); - - $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); - $itemcount = TableCount(GetTablePrefix()."PortalUser","PortalUserId NOT IN ($catlist)",0); + // if nothing special required -> just display all users (paginated list) + $catlist = -1; + $sql = "SELECT u.*,g.Name as GroupName,ELT(u.status+1,'".admin_language("la_Text_Disabled")." ','".admin_language("la_Text_Enabled")." ','".admin_language("la_Text_Pending")."') as UserStatus, "; + $sql .="FROM_UNIXTIME(u.CreatedOn,'%m-%d-%Y') as DateCreated FROM ".GetTablePrefix()."PortalUser as u "; + $sql .="LEFT JOIN ".GetTablePrefix()."UserGroup as ug ON (u.PortalUserId=ug.PortalUserId) AND (ug.PrimaryGroup = 1) "; + $sql .="LEFT JOIN ".GetTablePrefix()."PortalGroup as g ON (ug.GroupId=g.GroupId) WHERE 1 $where"; + + $objUsers->Query_Item($sql, $objListView->GetLimitSQL() ); + $itemcount = QueryCount($sql); } if($objSession->HasSystemPermission("DEBUG.LIST"))