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.
182 lines
6.6 KiB
182 lines
6.6 KiB
2 years ago
|
<?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 addAction extends Action
|
||
|
{
|
||
|
|
||
|
|
||
|
public function getDefaultView()
|
||
|
{
|
||
|
|
||
|
$db = DBAction::getInstance();
|
||
|
$request = $this->getContext()->getRequest();
|
||
|
$sql = "select * from lkt_software where type = '2' and software_version='2' order by id desc";
|
||
|
$r = $db->select($sql);
|
||
|
$ops = '';
|
||
|
if ($r) {
|
||
|
foreach ($r as $key => $value) {
|
||
|
$edition = $value->edition;
|
||
|
$ops .= " <option value='$edition'>$edition</option>";
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$request->setAttribute("ops", $ops);
|
||
|
|
||
|
return View :: INPUT;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
public function execute()
|
||
|
{
|
||
|
|
||
|
$db = DBAction::getInstance();
|
||
|
$request = $this->getContext()->getRequest();
|
||
|
$m = addslashes(trim($request->getParameter('m')));
|
||
|
if ($m) {
|
||
|
$this->select_type();
|
||
|
exit;
|
||
|
}
|
||
|
// 接收数据
|
||
|
$name = addslashes(trim($request->getParameter('name'))); // 软件名称
|
||
|
$image = addslashes(trim($request->getParameter('image'))); // 软件图标
|
||
|
$type = addslashes(trim($request->getParameter('software_type'))); // 软件类型
|
||
|
$edition = addslashes(trim($request->getParameter('edition'))); // 软件版本
|
||
|
$edition_text = addslashes(trim($request->getParameter('edition_text'))); // 版本介绍
|
||
|
$old_version = addslashes(trim($request->getParameter('old_version'))); // 老版本
|
||
|
$software_version = $request->getParameter('software_version');
|
||
|
if ($name) {
|
||
|
// 根据软件名称查询软件表
|
||
|
$sql = "select * from lkt_software where name = '$name' and type = '$type' 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);
|
||
|
} else {
|
||
|
echo "<script type='text/javascript'>" .
|
||
|
"alert('首页插件图标不能为空!');" .
|
||
|
"</script>";
|
||
|
return $this->getDefaultView();
|
||
|
|
||
|
}
|
||
|
|
||
|
if ($_FILES['edition_url']['name'] == "") {
|
||
|
header("Content-type:text/html;charset=utf-8");
|
||
|
echo "<script type='text/javascript'>" .
|
||
|
"alert('请上传软件包!');" .
|
||
|
"</script>";
|
||
|
return $this->getDefaultView();
|
||
|
} 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'], '.'));
|
||
|
if ($type == 2) {
|
||
|
$edition_url_name = 'lkt_update_' . $edition . '.zip';
|
||
|
}
|
||
|
|
||
|
move_uploaded_file($edition_url, "$upload_file/$edition_url_name");
|
||
|
|
||
|
}
|
||
|
|
||
|
// 添加软件
|
||
|
$sql = "insert into lkt_software(name,image,type,edition,software_version,edition_url,edition_text,add_time) " .
|
||
|
"values('$name','$image','$type','$edition','$software_version','$edition_url_name','$edition_text',CURRENT_TIMESTAMP)";
|
||
|
$r = $db->insert($sql, 'last_insert_id');
|
||
|
if ($r == -1) {
|
||
|
header("Content-type:text/html;charset=utf-8");
|
||
|
echo "<script type='text/javascript'>" .
|
||
|
"alert('未知原因,添加失败!');" .
|
||
|
"</script>";
|
||
|
return $this->getDefaultView();
|
||
|
} else {
|
||
|
if (!empty($old_version)) {
|
||
|
$download_url = $rr[0]->uploadImg_domain . '/' . substr($upload_file, 3) . '/' . $edition_url_name;
|
||
|
$sql = "INSERT INTO lkt_edition (`type`,`software_version`, `name`, `version`, `sid`, `old_version`, `download_url`, `version_abstract`, `release_time`)VALUES ('$type','$software_version','$name','$edition','$r','$old_version','$download_url','$edition_text',CURRENT_TIMESTAMP)";
|
||
|
$rs = $db->insert($sql);
|
||
|
}
|
||
|
header("Content-type:text/html;charset=utf-8");
|
||
|
echo "<script type='text/javascript'>" .
|
||
|
"alert('添加成功!');" .
|
||
|
"location.href='index.php?module=software';</script>";
|
||
|
return $this->getDefaultView();
|
||
|
}
|
||
|
|
||
|
return;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
public function getRequestMethods()
|
||
|
{
|
||
|
|
||
|
return Request :: POST;
|
||
|
|
||
|
}
|
||
|
|
||
|
public function select_type()
|
||
|
|
||
|
{
|
||
|
|
||
|
$db = DBAction::getInstance();
|
||
|
$request = $this->getContext()->getRequest();
|
||
|
$select_type = addslashes(trim($request->getParameter('type')));
|
||
|
$select_version = addslashes(trim($request->getParameter('select_version')));
|
||
|
$sql = "select * from lkt_software where type = '$select_type' and software_version='$select_version' order by id desc";
|
||
|
$r = $db->select($sql);
|
||
|
$ops = '';
|
||
|
if ($r) {
|
||
|
foreach ($r as $key => $value) {
|
||
|
$edition = $value->edition;
|
||
|
$ops .= " <option value='$edition'>$edition</option>";
|
||
|
}
|
||
|
}
|
||
|
$ops .= '<option value="">无</option>';
|
||
|
echo $ops;
|
||
|
exit;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
?>
|