国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

285 lines
14KB

  1. <?php
  2. /**
  3. * 图片选择框
  4. *
  5. * @version $Id: select_images.php 1 9:43 2010年7月8日Z tianya $
  6. * @package DedeCMS.Dialog
  7. * @copyright Copyright (c) 2007 - 2018, DesDev, Inc.
  8. * @copyright Copyright (c) 2020, DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license/v6
  10. * @link https://www.dedebiz.com
  11. */
  12. require_once(dirname(__FILE__) . "/config.php");
  13. include(DEDEDATA . '/mark/inc_photowatermark_config.php');
  14. if (empty($activepath)) {
  15. $activepath = '';
  16. }
  17. if (empty($imgstick)) {
  18. $imgstick = '';
  19. }
  20. $noeditor = isset($noeditor) ? $noeditor : '';
  21. $activepath = str_replace('.', '', $activepath);
  22. $activepath = preg_replace("#\/{1,}#", '/', $activepath);
  23. if (strlen($activepath) < strlen($cfg_medias_dir)) {
  24. $activepath = $cfg_medias_dir;
  25. }
  26. $inpath = $cfg_basedir . $activepath;
  27. $activeurl = '..' . $activepath;
  28. if (empty($f)) {
  29. $f = 'form1.picname';
  30. }
  31. $f = RemoveXSS($f);
  32. if (empty($v)) {
  33. $v = 'picview';
  34. }
  35. if (empty($comeback)) {
  36. $comeback = '';
  37. }
  38. $addparm = '';
  39. if (!empty($CKEditor)) {
  40. $addparm = '&CKEditor=' . $CKEditor;
  41. $f = $CKEditor;
  42. }
  43. if (!empty($CKEditorFuncNum)) {
  44. $addparm .= '&CKEditorFuncNum=' . $CKEditorFuncNum;
  45. }
  46. if (!empty($noeditor)) {
  47. $addparm .= '&noeditor=yes';
  48. }
  49. ?>
  50. <html>
  51. <head>
  52. <meta http-equiv='Content-Type' content='text/html; charset=<?php echo $cfg_soft_lang; ?>'>
  53. <title>图片浏览器</title>
  54. <link rel="stylesheet" href="../../static/css/bootstrap.min.css">
  55. <link href="../../static/font-awesome/css/font-awesome.min.css" rel="stylesheet">
  56. <link href='../css/base.css' rel='stylesheet' type='text/css'>
  57. <style>
  58. .linerow {
  59. border-bottom: 1px solid #CBD8AC;
  60. }
  61. .napisdiv {
  62. left: 40;
  63. top: 3;
  64. width: 150px;
  65. height: 100px;
  66. position: absolute;
  67. z-index: 3;
  68. display: none;
  69. }
  70. </style>
  71. <script>
  72. function nullLink() {
  73. return;
  74. }
  75. function ChangeImage(surl) {
  76. document.getElementById('picview').src = surl;
  77. }
  78. </script>
  79. </head>
  80. <body background='img/allbg.gif' leftmargin='0' topmargin='0'>
  81. <div id="floater" class="napisdiv">
  82. <a href="javascript:nullLink();" onClick="document.getElementById('floater').style.display='none';"><img src='img/picviewnone.gif' id='picview' border='0' alt='单击关闭预览'></a>
  83. </div>
  84. <SCRIPT language=JavaScript src="../js/float.js"></SCRIPT>
  85. <SCRIPT language=JavaScript>
  86. function nullLink() {
  87. return;
  88. }
  89. function ChangeImage(surl) {
  90. document.getElementById('floater').style.display = 'block';
  91. document.getElementById('picview').src = surl;
  92. }
  93. function TNav() {
  94. if (window.navigator.userAgent.indexOf("MSIE") >= 1) return 'IE';
  95. else if (window.navigator.userAgent.indexOf("Firefox") >= 1) return 'FF';
  96. else return "OT";
  97. }
  98. // 获取地址参数
  99. function getUrlParam(paramName) {
  100. var reParam = new RegExp('(?:[\?&]|&amp;)' + paramName + '=([^&]+)', 'i');
  101. var match = window.location.search.match(reParam);
  102. return (match && match.length > 1) ? match[1] : '';
  103. }
  104. function ReturnImg(reimg) {
  105. var funcNum = getUrlParam('CKEditorFuncNum');
  106. if (funcNum > 1) {
  107. var fileUrl = reimg;
  108. window.opener.CKEDITOR.tools.callFunction(funcNum, fileUrl);
  109. }
  110. if (window.opener.document.<?php echo $f ?> != null) {
  111. window.opener.document.<?php echo $f ?>.value = reimg;
  112. if (window.opener.document.getElementById('div<?php echo $v ?>')) {
  113. if (TNav() == 'IE') {
  114. //window.opener.document.getElementById('div<?php echo $v ?>').filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = reimg;
  115. window.opener.document.getElementById('div<?php echo $v ?>').src = reimg;
  116. window.opener.document.getElementById('div<?php echo $v ?>').style.width = '150px';
  117. window.opener.document.getElementById('div<?php echo $v ?>').style.height = '100px';
  118. } else
  119. window.opener.document.getElementById('div<?php echo $v ?>').style.backgroundImage = "url(" + reimg + ")";
  120. } else if (window.opener.document.getElementById('<?php echo $v ?>')) {
  121. window.opener.document.getElementById('<?php echo $v ?>').src = reimg;
  122. }
  123. // 适配新的缩略图
  124. if (window.opener.document.getElementById('litPic')) {
  125. window.opener.document.getElementById('litPic').src = reimg;
  126. }
  127. if (document.all) window.opener = true;
  128. }
  129. window.close();
  130. }
  131. </SCRIPT>
  132. <table width='100%' border='0' cellpadding='0' cellspacing='1' bgcolor='#CBD8AC' class="table maintable table-borderless" style="margin:0 auto">
  133. <tr bgcolor='#FFFFFF'>
  134. <td colspan='4'>
  135. <table width='100%' border='0' cellspacing='0' cellpadding='2'>
  136. <tr bgcolor="#CCCCCC">
  137. <td width="8%" align="center" class='linerow' bgcolor='#EEF4EA'><strong>预览</strong></td>
  138. <td width="47%" align="center" background="img/wbg.gif" class='linerow'><strong>点击名称选择图片</strong></td>
  139. <td width="15%" align="center" bgcolor='#EEF4EA' class='linerow'><strong>文件大小</strong></td>
  140. <td width="30%" align="center" background="img/wbg.gif" class='linerow'><strong>最后修改时间</strong></td>
  141. </tr>
  142. <tr>
  143. <td class='linerow' colspan='4' bgcolor='#F9FBF0'>
  144. 点击“V”预览图片,点击图片名选择图片,显示图片后点击该图片关闭预览。
  145. </td>
  146. </tr>
  147. <?php
  148. $dh = dir($inpath);
  149. $ty1 = "";
  150. $ty2 = "";
  151. while ($file = $dh->read()) {
  152. //-----计算文件大小和创建时间
  153. if ($file != "." && $file != ".." && !is_dir("$inpath/$file")) {
  154. $filesize = filesize("$inpath/$file");
  155. $filesize = $filesize / 1024;
  156. if ($filesize != "")
  157. if ($filesize < 0.1) {
  158. @list($ty1, $ty2) = split("\.", $filesize);
  159. $filesize = $ty1 . "." . substr($ty2, 0, 2);
  160. } else {
  161. @list($ty1, $ty2) = split("\.", $filesize);
  162. $filesize = $ty1 . "." . substr($ty2, 0, 1);
  163. }
  164. $filetime = filemtime("$inpath/$file");
  165. $filetime = MyDate("Y-m-d H:i:s", $filetime);
  166. }
  167. if ($file == ".") continue;
  168. else if ($file == "..") {
  169. if ($activepath == "") continue;
  170. $tmp = preg_replace("#[\/][^\/]*$#i", "", $activepath);
  171. $line = "\n<tr>
  172. <td class='linerow' colspan='2'>
  173. <a href='select_images.php?imgstick=$imgstick&v=$v&f=$f&activepath=" . urlencode($tmp) . $addparm . "'><img src=img/dir2.gif border=0 width=16 height=16 align=absmiddle>上级目录</a></td>
  174. <td colspan='2' class='linerow'> 当前目录:$activepath</td>
  175. </tr>
  176. ";
  177. echo $line;
  178. } else if (is_dir("$inpath/$file")) {
  179. if (preg_match("#^_(.*)$#i", $file)) continue; #屏蔽FrontPage扩展目录和linux隐蔽目录
  180. if (preg_match("#^\.(.*)$#i", $file)) continue;
  181. $line = "\n<tr>
  182. <td bgcolor='#F9FBF0' class='linerow' colspan='2'>
  183. <a href='select_images.php?imgstick=$imgstick&v=$v&f=$f&activepath=" . urlencode("$activepath/$file") . $addparm . "'><img src=img/dir.gif border=0 width=16 height=16 align=absmiddle>$file</a></td>
  184. <td class='linerow'> </td>
  185. <td bgcolor='#F9FBF0' class='linerow'> </td>
  186. </tr>";
  187. echo "$line";
  188. } else if (preg_match("#\.(" . $cfg_imgtype . ")#i", $file)) {
  189. $reurl = "$activeurl/$file";
  190. $reurl = preg_replace("#^\.\.#", "", $reurl);
  191. if ($cfg_remote_site == 'Y' && $remoteuploads == 1) {
  192. $reurl = $remoteupUrl . $reurl;
  193. } else {
  194. $reurl = $reurl;
  195. }
  196. if ($file == $comeback) $lstyle = " style='color:red' ";
  197. else $lstyle = "";
  198. $line = "\n<tr>
  199. <td align='center' class='linerow' bgcolor='#F9FBF0'>
  200. <a href=\"#\" onClick=\"ChangeImage('$reurl');\"><img src='img/picviewnone.gif' width='16' height='16' border='0' align=absmiddle></a>
  201. </td>
  202. <td class='linerow' bgcolor='#F9FBF0'>
  203. <a href=# onclick=\"ReturnImg('$reurl');\" $lstyle><img src=img/gif.gif border=0 width=16 height=16 align=absmiddle>$file</a></td>
  204. <td class='linerow'>$filesize KB</td>
  205. <td align='center' class='linerow' bgcolor='#F9FBF0'>$filetime</td>
  206. </tr>";
  207. echo "$line";
  208. } else if (preg_match("#\.(jpg)#i", $file)) {
  209. $reurl = "$activeurl/$file";
  210. $reurl = preg_replace("#^\.\.#", "", $reurl);
  211. if ($cfg_remote_site == 'Y' && $remoteuploads == 1) {
  212. $reurl = $remoteupUrl . $reurl;
  213. } else {
  214. $reurl = $reurl;
  215. }
  216. if ($file == $comeback) $lstyle = " style='color:red' ";
  217. else $lstyle = "";
  218. $line = "\n<tr>
  219. <td align='center' class='linerow' bgcolor='#F9FBF0'>
  220. <a href=\"#\" onClick=\"ChangeImage('$reurl');\"><img src='img/picviewnone.gif' width='16' height='16' border='0' align=absmiddle></a>
  221. </td>
  222. <td class='linerow' bgcolor='#F9FBF0'>
  223. <a href=# onclick=\"ReturnImg('$reurl');\" $lstyle><img src=img/jpg.gif border=0 width=16 height=16 align=absmiddle>$file</a>
  224. </td>
  225. <td class='linerow'>$filesize KB</td>
  226. <td align='center' class='linerow' bgcolor='#F9FBF0'>$filetime</td>
  227. </tr>";
  228. echo "$line";
  229. }
  230. } //End Loop
  231. $dh->close();
  232. ?>
  233. <tr>
  234. <td colspan='4' bgcolor='#E8F1DE'>
  235. <table width='100%'>
  236. <form action='select_images_post.php' method='POST' enctype="multipart/form-data" name='myform'>
  237. <?php $noeditor = !empty($noeditor) ? "<input type='hidden' name='noeditor' value='yes'>" : '';
  238. echo $noeditor; ?>
  239. <input type='hidden' name='activepath' value='<?php echo $activepath ?>'>
  240. <input type='hidden' name='f' value='<?php echo $f ?>'>
  241. <input type='hidden' name='v' value='<?php echo $v ?>'>
  242. <input type='hidden' name='imgstick' value='<?php echo $imgstick ?>'>
  243. <input type='hidden' name='CKEditorFuncNum' value='<?php echo isset($CKEditorFuncNum) ? $CKEditorFuncNum : 1; ?>'>
  244. <input type='hidden' name='job' value='upload'>
  245. <tr>
  246. <td background="img/tbg.gif" bgcolor="#99CC00">
  247. &nbsp;上 传: <input type='file' name='imgfile' style='width:200px' />
  248. <label><input type='checkbox' name='needwatermark' value='1' class='np' <?php if ($photo_markup == '1') echo "checked"; ?> /> 水印 </label>
  249. <label><input type='checkbox' name='resize' value='1' class='np' /> 缩小 </label>
  250. 宽:<input type='text' style='width:46px' name='iwidth' value='<?php echo $cfg_ddimg_width ?>' />
  251. 高:<input type='text' style='width:46px' name='iheight' value='<?php echo $cfg_ddimg_height ?>' />
  252. <button type='submit' name='sb1' class="btn btn-secondary btn-sm">确定</button>
  253. </td>
  254. </tr>
  255. </form>
  256. </table>
  257. </td>
  258. </tr>
  259. </table>
  260. </td>
  261. </tr>
  262. </table>
  263. </body>
  264. </html>