Example #1
0
function editOrAddMgmtnode($state)
{
    global $submitErr;
    $mgmtnodes = getManagementNodes();
    $premodules = getPredictiveModules();
    if ($submitErr || $state == 1) {
        $data = processMgmtnodeInput(0);
    } else {
        $data["mgmtnodeid"] = getContinuationVar("mgmtnodeid");
        $id = $data["mgmtnodeid"];
        $data["hostname"] = $mgmtnodes[$id]["hostname"];
        $data["IPaddress"] = $mgmtnodes[$id]["IPaddress"];
        $data["owner"] = $mgmtnodes[$id]["owner"];
        $data["stateid"] = $mgmtnodes[$id]["stateid"];
        $data["premoduleid"] = $mgmtnodes[$id]["predictivemoduleid"];
        $data["checkininterval"] = $mgmtnodes[$id]["checkininterval"];
        $data["installpath"] = $mgmtnodes[$id]["installpath"];
        if ($mgmtnodes[$id]['imagelibenable']) {
            $data['imagelibenable'] = "checked";
        } else {
            $data['imagelibenable'] = "";
        }
        $data['imagelibgroupid'] = $mgmtnodes[$id]['imagelibgroupid'];
        $data['imagelibgroup'] = $mgmtnodes[$id]['imagelibgroup'];
        # TODO this can be removed
        $data['imagelibuser'] = $mgmtnodes[$id]['imagelibuser'];
        $data['imagelibkey'] = $mgmtnodes[$id]['imagelibkey'];
        $data['keys'] = $mgmtnodes[$id]['keys'];
        $data['sshport'] = $mgmtnodes[$id]['sshport'];
    }
    $disabled = '';
    if (!$data['imagelibenable']) {
        $disabled = 'disabled';
    }
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "<DIV align=center>\n";
    if ($state) {
        print "<H2>Add Management Node</H2>\n";
    } else {
        print "<H2>Edit Management Node</H2>\n";
    }
    print "<TABLE>\n";
    print "  <TR>\n";
    print "    <TH align=right>Hostname:</TH>\n";
    print "    <TD><INPUT type=text name=hostname value=\"{$data["hostname"]}\" ";
    print "maxlength=50></TD>\n";
    print "    <TD>";
    printSubmitErr(MNHOSTNAMEERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>IP address:</TH>\n";
    print "    <TD><INPUT type=text name=IPaddress value=\"";
    print $data["IPaddress"] . "\" maxlength=15></TD>\n";
    print "    <TD>";
    printSubmitErr(IPADDRESSERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Owner:</TH>\n";
    print "    <TD><INPUT type=text name=owner value=\"" . $data["owner"];
    print "\"></TD>\n";
    print "    <TD>";
    printSubmitErr(MNOWNERERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>State:</TH>\n";
    print "    <TD>\n";
    $mgmtnodestates = array(2 => "available", 1 => "deleted", 10 => "maintenance", 5 => "failed");
    printSelectInput("stateid", $mgmtnodestates, $data["stateid"]);
    print "    </TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Predictive Loading Module:</TH>\n";
    print "    <TD>\n";
    printSelectInput("premoduleid", $premodules, $data["premoduleid"]);
    print "    </TD>\n";
    print "  </TR>\n";
    # checkininterval
    print "  <TR>\n";
    print "    <TH id=th1 align=right\n";
    print "        onmouseover=\"showHelp('interval between database checks for new tasks', 'th1');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      Check-in Interval (sec):\n";
    print "    </TH>\n";
    print "    <TD>\n";
    print "      <input dojoType=\"dijit.form.NumberSpinner\"\n";
    print "                value=\"{$data['checkininterval']}\"\n";
    print "                constraints=\"{min:5,max:30,places:0}\"\n";
    print "                maxlength=\"2\"\n";
    print "                id=\"checkininterval\"\n";
    print "                name=\"checkininterval\">\n";
    print "    </TD>\n";
    print "    <TD></TD>";
    print "  </TR>\n";
    # installpath
    print "  <TR>\n";
    print "    <TH id=th2 align=right\n";
    print "        onmouseover=\"showHelp('path to parent directory of image repository directories', 'th2');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      Install Path:</TH>\n";
    print "    <TD><INPUT type=text name=installpath value=\"";
    print $data["installpath"] . "\" maxlength=100></TD>\n";
    print "    <TD>";
    printSubmitErr(MNINSTPATHERR);
    print "</TD>\n";
    print "  </TR>\n";
    # keys
    print "  <TR>\n";
    print "    <TH id=th5 align=right\n";
    print "        onmouseover=\"showHelp('comma delimited list of full paths to ssh identity keys to try when connecting to end nodes (optional)', 'th5');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      End Node SSH Identity Key Files:</TH>\n";
    print "    <TD><INPUT type=text name=keys value=\"";
    print $data["keys"] . "\" maxlength=1024></TD>\n";
    print "    <TD>";
    printSubmitErr(MNSSHIDKEYSERR);
    print "</TD>\n";
    print "  </TR>\n";
    # sshport
    print "  <TR>\n";
    print "    <TH id=th6 align=right\n";
    print "        onmouseover=\"showHelp('SSH port this node is listening on for image file transfers', 'th6');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      SSH Port for this node:\n";
    print "    </TH>\n";
    print "    <TD>\n";
    print "      <input dojoType=\"dijit.form.NumberSpinner\"\n";
    print "                value=\"{$data['sshport']}\"\n";
    print "                constraints=\"{min:1,max:65535,places:0}\"\n";
    print "                maxlength=\"5\"\n";
    print "                id=\"sshport\"\n";
    print "                name=\"sshport\">\n";
    print "    </TD>\n";
    print "    <TD>";
    printSubmitErr(MNSSHPORTERR);
    print "</TD>\n";
    print "  </TR>\n";
    # imagelibenable
    print "  <TR>\n";
    print "    <TH id=th7 align=right\n";
    print "        onmouseover=\"showHelp('path to parent directory of image repository directories', 'th7');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      Enable Image Library:</TH>\n";
    print "    <TD><input type=checkbox name=imagelibenable value=1 ";
    print $data["imagelibenable"] . " onchange=\"toggleImageLibrary();\" \n";
    if ($data['imagelibenable']) {
        print "id=imagelibenable checked></TD>\n";
    } else {
        print "id=imagelibenable></TD>\n";
    }
    print "    <TD></TD>\n";
    print "  </TR>\n";
    # imagelibgroupid
    print "  <TR>\n";
    print "    <TH id=th8 align=right\n";
    print "        onmouseover=\"showHelp('this management node will try to get image files from other nodes in the selected group', 'th8');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      Image Library Management Node Group:</TH>\n";
    print "    <TD>";
    $mgmtnodegroups = getUserResources(array('mgmtNodeAdmin'), array("manageGroup"), 1);
    printSelectInput("imagelibgroupid", $mgmtnodegroups['managementnode'], -1, 0, 0, 'imagelibgroupid', $disabled);
    print "    </TD>\n";
    print "    <TD>";
    printSubmitErr(MNIMGLIBGRPIDERR);
    print "</TD>\n";
    print "  </TR>\n";
    # imagelibuser
    print "  <TR>\n";
    print "    <TH id=th3 align=right\n";
    print "        onmouseover=\"showHelp('userid to use when scp\\'ing image files from another management node', 'th3');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      Image Library User:</TH>\n";
    print "    <TD><INPUT type=text name=imagelibuser value=\"";
    print $data["imagelibuser"] . "\" {$disabled} id=imagelibuser></TD>\n";
    print "    <TD>";
    printSubmitErr(MNIMGLIBUSERERR);
    print "</TD>\n";
    print "  </TR>\n";
    # imagelibkey
    print "  <TR>\n";
    print "    <TH id=th4 align=right\n";
    print "        onmouseover=\"showHelp('path to ssh identity key file to use when scp\\'ing image files from another management node', 'th4');\"\n";
    print "        onmouseout=\"clearHelpbox();\">\n";
    print "      Image Library SSH Identity Key File:</TH>\n";
    print "    <TD><INPUT type=text name=imagelibkey value=\"";
    print $data["imagelibkey"] . "\" maxlength=100 {$disabled} id=imagelibkey></TD>\n";
    print "    <TD>";
    printSubmitErr(MNIMGLIBKEYERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    print "<TABLE>\n";
    print "  <TR valign=top>\n";
    print "    <TD>\n";
    if ($state) {
        $cdata = array('mgmtgroups' => $mgmtnodegroups['managementnode']);
        $cont = addContinuationsEntry('confirmAddMgmtnode', $cdata, SECINDAY, 0, 1, 1);
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        print "      <INPUT type=submit value=\"Confirm Management Node\">\n";
    } else {
        $cdata = array('mgmtnodeid' => $data['mgmtnodeid'], 'mgmtgroups' => $mgmtnodegroups['managementnode']);
        $cont = addContinuationsEntry('confirmEditMgmtnode', $cdata, SECINDAY, 0, 1, 1);
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        print "      <INPUT type=submit value=\"Confirm Changes\">\n";
    }
    print "      </FORM>\n";
    print "    </TD>\n";
    print "    <TD>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    $cont = addContinuationsEntry('viewMgmtnodes');
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <INPUT type=submit value=Cancel>\n";
    print "      </FORM>\n";
    print "    </TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    print "<div id=helpbox onmouseover=\"blockClear();\" onmouseout=\"clearHelpbox2(0);\"></div>\n";
}
Example #2
0
function editOrAddGroup($state)
{
    global $submitErr, $user, $mode;
    $usergroups = getUserGroups();
    $type = getContinuationVar("type");
    if ($state) {
        $isowner = 1;
    } elseif ($type == 'resource') {
        $isowner = getContinuationVar('isowner');
    }
    if (!$state) {
        $groupid = getContinuationVar('groupid', processInputVar('groupid', ARG_NUMERIC));
        if ($type == 'user') {
            if (!array_key_exists($groupid, $usergroups)) {
                print "<h2>Edit User Group</h2>\n";
                print "The selected user group does not exist.\n";
                return;
            }
            $isowner = 0;
            if ($usergroups[$groupid]['ownerid'] != $user['id']) {
                if ($usergroups[$groupid]['custom'] == 0 || $usergroups[$groupid]['courseroll'] == 1) {
                    if (!checkUserHasPerm('Manage Federated User Groups (global)') && (!checkUserHasPerm('Manage Federated User Groups (affiliation only)') || $usergroups[$groupid]['groupaffiliationid'] != $user['affiliationid'])) {
                        print "<h2>Edit User Group</h2>\n";
                        print "You do not have access to modify the selected user group.\n";
                        return;
                    } else {
                        $isowner = 1;
                    }
                } elseif (!array_key_exists("editgroupid", $usergroups[$groupid]) || !array_key_exists($usergroups[$groupid]["editgroupid"], $user["groups"])) {
                    print "<h2>Edit User Group</h2>\n";
                    print "You do not have access to modify the selected user group.\n";
                    return;
                }
            } else {
                $isowner = 1;
            }
        } else {
            $userresources = getUserResources(array("groupAdmin"), array("manageGroup"), 1);
            $noaccess = 1;
            foreach (array_keys($userresources) as $rtype) {
                if (array_key_exists($groupid, $userresources[$rtype])) {
                    $noaccess = 0;
                    break;
                }
            }
            if ($noaccess) {
                print "<h2>Edit Resource Group</h2>\n";
                print "You do not have access to modify the selected resource group.\n";
                return;
            }
        }
    }
    $allcustomgroups = getUserGroups(1);
    if ($user['showallgroups']) {
        $affilusergroups = $allcustomgroups;
    } else {
        $affilusergroups = getUserGroups(1, $user['affiliationid']);
    }
    $defaultusergroupid = getUserGroupID('Default for Editable by', 1);
    if ($type == 'resource') {
        $dispUserGrpIDs = array();
        $dispUserGrpIDsAllAffils = array();
        foreach (array_keys($allcustomgroups) as $id) {
            # figure out if user is owner or in editor group
            $owner = 0;
            $editor = 0;
            if ($allcustomgroups[$id]["ownerid"] == $user["id"]) {
                $owner = 1;
            }
            if (array_key_exists("editgroupid", $allcustomgroups[$id]) && array_key_exists($allcustomgroups[$id]["editgroupid"], $user["groups"])) {
                $editor = 1;
            }
            if (!$owner && !$editor) {
                continue;
            }
            if ($user['showallgroups']) {
                $dispUserGrpIDs[$id] = $allcustomgroups[$id]['name'];
            } elseif (array_key_exists($id, $affilusergroups) && $allcustomgroups[$id]['groupaffiliation'] == $user['affiliation']) {
                $dispUserGrpIDs[$id] = $allcustomgroups[$id]['name'];
            }
            $dispUserGrpIDsAllAffils[$id] = $allcustomgroups[$id]['name'];
        }
    }
    $resourcegroups = getResourceGroups();
    $affils = getAffiliations();
    $resourcetypes = getTypes("resources");
    if ($submitErr) {
        $data = processGroupInput(0);
        if ($mode == "submitEditGroup") {
            $id = $data["groupid"];
            if ($data["type"] == "resource") {
                list($grouptype, $junk) = explode('/', $resourcegroups[$id]["name"]);
                $ownerid = $resourcegroups[$id]["ownerid"];
            }
        } else {
            if ($data["type"] == "resource") {
                if ($state) {
                    $grouptype = $resourcetypes['resources'][$data['resourcetypeid']];
                } else {
                    list($grouptype, $junk) = explode('/', $resourcegroups[$data['groupid']]["name"]);
                }
                $ownerid = $data["ownergroup"];
            } else {
                $selectAffil = getContinuationVar('selectAffil');
                if (empty($selectAffil) && $user['showallgroups']) {
                    $selectAffil = 1;
                }
            }
        }
    } else {
        $data["groupid"] = getContinuationVar("groupid");
        $data["type"] = getContinuationVar("type");
        $data["isowner"] = $isowner;
        if (!$state) {
            $id = $groupid;
            $data['groupid'] = $id;
        } else {
            $id = $data["groupid"];
        }
        if ($data["type"] == "user") {
            if ($state) {
                $data["name"] = '';
                $data["affiliationid"] = $user['affiliationid'];
                $data["owner"] = $user['unityid'];
                if (array_key_exists('VCLEDITGROUPID', $_COOKIE) && (array_key_exists($_COOKIE['VCLEDITGROUPID'], $affilusergroups) || $_COOKIE['VCLEDITGROUPID'] == $defaultusergroupid)) {
                    $data["editgroupid"] = $_COOKIE['VCLEDITGROUPID'];
                } else {
                    $data["editgroupid"] = $defaultusergroupid;
                }
                if (!array_key_exists($data['editgroupid'], $affilusergroups)) {
                    if ($user['showallgroups']) {
                        $affil = getAffiliationName(1);
                        $affilusergroups[$data['editgroupid']]['name'] = "Default for Editable by@{$affil}";
                    } else {
                        $affilusergroups[$data['editgroupid']]['name'] = 'Default for Editable by';
                    }
                }
                $data["initialmax"] = 240;
                $data["totalmax"] = 360;
                $data["maxextend"] = 30;
                $data["overlap"] = 0;
                $data["custom"] = 1;
                $data["courseroll"] = 0;
                $tmp = explode('@', $data['name']);
                $data['name'] = $tmp[0];
                if ($user['showallgroups']) {
                    $selectAffil = 1;
                } else {
                    $selectAffil = 0;
                }
            } else {
                $data["name"] = $usergroups[$id]["name"];
                $data["affiliationid"] = $usergroups[$id]["groupaffiliationid"];
                $data["owner"] = $usergroups[$id]["owner"];
                $data["editgroupid"] = $usergroups[$id]["editgroupid"];
                $data["initialmax"] = $usergroups[$id]["initialmaxtime"];
                $data["totalmax"] = $usergroups[$id]["totalmaxtime"];
                $data["maxextend"] = $usergroups[$id]["maxextendtime"];
                $data["overlap"] = $usergroups[$id]["overlapResCount"];
                $data["custom"] = $usergroups[$id]["custom"];
                $data["courseroll"] = $usergroups[$id]["courseroll"];
                $tmp = explode('@', $data['name']);
                $data['name'] = $tmp[0];
                if ($user['showallgroups'] || array_key_exists(1, $tmp) && $tmp[1] != $user['affiliation']) {
                    $selectAffil = 1;
                } else {
                    $selectAffil = 0;
                }
            }
        } else {
            unset($affilusergroups[$defaultusergroupid]);
            if ($state) {
                $grouptype = 'computer';
                $data['name'] = '';
                if (array_key_exists('VCLOWNERGROUPID', $_COOKIE) && array_key_exists($_COOKIE['VCLOWNERGROUPID'], $user['groups'])) {
                    $ownerid = $_COOKIE['VCLOWNERGROUPID'];
                } else {
                    $ownerid = "";
                    foreach (array_keys($user["groups"]) as $grpid) {
                        if (array_key_exists($grpid, $dispUserGrpIDs)) {
                            $ownerid = $grpid;
                            break;
                        }
                    }
                }
            } else {
                list($grouptype, $data["name"]) = explode('/', $resourcegroups[$id]["name"]);
                $ownerid = $resourcegroups[$id]["ownerid"];
            }
        }
    }
    if ($data['type'] == 'user' && !array_key_exists($defaultusergroupid, $affilusergroups)) {
        if ($user['showallgroups']) {
            $affil = getAffiliationName(1);
            $affilusergroups[$defaultusergroupid]['name'] = "Default for Editable by@{$affil}";
        } else {
            $affilusergroups[$defaultusergroupid]['name'] = 'Default for Editable by';
        }
        uasort($affilusergroups, "sortKeepIndex");
    }
    $editusergroup = 0;
    if ($data['type'] != 'user') {
        print "<FORM action=\"" . BASEURL . SCRIPT . "#resources\" method=post>\n";
    } else {
        print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    }
    print "<DIV align=center>\n";
    if ($state) {
        if ($data["type"] == "user") {
            print "<H2>Add User Group</H2>\n";
        } else {
            print "<H2>Add Resource Group</H2>\n";
        }
    } else {
        if ($data["type"] == "user") {
            print "<H2>Edit User Group</H2>\n";
            print "{$usergroups[$data['groupid']]['name']}<br><br>\n";
            if ($data['courseroll'] == 1) {
                print "Type: Course Roll<br><br>\n";
            } elseif ($data['custom'] == 0) {
                print "Type: Federated<br><br>\n";
            }
            $editusergroup = 1;
        } else {
            print "<H2>Edit Resource Group</H2>\n";
        }
    }
    if ($state && $data["type"] == "user" || $data["isowner"] || $data["type"] == "resource") {
        print "<TABLE>\n";
        if ($data["type"] == "resource") {
            print "  <TR>\n";
            print "    <TH align=right>Type:</TH>\n";
            print "    <TD>\n";
            if ($state && $submitErr) {
                $resourcetypeid = $data['resourcetypeid'];
            } else {
                $resourcetypeid = array_search($grouptype, $resourcetypes["resources"]);
            }
            if ($state) {
                printSelectInput("resourcetypeid", $resourcetypes["resources"], $resourcetypeid);
            } else {
                print "      {$grouptype}\n";
            }
            print "    </TD>\n";
            print "    <TD></TD>\n";
            print "  </TR>\n";
        }
        $editname = 1;
        if ($data['type'] == 'user' && $state == 0 && $usergroups[$groupid]['groupaffiliationid'] == 1) {
            $tmp = explode('@', $usergroups[$groupid]['name']);
            if ($tmp[0] == 'Specify End Time' || $tmp[0] == 'Allow No User Check' || $tmp[0] == 'Default for Editable by') {
                $editname = 0;
            }
        }
        if ($data['type'] == 'resource' || $editname && $data['courseroll'] == 0 && $data['custom'] == 1) {
            print "  <TR>\n";
            print "    <TH align=right>Name:</TH>\n";
            print "    <TD><INPUT type=text name=name value=\"{$data['name']}\" ";
            print "maxlength=30>";
            if ($data['type'] == 'user' && $selectAffil) {
                print "@";
                printSelectInput('affiliationid', $affils, $data['affiliationid']);
            }
            print "</TD>\n";
            print "    <TD>";
            printSubmitErr(GRPNAMEERR);
            print "</TD>\n";
            print "  </TR>\n";
        }
        if ($editname == 0) {
            print "<TR><TD colspan=2 align=\"center\">\n";
            print "(This is a system group whose name cannot be modified.)\n";
            print "</TD></TR>\n";
        }
        if ($data["type"] == "user") {
            if ($data['courseroll'] == 0 && $data['custom'] == 1) {
                print "  <TR>\n";
                print "    <TH align=right>Owner:</TH>\n";
                print "    <TD><INPUT type=text name=owner value=\"" . $data["owner"];
                print "\"></TD>\n";
                print "    <TD>";
                printSubmitErr(GRPOWNER);
                print "</TD>\n";
                print "  </TR>\n";
                print "  <TR>\n";
                print "    <TH align=right>Editable by:</TH>\n";
                print "    <TD valign=\"top\">\n";
                $groupwasnone = 0;
                if ($submitErr & EDITGROUPERR) {
                    if ($state == 0) {
                        $data['editgroupid'] = $usergroups[$data['groupid']]['editgroupid'];
                    } elseif (count($affilusergroups)) {
                        $tmp = array_keys($affilusergroups);
                        $data['editgroupid'] = $tmp[0];
                    }
                }
                $notice = '';
                if ($state == 0 && empty($usergroups[$data['groupid']]["editgroup"])) {
                    $affilusergroups = array_reverse($affilusergroups, TRUE);
                    $affilusergroups[0] = array('name' => 'None');
                    $affilusergroups = array_reverse($affilusergroups, TRUE);
                    $groupwasnone = 1;
                    $notice = "<strong>Note:</strong> You are the only person that can<br>" . "edit membership of this group. Select a<br>user group here " . "to allow members of that<br>group to edit membership of this one.";
                } elseif (!array_key_exists($data['editgroupid'], $affilusergroups) && $data['editgroupid'] != 0) {
                    $affilusergroups[$data['editgroupid']] = array('name' => getUserGroupName($data['editgroupid'], 1));
                    uasort($affilusergroups, "sortKeepIndex");
                }
                if ($state == 1 && $data['editgroupid'] == 0) {
                    print "None\n";
                } else {
                    printSelectInput("editgroupid", $affilusergroups, $data["editgroupid"]);
                }
                print "    </TD>\n";
                print "    <TD>";
                if ($submitErr & EDITGROUPERR) {
                    printSubmitErr(EDITGROUPERR);
                } else {
                    print $notice;
                }
                print "</TD>";
                print "  </TR>\n";
            } else {
                $groupwasnone = 1;
            }
            print "  <TR>\n";
            print "    <TH align=right>Initial Max Time:</TH>\n";
            print "    <TD>";
            $lengths = getReservationLengths(65535);
            if (!array_key_exists($data['initialmax'], $lengths)) {
                $data['initialmax'] = getReservationLengthCeiling($data['initialmax']);
            }
            printSelectInput("initialmax", $lengths, $data['initialmax']);
            print "    </TD>";
            print "    <TD>";
            printSubmitErr(INITIALMAXERR);
            print "</TD>\n";
            print "  </TR>\n";
            print "  <TR>\n";
            print "    <TH align=right>Total Max Time:</TH>\n";
            print "    <TD>";
            if (!array_key_exists($data['totalmax'], $lengths)) {
                $data['totalmax'] = getReservationLengthCeiling($data['totalmax']);
            }
            printSelectInput("totalmax", $lengths, $data['totalmax']);
            print "    </TD>\n";
            print "    <TD>";
            printSubmitErr(TOTALMAXERR);
            print "</TD>\n";
            print "  </TR>\n";
            print "  <TR>\n";
            print "    <TH align=right>Max Extend Time:</TH>\n";
            print "    <TD>";
            if (!array_key_exists($data['maxextend'], $lengths)) {
                $data['maxextend'] = getReservationLengthCeiling($data['maxextend']);
            }
            printSelectInput("maxextend", $lengths, $data['maxextend']);
            print "    </TD>\n";
            print "    <TD>";
            printSubmitErr(MAXEXTENDERR);
            print "</TD>\n";
            print "  </TR>\n";
            if (checkUserHasPerm('Set Overlapping Reservation Count')) {
                print "  <TR>\n";
                print "    <TH align=right>Max Overlapping Reservations:</TH>\n";
                print "    <TD><INPUT type=text name=overlap value=\"";
                print $data["overlap"] . "\" maxlength=4></TD>\n";
                print "    <TD>";
                printSubmitErr(MAXOVERLAPERR);
                print "</TD>\n";
                print "  </TR>\n";
            }
        } else {
            print "  <TR>\n";
            print "    <TH align=right>Owning User Group:</TH>\n";
            print "    <TD>\n";
            if ($submitErr & EDITGROUPERR) {
                $ownerid = $resourcegroups[$groupid]['ownerid'];
            }
            if ($state == 0 && $ownerid != '' && !array_key_exists($ownerid, $dispUserGrpIDs)) {
                $dispUserGrpIDs[$ownerid] = $usergroups[$ownerid]['name'];
                uasort($dispUserGrpIDs, "sortKeepIndex");
            }
            if (!empty($dispUserGrpIDs)) {
                printSelectInput("ownergroup", $dispUserGrpIDs, $ownerid);
            } else {
                printSelectInput("ownergroup", $dispUserGrpIDsAllAffils, $ownerid);
            }
            print "    </TD>\n";
            print "    <TD>\n";
            if ($submitErr & EDITGROUPERR) {
                printSubmitErr(EDITGROUPERR);
            }
            print "    </TD>\n";
            print "  </TR>\n";
        }
        print "</TABLE>\n";
        print "<TABLE>\n";
        print "  <TR valign=top>\n";
        print "    <TD>\n";
        if ($state) {
            $cdata = array('type' => $data['type']);
            if ($data['type'] == 'user') {
                $cdata['isowner'] = $data['isowner'];
                if ($data['editgroupid'] == 0) {
                    $cdata['editgroupid'] = 0;
                    $cdata['groupwasnone'] = 1;
                }
                $cdata['editgroupids'] = implode(',', array_keys($affilusergroups));
            } else {
                if (!empty($dispUserGrpIDs)) {
                    $cdata['ownergroupids'] = implode(',', array_keys($dispUserGrpIDs));
                } else {
                    $cdata['ownergroupids'] = implode(',', array_keys($dispUserGrpIDsAllAffils));
                }
            }
            $cont = addContinuationsEntry('submitAddGroup', $cdata);
            print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "      <INPUT type=submit value=\"Add Group\">\n";
        } else {
            $cdata = array('type' => $data['type'], 'groupid' => $data['groupid'], 'isowner' => $data['isowner'], 'editname' => $editname);
            if ($data['type'] == 'resource') {
                $cdata['resourcetypeid'] = $resourcetypeid;
                if (!empty($dispUserGrpIDs)) {
                    $cdata['ownergroupids'] = implode(',', array_keys($dispUserGrpIDs));
                } else {
                    $cdata['ownergroupids'] = implode(',', array_keys($dispUserGrpIDsAllAffils));
                }
            } else {
                if ($data['courseroll'] == 1 || $data['custom'] == 0 || $editname == 0) {
                    $cdata['name'] = $data['name'];
                    $cdata['affiliationid'] = $data['affiliationid'];
                }
                $cdata['selectAffil'] = $selectAffil;
                $cdata['groupwasnone'] = $groupwasnone;
                $cdata['custom'] = $data['custom'];
                $cdata['courseroll'] = $data['courseroll'];
                $cdata['editgroupids'] = implode(',', array_keys($affilusergroups));
            }
            $cont = addContinuationsEntry('confirmEditGroup', $cdata);
            print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "      <INPUT type=submit value=\"Confirm Changes\">\n";
        }
        print "      </FORM>\n";
        print "    </TD>\n";
        print "    <TD>\n";
        print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
        print "      <INPUT type=hidden name=mode value=viewGroups>\n";
        print "      <INPUT type=submit value=Cancel>\n";
        print "      </FORM>\n";
        print "    </TD>\n";
        print "  </TR>\n";
        print "</TABLE>\n";
    }
    if ($data["type"] != "user") {
        print "</DIV>\n";
        return;
    }
    if ($editusergroup) {
        $newuser = processInputVar("newuser", ARG_STRING);
        print "<H3>Group Membership</H3>\n";
        if ($mode == "addGroupUser" && !($submitErr & IDNAMEERR)) {
            print "<font color=\"#008000\">{$newuser} successfully added to group";
            print "</font><br><br>\n";
        }
        if ($mode == "deleteGroupUser") {
            print "<font color=\"#008000\">{$newuser} successfully deleted from ";
            print "group</font><br><br>\n";
        }
        $groupmembers = getUserGroupMembers($data["groupid"]);
        $edit = 1;
        if ($data['courseroll'] == 1 || $data['custom'] == 0) {
            $edit = 0;
        }
        if (empty($groupmembers) && !$edit) {
            print "(empty group)<br>\n";
        }
        print "<TABLE border=1>\n";
        if ($edit) {
            print "  <TR>\n";
            print "  <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
            print "    <TD align=right><INPUT type=submit value=Add></TD>\n";
            print "    <TD><INPUT type=text name=newuser maxlength=80 size=40 ";
            if ($submitErr & IDNAMEERR) {
                print "value=\"{$newuser}\"></TD>\n";
            } else {
                print "></TD>\n";
            }
            if ($submitErr) {
                print "    <TD>\n";
                printSubmitErr(IDNAMEERR);
                print "    </TD>\n";
            }
            $cont = addContinuationsEntry('addGroupUser', $data);
            print "  <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "  </FORM>\n";
            print "  </TR>\n";
        }
        foreach ($groupmembers as $id => $login) {
            print "  <TR>\n";
            if ($edit) {
                print "    <TD>\n";
                print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
                print "      <INPUT type=submit value=Delete>\n";
                $data['userid'] = $id;
                $data['newuser'] = $login;
                $cont = addContinuationsEntry('deleteGroupUser', $data);
                print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
                print "      </FORM>\n";
                print "    </TD>\n";
            }
            print "    <TD>{$login}</TD>\n";
            print "  </TR>\n";
        }
        print "</TABLE>\n";
    }
    print "</DIV>\n";
}
Example #3
0
function selectStatistics()
{
    global $submitErr, $user;
    list($month1, $day1, $year1) = explode(',', date('n,j,Y', time() - SECINDAY * 6));
    list($month2, $day2, $year2) = explode(',', date('n,j,Y', time()));
    print "<H2>" . i("Statistic Information") . "</H2>\n";
    if ($submitErr) {
        printSubmitErr(STARTERR);
        printSubmitErr(ENDERR);
        printSubmitErr(ORDERERR);
        $monthkey1 = processInputVar("month1", ARG_NUMERIC);
        $daykey1 = processInputVar("day1", ARG_NUMERIC);
        $yearkey1 = processInputVar("year1", ARG_NUMERIC);
        $monthkey2 = processInputVar("month2", ARG_NUMERIC);
        $daykey2 = processInputVar("day2", ARG_NUMERIC);
        $yearkey2 = processInputVar("year2", ARG_NUMERIC);
        $affilid = processInputVar("affilid", ARG_NUMERIC);
    } else {
        $affilid = $user['affiliationid'];
    }
    print i("Select a starting date:") . "<br>\n";
    $months = array('');
    for ($i = 2 * SECINDAY, $cnt = 1; $cnt < 13; $i += SECINMONTH, $cnt++) {
        $months[$cnt] = strftime('%B', $i);
    }
    unset($months[0]);
    $days = array();
    for ($i = 0; $i < 32; $i++) {
        array_push($days, $i);
    }
    unset($days[0]);
    $years = array();
    for ($i = 2004; $i <= $year2; $i++) {
        $years[$i] = $i;
    }
    if (!$submitErr) {
        $monthkey1 = $month1;
        $daykey1 = array_search($day1, $days);
        $yearkey1 = array_search($year1, $years);
    }
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    printSelectInput("month1", $months, $monthkey1);
    printSelectInput("day1", $days, $daykey1);
    printSelectInput("year1", $years, $yearkey1);
    print "<br>\n";
    print i("Select an ending date:") . "<br>\n";
    if (!$submitErr) {
        $monthkey2 = $month2;
        $daykey2 = array_search($day2, $days);
        $yearkey2 = array_search($year2, $years);
    }
    printSelectInput("month2", $months, $monthkey2);
    printSelectInput("day2", $days, $daykey2);
    printSelectInput("year2", $years, $yearkey2);
    print "<br>\n";
    $cont = addContinuationsEntry('viewstats');
    if (checkUserHasPerm('View Statistics by Affiliation')) {
        print "<input type=radio id=stattype1 name=continuation value=\"{$cont}\" checked>\n";
        print "<label for=stattype1>" . i("View General Statistics") . "</label> - \n";
        print i("Select an affiliation:") . "\n";
        $affils = getAffiliations();
        if (!array_key_exists($affilid, $affils)) {
            $affilid = $user['affiliationid'];
        }
        $affils = array_reverse($affils, TRUE);
        $affils[0] = "All";
        $affils = array_reverse($affils, TRUE);
        printSelectInput("affilid", $affils, $affilid);
        print "<br>\n";
        $query = "SELECT id, " . "prettyname " . "FROM provisioning " . "ORDER BY prettyname";
        $qh = doQuery($query);
        $provs = array();
        while ($row = mysql_fetch_assoc($qh)) {
            $provs[$row['id']] = $row['prettyname'];
        }
        $cdata = array('mode' => 'provisioning', 'provs' => $provs);
        $cont2 = addContinuationsEntry('viewstats', $cdata);
        print "<input type=radio id=stattype3 name=continuation value=\"{$cont2}\">\n";
        print "<label for=stattype3>" . i("View Statistics by provisioning engine");
        print "</label>:\n";
        printSelectInput("provid", $provs);
        print "<br>\n";
    } else {
        print "<INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    }
    print "<INPUT type=submit value=" . i("Submit") . ">\n";
    print "</FORM>\n";
}
Example #4
0
function printReserveItems($modifystart = 1, $day = NULL, $hour = NULL, $minute = NULL, $meridian = NULL, $length = 60, $oneline = 0, $nolength = 0)
{
    global $user;
    $enddate = processInputVar("enddate", ARG_STRING);
    $groupid = getUserGroupID('Specify End Time', 1);
    $members = getUserGroupMembers($groupid);
    if (array_key_exists($user['id'], $members)) {
        $openend = 1;
    } else {
        $openend = 0;
    }
    $days = array();
    $inputday = "";
    for ($cur = time(), $end = $cur + DAYSAHEAD * SECINDAY; $cur < $end; $cur += SECINDAY) {
        $tmp = getdate($cur);
        $index = $tmp["mon"] . "/" . $tmp["mday"] . "/" . $tmp["year"];
        $days[$index] = $tmp["weekday"];
        if ($tmp["weekday"] == $day) {
            $inputday = $index;
        }
    }
    if ($modifystart) {
        printSelectInput("day", $days, $inputday);
        print "&nbsp;At&nbsp;\n";
        $tmpArr = array();
        for ($i = 1; $i < 13; $i++) {
            $tmpArr[$i] = $i;
        }
        printSelectInput("hour", $tmpArr, $hour);
        $minutes = array("zero" => "00", "15" => "15", "30" => "30", "45" => "45");
        printSelectInput("minute", $minutes, $minute);
        printSelectInput("meridian", array("am" => "a.m.", "pm" => "p.m."), $meridian);
        print "<small>(Eastern Time Zone)</small>";
        //if(! $oneline)
        print "<br><br>";
        /*else
        		print "&nbsp;&nbsp;";*/
        if (!$nolength) {
            if ($openend) {
                print "&nbsp;&nbsp;&nbsp;<INPUT type=radio name=ending ";
                print "onclick='updateWaitTime(0);' value=length checked>";
            }
            print "Duration:&nbsp;\n";
        }
    } else {
        print "<INPUT type=hidden name=day value={$inputday}>\n";
        print "<INPUT type=hidden name=hour value={$hour}>\n";
        print "<INPUT type=hidden name=minute value={$minute}>\n";
        print "<INPUT type=hidden name=meridian value={$meridian}>\n";
    }
    // check for a "now" reservation that got 15 min added to it
    if ($length % 30) {
        $length -= 15;
    }
    // if ! $modifystart, we return at this point because we don't
    # know enough about the current reservation to determine how
    # long they can extend it for, the calling function would have
    # to determine that and print a length dropdown box
    if (!$modifystart) {
        return;
    }
    # create an array of usage times based on the user's max times
    $maxtimes = getUserMaxTimes("initialmaxtime");
    $lengths = array();
    if ($maxtimes["initial"] >= 30) {
        $lengths["30"] = "30 minutes";
    }
    if ($maxtimes["initial"] >= 60) {
        $lengths["60"] = "1 hour";
    }
    for ($i = 120; $i <= $maxtimes["initial"]; $i += 120) {
        $lengths[$i] = $i / 60 . " hours";
    }
    if ($nolength) {
        print "Reservation will be for 8 hours<br>\n";
    } else {
        printSelectInput("length", $lengths, $length, 0, 0, 'reqlength', "onChange='updateWaitTime(0);'");
        print "<br>\n";
        if ($openend) {
            print "&nbsp;&nbsp;&nbsp;<INPUT type=radio name=ending id=openend ";
            print "onclick='updateWaitTime(0);' value=date>Until\n";
            print "<INPUT type=text name=enddate size=20 value=\"{$enddate}\">(YYYY-MM-DD HH:MM:SS)\n";
            printSubmitErr(ENDDATEERR);
            print "<br>\n";
        }
    }
}
Example #5
0
function selectStatistics()
{
    global $submitErr, $viewmode, $user;
    list($month1, $day1, $year1) = explode(',', date('F,j,Y', time() - SECINDAY * 6));
    list($month2, $day2, $year2) = explode(',', date('F,j,Y', time()));
    print "<H2>Statistic Information</H2>\n";
    if ($submitErr) {
        printSubmitErr(STARTERR);
        printSubmitErr(ENDERR);
        printSubmitErr(ORDERERR);
        $monthkey1 = processInputVar("month1", ARG_NUMERIC);
        $daykey1 = processInputVar("day1", ARG_NUMERIC);
        $yearkey1 = processInputVar("year1", ARG_NUMERIC);
        $monthkey2 = processInputVar("month2", ARG_NUMERIC);
        $daykey2 = processInputVar("day2", ARG_NUMERIC);
        $yearkey2 = processInputVar("year2", ARG_NUMERIC);
        $affilid = processInputVar("affilid", ARG_NUMERIC);
    } else {
        $affilid = $user['affiliationid'];
    }
    print "Select a starting date:<br>\n";
    $months = array("", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    unset($months[0]);
    $days = array();
    for ($i = 0; $i < 32; $i++) {
        array_push($days, $i);
    }
    unset($days[0]);
    $years = array();
    for ($i = 2004; $i <= $year2; $i++) {
        $years[$i] = $i;
    }
    if (!$submitErr) {
        $monthkey1 = array_search($month1, $months);
        $daykey1 = array_search($day1, $days);
        $yearkey1 = array_search($year1, $years);
    }
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    printSelectInput("month1", $months, $monthkey1);
    printSelectInput("day1", $days, $daykey1);
    printSelectInput("year1", $years, $yearkey1);
    print "<br>\n";
    print "Select a ending date:<br>\n";
    if (!$submitErr) {
        $monthkey2 = array_search($month2, $months);
        $daykey2 = array_search($day2, $days);
        $yearkey2 = array_search($year2, $years);
    }
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    printSelectInput("month2", $months, $monthkey2);
    printSelectInput("day2", $days, $daykey2);
    printSelectInput("year2", $years, $yearkey2);
    print "<br>\n";
    if ($viewmode >= ADMIN_FULL) {
        print "Select an affiliation:<br>\n";
        $affils = getAffiliations();
        if (!array_key_exists($affilid, $affils)) {
            $affilid = $user['affiliationid'];
        }
        $affils = array_reverse($affils, TRUE);
        $affils[0] = "All";
        $affils = array_reverse($affils, TRUE);
        printSelectInput("affilid", $affils, $affilid);
        print "<br>\n";
    }
    $cont = addContinuationsEntry('viewstats');
    print "<INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "<INPUT type=submit value=Submit>\n";
    print "</FORM>\n";
}
Example #6
0
function userpreferences()
{
    global $user, $submitErr, $mode;
    if ($submitErr) {
        $data = processUserPrefsInput(0);
        $data['affiliation'] = $user['affiliation'];
    } else {
        $data = $user;
        if ($data["width"] == 0) {
            $data["resolution"] = "Full Screen";
        } else {
            $data["resolution"] = $user["width"] . "x" . $user["height"];
        }
    }
    print i("<H2 align=center>User Preferences</H2>\n");
    print "<div align=center id=status class=visible>\n";
    if ($mode == "submituserprefs") {
        print "<font color=green>" . i("User preferences successfully updated") . "</font><br>\n";
    }
    print "</div>\n";
    print "<table summary=\"\">\n";
    print "  <TR>\n";
    print "    <TD valign=top>\n";
    print "      <div id=preflinks class=hidden>\n";
    print "      <ul class=preferenceslist>\n";
    $showpersonal = 0;
    if (!empty($user['firstname']) || !empty($user['lastname']) || !empty($user['email']) || $user['affiliation'] == 'Local') {
        $showpersonal = 1;
        print "      <li><a href=#personal onclick=\"";
        print "show('personal'); return false;\">" . i("Personal Information") . "</a>";
        print "</li>\n";
    }
    print "      <li><a href=#rdpfile onclick=\"";
    print "show('rdpfile'); return false;\">" . i("RDP Preferences") . "</a>";
    print "</li>\n";
    print "      <li><a href=#uiprefs onclick=\"javascript:show('uiprefs'); ";
    print "return false\">" . i("General Preferences") . "</a></li>\n";
    print "      </ul>\n";
    print "      </div>\n";
    print "    </TD>\n";
    print "    <TD rowspan=2 width=50px></TD>\n";
    print "    <TD rowspan=2>\n";
    if ($showpersonal) {
        print "      <fieldset id=personal class=shown>\n";
        print "      <legend>" . i("Personal") . "</legend>\n";
        print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
        print "      <table summary=\"displays your personal information\">\n";
        $showsubmit = 0;
        if (!empty($user['firstname'])) {
            print "        <TR>\n";
            print "          <TH align=right>" . i("First Name:") . "<a href=#updateinfo>*</a></TH>\n";
            print "          <TD>" . $user["firstname"] . "</TD>\n";
            print "          <TD></TD>\n";
            print "        </TR>\n";
        }
        if (!empty($user['lastname'])) {
            print "        <TR>\n";
            print "          <TH align=right>" . i("Last Name:") . "<a href=#updateinfo>*</a></TH>\n";
            print "          <TD>" . $user["lastname"] . "</TD>\n";
            print "          <TD></TD>\n";
            print "        </TR>\n";
        }
        # preferred name is stored locally; allow setting preferred name if a firstname is defined
        if (!empty($user['firstname'])) {
            print "        <TR>\n";
            print "          <TH align=right>" . i("Preferred Name:") . "</TH>\n";
            print "          <TD><label class=hidden for=preferredname>Preferred Name</label>\n";
            print "              <INPUT type=text name=preferredname maxlength=100 ";
            print "size=15 value=\"" . $data["preferredname"] . "\"></TD>\n";
            print "          <TD>";
            printSubmitErr(PREFNAMEERR);
            print "</TD>\n";
            print "        </TR>\n";
            $showsubmit = 1;
        }
        if (!empty($user['email'])) {
            print "        <TR>\n";
            print "          <TH align=right>" . i("Email Address:") . "<a href=#updateinfo>*</a></TH>\n";
            print "          <TD>" . $user["email"] . "</TD>\n";
            print "          <TD></TD>\n";
            print "        </TR>\n";
        }
        if ($user['affiliation'] == 'Local') {
            print "        <TR>\n";
            print "          <TD colspan=3 align=center><h3>" . i("Change Password") . "</h3></TD>\n";
            print "        </TR>\n";
            print "        <TR>\n";
            print "          <TH align=right>" . i("Current Password:"******"</TH>\n";
            print "          <TD>\n";
            print "            <label class=hidden for=currentpassword>Current Password</label>\n";
            print "            <INPUT type=password name=currentpassword maxlength=100 size=15>\n";
            print "          </TD>\n";
            print "          <TD>";
            printSubmitErr(LOCALPASSWORDERR);
            print "</TD>\n";
            print "        </TR>\n";
            print "        <TR>\n";
            print "          <TH align=right>" . i("New Password:"******"</TH>\n";
            print "          <TD>\n";
            print "            <label class=hidden for=newpassword>New Password</label>\n";
            print "            <INPUT type=password name=newpassword maxlength=100 ";
            print "id=newpassword onkeyup=\"checkNewLocalPassword();\" size=15>\n";
            print "          </TD>\n";
            print "          <TD></TD>\n";
            print "        </TR>\n";
            print "        <TR>\n";
            print "          <TH align=right>" . i("Confirm Password:"******"</TH>\n";
            print "          <TD>\n";
            print "            <label class=hidden for=confirmpassword>Confirm Password</label>\n";
            print "            <INPUT type=password name=confirmpassword maxlength=100 ";
            print "id=confirmpassword onkeyup=\"checkNewLocalPassword();\" size=15>\n";
            print "          </TD>\n";
            print "          <TD><span id=pwdstatus></span></TD>\n";
            print "        </TR>\n";
            $showsubmit = 1;
        }
        print "      </table>\n";
        $updateText = getAffiliationDataUpdateText($user['affiliationid']);
        print "<a name=updateinfo></a>\n";
        if (!empty($updateText[$user['affiliationid']])) {
            print "{$updateText[$user['affiliationid']]}<br><br>";
        }
        if ($showsubmit) {
            $cont = addContinuationsEntry('confirmpersonalprefs', array(), SECINDAY, 1, 1, 1);
            print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "      <div align=center>\n";
            print "      <INPUT type=submit value=\"" . i("Submit Changes") . "\">\n";
            print "      </div>\n";
        }
        print "      </FORM>\n";
        print "      </fieldset>\n";
    }
    print "      <fieldset id=rdpfile class=shown>\n";
    print "      <legend>" . i("RDP") . "</legend>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "      <table summary=\"lists adjustable preferences for the RDP ";
    print "file that is sent when you click the Get RDP File button on the ";
    print "Connect! page and the port on which RDP is listening\">\n";
    print "        <TR>\n";
    print "          <TD colspan=3><div style=\"width: 300px;\"><small>";
    print i("Try decreasing <em>Resolution</em> or <em>Color Depth</em> to speed up your connection if things seem slow when connected to a remote computer.");
    print "</div></small></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("Resolution:") . "</TH>\n";
    $resolutionArray = array("Full Screen" => "Full Screen", "1920x1440" => "1920x1440", "1600x1200" => "1600x1200", "1280x1024" => "1280x1024", "1152x864" => "1152x864", "1024x768" => "1024x768", "800x600" => "800x600", "640x480" => "640x480", "1680x1050" => "1680x1050", "1600x1024" => "1600x1024", "1440x900" => "1440x900", "1280x854" => "1280x854", "1280x768" => "1280x768", "1024x576" => "1024x576");
    print "          <TD>\n";
    printSelectInput("resolution", $resolutionArray, $data["resolution"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("Color Depth:") . "</TH>\n";
    print "          <TD>\n";
    $colordepth = array("8" => "8", "16" => "16", "24" => "24", "32" => "32");
    printSelectInput("bpp", $colordepth, $data["bpp"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("Audio:") . "</TH>\n";
    print "          <TD>\n";
    $audio = array("none" => i("None"), "local" => i("Use my speakers"));
    printSelectInput("audiomode", $audio, $data["audiomode"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("Map Local Drives:") . "</TH>\n";
    print "          <TD>\n";
    $yesno = array(1 => i("Yes"), 0 => i("No"));
    printSelectInput("mapdrives", $yesno, $data["mapdrives"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("Map Local Printers:") . "</TH>\n";
    print "          <TD>\n";
    printSelectInput("mapprinters", $yesno, $data["mapprinters"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("Map Local Serial Ports:") . "</TH>\n";
    print "          <TD>\n";
    printSelectInput("mapserial", $yesno, $data["mapserial"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>" . i("RDP Port") . ":</TH>\n";
    print "          <TD>\n";
    print "            <INPUT type=text name=rdpport maxlength=5 ";
    print "size=8 value=\"" . $data["rdpport"] . "\"></TD>\n";
    print "          </TD>\n";
    print "          <TD>\n";
    printSubmitErr(RDPPORTERR);
    print "          </TD>\n";
    print "        </TR>\n";
    print "      </table>\n";
    $cont = addContinuationsEntry('confirmrdpprefs', array(), SECINDAY, 1, 1, 1);
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <div align=center>\n";
    print "      <INPUT type=submit value=\"" . i("Submit Changes") . "\">\n";
    print "      </div>\n";
    print "      </FORM>\n";
    print "      </fieldset>\n";
    print "      <div id=uiprefs class=shown>\n";
    print "      <fieldset>\n";
    print "      <legend>" . i("General Preferences") . "</legend>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post ";
    print "onsubmit=\"return validatePublicKeys();\">\n";
    $cdata = array();
    if ($user['showallgroups']) {
        $selected['affiliation'] = '';
        $selected['allgroups'] = 'checked';
    } else {
        $selected['affiliation'] = 'checked';
        $selected['allgroups'] = '';
    }
    print "      <p>" . i("View User Groups:") . "<br>\n";
    print "      <INPUT type=radio id=r1 name=groupview value=affiliation ";
    print "{$selected['affiliation']}" . "><label for=r1>" . i("matching my affiliation");
    print "</label><br>\n";
    print "      <INPUT type=radio id=r2 name=groupview value=allgroups ";
    print "{$selected['allgroups']}" . "><label for=r2>" . i("from all affiliations");
    print "</label></p>\n";
    if ($user['emailnotices']) {
        $selected['enabled'] = 'checked';
        $selected['disabled'] = '';
    } else {
        $selected['enabled'] = '';
        $selected['disabled'] = 'checked';
    }
    print "      <p>" . i("Send email notifications about reservations:") . "<br>\n";
    print "      <INPUT type=radio id=r3 name=emailnotify value=2 ";
    print "{$selected['enabled']}" . "><label for=r3>" . i("Enabled");
    print "</label><br>\n";
    print "      <INPUT type=radio id=r4 name=emailnotify value=1 ";
    print "{$selected['disabled']}" . "><label for=r4>" . i("Disabled");
    print "</label></p>\n";
    ###########################
    # temporary
    if (!array_key_exists('usepublickeys', $user)) {
        $user['usepublickeys'] = 0;
        $_SESSION['user']['usepublickeys'] = 0;
        $user['sshpublickeys'] = '';
        $_SESSION['user']['sshpublickeys'] = '';
    }
    # end temporary
    ###########################
    if ($user['usepublickeys']) {
        $selected['enabled'] = 'checked';
        $selected['disabled'] = '';
    } else {
        $selected['enabled'] = '';
        $selected['disabled'] = 'checked';
    }
    print "      <p>" . i("Use public key authentication for SSH logins:") . "<br>\n";
    print "      <INPUT type=radio id=r5 name=pubkeyauth value=2 ";
    print "{$selected['enabled']} onclick=\"togglePubKeys(1);\"><label for=r5>";
    print i("Enabled") . "</label><br>\n";
    print "      <INPUT type=radio id=r6 name=pubkeyauth value=1 ";
    print "{$selected['disabled']} onclick=\"togglePubKeys(0);\"><label for=r6>";
    print i("Disabled") . "</label><br><br>\n";
    print "      " . i("Public keys:") . "<br>\n";
    print "      <div style=\"width: 300px;\" id=\"pubkeyerr\" ";
    print "class=\"hidden\">";
    print "<font color=\"red\"><em>\n      ";
    print i("Public keys can only contain letters, numbers, spaces, and these characters: + / @ . =");
    print "</em></font></div>\n";
    print "      <textarea id=\"pubkeys\" dojoType=\"dijit.form.Textarea\" ";
    print "name=\"pubkeys\" style=\"width: 27em;\"";
    if (!$user['usepublickeys']) {
        print " disabled=\"disabled\"";
    }
    print ">{$user['sshpublickeys']}</textarea><br><br>\n";
    print "<strong>" . i("NOTE:") . "</strong> ";
    $h = "      " . i("Images using network storage (such as AFS) may not work well with public key authentication. In some cases, you may still be prompted for a password. In other cases, you may need to run additional commands after logging in to gain access to the network storage.");
    print preg_replace("/(.{1,55}([ \n]|\$))/", '\\1<br>', $h) . "\n";
    print "      </p>\n";
    $cont = addContinuationsEntry('submitgeneralprefs', $cdata, SECINDAY, 1, 0);
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <INPUT type=submit value=\"" . i("Submit General Preferences") . "\">\n";
    print "      </FORM>\n";
    print "      </fieldset>\n";
    print "      </div>\n";
    print "    </TD>\n";
    print "  </TR>\n";
    print "</table>\n";
    printUserprefJavascript();
}
Example #7
0
function editOrAddImage($state)
{
    global $submitErr, $mode, $submode, $user;
    $images = getImages();
    $platforms = getPlatforms();
    $oslist = getOSList();
    $groups = getUserGroups(0, $user['affiliationid']);
    $groups = array_reverse($groups, TRUE);
    $groups[0] = array("name" => "Any");
    $groups = array_reverse($groups, TRUE);
    if ($submitErr || $state == 1 || $mode == "submitEditImageButtons") {
        $data = processImageInput(0);
        if (get_magic_quotes_gpc()) {
            $data["description"] = stripslashes($data['description']);
            $data["usage"] = stripslashes($data['usage']);
            $data["comments"] = stripslashes($data['comments']);
        }
        $data['imageid'] = getContinuationVar('imageid');
        if ($mode == "newImage") {
            $requestdata = getRequestInfo($data['requestid']);
            $imagedata = getImages(0, $requestdata["reservations"][0]["imageid"]);
            $data["platformid"] = $imagedata[$requestdata["reservations"][0]["imageid"]]["platformid"];
            $data["osid"] = $imagedata[$requestdata["reservations"][0]["imageid"]]["osid"];
        }
    } elseif ($mode == 'submitAddSubimage') {
        $data = getContinuationVar();
    } else {
        $id = getContinuationVar("imageid");
        $data = $images[$id];
        $data["imageid"] = $id;
        $tmp = getImageNotes($id);
        $data['description'] = $tmp['description'];
        $data['usage'] = $tmp['usage'];
    }
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "<DIV align=center>\n";
    if ($state) {
        print "<H2>Add Image</H2>\n";
    } else {
        print "<H2>Edit Image</H2>\n";
    }
    print "<TABLE>\n";
    print "  <TR>\n";
    print "    <TH align=right>Name:</TH>\n";
    print "    <TD><INPUT type=text name=prettyname value=\"";
    print $data["prettyname"] . "\" maxlength=60 size=40></TD>\n";
    print "    <TD>";
    printSubmitErr(PRETTYNAMEERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Owner:</TH>\n";
    print "    <TD><INPUT type=text name=owner value=\"" . $data["owner"];
    print "\" size=40></TD>\n";
    print "    <TD>";
    printSubmitErr(IMGOWNERERR);
    print "</TD>\n";
    print "  </TR>\n";
    /*print "  <TR>\n";
    	print "    <TH align=right>Platform:</TH>\n";
    	print "    <TD>\n";
    	printSelectInput("platformid", $platforms, $data["platformid"]);
    	print "    </TD>\n";
    	print "  </TR>\n";
    	print "  <TR>\n";
    	print "    <TH align=right>OS:</TH>\n";
    	print "    <TD>\n";
    	printSelectInput("osid", $oslist, $data["osid"]);
    	print "    </TD>\n";
    	print "  </TR>\n";*/
    print "  <TR>\n";
    print "    <TD colspan=3>\n";
    print "<fieldset>\n";
    print "<legend>Image Description</legend>\n";
    print "Description of image (required - users will<br>\nsee this on the <strong>";
    print "New Reservations</strong> page):<br>\n";
    printSubmitErr(IMAGEDESCRIPTIONERR);
    print "<textarea dojoType=\"dijit.form.Textarea\" name=description ";
    print "style=\"width: 400px; text-align: left;\">{$data['description']}\n\n";
    print "</textarea>\n";
    print "</fieldset>\n";
    print "<fieldset>\n";
    print "<legend>Usage Notes</legend>\n";
    print "Optional notes to the user explaining how to use the image<br>";
    print "(users will see this on the <strong>Connect!</strong> page):<br>\n";
    print "<textarea dojoType=\"dijit.form.Textarea\" name=usage ";
    print "style=\"width: 400px; text-align: left;\"\">{$data['usage']}\n\n";
    print "</textarea>\n";
    print "</fieldset>\n";
    if ($state) {
        print "<fieldset>\n";
        print "<legend>Revision Comments</legend>\n";
        print "Notes for yourself and other admins about how the image ";
        print "was setup/installed.<br>\nThese are optional and not visible to end ";
        print "users.<br>\n";
        print "<textarea dojoType=\"dijit.form.Textarea\" name=comments ";
        print "style=\"width: 400px; text-align: left;\"\">{$data['comments']}\n\n";
        print "</textarea>\n";
        print "</fieldset>\n";
    }
    print "    </TD>\n";
    print "  </TR>\n";
    print "</TABLE><br>\n";
    print "<div dojoType=\"dijit.TitlePane\" title=\"Advanced Options - leave ";
    print "default values unless you really know what you are doing<br>(click to ";
    print "expand)\" open=false style=\"width: 500px\">\n";
    print "<TABLE>\n";
    print "  <TR>\n";
    print "    <TD colspan=3 id=hide1><hr></TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TD colspan=3 id=hide2><strong>Advanced Options - leave default values unless you really know what you are doing</strong><br><br></TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Minimum RAM (MB):</TH>\n";
    print "    <TD><INPUT type=text name=minram value=\"";
    print $data["minram"] . "\" maxlength=5 size=6></TD>\n";
    print "    <TD>";
    printSubmitErr(MINRAMERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Minimum Num of Processors:</TH>\n";
    print "    <TD>\n";
    $tmpArr = array("1" => "1", "2" => "2", "4" => "4", "8" => "8");
    printSelectInput("minprocnumber", $tmpArr, $data["minprocnumber"]);
    print "    </TD>\n";
    print "    <TD></TD>";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Minimum Processor Speed (MHz):</TH>\n";
    print "    <TD><INPUT type=text name=minprocspeed value=\"";
    print $data["minprocspeed"] . "\" maxlength=5 size=5></TD>\n";
    print "    <TD>";
    printSubmitErr(MINPROCSPEEDERR);
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Minimum Network Speed (Mbps):</TH>\n";
    print "    <TD>\n";
    $tmpArr = array("10" => "10", "100" => "100", "1000" => "1000");
    printSelectInput("minnetwork", $tmpArr, $data["minnetwork"]);
    print "    </TD>\n";
    print "    <TD></TD>";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Maximum Concurrent Usage:</TH>\n";
    print "    <TD><INPUT type=text name=maxconcurrent value=\"";
    print $data["maxconcurrent"] . "\" maxlength=3 size=4>(leave empty for unlimited)</TD>\n";
    print "    <TD>";
    printSubmitErr(MAXCONCURRENTERR);
    print "</TD>\n";
    print "    <TD></TD>";
    print "  </TR>\n";
    if (!$state) {
        print "  <TR>\n";
        print "    <TH align=right>Estimated Reload Time (min):</TH>\n";
        print "    <TD><INPUT type=text name=reloadtime value=\"";
        print $data["reloadtime"] . "\" maxlength=3></TD>\n";
        print "    <TD>";
        printSubmitErr(RELOADTIMEERR);
        print "</TD>\n";
        print "  </TR>\n";
    }
    print "  <TR>\n";
    print "    <TH align=right>Available for checkout:</TH>\n";
    print "    <TD>\n";
    $yesno = array(1 => "Yes", 0 => "No");
    printSelectInput("forcheckout", $yesno, $data["forcheckout"]);
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Check for logged in user:</TH>\n";
    if (array_key_exists("checkuser", $data) && !$data["checkuser"]) {
        $default = 0;
    } else {
        $default = 1;
    }
    print "    <TD>\n";
    printSelectInput("checkuser", $yesno, $default);
    print "    </TD>\n";
    print "  </TR>\n";
    # finally just limited access so only high level access people see this
    # because it confused too many people
    if ($user["adminlevel"] == "developer") {
        print "  <TR>\n";
        print "    <TH align=right>User group allowed to log in:<br>\n";
        print "    <small>(This does not grant permission to<br>\n";
        print "make a reservation for the image)</small></TH>\n";
        print "    <TD>\n";
        if (!empty($data["usergroupid"])) {
            $default = $data["usergroupid"];
            if (!array_key_exists($default, $groups)) {
                if ($submitErr || $mode == 'submitEditImageButtons' || $mode == 'submitAddSubimage') {
                    $groups[$data['usergroupid']] = array('name' => $images[$data['imageid']]['usergroup']);
                } else {
                    $groups[$data['usergroupid']] = array('name' => $data['usergroup']);
                }
                uasort($groups, 'sortKeepIndex');
            }
        } else {
            $default = 0;
        }
        printSelectInput("usergroupid", $groups, $default);
        print "    </TD>\n";
        print "  </TR>\n";
    }
    if (!$state) {
        print "  <TR>\n";
        print "    <TH style=\"vertical-align:top; text-align:right;\">Subimages:</TH>\n";
        print "    <TD>\n";
        if (array_key_exists("subimages", $images[$data["imageid"]]) && count($images[$data["imageid"]]["subimages"])) {
            foreach ($images[$data["imageid"]]["subimages"] as $imgid) {
                print "<INPUT type=checkbox name=\"removeimgid[{$imgid}]\" value={$imgid}>\n";
                print "{$images[$imgid]["prettyname"]}<br>\n";
            }
            print "<INPUT type=submit name=submode value=\"Remove Selected\"><br>\n";
            # Remove Selected
        }
        print "    <INPUT type=submit name=submode value=\"Add Subimage\">\n";
        # Add Subimage
        print "    </TD>\n";
        print "  </TR>\n";
    } else {
        if (array_key_exists("sysprep", $data) && !$data["sysprep"]) {
            $default = 0;
        } else {
            $default = 1;
        }
        print "  <TR>\n";
        print "    <TH style=\"vertical-align:top; text-align:right;\">Use sysprep:</TH>\n";
        print "    <TD>\n";
        printSelectInput("sysprep", $yesno, $default);
        print "    </TD>\n";
        print "  </TR>\n";
    }
    print "  <TR>\n";
    print "    <TD colspan=3 id=hide3><hr></TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    print "</div>\n";
    print "<TABLE>\n";
    print "  <TR valign=top>\n";
    print "    <TD>\n";
    if ($state) {
        $cdata = array('requestid' => $data['requestid'], 'imageid' => $data['imageid']);
        $cont = addContinuationsEntry('submitEditImageButtons', $cdata, SECINDAY, 0);
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        # confirmAddImage
        print "      <INPUT type=submit name=submode value=\"Confirm Image\">\n";
    } else {
        $cdata = array('imageid' => $data['imageid']);
        $cont = addContinuationsEntry('submitEditImageButtons', $cdata, SECINDAY, 0, 1, 1);
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        # confirmEditImage
        print "      <INPUT type=submit name=submode value=\"Confirm Changes\">\n";
    }
    print "      </FORM>\n";
    print "    </TD>\n";
    print "    <TD>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    if ($state) {
        $cont = addContinuationsEntry('viewRequests');
    } else {
        $cont = addContinuationsEntry('viewImages');
    }
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <INPUT type=submit value=Cancel>\n";
    print "      </FORM>\n";
    print "    </TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    if ($state) {
        return;
    }
    print "<div id=revisiondiv>\n";
    print getRevisionHTML($data['imageid']);
    print "</div>\n";
}
Example #8
0
function printHelpForm()
{
    global $user, $submitErr, $noHTMLwrappers;
    if ($submitErr) {
        $name = processInputVar("name", ARG_STRING);
        $email = processInputVar("email", ARG_STRING);
        $summary = processInputVar("summary", ARG_STRING);
        $text = processInputVar("comments", ARG_STRING);
    } else {
        $name = $user["firstname"] . " " . $user["lastname"];
        $email = $user["email"];
        $summary = "";
        $text = "";
    }
    if (!in_array('helpform', $noHTMLwrappers)) {
        print "<H2>VCL Help</H2>\n";
    }
    print "This form sends a request to the VCL support group.  Please provide ";
    print "as much information as possible.<br><br>\n";
    if (HELPFAQURL != '') {
        print "Please see our <a href=\"" . HELPFAQURL . "\">";
        print "FAQ</a> Section before sending your request - it may be an easy ";
        print "fix!<br><br>\n";
    }
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "<TABLE>\n";
    print "  <TR>\n";
    print "    <TH align=right>Name:</TH>\n";
    print "    <TD><INPUT type=text name=name size=25 value=\"{$name}\"></TD>\n";
    print "    <TD>";
    printSubmitErr(NAMEERR);
    print "    </TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Email:</TH>\n";
    print "    <TD><INPUT type=text name=email size=25 value=\"{$email}\"></TD>\n";
    print "    <TD>";
    printSubmitErr(EMAILERR);
    print "    </TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Summary:</TH>\n";
    print "    <TD><INPUT type=text name=summary size=25 value=\"{$summary}\"></TD>\n";
    print "    <TD>";
    printSubmitErr(SUMMARYERR);
    print "    </TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    print "<br>\n";
    print "Please describe the problem you are having. Include a description ";
    print "of how you encountered the problem and any error messages you ";
    print "received:<br>\n";
    printSubmitErr(TEXTERR);
    print "<textarea tabindex=2 name=comments cols=50 rows=8>{$text}</textarea><br>\n";
    if (in_array('helpform', $noHTMLwrappers)) {
        $cdata = array('indrupal' => 1);
    } else {
        $cdata = array();
    }
    $cont = addContinuationsEntry('submitHelpForm', $cdata, SECINDAY, 1, 0);
    print "<INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "<INPUT tabindex=3 type=submit value=\"Submit Help Request\">\n";
    print "</FORM>\n";
}
Example #9
0
function userpreferences()
{
    global $user, $submitErr, $viewmode, $mode;
    if ($submitErr) {
        $data = processUserPrefsInput(0);
        $data['affiliation'] = $user['affiliation'];
    } else {
        $data = $user;
        if ($data["width"] == 0) {
            $data["resolution"] = "Full Screen";
        } else {
            $data["resolution"] = $user["width"] . "x" . $user["height"];
        }
    }
    $adminleveldeveloper = 0;
    if ($user['adminlevelid'] == ADMIN_DEVELOPER) {
        $adminleveldeveloper = 1;
    }
    print "<H2 align=center>User Preferences</H2>\n";
    print "<div align=center id=status class=visible>\n";
    if ($mode == "submituserprefs") {
        print "<font color=green>User preferences successfully updated</font><br>\n";
    }
    print "</div>\n";
    print "<table id=layouttable summary=\"\">\n";
    print "  <TR>\n";
    print "    <TD>\n";
    print "      <div id=preflinks class=hidden>\n";
    print "      <ul class=preferenceslist>\n";
    print "      <li><a href=#personal onclick=\"";
    print "show('personal'); return false;\">Personal&nbsp;Information</a>";
    print "</li>\n";
    print "      <li><a href=#rdpfile onclick=\"";
    print "show('rdpfile'); return false;\">RDP&nbsp;File&nbsp;Preferences</a>";
    print "</li>\n";
    print "      <li><a href=#uiprefs onclick=\"javascript:show('uiprefs'); ";
    print "return false\">General&nbsp;Preferences</a></li>\n";
    if ($adminleveldeveloper) {
        print "      <li><a href=#viewmode onclick=\"javascript:";
        print "show('viewmode'); return false\">View&nbsp;Mode</a></li>\n";
    }
    print "      </ul>\n";
    print "      </div>\n";
    print "    </TD>\n";
    print "    <TD rowspan=2 width=50px></TD>\n";
    print "    <TD rowspan=2>\n";
    print "      <fieldset id=personal class=shown>\n";
    print "      <legend>Personal</legend>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "      <table summary=\"displays your personal information\">\n";
    print "        <TR>\n";
    print "          <TH align=right>First Name<a href=#updateinfo>*</a>:</TH>\n";
    print "          <TD>" . $user["firstname"] . "</TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Last Name<a href=#updateinfo>*</a>:</TH>\n";
    print "          <TD>" . $user["lastname"] . "</TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Preferred Name:</TH>\n";
    print "          <TD><label class=hidden for=preferredname>Preferred Name</label>\n";
    print "              <INPUT type=text name=preferredname maxlength=100 ";
    print "size=15 value=\"" . $data["preferredname"] . "\"></TD>\n";
    print "          <TD>";
    printSubmitErr(PREFNAMEERR);
    print "</TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Email Address<a href=#updateinfo>*</a>:</TH>\n";
    print "          <TD>" . $user["email"] . "</TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    if ($user['affiliation'] == 'Local') {
        print "        <TR>\n";
        print "          <TD colspan=3 align=center><h3>Change Password</h3></TD>\n";
        print "        </TR>\n";
        print "        <TR>\n";
        print "          <TH align=right>Current Password:</TH>\n";
        print "          <TD>\n";
        print "            <label class=hidden for=currentpassword>Current Password</label>\n";
        print "            <INPUT type=password name=currentpassword maxlength=100 size=15>\n";
        print "          </TD>\n";
        print "          <TD>";
        printSubmitErr(LOCALPASSWORDERR);
        print "</TD>\n";
        print "        </TR>\n";
        print "        <TR>\n";
        print "          <TH align=right>New Password:</TH>\n";
        print "          <TD>\n";
        print "            <label class=hidden for=newpassword>New Password</label>\n";
        print "            <INPUT type=password name=newpassword maxlength=100 ";
        print "id=newpassword onkeyup=\"checkNewLocalPassword();\" size=15>\n";
        print "          </TD>\n";
        print "          <TD></TD>\n";
        print "        </TR>\n";
        print "        <TR>\n";
        print "          <TH align=right>Confirm Password:</TH>\n";
        print "          <TD>\n";
        print "            <label class=hidden for=confirmpassword>Confirm Password</label>\n";
        print "            <INPUT type=password name=confirmpassword maxlength=100 ";
        print "id=confirmpassword onkeyup=\"checkNewLocalPassword();\" size=15>\n";
        print "          </TD>\n";
        print "          <TD><span id=pwdstatus></span></TD>\n";
        print "        </TR>\n";
    }
    print "      </table>\n";
    $updateText = getAffiliationDataUpdateText($user['affiliationid']);
    print "<a name=updateinfo></a>\n";
    if (!empty($updateText[$user['affiliationid']])) {
        print "{$updateText[$user['affiliationid']]}<br><br>";
    }
    $cont = addContinuationsEntry('confirmpersonalprefs', array(), SECINDAY, 1, 1, 1);
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <div align=center>\n";
    print "      <INPUT type=submit value=\"Submit Changes\">\n";
    print "      </div>\n";
    print "      </FORM>\n";
    print "      </fieldset>\n";
    print "      <fieldset id=rdpfile class=visible>\n";
    print "      <legend>RDP</legend>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "      <table summary=\"lists adjustable preferences for the RDP ";
    print "file that is sent when you click the Get RDP File button on the ";
    print "Connect! page\">\n";
    print "        <TR>\n";
    print "          <TD colspan=3><small>Try decreasing <em>Resolution</em> or <em>";
    print "Color Depth</em> to<br>speed up your connection if things seem ";
    print "slow<br>when connected to a remote computer.</small></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Resolution:</TH>\n";
    $resolutionArray = array("Full Screen" => "Full Screen", "1920x1440" => "1920x1440", "1600x1200" => "1600x1200", "1280x1024" => "1280x1024", "1152x864" => "1152x864", "1024x768" => "1024x768", "800x600" => "800x600", "640x480" => "640x480", "1680x1050" => "1680x1050", "1600x1024" => "1600x1024", "1440x900" => "1440x900", "1280x854" => "1280x854", "1280x768" => "1280x768", "1024x576" => "1024x576");
    print "          <TD>\n";
    printSelectInput("resolution", $resolutionArray, $data["resolution"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Color Depth:</TH>\n";
    print "          <TD>\n";
    #$colordepth = array("8" => "8", "16" => "16", "24" => "24");
    $colordepth = array("8" => "8", "16" => "16", "24" => "24", "32" => "32 (Vista only)");
    printSelectInput("bpp", $colordepth, $data["bpp"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Audio:</TH>\n";
    print "          <TD>\n";
    $audio = array("none" => "None", "local" => "Use my speakers");
    printSelectInput("audiomode", $audio, $data["audiomode"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Map Local Drives:</TH>\n";
    print "          <TD>\n";
    $yesno = array(1 => "Yes", 0 => "No");
    printSelectInput("mapdrives", $yesno, $data["mapdrives"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Map Local Printers:</TH>\n";
    print "          <TD>\n";
    printSelectInput("mapprinters", $yesno, $data["mapprinters"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "        <TR>\n";
    print "          <TH align=right>Map Local Serial Ports:</TH>\n";
    print "          <TD>\n";
    printSelectInput("mapserial", $yesno, $data["mapserial"]);
    print "          </TD>\n";
    print "          <TD></TD>\n";
    print "        </TR>\n";
    print "      </table>\n";
    $cont = addContinuationsEntry('confirmrdpprefs', array(), SECINDAY, 1, 1, 1);
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <div align=center>\n";
    print "      <INPUT type=submit value=\"Submit Changes\">\n";
    print "      </div>\n";
    print "      </FORM>\n";
    print "      </fieldset>\n";
    print "      <div id=uiprefs class=visible>\n";
    print "      <fieldset>\n";
    print "      <legend>General Preferences</legend>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    $cdata = array();
    if (in_array("userGrant", $user["privileges"])) {
        if ($user['showallgroups']) {
            $selected['affiliation'] = '';
            $selected['allgroups'] = 'checked';
        } else {
            $selected['affiliation'] = 'checked';
            $selected['allgroups'] = '';
        }
        print "      <p>View User Groups:<br>\n";
        print "      <INPUT type=radio id=r1 name=groupview value=affiliation ";
        print "{$selected['affiliation']}><label for=r1>matching my affiliation";
        print "</label><br>\n";
        print "      <INPUT type=radio id=r2 name=groupview value=allgroups ";
        print "{$selected['allgroups']}><label for=r2>from all affiliations";
        print "</label></p>\n";
    } else {
        $cdata['groupview'] = 'affiliation';
    }
    if ($user['emailnotices']) {
        $selected['enabled'] = 'checked';
        $selected['disabled'] = '';
    } else {
        $selected['enabled'] = '';
        $selected['disabled'] = 'checked';
    }
    print "      <p>Send email notifications about reservations:<br>\n";
    print "      <INPUT type=radio id=r3 name=emailnotify value=2 ";
    print "{$selected['enabled']}><label for=r3>Enabled";
    print "</label><br>\n";
    print "      <INPUT type=radio id=r4 name=emailnotify value=1 ";
    print "{$selected['disabled']}><label for=r4>Disabled";
    print "</label></p>\n";
    $cont = addContinuationsEntry('submitgeneralprefs', $cdata, SECINDAY, 1, 0);
    print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "      <INPUT type=submit value=\"Submit General Preferences\">\n";
    print "      </FORM>\n";
    print "      </fieldset>\n";
    print "      </div>\n";
    print "      <div id=viewmode class=visible>\n";
    if ($adminleveldeveloper) {
        print "      <fieldset>\n";
        print "      <legend>View Mode</legend>\n";
        print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
        if ($viewmode == ADMIN_FULL) {
            $selected[ADMIN_NONE] = "";
            $selected[ADMIN_FULL] = "checked";
            $selected[ADMIN_DEVELOPER] = "";
        } elseif ($viewmode == ADMIN_DEVELOPER) {
            $selected[ADMIN_NONE] = "";
            $selected[ADMIN_FULL] = "";
            $selected[ADMIN_DEVELOPER] = "checked";
        } else {
            $selected[ADMIN_NONE] = "checked";
            $selected[ADMIN_FULL] = "";
            $selected[ADMIN_DEVELOPER] = "";
        }
        if ($user["adminlevelid"] != ADMIN_NONE) {
            print "      <p>View site as:<br>\n";
            print "      <INPUT type=radio name=viewmode value=" . ADMIN_NONE . " ";
            print $selected[ADMIN_NONE] . ">Normal User<br>\n";
            if ($user["adminlevel"] == "full" || $user["adminlevel"] == "developer") {
                print "      <INPUT type=radio name=viewmode value=" . ADMIN_FULL . " ";
                print $selected[ADMIN_FULL] . ">Admin Level<br>\n";
            }
            if ($user["adminlevel"] == "developer") {
                print "      <INPUT type=radio name=viewmode value=" . ADMIN_DEVELOPER . " ";
                print $selected[ADMIN_DEVELOPER] . ">Developer Level<br>\n";
            }
            print "      </p>\n";
        }
        print "      View As User: <INPUT type=text name=viewasuser  ";
        if (!array_key_exists('unityid', $data)) {
            print "size=20 value=\"{$user["unityid"]}@{$user['affiliation']}\">\n";
        } else {
            print "size=20 value=\"{$data["unityid"]}@{$data['affiliation']}\">\n";
        }
        printSubmitErr(VIEWASUSERERR);
        print "<br>\n";
        $cont = addContinuationsEntry('submitviewmode', array(), SECINDAY, 1, 0);
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        print "      <INPUT type=submit value=\"Submit View Mode\">\n";
        print "      </FORM>\n";
        print "      </fieldset>\n";
    }
    print "      </div>\n";
    print "    </TD>\n";
    print "  </TR>\n";
    print "</table>\n";
    printUserprefJavascript();
}
Example #10
0
function editOrAddGroup($state)
{
    global $submitErr, $user, $mode, $viewmode;
    $usergroups = getUserGroups(1);
    if ($user['showallgroups']) {
        $affilusergroups = $usergroups;
    } else {
        $affilusergroups = getUserGroups(1, $user['affiliationid']);
    }
    $resourcegroups = getResourceGroups();
    $affils = getAffiliations();
    $resourcetypes = getTypes("resources");
    if ($submitErr) {
        $data = processGroupInput(0);
        $newuser = processInputVar("newuser", ARG_STRING);
        if ($mode == "submitEditGroup") {
            $id = $data["groupid"];
            if ($data["type"] == "resource") {
                list($grouptype, $junk) = explode('/', $resourcegroups[$id]["name"]);
                $ownerid = $resourcegroups[$id]["ownerid"];
            }
        } else {
            if ($data["type"] == "resource") {
                if ($state) {
                    $grouptype = $resourcetypes['resources'][$data['resourcetypeid']];
                } else {
                    list($grouptype, $junk) = explode('/', $resourcegroups[$data['groupid']]["name"]);
                }
                $ownerid = $data["ownergroup"];
            } else {
                $selectAffil = getContinuationVar('selectAffil');
                if (empty($selectAffil) && $user['showallgroups']) {
                    $selectAffil = 1;
                }
            }
        }
    } else {
        $newuser = processInputVar("newuser", ARG_STRING);
        $data["groupid"] = getContinuationVar("groupid");
        $data["type"] = getContinuationVar("type");
        $data["isowner"] = getContinuationVar("isowner");
        $id = $data["groupid"];
        if ($data["type"] == "user") {
            $data["name"] = $usergroups[$id]["name"];
            $data["affiliationid"] = $usergroups[$id]["groupaffiliationid"];
            $data["owner"] = $usergroups[$id]["owner"];
            $data["editgroupid"] = $usergroups[$id]["editgroupid"];
            $data["initialmax"] = $usergroups[$id]["initialmaxtime"];
            $data["totalmax"] = $usergroups[$id]["totalmaxtime"];
            $data["maxextend"] = $usergroups[$id]["maxextendtime"];
            $data["overlap"] = $usergroups[$id]["overlapResCount"];
            $tmp = explode('@', $data['name']);
            $data['name'] = $tmp[0];
            if ($user['showallgroups'] || array_key_exists(1, $tmp) && $tmp[1] != $user['affiliation']) {
                $selectAffil = 1;
            } else {
                $selectAffil = 0;
            }
        } else {
            list($grouptype, $data["name"]) = explode('/', $resourcegroups[$id]["name"]);
            $ownerid = $resourcegroups[$id]["ownerid"];
        }
    }
    $editusergroup = 0;
    if ($data['type'] != 'user') {
        print "<FORM action=\"" . BASEURL . SCRIPT . "#resources\" method=post>\n";
    } else {
        print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    }
    print "<DIV align=center>\n";
    if ($state) {
        if ($data["type"] == "user") {
            print "<H2>Add User Group</H2>\n";
        } else {
            print "<H2>Add Resource Group</H2>\n";
        }
    } else {
        if ($data["type"] == "user") {
            print "<H2>Edit User Group</H2>\n";
            print "{$usergroups[$data['groupid']]['name']}<br>\n";
            $editusergroup = 1;
        } else {
            print "<H2>Edit Resource Group</H2>\n";
        }
    }
    if ($state && $data["type"] == "user" || $data["isowner"] || $data["type"] == "resource") {
        print "<TABLE>\n";
        if ($data["type"] == "resource") {
            print "  <TR>\n";
            print "    <TH align=right>Type:</TH>\n";
            print "    <TD>\n";
            if ($state && $submitErr) {
                $resourcetypeid = $data['resourcetypeid'];
            } else {
                $resourcetypeid = array_search($grouptype, $resourcetypes["resources"]);
            }
            if ($state) {
                printSelectInput("resourcetypeid", $resourcetypes["resources"], $resourcetypeid);
            } else {
                print "      {$grouptype}\n";
            }
            print "    </TD>\n";
            print "    <TD></TD>\n";
            print "  </TR>\n";
        }
        print "  <TR>\n";
        print "    <TH align=right>Name:</TH>\n";
        print "    <TD><INPUT type=text name=name value=\"{$data['name']}\" ";
        print "maxlength=30>";
        if ($data['type'] == 'user' && $selectAffil) {
            print "@";
            printSelectInput('affiliationid', $affils, $data['affiliationid']);
        }
        print "</TD>\n";
        print "    <TD>";
        printSubmitErr(GRPNAMEERR);
        print "</TD>\n";
        print "  </TR>\n";
        if ($data["type"] == "user") {
            print "  <TR>\n";
            print "    <TH align=right>Owner:</TH>\n";
            print "    <TD><INPUT type=text name=owner value=\"" . $data["owner"];
            print "\"></TD>\n";
            print "    <TD>";
            printSubmitErr(GRPOWNER);
            print "</TD>\n";
            print "  </TR>\n";
            print "  <TR>\n";
            print "    <TH align=right>Editable by:</TH>\n";
            print "    <TD>\n";
            if (!empty($data['editgroupid']) && !array_key_exists($data['editgroupid'], $affilusergroups)) {
                $affilusergroups[$data['editgroupid']] = array('name' => getUserGroupName($data['editgroupid'], 1));
                uasort($affilusergroups, "sortKeepIndex");
            }
            printSelectInput("editgroupid", $affilusergroups, $data["editgroupid"]);
            print "    </TD>\n";
            print "    <TD></TD>";
            print "  </TR>\n";
            print "  <TR>\n";
            print "    <TH align=right>Initial Max Time (minutes):</TH>\n";
            print "    <TD><INPUT type=text name=initialmax value=\"";
            print $data["initialmax"] . "\" maxlength=4></TD>\n";
            print "    <TD>";
            printSubmitErr(INITIALMAXERR);
            print "</TD>\n";
            print "  </TR>\n";
            print "  <TR>\n";
            print "    <TH align=right>Total Max Time (minutes):</TH>\n";
            print "    <TD><INPUT type=text name=totalmax value=\"";
            print $data["totalmax"] . "\" maxlength=4></TD>\n";
            print "    <TD>";
            printSubmitErr(TOTALMAXERR);
            print "</TD>\n";
            print "  </TR>\n";
            print "  <TR>\n";
            print "    <TH align=right>Max Extend Time (minutes):</TH>\n";
            print "    <TD><INPUT type=text name=maxextend value=\"";
            print $data["maxextend"] . "\" maxlength=4></TD>\n";
            print "    <TD>";
            printSubmitErr(MAXEXTENDERR);
            print "</TD>\n";
            print "  </TR>\n";
            if ($viewmode == ADMIN_DEVELOPER) {
                print "  <TR>\n";
                print "    <TH align=right>Max Overlapping Reservations:</TH>\n";
                print "    <TD><INPUT type=text name=overlap value=\"";
                print $data["overlap"] . "\" maxlength=4></TD>\n";
                print "    <TD>";
                printSubmitErr(MAXOVERLAPERR);
                print "</TD>\n";
                print "  </TR>\n";
            }
        } else {
            print "  <TR>\n";
            print "    <TH align=right>Owning User Group:</TH>\n";
            print "    <TD>\n";
            if (!array_key_exists($ownerid, $affilusergroups)) {
                $affilusergroups[$ownerid] = $usergroups[$ownerid];
                uasort($affilusergroups, "sortKeepIndex");
            }
            printSelectInput("ownergroup", $affilusergroups, $ownerid);
            print "    </TD>\n";
            print "    <TD></TD>\n";
            print "  </TR>\n";
        }
        print "</TABLE>\n";
        print "<TABLE>\n";
        print "  <TR valign=top>\n";
        print "    <TD>\n";
        if ($state) {
            $cdata = array('type' => $data['type'], 'isowner' => $data['isowner']);
            $cont = addContinuationsEntry('submitAddGroup', $cdata);
            print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "      <INPUT type=submit value=\"Add Group\">\n";
        } else {
            $cdata = array('type' => $data['type'], 'groupid' => $data['groupid'], 'isowner' => $data['isowner']);
            if ($data['type'] == 'resource') {
                $cdata['resourcetypeid'] = $resourcetypeid;
            } else {
                $cdata['selectAffil'] = $selectAffil;
            }
            $cont = addContinuationsEntry('confirmEditGroup', $cdata);
            print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "      <INPUT type=submit value=\"Confirm Changes\">\n";
        }
        print "      </FORM>\n";
        print "    </TD>\n";
        print "    <TD>\n";
        print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
        print "      <INPUT type=hidden name=mode value=viewGroups>\n";
        print "      <INPUT type=submit value=Cancel>\n";
        print "      </FORM>\n";
        print "    </TD>\n";
        print "  </TR>\n";
        print "</TABLE>\n";
    }
    if ($data["type"] != "user") {
        return;
    }
    if ($editusergroup) {
        print "<H3>Group Membership</H3>\n";
        if ($mode == "addGroupUser" && !($submitErr & IDNAMEERR)) {
            print "<font color=\"#008000\">{$newuser} successfully added to group";
            print "</font><br><br>\n";
        }
        if ($mode == "deleteGroupUser") {
            print "<font color=\"#008000\">{$newuser} successfully deleted from ";
            print "group</font><br><br>\n";
        }
        $groupmembers = getUserGroupMembers($data["groupid"]);
        print "<TABLE border=1>\n";
        print "  <TR>\n";
        print "  <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
        print "    <TD align=right><INPUT type=submit value=Add></TD>\n";
        print "    <TD><INPUT type=text name=newuser maxlength=80 size=40 ";
        if ($submitErr & IDNAMEERR) {
            print "value=\"{$newuser}\"></TD>\n";
        } else {
            print "></TD>\n";
        }
        if ($submitErr) {
            print "    <TD>\n";
            printSubmitErr(IDNAMEERR);
            print "    </TD>\n";
        }
        $cont = addContinuationsEntry('addGroupUser', $data);
        print "  <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        print "  </FORM>\n";
        print "  </TR>\n";
        foreach ($groupmembers as $id => $login) {
            print "  <TR>\n";
            print "    <TD>\n";
            print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
            print "      <INPUT type=submit value=Delete>\n";
            $data['userid'] = $id;
            $data['newuser'] = $login;
            $cont = addContinuationsEntry('deleteGroupUser', $data);
            print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
            print "      </FORM>\n";
            print "    </TD>\n";
            print "    <TD>{$login}</TD>\n";
            print "  </TR>\n";
        }
        print "</TABLE>\n";
    }
}
Example #11
0
function editOrAddSchedule($state)
{
    global $submitErr, $mode, $submitErrMsg;
    $schedules = getSchedules();
    $days = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
    $newcont = 0;
    if ($submitErr || $mode == "submitScheduleTime" || $mode == "submitAddSchedule") {
        $data = processScheduleInput(0);
        $newcont = 1;
        # continuation to get here was deleted; so, we'll need to set
        #   deletefromself true this time
    } else {
        $data["scheduleid"] = getContinuationVar("scheduleid");
        $id = $data["scheduleid"];
        $data["name"] = $schedules[$id]["name"];
        $data["owner"] = $schedules[$id]["owner"];
        $data["submode"] = processInputVar("submode", ARG_STRING);
    }
    $schedules = getSchedules();
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "<DIV align=center>\n";
    if ($state) {
        print "<H2>Add Schedule</H2>\n";
    } else {
        print "<H2>Edit Schedule</H2>\n";
    }
    if ($mode == "submitAddSchedule") {
        print "<font color=\"#008000\">Schedule successfully added";
        print "</font><br><br>\n";
        print "Now you must add start and end times for the schedule<br>\n";
    }
    print "<TABLE>\n";
    print "  <TR>\n";
    print "    <TH align=right>Name:</TH>\n";
    print "    <TD><INPUT type=text name=name value=\"" . $data["name"] . "\" ";
    print "maxlength=25></TD>\n";
    print "    <TD>";
    if ($mode == "confirmAddSchedule" || $mode == "confirmEditSchedule") {
        printSubmitErr(SCHNAMEERR);
    }
    print "</TD>\n";
    print "  </TR>\n";
    print "  <TR>\n";
    print "    <TH align=right>Owner:</TH>\n";
    print "    <TD><INPUT type=text name=owner value=\"";
    print $data["owner"] . "\"></TD>\n";
    print "    <TD>";
    if ($mode == "confirmAddSchedule" || $mode == "confirmEditSchedule") {
        printSubmitErr(SCHOWNERERR);
    }
    print "</TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    print "<TABLE>\n";
    print "  <TR valign=top>\n";
    print "    <TD>\n";
    if ($state) {
        $cont = addContinuationsEntry('confirmAddSchedule', array(), SECINDAY, 0, 1, 1);
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        print "      <INPUT type=submit value=\"Confirm Schedule\">\n";
    } else {
        $cdata = array('scheduleid' => $data['scheduleid']);
        if ($newcont) {
            $cont = addContinuationsEntry('confirmEditSchedule', $cdata);
        } else {
            $cont = addContinuationsEntry('confirmEditSchedule', $cdata, SECINDAY, 0, 1, 1);
        }
        print "      <INPUT type=hidden name=continuation value=\"{$cont}\">\n";
        print "      <INPUT type=submit value=\"Confirm Changes\">\n";
    }
    print "      </FORM>\n";
    print "    </TD>\n";
    print "    <TD>\n";
    print "      <FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "      <INPUT type=hidden name=mode value=viewSchedules>\n";
    print "      <INPUT type=submit value=Cancel>\n";
    print "      </FORM>\n";
    print "    </TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    if ($state) {
        return;
    }
    print "The start and end day/times are based on a week's time period with ";
    print "the start/end point being 'Sunday 12:00&nbsp;am'. i.e. The earliest ";
    print "start day/time is 'Sunday 12:00&nbsp;am' and the latest end day/";
    print "time is 'Sunday 12:00&nbsp;am'<br><br>\n";
    if (!$submitErr && $mode == "submitScheduleTime" && $data["submode"] == "Save changes") {
        print "<font color=green>Changes saved</font><br>\n";
    }
    printSubmitErr(OVERLAPERR);
    print "<FORM action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "<TABLE>\n";
    print "  <TR>\n";
    print "    <TD></TD>\n";
    print "    <TH>Start</TH>\n";
    print "    <TD></TD>\n";
    print "    <TH>End</TH>\n";
    print "    <TD></TD>\n";
    print "  </TR>\n";
    $addrow = 0;
    if ($mode == "submitScheduleTime") {
        $addrow = 1;
    }
    print "<TR><TD colspan=5>";
    print "</TD></TR>\n";
    $doaddrow = 0;
    if ($mode == "submitScheduleTime") {
        if ($data["selrow"] == "") {
            $end = $data["count"];
        } elseif ($data["submode"] == "Insert before selected row") {
            $doaddrow = 1;
            $addrow = $data["selrow"];
            $end = $data["count"] + 1;
        } elseif ($data["submode"] == "Insert after selected row") {
            $doaddrow = 1;
            $addrow = $data["selrow"] + 1;
            $end = $data["count"] + 1;
        } else {
            $end = $data["count"];
        }
    } else {
        $end = count($schedules[$data["scheduleid"]]["times"]);
    }
    if ($end == 0) {
        $doaddrow = 1;
        $addrow = 0;
        $end = 1;
    }
    reset($schedules[$data["scheduleid"]]["times"]);
    $index = 0;
    for ($count = 0; $count < $end; $count++) {
        // if mode == submitScheduleTime, print submitted times
        if ($mode == "submitScheduleTime") {
            if ($doaddrow && $count == $addrow) {
                $startday = "";
                $starttime = "";
                $endday = "";
                $endtime = "";
                $doaddrow = 0;
                $index--;
            } else {
                $startday = $data["startDay"][$index];
                $starttime = $data["startTime"][$index];
                $endday = $data["endDay"][$index];
                $endtime = $data["endTime"][$index];
            }
            print "  <TR>\n";
            print "    <TD align=right><INPUT type=radio name=selrow value={$count}></TD>\n";
            printStartEndTimeForm2($startday, $starttime, $count, "start");
            print "    <TD>&nbsp;&nbsp;</TD>\n";
            printStartEndTimeForm2($endday, $endtime, $count, "end");
        } else {
            $time = current($schedules[$data["scheduleid"]]["times"]);
            print "  <TR>\n";
            print "    <TD align=right><INPUT type=radio name=selrow value={$count}></TD>\n";
            printStartEndTimeForm($time["start"], $count, "start");
            print "    <TD>&nbsp;&nbsp;</TD>\n";
            printStartEndTimeForm($time["end"], $count, "end");
            next($schedules[$data["scheduleid"]]["times"]);
        }
        print "    <TD width=70>";
        if ($data["submode"] == "Save changes") {
            printSubmitErr(1 << $count);
        }
        print "</TD>";
        print "  </TR>\n";
        $index++;
    }
    $colspan = 5;
    print "  <TR>\n";
    print "    <TD align=center colspan={$colspan}><INPUT type=submit name=submode value=\"Delete selected row\"></TD>\n";
    print "  <TR>\n";
    print "  </TR>\n";
    print "    <TD align=center colspan={$colspan}><INPUT type=submit name=submode value=\"Insert before selected row\"></TD>\n";
    print "  <TR>\n";
    print "  </TR>\n";
    print "    <TD align=center colspan={$colspan}><INPUT type=submit name=submode value=\"Insert after selected row\"></TD>\n";
    print "  <TR>\n";
    print "  </TR>\n";
    print "    <TD align=center colspan={$colspan}><INPUT type=submit name=submode value=\"Save changes\"></TD>\n";
    print "  </TR>\n";
    print "</TABLE>\n";
    $cdata = array('scheduleid' => $data['scheduleid'], 'count' => $count, 'name' => $data['name'], 'owner' => $data['owner']);
    if ($newcont) {
        $cont = addContinuationsEntry('submitScheduleTime', $cdata, SECINDAY, 1, 0);
    } else {
        $cont = addContinuationsEntry('submitScheduleTime', $cdata, SECINDAY, 0, 0);
    }
    print "<INPUT type=hidden name=continuation value=\"{$cont}\">\n";
    print "</FORM>\n";
}
Example #12
0
function generateDhcpForm($data)
{
    global $submitErr;
    $mnipaddr = processInputVar('mnipaddr', ARG_STRING, "");
    print "<div>\n";
    print "<h3>Generate Data for dhcpd.conf File (Optional)</h3>\n";
    print "<form action=\"" . BASEURL . SCRIPT . "\" method=post>\n";
    print "Enter the private address for the management node<br>";
    print "on which the data will be used:<br>\n";
    print "<INPUT type=text name=mnipaddr value=\"{$mnipaddr}\" maxlength=15>\n";
    printSubmitErr(IPADDRERR);
    print "<br>\n";
    print "<input type=submit value=\"Download Data\">\n";
    $cont = addContinuationsEntry('generateDHCP', $data, SECINDAY, 1, 0);
    print "<input type=hidden name=continuation value=\"{$cont}\">\n";
    print "</form>\n";
    print "</div>\n";
}