function mail_bij_status($post_id) {
$post = get_post($post_id);
// is het post id een nummer en het post type een opdracht
if (!is_numeric($post_id) || get_post_type($post_id) != 'opdrachten') {
return $post_id;
}
// argumenten voor de mails en acties verkrijgen
$author = $post->post_author;
$name = get_the_author_meta( 'display_name', $author );
$email = get_field('email_adres_opdrachtgever', $post_id);
//$email = get_the_author_meta( 'user_email', $author );
$title = $post->post_title;
$tipstricks = get_permalink( 10455 );
$permalink = get_permalink( $ID );
$edit = get_edit_post_link( $ID, '' );
$statusopdracht = $_POST['acf']['field_5cdc642a292bc'];
$match = $_POST['acf']['field_5cece72d72af6'];
$kandidatenmatch = $_POST['acf']['field_5ceceb1098c04'];
// verkrijg solliciaties en opslaan in array
global $wpdb;
$args = array(
'post_type' => 'sollicitaties',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'opdracht_id',
'value' => '"' . $post_id . '"',
'compare' => 'LIKE'
)
)
);
$my_query = new WP_Query($args);
$kandidaten = array();
if($my_query->have_posts()) {
while($my_query->have_posts()):
$count++;
$my_query->the_post();
$user_email = get_the_author_meta( 'user_email' );
$value = $user_email;
$kandidaten[] = $value;
endwhile;
} else {};
wp_reset_query();
// als er geen solliciaties zijn hoeven er geen kandidaten gemaild te worden
if (!empty($kandidaten)) {
//check de match en vergelijk dit met kandidaten en haal de matches eruit
$afwijzen = array_diff($kandidaten, $kandidatenmatch);
// als er kandidaten zijn moeten die worden afgewezen en gemaild
if (!empty($afwijzen)) {
foreach ($afwijzen as $afwijzing) {
$useraf = get_user_by( 'email', $afwijzing );
$naamaf = $useraf->first_name;
$toaf = sprintf( '%s <%s>', $naamaf, $afwijzing );
$subjectaf = sprintf( 'Helaas ben je niet gekozen | KROOTZ interim & ZZP', $title );
$messageaf = sprintf ('Beste %s,<br/> Helaas is de keuze voor de opdracht “%s” niet op jou gevallen.' . "\n\n", $naamaf, $title );
$messageaf .= sprintf( 'Wij willen je graag bedanken voor je interesse en de moeite die je hebt genomen om op deze opdracht te reageren.' . "\n\n" );
$messageaf .= sprintf( 'Wil je tips & tricks om nog meer kans te maken om te worden geselecteerd voor een opdracht? Klik dan <a href="%s"><strong>hier</strong></a>.' . "\n\n", $tipstricks);
$messageaf .= sprintf( 'Met vriendelijke groet,<br/>KROOTZ interim & ZZP' );
$headersaf[] = 'Content-Type: text/html; charset=UTF-8';
wp_mail( $toaf, $subjectaf, $messageaf, $headersaf );
}
}
// als er matches zijn dan moeten die worden gemaild
if (!empty($kandidatenmatch)) {
$matchesmailenopdrachtgever = array();
$matchesmailenadmin = array();
foreach ($kandidatenmatch as $enkele_match) {
$usermt = get_user_by( 'email', $enkele_match );
$useridmt = $usermt->id . ' ';
$naammt = $usermt->first_name . ' ';
$matchesmailenopdrachtgever[] = $naammt;
$matchesmailenadmin[] = $naammt . '|' . $useridmt;
$tomt = sprintf( '%s <%s>', $naammt, $enkele_match );
$subjectmt = sprintf( 'Gefeliciteerd, je bent geselecteerd! | KROOTZ interim & ZZP', $title );
$messagemt = sprintf ('Beste %s,<br/> Gefeliciteerd, je bent geselecteerd voor de opdracht “%s”.' . "\n\n", $naammt, $title );
$messagemt .= sprintf( 'Indien je nog geen contact hebt met de opdrachtgever sturen we hierbij de gegevens om de verdere details te bespreken.<br/>' );
$messagemt .= sprintf( '<strong>Opdrachtgever:</strong> %s' . "\n\n", $name );
$messagemt .= sprintf( '<strong>Email adres:</strong> %s' . "\n\n", $email );
$messagemt .= sprintf( 'Wij willen je graag bedanken voor je interesse en de moeite die je hebt genomen om op deze opdracht te reageren.');
$messagemt .= sprintf( 'Wij nemen op een later moment contact met je op voor de juiste afwikkeling.' . "\n\n" );
$messagemt .= sprintf( 'Met vriendelijke groet,<br/>KROOTZ interim & ZZP' );
$headersmt[] = 'Content-Type: text/html; charset=UTF-8';
wp_mail( $tomt, $subjectmt, $messagemt, $headersmt );
}
}
}
// zet alle matches in een lijst op naam
$matcheslijstopdrachtgever = implode("<br/>", $matchesmailenopdrachtgever);
// zet alle matches in een lijst met ID en naam voor KROOTZ
$matcheslijstadmin = implode("<br/>", $matchesmailenadmin);
//// mail de opdrachtgever indien er een match is
// stuur mail bij MATCH (en afwijzingen)
if($statusopdracht = 623 && $match == "ja"){
$tomtop = sprintf( '%s <%s>', $name, $email );
$subjectmtop = sprintf( 'Opdracht succesvol gesloten | KROOTZ interim & ZZP', $title );
$messagemtop = sprintf ('Beste %s,<br/> Gefeliciteerd, je opdracht “%s” is succesvol gesloten.' . "\n\n", $name, $title );
$messagemtop .= sprintf( 'De kandidaten zijn allen automatisch gemaild. De volgende kandidaten heb je als match aangemerkt:' . "\n\n" );
$messagemtop .= sprintf( '%s' . "\n\n", $matcheslijstopdrachtgever );
$messagemtop .= sprintf( 'Wij nemen op een later moment contact met je op voor de juiste afwikkeling.' . "\n\n" );
$messagemtop .= sprintf( 'Met vriendelijke groet,<br/>KROOTZ interim & ZZP' );
$headersmtop[] = '';
wp_mail( $tomtop, $subjectmtop, $messagemtop, $headersmtop );
$tokrootz = sprintf('KROOTZ interim & ZZP <info@krootz.nl>');
$subjectkrootz = sprintf( 'MATCH - Opdracht succesvol gesloten | KROOTZ interim & ZZP', $title );
$messagekrootz = sprintf ('De opdracht “%s” is succesvol gesloten.' . "\n\n", $title );
$messagekrootz .= sprintf( 'De volgende kandidaten zijn als match aangemerkt:' . "\n\n" );
$messagekrootz .= sprintf( '%s ' . "\n\n", $matcheslijstadmin );
$messagekrootz .= sprintf( 'De volgende opdrachtgever moet worden gefactureerd:' . "\n\n" );
$messagekrootz .= sprintf( 'Opdrachtgever: %s' . "\n\n", $email );
$messagekrootz .= sprintf( 'Email adres: %s' . "\n\n", $email );
$headerskrootz[] = '';
wp_mail( $tokrootz, $subjectkrootz, $messagekrootz, $headerskrootz );
// stuur mail bij GEEN MATCH (dus afwijzingen)
} elseif($statusopdracht = 623 && $match == "nee"){
$toafop = sprintf( '%s <%s>', $name, $email );
$plaatsopdracht = get_permalink( 3674 );
$subjectafop = sprintf( 'Opdracht gesloten | KROOTZ interim & ZZP', $title );
$messageafop = sprintf ('Beste %s,<br/> Je opdracht “%s” is zojuist gesloten.' . "\n\n", $name, $title );
$messageafop .= sprintf( 'Helaas heeft je opdracht geen matches opgeleverd.' . "\n\n" );
$messageafop .= sprintf( 'Wij willen je graag bedanken voor het plaatsen van je opdracht. Wil je opnieuw een opdracht plaatsen? Klik dan <a href="%s"><strong>hier</strong></a>.' . "\n\n", $plaatsopdracht);
$messageafop .= sprintf( 'Met vriendelijke groet,<br/>KROOTZ interim & ZZP' );
$headersafop[] = 'Bcc: info@krootz.nl';
wp_mail( $toafop, $subjectafop, $messageafop, $headersafop );
if (!empty($kandidaten)) {
foreach ($kandidaten as $kandidaat) {
$userknd = get_user_by( 'email', $kandidaat );
$naamknd = $userknd->first_name;
$toknd = sprintf( '%s <%s>', $naamknd, $kandidaat );
$subjectknd = sprintf( 'Helaas ben je niet gekozen | KROOTZ interim & ZZP', $title );
$messageknd = sprintf ('Beste %s,<br/> Helaas is de keuze voor de opdracht “%s” niet op jou gevallen.' . "\n\n", $naamknd, $title );
$messageknd .= sprintf( 'Wij willen je graag bedanken voor je interesse en de moeite die je hebt genomen om op deze opdracht te reageren.' . "\n\n" );
$messageknd .= sprintf( 'Wil je tips & tricks om nog meer kans te maken om te worden geselecteerd voor een opdracht? Klik dan <a href="%s"><strong>hier</strong></a>.' . "\n\n", $tipstricks);
$messageknd .= sprintf( 'Met vriendelijke groet,<br/>KROOTZ interim & ZZP' );
$headersknd[] = 'Content-Type: text/html; charset=UTF-8';
wp_mail( $toknd, $subjectknd, $messageknd, $headersknd );
}
}
} else {};
wp_update_post($post);
return $post_id;
}
add_filter('acf/save_post' , 'mail_bij_status', 20);
#acf #custom #functions #mail