GetVersion(); $mysql_versions = explode(".", trim($mysql_version)); $mysql_version = $mysql_versions[0].".".$mysql_versions[1]; if (empty($action)) { $row = $dsql->GetOne("SELECT diyid FROM `#@__diyforms` ORDER BY diyid DESC LIMIT 0,1"); if (is_array($row)) $newdiyid = $row['diyid'] + 1; else $newdiyid = 1; include(DEDEADMIN."/templets/diy_add.htm"); } else { if (preg_match("#[^0-9-]#", $diyid) || empty($diyid)) { ShowMsg("'自定义表单id'必须为数字", "-1"); exit(); } if ($table == "") { ShowMsg("表名不能为空", "-1"); exit(); } $public = isset($public) && is_numeric($public) ? $public : 0; $name = dede_htmlspecialchars($name); $row = $dsql->GetOne("SELECT * FROM `#@__diyforms` WHERE diyid='$diyid' OR `table` LIKE '$table' OR name LIKE '$name'"); if (is_array($row)) { ShowMsg("可能自定义表单的‘diyid’、‘名称’在数据库中已存在,不能重复使用", "-1"); exit(); } if ($cfg_dbtype=="sqlite") { $query = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name;"; } else { $query = "SHOW TABLES"; } $dsql->SetQuery($query); $dsql->Execute("biz"); while ($row = $dsql->GetArray("biz")) { if (empty($row[0])) $row[0] = ''; if ($table == $row[0]) { showmsg('指定的表在数据库中重复', '-1'); exit(); } } $sql = "CREATE TABLE IF NOT EXISTS `$table`( `id` int(10) unsigned NOT NULL auto_increment, `ifcheck` tinyint(1) NOT NULL default '0', "; if ($mysql_version < 4.1) { $sql .= " PRIMARY KEY (`id`)\r\n) TYPE=MyISAM; "; } else { $sql .= " PRIMARY KEY (`id`)\r\n) ENGINE=MyISAM DEFAULT CHARSET=".$cfg_db_language."; "; } if ($dsql->ExecuteNoneQuery($sql)) { $query = "INSERT INTO `#@__diyforms` (`diyid`,`name`,`table`,`info`,`listtemplate`,`viewtemplate`,`posttemplate`,`public` ) VALUES ('$diyid','$name','$table','','$listtemplate','$viewtemplate','$posttemplate','$public')"; $dsql->ExecuteNoneQuery($query); showmsg('自定义表单创建成功,请自行添加字段', 'diy_main.php'); } else { showmsg('自定义表单创建失败', '-1'); } } ?>