PageRenderTime 48ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/import_format/autoupload_script.php

https://bitbucket.org/denbro42/languagelesson
PHP | 106 lines | 86 code | 14 blank | 6 comment | 8 complexity | 54c02744c76f1db4e2f135e91893e531 MD5 | raw file
  1. <?php
  2. require_once("../../../config.php");
  3. require_once("$CFG->dirroot/lib/moodlelib.php");
  4. require_once("$CFG->dirroot/lib/uploadlib.php");
  5. //print_r($_FILES);
  6. $filecount = $_POST['filecount'];
  7. if ($filecount != count($_FILES)) {
  8. echo "<br />filecount is $filecount<br />";
  9. echo "count(_FILES) is ".count($_FILES)."<br />";
  10. error('The expected number of files is not present.');
  11. }
  12. /// pull the course module ID for proper redirecting
  13. $cmid = $_POST['cmid'];
  14. /// pull the comma-separated string list of filenames that were
  15. /// expected as uploads for checking against the actually-uploaded
  16. /// files
  17. $expected_fnames = $_POST['expected_filenames'];
  18. /// pull the upload destination string
  19. $destination = $_POST['destination'];
  20. $expected_fnames = explode(',', $expected_fnames);
  21. $actual_fnames = array();
  22. foreach ($_FILES as $file) {
  23. $actual_fnames[] = $file['name'];
  24. }
  25. $missing_fnames = array();
  26. $extra_fnames = array();
  27. foreach ($expected_fnames as $fname) {
  28. if (! in_array($fname, $actual_fnames)) {
  29. $missing_fnames[] = $fname;
  30. }
  31. }
  32. foreach ($actual_fnames as $fname) {
  33. if (! in_array($fname, $expected_fnames)) {
  34. $extra_fnames[] = $fname;
  35. }
  36. }
  37. $flag = false;
  38. if (count($missing_fnames) > 0 || count($extra_fnames) > 0) {
  39. $flag = true;
  40. }
  41. if ($flag) {
  42. echo "Fnames didn't match.";
  43. //die('');
  44. }
  45. $um = new upload_manager('',true,false,$cid,false);
  46. if (! $um->process_file_uploads($destination)) {
  47. echo "OH SHIT";
  48. error_log("File upload failed.");
  49. die('');
  50. }
  51. function print_continue_options($cmid) {
  52. $lessonid = get_lessonid_from_cmid($cmid);
  53. $delete = '<form action="autoupload_script.php" method="post">';
  54. $delete .= '<input type="hidden" name="lessonid" value="' . $lessonid . '" />';
  55. $delete .= '<input type="hidden" name="cmid" value="' . $cmid . '" />';
  56. $delete .= '<input type="hidden" name="upload_folder" value="' . $destination . '" />';
  57. $delete .= 'Click <input type="submit" value="here" /> to delete everything uploaded
  58. for this lesson and return to the import screen.';
  59. $delete .= '</form>';
  60. $continue = '<form action="../view.php" method="get">';
  61. $continue .= '<input type="hidden" name="id" value="' . $cmid . '" />';
  62. $continue .= '<input type="submit" value="Continue" />';
  63. $continue .= '</form>';
  64. echo $delete . "<br /><br />" . $continue;
  65. }
  66. //$um->print_upload_log();
  67. redirect("../view.php?id=$cmid");
  68. ?>