Out must be greater than in.' ; // get previous check group $previous_group = date('Y-m-d', strtotime($check_group.' -1 days')) ; // default parameter $attendance_id_0 = escapeString($_POST['attendance_id_0']) ; $attendance_time_0 = escapeString($_POST['attendance_time_0']) ; $attendance_remark_0 = escapeString($_POST['attendance_remark_0']) ; $new_in_out_0 = ( $attendance_time_0 != '' ? ( escapeString($_POST['attendance_date_0']) . ' ' . $attendance_time_0 ) : '' ) ; $attendance_id_1 = escapeString($_POST['attendance_id_1']) ; $attendance_time_1 = escapeString($_POST['attendance_time_1']) ; $attendance_remark_1 = escapeString($_POST['attendance_remark_1']) ; $new_in_out_1 = ( $attendance_time_1 != '' ? ( escapeString($_POST['attendance_date_1']) . ' ' . $attendance_time_1 ) : '' ) ; $attendance_id_2 = escapeString($_POST['attendance_id_2']) ; $attendance_time_2 = escapeString($_POST['attendance_time_2']) ; $attendance_remark_2 = escapeString($_POST['attendance_remark_2']) ; $new_in_out_2 = ( $attendance_time_2 != '' ? ( escapeString($_POST['attendance_date_2']) . ' ' . $attendance_time_2 ) : '' ) ; $attendance_id_3 = escapeString($_POST['attendance_id_3']) ; $attendance_time_3 = escapeString($_POST['attendance_time_3']) ; $attendance_remark_3 = escapeString($_POST['attendance_remark_3']) ; $new_in_out_3 = ( $attendance_time_3 != '' ? ( escapeString($_POST['attendance_date_3']) . ' ' . $attendance_time_3 ) : '' ) ; $attendance_id_4 = escapeString($_POST['attendance_id_4']) ; $attendance_time_4 = escapeString($_POST['attendance_time_4']) ; $attendance_remark_4 = escapeString($_POST['attendance_remark_4']) ; $new_in_out_4 = ( $attendance_time_4 != '' ? ( escapeString($_POST['attendance_date_4']) . ' ' . $attendance_time_4 ) : '' ) ; $attendance_id_5 = escapeString($_POST['attendance_id_5']) ; $attendance_time_5 = escapeString($_POST['attendance_time_5']) ; $attendance_remark_5 = escapeString($_POST['attendance_remark_5']) ; $new_in_out_5 = ( $attendance_time_5 != '' ? ( escapeString($_POST['attendance_date_5']) . ' ' . $attendance_time_5 ) : '' ) ; $attendance_id_6 = escapeString($_POST['attendance_id_6']) ; $attendance_time_6 = escapeString($_POST['attendance_time_6']) ; $attendance_remark_6 = escapeString($_POST['attendance_remark_6']) ; $new_in_out_6 = ( $attendance_time_6 != '' ? ( escapeString($_POST['attendance_date_6']) . ' ' . $attendance_time_6 ) : '' ) ; $attendance_id_7 = escapeString($_POST['attendance_id_7']) ; $attendance_time_7 = escapeString($_POST['attendance_time_7']) ; $attendance_remark_7 = escapeString($_POST['attendance_remark_7']) ; $new_in_out_7 = ( $attendance_time_7 != '' ? ( escapeString($_POST['attendance_date_7']) . ' ' . $attendance_time_7 ) : '' ) ; // check out must be greater than in $boolean_check = false ; if ( $attendance_time_0 != '' && $attendance_time_1 != '' ){ if ( $attendance_time_1 >= $attendance_time_0 ){ }else{ $boolean_check = true ; } } if ( $attendance_time_1 != '' && $attendance_time_2 != '' ){ if ( $attendance_time_2 >= $attendance_time_1 ){ }else{ $boolean_check = true ; } } if ( $attendance_time_2 != '' && $attendance_time_3 != '' ){ if ( $attendance_time_3 >= $attendance_time_2 ){ }else{ $boolean_check = true ; } } if ( $attendance_time_3 != '' && $attendance_time_4 != '' ){ if ( $attendance_time_4 >= $attendance_time_3 ){ }else{ $boolean_check = true ; } } if ( $attendance_time_4 != '' && $attendance_time_5 != '' ){ if ( $attendance_time_5 >= $attendance_time_4 ){ }else{ $boolean_check = true ; } } if ( $attendance_time_5 != '' && $attendance_time_6 != '' ){ if ( $attendance_time_6 >= $attendance_time_5 ){ }else{ $boolean_check = true ; } } if ( $attendance_time_6 != '' && $attendance_time_7 != '' ){ if ( $attendance_time_7 >= $attendance_time_6 ){ }else{ $boolean_check = true ; } } // if false then allow to access if ( !$boolean_check ){ $error_message = '
Record failed to updated.
' ; // start commit $error = 0 ; $mysqli->autocommit( false ) ; // insert or update attendance for ( $a = 0 ; $a < 8 ; $a++ ){ $attendance_id = '' ; $remark = '' ; $new_in_out = '' ; switch ( $a ){ case '0' : $attendance_id = $attendance_id_0 ; $remark = $attendance_remark_0 ; $new_in_out = $new_in_out_0 ; break ; case '1' : $attendance_id = $attendance_id_1 ; $remark = $attendance_remark_1 ; $new_in_out = $new_in_out_1 ; break ; case '2' : $attendance_id = $attendance_id_2 ; $remark = $attendance_remark_2 ; $new_in_out = $new_in_out_2 ; break ; case '3' : $attendance_id = $attendance_id_3 ; $remark = $attendance_remark_3 ; $new_in_out = $new_in_out_3 ; break ; case '4' : $attendance_id = $attendance_id_4 ; $remark = $attendance_remark_4 ; $new_in_out = $new_in_out_4 ; break ; case '5' : $attendance_id = $attendance_id_5 ; $remark = $attendance_remark_5 ; $new_in_out = $new_in_out_5 ; break ; case '6' : $attendance_id = $attendance_id_6 ; $remark = $attendance_remark_6 ; $new_in_out = $new_in_out_6 ; break ; case '7' : $attendance_id = $attendance_id_7 ; $remark = $attendance_remark_7 ; $new_in_out = $new_in_out_7 ; break ; } if ( $new_in_out != '' ){ if ( $attendance_id == '0' ){ // add attendance if ( $mysqli->query("INSERT INTO staff_attendance (staff_id, check_group, type, code, record_from, mac_address, ip_address, latitude, longitude, check_area, remark, created_at, updated_at) VALUES ('".$staff_id."', '".$check_group."', '".$attendance_type."', '', 'manual', '', '', '', '', 'in', '".$remark."', '".$new_in_out."', '".TODAYDATE."')") ){ }else{ $error++ ; } }else{ // update attendance $attendance_q = $mysqli->query("SELECT * FROM staff_attendance WHERE deleted_at IS NULL AND attendance_id = '".$attendance_id."' LIMIT 1") ; if ( $attendance_q->num_rows > 0 ){ $attendance = $attendance_q->fetch_assoc() ; $query_date = '' ; if ( $attendance['created_at'] != $new_in_out ){ $query_date .= "created_at = '".$new_in_out."'," ; } // update attendance if ( $mysqli->query("UPDATE staff_attendance SET ".$query_date." remark = '".$remark."', updated_at = '".TODAYDATE."' WHERE attendance_id = '".$attendance_id."'") ){ }else{ $error++ ; } } } }else{ if ( $attendance_id != '0' ){ // update attendance $attendance_q = $mysqli->query("SELECT * FROM staff_attendance WHERE deleted_at IS NULL AND attendance_id = '".$attendance_id."' LIMIT 1") ; if ( $attendance_q->num_rows > 0 ){ $attendance = $attendance_q->fetch_assoc() ; // delete attendance list if ( $mysqli->query("UPDATE staff_attendance SET deleted_at = '".TODAYDATE."' WHERE attendance_id = '".$attendance_id."'") ){ }else{ $error++ ; } } } } } // remove attendance list, direct remove 2 days, yesterday and today /* $array_group = [ $previous_group, $check_group ] ; foreach ( $array_group as $k => $v ){ $get_list_q = $mysqli->query("SELECT list_id FROM staff_attendance_list WHERE staff_id = '".$staff_id."' AND list_date = '".$v."' AND deleted_at IS NULL LIMIT 1") ; if ( $get_list_q->num_rows > 0 ){ // delete attendance list $get_list = $get_list_q->fetch_assoc() ; $list_id = $get_list['list_id'] ; if ( $mysqli->query("UPDATE staff_attendance_list SET deleted_at = '".TODAYDATE."' WHERE list_id = '".$list_id."'") ){ // delete the merge record if ( $mysqli->query("UPDATE staff_attendance SET list_id = '0' WHERE list_id = '".$list_id."'") ){ }else{ $error++ ; } }else{ $error++ ; } } } */ if( $error == 0 ) { // commit query $mysqli->commit() ; $error_message = '
Thank you, your attendance record success to updated.
' ; }else{ $mysqli->rollback() ; } } // refresh page header("Refresh: 0") ; $_SESSION['system_result'] = $error_message ; exit ; } ?>