example_callback.js.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <?php
  2. header("Content-type: text/css");
  3. if (isset($_GET["plugin_image_url"]) == true) { $plugin_image_url = preg_replace("/[\\:\\*\\?\\<\\>\\|]/", "", $_GET["plugin_image_url"]); }
  4. else { $plugin_image_url = ""; }
  5. if (isset($_GET["directory"]) == true) { $directory = preg_replace("/[\\:\\*\\?\\<\\>\\|]/", "", $_GET["directory"]); }
  6. else { $directory = ""; }
  7. $directory_js = javascriptEncode2($directory);
  8. ?>
  9. function fileQueued(file, queuelength) {
  10. var listingfiles = document.getElementById("SWFUploadFileListingFiles");
  11. if(!listingfiles.getElementsByTagName("ul")[0]) {
  12. // NET2FTP - do not print a title <h4>File queue</h4>
  13. // var info = document.createElement("h4");
  14. // info.appendChild(document.createTextNode("File queue"));
  15. // listingfiles.appendChild(info);
  16. var ul = document.createElement("ul")
  17. listingfiles.appendChild(ul);
  18. }
  19. listingfiles = listingfiles.getElementsByTagName("ul")[0];
  20. var li = document.createElement("li");
  21. li.id = file.id;
  22. li.className = "SWFUploadFileItem";
  23. li.innerHTML = file.name + " <span class='progressBar' id='" + file.id + "progress'></span><a id='" + file.id + "deletebtn' class='cancelbtn' href='javascript:swfu.cancelFile(\"" + file.id + "\");'><!-- IE --></a>";
  24. listingfiles.appendChild(li);
  25. var queueinfo = document.getElementById("queueinfo");
  26. queueinfo.innerHTML = queuelength + " files queued";
  27. document.getElementById(swfu.movieName + "UploadBtn").style.display = "block";
  28. document.getElementById("cancelqueuebtn").style.display = "block";
  29. // NET2FTP - add "Clear queue" link
  30. document.getElementById("clearqueuebtn").style.display = "block";
  31. }
  32. function uploadFileCancelled(file, queuelength) {
  33. var li = document.getElementById(file.id);
  34. li.innerHTML = file.name + " - cancelled";
  35. li.className = "SWFUploadFileItem uploadCancelled";
  36. var queueinfo = document.getElementById("queueinfo");
  37. queueinfo.innerHTML = queuelength + " files queued";
  38. }
  39. function uploadFileStart(file, position, queuelength) {
  40. var div = document.getElementById("queueinfo");
  41. div.innerHTML = "Uploading file " + position + " of " + queuelength;
  42. var li = document.getElementById(file.id);
  43. li.className += " fileUploading";
  44. }
  45. function uploadProgress(file, bytesLoaded) {
  46. var progress = document.getElementById(file.id + "progress");
  47. var percent = Math.ceil((bytesLoaded / file.size) * 200)
  48. progress.style.background = "#f0f0f0 url(<?php echo $plugin_image_url; ?>/progressbar.png) no-repeat -" + (200 - percent) + "px 0";
  49. }
  50. function uploadError(errno) {
  51. // SWFUpload.debug(errno);
  52. }
  53. function uploadFileComplete(file) {
  54. // NET2FTP - added this line to fix a bug as discussed on the forum
  55. // http://swfupload.mammon.se/forum/viewtopic.php?id=144
  56. uploadProgress(file, file.size);
  57. var li = document.getElementById(file.id);
  58. li.className = "SWFUploadFileItem uploadCompleted";
  59. }
  60. function cancelQueue() {
  61. swfu.cancelQueue();
  62. document.getElementById(swfu.movieName + "UploadBtn").style.display = "none";
  63. document.getElementById("cancelqueuebtn").style.display = "none";
  64. }
  65. function uploadQueueComplete(file) {
  66. var div = document.getElementById("queueinfo");
  67. // NET2FTP - add link to refresh the page after the upload
  68. div.innerHTML = "All files uploaded... <a href=\"javascript:submitBrowseForm('<?php echo $directory_js; ?>','','browse','main');\" title=\"Refresh (accesskey r)\" accesskey=\"r\" style=\"font-size: 80%;\">Refresh to view uploaded files</a>";
  69. document.getElementById("cancelqueuebtn").style.display = "none";
  70. }
  71. // NET2FTP - add "Clear queue" link
  72. // http://swfupload.mammon.se/forum/viewtopic.php?id=105
  73. function clearQueue() {
  74. // reset the queuelength
  75. swfu.cancelQueue();
  76. // hide the "upload queue" link (SWFUpload_0UploadBtn}
  77. document.getElementById('SWFUpload_0UploadBtn').style.display = 'none';
  78. // hide the "# files queued" text (queueinfo)
  79. document.getElementById('queueinfo').innerHTML = 'Queue is empty';
  80. // clear the file listing
  81. document.getElementById('SWFUploadFileListingFiles').innerHTML = '';
  82. // hide cancel queue
  83. document.getElementById('cancelqueuebtn').style.display = 'none';
  84. // hide clear queue
  85. document.getElementById('clearqueuebtn').style.display = 'none';
  86. }
  87. <?php
  88. // **************************************************************************************
  89. // **************************************************************************************
  90. // ** **
  91. // ** **
  92. function javascriptEncode2($string) {
  93. // --------------
  94. // Encode string characters which cause problems in Javascript
  95. // <input type="button" onclick="alert('single quote \' single quote');" value="Test single"> OK <br /><br />
  96. // <input type="button" onclick="alert('double quote &quot; double quote');" value="Test double"> OK <br /><br />
  97. // <input type="button" onclick="alert('bs single \\\' bs single');" value="Test bs single"> OK <br /><br />
  98. // <input type="button" onclick="alert('bs double \\\&quot; bs double');" value="Test bs double"> OK <br /><br />
  99. // --------------
  100. $singlequote = "'"; // '
  101. $doublequote = "\""; // "
  102. $backslash = "\\"; // \
  103. $doublequote_html = "&quot;"; // &quot;
  104. // Executing the 3 steps below in this order will convert:
  105. // ' --> \' in step 2
  106. // " --> &quot; in step 3
  107. // \' --> \\\' in step 1 and 2
  108. // \" --> \\\&quot; in step 1 and 3
  109. $string = str_replace($backslash, "$backslash$backslash", $string);
  110. $string = str_replace($singlequote, "$backslash$singlequote", $string);
  111. $string = str_replace($doublequote, $doublequote_html, $string);
  112. return $string;
  113. } // end javascriptEncode2
  114. // ** **
  115. // ** **
  116. // **************************************************************************************
  117. // **************************************************************************************
  118. ?>