📄 stepselect_main.php
字号:
<?php
require_once(dirname(__FILE__)."/config.php");
CheckPurview('c_Stepselect');
require_once(DEDEINC."/datalistcp.class.php");
/*-----------------
前台视图
function __show() { }
------------------*/
if(empty($action))
{
setcookie("ENV_GOBACK_URL",$dedeNowurl,time()+3600,"/");
if(!isset($egroup)) $egroup = '';
$etypes = array();
$dsql->Execute('me','Select * from `#@__stepselect` order by id desc');
while($arr = $dsql->GetArray())
{
$etypes[] = $arr;
}
if($egroup!='')
{
$orderby = 'order by disorder asc, evalue asc';
$egroupsql = " where egroup like '$egroup' ";
}
else
{
$egroupsql = '';
$orderby = 'order by disorder asc, id desc';
}
$sql = "Select * From `#@__sys_enum` $egroupsql $orderby";
$dlist = new DataListCP();
$dlist->SetParameter('egroup',$egroup);
$dlist->SetTemplet(DEDEADMIN."/templets/stepselect_main.htm");
$dlist->SetSource($sql);
$dlist->display();
exit();
}
else if($action=='edit' || $action=='addnew' || $action=='addenum' || $action=='view')
{
AjaxHead();
include('./templets/stepselect_showajax.htm');
exit();
}
/*-----------------
删除类型或枚举值
function __del() { }
------------------*/
else if($action=='del')
{
$arr = $dsql->GetOne("Select * from `#@__stepselect` where id='$id' ");
if(!is_array($arr))
{
ShowMsg("无法获取分类信息,不允许后续操作!","stepselect_main.php?".ExecTime());
exit();
}
if($arr['issystem']==1)
{
ShowMsg("系统内置的枚举分类不能删除!","stepselect_main.php?".ExecTime());
exit();
}
$dsql->ExecuteNoneQuery("Delete From `#@__stepselect` where id='$id'; ");
$dsql->ExecuteNoneQuery("Delete From `#@__sys_enum` where egroup='{$arr['egroup']}'; ");
ShowMsg("成功删除一个分类!","stepselect_main.php?".ExecTime());
exit();
}
else if($action=='delenum')
{
$dsql->ExecuteNoneQuery("Delete From `#@__sys_enum` where id='{$id}'; ");
ShowMsg("成功删除一个枚举!",$ENV_GOBACK_URL);
exit();
}
/*-----------------
保存类型修改
function __edit_save() { }
------------------*/
else if($action=='edit_save')
{
if(eregi("[^0-9a-z_-]",$egroup))
{
ShowMsg("组名称不能有全角字符或特殊符号!","-1");
exit();
}
$dsql->ExecuteNoneQuery("update `#@__stepselect` set `itemname`='$itemname',`egroup`='$egroup' where id='$id'; ");
ShowMsg("成功修改一个分类!","stepselect_main.php?".ExecTime());
exit();
}
/*-----------------
保存新类型
function __addnew_save() { }
------------------*/
else if($action=='addnew_save')
{
if(eregi("[^0-9a-z_-]",$egroup))
{
ShowMsg("组名称不能有全角字符或特殊符号!","-1");
exit();
}
$arr = $dsql->GetOne("Select * from `#@__stepselect` where itemname like '$itemname' Or egroup like '$egroup' ");
if(is_array($arr))
{
ShowMsg("你指定的类别名称或组名称已经存在,不能使用!","stepselect_main.php");
exit();
}
$dsql->ExecuteNoneQuery("Insert into `#@__stepselect`(`itemname`,`egroup`,`issign`,`issystem`) values('$itemname','$egroup','0','0'); ");
ShowMsg("成功添加一个分类!","stepselect_main.php?".ExecTime());
exit();
}
/*--------------------
function __addenum_save() { }
关于二级枚举的说明,为了节省查询速度,二级枚举是通过特殊算法生成的,原理为
凡是能被 500 整除的都是一级枚举,(500 * n) + 1 < em < 500 * (n+1) 为下级枚举
如:1000 的下级枚举对应的值为 1001,1002,1003...1499
对于 issign=1 的,表示这个类别只有一级枚举,则不受上面的算法限制
---------------------*/
else if($action=='addenum_save')
{
if($issign==1 || $topvalue==0)
{
$arr = $dsql->GetOne("Select * From `#@__sys_enum` where egroup='$egroup' And (evalue mod 500)=0 order by evalue desc ");
if(!is_array($arr))
{
if(empty($disorder)) $disorder = ($issign==1 ? 1 : 500);
$evalue = ($issign==1 ? 1 : 500);
}
else
{
if(empty($disorder)) $disorder = $arr['disorder'] + ($issign==1 ? 1 : 500);
$evalue = $arr['evalue'] + ($issign==1 ? 1 : 500);
}
$dsql->ExecuteNoneQuery("Insert into `#@__sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
values('$ename','$evalue','$egroup','$disorder','$issign'); ");
ShowMsg("成功添加一个枚举!".$dsql->GetError(), $ENV_GOBACK_URL);
exit();
}
else
{
$minid = $topvalue;
$maxid = $topvalue + 500;
$arr = $dsql->GetOne("Select * From `#@__sys_enum` where egroup='$egroup' And evalue>$minid And evalue<$maxid order by evalue desc ");
if(!is_array($arr))
{
if(empty($disorder)) $disorder = $minid+1;
$evalue = $minid+1;
}
else
{
if(empty($disorder)) $disorder = $arr['disorder']+1;
$evalue = $arr['evalue']+1;
}
$dsql->ExecuteNoneQuery("Insert into `#@__sys_enum`(`ename`,`evalue`,`egroup`,`disorder`,`issign`)
values('$ename','$evalue','$egroup','$disorder','$issign'); ");
ShowMsg("成功添加一个枚举!", $ENV_GOBACK_URL);
exit();
}
}
/*-----------------
修改枚举名称和排序
function __upenum() { }
------------------*/
else if($action=='upenum')
{
$ename = trim(str_replace(' └─','',$ename));
$dsql->ExecuteNoneQuery("Update `#@__sys_enum` set `ename`='$ename',`disorder`='$disorder' where id='$aid'; ");
ShowMsg("成功修改一个枚举!", $ENV_GOBACK_URL);
exit();
}
/*-----------------
更新枚举缓存
function __upallcache() { }
------------------*/
else if($action=='upallcache')
{
require_once(DEDEINC.'/enums.func.php');
WriteEnumsCache();
ShowMsg("成更新所有枚举缓存!", $ENV_GOBACK_URL);
exit();
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -