/**
 * When a tracked email is opened.
 *
 * @since	1.3
 * @param	arr			$data		Data from the $_GET request
 * @return	void
 */
function mdjm_track_open_email($data)
{
    if (!isset($data['tracker_id'])) {
        die;
    }
    $tracking_id = $data['tracker_id'];
    $current_status = get_post_status($tracking_id);
    if (!$current_status || 'opened' == $current_status) {
        die;
    }
    do_action('mdjm_pre_track_email_opened', $tracking_id);
    header('Cache-Control: no-store, no-cache, must-revalidate');
    header('Cache-Control: post-check=0, pre-check=0', false);
    header('Pragma: no-cache');
    $invpicture = MDJM_PLUGIN_DIR . '/assets/images/invpicture.png';
    $invpicture = apply_filters('mdjm_email_track_invpicture', $invpicture);
    $handle = fopen($invpicture, 'r');
    if (!$handle) {
        die;
    }
    header('Content-type: image/png');
    $contents = fread($handle, filesize($invpicture));
    fclose($handle);
    echo $contents;
    mdjm_email_set_tracking_status($tracking_id, 'opened');
    do_action('mdjm_post_track_email_opened', $tracking_id);
    die;
}
 /**
  * Store the communication.
  *
  * @since	1.3
  */
 public function update_tracking_status()
 {
     if (!empty($this->tracking_id)) {
         mdjm_email_set_tracking_status($this->tracking_id, 'sent');
     }
 }