123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- require_once(dirname(__FILE__)."/config.php");
- require_once(DEDEADMIN.'/inc/inc_admin_channel.php');
- if(empty($action)) $action = '';
- $mysql_version = $dsql->GetVersion();
- $mysql_versions = explode(".",trim($mysql_version));
- $mysql_version = $mysql_versions[0].".".$mysql_versions[1];
- if($action=='save')
- {
-
- $fieldname = strtolower($fieldname);
- $row = $dsql->GetOne("SELECT `table`,`info` FROM #@__member_model WHERE id='$id'");
- $fieldset = $row['info'];
- require_once(DEDEINC."/dedetag.class.php");
- $dtp = new DedeTagParse();
- $dtp->SetNameSpace("field","<",">");
- $dtp->LoadSource($fieldset);
- $trueTable = $row['table'];
-
- $dfvalue = trim($vdefault);
- $isnull = ($isnull==1 ? "true" : "false");
- $mxlen = $maxlength;
-
- $fieldinfos = GetFieldMake($dtype, $fieldname, $dfvalue, $mxlen);
- $ntabsql = $fieldinfos[0];
- $buideType = $fieldinfos[1];
- $rs = $dsql->ExecuteNoneQuery(" ALTER TABLE `$trueTable` ADD $ntabsql ");
- if(!$rs)
- {
- $gerr = $dsql->GetError();
- ShowMsg("增加字段失败,错误提示为:".$gerr,"javascript:;");
- exit();
- }
- $ok = false;
-
- if(is_array($dtp->CTags))
- {
-
- foreach($dtp->CTags as $tagid=>$ctag)
- {
- if($fieldname == strtolower($ctag->GetName()))
- {
- $dtp->Assign($tagid,stripslashes($fieldstring),false);
- $ok = true;
- break;
- }
- }
- $oksetting = $ok ? $dtp->GetResultNP() : $fieldset."\n".stripslashes($fieldstring);
- }
- else
- {
-
- $oksetting = $fieldset."\n".stripslashes($fieldstring);
- }
- $addlist = GetAddFieldList($dtp, $oksetting);
- $oksetting = addslashes($oksetting);
- $rs = $dsql->ExecuteNoneQuery("UPDATE #@__member_model SET `info`='$oksetting' WHERE id='$id' ");
- if(!$rs)
- {
- $grr = $dsql->GetError();
- ShowMsg("保存节点配置出错!".$grr,"javascript:;");
- exit();
- }
- ShowMsg("成功增加一个字段!","member_model_edit.php?id=$id");
- exit();
- }
- $row = $dsql->GetOne("SELECT `table` FROM #@__member_model WHERE id='$id'");
- $trueTable = $row['table'];
- $tabsql = "CREATE TABLE IF NOT EXISTS `$trueTable`(
- `mid` int(10) unsigned NOT NULL auto_increment,
- ";
- if($mysql_version < 4.1)
- {
- $tabsql .= " PRIMARY KEY (`mid`)\r\n) TYPE=MyISAM; ";
- }
- else
- {
- $tabsql .= " PRIMARY KEY (`mid`)\r\n) ENGINE=MyISAM DEFAULT CHARSET=".$cfg_db_language."; ";
- }
- $dsql->ExecuteNoneQuery($tabsql);
- $fields = array();
- $rs = $dsql->SetQuery("SHOW fields FROM `$trueTable`");
- $dsql->Execute('a');
- while($nrow = $dsql->GetArray('a',MYSQL_ASSOC))
- {
- $fields[strtolower($nrow['Field'])] = 1;
- }
- $f = '';
- foreach($fields as $k=>$v)
- {
- $f .= ($f=='' ? $k : ' '.$k);
- }
- require_once(DEDEADMIN."/templets/member_model_field_add.htm");
|