";
$sToRender .= "
" . _("Group Name") . ": " . getGroupDisplay($oGroup) . "";
$sToRender .= "rootUrl/control.php?action=listGroups\"> ";
$sToRender .= " \n";
$sToRender .= "\n";
$sToRender .= "";
$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 .= "getID() . "\" onDblClick=\"optUser.transferRight()\" >\n";
$sToRender .= $oUser->getName();
$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 .= "getID() . "\" onDblClick=\"optUser.transferRight()\" >\n";
$sToRender .= $oUser->getName();
$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 .= "" . _("Group Name") . ": " . getGroupDisplay($oGroup) . " \n";
$sToRender .= "\n";
$sToRender .= " \n";
$sToRender .= "\n";
$sToRender .= " \n";
$sToRender .= "\n";
$sToRender .= " \n";
$sToRender .= "
\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 .= "" . _("Sorry, Selection Failed") . " \n";
$sToRender .= "" . _("Please select a Group") . " \n";
$sToRender .= " \n";
$sToRender .= " \n";
$sToRender .= "\n";
$sToRender .= "rootUrl/control.php?action=listGroups\"> \n";
$sToRender .= " \n";
$sToRender .= "
\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();
}
}
?>