files.php
上传用户:gzy2002
上传日期:2010-02-11
资源大小:1785k
文件大小:7k
源码类别:

电子政务应用

开发平台:

Java

  1. <?php
  2. // +-------------------------------------------------------------+
  3. // | DeskPRO v [2.0.1 Production]
  4. // | Copyright (C) 2001 - 2004 Headstart Solutions Limited
  5. // | Supplied by WTN-WDYL
  6. // | Nullified by WTN-WDYL
  7. // | Distribution via WebForum, ForumRU and associated file dumps
  8. // +-------------------------------------------------------------+
  9. // | DESKPRO IS NOT FREE SOFTWARE
  10. // +-------------------------------------------------------------+
  11. // | License ID : Full Enterprise License =) ...
  12. // | License Owner : WTN-WDYL Team
  13. // +-------------------------------------------------------------+
  14. // | $RCSfile: files.php,v $
  15. // | $Date: 2004/02/10 01:34:30 $
  16. // | $Revision: 1.16 $
  17. // +-------------------------------------------------------------+
  18. // | File Details:
  19. // | - Attachments manager.
  20. // +-------------------------------------------------------------+
  21. error_reporting(E_ALL ^ E_NOTICE);
  22. include "./../global.php";
  23. // default do
  24. $_REQUEST['do'] = trim($_REQUEST['do']);
  25. if (!isset($_REQUEST['do']) or $_REQUEST['do'] == "") {
  26. $_REQUEST['do'] = "view";
  27. }
  28. // globalise variables
  29. $global = array (
  30. array('id')
  31. );
  32. rg($global);
  33. ############################### GET CATEGORIES ###############################
  34. $result = $db->query_return("SELECT categories FROM tech_folders WHERE type = 'attachments' AND techid = '$user[id]'");
  35. $categories = unserialize($result[categories]);
  36. $cat_jump[0] = 'Top Category';
  37. if (is_array($categories)) {
  38. foreach ($categories AS $key => $var) {
  39. $cat_jump[$key] = $var;
  40. }
  41. }
  42. ############################### DOWNLOAD ATTACHMENT ###############################
  43. if ($_REQUEST['do'] == "download") {
  44. $db->query("SELECT blobid FROM tech_attachments WHERE techid = '$user[id]' AND id = '$id'");
  45. if ($db->num_rows() > 0) {
  46. get_attachment($id, 'tech_attachments', 1);
  47. } else {
  48. alert('No permission to download this attachment');
  49. $_REQUEST['do'] = "view";
  50. }
  51. }
  52. ############################### ADD ATTACHMENTS ###############################
  53. if ($_REQUEST['do'] == "add") {
  54. tech_nav('resources');
  55. while ($i < 10) {
  56. $table[] = array(
  57. form_file($i), 
  58. form_select($i, $cat_jump, 'category'),
  59. form_input($i, '', '50', 'comments')
  60. );
  61. $i++;
  62. }
  63. $cols = array('File (required)', 'Category (required)', 'Comments (optional)');
  64. table_header('Add New Files', 'files.php', array('do' => 'add2'), '', '', 1);
  65. table_content($cols, $table);
  66. table_footer('Add Attachments');
  67. }
  68. ############################### ADD ATTACHMENTS (2) ###############################
  69. if ($_REQUEST['do'] == "add2") {
  70. if (is_array($_FILES)) {
  71. foreach ($_FILES AS $key => $var) {
  72. if ($_FILES[$key][name] != '') {
  73. $commentskey = intval(substr($key, 10));
  74. // validate
  75. if (validate_attachment($error, $key)) {
  76. // add attachment
  77. $attach = add_attachment($key);
  78. // add information to ticket table
  79. $checks = xss_check($_REQUEST['comments'][$commentskey], 'tech');
  80. $db->query("INSERT INTO tech_attachments SET
  81. blobid = '$attach[blobid]',
  82. comments = '" . mysql_escape_string($checks[0]) . "',
  83. category = '" . mysql_escape_string($_REQUEST['category'][$commentskey]) . "',
  84. filename = '" . mysql_escape_string($attach[name]) . "',
  85. filesize = '" . mysql_escape_string($attach[size]) . "',
  86. extension = '" . mysql_escape_string($attach[extension]) . "',
  87. timestamp = '" . mktime() . "',
  88. techid = '$user[id]'
  89. ");
  90. $i++;
  91.  
  92.  } else {
  93.  $error .= $error;
  94. }
  95. }
  96. }
  97. }
  98. if ($i) {
  99. if ($i > 1) {
  100. $message = "$i attachments uploaded\n";
  101. } else {
  102. $message = "$i attachment uploaded\n";
  103. }
  104. }
  105. if ($error) {
  106. $message .= $error;
  107. }
  108. if (!$i AND !$error) {
  109. $message .= 'No attachments specified';
  110. }
  111. alert($message);
  112. $_REQUEST['do'] = 'view';
  113. }
  114. ############################### ATTACHMENTS ACTIONS ###############################
  115. if ($_REQUEST['do'] == "doactions") {
  116. // ids of what we are changing (check they don't press submit with no ids)
  117. if (is_array($_REQUEST['ids'])) {
  118. foreach ($_REQUEST['ids'] AS $key => $var) {
  119. if ($var = 1) {
  120. $id_array[] = $key;
  121. }
  122. }
  123. }
  124. if (is_array($id_array)) {
  125. if ($_REQUEST['actiontype'] == 'delete') {
  126. $db->query("SELECT blobid FROM tech_attachments WHERE techid = '$user[id]' AND id IN " . array2sql($id_array) . "");
  127. while ($result = $db->row_array()) {
  128. $blobids[] = $result[blobid];
  129. }
  130. if (is_array($blobids)) {
  131. $db->query("DELETE FROM blobs WHERE id IN " . array2sql($blobids) . "");
  132. }
  133. $db->query("DELETE FROM tech_attachments WHERE techid = '$user[id]' AND id IN " . array2sql($id_array) . "");
  134. } elseif ($_REQUEST['actiontype'] == 'move') {
  135. $db->query("UPDATE tech_attachments 
  136. SET category = '$_REQUEST[B]' 
  137. WHERE techid = '$user[id]' 
  138. AND id IN " . array2sql($id_array) . "
  139. ");
  140. }
  141. }
  142. $_REQUEST['do'] = 'view';
  143. }
  144. ############################### VIEW ATTACHMENTS ###############################
  145. if ($_REQUEST['do'] == "view") {
  146. tech_nav('resources');
  147. // for category javascript
  148. foreach($cat_jump AS $key => $var) {
  149. $js .= ""$var","$key",";
  150. }
  151. $js = substr($js, 0, -1);
  152. echo get_javascript('DynamicOptionList.js');
  153. echo "
  154. <SCRIPT LANGUAGE="JavaScript">
  155. var listB = new DynamicOptionList("B","actiontype");
  156. listB.addOptions("move",$js);
  157. listB.setDefaultOption("move","0");
  158. function init() {
  159. var theform = document.forms[0];
  160. listB.init(theform);
  161. }
  162. </SCRIPT>
  163. ";
  164. $form = 
  165. "<select name="actiontype" onChange="listB.populate();">
  166. <option value="delete">Delete</option>
  167. <option value="move">Move</option>
  168. </select>
  169. &nbsp;&nbsp;&nbsp;&nbsp;
  170. <select name="B" id="B">
  171. <script language="JavaScript">listB.printOptions()</script>
  172. </select>
  173. &nbsp;&nbsp;&nbsp;&nbsp;
  174. <input type="submit" name="Process" value="Process">
  175. <script language="JavaScript">
  176. init()
  177. </script>
  178. ";
  179. $db->query("SELECT * FROM tech_attachments 
  180. WHERE techid = '$user[id]'
  181. AND category = '$_REQUEST[category]'
  182. ");
  183. while ($files = $db->row_array()) {
  184. $table[] = array(
  185. form_checkbox_single($files[id], 1, '', 'ids'),
  186. "<a href="files.php?do=download&id=$files[id]">$files[filename]</a>", 
  187. $files[comments], 
  188. filesize_display($files[filesize]),
  189. "<a href="files.php?do=download&id=$files[id]">download</a>"
  190. );
  191. }
  192. $toprow = "<p align="right"><b>Category Jump:</b>&nbsp;&nbsp;" . form_select('category', $cat_jump, '', $_REQUEST[category]) . "&nbsp;&nbsp;<input type="submit" name="go" value="Go"> " . thelp('Resources', 'Files');
  193. $width = array('5', '25%', '35%', '20%', '20%');
  194. $cols = array("<input type="checkbox" name="allbox" onclick="checkall(this.form);" />", 'Name', 'Comments', 'Size', 'Download');
  195. table_header('Your Attachments', 'files.php', array('do' => 'doactions'), '', 'dpform');
  196. table_content($cols, $table, '', '', $toprow, '', $width);
  197. table_footer('', 'Left', $form);
  198. echo "<br /><br /><center><a href="files.php?do=add"><b>Add Attachments</b></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="folders.php?type=attachments"><b>Edit Folders</b></a></center>";
  199. }
  200. tech_footer();
  201. ?>