2024-10-10
This commit is contained in:
222
web/bsadmin/problem_edit.php
Normal file
222
web/bsadmin/problem_edit.php
Normal file
@@ -0,0 +1,222 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
|
||||
<!-- Styles -->
|
||||
<?php require("./header-files.php");
|
||||
require_once("../include/my_func.inc.php");
|
||||
|
||||
require_once("../include/const.inc.php");
|
||||
include_once("kindeditor.php");
|
||||
?>
|
||||
<title><?php echo $OJ_NAME;?> - Admin</title>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<?php require("./nav.php");?>
|
||||
<?php
|
||||
if ($mod=='hacker') {
|
||||
header("Location:index.php");
|
||||
}
|
||||
?>
|
||||
<div class="content-wrap">
|
||||
<div class="main">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 p-0">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>后台主页</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /# column -->
|
||||
<div class="col-lg-4 p-0">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<ol class="breadcrumb text-right">
|
||||
<li>问题</li>
|
||||
<li class="active">编辑问题</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /# column -->
|
||||
</div><!-- /# row -->
|
||||
<div class="main-content">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="card alert">
|
||||
<div class="card-header">
|
||||
<h4>编辑问题 P<?php echo $_GET['id']?intval($_GET['id']):intval($_POST["problem_id"]);?></h4>
|
||||
<div class="card-header-right-icon">
|
||||
<ul>
|
||||
<li class="card-close" data-dismiss="alert"><i class="ti-close"></i></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<?php
|
||||
if(isset($_GET['id'])){
|
||||
;//require_once("../include/check_get_key.php");
|
||||
?>
|
||||
<form action=problem_edit.php method='post'>
|
||||
<?php
|
||||
$sql="SELECT * FROM `problem` WHERE `problem_id`=?";
|
||||
$result=pdo_query($sql,intval($_GET['id']));
|
||||
$row=$result[0];
|
||||
?>
|
||||
<?php require_once("../include/set_post_key.php");?>
|
||||
<input type=hidden name=problem_id value='<?php echo $row['problem_id']?>'>
|
||||
<label for=title>标题</label><input type="text" name="title" class="form-control" value="<?php echo htmlentities($row['title'],ENT_QUOTES,"UTF-8")?>">
|
||||
<label for=limit>时空限制</label>
|
||||
<div><input type="number" name="time_limit" class="form-control" style="width:40%;display:inline" size=20 value="<?php echo $row['time_limit'];?>">秒
|
||||
<input type="number" name="memory_limit" class="form-control" style="width:40%;display:inline" size=20 value="<?php echo $row['memory_limit'];?>">MB</div>
|
||||
<lable for=description>题目描述</lable>
|
||||
<textarea name='description' rows=15 class="kindeditor" ><?php echo htmlentities($row['description'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<lable for=input>输入格式</lable>
|
||||
<textarea name='input' rows=15 class="kindeditor" ><?php echo htmlentities($row['input'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<lable for=output>输出格式</lable>
|
||||
<textarea name='output' rows=15 class="kindeditor" ><?php echo htmlentities($row['output'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<lable for=sample_input>样例输入</lable>
|
||||
<textarea name='sample_input' rows=15 class='form-control'><?php echo htmlentities($row['sample_input'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<lable for=sample_output>样例输出</lable>
|
||||
<textarea name='sample_output' rows=15 class='form-control'><?php echo htmlentities($row['sample_output'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<lable for=hint>提示</lable>
|
||||
<textarea name='hint' rows=15 class="kindeditor" ><?php echo htmlentities($row['hint'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<lable for=source>来源</lable>
|
||||
<textarea name='source' rows=1 class="form-control"><?php echo htmlentities($row['source'],ENT_QUOTES,"UTF-8")?></textarea><br>
|
||||
<label for=spj>Special Judge:</label>
|
||||
<?php echo "No "?><input type=radio name=spj value='0' <?php echo $row['spj']=="0"?"checked":""?>><?php echo "/ Yes "?><input type=radio name=spj value='1' <?php echo $row['spj']=="1"?"checked":""?>><br><br>
|
||||
<button type='submit' class="btn btn-info btn-addon i"><i class="fa fa-edit"></i>编辑</button>
|
||||
</form>
|
||||
<?php
|
||||
}else{
|
||||
require_once("../include/check_post_key.php");
|
||||
$id=intval($_POST['problem_id']);
|
||||
if(!(isset($_SESSION[$OJ_NAME.'_'."p$id"])||isset($_SESSION[$OJ_NAME.'_'.'administrator']))) exit();
|
||||
|
||||
$title=$_POST['title'];
|
||||
$title = str_replace(",", ",", $title);
|
||||
$time_limit=$_POST['time_limit'];
|
||||
$memory_limit=$_POST['memory_limit'];
|
||||
$description=$_POST['description'];
|
||||
$description = str_replace("<p>", "", $description);
|
||||
$description = str_replace("</p>", "<br />", $description);
|
||||
$description = str_replace(",", ",", $description);
|
||||
|
||||
$input=$_POST['input'];
|
||||
$input = str_replace("<p>", "", $input);
|
||||
$input = str_replace("</p>", "<br />", $input);
|
||||
$input = str_replace(",", ",", $input);
|
||||
|
||||
$output=$_POST['output'];
|
||||
$output = str_replace("<p>", "", $output);
|
||||
$output = str_replace("</p>", "<br />", $output);
|
||||
$output = str_replace(",", ",", $output);
|
||||
|
||||
$sample_input=$_POST['sample_input'];
|
||||
$sample_output=$_POST['sample_output'];
|
||||
$hint=$_POST['hint'];
|
||||
$hint = str_replace("<p>", "", $hint);
|
||||
$hint = str_replace("</p>", "<br />", $hint);
|
||||
$hint = str_replace(",", ",", $hint);
|
||||
|
||||
$source=$_POST['source'];
|
||||
$spj=$_POST['spj'];
|
||||
|
||||
if(false){
|
||||
$title = stripslashes($title);
|
||||
$time_limit = stripslashes($time_limit);
|
||||
$memory_limit = stripslashes($memory_limit);
|
||||
$description = stripslashes($description);
|
||||
$input = stripslashes($input);
|
||||
$output = stripslashes($output);
|
||||
$sample_input = stripslashes($sample_input);
|
||||
$sample_output = stripslashes($sample_output);
|
||||
//$test_input = stripslashes($test_input);
|
||||
//$test_output = stripslashes($test_output);
|
||||
$hint = stripslashes($hint);
|
||||
$source = stripslashes($source);
|
||||
$spj = stripslashes($spj);
|
||||
$source = stripslashes($source);
|
||||
}
|
||||
|
||||
$title=($title);
|
||||
$description=RemoveXSS($description);
|
||||
$input=RemoveXSS($input);
|
||||
$output=RemoveXSS($output);
|
||||
$hint=RemoveXSS($hint);
|
||||
$basedir=$OJ_DATA."/$id";
|
||||
|
||||
echo "样例数据文件已经更新!!<br>";
|
||||
|
||||
if($sample_input&&file_exists($basedir."/sample.in")){
|
||||
//mkdir($basedir);
|
||||
$fp=fopen($basedir."/sample.in","w");
|
||||
fputs($fp,preg_replace("(\r\n)","\n",$sample_input));
|
||||
fclose($fp);
|
||||
|
||||
$fp=fopen($basedir."/sample.out","w");
|
||||
fputs($fp,preg_replace("(\r\n)","\n",$sample_output));
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
$spj=intval($spj);
|
||||
|
||||
$sql="UPDATE `problem` set `title`=?,`time_limit`=?,`memory_limit`=?,
|
||||
`description`=?,`input`=?,`output`=?,`sample_input`=?,`sample_output`=?,`hint`=?,`source`=?,`spj`=?,`in_date`=NOW()
|
||||
WHERE `problem_id`=?";
|
||||
|
||||
@pdo_query($sql,$title,$time_limit,$memory_limit,$description,$input,$output,$sample_input,$sample_output,$hint,$source,$spj,$id) ;
|
||||
echo "编辑成功!";
|
||||
echo "<a href='../problem.php?id=$id'>查看问题</a>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /# row -->
|
||||
</div>
|
||||
<!-- /# main content -->
|
||||
CopyRight © 1999-<?php echo date('Y');?> MasterOJ.All rights reserved
|
||||
</div><!-- /# container-fluid -->
|
||||
</div><!-- /# main -->
|
||||
</div><!-- /# content wrap -->
|
||||
|
||||
|
||||
|
||||
<script src="assets/js/lib/jquery.min.js"></script><!-- jquery vendor -->
|
||||
<script src="assets/js/lib/jquery.nanoscroller.min.js"></script><!-- nano scroller -->
|
||||
<script src="assets/js/lib/sidebar.js"></script><!-- sidebar -->
|
||||
<script src="assets/js/lib/bootstrap.min.js"></script><!-- bootstrap -->
|
||||
<script src="assets/js/lib/mmc-common.js"></script>
|
||||
<script src="assets/js/lib/mmc-chat.js"></script>
|
||||
<!-- Chart js -->
|
||||
<script src="assets/js/lib/chart-js/Chart.bundle.js"></script>
|
||||
<script src="assets/js/lib/chart-js/chartjs-init.js"></script>
|
||||
<!-- // Chart js -->
|
||||
|
||||
|
||||
<script src="assets/js/lib/sparklinechart/jquery.sparkline.min.js"></script><!-- scripit init-->
|
||||
<script src="assets/js/lib/sparklinechart/sparkline.init.js"></script><!-- scripit init-->
|
||||
|
||||
<!-- Datamap -->
|
||||
<script src="assets/js/lib/datamap/d3.min.js"></script>
|
||||
<script src="assets/js/lib/datamap/topojson.js"></script>
|
||||
<script src="assets/js/lib/datamap/datamaps.world.min.js"></script>
|
||||
<script src="assets/js/lib/datamap/datamap-init.js"></script>
|
||||
<!-- // Datamap -->-->
|
||||
<script src="assets/js/lib/weather/jquery.simpleWeather.min.js"></script>
|
||||
<script src="assets/js/lib/weather/weather-init.js"></script>
|
||||
<script src="assets/js/lib/owl-carousel/owl.carousel.min.js"></script>
|
||||
<script src="assets/js/lib/owl-carousel/owl.carousel-init.js"></script>
|
||||
<script src="assets/js/scripts.js"></script><!-- scripit init-->
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user