コード例 #1
0
ファイル: changeuid.php プロジェクト: mahyuddin/emulab-stable
function SPITFORM($target_user, $new_uid, $error)
{
    global $TBDB_UIDLEN;
    $target_uid = $target_user->uid();
    $target_webid = $target_user->webid();
    $new_uid = CleanString($new_uid);
    #
    # Standard Testbed Header.
    #
    PAGEHEADER("Change login UID for user");
    if ($error) {
        # XSS prevention.
        $error = CleanString($error);
        echo "<center>\n              <font size=+1 color=red>{$error}</font>\n              </center><br>\n";
    } else {
        echo "<center>\n              <font size=+1>\n              Please enter the new UID for user '{$target_uid}'<br><br>\n              </font>\n              </center>\n";
    }
    echo "<table align=center border=1>\n          <form action=changeuid.php method=post>\n          <tr>\n              <td>New UID:</td>\n              <td><input type=text\n                         name=\"new_uid\"\n                         value=\"{$new_uid}\"\n\t                 size={$TBDB_UIDLEN}\n\t                 maxlength={$TBDB_UIDLEN}></td>\n          </tr>\n          <tr>\n             <td align=center colspan=2>\n                 <b><input type=submit value=\"Change UID\"\n                           name=submit></b>\n             </td>\n          </tr>\n\t  <input type=hidden name=user value={$target_webid}>\n          </form>\n          </table>\n";
    echo "<br><br>\n";
    echo "<center>\n";
    $target_user->Show();
    echo "</center>\n";
    PAGEFOOTER();
    return;
}
コード例 #2
0
#
include "defs.php3";
#
# Only known and logged in users can do this.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$isadmin = ISADMIN();
#
# Verify page arguments
#
$optargs = OptionalPageArguments("sortby", PAGEARG_STRING);
#
# Standard Testbed Header
#
PAGEHEADER("Emulab Site List");
if (!($isadmin || OPSGUY() || STUDLY())) {
    USERERROR("Cannot view site list.", 1);
}
if (!isset($sortby)) {
    $sortby = "created";
}
$sortclause = "";
if ($sortby == "created") {
    $sortclause = "order by created";
} elseif ($sortby == "urn") {
    $sortclause = "order by urn";
} elseif ($sortby == "commonname") {
    $sortclause = "order by commonname";
} elseif ($sortby == "buildinfo") {
    $sortclause = "order by buildinfo";
コード例 #3
0
function SPITFORM($formfields, $errors)
{
    global $TBDB_PIDLEN, $TBDB_GIDLEN, $TBDB_EIDLEN, $TBDOCBASE;
    global $projlist;
    global $TBVALIDDIRS_HTML;
    global $WIKIDOCURL;
    PAGEHEADER("Create an Experiment Template");
    if ($errors) {
        echo "<table class=nogrid\n                     align=center border=0 cellpadding=6 cellspacing=0>\n              <tr>\n                 <th align=center colspan=2>\n                   <font size=+1 color=red>\n                      &nbsp;Oops, please fix the following errors!&nbsp;\n                   </font>\n                 </td>\n              </tr>\n";
        while (list($name, $message) = each($errors)) {
            # XSS prevention.
            $message = CleanString($message);
            echo "<tr>\n                     <td align=right>\n                       <font color=red>{$name}:&nbsp;</font></td>\n                     <td align=left>\n                       <font color=red>{$message}</font></td>\n                  </tr>\n";
        }
        echo "</table><br>\n";
    }
    # XSS prevention.
    while (list($key, $val) = each($formfields)) {
        $formfields[$key] = CleanString($val);
    }
    echo "<form enctype=multipart/form-data\n                action=template_create.php method=post>\n";
    echo "<table align=center border=1>\n";
    #
    # Select Project
    #
    echo "<tr>\n\t  <td class='pad4'>Select Project:</td>\n\t  <td class='pad4'><select name=\"formfields[pid]\">\n";
    # If just one project, make sure just the one option.
    if (count($projlist) != 1) {
        echo "<option value=''>Please Select &nbsp</option>\n";
    }
    while (list($project) = each($projlist)) {
        $selected = "";
        if (strcmp($formfields["pid"], $project) == 0) {
            $selected = "selected";
        }
        echo "        <option {$selected} value=\"{$project}\">\n\t\t\t     {$project} </option>\n";
    }
    echo "       </select>";
    echo "    </td>\n\t  </tr>\n";
    #
    # Select a group
    #
    echo "<tr>\n\t      <td class='pad4'>Group:</td>\n\t      <td class='pad4'><select name=\"formfields[gid]\">\n\t          <option value=''>Default Group </option>\n";
    reset($projlist);
    while (list($project, $grouplist) = each($projlist)) {
        for ($i = 0; $i < count($grouplist); $i++) {
            $group = $grouplist[$i];
            if (strcmp($project, $group)) {
                $selected = "";
                if (isset($formfields["gid"]) && isset($formfields["pid"]) && strcmp($formfields["pid"], $project) == 0 && strcmp($formfields["gid"], $group) == 0) {
                    $selected = "selected";
                }
                echo "<option {$selected} value=\"{$group}\">\n\t\t\t   {$project}/{$group}</option>\n";
            }
        }
    }
    echo "     </select>\n\t   <font size=-1>(Must be default or correspond to selected project)\n\t   </font>\n\t  </td>\n\t </tr>\n";
    #
    # TID:
    #
    echo "<tr>\n              <td class='pad4'>Template ID:\n              <br><font size='-1'>(alphanumeric, no blanks)</font></td>\n              <td class='pad4' class=left>\n                  <input type=text\n                         name=\"formfields[tid]\"\n                         value=\"" . $formfields["tid"] . "\"\n\t                 size={$TBDB_EIDLEN}\n                         maxlength={$TBDB_EIDLEN}>\n              </td>\n          </tr>\n";
    #
    # NS file
    #
    if (isset($formfields["nsref"])) {
        $nsref = $formfields["nsref"];
        if (isset($formfields["guid"])) {
            $guid = $formfields["guid"];
            echo "<tr>\n                  <td class='pad4'>Your auto-generated NS file: &nbsp</td>\n                      <input type=hidden name=\"formfields[nsref]\"\n                             value={$nsref}>\n                      <input type=hidden name=\"formfields[guid]\"\n                             value={$guid}>\n                  <td class='pad4'>\n                      <a target=_blank\n                             href=\"spitnsdata.php3?nsref={$nsref}&guid={$guid}\">\n                      View NS File</a></td>\n                  </tr>\n";
        } else {
            echo "<tr>\n                   <td class='pad4'>Your auto-generated NS file: &nbsp</td>\n                       <input type=hidden name=\"formfields[nsref]\"\n                              value={$nsref}>\n                   <td class='pad4'>\n                       <a target=_blank href=spitnsdata.php3?nsref={$nsref}>\n                       View NS File</a></td>\n                 </tr>\n";
        }
    } else {
        echo "<tr>\n                  <td class='pad4'>Your NS file: </td>\n                  <td><table cellspacing=0 cellpadding=0 border=0>\n                    <tr>\n                      <td class='pad4'>Upload<br>\n\t\t\t<font size='-1'>(500k&nbsp;max)</font></td>\n                      <td class='pad4'>\n                        <input type=hidden name=MAX_FILE_SIZE value=512000>\n\t                <input type=file\n                               name=nsfile\n                               value=\"" . $formfields["nsfile"] . "\"\n\t                       size=30>\n                      </td>\n                    </tr><tr>\n                    <td>&nbsp;&nbsp;<b>or</b></td><td></td>\n                    </tr><tr>\n                      <td class='pad4'>On Server<br>\n                              <font size='-1'>({$TBVALIDDIRS_HTML})</font></td>\n                      <td class='pad4'>\n\t                <input type=text\n                               name=\"formfields[localnsfile]\"\n                               value=\"" . $formfields["localnsfile"] . "\"\n\t                       size=40>\n                      </td>\n                     </tr>\n                     </table>\n                   </td>\n               </tr>\n";
    }
    echo "<tr>\n              <td colspan=2>\n               Use this text area to describe your template:\n              </td>\n          </tr>\n          <tr>\n              <td colspan=2 align=center class=left>\n                  <textarea name=\"formfields[description]\"\n                    rows=10 cols=80>" . str_replace("\r", "", $formfields["description"]) . "</textarea>\n              </td>\n          </tr>\n";
    echo "<tr>\n              <td class='pad4' align=center colspan=2>\n                <b><input type=submit name=create value='Create Template'></b>\n              </td>\n         </tr>\n        </form>\n        </table>\n";
    echo "<blockquote><blockquote>\n          <ol>\n            <li> Please read this\n                <a href='{$WIKIDOCURL}/kb112'>KB entry</a>\n                to see what NS extensions are available for templates.\n          </ol>\n          </blockquote></blockquote>\n";
}
コード例 #4
0
if (!$instance->ValidRun($runidx)) {
    USERERROR("The run {$runidx} is not a valid experiment run!", 1);
}
#
# For the Sajax Interface
#
function ModifyAnno($newtext)
{
    global $this_user, $template, $instance, $runidx;
    $instance->SetRunAnnotation($this_user, $runidx, $newtext);
    return 0;
}
#
# See if this request is to the above function. Does not return
# if it is. Otherwise return and continue on.
#
sajax_handle_client_request();
#
# Standard Testbed Header after argument checking.
#
PAGEHEADER("Experiment Run");
echo "<script type='text/javascript' language='javascript'>\n";
sajax_show_javascript();
echo "</script>\n";
echo $instance->RunPageHeader($runidx);
echo "<br><br>\n";
$instance->ShowRun($runidx);
#
# Standard Testbed Footer
#
PAGEFOOTER();
コード例 #5
0
if (isset($query) && $query != $defaultsearchstring) {
    $showtypes[] = "cm";
} elseif (!isset($showtype)) {
    $showtypes[] = "cm";
    $showtypes[] = "sa";
    $showtypes[] = "ch";
} else {
    if (!($showtype == "sa" || $showtype == "cm" || $showtype == "ch")) {
        USERERROR("Improper argument: showtype={$showtype}", 1);
    }
    $showtypes[] = $showtype;
}
#
# Standard Testbed Header
#
PAGEHEADER("Geni Slice List");
if (!($isadmin || STUDLY())) {
    USERERROR("You do not have permission to view Geni slice list!", 1);
}
#
# Search box for CM only.
#
if (isset($query) && $query != $defaultsearchstring) {
    $searchstring = $query;
} else {
    $searchstring = $defaultsearchstring;
}
echo "<center>";
echo "<table class=stealth>\n";
echo "<tr>";
echo "<td class=stealth>";
コード例 #6
0
ファイル: submitpub.php プロジェクト: mahyuddin/emulab-stable
$uid_idx = $this_user->uid_idx();
$isadmin = ISADMIN();
#
# Verify feature is enabled
#
if (!$PUBSUPPORT) {
    USERERROR("Publication support not enabled.");
}
#
# Verify page arguments.
#
$optargs = OptionalPageArguments("submit", PAGEARG_STRING, "idx", PAGEARG_INTEGER, "formfields", PAGEARG_ARRAY);
#
# Standard Testbed Header
#
PAGEHEADER("Submit Publication");
$also_required = array();
$also_required['article'] = array('conf', 'month');
$typelist = array('article', 'phd thesis', 'masters thesis', 'bachelors thesis', 'techreport', 'unpublished', 'talk', 'software', 'service');
$submit_url = isset($idx) ? CreateURL("submitpub", 'idx', $idx) : CreateURL("submitpub");
#
# Make Month List
#
$monthlist = array();
$query_result = DBQueryFatal("select * from emulab_pubs_month_map order by display_order");
while ($r = mysql_fetch_array($query_result)) {
    $monthlist[$r['month']] = $r['month_name'];
}
#
# Make Project List
#
コード例 #7
0
ファイル: copyright.php プロジェクト: mahyuddin/emulab-stable
#
# }}}
#
require "defs.php3";
#
# Verify page arguments.
#
$optargs = OptionalPageArguments("printable", PAGEARG_BOOLEAN);
if (!isset($printable)) {
    $printable = 0;
}
#
# Standard Testbed Header
#
if (!$printable) {
    PAGEHEADER("Emulab Copyright Notice");
}
if ($printable) {
    #
    # Need to spit out some header stuff.
    #
    echo "<html>\n          <head>\n          <title>Copyright Notice</title>\n  \t  <link rel='stylesheet' href='tbstyle-plain.css' type='text/css'>\n          </head>\n          <body>\n";
} else {
    echo "<b><a href='copyright.php?printable=1'>\n              Printable version of this document</a></b><br>\n";
    echo "<p><center><b>Copyright Notice</b></center><br>\n";
}
#
# Allow for a site specific copyright
#
$sitefile = "copyright-local.html";
if (!file_exists($sitefile)) {
コード例 #8
0
# Verify Page Arguments.
#
$optargs = OptionalPageArguments("searchfor", PAGEARG_STRING, "search", PAGEARG_STRING, "slice_uuid", PAGEARG_STRING, "ch", PAGEARG_BOOLEAN, "index", PAGEARG_INTEGER);
if (!isset($index)) {
    $index = 0;
}
if (!isset($searchfor)) {
    $searchfor = $searchbox;
}
if (!isset($ch)) {
    $ch = 0;
}
#
# Standard Testbed Header
#
PAGEHEADER("Geni History");
if (!($isadmin || STUDLY())) {
    USERERROR("You do not have permission to view Geni slice list!", 1);
}
#
# Spit out a search form
#
echo "<br>";
echo "<form action=genihistory.php method=post>\n      <b>Search:</b> \n      <input type=text\n             name=searchfor\n             size=50\n             value=\"{$searchfor}\"";
if ($searchfor == $searchbox) {
    echo "   onfocus='focus_text(this, \"{$searchfor}\")'\n             onblur='blur_text(this, \"{$searchfor}\")'";
}
echo " />\n      <b><input type=submit name=search value=Go></b> ";
if ($ISCLRHOUSE) {
    echo "<input type=checkbox name=ch value=1 " . ($ch ? "checked" : "") . "> Search CH";
}
コード例 #9
0
ファイル: beginexp.php プロジェクト: mahyuddin/emulab-stable
    } else {
        $thensfile = "/tmp/{$uid}-{$nsref}.nsfile";
    }
    if (!file_exists($thensfile)) {
        $errors["NS File"] = "Temp file no longer exists on server";
        EXPERROR();
    }
    $deletensfile = 1;
} elseif ($nsfilelocale == "upload") {
    $thensfile = $_FILES['exp_nsfile']['tmp_name'];
    chmod($thensfile, 0666);
} else {
    $nonsfile = 1;
}
# Okay, we can spit back a header now that there is no worry of redirect.
PAGEHEADER("Begin a Testbed Experiment");
#
# Convert other arguments to script parameters.
#
$exp_swappable = "";
# Experiments are swappable by default; supply reason if noswap requested.
if ($formfields["exp_swappable"] == "0") {
    $exp_swappable .= " -S " . escapeshellarg($formfields["exp_noswap_reason"]);
}
if ($formfields["exp_autoswap"] == "1") {
    $exp_swappable .= " -a " . 60 * $formfields["exp_autoswap_timeout"];
}
# Experiments are idle swapped by default; supply reason if noidleswap requested.
if ($formfields["exp_idleswap"] == "1") {
    $exp_swappable .= " -l " . 60 * $formfields["exp_idleswap_timeout"];
} else {
コード例 #10
0
# License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
#
# }}}
#
include "defs.php3";
include "form_defs.php";
#
# Only known and logged in users.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$optargs = OptionalPageArguments("submit", PAGEARG_STRING, "formfields", PAGEARG_ARRAY);
PAGEHEADER("Silly Forms example");
# The form attributes:
$form = array('#id' => 'form1', '#caption' => 'My Form', '#enctype' => 'multipart/form-data', '#action' => 'form_example.php');
# A set of form fields.
$fields = array();
# Text field.
$fields['slot1'] = array('#type' => 'textfield', '#label' => 'Slot1', '#value' => 'Hello World', '#size' => 60, '#maxlength' => 64, '#description' => 'Alphanumeric, No Blanks');
# Password
$fields['slot2'] = array('#type' => 'password', '#label' => 'Password', '#required' => TRUE, '#footnote' => 'This is a footnote', '#size' => 8);
#
# File Upload. You must set '#enctype' in the form array above.
#
# Files are special cause PHP puts all the stuff into the $_FILES
# superglobal. So, there is nothing in $formfields for them. For
# doing the validation, easiest to define a local function.
#
コード例 #11
0
    # print data
    while ($row = mysql_fetch_array($qres)) {
        echo $row[$resource];
        foreach ($fields[$resource] as $f => $finfo) {
            echo "\t" . $row[$f] . "";
        }
        echo "\n";
    }
    return;
}
#
# Standard Testbed Header (do this after checking getdata so we do not spit
# headers if getdata=1 -- of course, if any args are bad, the error msgs will
# be screwed up!)
#
PAGEHEADER("Resource Usage Visualization");
#
# Pull in some style sheets.
#
echo "<link type=text/css rel=stylesheet href={$TBBASE}/rusage_viz.css />\n";
if (!$isadmin) {
    USERERROR("You do not have permission to view the resource usage viz!", 1);
}
#
# Dump some Emulab auth vars for the xmlhttprequests
#
$auth = $HTTP_COOKIE_VARS[$TBAUTHCOOKIE];
echo "<script language=javascript type=text/javascript>\n";
echo "var tbuid = \"{$uid}\";\n";
echo "var tbauth = \"{$auth}\";\n";
#
コード例 #12
0
    }
    echo "<form action='{$url}' method=post>\n";
    echo "<br>\n";
    echo "<b><input type=submit name=confirmed value=Confirm></b>\n";
    echo "<b><input type=submit name=canceled value=Cancel></b>\n";
    echo "<input type=hidden name=referrer value={$referrer}>\n";
    echo "</form>\n";
    echo "</center>\n";
    PAGEFOOTER();
    return;
}
#
# Avoid SIGPROF in child.
#
set_time_limit(0);
PAGEHEADER("Reconstitute");
echo $template->PageHeader();
echo "<br><br>\n";
echo "<script type='text/javascript' src='template_sup.js'>\n";
echo "</script>\n";
STARTBUSY("Starting Database Reconstitution");
sleep(1);
#
# Run the backend script
#
$retval = SUEXEC($uid, "{$unix_pid},{$unix_gid}", "webtemplate_analyze -i {$exptidx} {$guid}/{$vers}", SUEXEC_ACTION_IGNORE);
/* Clear the 'loading' indicators above */
if ($retval) {
    CLEARBUSY();
} else {
    STOPBUSY();
コード例 #13
0
if (isset($spew) && $spew) {
    $spew = 1;
} else {
    $spew = 0;
}
if (isset($overwrite) && $overwrite) {
    $overwrite = 1;
} else {
    $overwrite = 0;
}
#
# Avoid SIGPROF in child.
#
set_time_limit(0);
if (!$spew) {
    PAGEHEADER("Template Export");
    echo $template->PageHeader();
    echo "<br><br>\n";
    echo "<script type='text/javascript' language='javascript' " . "        src='template_sup.js'>\n";
    echo "</script>\n";
    STARTBUSY("Starting export");
    sleep(1);
}
#
# A cleanup function to keep the child from becoming a zombie, since
# the script is terminated, but the children are left to roam.
#
$fp = 0;
function SPEWCLEANUP()
{
    global $fp;
コード例 #14
0
# Only known and logged in users can do this.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$isadmin = ISADMIN();
if (!$isadmin && !STUDLY()) {
    USERERROR("You are not allowed to view this page!", 1);
}
#
# Verify page arguments.
#
$optargs = OptionalPageArguments("type", PAGEARG_STRING);
#
# Standard Testbed Header
#
PAGEHEADER("Node Control Center");
$query_result = DBQueryFatal("select n.inception,util.*, " . "  UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(n.inception) as age " . "  from node_utilization as util " . "left join nodes as n on n.node_id=util.node_id " . "left join node_types as t on t.type=n.type " . "where n.inception is not null and t.class='pc' and " . "      role='testnode'" . "order BY priority");
if (mysql_num_rows($query_result) == 0) {
    echo "<center>Oops, no nodes to show you!</center>";
    PAGEFOOTER();
    exit;
}
echo "<center>\n      <table id='nodetable' align=center cellpadding=2 border=1>\n      <thead class='sort'>\n        <tr>\n         <th>Node ID</th>\n         <th>Inception Date</th>\n         <th align=center>Age<br>(seconds)</th>\n         <th align=center>Free<br>(seconds)</th>\n         <th align=center>Free<br>(percent)</th>\n         <th align=center>Alloc<br>(seconds)</th>\n         <th align=center>Alloc<br>(percent)</th>\n         <th align=center>Down<br>(seconds)</th>\n         <th align=center>Down<br>(percent)</th>\n        </tr>\n      </thead>\n";
while ($row = mysql_fetch_array($query_result)) {
    $node_id = $row["node_id"];
    $inception = $row["inception"];
    $age = $row["age"];
    $alloctime = $row["allocated"];
    $downtime = $row["down"];
    $freetime = $age - ($alloctime + $downtime);
    $allocpercent = sprintf("%.3f", $alloctime / $age * 100);
コード例 #15
0
    sleep(1);
    PAGEERROR("Invalid peer login request");
}
# Delete the entry so it cannot be reused, even on failure.
DBQueryFatal("delete from login " . "where uid='{$target_uid}' and hashhash='{$safe_key}'");
#
# Now do the login, which can still fail.
#
$dologin_status = DOLOGIN($user->uid(), "", 0, 1);
if ($dologin_status == DOLOGIN_STATUS_WEBFREEZE) {
    # Short delay.
    sleep(1);
    PAGEHEADER("Login");
    echo "<h3>\n              Your account has been frozen due to earlier login attempt\n              failures. You must contact {$TBMAILADDR} to have your account\n              restored. <br> <br>\n              Please do not attempt to login again; it will not work!\n              </h3>\n";
    PAGEFOOTER();
    die("");
} else {
    if ($dologin_status != DOLOGIN_STATUS_OKAY) {
        # Short delay.
        sleep(1);
        PAGEHEADER("Login");
        echo "<h3>Peer login failed. Please contact {$TBMAILADDR}</h3>\n";
        PAGEFOOTER();
        die("");
    } else {
        #
        # Zap back to front page in secure mode.
        #
        header("Location: {$TBBASE}/showuser.php3?user={$target_uid}");
    }
}
コード例 #16
0
ファイル: usermap.php プロジェクト: mahyuddin/emulab-stable
function draw_usermap($type)
{
    global $GMAP_API_KEY, $USERMAP_JSONFILE, $USERMAP_TYPE_FULLSCREEN, $USERMAP_TYPE_EMBED, $USERMAP_TYPE_NORMAL, $USERMAP_LOC, $THISHOMEBASE, $USERMAP_SCRIPTHEADERS, $TBBASE;
    if ($GMAP_API_KEY == "") {
        if ($type == $USERMAP_TYPE_EMBED) {
            echo "<p><b>Google Map API key not set</b></p>";
        } else {
            PAGEERROR("Google Map API key not set");
        }
    }
    if (!file_exists($USERMAP_JSONFILE)) {
        if ($type == $USERMAP_TYPE_EMBED) {
            echo "<p><b>JSON data source not created</b></p>";
        } else {
            PAGEERROR("JSON data source not created");
        }
    }
    #
    # If in fullscreen mode, we don't emit the standard header, just emit the
    # HTML ourselves
    #
    if ($type == $USERMAP_TYPE_FULLSCREEN) {
        $divstyle = "width: 100%; height: 100%; margin: 0px; padding: 0px;";
        ?>

    <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" 
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
        <title><?php 
        echo $THISHOMEBASE;
        ?>
 User Map</title>
        <script src="<?php 
        echo $TBBASE;
        ?>
/onload.js" type="text/javascript">
        </script>
        <?php 
        echo $USERMAP_SCRIPTHEADERS;
        ?>
    </head>
    <body style="margin: 0px; padding: 0px;">
    <?php 
    } else {
        $divstyle = "width: 850px; height: 400px; margin-right: auto; margin-left: auto";
        if ($type != $USERMAP_TYPE_EMBED) {
            PAGEHEADER("User Map", NULL, $USERMAP_SCRIPTHEADERS);
            echo "<p>This map shows the cities with registered users of this ";
            echo "testbed. Numbers on the markers give the numbers of users ";
            echo "in a region. You can zoom in to see more detail, and ";
            echo "clicking on a maker will bring up a list of the cities it ";
            echo "represents.</p>";
        }
    }
    #
    # The meat - where the map will get displayed
    #
    echo "<div id=\"map_canvas\" style=\"{$divstyle}\"></div>\n";
    if (isset($fullscreen)) {
        echo "</body></html>";
    } else {
        echo "<a href=\"{$USERMAP_LOC}/?fullscreen=true\">larger version</a>";
        if ($type != $USERMAP_TYPE_EMBED) {
            PAGEFOOTER();
        }
    }
}
コード例 #17
0
ファイル: jay.php プロジェクト: mahyuddin/emulab-stable
#
# This file is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public
# License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
#
# }}}
#
require "defs.php3";
#
# Standard Testbed Header
#
PAGEHEADER("In Memoriam");
echo "<span class='picture'><img src=jay.jpg><br></span><br>\n";
?>
<blockquote><p>
<center><b><font color=red size=+1>Jay Lepreau<br>03/27/1952 -- 09/15/2008
</font></b></center>
<p>
We are
<a href='http://www.legacy.com/saltlaketribune/Obituaries.asp?Page=Lifestory&PersonId=117597321'>sad to report</a>
that Jay Lepreau, Research Professor and Director 
of the Flux Research Group, passed away Monday morning Sept 15th due to
complications of cancer. Jay was an enthusiastic and productive
researcher, a dedicated mentor of students and staff, and an avid
participant in recreational activities such as music and outdoor
sports. His loss will be felt by all who knew him, both  within the
computer science community and elsewhere. 
コード例 #18
0
#
# Only known and logged in users can look at experiments.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$uid_idx = $this_user->uid_idx();
$isadmin = ISADMIN();
#
# Verify page arguments.
#
$reqargs = RequiredPageArguments("template", PAGEARG_TEMPLATE);
$optargs = OptionalPageArguments("search", PAGEARG_STRING, "prevsearch", PAGEARG_STRING, "addclause", PAGEARG_STRING, "formfields", PAGEARG_ARRAY);
#
# Standard Testbed Header after argument checking.
#
PAGEHEADER("Template Search");
# Need these below.
$guid = $template->guid();
$vers = $template->vers();
#
# Check permission.
#
if (!$template->AccessCheck($this_user, $TB_EXPT_READINFO)) {
    USERERROR("You do not have permission to view experiment template " . "{$guid}/{$vers}!", 1);
}
#
# We display the info for all versions of the template.
#
$root = $template->LookupRoot($template->guid());
echo $template->PageHeader();
echo "<br><br>\n";
コード例 #19
0
#
# }}}
#
include "defs.php3";
include "table_defs.php";
#
#
# Only known and logged in users allowed.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$isadmin = ISADMIN();
#
# Standard Testbed Header
#
PAGEHEADER("Node Type List");
#
# Get the list.
#
$query_result = DBQueryFatal("select * from node_types order by class,type");
if ($isadmin) {
    SUBPAGESTART();
    SUBMENUSTART("More Options");
    WRITESUBMENUBUTTON("Create a PC type", "editnodetype.php3?new_type=1&node_class=pc");
    WRITESUBMENUBUTTON("Create a Switch type", "editnodetype.php3?new_type=1&node_class=switch");
    WRITESUBMENUBUTTON("Create a device type", "editnodetype.php3?new_type=1&node_class=device");
    SUBMENUEND();
}
echo "<br>";
echo "Note that many types in this list are not accessible to most users";
if ($isadmin) {
コード例 #20
0
if (!$template->AccessCheck($this_user, $TB_EXPT_READINFO)) {
    USERERROR("You do not have permission to view experiment template " . "{$guid}/{$version}!", 1);
}
#
# For the Sajax Interface
#
function ModifyAnno($newtext)
{
    global $this_user, $template, $instance;
    $instance->SetAnnotation($this_user, $newtext);
    return 0;
}
#
# See if this request is to the above function. Does not return
# if it is. Otherwise return and continue on.
#
sajax_handle_client_request();
#
# Standard Testbed Header after argument checking.
#
PAGEHEADER("Template Instance");
echo "<script type='text/javascript' language='javascript'>\n";
sajax_show_javascript();
echo "</script>\n";
echo $instance->PageHeader();
echo "<br><br>\n";
$instance->Show(1, 1, $showhidden);
#
# Standard Testbed Footer
#
PAGEFOOTER();
コード例 #21
0
ファイル: showslice.php プロジェクト: mahyuddin/emulab-stable
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$isadmin = ISADMIN();
#
# Verify Page Arguments.
#
$reqargs = RequiredPageArguments("slice_idx", PAGEARG_INTEGER);
$optargs = OptionalPageArguments("showtype", PAGEARG_STRING);
if (!isset($showtype)) {
    $showtype = 'sa';
}
#
# Standard Testbed Header
#
PAGEHEADER("Geni Slice");
if (!($isadmin || STUDLY())) {
    USERERROR("You do not have permission to view Geni slices!", 1);
}
if (!($showtype == "sa" || $showtype == "cm" || $showtype == "ch")) {
    USERERROR("Improper argument: showtype={$showtype}", 1);
}
$slice = GeniSlice::Lookup($showtype, $slice_idx);
if (!$slice) {
    USERERROR("No such slice {$slice_idx}", 1);
}
function GeneratePopupDiv($id, $text)
{
    return "<div id=\"{$id}\" " . "style='display:none;width:700;height:400;overflow:auto;'>\n" . "{$text}\n" . "</div>\n";
}
$manifestidx = 0;
コード例 #22
0
ファイル: hardware.php プロジェクト: mahyuddin/emulab-stable
$sitefile = "hardware-" . strtolower($THISHOMEBASE) . ".html";
if (!file_exists($sitefile)) {
    if ($TBMAINSITE) {
        header("Location: {$WIKIDOCURL}/UtahHardware");
        return;
    }
    PAGEHEADER("Hardware Overview");
    USERERROR("This Emulab has not established a site-specific hardware page.", 1);
}
if (!isset($printable)) {
    $printable = 0;
}
#
# Standard Testbed Header
#
if (!$printable) {
    PAGEHEADER("Hardware Overview");
}
if (!$printable) {
    echo "<b><a href={$REQUEST_URI}?printable=1>\n             Printable version of this document</a></b><br>\n";
}
readfile("{$sitefile}");
#
# Standard Testbed Footer
#
if (!$printable) {
    PAGEFOOTER();
}
?>

コード例 #23
0
# License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
#
# }}}
#
include "defs.php3";
$optargs = OptionalPageArguments("confirmed", PAGEARG_BOOLEAN, "description", PAGEARG_STRING, "referrer", PAGEARG_STRING);
$this_user = CheckLogin($check_status);
$referrer = isset($referrer) ? $referrer : $_SERVER['HTTP_REFERER'];
$referrer = urlencode($referrer);
#
# Standard Testbed Header
#
PAGEHEADER("Page Not Working Properly!");
if ($this_user) {
    if (!isset($confirmed)) {
        echo "<center>";
        echo "Are you sure you want to report a problem with:<br>\n              <b>{$referrer}</b><br><br>";
        echo "<form action='pagenotworking.php' method=get>";
        echo "<b>Please tell us briefly what is wrong ...</b>\n";
        echo "<br>\n";
        echo "<textarea name=description rows=10 cols=80></textarea><br>\n";
        echo "<b><input type=hidden name=confirmed value=1></b>";
        echo "<b><input type=hidden name=referrer value='{$referrer}'></b>";
        echo "<b><input type=submit name=tag value='Submit'></b>";
        echo "</form>";
        echo "</center>\n";
    } else {
        $uid_name = $this_user->name();
コード例 #24
0
#
# Only known and logged in users can look at experiments.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$isadmin = ISADMIN();
#
# Verify page arguments.
#
$reqargs = RequiredPageArguments("template", PAGEARG_TEMPLATE);
$optargs = OptionalPageArguments("expand", PAGEARG_INTEGER);
if (!isset($expand)) {
    $expand = 0;
}
#
# Standard Testbed Header after argument checking.
#
PAGEHEADER("Experiment Template History");
#
# Check permission.
#
if (!$template->AccessCheck($this_user, $TB_EXPT_READINFO)) {
    USERERROR("You do not have permission to view experiment template " . "{$guid}/{$version}!", 1);
}
echo $template->PageHeader();
echo "<br><br>\n";
$template->ShowHistory($expand);
#
# Standard Testbed Footer
#
PAGEFOOTER();
コード例 #25
0
#
# Only known and logged in users can do this.
#
$this_user = CheckLoginOrDie();
$uid = $this_user->uid();
$isadmin = ISADMIN();
if (!$isadmin) {
    USERERROR("You do not have permission to access this page!", 1);
}
#
# Verify form arguments.
#
$reqargs = RequiredPageArguments("project", PAGEARG_PROJECT);
$optargs = OptionalPageArguments("submit", PAGEARG_STRING, "message", PAGEARG_ANYTHING);
$pid = $project->pid();
PAGEHEADER("Resend Project Approval Message");
#
# Form to allow text input.
#
function SPITFORM($project, $message, $errors)
{
    global $this_user;
    $message = CleanString($message);
    if ($errors) {
        echo "<table class=nogrid\n                     align=center border=0 cellpadding=6 cellspacing=0>\n              <tr>\n                 <th align=center colspan=2>\n                   <font size=+1 color=red>\n                      &nbsp;Oops, please fix the following errors!&nbsp;\n                   </font>\n                 </td>\n              </tr>\n";
        while (list($name, $message) = each($errors)) {
            # XSS prevention.
            $message = CleanString($message);
            echo "<tr>\n                     <td align=right>\n                       <font color=red>{$name}:&nbsp;</font></td>\n                     <td align=left>\n                       <font color=red>{$message}</font></td>\n                  </tr>\n";
        }
        echo "</table><br>\n";
コード例 #26
0
function SPITFORM($action, $formfields, $errors)
{
    global $template, $metadata, $referrer;
    global $metadata_type;
    $template_guid = $template->guid();
    $template_vers = $template->vers();
    PAGEHEADER("Manage Template Metadata");
    if ($action == "add") {
        echo "<center>";
        echo "<font size=+1>\n                  Attach metadata[<b>1</b>] to your template.</font>";
        echo "</center><br>\n";
    } elseif ($action == "delete") {
        echo "<center>";
        echo "<h3>Are you sure you want to delete this item?</h3>";
        echo "</center><br>\n";
    }
    if ($errors) {
        echo "<table class=nogrid\n                     align=center border=0 cellpadding=6 cellspacing=0>\n              <tr>\n                 <th align=center colspan=2>\n                   <font size=+1 color=red>\n                      &nbsp;Oops, please fix the following errors!&nbsp;\n                   </font>\n                 </td>\n              </tr>\n";
        while (list($name, $message) = each($errors)) {
            echo "<tr>\n                     <td align=right>\n                       <font color=red>{$name}:&nbsp;</font></td>\n                     <td align=left>\n                       <font color=red>{$message}</font></td>\n                  </tr>\n";
        }
        echo "</table><br>\n";
    }
    if ($action == "modify" || $action == "delete") {
        $url = CreateURL("template_metadata", $template, $metadata);
    } else {
        $url = CreateURL("template_metadata", $template);
    }
    if (isset($metadata_type) && $metadata_type != "") {
        $url .= "&metadata_type={$metadata_type}";
    }
    echo "<form action='{$url}&action={$action}' method=post>\n";
    echo "<table align=center border=1>\n";
    if (isset($referrer) && $referrer != "") {
        echo "<input type=hidden name=referrer value='{$referrer}'>";
    }
    #
    # Template GUID and Version. These are read-only fields.
    #
    echo "<tr>\n              <td class='pad4'>Template GUID:</td>\n              <td class='pad4' class=left>\n                  {$template_guid}/{$template_vers}</td>\n";
    echo "</tr>\n";
    if ($action == "modify" || $action == "delete") {
        $metadata_guid = $metadata->guid();
        $metadata_vers = $metadata->vers();
        echo "<tr>\n                  <td class='pad4'>Metadata GUID:</td>\n                  <td class='pad4' class=left>\n                      {$metadata_guid}/{$metadata_vers}</td>\n";
        echo "</tr>\n";
    }
    $readonly_name = $action == "add" ? "" : "readonly";
    $readonly_value = $action == "delete" ? "readonly" : "";
    #
    # Name of the item
    #
    echo "<tr>\n              <td>*Name:<br>\n                  (something short and pithy)</td>\n              <td class=pad4 class=left>\n\t          <input type=text {$readonly_name}\n                         name=\"formfields[name]\"\n                         value=\"" . $formfields["name"] . "\"\n\t                 size=64>\n             </td>\n          </tr>\n";
    echo "<tr>\n              <td colspan=2>\n               Value (use this area to enter the value of your metadata item).\n              </td>\n          </tr>\n          <tr>\n              <td colspan=2 align=center class=left>\n                  <textarea {$readonly_value} name=\"formfields[value]\"\n                    rows=10 cols=80>" . str_replace("\r", "", $formfields["value"]) . "</textarea>\n              </td>\n          </tr>\n";
    if ($action == "modify") {
        $tag = "Modify Metadata";
    } elseif ($action == "delete") {
        $tag = "Delete Metadata";
    } else {
        $tag = "Add Metadata";
    }
    echo "<tr>\n              <td class='pad4' align=center colspan=2>\n                 <b><input type=submit name=submit value='{$tag}'></b>\n              </td>\n         </tr>\n        </form>\n        </table>\n";
    echo "<blockquote><blockquote>\n          <ol>\n            <li> Metadata can be any arbitrary name/value pair that you want\n                 to associate with your template. The name can include\n                 any printable ascii character including spaces, but\n                 not newlines. The value can include any printable ascii\n                 character and my be multiline.\n          </ol>\n          </blockquote></blockquote>\n";
}
コード例 #27
0
        return;
    }
    #
    # Okay, lets zap back to the root, unless this was the root.
    #
    if ($template->IsRoot()) {
        PAGEREPLACE(CreateURL("showuser", $this_user));
    } else {
        PAGEREPLACE("template_show.php?guid={$guid}&version=1");
    }
    return;
}
#
# Standard Testbed Header after argument checking.
#
PAGEHEADER("Template {$tid} ({$guid}/{$vers})");
SUBPAGESTART();
SUBMENUSTART("Template Options");
if ($template->IsActive()) {
    WRITESUBMENUBUTTON("InActivate Template &nbsp &nbsp", "{$this_url}&action=inactivate");
} else {
    WRITESUBMENUBUTTON("Activate Template &nbsp &nbsp", "{$this_url}&action=activate");
}
WRITESUBMENUBUTTON("Modify Template", CreateURL("template_modify", $template));
WRITESUBMENUBUTTON("Instantiate Template", CreateURL("template_swapin", $template));
WRITESUBMENUBUTTON("Create New Template", CreateURL("template_create"));
WRITESUBMENUBUTTON("Add Metadata", CreateURL("template_metadata", $template) . "&action=add");
if ($template->EventCount() > 0) {
    WRITESUBMENUBUTTON("Edit Template Events", CreateURL("template_editevents", $template));
}
WRITESUBMENUBUTTON("Search Template", CreateURL("template_search", $template));
コード例 #28
0
# License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
#
# }}}
#
include "pub_defs.php";
#
# Only known and logged in users.
#
$this_user = CheckLoginOrDie();
$uid_idx = $this_user->uid_idx();
$isadmin = ISADMIN();
$optargs = OptionalPageArguments("showdeleted", PAGEARG_BOOLEAN);
PAGEHEADER("Deleted Publications");
?>

<p>To undelete a publication simply edit it again and unclick "Mark As Deleted"</p>

<?php 
$where_clause = '';
$deleted_clause = '`deleted`';
if ($isadmin) {
    $where_clause = '1';
} else {
    $where_clause = "(`owner` = {$uid_idx} or `last_edit_by` = {$uid_idx})";
}
$query_result = GetPubs($where_clause, $deleted_clause);
echo MakeBibList($this_user, $isadmin, $query_result);
PAGEFOOTER();
コード例 #29
0
    $url = CreateURL("template_commit", $instance);
    echo "<form action='{$url}' method=post>\n";
    echo "<br>\n";
    echo "<br>\n";
    echo "<b><input type=submit name=confirmed value=Confirm></b>\n";
    echo "<b><input type=submit name=canceled value=Cancel></b>\n";
    echo "</form>\n";
    echo "</center>\n";
    PAGEFOOTER();
    return;
}
#
# Avoid SIGPROF in child.
#
set_time_limit(0);
PAGEHEADER("Create Template from Instance");
echo $instance->ExpPageHeader();
echo "<br><br>\n";
echo "<script type='text/javascript' language='javascript' " . "        src='template_sup.js'>\n";
echo "</script>\n";
STARTBUSY("Starting commit");
$retval = SUEXEC($uid, "{$unix_pid},{$unix_gid}", "webtemplate_commit -e {$eid} {$guid}/{$vers}", SUEXEC_ACTION_IGNORE);
/* Clear the 'loading' indicators above */
if ($retval) {
    CLEARBUSY();
} else {
    STOPBUSY();
}
#
# Fatal Error. Report to the user, even though there is not much he can
# do with the error. Also reports to tbops.
コード例 #30
0
function SPITFORM($action, $instance, $formfields, $parameters, $errors)
{
    global $TBDB_EIDLEN;
    global $TBVALIDDIRS_HTML;
    $template = $instance->GetTemplate();
    if ($action == "modify") {
        PAGEHEADER("Modify Resources");
    } else {
        PAGEHEADER("Start New Run");
    }
    echo $instance->ExpPageHeader();
    echo "<br><br>\n";
    echo "<center>\n";
    $template->Show();
    echo "</center>\n";
    echo "<br><br>\n";
    if ($errors) {
        echo "<table class=nogrid\n                     align=center border=0 cellpadding=6 cellspacing=0>\n              <tr>\n                 <th align=center colspan=2>\n                   <font size=+1 color=red>\n                      &nbsp;Oops, please fix the following errors!&nbsp;\n                   </font>\n                 </td>\n              </tr>\n";
        while (list($name, $message) = each($errors)) {
            echo "<tr>\n                     <td align=right>\n                       <font color=red>{$name}:&nbsp;</font></td>\n                     <td align=left>\n                       <font color=red>{$message}</font></td>\n                  </tr>\n";
        }
        echo "</table><br>\n";
    }
    #
    # Get the default params for the template, instance and the previous run.
    # These go out for the user to select via a button, which will provide an
    # initial setting for the parameters.
    #
    $template->FormalParameters($formal_parameters);
    $template->FormalParameterMouseOvers($mouseovers);
    $instance->Bindings($instance_parameters);
    $instance->RunBindings($instance->LastRunIdx(), $lastrun_parameters);
    #
    # Spit out some inline script. Its not as if there will be hundreds
    # of parameters, right?
    #
    echo "<script type='text/javascript' language='javascript' " . "        src='template_sup.js'>\n";
    echo "</script>\n";
    echo "<script language=JavaScript>\n";
    echo "var formal_names  = new Array();\n";
    echo "var template_values = new Array();\n";
    echo "var instance_values = new Array();\n";
    echo "var lastrun_values  = new Array();\n";
    $i = 0;
    while (list($name, $value) = each($formal_parameters)) {
        echo "formal_names[{$i}] = '{$name}';\n";
        echo "template_values[{$i}] = '{$value}';\n";
        $i++;
    }
    $i = 0;
    while (list($name, $value) = each($instance_parameters)) {
        echo "instance_values[{$i}] = '{$value}';\n";
        $i++;
    }
    $i = 0;
    while (list($name, $value) = each($lastrun_parameters)) {
        echo "lastrun_values[{$i}] = '{$value}';\n";
        $i++;
    }
    echo "</script>\n";
    $url = CreateURL("template_exprun", $instance);
    echo "<form action='{$url}&action={$action}' method=post>\n";
    echo "<table align=center border=1>\n";
    #
    # RunID:
    #
    if ($action == "start" || $action == "modify" && !$instance->runidx()) {
        echo "<tr>\n                  <td class='pad4'>ID:\n                  <br><font size='-1'>(alphanumeric, no blanks)</font></td>\n                  <td class='pad4' class=left>";
        echo "    <input type=text\n                         name=\"formfields[runid]\"\n                         value=\"" . $formfields["runid"] . "\"\n\t                 size={$TBDB_EIDLEN}\n                         maxlength={$TBDB_EIDLEN}>\n";
        echo "    </td>\n              </tr>\n";
    }
    #
    # Clean logs before starting run?
    #
    echo "<tr>\n\t      <td class='pad4'>Clean Logs:</td>\n              <td class='pad4' class=left>\n  \t          <input type=checkbox name='formfields[clean]' value='Yep'";
    if (isset($formfields["clean"]) && strcmp($formfields["clean"], "Yep") == 0) {
        echo " checked='1'";
    }
    echo ">";
    echo "&nbsp (run '<tt>loghole clean</tt>' before starting run)\n\t    </td>\n\t  </tr>\n";
    #
    # Swapmod?
    #
    echo "<tr>\n\t      <td class='pad4'>Reparse NS file?:</td>\n              <td class='pad4' class=left>\n  \t          <input type=checkbox name='formfields[swapmod]' value='Yep'";
    if (isset($formfields["swapmod"]) && strcmp($formfields["swapmod"], "Yep") == 0) {
        echo " checked='1'";
    }
    echo ">";
    echo "&nbsp (effectively a '<tt>swap modify</tt>')\n\t    </td>\n\t  </tr>\n";
    echo "<tr>\n              <td colspan=2>\n               Use this text area for an (optional) description:\n              </td>\n          </tr>\n          <tr>\n              <td colspan=2 align=center class=left>\n                  <textarea name=\"formfields[description]\"\n                    rows=4 cols=80>" . str_replace("\r", "", $formfields["description"]) . "</textarea>\n              </td>\n          </tr>\n";
    if (count($parameters)) {
        #
        # Table of inputs.
        #
        echo "<tr>\n\t\t  <td class='pad4'>Formal Parameters:</td>\n\t\t  <td>\n \t\t    <table cellpadding=0 cellspacing=0 border=0>\n";
        echo "<tr><td>Choose Values:</td><td>";
        echo "<table cellpadding=0 cellspacing=0 border=0>\n";
        echo "<tr><td>\n";
        echo " <button name=formals type=button value=Formals ";
        echo "  onclick=\"SetRunParams(formal_names, template_values);\">";
        echo "Template</button>\n";
        echo "</td><td>\n";
        echo " <button name=instance type=button value=Instance ";
        echo "  onclick=\"SetRunParams(formal_names, instance_values);\">";
        echo "Instance</button>\n";
        echo "</td><td>\n";
        echo " <button name=lastrun type=button value='Previous Run' ";
        echo "  onclick=\"SetRunParams(formal_names, lastrun_values);\">";
        echo "Previous Run</button>\n";
        echo "</tr></table>\n";
        while (list($name, $value) = each($parameters)) {
            if (!isset($value)) {
                $value = "&nbsp";
            }
            $mouseover = isset($mouseovers[$name]) ? $mouseovers[$name] : "";
            echo "<tr>\n                    <td class='pad4' {$mouseover}>{$name}</td>\n                    <td class='pad4' class=left>\n                        <input type=text\n                               id='parameter_{$name}'\n                               name=\"parameters[{$name}]\"\n                               value=\"" . $value . "\"\n\t                       size=60\n                               maxlength=1024>\n                    </td>\n                  </tr>\n";
        }
        echo "<tr><td>&nbsp;&nbsp;<b>or</b> XML file:\n               </td><td></td></tr>\n";
        echo "<tr>\n                  <td class='pad4'>On Server<br>\n                           <font size='-1'>({$TBVALIDDIRS_HTML})</font></td>\n                  <td class='pad4'>\n\t              <input type=text\n                             name=\"formfields[parameter_xmlfile]\"\n                             value=\"" . $formfields["parameter_xmlfile"] . "\"\n\t                     size=60>\n";
        echo "</td></tr>\n";
        echo "</table></td></tr>";
    }
    echo "<tr>\n              <td class='pad4' align=center colspan=2>\n                <b><input type=submit name=exprun value='Start'></b>\n              </td>\n         </tr>\n        </form>\n        </table>\n";
}