Mercurial > hg > LGToc
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>