PageRenderTime 64ms CodeModel.GetById 30ms RepoModel.GetById 1ms app.codeStats 0ms

/includes/ajax_timeclock.php

https://bitbucket.org/websightdesigns/project-manager
PHP | 51 lines | 40 code | 2 blank | 9 comment | 5 complexity | 86cb45a9ea00c170aab32bc61673a9a7 MD5 | raw file
  1. <?php
  2. $task_id = $_POST['taskid'];
  3. if(strpos($_POST['duration'],".") !== false) {
  4. // with seconds decimal
  5. $durationstr = $_POST['duration'];
  6. $durationparts = explode(".", $durationstr);
  7. $duration = $durationparts[0];
  8. } else {
  9. // without seconds decimal
  10. $duration = $_POST['duration'];
  11. }
  12. include("../mysql.php");
  13. $link = mysql_connect($mysqlhost, $mysqluser, $mysqlpass) or die("Could not connect to server");
  14. mysql_select_db($mysqldb) or die("Could not select database");
  15. // determine if most recent timeclock entry was in or out
  16. $select_sql = "SELECT id,
  17. taskid,
  18. clock_in,
  19. clock_out,
  20. userid
  21. FROM hours
  22. WHERE taskid='$task_id'
  23. AND clock_out='0000-00-00 00:00:00'
  24. AND userid='" . $_SESSION['userid_auth'] . "'
  25. ORDER BY clock_in DESC
  26. LIMIT 1";
  27. $select_query = mysql_query($select_sql) or die(mysql_error());
  28. $num_rows = mysql_num_rows($select_query);
  29. if($num_rows):
  30. while(list($hour_id, $task_id, $clock_in, $clock_out, $userid) = mysql_fetch_row($select_query)):
  31. // determine local (server-time based) duration since clock-in time
  32. $interval = date_diff(date_create($clock_in), date_create(date('Y-m-d H:i:s')));
  33. $local_duration = $interval->format('%H:%M:%S');
  34. // pick whichever is greater, local or remote duration
  35. if($duration > $local_duration) $newduration = $duration; else $newduration = $local_duration;
  36. // update to add a clock out entry
  37. //$update_sql = "UPDATE hours SET clock_out=NOW(), duration='$duration' WHERE id='$hour_id'";
  38. $update_sql = "UPDATE hours SET clock_out=NOW(), duration='$newduration' WHERE id='$hour_id'";
  39. $update_query = mysql_query($update_sql) or die(mysql_error());
  40. echo $newduration . ' @ ' . date('Y-m-d H:i:s');;
  41. endwhile;
  42. else:
  43. // insert a clock in entry
  44. $insert_sql = "INSERT INTO hours (taskid, clock_in, userid) VALUES ('" . $task_id . "', NOW(), '" . $_SESSION['userid_auth'] . "')";
  45. $insert_query = mysql_query($insert_sql) or die(mysql_error());
  46. //echo ;
  47. echo '00:00:00 @ ' . date('Y-m-d H:i:s');
  48. endif;
  49. ?>