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.
 

306 lines
12 KiB

<?php
require_once(MO_LIB_DIR . '/DBAction.class.php');
require_once(MO_LIB_DIR . '/Tools.class.php');
class modifyAction extends Action {
public function getDefaultView() {
$db = DBAction::getInstance();
$request = $this->getContext()->getRequest();
// 接收信息
$id = $request->getParameter("id");
$_SESSION['url'] = $_SERVER['HTTP_REFERER'];
// 根据id,查询菜单
$sql = "select * from lkt_core_menu where id = '$id'";
$r_1 = $db->select($sql);
if($r_1){
$space = "---";
$s_id = $r_1[0]->s_id; // 上级id
$title = $r_1[0]->title; // 菜单名称
$image = $r_1[0]->image; // 图片
$image1 = $r_1[0]->image1; // 图片
$url = $r_1[0]->url; // 路径
$sort = $r_1[0]->sort; // 排序
$type = $r_1[0]->type; // 排序
$level = $r_1[0]->level; // 等级
if($level == 1){
$list = "";
$sql = "select * from lkt_core_menu where s_id = 0 order by sort,id";
$r = $db->select($sql);
if($r){ // 存在
foreach ($r as $k => $v){
$list .= "<option value='$v->id'>$v->title</option>";
}
}
$cid = 0;
}else if($level == 2){
/** 二级 **/
$list1 = "";
$sql = "select * from lkt_core_menu where s_id = '$s_id'";
$rr = $db->select($sql);
if($rr){
foreach ($rr as $k => $v){
$list1 .= "<option value='$v->id'>$v->title</option>";
}
}
/** 一级 **/
$sql = "select * from lkt_core_menu where id = '$s_id'";
$r1 = $db->select($sql);
if($r1){
$id1 = $r1[0]->id; // id
$title1 = $r1[0]->title; // 菜单名称
$list = "<option selected='true' value='$id1'>$title1</option>";
$sql = "select * from lkt_core_menu where s_id = 0 order by sort,id";
$r = $db->select($sql);
if($r){ // 存在
foreach ($r as $k => $v){
$list .= "<option value='$v->id'>$v->title</option>";
}
}
}
$cid = $s_id;
$request->setAttribute("list1",$list1);
}else if($level == 3){
/** 三级 **/
$list2 = "";
$sql = "select * from lkt_core_menu where s_id = '$s_id'";
$rrr = $db->select($sql);
if($rrr){
foreach ($rrr as $k => $v){
$list2 .= "<option value='$v->id'>$v->title</option>";
}
}
/** 二级 **/
$sql = "select * from lkt_core_menu where id = '$s_id'";
$r2 = $db->select($sql);
if($r2){
$id2 = $r2[0]->id; // id
$s_id2 = $r2[0]->s_id; // 上级id
$title2 = $r2[0]->title; // 菜单名称
$list1 = "<option selected='true' value='$id2'>$title2</option>";
$sql = "select * from lkt_core_menu where s_id = 0 order by sort,id";
$r = $db->select($sql);
if($r){ // 存在
foreach ($r as $k => $v){
$list1 .= "<option value='$v->id'>$v->title</option>";
}
}
}
/** 一级 **/
$sql = "select * from lkt_core_menu where id = '$s_id2'";
$r1 = $db->select($sql);
if($r1){
$id1 = $r1[0]->id; // id
$title1 = $r1[0]->title; // 菜单名称
$list = "<option selected='true' value='$id1'>$title1</option>";
$sql = "select * from lkt_core_menu where s_id = 0 order by sort,id";
$r = $db->select($sql);
if($r){ // 存在
foreach ($r as $k => $v){
$list .= "<option value='$v->id'>$v->title</option>";
}
}
}
$cid = $s_id;
$request->setAttribute("list1",$list1);
$request->setAttribute("list2",$list2);
}else{
/** 三级 **/
$sql = "select * from lkt_core_menu where id = '$s_id'";
$rrr = $db->select($sql);
if($rrr){
$id3 = $rrr[0]->id; // id
$s_id3 = $rrr[0]->s_id; // 上级id
$title3 = $rrr[0]->title; // 菜单名称
$list2 = "<option selected='true' value='$id3'>$title3</option>";
$sql = "select * from lkt_core_menu where id = '$s_id3'";
$rrr1 = $db->select($sql);
foreach ($rrr1 as $k => $v){
$list2 .= "<option value='$v->id'>$v->title</option>";
}
}
/** 二级 **/
$sql = "select * from lkt_core_menu where id = '$s_id3'";
$r2 = $db->select($sql);
if($r2){
$id2 = $r2[0]->id; // id
$s_id2 = $r2[0]->s_id; // 上级id
$title2 = $r2[0]->title; // 菜单名称
$list1 = "<option selected='true' value='$id2'>$title2</option>";
$sql = "select * from lkt_core_menu where s_id = 0 order by sort,id";
$r = $db->select($sql);
if($r){ // 存在
foreach ($r as $k => $v){
$list1 .= "<option value='$v->id'>$v->title</option>";
}
}
}
/** 一级 **/
$sql = "select * from lkt_core_menu where id = '$s_id2'";
$r1 = $db->select($sql);
if($r1){
$id1 = $r1[0]->id; // id
$title1 = $r1[0]->title; // 菜单名称
$list = "<option selected='true' value='$id1'>$title1</option>";
$sql = "select * from lkt_core_menu where s_id = 0 order by sort,id";
$r = $db->select($sql);
if($r){ // 存在
foreach ($r as $k => $v){
$list .= "<option value='$v->id'>$v->title</option>";
}
}
}
$cid = $s_id;
$request->setAttribute("list1",$list1);
$request->setAttribute("list2",$list2);
}
}
$sql = "select id from lkt_core_menu where s_id = '$id'";
$r_1 = $db->select($sql);
if($r_1){
$status = 1;
}else{
$status = 0;
}
$request->setAttribute('id', $id);
$request->setAttribute('title', $title );
$request->setAttribute('url', $url );
$request->setAttribute('sort', $sort );
$request->setAttribute('type', $type );
$request->setAttribute('level', $level );
$request->setAttribute('image', $image );
$request->setAttribute('image1', $image1 );
$request->setAttribute('cid', $cid);
$request->setAttribute("level",$level-1);
$request->setAttribute("list",$list);
$request->setAttribute("status",$status);
return View :: INPUT;
}
public function execute(){
$db = DBAction::getInstance();
$request = $this->getContext()->getRequest();
$admin_id = $this->getContext()->getStorage()->read('admin_id');
// 接收数据
$id = $request->getParameter("id");
$title = addslashes(trim($request->getParameter('title'))); // 菜单名称
$image = addslashes(trim($request->getParameter('image'))); // 图标
$oldpic = addslashes(trim($request->getParameter('oldpic'))); // 产品图片
$image1 = addslashes(trim($request->getParameter('image1'))); // 图标
$oldpic1 = addslashes(trim($request->getParameter('oldpic1'))); // 产品图片
$url = addslashes(trim($request->getParameter('url'))); // 路径
$type = addslashes(trim($request->getParameter('type'))); // 类型
$sort = addslashes(trim($request->getParameter('sort'))); // 排序
$s_id = $request->getParameter('val'); // 产品类别
$level = $request->getParameter('level') + 1; // 级别
if($title == ''){
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('菜单名称不能为空!');" .
"</script>";
return $this->getDefaultView();
}else{
$sql = "select id from lkt_core_menu where id != '$id' and title = '$title' and s_id = '$s_id'";
$r_1 = $db->select($sql);
if($r_1){
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('菜单名称".$title."已存在!');" .
"</script>";
return $this->getDefaultView();
}
}
if(is_numeric($sort)){
if($sort <= 0){
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('排序不能小于等于0!');" .
"</script>";
return $this->getDefaultView();
}
}else{
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('排序请填写数字!');" .
"</script>";
return $this->getDefaultView();
}
if($level != 1){
if($url){
if(count(explode('?',$url)) < 2){
$url = 'index.php?' . $url;
}
$res = substr($url,strpos($url,'?')+1);
if(strpos($res,"&") > 0){
$rew = explode('&',$res);
$module = substr($rew[0],strpos($rew[0],'=')+1);
$action = substr($rew[1],strpos($rew[1],'=')+1);
}else{
$module = substr($url,strpos($url,'=')+1);
$action = 'index';
}
}else{
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('路径不能为空!');" .
"</script>";
return $this->getDefaultView();
}
}else{
$url = '';
$module = '';
$action = '';
}
if($image){
$image = $image;
if($image != $oldpic){
@unlink ($oldpic);
}
}else{
$image = $oldpic;
}
if($image1){
$image1 = $image1;
if($image1 != $oldpic1){
@unlink ($oldpic1);
}
}else{
$image1 = $oldpic1;
}
$sql = "update lkt_core_menu set title = '$title',module = '$module',action = '$action',s_id = '$s_id',level = '$level',image = '$image',image1 = '$image1',url = '$url',type = '$type',sort = '$sort' where id = '$id'";
$r = $db->update($sql);
if($r == -1) {
$db->admin_record($admin_id,' 修改菜单id为 '.$id.' 失败 ',2);
//跳转
jump($_SESSION['url'],'未知原因,修改失败!');
} else {
$db->admin_record($admin_id,' 修改菜单id为 '.$id.' 的信息',2);
//跳转
jump($_SESSION['url'],'修改成功!');
}
return;
}
public function getRequestMethods(){
return Request :: POST;
}
}
?>