";
// Headings
$sToRender .= "
";
$sToRender .= "Allocated in Browser ";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= "Available Criteria ";
$sToRender .= " ";
// Initialise structure
$aSelectedCriteria = getSelectedCriteria();
// Select Boxes
$sToRender .= "\n";
$sToRender .= "\n";
$sToRender .= "\n";
// retrieve users' groups
$sToRender .= showSelected($aSelectedCriteria);
$sToRender .= " \n";
$sToRender .= "";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " \n";
// Move buttons
$sToRender .= "";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= "\n";
$sToRender .= "\n";
// retrieve other groups
$sToRender .= showAvailable(Criteria::getAllCriteria(), $aSelectedCriteria);
$sToRender .= " ";
$sToRender .= " ";
// Assign/Cancel button
$sToRender .= "";
$sToRender .= " ";
$sToRender .= " \n";
$sToRender .= " ";
// Show current settings
$sBgColor = "#F5F6EE";
$sToRender .= "";
$sToRender .= "" . _("Current Criteria") . " ";
$sToRender .= "";
$i = 1;
foreach ($aSelectedCriteria as $oCriterion) {
$sName = $oCriterion->headerDisplay();
$sToRender .= "" . $i . " ". $sName ." \n";
$i++;
}
$sToRender .= "
";
$sToRender .= "";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " ";
$sToRender .= " ";
return $sToRender;
}
/*$aBaseCriteria = array(
-1 => _('Title'),
-2 => _('Description'),
-3 => _('Creator'),
-4 => _('Date Created'),
-5 => _('Document Type'),
-6 => _('ID'),
);*/
function getSelectedCriteria() {
$aQuery = array("SELECT criteria_id FROM browse_criteria ORDER BY precedence", array()); /*ok*/
$aSelectedCriteriaIDs = DBUtil::getResultArrayKey($aQuery, 'criteria_id');
$aSelectedCriteria = array();
foreach ($aSelectedCriteriaIDs as $iCriteriaID) {
$aSelectedCriteria[$iCriteriaID] =& Criteria::getCriterionByNumber($iCriteriaID);
}
return $aSelectedCriteria;
}
/* Get all Users in a Group */
function showSelected($aInfo) {
global $default;
global $aBaseCriteria;
foreach ($aInfo as $iCriteriaID => $oCriteria) {
$sToRender .= "\n";
$sToRender .= $oCriteria->headerDisplay();
$sToRender .= " \n";
}
return $sToRender;
}
// Get other Users
function showAvailable($aAvailable, $aSelected) {
global $default;
$aOtherUserIDs = array_diff(array_keys($aAvailable), array_keys($aSelected));
foreach ($aOtherUserIDs as $iCriteriaID) {
$oCriterion = Criteria::getCriterionByNumber($iCriteriaID);
$sToRender .= "\n";
$sToRender .= $oCriterion->headerDisplay();
$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();
}
}
?>