changeset 20:ae69cfe4f9d2 default tip

new version, remove session mechanism, after all server side save data without session in previous version, check_sections_detail.php
author Calvin Yeh <cyeh@mpiwg-berlin.mpg.de>
date Mon, 25 Sep 2017 14:32:47 +0200
parents c0eccf597fcc
children
files check_sections_details2.php
diffstat 1 files changed, 257 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/check_sections_details2.php	Mon Sep 25 14:32:47 2017 +0200
@@ -0,0 +1,257 @@
+<?php
+include_once('config/Lib_mb_utf8.php');
+include_once('config/config.php');
+include_once('edit_section_db.php');
+set_time_limit(0);
+ini_set('memory_limit', '-1');
+
+$link_mysql = mysql_connect($mysql_server, $mysql_user, $mysql_password);
+mysql_query("SET NAMES utf8");
+
+if (!$link_mysql) {
+    die('Could not connect: ' . mysql_error());
+}
+
+$db_selected = mysql_select_db($mysql_database, $link_mysql);
+
+if (!$db_selected) {
+    die ('Can\'t use foo : ' . mysql_error());
+}
+
+function getBookInfo($bookId){
+
+    $query="SELECT * FROM books WHERE id=".$bookId;
+	$result=mysql_query($query);
+	$bookInfo=mysql_fetch_assoc($result);
+	return $bookInfo;
+}
+
+function printBookInfo($bookInfo){
+
+	$str="<table class='bookInfo'><tr>
+    <th class='bookId'>book id</th>
+		<th class='bookName'>book name</th>
+		<th class='level1'>level1</th>
+		<th class='level2'>level2</th>
+		<th class='period'>period</th>
+		<th class='bookId'>pages</th>
+		<th class='bookId'>version</th>
+		<th class='bookName'>editor</th>
+		<th class='bookName'>date</th></tr>";
+
+	$str.="<tr>";
+	$str.="<td>".$bookInfo['id'];
+	$str.="</td><td>".$bookInfo['name'];
+	$str.="</td><td>".$bookInfo['level1'];
+	$str.="</td><td>".$bookInfo['level2'];
+	$str.="</td><td>".$bookInfo['period'];
+	$str.="</td><td>".$bookInfo['line'];
+	$str.="</td><td>".$bookInfo['version'];
+	$str.="</td><td>".$bookInfo['editor'];
+	$str.="</td><td>".$bookInfo['date'];
+	$str.="</td></tr></table>";
+
+	echo $str;
+}
+
+function printSectionArray($sectionArray,$missingPageArray){
+	$str="<div id='bookContainer'>";
+	echo $str;
+	$i=0;
+	foreach($sectionArray as $idx=>$row){
+		/*
+		$flag="";
+		if($i!=sizeof($pageArray) && $pageArray[$i]['start_page']==$row['start_page'] && $pageArray[$i]['end_page']==$row['end_page']){
+			$flag="overlapper";
+			$i++;
+		}
+		if($i!=0 && $pageArray[$i-1]['start_page']==$row['start_page'] && $pageArray[$i-1]['end_page']==$row['end_page']){
+			$flag="overlapper";
+		}*/
+		if(!($idx!=0 && $sectionArray[$idx-1]['start_page']==$row['start_page'] && $sectionArray[$idx-1]['end_page']==$row['end_page'])
+			&& $i<sizeof($missingPageArray) && $missingPageArray[$i]['end_page']==$row['start_page']){
+			$str="<div class='missingPageContainer'><div class='missingPage'>Missing pages: ".$missingPageArray[$i]['start_page']." - ".$missingPageArray[$i]['end_page']."</div></div>";
+			//$str.="<br>";
+			$i++;
+			echo $str;
+		}
+
+		$str="<div class='entry level".$row['level']." ".$row['flag']." ".$row['deleted']."'>";
+			$str.="<div class='hiddenInfo'>";
+				$str.="<div class='id'>".$row['id']."</div>";
+				$str.="<div class='booksId'>".sprintf("%05d",$row['books_id'])."</div>";
+				$str.="<div class='splitFrom'>".$row['split_from']."</div>";
+				$str.="<div class='sectionAfter'>".$row['section_after']."</div>";
+			$str.="</div>";//end of hiddenInfo
+			$str.="<div class='sequence'>".($idx+1)."</div>";
+			$str.="<div class='name'>".$row['name']."</div>";
+			$str.="<div class='page'>";
+				$str.="<div class='startPage'>".$row['start_page']."</div>";
+				$str.=" - ";
+				$str.="<div class='endPage'>".$row['end_page']."</div>";
+			$str.="</div>";//end of page
+		$str.="</div>";	//end of class entry
+		echo $str;
+
+	}
+	if($i<sizeof($missingPageArray)){
+		$str="<div class='missingPage'>Missing pages: ".$missingPageArray[$i]['start_page']." - ".$missingPageArray[$i]['end_page']."</div>";
+                echo $str;
+	}
+	$str="</div>";
+	echo $str;
+}
+
+?>
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+    <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+
+            <link href="css/jquery-ui/jquery-ui.css" type="text/css" rel="stylesheet"/>
+           	<script src="js/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
+            <script src="js/jquery/jquery-ui.js" type="text/javascript"></script>
+
+            <link href="css/check_sections.css?v=18" type="text/css" rel="stylesheet"/>
+            <script src="js/check_sections_details.js?v=18" type="text/javascript"></script>
+
+    </head>
+    <body>
+		<div id="loading">...</div>
+		<div id="container">
+        	<?php
+			$version=0;
+			$editor="";
+			$date="";
+            if(isset($_GET['book_id']) && isset($_GET['count']) && is_numeric($_GET['count'])){
+				$bookId=$_GET['book_id'];
+				$count=$_GET['count'];
+				$bookInfo=getBookInfo($bookId);
+				$info=checkSectionInfo($bookId);
+				$version=$info['version'];
+				$editor=$info['editor'];
+				$date=$info['date'];
+				$bookInfo=array_merge($bookInfo,["version"=>$version,"editor"=>$editor,"date"=>$date]);
+                                printBookInfo($bookInfo);
+				//echo "version: ".$version."<br>last editor: ".$editor;
+				$missingPageArray=checkMissingPage($bookInfo,$info);
+			?>
+
+			<table id="history_table">
+				<thead>
+					<button id="show_all" style="display:block;">Show history</button>
+					<button id="close" style="display:none;margin-bottom:10px;">Close</button>
+				</thead>
+				<tbody id="history_body">
+
+				</tbody>
+			</table>
+        	<div id="searchResults">
+			<?php
+				$sectionArray=getSectionArray($bookId,$count,$info);
+				printSectionArray($sectionArray,$missingPageArray);
+            }else{
+				echo "Cannot process the data due to incomplete input.";
+			}
+            ?>
+        	</div>
+		</div>
+		<div id="panel"></div>
+		<script>
+			var version=<?php echo $version;?>;
+			var session_id = "<?php echo $_GET['sessionId'];?>";
+
+		    function setCurrentEditor() {
+			    // current_editor is gotten from LGService
+		        var current_editor = <?php echo json_encode($current_editor) ?>;
+		        if (current_editor != "") {
+				    $("#saveBook .editor").val(current_editor);
+		        } else {
+		    	    alert("Error!! You have to login from LGService!");
+			        $("#loading").show();
+		        }
+		    }
+
+		    function showAll() {
+
+			<?php
+
+				$query_editor = "(SELECT editor, date, version from sections_versions WHERE books_id='".$bookId."' ORDER BY version DESC)";
+				$result = mysql_query($query_editor);
+
+                while ($row = mysql_fetch_assoc($result)) {
+                    $history[] = $row;
+                }
+
+                $struct = array("data" => $history);
+                print "var histories=".json_encode($struct) .";";
+
+			?>
+
+                var tableData = '<tr><td>Editor</td><td>Version</td><td>Saved Time</td></tr>';
+
+                $.each(histories.data, function(idx, data) {
+                     tableData += (`<tr><td>${data.editor}</td><td>${data.version}</td><td>${data.date}</td><</tr>`);
+                });
+
+                $('#history_body').html(tableData);
+
+                document.getElementById("show_all").style.display = "none";
+                document.getElementById("close").style.display = "block";
+
+            }
+
+            document.getElementById("show_all").onclick = showAll;
+
+            function closeAll() {
+
+                $('#history_body').html("");
+
+                document.getElementById("show_all").style.display = "block";
+                document.getElementById("close").style.display = "none";
+            }
+
+            document.getElementById("close").onclick = closeAll;
+
+
+		// --- timeout reminder ---
+		// var timeoutID;
+		// delayedAlert();
+		// function delayedAlert() {
+		//  	timeoutID = window.setTimeout(slowAlert, 600*1000);
+		// }
+		// function slowAlert() {
+		//  	if (confirm("Reminder: It's been 10 mins. Remember saving your work to prevent data lost.  \n\nKeep working? \n(Press Cancel will turn off this reminder.)")) {
+        //
+		// 		var lg_url = "<?php echo $lgserver_url?>" + "rest/utils/getUser?sessionId=" + session_id;
+        //
+		//  		$.post(lg_url, function(data) {
+		//  			console.log("renew session.");
+        //
+		//  		}).done(function(data){
+		//  			console.log(data);
+		//  			console.log("login as: " + data['userName']);
+        //
+		//  			if (data['userName'] == "") {
+		//  				alert("Error!! You have to re-login from LGService!");
+		// 				$("#loading").show();
+		//  			} else {
+		// 		 		timeoutID = window.setTimeout(slowAlert, 600*1000);
+		//  			}
+        //
+		//  		}).fail(function(){
+		//  			console.log("fail to renew session.");
+		//  		});
+		//  	}
+        //
+		// }
+
+
+
+		</script>
+
+
+    </body>
+
+</html>