diff --git a/src/web/module/maestro_section_app_activation.html b/src/web/module/maestro_section_app_activation.html
index 42bf4d4..cf5bf96 100644
--- a/src/web/module/maestro_section_app_activation.html
+++ b/src/web/module/maestro_section_app_activation.html
@@ -84,16 +84,16 @@ function activateMouseApp(activatedList) {
function getGroupName(groupName) {
switch(groupName) {
case "typing_practice_kor":
- return "자리 연습 - 한글";
+ return "손가락 연습 - 한글";
case "typing_practice_eng":
- return "자리 연습 - 영문";
+ return "손가락 연습 - 영문";
case "typing_test_kor":
- return "타자 시험 - 한글";
+ return "단어/문장 연습 - 한글";
case "typing_test_eng":
- return "타자 시험 - 영문";
+ return "단어/문장 연습 - 영문";
}
diff --git a/src/web/module/maestro_section_record.html b/src/web/module/maestro_section_record.html
index 2dbe821..1253519 100644
--- a/src/web/module/maestro_section_record.html
+++ b/src/web/module/maestro_section_record.html
@@ -103,6 +103,7 @@ function loadAppList() {
// console.log(jsonData);
makeTypingPracticeSubjectList(jsonData["appList"]);
makeTypingTestSubjectList(jsonData["appList"]);
+ makeTypingExamSubjectList(jsonData["appList"]);
makeTypingAppSubjectList(jsonData["appList"]);
}),
@@ -163,6 +164,13 @@ function makeTypingTestSubjectList(appList) {
}
}
+function makeTypingExamSubjectList(appList) {
+ $("#typing_exam_subject_list").empty();
+
+ addSubjectBundleItem("#typing_exam_subject_list", 1004, "한글 긴글 (시험) 묶음");
+ addSubjectBundleItem("#typing_exam_subject_list", 1005, "영문 긴글 (시험) 묶음");
+}
+
function makeTypingAppSubjectList(appList) {
$("#typing_app_subject_list").empty();
@@ -240,8 +248,10 @@ function getPlayerRecordList(limitCount) {
var requestURL = "";
- if(appID == 3000)
+ if(appID == 3000) // license
requestURL = "./../server/record/request_license_timer_player_record_list.php";
+ else if(appID == 1004 || appID == 1005) // typing exam
+ requestURL = "./../server/record/request_writing_player_record_list.php";
else
requestURL = "./../server/record/request_app_player_record_list.php";
@@ -404,6 +414,12 @@ function addRecordListItem($date, $time, $name, $subject, $record) {
+
+
diff --git a/src/web/server/record/request_writing_player_record_list.php b/src/web/server/record/request_writing_player_record_list.php
new file mode 100644
index 0000000..929578b
--- /dev/null
+++ b/src/web/server/record/request_writing_player_record_list.php
@@ -0,0 +1,165 @@
+close();
+ exit;
+}
+
+set_data("RecordTotalCount", $recordTotalCount);
+set_data("RecordList", $replyJSON);
+send_result_success();
+exit;
+
+
+
+
+function makeDateStatement($start_date, $end_date) {
+ return " '".$start_date."' < TE.RecordDateTime AND TE.RecordDateTime < '".$end_date."'";
+ // return " '2017-01-01' < TE.RecordDateTime AND TE.RecordDateTime < '".$end_date."'";
+}
+
+function makeSubjectSentence($app_id) {
+ if($app_id == 0)
+ return "";
+
+ $subject_statement = "";
+ if(is_subject_bundle_item($app_id)) {
+ switch($app_id) {
+ case 1004: // korean exam
+ $subject_statement = $subject_statement."WR.Language='korean'";
+ break;
+
+ case 1005: // english exam
+ $subject_statement = $subject_statement."WR.Language='english'";
+ break;
+ }
+ } else {
+ $subject_statement = $subject_statement."WR.WritingID=".$app_id;
+ }
+
+ return $subject_statement." AND TE.WritingID=WR.WritingID";
+}
+
+function makePlayerNameStatement($player_name_list) {
+ $player_name_statement = "TE.PlayerID=P.PlayerID";
+ if(strlen($player_name_list) > 0)
+ $player_name_statement = $player_name_statement." AND P.Name LIKE '%".$player_name_list."%'";
+
+ return $player_name_statement;
+}
+
+
+function is_subject_bundle_item($app_id) {
+ if($app_id >= 1000)
+ return true;
+
+ return false;
+}
+
+function make_where_statement($date_statement, $player_name_statement, $subject_statement) {
+ // add date condition
+ $where_statement = $date_statement;
+ if(strlen($where_statement) > 0 and strlen($player_name_statement) > 0)
+ $where_statement = $where_statement." AND ";
+
+ // add player name condition
+ $where_statement = $where_statement.$player_name_statement;
+
+ // add subject condition
+ if(strlen($where_statement) > 0 and strlen($subject_statement) > 0)
+ $where_statement = $where_statement." AND ";
+ $where_statement = $where_statement.$subject_statement;
+
+ return $where_statement;
+}
+
+function get_player_record_total_count($maestro_id, $where_statement) {
+ global $db_conn;
+
+ $query = "
+ SELECT COUNT(*)
+ FROM typing_exam_record TE, player P, writing WR
+ WHERE TE.MaestroID = ? AND ".$where_statement."
+ ";
+
+ // echo $query;
+ // return;
+
+ $stmt = $db_conn->prepare($query);
+ $stmt->bind_param("i", $maestro_id);
+ $stmt->execute();
+ $stmt->bind_result($record_count);
+ $stmt->fetch();
+ $stmt->close();
+
+ return $record_count;
+}
+
+function get_player_record_list($maestro_id, $where_statement, $limit_count) {
+ global $db_conn;
+
+ $query = "
+ SELECT DATE(TE.RecordDateTime) AS Date, TIME(TE.RecordDateTime) AS Time,
+ P.Name AS Name, WR.Name AS Subject, TE.Record AS Record
+ FROM typing_exam_record TE, player P, writing WR
+ WHERE TE.MaestroID = ? AND TE.WritingID=WR.WritingID AND TE.PlayerID=P.PlayerID AND ".$where_statement."
+ ORDER BY TE.RecordDateTime DESC
+ ";
+
+ if($limit_count > 0)
+ $query = $query." LIMIT ".$limit_count;
+
+ // echo $query;
+ // return;
+
+ $stmt = $db_conn->prepare($query);
+ $stmt->bind_param('i', $maestro_id);
+ $stmt->execute();
+ $stmt->bind_result($date, $time, $player_name, $subject, $record);
+
+ $record_array = array();
+ while($stmt->fetch()) {
+ $record_date['Date'] = $date;
+ $record_date['Time'] = $time;
+ $record_date['PlayerName'] = $player_name;
+ $record_date['Subject'] = $subject;
+ $record_date['Record'] = $record;
+ array_push($record_array, $record_date);
+ }
+
+ return $record_array;
+}
+
+?>
\ No newline at end of file