/includes/ajax_timeclock.php
PHP | 51 lines | 40 code | 2 blank | 9 comment | 5 complexity | 86cb45a9ea00c170aab32bc61673a9a7 MD5 | raw file
- <?php
- $task_id = $_POST['taskid'];
- if(strpos($_POST['duration'],".") !== false) {
- // with seconds decimal
- $durationstr = $_POST['duration'];
- $durationparts = explode(".", $durationstr);
- $duration = $durationparts[0];
- } else {
- // without seconds decimal
- $duration = $_POST['duration'];
- }
-
- include("../mysql.php");
- $link = mysql_connect($mysqlhost, $mysqluser, $mysqlpass) or die("Could not connect to server");
- mysql_select_db($mysqldb) or die("Could not select database");
-
- // determine if most recent timeclock entry was in or out
- $select_sql = "SELECT id,
- taskid,
- clock_in,
- clock_out,
- userid
- FROM hours
- WHERE taskid='$task_id'
- AND clock_out='0000-00-00 00:00:00'
- AND userid='" . $_SESSION['userid_auth'] . "'
- ORDER BY clock_in DESC
- LIMIT 1";
- $select_query = mysql_query($select_sql) or die(mysql_error());
- $num_rows = mysql_num_rows($select_query);
- if($num_rows):
- while(list($hour_id, $task_id, $clock_in, $clock_out, $userid) = mysql_fetch_row($select_query)):
- // determine local (server-time based) duration since clock-in time
- $interval = date_diff(date_create($clock_in), date_create(date('Y-m-d H:i:s')));
- $local_duration = $interval->format('%H:%M:%S');
- // pick whichever is greater, local or remote duration
- if($duration > $local_duration) $newduration = $duration; else $newduration = $local_duration;
- // update to add a clock out entry
- //$update_sql = "UPDATE hours SET clock_out=NOW(), duration='$duration' WHERE id='$hour_id'";
- $update_sql = "UPDATE hours SET clock_out=NOW(), duration='$newduration' WHERE id='$hour_id'";
- $update_query = mysql_query($update_sql) or die(mysql_error());
- echo $newduration . ' @ ' . date('Y-m-d H:i:s');;
- endwhile;
- else:
- // insert a clock in entry
- $insert_sql = "INSERT INTO hours (taskid, clock_in, userid) VALUES ('" . $task_id . "', NOW(), '" . $_SESSION['userid_auth'] . "')";
- $insert_query = mysql_query($insert_sql) or die(mysql_error());
- //echo ;
- echo '00:00:00 @ ' . date('Y-m-d H:i:s');
- endif;
- ?>