国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

293 рядки
10.0KB

  1. <?php
  2. /**
  3. * 图集编辑
  4. *
  5. * @version $Id: album_edit.php 1 13:52 2010年7月9日Z tianya $
  6. * @package DedeCMS.Member
  7. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.com
  10. */
  11. require_once(dirname(__FILE__)."/config.php");
  12. CheckRank(0,0);
  13. if($cfg_mb_lit=='Y')
  14. {
  15. ShowMsg("由于系统开启了精简版会员空间,你访问的功能不可用!","-1");
  16. exit();
  17. }
  18. if($cfg_mb_album=='N')
  19. {
  20. ShowMsg("对不起,由于系统关闭了图集功能,你访问的功能不可用!","-1");
  21. exit();
  22. }
  23. require_once(DEDEINC."/dedetag.class.php");
  24. require_once(DEDEINC."/customfields.func.php");
  25. require_once(DEDEMEMBER."/inc/inc_catalog_options.php");
  26. require_once(DEDEMEMBER."/inc/inc_archives_functions.php");
  27. $channelid = isset($channelid) && is_numeric($channelid) ? $channelid : 2;
  28. $aid = isset($aid) && is_numeric($aid) ? $aid : 0;
  29. $menutype = 'content';
  30. if(empty($formhtml)) $formhtml = 0;
  31. /*-------------
  32. function _ShowForm(){ }
  33. --------------*/
  34. if(empty($dopost))
  35. {
  36. //读取归档信息
  37. $arcQuery = "SELECT arc.*,ch.addtable,ch.fieldset,ch.arcsta
  38. FROM `#@__archives` arc LEFT JOIN `#@__channeltype` ch ON ch.id=arc.channel
  39. WHERE arc.id='$aid' AND arc.mid='".$cfg_ml->M_ID."'; ";
  40. $row = $dsql->GetOne($arcQuery);
  41. if(!is_array($row))
  42. {
  43. ShowMsg("读取文档信息出错!","-1");
  44. exit();
  45. }
  46. else if($row['arcrank']>=0)
  47. {
  48. $dtime = time();
  49. $maxtime = $cfg_mb_editday * 24 *3600;
  50. if($dtime - $row['senddate'] > $maxtime)
  51. {
  52. ShowMsg("这篇文档已经锁定,你不能再修改它!","-1");
  53. exit();
  54. }
  55. }
  56. $addRow = $dsql->GetOne("SELECT * FROM `{$row['addtable']}` WHERE aid='$aid'; ");
  57. $dtp = new DedeTagParse();
  58. $dtp->LoadSource($addRow['imgurls']);
  59. $abinfo = $dtp->GetTagByName('pagestyle');
  60. $row=XSSClean($row);$addRow=XSSClean($addRow);
  61. include(DEDEMEMBER."/templets/album_edit.htm");
  62. exit();
  63. }
  64. /*------------------------------
  65. function _Save(){ }
  66. ------------------------------*/
  67. else if($dopost=='save')
  68. {
  69. $svali = GetCkVdValue();
  70. if(preg_match("/1/",$safe_gdopen)){
  71. if(strtolower($vdcode)!=$svali || $svali=='')
  72. {
  73. ResetVdValue();
  74. ShowMsg('验证码错误!', '-1');
  75. exit();
  76. }
  77. }
  78. $cInfos = $dsql->GetOne("Select * From `#@__channeltype` where id='$channelid'; ");
  79. $maxwidth = isset($maxwidth) && is_numeric($maxwidth) ? $maxwidth : 800;
  80. $pagepicnum = isset($pagepicnum) && is_numeric($pagepicnum) ? $pagepicnum : 12;
  81. $ddmaxwidth = isset($ddmaxwidth) && is_numeric($ddmaxwidth) ? $ddmaxwidth : 200;
  82. $prow = isset($prow) && is_numeric($prow) ? $prow : 3;
  83. $pcol = isset($pcol) && is_numeric($pcol) ? $pcol : 3;
  84. $pagestyle = in_array($pagestyle,array('1','2','3')) ? $pagestyle : 2;
  85. include(DEDEMEMBER.'/inc/archives_check_edit.php');
  86. $imgurls = "{dede:pagestyle maxwidth='$maxwidth' pagepicnum='$pagepicnum'
  87. ddmaxwidth='$ddmaxwidth' row='$prow' col='$pcol' value='$pagestyle'/}\r\n";
  88. $hasone = false;
  89. $ddisfirst=1;
  90. //处理并保存所指定的图片从网上复制
  91. if($formhtml==1)
  92. {
  93. $imagebody = stripslashes($imagebody);
  94. $imgurls .= GetCurContentAlbum($imagebody,$copysource,$litpicname);
  95. if($ddisfirst==1 && $litpic=='' && !empty($litpicname))
  96. {
  97. $litpic = $litpicname;
  98. $hasone = true;
  99. }
  100. }
  101. $info = '';
  102. //检查已上传或直接上传的图片
  103. for($i=1;$i<=120;$i++)
  104. {
  105. //含有图片的条件
  106. if(isset(${'imgurl'.$i}) || (isset($_FILES['imgfile'.$i]['tmp_name']) && is_uploaded_file($_FILES['imgfile'.$i]['tmp_name'])))
  107. {
  108. $iinfo = str_replace("'","`",stripslashes(${'imgmsg'.$i}));
  109. if(!is_uploaded_file($_FILES['imgfile'.$i]['tmp_name']))
  110. {
  111. $iurl = stripslashes(${'imgurl'.$i});
  112. //如果有旧图
  113. if(isset(${'imgurl'.$i}))
  114. {
  115. $litpicname = $iurl;
  116. $filename = $iurl;
  117. //缩图
  118. if($pagestyle > 2)
  119. {
  120. $litpicname = GetImageMapDD($filename,$ddmaxwidth);
  121. if($litpicname != '')
  122. {
  123. SaveUploadInfo($title.' 小图',$litpicname,1);
  124. }
  125. }
  126. }
  127. else
  128. {
  129. continue;
  130. }
  131. }
  132. else
  133. {
  134. $sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png","image/xpng","image/wbmp");
  135. if(!in_array($_FILES['imgfile'.$i]['type'],$sparr))
  136. {
  137. continue;
  138. }
  139. if(isset(${'imgurl'.$i}))
  140. {
  141. $filename = ${'imgurl'.$i};
  142. }
  143. else
  144. {
  145. $filename = '';
  146. }
  147. $filename = MemberUploads('imgfile'.$i,$filename,$cfg_ml->M_ID,'image','',0,0,false);
  148. if($filename!='')
  149. {
  150. SaveUploadInfo($title,$filename,1);
  151. }
  152. $litpicname = $filename;
  153. //缩图
  154. if($pagestyle > 2)
  155. {
  156. $litpicname = GetImageMapDD($filename,$ddmaxwidth);
  157. if($litpicname != '')
  158. {
  159. SaveUploadInfo($title.' 小图',$litpicname,1);
  160. }
  161. }
  162. }
  163. $imgfile = $cfg_basedir.$filename;
  164. if(is_file($imgfile))
  165. {
  166. $iurl = $filename;
  167. $info = '';
  168. $imginfos = @getimagesize($imgfile,$info);
  169. $imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $iurl {/dede:img}\r\n";
  170. }
  171. if(!$hasone && $litpic=='' && !empty($litpicname))
  172. {
  173. $litpic = $litpicname;
  174. $hasone = true;
  175. }
  176. }
  177. }//循环结束
  178. $imgurls = addslashes($imgurls);
  179. //分析处理附加表数据
  180. $inadd_f = '';
  181. if(!empty($dede_addonfields))
  182. {
  183. $addonfields = explode(';',$dede_addonfields);
  184. if(is_array($addonfields))
  185. {
  186. foreach($addonfields as $v)
  187. {
  188. if($v=='')
  189. {
  190. continue;
  191. }
  192. $vs = explode(',',$v);
  193. if(!isset(${$vs[0]}))
  194. {
  195. ${$vs[0]} = '';
  196. }
  197. ${$vs[0]} = GetFieldValueA(${$vs[0]},$vs[1],$aid);
  198. $inadd_f .= ','.$vs[0]." ='".${$vs[0]}."' ";
  199. }
  200. }
  201. if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))
  202. {
  203. showMsg('数据校验不对,程序返回', '-1');
  204. exit();
  205. }
  206. // 这里对前台提交的附加数据进行一次校验
  207. $fontiterm = PrintAutoFieldsAdd($cInfos['fieldset'],'autofield', FALSE);
  208. if ($fontiterm != $inadd_f)
  209. {
  210. ShowMsg("提交表单同系统配置不相符,请重新提交!", "-1");
  211. exit();
  212. }
  213. }
  214. $description = HtmlReplace($description, -1);
  215. //处理图片文档的自定义属性
  216. if($litpic!='') $flag = 'p';
  217. //更新数据库的SQL语句
  218. //更新数据库的SQL语句
  219. $upQuery = "UPDATE `#@__archives` SET
  220. ismake='$ismake',
  221. arcrank='$arcrank',
  222. typeid='$typeid',
  223. title='$title',
  224. litpic='$litpic',
  225. description='$description',
  226. keywords='$keywords',
  227. mtype='$mtypesid',
  228. flag='$flag'
  229. WHERE id='$aid' AND mid='$mid'; ";
  230. if(!$dsql->ExecuteNoneQuery($upQuery))
  231. {
  232. ShowMsg("把数据保存到数据库主表时出错,请联系管理员!".$dsql->GetError(),"-1");
  233. exit();
  234. }
  235. $isrm = 0;
  236. if($addtable!='')
  237. {
  238. $query = "UPDATE `$addtable`
  239. set typeid='$typeid',
  240. pagestyle='$pagestyle',
  241. maxwidth = '$maxwidth',
  242. ddmaxwidth = '$ddmaxwidth',
  243. pagepicnum = '$pagepicnum',
  244. imgurls='$imgurls',
  245. row='$prow',
  246. col='$pcol',
  247. userip='$userip',
  248. isrm='$isrm'{$inadd_f}
  249. WHERE aid='$aid'; ";
  250. if(!$dsql->ExecuteNoneQuery($query))
  251. {
  252. ShowMsg("更新附加表 `$addtable` 时出错,请联系管理员!".$dsql->GetError(),"javascript:;");
  253. exit();
  254. }
  255. }
  256. UpIndexKey($aid, $arcrank, $typeid, $sortrank, $tags);
  257. $artUrl = MakeArt($aid, TRUE);
  258. if($artUrl=='') $artUrl = $cfg_phpurl."/view.php?aid=$aid";
  259. //---------------------------------
  260. //返回成功信息
  261. //----------------------------------
  262. $msg = "  请选择你的后续操作:
  263. <a href='album_add.php?cid=$typeid'><u>发布新图集</u></a>
  264. &nbsp;&nbsp;
  265. <a href='archives_do.php?channelid=$channelid&aid=".$aid."&dopost=edit'><u>查看更改</u></a>
  266. &nbsp;&nbsp;
  267. <a href='$artUrl' target='_blank'><u>查看图集</u></a>
  268. &nbsp;&nbsp;
  269. <a href='content_list.php?channelid=$channelid'><u>管理图集</u></a> ";
  270. $wintitle = "成功更改图集!";
  271. $wecome_info = "图集管理::更改图集";
  272. $win = new OxWindow();
  273. $win->AddTitle("成功更改图集:");
  274. $win->AddMsgItem($msg);
  275. $winform = $win->GetWindow("hand","&nbsp;",false);
  276. $win->Display();
  277. }