Fotokurs
Fotoworkshop

Terminübersicht

Wann passiert was?

'product', 'posts_per_page' => -1 ); $loop = new WP_Query( $args ); if ( $loop->have_posts() ) { $counter = 1; $eol = '
'; while ( $loop->have_posts() ) : $loop->the_post(); if (get_field('zeige_ical') == 1) { global $product; // Alle Übergreifenden Variablen $name = $product->get_name(); //get_field('titel'); $id = $product->id; $treffpunkt_ort = get_field('treffpunktadressestrasse').'
'.get_field('treffpunktadressestrasseplz').' '.get_field('treffpunktadresseort'); $treffpunkt = ''.get_field('treffpunkt').''; //get_field('treffpunkt'); $location_ort = get_field('locationadressestrasse').'
'.get_field('locationadresseplz').' '.get_field('locationadresseort'); $location = ''.get_field('location').''; //get_field('location'); $visibility = $product->get_catalog_visibility(); $featured_image = wp_get_attachment_image_src(get_post_thumbnail_id( $product->id ), 'full' ); $produkt_link = get_permalink(); $bearbeiten = '/wp-admin/post.php?post='.$id.'&action=edit'; $veranstalter = get_field('veranstalter'); $teilnehmer = get_field('teilnehmerzahl'); $verkauft = $product->get_total_sales(); $reviews = count(glsr_get_reviews(['assigned_to' => get_the_ID(),])); // Kunden auflisten mit Meil und Telefon $bemerkungen = str_replace("\n", "
\n", get_field('bemerkungen')); $bemerkungen_termin = explode('>>||<<', $bemerkungen); $bemerkung_feldinhalt = ''; $bemerkungen_flag = ''; if (count($bemerkungen_termin) >= 1 ) { $mailcount = 0; if (count($bemerkungen_termin) > 1 ) $bemerkungen_flag = '!!'; else $bemerkungen_flag = ''; foreach ( $bemerkungen_termin as $kurs_termine ) { $bemerkungen_kunde = explode('||', $kurs_termine); if (count($bemerkungen_kunde) > 0 ) { $anzahl_mails[$mailcount] = count($bemerkungen_kunde)-1; foreach ( $bemerkungen_kunde as $kunden_datensatz ) { $kunden_daten = explode(' -> ', $kunden_datensatz); if ($kunden_daten[1] > 1) $anzahl_mails[$mailcount] = $anzahl_mails[$mailcount] + $kunden_daten[1]-1; if (strpos($kunden_daten[2], '@') == false) $keine_mail = '!!'; else $keine_mail = ''; if (strpos($kunden_daten[0],'TERMIN') !== false) {$bemerkung_feldinhalt .= $kunden_daten[0].'
';} elseif ($kunden_daten[0] != '') { //echo ''.$kunden_daten[0].' -> '.$kunden_daten[3].' -> '.$kunden_daten[4].''; $kunden_name = str_replace("
", "",$kunden_daten[0]); $kunden_nachname = explode(' ',$kunden_name); //print_r($kunden_name); //$kunden_nachname = str_replace("
", "", $kunden_name[2]); $bemerkung_feldinhalt .= ''.$kunden_daten[0].' '.$keine_mail.' ( '.$kunden_daten[1].' ) -> '.$kunden_daten[3].' -> '.$kunden_daten[4].''; } if ($kunden_daten[2] != '') { $mailingliste .= $kunden_daten[2].' , '; } } if ($mailingliste != '') { //echo 'SAMMELMAIL
'; $bemerkung_feldinhalt .= '
SAMMELMAIL AN ALLE TEILNEHMER
'; } $mailingliste = ''; ++$mailcount; } } } //Mail, angebotszeitraum , link check extern , check ical vorhanden // Coustom Attributes auslesen $termine = explode(' | ', $product->get_attribute( 'Termin' )); $uhrzeit = explode(' | ', $product->get_attribute( 'Zeit' )); $status = explode(' | ', $product->get_attribute( 'Status' )); $teilnehmermails = explode(' | ', get_field('teilnehmermails')); //$bemerkungen = explode(' | ', get_field('bemerkungen')); // Zählen der Variationen von Variablen und Extern Produkten if ($product->get_type() == 'variable') { $variations = $product->get_available_variations(); $vario_count = count($variations); //print_r($variations); } elseif ($product->get_type() == 'external') { $plaetze = explode(' | ', $product->get_attribute( 'Plaetze' )); $vario_count = count($termine); } for ( $i=0 ; $i < $vario_count; $i++ ) { // Kursdauer und Zeiten nach Counter zusammensetzen $kursdauer = get_field('dauer_tage')-1; if (get_field('wiederholung') > 1) $tage_dazu = $kursdauer+(get_field('wiederholung')-1)*7; else $tage_dazu = $kursdauer; $startdatum = date_format(date_create_from_format('j.m.y', $termine[$i]), 'd.m.Y'); $datum_filename = date_format(date_create_from_format('j.m.y', $termine[$i]), 'd_m_Y'); $ical_pfad = '/wp-content/themes/fowos/ics/'.$id.'_'.$datum_filename.'.ics'; if ($tage_dazu > 0) $enddatum = 'am '.date("d.m.Y",strtotime("+".$tage_dazu." day", strtotime($startdatum))); else $enddatum = ''; $zeiten = explode('-', $uhrzeit[$i]); $startzeit = date("H:i", strtotime($zeiten[0].':00')); $endzeit = date("H:i", strtotime(substr($zeiten[1], 0, -4).':00')); $ical_pfad = '/wp-content/themes/fowos/ics/'.$id.'_'.$datum_filename.'.ics'; $kategorie = $product->get_categories(); //$anzahl_mails = count(array_filter(explode(',', $teilnehmermails[$i]))); // Freie Plätze und Einlesen der weiteren Variablen mit Counter if ($product->get_type() == 'variable') { if ($variations[$i]['max_qty']) $plaetze_frei = $variations[$i]['max_qty']; else $plaetze_frei = 0; $price_display = $variations[$i]['display_price']; $price_norm = $variations[$i]['display_regular_price']; $price_off = $variations[$i]['display_price']; $sku = $variations[$i]['sku']; $affiliate_link = $veranstalter; $statuscode = '200'; $ladezeit = 'intern'; } elseif ($product->get_type() == 'external') { $plaetze_frei = $plaetze[$i]; $affiliate_link = ' '.$veranstalter.''; $price_display = $product->get_price(); $price_norm = $product->get_regular_price(); $price_off = $product->get_sale_price(); $sku = $product->get_sku(); if($_GET["statuscode"] == 'on') { // Check Statuscode der externen seiten $ch = curl_init(); $url = $product->get_product_url(); // set URL and other appropriate options curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); //print_r($info); $statuscode = $info['http_code']; $ladezeit = substr($info['total_time'],0,4).' s'; } else { $statuscode = 400; $ladezeit = 'off'; } } // Anlegen von Klassen für die Darstellung /* Datum aktuell */ if ((strtotime($startdatum) >= time())) $back_date = ' back_green'; else $back_date = ' back_orange'; /* Suchtbar im Shop */ if ($visibility == 'visible') $back_visible = ' back_green'; else $back_visible = ' back_red'; /* Corona Status */ if ($status[$i] == 'wie geplant') $back_status = ' back_green'; elseif ($status[$i] == 'verschoben') $back_status = ' back_orange'; else $back_status = ' back_red'; /* Angebots Preis */ if ($price_display == $price_norm) $back_preis = ' back_green'; else $back_preis = ' back_orange'; /* Web Status 200 */ if ($statuscode == '200') $back_http = ' back_green'; else $back_http = ' back_red'; /* Kat > Planung */ if (!stripos($kategorie,'ist in Planung')) {$back_planung = ' back_green'; $kat_planung = 'OK'; } else {$back_planung = ' back_orange'; $kat_planung = 'PL';} /* Kat > Inhalte unten */ if (stripos($kategorie,'hat Inhalte unten')) {$kat_inhalt = 'IU'; } else {$kat_inhalt = 'KIU';} /* Kat > ohne Review */ if (stripos($kategorie,'Produkte ohne Review') && $reviews == 0) {$kat_review = 'KR'; } else {$kat_review = 'HR'.$reviews;} /* Fehler bei Reviews */ if ($kat_review == 'KR' && $reviews > 0 || $kat_review == 'HR' && $reviews == 0) {$back_planung = ' back_orange';} /* Plätze frei */ if ($plaetze_frei > 0) { $plaetze_frei_text = 'Frei: '.$plaetze_frei.'/'.$anzahl_mails[$i]; $back_plaetze = ' back_green';} else {$plaetze_frei_text = 'Frei: '.$plaetze_frei.'/'.$anzahl_mails; $back_plaetze = ' back_red';} /* frei abgelaufen */ if ((strtotime($startdatum) < time()) && $plaetze_frei >= 0) { $plaetze_frei_text = 'Rest: '.$plaetze_frei.'/'.$anzahl_mails[$i]; $back_plaetze = ' back_red';} /* frei sku / */ if ((strtotime($startdatum) < time()) && $plaetze_frei == 0 && strpos($sku, '/')) { $plaetze_frei_text = 'Rest: '.substr($sku,-1).'/'.$anzahl_mails[$i]; $back_plaetze = ' back_red';} /* Zusammenfassung */ if ((strtotime($startdatum) >= time()) && $plaetze_frei > 0 && $visibility == 'visible' && $status[$i] == 'wie geplant' && !stripos($kategorie,'ist in Planung')) { $back_all = ' style="background-color: green;" '; } /* >> Rot */ elseif ($status[$i] == 'abgesagt' || $plaetze_frei == 0){ $back_all = ' style="background-color: red;" ';} /* >> Orange */ else { $back_all = ' style="background-color: orange;" ';} // Admin Ausgabe Zusammenstellen $ausgabe_admin[$startdatum.'-'.$startzeit] .= '
'.$startdatum.' ab '.$startzeit.' Uhr bis '.$endzeit.' Uhr '.$enddatum.' >> iCal
'.$bemerkungen_flag.' '.$name.' '.($i+1).'/'.$vario_count.'bearbeiten

'.$bemerkung_feldinhalt.'

'.$treffpunkt.' >>  '.$location.'
TREFFPUNKT
'.$treffpunkt.'
'.$treffpunkt_ort.'

LOCATION
'.$location.'
'.$location_ort.'
ID: '.$id.' | SKU: '.$sku.' | VER: '.$affiliate_link.'
Onl.: '.$price_display.' € >> Norm.: '.$price_norm.' € >> Verk.: '.$verkauft.'
'.$plaetze_frei_text.'
'.$status[$i].'
'.$visibility.'
'.$kat_planung.'-'.$kat_inhalt.'-'.$kat_review.'
'.$ladezeit.'
'; // Kunden Ausgabe Zusammenstellen if ((strtotime($startdatum) >= time())) { $ausgabe_kunde[$startdatum.'-'.$startzeit] .= '
'.$startdatum.' ab '.$startzeit.' Uhr bis '.$endzeit.' Uhr '.$enddatum.' >> iCal
'.$name.' '.$price_display.' €
Treffpunkt: '.$treffpunkt.' Location: '.$location.'
Veranstalter: '.$affiliate_link.'
'; } } ++$counter; } endwhile; } wp_reset_query(); uksort($ausgabe_admin, "compare_date_keys"); uksort($ausgabe_kunde, "compare_date_keys"); $jahre = array('2020', '2021', '2022', '2023', '2024', '2025'); $monate = array('01' => 'Jannuar', '02' => 'Februar', '03' => 'März', '04' => 'April', '05' => 'Mai', '06' => 'Juni', '07' => 'Juli', '08' => 'August', '09' => 'September', '10' => 'Oktober', '11' => 'November', '12' => 'Dezember'); foreach ($jahre as $jahr) { foreach ($monate as $monat_nr => $monat_txt) { $aktuell = $monat_nr .'.'. $jahr; $aktuell_ausgabe = '
'. $monat_txt .' '. $jahr .'
'; $count_admin = 0; $count_kunde = 0; // Ausgabe für mich zusammenbauen foreach ( $ausgabe_admin as $start => $termine ) { if (strpos($start,$aktuell)==true) { if ($count_admin==0) { $ausgabe_termine_admin .= $aktuell_ausgabe; ++$count_admin; } $ausgabe_termine_admin .= $termine ; } } // Ausgabe für Kunden zusammenbauen foreach ( $ausgabe_kunde as $start => $termine ) { if (strpos($start,$aktuell)==true) { if ($count_kunde==0) { $ausgabe_termine_kunde .= $aktuell_ausgabe; ++$count_kunde; } $ausgabe_termine_kunde .= $termine ; } } } } /* foreach ($jahre as $jahr) { foreach ($monate as $monat_nr => $monat_txt) { $aktuell = $monat_nr .'.'. $jahr; $aktuell_ausgabe = '
'. $monat_txt .' '. $jahr .'
'; $count = 0; foreach ( $ausgabe_kunde as $start => $termine ) { if (strpos($start,$aktuell)==true) { if ($count==0) { $ausgabe_termine_kunde .= $aktuell_ausgabe; ++$count; } $ausgabe_termine_kunde .= $termine ; } } } } */ ?>

Unsere Anschrift

auch als vCard

Freiburger
Fotoworkshops

Mattenweg 9
79241 Wasenweiler

Tel: 0160 – 97.94.3308
Tel: 07668 – 94.890.92

mail@fowos.de