国内流行的内容管理系统(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.

496 lines
20KB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  6. <title>修改图片模型</title>
  7. <link rel="stylesheet" href="../static/web/font/css/font-awesome.min.css">
  8. <link rel="stylesheet" href="../static/web/css/bootstrap.min.css">
  9. <link rel="stylesheet" href="../static/web/css/admin.css">
  10. <link rel="stylesheet" href="../static/web/css/daterangepicker.css">
  11. <link rel="stylesheet" href="../static/web/css/cropper.min.css">
  12. <link rel="stylesheet" href="../static/web/css/jquery.fileupload.css">
  13. <link rel="stylesheet" href="css/albumupload.min.css">
  14. <script>const cfg_uplitpic_cut = '<?php echo $cfg_uplitpic_cut;?>';</script>
  15. <script src="../static/web/js/jquery.min.js"></script>
  16. <script src="../static/web/js/bootstrap.min.js"></script>
  17. <script src="../static/web/js/webajax.js"></script>
  18. <script src="../static/web/js/moment.min.js"></script>
  19. <script src="../static/web/js/daterangepicker.js"></script>
  20. <script src="js/main.js"></script>
  21. <script src="js/album.js"></script>
  22. <script src="js/handlers.js"></script>
  23. <script src="../static/web/js/cropper.min.js"></script>
  24. <style>table{border-collapse:inherit}input[type=file]{width: 100%;}</style>
  25. <script>
  26. var swfu = null;
  27. var vcc = 0;
  28. var albums = [];
  29. </script>
  30. </head>
  31. <body>
  32. <form name="form1" action="album_edit.php" enctype="multipart/form-data" method="post" onSubmit="return checkSubmitAlb();">
  33. <input type="hidden" name="channelid" value="<?php echo $channelid?>">
  34. <input type="hidden" name="id" value="<?php echo $aid?>">
  35. <input type="hidden" name="imagebody" value="">
  36. <input type="hidden" name="dopost" value="save">
  37. <input type="hidden" id="albums" name="albums" value="">
  38. <table width="98%" align="center" cellpadding="0" cellspacing="0" id="head1" class="mt-3">
  39. <tr>
  40. <td>
  41. <table cellpadding="0" cellspacing="0">
  42. <tr>
  43. <td width="80" align="center" class="admin-itemnote1">常规文档</td>
  44. </tr>
  45. </table>
  46. </td>
  47. </tr>
  48. </table>
  49. <table width="98%" align="center" cellpadding="2" cellspacing="2" id="needset" class="admin-border">
  50. <tr>
  51. <td class="admin-td">
  52. <table cellspacing="0" cellpadding="0">
  53. <tr>
  54. <td width="90">图片标题:</td>
  55. <td width="400"><input type="text" name="title" id="title" value="<?php echo $arcRow['title'];?>" class="admin-input-lg"></td>
  56. <td width="90">简略标题:</td>
  57. <td><input type="text" name="shorttitle" id="shorttitle" value="<?php echo $arcRow['shorttitle'];?>" class="admin-input-sm"></td>
  58. </tr>
  59. </table>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td class="admin-td">
  64. <table cellspacing="0" cellpadding="0">
  65. <tr>
  66. <td width="90">自定义属性:</td>
  67. <td>
  68. <?php
  69. $dsql->SetQuery("SELECT * FROM `#@__arcatt` ORDER BY sortid ASC");
  70. $dsql->Execute();
  71. while($trow = $dsql->GetObject())
  72. {
  73. if ($trow->att=='j') $jumpclick = " onclick='ShowUrlTr()'";
  74. else $jumpclick = '';
  75. if (preg_match("#".$trow->att."#", $arcRow['flag']))
  76. echo "<label class='mr-2'><input type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}' {$jumpclick} checked='checked'> {$trow->attname}[{$trow->att}]</label>";
  77. else
  78. echo "<label class='mr-2'><input type='checkbox' name='flags[]' id='flags{$trow->att}' value='{$trow->att}'{$jumpclick} /> {$trow->attname}[{$trow->att}]</label>";
  79. }
  80. ?>
  81. </td>
  82. </tr>
  83. </table>
  84. </td>
  85. </tr>
  86. <tr>
  87. <td class="admin-td" id="redirecturltr" style="display:<?php echo (empty($addRow['redirecturl']) ? 'none' : 'block');?>">
  88. <table cellspacing="0" cellpadding="0">
  89. <tr>
  90. <td width="90">跳转网址:</td>
  91. <td><input type="text" name="redirecturl" id="redirecturl" value="<?php echo $addRow['redirecturl']?>" class="admin-input-md"></td>
  92. </tr>
  93. </table>
  94. </td>
  95. </tr>
  96. <tr>
  97. <td class="admin-td">
  98. <table cellspacing="0" cellpadding="0">
  99. <tr>
  100. <td width="90">标签:</td>
  101. <td><input type="text" name="tags" id="tags" value="<?php echo $tags;?>" class="admin-input-md">(英文逗号分开,如“DedeBIZ,得德”)</td>
  102. <td width="60">权重:</td>
  103. <td><input type="text" name="weight" id="weight" value="<?php echo $arcRow['weight'];?>" class="admin-input-sm">(越小越靠前)</td>
  104. </tr>
  105. </table>
  106. </td>
  107. </tr>
  108. <tr id="pictable">
  109. <td class="admin-td">
  110. <table cellspacing="0" cellpadding="0">
  111. <tr>
  112. <td width="90">缩略图:</td>
  113. <td width="620">
  114. <input type="text" name="picname" id="picname" value="<?php echo $arcRow['litpic']?>" class="admin-input-md">
  115. <label><input type="checkbox" name="ddisremote" value="1" id="ddisremote"> 远程</label>
  116. <span class="btn btn-success btn-sm fileinput-button">上传图片<input type="file" name="files[]" id="iptAddImages"></span>
  117. <button type="button" name="Submit" onclick="SelectImage('form1.picname','');" class="btn btn-success btn-sm">选择图片</button>
  118. <button type="button" id="btnClearAll" class="btn btn-success btn-sm">清空</button>
  119. </td>
  120. <td><img src="<?php if ($arcRow['litpic']!='') echo $arcRow['litpic']; else echo '../static/web/img/thumbnail.jpg';?>" id="litPic" class="thumbnail-md"></td>
  121. </tr>
  122. </table>
  123. </td>
  124. </tr>
  125. <tr>
  126. <td class="admin-td">
  127. <table cellspacing="0" cellpadding="0">
  128. <tr>
  129. <td width="90">来源:</td>
  130. <td width="260">
  131. <input type="text" name="source" id="source" value="<?php echo $arcRow['source']?>" class="admin-input-sm">
  132. <button type="button" name="selsource" id="selsource" class="btn btn-success btn-sm">选择</button>
  133. </td>
  134. <td width="90">作者:</td>
  135. <td>
  136. <input type="text" name="writer" id="writer" value="<?php echo $arcRow['writer']?>" class="admin-input-sm">
  137. <button type="button" name="selwriter" id="selwriter" class="btn btn-success btn-sm">选择</button>
  138. </td>
  139. </tr>
  140. </table>
  141. </td>
  142. </tr>
  143. <tr>
  144. <td class="admin-td">
  145. <table cellspacing="0" cellpadding="0">
  146. <tr>
  147. <td width="90">发布栏目:</td>
  148. <td width="360">
  149. <?php
  150. $typeOptions = GetOptionList($arcRow['typeid'],$cuserLogin->getUserChannel(),$channelid);
  151. echo "<select name='typeid' id='typeid' class='admin-input-sm'>";
  152. if ($arcRow['typeid']=='0') echo "<option value='0' selected>请选择主分类</option>";
  153. echo $typeOptions;
  154. echo '</select>';
  155. ?>
  156. <i class="btn btn-sm fa fa-search" onclick="ShowCatMap(event,this,<?php echo $channelid;?>,'typeid','<?php echo $arcRow['typeid'];?>')" title="快捷选择"></i>
  157. </td>
  158. <td width="90">需要金币:</td>
  159. <td><input type="text" name="money" id="money" value="<?php echo $arcRow['money']?>" class="admin-input-sm"></td>
  160. </tr>
  161. </table>
  162. </td>
  163. </tr>
  164. <?php if ($cfg_need_typeid2=='Y') {?>
  165. <tr>
  166. <td class="admin-td">
  167. <table cellspacing="0" cellpadding="0">
  168. <tr>
  169. <td width="90">副栏目:</td>
  170. <td>
  171. <span id="typeid2ct"></span>
  172. <input type="text" name="typeid2" id="typeid2" value="<?php echo ($arcRow['typeid2']=='0' ? '' : $arcRow['typeid2']);?>" class="admin-input-sm">
  173. <i class="btn btn-sm fa fa-search" onclick="ShowCatMap(event,this,<?php echo $channelid;?>,'typeid2','<?php echo $arcRow['typeid2'];?>')" title="选择副栏目"></i>
  174. </td>
  175. </tr>
  176. </table>
  177. </td>
  178. </tr>
  179. <tr>
  180. <td class="admin-td">
  181. <table cellspacing="0" cellpadding="0">
  182. <tr>
  183. <td width="90">关键词:</td>
  184. <td><input type="text" name="keywords" id="keywords" value="<?php echo $arcRow['keywords']?>" class="admin-input-md"></td>
  185. </tr>
  186. </table>
  187. </td>
  188. </tr>
  189. <tr>
  190. <td class="admin-td">
  191. <table cellspacing="0" cellpadding="0">
  192. <tr>
  193. <td width="90">描述:</td>
  194. <td><textarea name="description" id="description" class="admin-textarea-sm"><?php echo $arcRow['description']?></textarea></td>
  195. </tr>
  196. </table>
  197. </td>
  198. </tr>
  199. <?php }?>
  200. <tr>
  201. <td><?php PrintAutoFieldsEdit(stripslashes($cInfos['fieldset']),$addRow,'autofield');?></td>
  202. </tr>
  203. <tr>
  204. <td class="admin-td">
  205. <table cellspacing="0" cellpadding="0">
  206. <tr>
  207. <td width="90">表现方式:</td>
  208. <td>
  209. <label><input type="radio" name="pagestyle" id="pagestyle1" onclick="checkMuList()" value="1" <?php if ($pagestyle==1) echo " checked='checked'";?>> <img src="../static/web/img/alb2.jpg" title="单页多图样式"></label>
  210. <label><input type="radio" name="pagestyle" id="pagestyle2" onclick="checkMuList()" value="2" <?php if ($pagestyle==2) echo " checked='checked'";?>> <img src="../static/web/img/alb1.jpg" title="幻灯片样式"></label>
  211. <label><input type="radio" name="pagestyle" id="pagestyle3" onclick="checkMuList()" value="3" <?php if ($pagestyle==3) echo " checked='checked'";?>> <img src="../static/web/img/alb3.jpg" title="多缩略图样式"></label>
  212. </td>
  213. </tr>
  214. </table>
  215. </td>
  216. </tr>
  217. <tr id="cfgmulist" style="<?php if ($pagestyle!=3) echo 'display:none';?>">
  218. <td class="admin-td">
  219. <table cellspacing="0" cellpadding="0">
  220. <tr>
  221. <td width="90">多列式参数:</td>
  222. <td>
  223. 行 <input type="text" name="row" id="row" value="<?php echo $irow;?>" size="6">
  224. 列 <input type="text" name="col" id="col" value="<?php echo $icol;?>" size="6">
  225. 缩略图宽度限制:<input type="text" name="ddmaxwidth" id="ddmaxwidth" value="<?php echo $ddmaxwidth;?>" size="6"> 像素
  226. </td>
  227. </tr>
  228. <tr>
  229. <td></td>
  230. <td>(系统仅是每页输出&quot;行x列&quot;张图片,实现需自行控制样式表)</td>
  231. </tr>
  232. </table>
  233. </td>
  234. </tr>
  235. <tr id="spagelist" style="<?php if ($pagestyle!=1) echo 'display:none';?>">
  236. <td class="admin-td">
  237. <table cellspacing="0" cellpadding="0">
  238. <tr>
  239. <td width="90">每页图片数:</td>
  240. <td><input name="pagepicnum" id="pagpicnum" size="10" value="<?php echo $pagepicnum;?>"> 单页多图显示需要设置此参数,这种模式下系统不会为每张图单独生成缩略图</td>
  241. </tr>
  242. </table>
  243. </td>
  244. </tr>
  245. <tr style="display:none">
  246. <td class="admin-td">
  247. <table cellspacing="0" cellpadding="0">
  248. <tr>
  249. <td width="90">限制宽度:</td>
  250. <td><input type="text" name="maxwidth" id="maxwidth" size="10" value="<?php echo $maxwidth?>">(防止图片太宽在模板页中溢出)</td>
  251. </tr>
  252. </table>
  253. </td>
  254. </tr>
  255. <tr id="htmlfield" style="display:none">
  256. <td class="admin-td">
  257. <table cellspacing="0" cellpadding="0">
  258. <tr>
  259. <td width="90">网上复制:</td>
  260. <td>
  261. 复制的源网址:<input type="text" name="copysource" value="http://" class="admin-input-md">(防盗链网站需填写您复制图片的其中一个网页网址)<br>
  262. 把图片从别的网页复制,在这里用Ctrl+V粘贴,提交后程序可直接获取这个区域的所有图片
  263. <input type="button" name="button" id="button" value="预览" onclick="LoadTestDiv()"><br>
  264. <div id="copyhtml" style="margin:10px 0;padding:10px;width:98%;height:200px;border:1px solid #ccc" contenteditable="true">粘贴到这里</div>
  265. </td>
  266. </tr>
  267. </table>
  268. </td>
  269. </tr>
  270. <tr>
  271. <td class="admin-td">
  272. <table width="100%">
  273. <tr>
  274. <td>
  275. <div id="thumbnailsEdit">
  276. <?php
  277. $j = 1;
  278. if ($imgurls!=""){
  279. $dtp = new DedeTagParse();
  280. $dtp->LoadSource($imgurls);
  281. if (is_array($dtp->CTags)) {
  282. foreach($dtp->CTags as $ctag)
  283. {
  284. if ($ctag->GetName()=="img") {
  285. $bigimg = trim($ctag->GetInnerText());
  286. if ($ctag->GetAtt('ddimg') != $bigimg && $ctag->GetAtt('ddimg')!='') {
  287. $litimg = $ctag->GetAtt('ddimg');
  288. } else {
  289. if (preg_match("#^(http|https):\/\/#i", $bigimg)) $litimg = $bigimg;
  290. else $litimg = 'swfupload.php?dopost=ddimg&img='.$bigimg;
  291. }
  292. $fhtml = '';
  293. $fhtml .= "<div class='albCt albEdit' id='albold{$j}'>";
  294. $fhtml .= "<input type='hidden' name='imgurl{$j}' value='{$bigimg}'>";
  295. $fhtml .= "<input type='hidden' name='imgddurl{$j}' value='{$litimg}'>";
  296. $fhtml .= "<img src='{$litimg}' id='lit{$j}'>";
  297. $fhtml .= "<div class='my-2'>标题:<input type='text' name='imgmsg{$j}' value='".$ctag->GetAtt('text')."' class='admin-input-sm'></div>";
  298. $fhtml .= "<div><span class='btn btn-success btn-sm file-relative'>更换<input for='item{$j}' type='file' name='imgfile{$j}' class='file-absolute btnEdit'></span><a href=\"javascript:delAlbPicOld('$bigimg',$j)\" class=\"btn btn-success btn-sm\">删除</a></div>";
  299. $fhtml .= "</div>";
  300. echo $fhtml;
  301. $j++;
  302. }
  303. }
  304. }
  305. $dtp->Clear();
  306. }
  307. ?>
  308. </div>
  309. </td>
  310. </tr>
  311. </table>
  312. </td>
  313. </tr>
  314. <tr>
  315. <td class="admin-td">
  316. <table cellspacing="0" cellpadding="0">
  317. <tr>
  318. <td width="90">增加图片:</td>
  319. <td><span class="btn btn-success btn-sm fileinput-button">上传图片(支持多选)<input type="file" name="files[]" id="iptAlbumImages" multiple></span></td>
  320. </tr>
  321. </table>
  322. </td>
  323. </tr>
  324. <tr>
  325. <td class="admin-td">
  326. <table width="100%">
  327. <tr>
  328. <td>
  329. <div id="divFileProgressContainer"></div>
  330. <div id="thumbnails"></div>
  331. </td>
  332. </tr>
  333. </table>
  334. </td>
  335. </tr>
  336. <tr>
  337. <td class="admin-td">
  338. <table cellspacing="0" cellpadding="0">
  339. <tr>
  340. <td width="90">图片文档:</td>
  341. <td><?php GetEditor("body",$body,400,"Diy");?></td>
  342. </tr>
  343. </table>
  344. </td>
  345. </tr>
  346. <tr>
  347. <td class="admin-td">
  348. <table cellspacing="0" cellpadding="0">
  349. <tr>
  350. <td width="90">评论选项:</td>
  351. <td width="260">
  352. <label><input type="radio" name="notpost" value="0" <?php if ($arcRow['notpost']==0) echo "checked='1'";?>> 允许评论</label>
  353. <label><input type="radio" name="notpost" value="1" <?php if ($arcRow['notpost']==1) echo "checked='1'";?>> 禁止评论</label>
  354. </td>
  355. <td width="90">发布选项:</td>
  356. <td>
  357. <label><input type="radio" name="ishtml" value="1" <?php if ($arcRow["ismake"]!=-1) echo "checked";?>> 生成网页</label>
  358. <label><input type="radio" name="ishtml" value="0" <?php if ($arcRow["ismake"]==-1) echo "checked";?>> 仅动态浏览</label>
  359. </td>
  360. </tr>
  361. </table>
  362. </td>
  363. </tr>
  364. <tr>
  365. <td class="admin-td">
  366. <table cellspacing="0" cellpadding="0">
  367. <tr>
  368. <td width="90">文档排序:</td>
  369. <td width="260">
  370. <select name="sortup" id="sortup" class="admin-input-sm">
  371. <?php
  372. $subday = SubDay($arcRow["sortrank"],$arcRow["pubdate"]);
  373. echo "<option value='0'>正常排序</option>";
  374. if ($subday>0) echo "<option value='$subday' selected>置顶<span class='text-primary'>$subday</span>天</option>";
  375. ?>
  376. <option value="7">置顶一周</option>
  377. <option value="30">置顶一个月</option>
  378. <option value="90">置顶三个月</option>
  379. <option value="180">置顶半年</option>
  380. <option value="360">置顶一年</option>
  381. </select>
  382. </td>
  383. <td width="90">标题颜色:</td>
  384. <td>
  385. <input type="text" name="color" id="color" value="<?php echo $arcRow['color']?>" class="admin-input-sm">
  386. <button type="button" name="modcolor" id="modcolor" class="btn btn-success btn-sm" onclick="ShowColor(event,this)">选取</button>
  387. </td>
  388. </tr>
  389. </table>
  390. </td>
  391. </tr>
  392. <tr>
  393. <td class="admin-td">
  394. <table cellspacing="0" cellpadding="0">
  395. <tr>
  396. <td width="90">阅读权限:</td>
  397. <td width="260">
  398. <select name="arcrank" id="arcrank" class="admin-input-sm">
  399. <option value="<?php echo $arcRow['arcrank']?>"><?php echo $arcRow["rankname"]?></option>
  400. <?php
  401. $urank = $cuserLogin->getUserRank();
  402. $dsql->SetQuery("SELECT * FROM #@__arcrank where adminrank<='$urank'");
  403. $dsql->Execute();
  404. while($row = $dsql->GetObject()){
  405. echo "<option value='".$row->rank."'>".$row->membername."</option>";
  406. }
  407. ?>
  408. </select>
  409. </td>
  410. <td width="90">文件名称:</td>
  411. <td><input type="text" name="filename" id="filename" value="<?php echo $arcRow['filename']?>" class="admin-input-sm">(不包括后缀名如.html等)
  412. </td>
  413. </tr>
  414. </table>
  415. </td>
  416. </tr>
  417. <tr>
  418. <td class="admin-td">
  419. <table cellspacing="0" cellpadding="0">
  420. <tr>
  421. <td width="90">发布时间:</td>
  422. <td width="260">
  423. <?php
  424. $nowtime = GetDateTimeMk(time());
  425. echo "<input type='text' name='pubdate' value='$nowtime' id='pubdate' class='datepicker admin-input-sm'>";
  426. ?>
  427. </td>
  428. <td width="90">浏览次数:</td>
  429. <td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td>
  430. </tr>
  431. </table>
  432. </td>
  433. </tr>
  434. </table>
  435. <table width="98%" cellspacing="0" cellpadding="0" align="center" class="admin-border border-top-0 mb-3">
  436. <tr>
  437. <td bgcolor="#f5f5f5" align="center" class="py-2">
  438. <button type="submit" class="btn btn-success btn-sm">保存</button>
  439. <button type="button" class="btn btn-outline-success btn-sm" onclick="location.reload();">重置</button>
  440. </td>
  441. </tr>
  442. </table>
  443. </form>
  444. <script>InitPage();</script>
  445. <script>
  446. $(".btnEdit").change(function(val){
  447. var formData = new FormData();
  448. var fileData = val.target.files[0];
  449. formData.append('file', fileData);
  450. $.ajax({
  451. url: 'api.php?action=upload_image',
  452. type: 'POST',
  453. data: formData,
  454. processData: false,
  455. contentType: false,
  456. success: function (result) {
  457. if (result.code === 0) {
  458. let idx = val.target.getAttribute("for").replace("item","");
  459. $(`input[name='imgurl${idx}']`).val(result.data);
  460. $(`input[name='imgddurl${idx}']`).val(result.data);
  461. $("#lit"+idx).attr('src', result.data);
  462. }
  463. },
  464. error: function (xhr, status, error) {
  465. alert(error); //处理上传失败后的回调
  466. }
  467. });
  468. })
  469. $("#iptAlbumImages").change(function(val){
  470. for (let i = 0; i < val.target.files.length; i++) {
  471. const f = val.target.files[i];
  472. var formData = new FormData();
  473. var fileData = f;
  474. formData.append('file', fileData);
  475. $.ajax({
  476. url: 'api.php?action=upload_image',
  477. type: 'POST',
  478. data: formData,
  479. processData: false,
  480. contentType: false,
  481. success: function (result) {
  482. if (result.code === 0) {
  483. // console.log(result)
  484. addImage(result.data, 0);
  485. $("#iptAlbumImages").val('');
  486. }
  487. },
  488. error: function (xhr, status, error) {
  489. alert(error); //处理上传失败后的回调
  490. }
  491. });
  492. }
  493. })
  494. </script>
  495. </body>
  496. </html>