Mercurial > hg > LGToc
view check_sections_details2.php @ 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 | |
children |
line wrap: on
line source
<?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>