upload_image.php 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  4. <title>Image</title>
  5. <style type="text/css" rel="stylesheet">
  6. body {
  7. font-size:12px;
  8. font-family: "sans serif",tahoma,verdana,helvetica;
  9. margin:0;
  10. background-color:#F0F0EE;
  11. overflow:hidden;
  12. }
  13. form {
  14. margin:0;
  15. }
  16. label {
  17. cursor:pointer;
  18. }
  19. #resetBtn {
  20. margin-left:10px;
  21. cursor:pointer;
  22. }
  23. .main {
  24. margin: 10px;
  25. }
  26. .tab-navi {
  27. width:100%;
  28. overflow:hidden;
  29. margin-bottom:10px;
  30. }
  31. .tab-navi ul {
  32. list-style-image:none;
  33. list-style-position:outside;
  34. list-style-type:none;
  35. margin:0;
  36. padding:0;
  37. display:block;
  38. float:left;
  39. width:100%;
  40. border-bottom:1px solid #888888;
  41. }
  42. .tab-navi li {
  43. border: 1px solid #888888;
  44. margin:0 -1px -1px 0;
  45. float: left;
  46. padding: 5px;
  47. background-color: #F0F0EE;
  48. text-align: center;
  49. width: 120px;
  50. font-weight: normal;
  51. cursor: pointer;
  52. }
  53. .tab-navi li.selected {
  54. background-color: #E0E0E0;
  55. font-weight: bold;
  56. cursor: default;
  57. }
  58. .table {
  59. list-style-image:none;
  60. list-style-position:outside;
  61. list-style-type:none;
  62. margin:0;
  63. padding:0;
  64. display:block;
  65. }
  66. .table li {
  67. padding:0;
  68. margin-bottom:10px;
  69. display:list-item;
  70. }
  71. .table li label {
  72. font-weight:bold;
  73. }
  74. .table li input {
  75. vertical-align:middle;
  76. }
  77. .table li img {
  78. vertical-align:middle;
  79. }
  80. </style>
  81. <script type="text/javascript">
  82. var KE = parent.KE;
  83. location.href.match(/\?id=([\w-]+)/i);
  84. var id = RegExp.$1;
  85. var fileManager = null;
  86. var allowUpload = (typeof KE.g[id].allowUpload == 'undefined') ? true : KE.g[id].allowUpload;
  87. var allowFileManager = (typeof KE.g[id].allowFileManager == 'undefined') ? false : KE.g[id].allowFileManager;
  88. var referMethod = (typeof KE.g[id].referMethod == 'undefined') ? '' : KE.g[id].referMethod;
  89. KE.event.ready(function() {
  90. var typeBox = KE.$('type', document);
  91. var urlBox = KE.$('url', document);
  92. var alignElements = document.getElementsByName('align');
  93. var fileBox = KE.$('imgFile', document);
  94. var widthBox = KE.$('imgWidth', document);
  95. var heightBox = KE.$('imgHeight', document);
  96. var titleBox = KE.$('imgTitle', document);
  97. var resetBtn = KE.$('resetBtn', document);
  98. var tabNavi = KE.$('tabNavi', document);
  99. var viewServer = KE.$('viewServer', document);
  100. var liList = tabNavi.getElementsByTagName('li');
  101. var selectTab = function(num) {
  102. if (num == 1) resetBtn.style.display = 'none';
  103. else resetBtn.style.display = '';
  104. widthBox.value = '';
  105. heightBox.value = '';
  106. titleBox.value = '';
  107. alignElements[0].checked = true;
  108. for (var i = 0, len = liList.length; i < len; i++) {
  109. var li = liList[i];
  110. if (i === num) {
  111. li.className = 'selected';
  112. li.onclick = null;
  113. } else {
  114. if (allowUpload) {
  115. li.className = '';
  116. li.onclick = (function (i) {
  117. return function() {
  118. if (!fileManager) selectTab(i);
  119. };
  120. })(i);
  121. } else {
  122. li.parentNode.removeChild(li);
  123. }
  124. }
  125. KE.$('tab' + (i + 1), document).style.display = 'none';
  126. }
  127. typeBox.value = num + 1;
  128. KE.$('tab' + (num + 1), document).style.display = '';
  129. }
  130. if (!allowFileManager) {
  131. viewServer.parentNode.removeChild(viewServer);
  132. urlBox.style.width = '300px';
  133. }
  134. selectTab(0);
  135. var imgNode = KE.plugin['image'].getSelectedNode(id);
  136. if (imgNode) {
  137. var src = KE.format.getUrl(imgNode.src, KE.g[id].urlType);
  138. urlBox.value = src;
  139. widthBox.value = imgNode.width;
  140. heightBox.value = imgNode.height;
  141. titleBox.value = (typeof imgNode.alt != 'undefined') ? imgNode.alt : imgNode.title;
  142. for (var i = 0, len = alignElements.length; i < len; i++) {
  143. if (alignElements[i].value == imgNode.align) {
  144. alignElements[i].checked = true;
  145. break;
  146. }
  147. }
  148. }
  149. KE.event.add(viewServer, 'click', function () {
  150. if (fileManager) return false;
  151. fileManager = new KE.dialog({
  152. id : id,
  153. cmd : 'file_manager',
  154. file : 'file_manager/file_manager.php?id=' + id +'&root=<?php echo htmlspecialchars(addslashes($_REQUEST['root']));?>',
  155. width : 500,
  156. height : 400,
  157. loadingMode : true,
  158. title : '浏览服务器',
  159. noButton : '取消',
  160. afterHide : function() {
  161. fileManager = null;
  162. }
  163. });
  164. fileManager.show();
  165. });
  166. KE.$('referMethod', document).value = referMethod;
  167. var alignIds = ['default', 'left', 'right'];
  168. for (var i = 0, len = alignIds.length; i < len; i++) {
  169. KE.event.add(KE.$(alignIds[i] + 'Img', document), 'click', (function(i) {
  170. return function() {
  171. KE.$(alignIds[i] + 'Chk', document).checked = true;
  172. };
  173. })(i));
  174. }
  175. KE.event.add(resetBtn, 'click', function() {
  176. var g = KE.g[id];
  177. var img = KE.$$('img', g.iframeDoc);
  178. img.src = urlBox.value;
  179. img.style.position = 'absolute';
  180. img.style.visibility = 'hidden';
  181. img.style.top = '0px';
  182. img.style.left = '1000px';
  183. g.iframeDoc.body.appendChild(img);
  184. widthBox.value = img.width;
  185. heightBox.value = img.height;
  186. g.iframeDoc.body.removeChild(img);
  187. });
  188. KE.util.hideLoadingPage(id);
  189. }, window, document);
  190. </script>
  191. </head>
  192. <?php
  193. error_reporting(0);
  194. $file_url = $_REQUEST['file']?htmlspecialchars(addslashes($_REQUEST['file'])):'';
  195. if($file_url=='')$file_url = 'http://';
  196. ?>
  197. <body>
  198. <div class="main">
  199. <div id="tabNavi" class="tab-navi">
  200. <ul>
  201. <li>网络上的图片</li>
  202. <li>电脑里的图片</li>
  203. </ul>
  204. </div>
  205. <iframe name="uploadIframe" id="uploadIframe" style="display:none;"></iframe>
  206. <input type="hidden" id="type" name="type" value="" />
  207. <form name="uploadForm" method="post" enctype="multipart/form-data" target="uploadIframe" action="<?php echo htmlspecialchars(addslashes($_REQUEST['root']));?>">
  208. <input type="hidden" id="editorId" name="id" value="<?php echo htmlspecialchars(addslashes($_REQUEST['id']));?>" />
  209. <input type="hidden" id="referMethod" name="referMethod" value="" />
  210. <input type="hidden" name="imgBorder" value="0" />
  211. <input type="hidden" name="<?php echo htmlspecialchars(addslashes($_REQUEST['var_module']));?>" value="File" />
  212. <input type="hidden" name="<?php echo htmlspecialchars(addslashes($_REQUEST['var_action']));?>" value="do_upload_img" />
  213. <ul class="table">
  214. <li>
  215. <div id="tab1" style="display:none;">
  216. <label for="url">图片地址</label>
  217. <input type="text" id="url" name="url" value="<?php echo $file_url;?>" maxlength="255" style="width:250px;" />
  218. <input type="button" id="viewServer" name="viewServer" value="浏览..." />
  219. </div>
  220. <div id="tab2" style="display:none;">
  221. <select name="upload_type">
  222. <option value="0">普通上传</option>
  223. <option value="1">水印上传</option>
  224. </select>
  225. <input type="file" id="imgFile" name="imgFile" style="width:200px;" />&nbsp;&nbsp;
  226. </div>
  227. </li>
  228. <div style="display:none;">
  229. <li>
  230. <label for="imgWidth">图片大小</label>
  231. 宽 <input type="text" id="imgWidth" name="imgWidth" value="" maxlength="4" style="width:50px;text-align:right;" />
  232. 高 <input type="text" id="imgHeight" name="imgHeight" value="" maxlength="4" style="width:50px;text-align:right;" />
  233. <img src="./images/refresh.gif" width="16" height="16" id="resetBtn" alt="重置大小" title="重置大小" />
  234. </li>
  235. <li>
  236. <label>对齐方式</label>
  237. <input type="radio" id="defaultChk" name="align" value="" checked="checked" /> <img id="defaultImg" src="./images/align_top.gif" width="23" height="25" border="0" alt="默认方式" title="默认方式" />
  238. <input type="radio" id="leftChk" name="align" value="left" /> <img id="leftImg" src="./images/align_left.gif" width="23" height="25" border="0" alt="左对齐" title="左对齐" />
  239. <input type="radio" id="rightChk" name="align" value="right" /> <img id="rightImg" src="./images/align_right.gif" width="23" height="25" border="0" alt="右对齐" title="右对齐" />
  240. </li>
  241. <li>
  242. <label for="imgTitle">图片说明</label>
  243. <input type="text" id="imgTitle" name="imgTitle" value="" maxlength="255" style="width:95%;" />
  244. </li>
  245. </div>
  246. </ul>
  247. </form>
  248. </div>
  249. </body>
  250. </html>