信呼OA版本v2.3.8
This commit is contained in:
129
webmain/system/table/tableAction.php
Normal file
129
webmain/system/table/tableAction.php
Normal file
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
class tableClassAction extends Action
|
||||
{
|
||||
public function initAction()
|
||||
{
|
||||
if($this->getsession('isadmin')!='1')backmsg('别乱来');
|
||||
if(getconfig('systype')=='demo')backmsg('演示的不要改');
|
||||
}
|
||||
|
||||
public function tablebefore($table)
|
||||
{
|
||||
$key = $this->post('key');
|
||||
$where = 'and `TABLE_SCHEMA`=\''.DB_BASE.'\'';
|
||||
if($key!='')$where.=" and (`TABLE_NAME` like '%$key%' or `TABLE_COMMENT` like '%$key%')";
|
||||
return array(
|
||||
'table' => 'information_schema.`TABLES`',
|
||||
'fields'=> '`TABLE_NAME` as id,`ENGINE` as `engine`,`TABLE_ROWS` as `rows`,`TABLE_COMMENT` as `explain`,`CREATE_TIME` as `cjsj`,`UPDATE_TIME` as `gxsj`,`TABLE_COLLATION`',
|
||||
'where' => $where
|
||||
);
|
||||
}
|
||||
|
||||
//保存表备注
|
||||
public function tablesmAjax()
|
||||
{
|
||||
$id = $this->post('id');
|
||||
$value = $this->post('value');
|
||||
$sql = "ALTER TABLE `$id` COMMENT '$value';";
|
||||
$this->db->query($sql);
|
||||
return 'success';
|
||||
}
|
||||
|
||||
public function tablefieldsAjax()
|
||||
{
|
||||
$table = $this->post('table');
|
||||
$rows = $this->db->gettablefields($table);
|
||||
foreach($rows as $k=>$rs)$rows[$k]['id']=$rs['name'];
|
||||
$arr['rows'] = $rows;
|
||||
$this->returnjson($arr);
|
||||
}
|
||||
|
||||
public function savefieldsAjax()
|
||||
{
|
||||
|
||||
$table = $this->post('table');
|
||||
$allfields = $this->db->getallfields($table);
|
||||
$name = strtolower($this->post('name'));
|
||||
if(c('check')->isincn($name))backmsg('字段名不能有中文');
|
||||
$type = $this->post('type');
|
||||
$dev = $this->post('dev');
|
||||
$isnull = $this->post('isnull');
|
||||
if($table=='' || $name=='' || $type=='')backmsg('hehe');
|
||||
|
||||
$lens = $this->post('lens');
|
||||
$sm = $this->post('explain');
|
||||
$sql = "ALTER TABLE `$table`";
|
||||
if(!in_array($name, $allfields)){
|
||||
$sql.=' ADD';
|
||||
}else{
|
||||
$sql.=' MODIFY';
|
||||
}
|
||||
$sql.=" `$name`";
|
||||
$cew = '[varchar][mediumint][int][bigint][smallint][tinyint][decimal]';
|
||||
if(contain($cew,'['.$type.']')){
|
||||
if($lens=='0')$lens='10';
|
||||
$sql.=" $type($lens)";
|
||||
}else{
|
||||
$sql.=" $type";
|
||||
}
|
||||
if($isnull=='NO')$sql.=' NOT NULL';
|
||||
if($dev==''){
|
||||
//$sql.=' DEFAULT NULL';
|
||||
}else{
|
||||
$sql.=" DEFAULT '$dev'";
|
||||
}
|
||||
$sql.=" COMMENT '$sm'";
|
||||
$bo = $this->db->query($sql);
|
||||
$msg = '';
|
||||
if(!$bo)$msg='错误《'.$sql.'》';
|
||||
backmsg($msg);
|
||||
}
|
||||
|
||||
public function delfieldsAjax()
|
||||
{
|
||||
$table = $this->post('table');
|
||||
$id = $this->post('id');
|
||||
$sql = "ALTER table `$table` DROP COLUMN `$id`;";
|
||||
$msg = '';
|
||||
$bo = $this->db->query($sql);
|
||||
if(!$bo)$msg='错误《'.$sql.'》';
|
||||
backmsg($msg);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function tablerecord_before()
|
||||
{
|
||||
$stable = $this->post('stable','', 1);
|
||||
$key = $this->post('key');
|
||||
$fid = $this->post('fields','id');
|
||||
$this->nowtablename = $stable;
|
||||
$where = '';
|
||||
if(!isempt($key))$where=" and `$fid`='$key'";
|
||||
return array(
|
||||
'table' => $stable,
|
||||
'order' => 'id desc',
|
||||
'where' => $where
|
||||
);
|
||||
}
|
||||
public function tablerecord_after($table, $rows)
|
||||
{
|
||||
$fieldsar = array();
|
||||
if($this->loadci==1){
|
||||
$fieldsarr = $this->db->gettablefields($this->nowtablename);
|
||||
foreach($fieldsarr as $k1=>$rs1){
|
||||
$sortable = in_array($rs1['type'], array('int','date','datetime','tinyint','smallint','decimal'));
|
||||
$text = $rs1['name'];
|
||||
if(!isempt($rs1['explain']))$text.='('.$rs1['explain'].')';
|
||||
$fieldsar[] = array(
|
||||
'text' => $text,
|
||||
'dataIndex' => $rs1['name'],
|
||||
'sortable' => $sortable
|
||||
);
|
||||
}
|
||||
}
|
||||
return array(
|
||||
'fieldsarr' => $fieldsar
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user