Skip to content

Commit

Permalink
Merging and Deleting Sessions
Browse files Browse the repository at this point in the history
Torque sometimes crashes, leading to fragmented sessions.
These can now be merged.
Unnecessary sessions can be deleted.
TODO: Find an elegant way to clean up those <60 data points sessions.
  • Loading branch information
Nippey committed Jan 20, 2015
1 parent 2cc282c commit 7901759
Show file tree
Hide file tree
Showing 3 changed files with 110 additions and 0 deletions.
25 changes: 25 additions & 0 deletions web/del_session.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?php
require_once("./creds.php");

session_start();

if (isset($_POST["deletesession"])) {
$deletesession = preg_replace('/\D/', '', $_POST['deletesession']);
}
elseif (isset($_GET["deletesession"])) {
$deletesession = preg_replace('/\D/', '', $_GET['deletesession']);
}

if (isset($deletesession) && !empty($deletesession)) {
// Connect to Database
$con = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name, $con) or die(mysql_error());

$delresult = mysql_query("DELETE FROM $db_table
WHERE session=$deletesession;", $con) or die(mysql_error());

mysql_free_result($delresult);
mysql_close($con);
}

?>
44 changes: 44 additions & 0 deletions web/merge_sessions.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php
require_once("./creds.php");
require_once("./get_sessions.php");

session_start();

if (isset($_POST["mergesession"])) {
$mergesession = preg_replace('/\D/', '', $_POST['mergesession']);
}
elseif (isset($_GET["mergesession"])) {
$mergesession = preg_replace('/\D/', '', $_GET['mergesession']);
}

if (isset($_POST["mergesessionwith"])) {
$mergesessionwith = preg_replace('/\D/', '', $_POST['mergesessionwith']);
}
elseif (isset($_GET["mergesessionwith"])) {
$mergesessionwith = preg_replace('/\D/', '', $_GET['mergesessionwith']);
}

if (isset($mergesession) && !empty($mergesession) && isset($mergesessionwith) && !empty($mergesessionwith) ) {
//Sessions to be merged must be direct neighbors. 'With' must be younger, thus have a lower array index in $sids
$idx1 = array_search( $mergesession, $sids);
$idx2 = array_search( $mergesessionwith, $sids);
if($idx1 != ($idx2+1)) {
die("Invalid sessions to be merged. Aborted.");
}

// Connect to Database
$con = mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name, $con) or die(mysql_error());

$mergeresult = mysql_query("UPDATE $db_table
SET session=$mergesession
WHERE session=$mergesessionwith;", $con) or die(mysql_error());

mysql_free_result($mergeresult);
mysql_close($con);

//Show merged session
$session_id = $mergesession;
}

?>
41 changes: 41 additions & 0 deletions web/session.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
require_once ("./creds.php");
require_once ("./auth_user.php");

require_once ("./del_session.php");
require_once ("./merge_sessions.php");
require_once ("./get_sessions.php");
require_once ("./get_columns.php");
require_once ("./plot.php");
Expand All @@ -23,6 +25,14 @@

if (isset($session_id)) {

//For the merge function, we need to find out, what would be the next session
$idx = array_search( $session_id, $sids);
if($idx>0) {
$session_id_next = $sids[$idx-1];
} else {
$session_id_next = false;
}

// Get GPS data for session
$sessionqry = mysql_query("SELECT kff1006, kff1005
FROM $db_table
Expand Down Expand Up @@ -292,7 +302,38 @@ function doPlot(position) {
</select>
<noscript><input type="submit" id="seshidtag" name="seshidtag" class="input-sm"></noscript>
</form>


<?php if(isset($session_id) && !empty($session_id)){ ?>
<div class="btn-group btn-group-justified">
<table style="width:100%"><tr>
<td><form method="post" class="form-horizontal" role="form" action="session.php?mergesession=<?php echo $session_id; ?>&mergesessionwith=<?php echo $session_id_next; ?>" id="formmerge">
<div align="center" style="padding-top:6px;"><input class="btn btn-info btn-sm" type="submit" id="formmerge" name="merge" value="Merge" title="Merge this session (<?php echo $seshdates[$session_id]; ?>) with the next session (<?php echo $seshdates[$session_id_next]; ?>)." <?php if(!$session_id_next){ echo 'disabled="disabled"';} ?> /></div>
</form></td>
<script type="text/javascript">
//Adding a confirmation dialog to above forms
$('#formmerge').submit(function() {
var c = confirm("Click OK to merge sessions (<?php echo $seshdates[$session_id]; ?>) and (<?php echo $seshdates[$session_id_next]; ?>).");
return c; //you can just return c because it will be true or false
});
</script>

<td><form method="post" class="form-horizontal" role="form" action="session.php?deletesession=<?php echo $session_id; ?>" id="formdelete">
<div align="center" style="padding-top:6px;"><input class="btn btn-info btn-sm" type="submit" id="formdelete" name="delete" value="Delete" title="Delete this session (<?php echo $seshdates[$session_id]; ?>)." /></div>
</form></td>
<script type="text/javascript">
$('#formdelete').submit(function() {
var c = confirm("Click OK to delete session (<?php echo $seshdates[$session_id]; ?>).");
return c; //you can just return c because it will be true or false
});
</script>
</tr></table>
</div>
<?php } /* END: if(isset($session_id) && !empty($session_id)) */?>


</div> <!-- END: Select Session -->


<br>

Expand Down

0 comments on commit 7901759

Please sign in to comment.