Mercurial > hg > LGToc
view check_sections_details.php @ 18:a15320882b30
modified version list area, make it more neat.
author | Calvin Yeh <cyeh@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 25 Sep 2017 14:23:20 +0200 |
parents | 2e6bf16b0be3 |
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; } if (isset($_GET['sessionId'])) { // check if get session info from LGService, to get username as editor $session_id = $_GET['sessionId']; global $lgserver_url; $lg_url = $lgserver_url."rest/utils/getUser?sessionId=".$session_id; // url to get username from LGService //$lg_url = "http://localgazetteers-dev/LGServices/rest/utils/getUser?sessionId=".$session_id; // url to get username from LGService $output = file_get_contents($lg_url); $user_info = json_decode($output, true); if(strcmp($user_info['status'], "ok") === 0 && isset($user_info['userName'])){ $current_editor = (string)$user_info['userName']; if($current_editor == "" || strcmp($current_editor, "") === 0){ // redirect to LGServices homepage header("Location: ".$lgserver_url); exit; } } else { // redirect to LGServices homepage header("Location: ".$lgserver_url); exit; } } else { // test locally // redirect to LGServices homepage header("Location: ".$lgserver_url); exit; } ?> <!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(index, 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, 1200*1000); } function slowAlert() { if (confirm("Reminder: It's been 20 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, 1200*1000); } }).fail(function(){ console.log("fail to renew session."); }); } } </script> </body> </html>