demo.txt 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. header("Cache-Control: no-cache, must-revalidate");
  3. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
  4. if (@$_GET['id']) {
  5. echo json_encode(uploadprogress_get_info($_GET['id']));
  6. exit();
  7. }
  8. $uuid = uniqid();
  9. ?>
  10. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  11. <html>
  12. <head>
  13. <title>jQuery Progress Bar v1.1</title>
  14. <link rel='stylesheet' href='http://t.wits.sg/misc/css/form.css' type='text/css' />
  15. <link rel='stylesheet' href='http://t.wits.sg/misc/css/demo.css' type='text/css' />
  16. <script type="text/javascript" src="http://t.wits.sg/misc/js/jQuery/jquery.js"></script>
  17. <script type="text/javascript" src="http://t.wits.sg/misc/js/jQuery/chili/jquery.chili-2.2.js"></script>
  18. <script type="text/javascript">
  19. ChiliBook.recipeFolder = "../js/jQuery/chili/";
  20. </script>
  21. <script type="text/javascript" src="js/jquery.progressbar.min.js"></script>
  22. <script>
  23. var progress_key = '<?= $uuid ?>';
  24. $(document).ready(function() {
  25. $("#spaceused1").progressBar();
  26. $("#spaceused2").progressBar({ barImage: 'images/progressbg_yellow.gif'} );
  27. $("#spaceused3").progressBar({ barImage: 'images/progressbg_orange.gif', showText: false} );
  28. $("#spaceused4").progressBar(65, { showText: false, barImage: 'images/progressbg_red.gif'} );
  29. $("#uploadprogressbar").progressBar();
  30. });
  31. function beginUpload() {
  32. $("#uploadprogressbar").fadeIn();
  33. setTimeout("showUpload()", 1500);
  34. }
  35. function showUpload() {
  36. $.get("demo.php?id=" + progress_key, function(data) {
  37. if (!data)
  38. return;
  39. var response;
  40. eval ("response = " + data);
  41. if (!response)
  42. return;
  43. var percentage = Math.floor(100 * parseInt(response['bytes_uploaded']) / parseInt(response['bytes_total']));
  44. $("#uploadprogressbar").progressBar(percentage);
  45. });
  46. setTimeout("showUpload()", 750);
  47. }
  48. </script>
  49. <style>
  50. table tr { vertical-align: top; }
  51. table td { padding: 3px; }
  52. div.contentblock { padding-bottom: 25px; }
  53. #uploadprogressbar { display: none; }
  54. </style>
  55. </head>
  56. <body>
  57. <div id="container">
  58. <div style="float: right; text-align: right; width: 300px;">download me at <a href="http://t.wits.sg">http://t.wits.sg</a></div>
  59. <div class="contentblock">
  60. <h2>Progress Bars &amp; Controls</h2>
  61. <table>
  62. <tr><td>Default Multicolored Bar</td><td><span class="progressBar" id="spaceused1">75%</span></td></tr>
  63. <tr><td>Yellow Bar</td><td><span class="progressBar" id="spaceused2">35%</span></td></tr>
  64. <tr><td>Orange Bar (No Text)</td><td><span class="progressBar" id="spaceused3">55%</span></td></tr>
  65. <tr><td>Red Bar (No Text)</td><td><span class="progressBar" id="spaceused4">85%</span></td></tr>
  66. </table>
  67. <strong>Some controls: </strong>
  68. <a href="#" onclick="$('#spaceused1').progressBar(20);">20</a> |
  69. <a href="#" onclick="$('#spaceused1').progressBar(40);">40</a> |
  70. <a href="#" onclick="$('#spaceused1').progressBar(60);">60</a> |
  71. <a href="#" onclick="$('#spaceused1').progressBar(80);">80</a> |
  72. <a href="#" onclick="$('#spaceused1').progressBar(100);">100</a>
  73. </div>
  74. <div class="contentblock">
  75. <h2>Usage: </h2>
  76. <pre class="ln-"><code class="js">
  77. $(document).ready(function() {
  78. $("#spaceused1").progressBar();
  79. $("#spaceused2").progressBar({ barImage: 'images/progressbg_yellow.gif'} );
  80. $("#spaceused3").progressBar({ barImage: 'images/progressbg_orange.gif', showText: false} );
  81. $("#spaceused4").progressBar(65, { showText: false, barImage: 'images/progressbg_red.gif'} );
  82. $("#uploadprogressbar").progressBar();
  83. });
  84. </code></pre>
  85. </div>
  86. <div class="contentblock">
  87. <h2>Progress Bars Form Example</h2>
  88. <a href="demo.txt">Download the PHP Source here</a>
  89. <form action="" method="POST" id="uploadform" enctype="multipart/form-data" onsubmit="beginUpload();">
  90. <input type="hidden" name="UPLOAD_IDENTIFIER" id="progress_key" value="<?= $uuid ?>" />
  91. <table class="form">
  92. <tr><td class="labelcol"><label for="firstname">First Name</label><em>*</em></td><td class="inpulcol"><input type="text" name="firstname" id="firstname" class="text" /></tr>
  93. <tr><td class="labelcol"><label for="lastname">First Name</label><em>*</em></td><td class="inpulcol"><input type="text" name="lastname" id="lastname" class="text" /></tr>
  94. <tr><td class="labelcol"><label for="password">First Name</label><em>*</em></td><td class="inpulcol"><input type="password" name="password" id="password" class="text" /></tr>
  95. <tr><td class="labelcol"><label for="ulfile1">File 1</label></td>
  96. <td><input type="file" name="ulfile1" id="ulfile1" /></td>
  97. </tr>
  98. <tr><td class="labelcol"><label for="ulfile2">File 2</label></td>
  99. <td><input type="file" name="ulfile2" id="ulfile2" /></td>
  100. </tr>
  101. <tr><td class="labelcol"><label for="ulfile3">File 3</label></td>
  102. <td><input type="file" name="ulfile3" id="ulfile3" /></td>
  103. </tr>
  104. <tr><td class="labelcol"></td>
  105. <td class="inputcol"><input type="submit" value="Submit" />
  106. <br />
  107. <span class="progressbar" id="uploadprogressbar">0%</span>
  108. </td></tr>
  109. </table>
  110. </form>
  111. </div>
  112. <div class="contentblock">
  113. <h2>Upload Form Javascript: </h2>
  114. <pre class="ln-"><code class="js">
  115. var progress_key = '<?= $uuid ?>';
  116. // this sets up the progress bar
  117. $(document).ready(function() {
  118. $("#uploadprogressbar").progressBar();
  119. });
  120. // fades in the progress bar and starts polling the upload progress after 1.5seconds
  121. function beginUpload() {
  122. $("#uploadprogressbar").fadeIn();
  123. setTimeout("showUpload()", 1500);
  124. }
  125. // uses ajax to poll the uploadprogress.php page with the id
  126. // deserializes the json string, and computes the percentage (integer)
  127. // update the jQuery progress bar
  128. // sets a timer for the next poll in 750ms
  129. function showUpload() {
  130. $.get("demo.php?id=" + progress_key, function(data) {
  131. if (!data)
  132. return;
  133. var response;
  134. eval ("response = " + data);
  135. if (!response)
  136. return;
  137. var percentage = Math.floor(100 * parseInt(response['bytes_uploaded']) / parseInt(response['bytes_total']));
  138. $("#uploadprogressbar").progressBar(percentage);
  139. });
  140. setTimeout("showUpload()", 750);
  141. }
  142. </code></pre>
  143. </div>
  144. </div>
  145. </body>
  146. </html>