예제 #1
0
 if (fileUploaded($_FILES["bulk"])) {
     $text = file_get_contents($_FILES["bulk"]["tmp_name"]);
     $filename = $_FILES["bulk"]["name"];
 } else {
     $text = $_POST["bulkentry"];
     $filename = "";
 }
 if ($text === false) {
     Conf::msg_error("Internal error: cannot read file.");
 } else {
     $assignset = new AssignmentSet($Me, false);
     $defaults = assignment_defaults();
     $text = convert_to_utf8($text);
     $assignset->parse($text, $filename, $defaults, "keep_browser_alive");
     finish_browser_alive();
     if ($assignset->has_errors()) {
         $assignset->report_errors();
     } else {
         if ($assignset->is_empty()) {
             $Conf->warnMsg("That assignment file makes no changes.");
         } else {
             $atype = $assignset->type_description();
             echo '<h3>Proposed ', $atype ? $atype . " " : "", 'assignment</h3>';
             $Conf->infoMsg("Select “Apply changes” if this looks OK. (You can always alter the assignment afterwards.)");
             list($atypes, $apids) = $assignset->types_and_papers(true);
             echo Ht::form_div(hoturl_post("bulkassign", ["saveassignment" => 1, "assigntypes" => join(" ", $atypes), "assignpids" => join(" ", $apids)]));
             $assignset->echo_unparse_display();
             echo '<div class="g"></div>', '<div class="aahc"><div class="aa">', Ht::submit("Apply changes"), ' &nbsp;', Ht::submit("cancel", "Cancel"), Ht::hidden("default_action", $defaults["action"]), Ht::hidden("rev_roundtag", $defaults["round"]), Ht::hidden("file", $text), Ht::hidden("assignment_size_estimate", $csv_lineno), Ht::hidden("filename", $filename), Ht::hidden("requestreview_notify", req("requestreview_notify")), Ht::hidden("requestreview_subject", req("requestreview_subject")), Ht::hidden("requestreview_body", req("requestreview_body")), Ht::hidden("bulkentry", req("bulkentry")), '</div></div></div></form>', "\n";
             $Conf->footer();
             exit;
         }