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

78 lines
2.7KB

  1. <?php
  2. /**
  3. * 增加自定义表单
  4. *
  5. * @version $Id: diy_add.php 1 14:31 2010年7月12日Z tianya $
  6. * @package DedeCMS.Administrator
  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. CheckPurview('c_New');
  14. $mysql_version = $dsql->GetVersion();
  15. $mysql_versions = explode(".",trim($mysql_version));
  16. $mysql_version = $mysql_versions[0].".".$mysql_versions[1];
  17. if(empty($action))
  18. {
  19. $row = $dsql->GetOne("SELECT diyid FROM #@__diyforms ORDER BY diyid DESC LIMIT 0,1 ");
  20. if(is_array($row)) $newdiyid = $row['diyid']+1;
  21. else $newdiyid = 1;
  22. include(DEDEADMIN."/templets/diy_add.htm");
  23. }
  24. else
  25. {
  26. if(preg_match("#[^0-9-]#", $diyid) || empty($diyid))
  27. {
  28. ShowMsg("<font color=red>'自定义表单diyid'</font>必须为数字!","-1");
  29. exit();
  30. }
  31. if($table=="")
  32. {
  33. ShowMsg("表名不能为空!", "-1");
  34. exit();
  35. }
  36. $public = isset($public) && is_numeric($public) ? $public : 0;
  37. $name = dede_htmlspecialchars($name);
  38. $row = $dsql->GetOne("SELECT * FROM #@__diyforms WHERE diyid='$diyid' OR `table` LIKE '$table' OR name LIKE '$name' ");
  39. if(is_array($row))
  40. {
  41. ShowMsg("可能自定义表单的‘diyid’、‘名称’在数据库中已存在,不能重复使用!","-1");
  42. exit();
  43. }
  44. $query = "SHOW TABLES FROM {$dsql->dbName} ";
  45. $dsql->SetQuery($query);
  46. $dsql->Execute();
  47. while($row = $dsql->getarray())
  48. {
  49. if(empty($row[0])) $row[0] = '';
  50. if($table == $row[0])
  51. {
  52. showmsg('指定的表在数据库中重复', '-1');
  53. exit();
  54. }
  55. }
  56. $sql = "CREATE TABLE IF NOT EXISTS `$table`(
  57. `id` int(10) unsigned NOT NULL auto_increment,
  58. `ifcheck` tinyint(1) NOT NULL default '0',
  59. ";
  60. if($mysql_version < 4.1)
  61. {
  62. $sql .= " PRIMARY KEY (`id`)\r\n) TYPE=MyISAM; ";
  63. }
  64. else
  65. {
  66. $sql .= " PRIMARY KEY (`id`)\r\n) ENGINE=MyISAM DEFAULT CHARSET=".$cfg_db_language."; ";
  67. }
  68. if($dsql->ExecuteNoneQuery($sql))
  69. {
  70. $query = "INSERT INTO #@__diyforms (`diyid`, `name`, `table`, `info`, `listtemplate`, `viewtemplate`, `posttemplate`, `public` ) VALUES ('$diyid', '$name', '$table', '', '$listtemplate', '$viewtemplate', '$posttemplate', '$public')";
  71. $dsql->ExecuteNoneQuery($query);
  72. showmsg('自定义表单创建成功,请自行添加字段', 'diy_main.php');
  73. }
  74. else
  75. {
  76. showmsg('自定义表单创建失败', '-1');
  77. }
  78. }