0 ){ $status = '201' ; $select = $mysqli->query( "SELECT * FROM task a WHERE a.deleted_at IS NULL AND a.task_id = '".$task_id."' AND ( a.created_by = '".$staff_info['staff_id']."' OR a.assigned_by = '".$staff_info['staff_id']."' OR EXISTS ( SELECT b.staff_id FROM task_joinstaff b WHERE a.task_id = b.task_id AND b.staff_id = '".$staff_info['staff_id']."' LIMIT 1 ) ) AND a.status IN ( 'pending', 'assigned', 'resubmit', 'progress', 'completed' ) LIMIT 1" ) ; if ( $select->num_rows > 0 ){ $status = '202' ; $row = $select->fetch_assoc() ; $count_todo_list = 0 ; $count_todo_done = 0 ; if ( checkExists($array['todo_list']) ){ foreach ( $array['todo_list'] as $k => $v ){ if ( $v['is_delete'] == 'no' ){ $count_todo_list++ ; if ( $v['is_done'] == 'yes' ){ $count_todo_done++ ; } } } } if ( checkExists($array['todo_list']) ){ foreach ( $array['todo_list'] as $k => $v ){ if ( $v['is_done'] == 'yes' ){ $mysqli->query( "UPDATE task_todo SET is_done = 'yes', done_by = '".$staff_info['staff_id']."', done_at = '".TODAYDATE."' WHERE todo_id = '".$v['id']."' AND is_done = 'no'" ) ; } } } $update_status = 'pending' ; if ( $row['assigned_by'] > 0 ){ $update_status = 'assigned' ; } if ( $count_todo_done > 0 ){ $update_status = 'progress' ; } if ( $count_todo_list == $count_todo_done ){ $update_status = 'completed' ; } if ( $mysqli->query( "UPDATE task SET status = '".$update_status."', todo_done = '".$count_todo_done."' WHERE task_id = '".$task_id."'" ) ) { $status = '200' ; // push to notification $related_staffid = getTaskRelatedStaff( $task_id, $row['created_by'], $row['assigned_by'] ) ; foreach ( $related_staffid as $k => $v ){ pushToUserCron( 'task', $task_id, $v, 'Task Todo', 'Task ( '.$row['task_so'].' ) todo has been updated' ) ; } } } } } require( $require_sub.'footer.php' ) ; ?>