"; $sToRender .= "" . _("Group Name") . ": " . getGroupDisplay($oGroup) . ""; $sToRender .= "rootUrl/control.php?action=listGroups\">"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= ""; // Headings $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; // Initialise structure $aInfoUsers = InitUsers($oGroup); // Select Boxes $sToRender .= ""; $sToRender .= ""; // Move buttons $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; // Filter Button $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; $sToRender .= ""; // Assign/Cancel button $sToRender .= ""; // Insert all user's groups $sBgColor = "#F5F6EE"; $sToRender .= ""; $sToRender .= ""; $sToRender .= "
Assigned User toAvailable Users
\n"; $sToRender .= ""; $sToRender .= ""; $sToRender .= "
"; $sToRender .= ""; $sToRender .= "
\n"; $sToRender .= "
Filter
Filter
"; $sToRender .= ""; $sToRender .= "\n"; $sToRender .= "
" . _("Current Users") . "
"; $sToRender .= ""; for ($i=0; $i < count($aInfoUsers[0]); $i++) { $oUser = User::get($aInfoUsers[0][$i]); $sToRender .= "\n"; } $sToRender .= "
" . ($i+1) . "". $oUser->getName() ."
"; $sToRender .= "
"; $sToRender .= "
"; $sToRender .= "
"; $sToRender .= "
"; $sToRender .= "
"; $sToRender .= "
"; return $sToRender; } /* Initialise some structures to build ui * Return an array of: * Current Users assigned to Group * UnitAdmin Manageable User Ids */ function InitUsers($oGroup) { global $default; $aUsersGroup = array(); $aUserGroupIDs = array(); $aManageableUsers = array(); $aManageableUserIDs = array(); // Current Users assigned to Group $aUsersGroup = $oGroup->getUsers(); foreach ($aUsersGroup as $tmp) { array_push($aUserGroupIDs, $tmp->getID()); } // Manageable Users if (Permission::userIsSystemAdministrator()) { $aManageableUsers = User::getList();/*ok*/ foreach ($aManageableUsers as $tmp) { array_push($aManageableUserIDs, $tmp->getID()); } } elseif (Permission::userIsUnitAdministrator()) { $aIds = User::getUnitIDs($_SESSION["userID"]); $iNumIds = count($aIds); $sQms = join(",", array_fill(0, $iNumIds, '?')); /*ok*/ $sQuery = array("SELECT DISTINCT U.id as userID " . "FROM $default->users_table U " . "LEFT OUTER JOIN $default->users_groups_table UGL ON U.id = UGL.user_id " . "LEFT OUTER JOIN $default->groups_table GL ON UGL.group_id = GL.id " . "INNER JOIN $default->groups_units_table GUL on GL.id=GUL.group_id " . "WHERE GUL.unit_id IN ($sQms)", $aIds); $sql = $default->db; $sql->query($sQuery); while ($sql->next_record()) { array_push($aManageableUserIDs, $sql->f("userID")); } } return array($aUserGroupIDs, $aManageableUserIDs); } /* Get all Users in a Group */ function getGroupUsers($aInfoUsers) { foreach ($aInfoUsers[0] as $iUserID) { $oUser = User::get($iUserID); $sToRender .= "\n"; } return $sToRender; } // Get other Users function getOtherUsers($aInfoUsers) { $aOtherUserIDs = array(); $aOtherUserIDs = array_diff($aInfoUsers[1], $aInfoUsers[0]); foreach ($aOtherUserIDs as $iUserID) { $oUser = User::get($iUserID); $sToRender .= "\n"; } return $sToRender; } // get page for removal function getPage($iGroupID) { global $default; $oUser = null; $oGroup = null; // change headings if Group selected if (isset($iGroupID)) { $oGroup = Group::get($iGroupID); } else { $heading = "" . _("Please select a Group") . ":\n"; } $sToRender .= renderHeading(_("Edit User's Groups")); $sToRender .= "\n"; $sToRender .= $heading; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "
" . _("Group Name") . ": " . getGroupDisplay($oGroup) . "
\n"; return $sToRender; } // page that comes up when there is nothing selected function getPageNotSelected() { global $default; $sToRender .= renderHeading(_("Edit Users's Group")); $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "\n"; $sToRender .= "
" . _("Sorry, Selection Failed") . "
" . _("Please select a Group") . "
rootUrl/control.php?action=listGroups\">
\n"; return $sToRender; } // show listbox of Users belonging to Users_Groups_link table function getGroupDisplay($oGroup) { global $default; if (!isset($oGroup)) { $oPatternListBox = & new PatternListBox($default->groups_table, "name", "id", "fGroupID"); $oPatternListBox->setPostBackOnChange(true); return $oPatternListBox->render(); } else { return "getID() . "\">\n" . $oGroup->getName(); } } ?>