PluginProbe
Timetics – Appointment Booking Calendar & Scheduling / 1.0.64
Timetics – Appointment Booking Calendar & Scheduling v1.0.64
1.0.64 1.0.62 1.0.63 1.0.61 1.0.60 1.0.59 1.0.58 1.0.57 1.0.56 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 All 65 releases
← All changes | templates/emails/customer-booking-reminder.php +57 -41 1.0.21 → 1.0.64 View file →
@@ -1,36 +1,40 @@
1 1 <?php
2 - $staff_name = $this->staff->get_display_name();
3 - $customer_name = $this->customer->get_display_name();
4 - $customer_email = $this->customer->get_email();
5 - $title = $this->get_title();
6 - $description = $this->meeting->get_description();
7 - $location = $this->booking->get_location();
8 - $location_type = $this->booking->get_location_type();
2 +defined( 'ABSPATH' ) || exit;
9 3
10 - $event = $this->booking->get_event();
11 - $join_link = 'google-meet' === $location_type && ! empty( $event['hangoutLink'] ) ? $event['hangoutLink'] : '';
12 - $timezone = $event ? $event['start']['timeZone'] : '';
13 - $timestr = $event ? strtotime( $event['start']['dateTime'] ) : '';
4 + $timetics_staff_name = $this->staff->get_display_name();
5 + $timetics_customer_name = $this->customer->get_display_name();
6 + $timetics_customer_email = $this->customer->get_email();
7 + $timetics_title = $this->get_title();
8 + $timetics_description = $this->meeting->get_description();
9 + $timetics_location = $this->booking->get_location();
10 + $timetics_location_type = $this->booking->get_location_type();
14 11
15 - $day = gmdate( 'l', strtotime( $this->booking->get_start_date() ) );
16 - $time = gmdate( 'h:i a', strtotime( $this->booking->get_start_time() ) );
17 - $date = gmdate( 'd F Y', strtotime( $this->booking->get_start_date() ) );
12 + $timetics_event = $this->booking->get_event();
13 + $timetics_join_link = 'google-meet' === $timetics_location_type && ! empty( $timetics_event['hangoutLink'] ) ? $timetics_event['hangoutLink'] : '';
14 + $timetics_timezone = $timetics_event ? $timetics_event['start']['timeZone'] : '';
15 + $timetics_timestr = $timetics_event ? strtotime( $timetics_event['start']['dateTime'] ) : '';
18 16
19 - $email_body = timetics_get_option( 'booking_created_customer_email_body' );
20 - $email_title = timetics_get_option( 'booking_created_customer_email_title' );
21 - $email_title = ! empty( $email_title ) ? $email_title : $this->get_title();
17 + // Use WordPress date and time format settings
18 + $timetics_formatted = timetics_format_email_datetime( $this->booking->get_start_date(), $this->booking->get_start_time() );
19 + $timetics_day = $timetics_formatted['day'];
20 + $timetics_time = $timetics_formatted['time'];
21 + $timetics_date = $timetics_formatted['date'];
22 22
23 - $placeholders = [
23 + $timetics_email_body = timetics_get_option( 'booking_reminder_customer_email_body' );
24 + $timetics_email_title = timetics_get_option( 'booking_reminder_customer_email_title' );
25 + $timetics_email_title = ! empty( $timetics_email_title ) ? $timetics_email_title : $this->get_title();
26 +
27 + $timetics_placeholders = [
24 28 '{%meeting_title%}' => $this->meeting->get_name(),
25 - '{%meeting_date%}' => $date,
26 - '{%meeting_time%}' => $time,
27 - '{%meeting_location%}' => $location,
29 + '{%meeting_date%}' => $timetics_date,
30 + '{%meeting_time%}' => $timetics_time,
31 + '{%meeting_location%}' => $timetics_location,
28 32 '{%meeting_duration%}' => $this->meeting->get_duration(),
29 - '{%host_name%}' => $staff_name,
33 + '{%host_name%}' => $timetics_staff_name,
30 34 '{%host_email%}' => $this->staff->get_email(),
31 - '{%customer_name%}' => $customer_name,
32 - '{%customer_email%}' => $customer_email,
35 + '{%customer_name%}' => $timetics_customer_name,
36 + '{%customer_email%}' => $timetics_customer_email,
33 37 ];
34 38 ?>
35 39
36 40 <div class="email-wrapper" style="margin-bottom: 30px; background-color: #f4f5f7; font-family: -apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans',Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji', sans-serif;">
@@ -38,14 +42,14 @@
38 42 <div class="email-content" style="padding: 40px; background-color: #ffffff; border-radius: 0 0 12px 12px; border-top: 4px solid #3161F1; margin-bottom: 40px;">
39 43 <?php do_action('timetics_email_header') ;?>
40 44 <div class="email-title">
41 45 <h3 style="color: #3161F1; font-size: 24px; font-weight: 600; margin: 30px 0;">
42 - <?php echo esc_html( timetics_replace_placeholder( $email_title, $placeholders ) ); ?>
46 + <?php echo esc_html( timetics_replace_placeholder( $timetics_email_title, $timetics_placeholders ) ); ?>
43 47 </h3>
44 48 </div>
45 - <?php if ( $email_body ): ?>
46 - <?php echo timetics_replace_placeholder( $email_body, $placeholders ); ?>
47 - <?php if ( 'virtual' === $location_type && $join_link ): ?>
49 + <?php if ( $timetics_email_body ): ?>
50 + <?php echo wp_kses( timetics_replace_placeholder( $timetics_email_body, $timetics_placeholders ), 'post' ); ?>
51 + <?php if ( 'google-meet' === $timetics_location_type && $timetics_join_link ): ?>
48 52 <div class="single-data-entry" style="margin: 10px 0 20px;">
49 53 <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;">
50 54 <?php esc_html_e( 'Location:', 'timetics' );?>
51 55 </p>
@@ -50,9 +54,9 @@
50 54 <?php esc_html_e( 'Location:', 'timetics' );?>
51 55 </p>
52 56 <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
53 57 <?php echo esc_html__('Joining link:', 'timetics') ;?>
54 - <a style="color: #3161F1" href="<?php echo esc_url( $join_link ); ?>"><?php echo esc_url( $join_link ); ?></a>
58 + <a style="color: #3161F1" href="<?php echo esc_url( $timetics_join_link ); ?>"><?php echo esc_url( $timetics_join_link ); ?></a>
55 59 </p>
56 60 </div>
57 61 <?php endif;?>
58 62 <?php do_action( 'timetics_new_event_email', $this->booking, 'customer' ); ?>
@@ -58,44 +62,56 @@
58 62 <?php do_action( 'timetics_new_event_email', $this->booking, 'customer' ); ?>
59 63 <?php else: ?>
60 64
61 65 <p class="greeting" style="color: #556880; margin-bottom: 5px">
62 - <?php printf( esc_html__( 'Hi %s,', 'timetics' ), esc_html( $customer_name ) );?>
66 + <?php
67 + /* translators: %s: Recipient name */
68 + printf( esc_html__( 'Hi %s,', 'timetics' ), esc_html( $timetics_customer_name ) );?>
63 69 </p>
64 70
65 - <p style="color: #556880; margin-bottom: 5px"><?php esc_html_e( "I hope this email finds you well. This is just a friendly reminder that you have a reservation with us on {$date} at {$time}. We are looking forward to welcoming you to {$this->meeting->name}.", 'timetics' );?></p>
71 + <p style="color: #556880; margin-bottom: 5px"><?php
72 + printf(
73 + /* translators: %1$s: Booking date, %2$s: Booking time, %3$s: Meeting name */
74 + esc_html__( 'I hope this email finds you well. This is just a friendly reminder that you have a reservation with us on %1$s at %2$s. We are looking forward to welcoming you to %3$s.', 'timetics' ),
75 + esc_html( $timetics_date ),
76 + esc_html( $timetics_time ),
77 + esc_html( $this->meeting->name )
78 + );
79 + ?></p>
66 80
67 81 <div class="data-wrapper" style="border: 1px solid #E2ECF4; border-radius: 12px; padding: 30px; margin: 24px 0;">
68 82 <div class="single-data-entry" style="margin: 0 0 20px;">
69 83 <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;"><?php echo esc_html__( 'Invitee:', 'timetics' ); ?></p>
70 84 <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
71 - <?php echo esc_html( $customer_name );?> -
72 - <a style="color: #3161F1" href="mailto:<?php echo esc_attr( $customer_email )?>"><?php echo esc_html( $customer_email ); ?></a>
85 + <?php echo esc_html( $timetics_customer_name );?> -
86 + <a style="color: #3161F1" href="mailto:<?php echo esc_attr( $timetics_customer_email )?>"><?php echo esc_html( $timetics_customer_email ); ?></a>
73 87 </p>
74 88 </div>
75 89
76 90 <div class="single-data-entry" style="margin: 10px 0 20px;">
77 91 <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;"><?php echo esc_html__( 'Date and time:', 'timetics' ); ?></p>
78 - <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php printf( esc_html__( '%s, %s %s', 'timetics' ), esc_html( $time ), esc_html( $day ), esc_html( $date ), esc_html( $timezone ) );?></p>
92 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php
93 + /* translators: 1: Time, 2: Day, 3: Date */
94 + printf( esc_html__( '%1$s, %2$s %3$s', 'timetics' ), esc_html( $timetics_time ), esc_html( $timetics_day ), esc_html( $timetics_date ), esc_html( $timetics_timezone ) );?></p>
79 95 </div>
80 96
81 - <?php if ( 'google-meet' === $location_type && $join_link ): ?>
97 + <?php if ( 'google-meet' === $timetics_location_type && $timetics_join_link ): ?>
82 98 <div class="single-data-entry" style="margin: 10px 0 20px;">
83 99 <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;">
84 100 <?php esc_html_e( 'Location:', 'timetics' );?>
85 101 </p>
86 - <img width="110" style="margin: 5px 0;" src="https://arraytics.dev/social-icons/google-meet.png" alt="Google Meet">
102 + <img width="110" style="margin: 5px 0;" src="<?php echo esc_url( TIMETICS_PLUGIN_URL . 'assets/images/social-icons/google-meet.svg' ); ?>" alt="Google Meet">
87 103 <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
88 104 <?php echo esc_html__('Joining link:', 'timetics') ;?>
89 - <a style="color: #3161F1" href="<?php echo esc_url( $join_link ); ?>"><?php echo esc_url( $join_link ); ?></a>
105 + <a style="color: #3161F1" href="<?php echo esc_url( $timetics_join_link ); ?>"><?php echo esc_url( $timetics_join_link ); ?></a>
90 106 </p>
91 107 </div>
92 108 <?php endif;?>
93 109 <?php do_action( 'timetics_new_event_email', $this->booking, 'customer' ); ?>
94 - <?php if($timezone) :?>
110 + <?php if($timetics_timezone) :?>
95 111 <div class="single-data-entry" style="margin: 10px 0 20px;">
96 112 <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;"><?php echo esc_html__( 'Invitee Time Zone:', 'timetics' ); ?></p>
97 - <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php echo esc_html( $timezone ); ?></p>
113 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php echo esc_html( $timetics_timezone ); ?></p>
98 114 </div>
99 115 <?php endif;?>
100 116 </div>
101 117 <?php endif;?>
@@ -100,7 +116,7 @@
100 116 </div>
101 117 <?php endif;?>
102 118 <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php echo esc_html__('Thank you!', 'timetics'); ?></p>
103 119 </div>
104 - <?php do_action('timetics_email_footer', $customer_email) ;?>
120 + <?php do_action('timetics_email_footer', $timetics_customer_email) ;?>
105 121 </div>
106 -</div>
122 +</div>