paste_post.php 1018 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. requirePHPLib('form');
  3. requirePHPLib('judger');
  4. if ($myUser == null) {
  5. becomeMsgPage("请先登录!");
  6. }
  7. function handleUpload($zip_file_name, $content, $tot_size) {
  8. global $myUser;
  9. $esc_content = DB::escape(json_encode($content));
  10. $index = uojRandString(20);
  11. $esc_index = DB::escape($index);
  12. while (DB::selectFirst("select count(*) as count from pastes where `index` = '$esc_index'")['count'] != "0") {
  13. $index = uojRandString(20);
  14. $esc_index = DB::escape($index);
  15. }
  16. DB::query("insert into pastes (`index`, `creator`, `content`, `created_at`) values ('$esc_index', '${myUser['username']}', '$esc_content', '".date('Y-m-d H:i:s')."')");
  17. redirectTo("/pastes/".$index);
  18. }
  19. $paste_form = newSubmissionForm('paste',
  20. [
  21. [
  22. 'type' => "source code",
  23. "name" => "paste",
  24. "file_name" => "paste.code"
  25. ]
  26. ],
  27. 'uojRandAvaiablePasteFileName',
  28. 'handleUpload');
  29. $paste_form->succ_href = '/paste';
  30. $paste_form->runAtServer();
  31. echoUOJPageHeader("Paste!");
  32. $paste_form->printHTML();
  33. echoUOJPageFooter();