0 "; if (isset($_GET['cid'])){ $cid=intval($_GET['cid']); $sql=$sql." AND `contest_id`='$cid' and num>=0 "; $str2=$str2."&cid=$cid"; $sql_lock="SELECT `start_time`,`title`,`end_time` FROM `contest` WHERE `contest_id`='$cid'"; $result=mysqli_query($mysqli,$sql_lock) or die(mysqli_error($mysqli)); $rows_cnt=mysqli_num_rows($result); $start_time=0; $end_time=0; if ($rows_cnt>0){ $row=mysqli_fetch_array($result); $start_time=strtotime($row[0]); $title=$row[1]; $end_time=strtotime($row[2]); } $lock_time=$end_time-($end_time-$start_time)*$OJ_RANK_LOCK_PERCENT; //$lock_time=date("Y-m-d H:i:s",$lock_time); $time_sql=""; //echo $lock.'-'.date("Y-m-d H:i:s",$lock); if(time()>$lock_time&&time()<$end_time){ //$lock_time=date("Y-m-d H:i:s",$lock_time); //echo $time_sql; $lock=true; }else{ $lock=false; } //require_once("contest-header.php"); }else{ //require_once("oj-header.php"); if(isset($_SESSION['administrator']) ||isset($_SESSION['source_browser']) ||(isset($_SESSION['user_id']) &&(isset($_GET['user_id'])&&$_GET['user_id']==$_SESSION['user_id'])) ){ if ($_SESSION['user_id']!="guest") $sql="SELECT * FROM `solution` WHERE contest_id is null "; }else{ $sql="SELECT * FROM `solution` WHERE problem_id>0 and contest_id is null "; } } $start_first=true; $order_str=" ORDER BY `solution_id` DESC "; // check the top arg if (isset($_GET['top'])){ $top=strval(intval($_GET['top'])); if ($top!=-1) $sql=$sql."AND `solution_id`<='".$top."' "; } // check the problem arg $problem_id=""; if (isset($_GET['problem_id'])&&$_GET['problem_id']!=""){ if(isset($_GET['cid'])){ $problem_id=$_GET['problem_id']; $num=strpos($PID,$problem_id); $sql=$sql."AND `num`='".$num."' "; $str2=$str2."&problem_id=".$problem_id; }else{ $problem_id=strval(intval($_GET['problem_id'])); if ($problem_id!='0'){ $sql=$sql."AND `problem_id`='".$problem_id."' "; $str2=$str2."&problem_id=".$problem_id; } else $problem_id=""; } } // check the user_id arg $user_id=""; if (isset($_GET['user_id'])){ $user_id=trim($_GET['user_id']); if (is_valid_user_name($user_id) && $user_id!=""){ $sql=$sql."AND `user_id`='".$user_id."' "; if ($str2!="") $str2=$str2."&"; $str2=$str2."user_id=".$user_id; }else $user_id=""; } if (isset($_GET['language'])) $language=intval($_GET['language']); else $language=-1; if ($language>count($language_ext) || $language<0) $language=-1; if ($language!=-1){ $sql=$sql."AND `language`='".strval($language)."' "; $str2=$str2."&language=".$language; } if (isset($_GET['jresult'])) $result=intval($_GET['jresult']); else $result=-1; if ($result>12 || $result<0) $result=-1; if ($result!=-1&&!$lock){ $sql=$sql."AND `result`='".strval($result)."' "; $str2=$str2."&jresult=".$result; } if($OJ_SIM){ $old=$sql; $sql="select * from ($sql order by solution_id desc limit 1000) solution left join `sim` on solution.solution_id=sim.s_id WHERE 1 "; if(isset($_GET['showsim'])&&intval($_GET['showsim'])>0){ $showsim=intval($_GET['showsim']); $sql="select * from ($old ) solution left join `sim` on solution.solution_id=sim.s_id WHERE result=4 and sim>=$showsim limit 1000"; $sql="SELECT * FROM ($sql) `solution` left join(select solution_id old_s_id,user_id old_user_id from solution limit 1000) old on old.old_s_id=sim_s_id WHERE old_user_id!=user_id and sim_s_id!=solution_id "; $str2.="&showsim=$showsim"; } //$sql=$sql.$order_str." LIMIT 20"; } $sql=$sql.$order_str." LIMIT 20"; //echo $sql; if($OJ_MEMCACHE){ require("./include/memcache.php"); $result = mysql_query_cache($sql);// or die("Error! ".mysqli_error()); if($result) $rows_cnt=count($result); else $rows_cnt=0; }else{ $result = mysqli_query($mysqli,$sql);// or die("Error! ".mysqli_error()); if($result) $rows_cnt=mysqli_num_rows($result); else $rows_cnt=0; } $top=$bottom=-1; $cnt=0; if ($start_first){ $row_start=0; $row_add=1; }else{ $row_start=$rows_cnt-1; $row_add=-1; } $view_status=Array(); $last=0; for ($i=0;$i<$rows_cnt;$i++){ if($OJ_MEMCACHE) $row=$result[$i]; else $row=mysqli_fetch_array($result); //$view_status[$i]=$row; if($i==0&&$row['result']<4) $last=$row['solution_id']; if ($top==-1) $top=$row['solution_id']; $bottom=$row['solution_id']; $flag=(!is_running(intval($row['contest_id']))) || isset($_SESSION['source_browser']) || isset($_SESSION['administrator']) || (isset($_SESSION['user_id'])&&!strcmp($row['user_id'],$_SESSION['user_id'])); $cnt=1-$cnt; $view_status[$i][0]=$row['solution_id']; if ($row['contest_id']>0) { $view_status[$i][1]= "".$row['user_id'].""; }else{ $view_status[$i][1]= "".$row['user_id'].""; } if ($row['contest_id']>0) { $view_status[$i][2]= "
"; }else{ $view_status[$i][2]= ""; } $view_status[$i][3]=""; if (intval($row['result'])==11 && ((isset($_SESSION['user_id'])&&$row['user_id']==$_SESSION['user_id']) || isset($_SESSION['source_browser']))){ $view_status[$i][3].= "".$MSG_Compile_Error.""; }else if ((((intval($row['result'])==5||intval($row['result'])==6)&&$OJ_SHOW_DIFF)||$row['result']==10||$row['result']==13) && ((isset($_SESSION['user_id'])&&$row['user_id']==$_SESSION['user_id']) || isset($_SESSION['source_browser']))){ $view_status[$i][3].= "".$judge_result[$row['result']].""; }else{ if(!$lock||$lock_time>$row['in_date']||$row['user_id']==$_SESSION['user_id']){ if($OJ_SIM&&$row['sim']>80&&$row['sim_s_id']!=$row['s_id']) { $view_status[$i][3].= "*".$judge_result[$row['result']].""; if( isset($_SESSION['source_browser'])){ $view_status[$i][3].= "".$row['sim_s_id']."(".$row['sim']."%)"; }else{ $view_status[$i][3].= "".$row['sim_s_id'].""; } if(isset($_GET['showsim'])&&isset($row[13])){ $view_status[$i][3].= "$row[13]"; } }else{ $view_status[$i][3]= "".$judge_result[$row['result']].""; } }else{ echo "