示例#1
0
function put_print_form()
{
    global $DB, $pagename;
    $langs = $DB->q('KEYTABLE SELECT langid AS ARRAYKEY, name, extensions FROM language
	                 WHERE allow_submit = 1 ORDER BY name');
    echo "<script type=\"text/javascript\">\n<!--\n";
    echo "function detectLanguage(filename)\n\t{\n\t\tvar parts = filename.toLowerCase().split('.').reverse();\n\t\tif ( parts.length < 2 ) return;\n\n\t\t// language ID\n\n\t\tvar elt=document.getElementById('langid');\n\t\t// the 'autodetect' option has empty value\n\t\tif ( elt.value != '' ) return;\n\n\t\tvar langid = getMainExtension(parts[0]);\n\t\tfor (i=0;i<elt.length;i++) {\n\t\t\tif ( elt.options[i].value == langid ) {\n\t\t\t\telt.selectedIndex = i;\n\t\t\t}\n\t\t}\n\n\t}\n";
    putgetMainExtension($langs);
    echo "// -->\n</script>\n";
    echo addForm($pagename, 'post', null, 'multipart/form-data');
    ?>

	<table>
	<tr><td><label for="code">File</label>:</td>
	<td><input type="file" name="code" id="code" size="40" required onChange='detectLanguage(document.getElementById("code").value);' /></td>
	</tr>
	<tr><td colspan="2">&nbsp;</td></tr>
	<tr><td><label for="langid">Language</label>:</td>
	    <td><?php 
    $langlist = array();
    foreach ($langs as $langid => $langdata) {
        $langlist[$langid] = $langdata['name'];
    }
    $langlist[''] = 'plain text';
    echo addSelect('langid', $langlist, '', true);
    ?>
</td>
	</tr>
	<tr><td colspan="2">&nbsp;</td></tr>
	<tr><td></td>
	    <td><?php 
    echo addSubmit('Print code', 'submit');
    ?>
</td>
	</tr>
	</table>

	<?php 
    echo addEndForm();
}
示例#2
0
require LIBWWWDIR . '/header.php';
// Don't use HTTP meta refresh, but javascript: otherwise we cannot
// cancel it when the user starts editing the submit form. This also
// provides graceful degradation without javascript present.
$refreshtime = 30;
$submitted = @$_GET['submitted'];
$fdata = calcFreezeData($cdata);
$langdata = $DB->q('KEYTABLE SELECT langid AS ARRAYKEY, name, extensions
                    FROM language WHERE allow_submit = 1');
echo "<script type=\"text/javascript\">\n<!--\n";
if ($fdata['cstarted']) {
    $probdata = $DB->q('TABLE SELECT probid, shortname, name FROM problem
	                    INNER JOIN contestproblem USING (probid)
	                    WHERE cid = %i AND allow_submit = 1
	                    ORDER BY shortname', $cid);
    putgetMainExtension($langdata);
    echo "function getProbDescription(probid)\n{\n";
    echo "\tswitch(probid) {\n";
    foreach ($probdata as $probinfo) {
        echo "\t\tcase '" . specialchars($probinfo['shortname']) . "': return '" . specialchars($probinfo['name']) . "';\n";
    }
    echo "\t\tdefault: return '';\n\t}\n}\n\n";
}
echo "initReload(" . $refreshtime . ");\n";
echo "// -->\n</script>\n";
// Put overview of team submissions (like scoreboard)
putTeamRow($cdata, array($teamid));
echo "<div id=\"submitlist\">\n";
echo "<h3 class=\"teamoverview\">Submissions</h3>\n\n";
if ($fdata['cstarted']) {
    echo <<<HTML