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.
 

309 lines
6.6 KiB

<?php
/**
* [Laike System] Copyright (c) 2018 laiketui.com
* Laike is not a free software, it under the license terms, visited http://www.laiketui.com/ for more details.
*/
require_once(MO_LIB_DIR . '/DBAction.class.php');
class modifyAction extends Action {
public function getDefaultView() {
$db = DBAction::getInstance();
$request = $this->getContext()->getRequest();
// 接收信息
$id = intval($request->getParameter("id")); // 插件id
$uploadImg = addslashes(trim($request->getParameter('uploadImg'))); // 图片上传位置
// 根据插件id,查询插件信息
$sql = "select * from lkt_software where id = '$id'";
$r = $db->select($sql);
if($r){
$name = $r[0]->name; // 软件名称
$image = $r[0]->image; // 软件图标
$type = $r[0]->type; // 类型
$edition = $r[0]->edition ; // 版本号
$edition_url = $r[0]->edition_url ; // 版本名称
$edition_text= $r[0]->edition_text ; // 版本名称
$software_version = $r[0]->software_version;
}
$sql = "select * from lkt_software where type = '$type' and software_version='$software_version' order by id desc";
$r = $db->select($sql);
$ops = '';
if($r){
foreach ($r as $key => $value) {
$vedition = $value->edition;
if($vedition == $edition){
$ops .= " <option selected='selected' value='$vedition'>$vedition</option>";
}else{
$ops .= " <option value='$vedition'>$vedition</option>";
}
}
}
$request->setAttribute("ops",$ops);
$request->setAttribute('software_version', $software_version);
$request->setAttribute('id', $id);
$request->setAttribute('uploadImg', $uploadImg);
$request->setAttribute('name', $name);
$request->setAttribute("image",$image);
$request->setAttribute("type",$type);
$request->setAttribute('edition', $edition);
$request->setAttribute('edition_url', $edition_url);
$request->setAttribute('edition_text', $edition_text);
return View :: INPUT;
}
public function execute(){
$db = DBAction::getInstance();
$request = $this->getContext()->getRequest();
// 接收信息
$id = intval($request->getParameter('id'));
$uploadImg = addslashes(trim($request->getParameter('uploadImg'))); // 图片上传位置
$upload_file = addslashes(trim($request->getParameter('upload_file'))); // 文件上传位置
$name = addslashes(trim($request->getParameter('name'))); // 软件名称
$image = addslashes($request->getParameter('image')); // 软件图片
$oldpic = addslashes($request->getParameter('oldpic')); // 原软件图片
$type = addslashes($request->getParameter('type')); // 软件类型
$edition = addslashes($request->getParameter('edition')); // 版本号
$edition_text = addslashes($request->getParameter('edition_text')); // 版本号
if($name){
// 根据软件名称查询软件表
$sql = "select * from lkt_software where name = '$name' and type = '$type' and id != '$id' order by id desc";
$r = $db->select($sql);
if($r){
$id = $r[0]->id; // 软件id
if($edition == $r[0]->edition){
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('版本".$edition."已存在!');" .
"</script>";
return $this->getDefaultView();
}else if($edition < $r[0]->edition){
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('版本".$edition."低于最新版本!');" .
"</script>";
return $this->getDefaultView();
}else{
$edition = $edition;
}
}else{
$name = $name;
}
}else{
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('软件名称不能为空!');" .
"</script>";
return $this->getDefaultView();
}
if($image){
$image = preg_replace('/.*\//','',$image);
if($image != $oldpic){
@unlink ($uploadImg.$oldpic);
}
}else{
$image = $oldpic;
}
if($_FILES['edition_url']['name']==""){
$sql = "select edition_url from lkt_software where id = '$id'";
$r = $db->select($sql);
$edition_url_name = $r[0]->edition_url;
}else{
$sql = "select * from lkt_config where id = 1";
$rr = $db->select($sql);
$upload_file = $rr[0]->upload_file; // 文件上传位置
//将临时文件复制到upload_image目录下
$edition_url=($_FILES['edition_url']['tmp_name']);
$edition_url_name = substr($_FILES['edition_url']['name'],0,strpos($_FILES['edition_url']['name'],'.')) . time() . '.' . $edition . (strrchr($_FILES['edition_url']['name'], '.'));
move_uploaded_file($edition_url,"$upload_file/$edition_url_name");
$sql = "select edition_url from lkt_software where id = '$id'";
$rrr = $db->select($sql);
@unlink ($upload_file. '/' .$rrr[0]->edition_url);
}
//更新数据表
$sql = "update lkt_software " .
"set name = '$name',edition_text='$edition_text',image = '$image',type = '$type',edition = '$edition', edition_url = '$edition_url_name',add_time = CURRENT_TIMESTAMP "
."where id = '$id'";
$r = $db->update($sql);
if($r == -1) {
echo "<script type='text/javascript'>" .
"alert('未知原因,修改失败!');" .
"location.href='index.php?module=software';</script>";
return $this->getDefaultView();
} else {
header("Content-type:text/html;charset=utf-8");
echo "<script type='text/javascript'>" .
"alert('修改成功!');" .
"location.href='index.php?module=software';</script>";
}
return;
}
public function getRequestMethods(){
return Request :: POST;
}
}
?>