国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

161 wiersze
4.8KB

  1. <?php
  2. /**
  3. *
  4. * 自定义表单
  5. *
  6. * @version $Id: diy.php 1 15:38 2010年7月8日Z tianya $
  7. * @package DedeCMS.Site
  8. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  9. * @license http://help.dedecms.com/usersguide/license.html
  10. * @link http://www.dedecms.com
  11. */
  12. require_once(dirname(__FILE__)."/../include/common.inc.php");
  13. $diyid = isset($diyid) && is_numeric($diyid) ? $diyid : 0;
  14. $action = isset($action) && in_array($action, array('post', 'list', 'view')) ? $action : 'post';
  15. $id = isset($id) && is_numeric($id) ? $id : 0;
  16. if(empty($diyid))
  17. {
  18. showMsg('非法操作!', 'javascript:;');
  19. exit();
  20. }
  21. require_once DEDEINC.'/diyform.cls.php';
  22. $diy = new diyform($diyid);
  23. /*----------------------------
  24. function Post(){ }
  25. ---------------------------*/
  26. if($action == 'post')
  27. {
  28. if(empty($do))
  29. {
  30. $postform = $diy->getForm(true);
  31. include DEDEROOT."/templets/plus/{$diy->postTemplate}";
  32. exit();
  33. }
  34. elseif($do == 2)
  35. {
  36. $dede_fields = empty($dede_fields) ? '' : trim($dede_fields);
  37. $dede_fieldshash = empty($dede_fieldshash) ? '' : trim($dede_fieldshash);
  38. if(!empty($dede_fields))
  39. {
  40. if($dede_fieldshash != md5($dede_fields.$cfg_cookie_encode))
  41. {
  42. showMsg('数据校验不对,程序返回', '-1');
  43. exit();
  44. }
  45. }
  46. $diyform = $dsql->getOne("select * from #@__diyforms where diyid='$diyid' ");
  47. if(!is_array($diyform))
  48. {
  49. showmsg('自定义表单不存在', '-1');
  50. exit();
  51. }
  52. $addvar = $addvalue = '';
  53. if(!empty($dede_fields))
  54. {
  55. $fieldarr = explode(';', $dede_fields);
  56. if(is_array($fieldarr))
  57. {
  58. foreach($fieldarr as $field)
  59. {
  60. if($field == '') continue;
  61. $fieldinfo = explode(',', $field);
  62. if($fieldinfo[1] == 'textdata')
  63. {
  64. ${$fieldinfo[0]} = FilterSearch(stripslashes(${$fieldinfo[0]}));
  65. ${$fieldinfo[0]} = addslashes(${$fieldinfo[0]});
  66. }
  67. else
  68. {
  69. ${$fieldinfo[0]} = GetFieldValue(${$fieldinfo[0]}, $fieldinfo[1],0,'add','','diy', $fieldinfo[0]);
  70. }
  71. $addvar .= ', `'.$fieldinfo[0].'`';
  72. $addvalue .= ", '".${$fieldinfo[0]}."'";
  73. }
  74. }
  75. }
  76. $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); ";
  77. if($dsql->ExecuteNoneQuery($query))
  78. {
  79. $id = $dsql->GetLastID();
  80. if($diy->public == 2)
  81. {
  82. //diy.php?action=view&diyid={$diy->diyid}&id=$id
  83. $goto = "diy.php?action=list&diyid={$diy->diyid}";
  84. $bkmsg = '发布成功,现在转向表单列表页...';
  85. }
  86. else
  87. {
  88. $goto = !empty($cfg_cmspath) ? $cfg_cmspath : '/';
  89. $bkmsg = '发布成功,请等待管理员处理...';
  90. }
  91. showmsg($bkmsg, $goto);
  92. }
  93. }
  94. }
  95. /*----------------------------
  96. function list(){ }
  97. ---------------------------*/
  98. else if($action == 'list')
  99. {
  100. if(empty($diy->public))
  101. {
  102. showMsg('后台关闭前台浏览', 'javascript:;');
  103. exit();
  104. }
  105. include_once DEDEINC.'/datalistcp.class.php';
  106. if($diy->public == 2)
  107. $query = "SELECT * FROM `{$diy->table}` ORDER BY id DESC";
  108. else
  109. $query = "SELECT * FROM `{$diy->table}` WHERE ifcheck=1 ORDER BY id DESC";
  110. $datalist = new DataListCP();
  111. $datalist->pageSize = 10;
  112. $datalist->SetParameter('action', 'list');
  113. $datalist->SetParameter('diyid', $diyid);
  114. $datalist->SetTemplate(DEDEINC."/../templets/plus/{$diy->listTemplate}");
  115. $datalist->SetSource($query);
  116. $fieldlist = $diy->getFieldList();
  117. $datalist->Display();
  118. }
  119. else if($action == 'view')
  120. {
  121. if(empty($diy->public))
  122. {
  123. showMsg('后台关闭前台浏览' , 'javascript:;');
  124. exit();
  125. }
  126. if(empty($id))
  127. {
  128. showMsg('非法操作!未指定id', 'javascript:;');
  129. exit();
  130. }
  131. if($diy->public == 2)
  132. {
  133. $query = "SELECT * FROM {$diy->table} WHERE id='$id' ";
  134. }
  135. else
  136. {
  137. $query = "SELECT * FROM {$diy->table} WHERE id='$id' AND ifcheck=1";
  138. }
  139. $row = $dsql->GetOne($query);
  140. if(!is_array($row))
  141. {
  142. showmsg('你访问的记录不存在或未经审核', '-1');
  143. exit();
  144. }
  145. $fieldlist = $diy->getFieldList();
  146. include DEDEROOT."/templets/plus/{$diy->viewTemplate}";
  147. }