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/new-event.php +125 -65 1.0.11 → 1.0.64 View file →
@@ -1,81 +1,141 @@
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'] ) : '';
14 - $staff_timezone = $this->meeting->get_timezone();
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();
15 11
16 - $day = timetics_datetime( 'l', $this->booking->get_start_date(), $staff_timezone );
17 - $time = timetics_datetime( 'h:i a', $this->booking->get_start_time(), $staff_timezone);
18 - $date = timetics_datetime( 'd F Y', $this->booking->get_start_date(), $staff_timezone);
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 = $this->booking->get_timezone();
15 + $timetics_staff_timezone = $this->meeting->get_timezone();
19 16
20 - $email_body = timetics_get_option( 'booking_created_host_email_body' );
21 - $email_title = timetics_get_option( 'booking_created_host_email_title' );
22 - $email_title = ! empty( $email_title ) ? $email_title : $this->get_title();
17 + $timetics_dt = timetics_convert_timezone( $this->booking->get_start_date() . ' ' . $this->booking->get_start_time(), $timetics_timezone, $timetics_staff_timezone );
23 18
24 - $placeholders = [
25 - '{%meeting_title%}' => $this->meeting->name,
26 - '{%meeting_date%}' => $date,
27 - '{%meeting_time%}' => $time,
28 - '{%meeting_location%}' => $location,
29 - '{%meeting_duration%}' => $this->meeting->duration,
30 - '{%host_name%}' => $staff_name,
19 + // Use WordPress date and time format settings
20 + $timetics_formatted = timetics_format_email_datetime( $this->booking->get_start_date(), $this->booking->get_start_time() );
21 + $timetics_day = $timetics_formatted['day'];
22 + $timetics_time = $timetics_formatted['time'];
23 + $timetics_date = $timetics_formatted['date'];
24 +
25 + $timetics_email_body = timetics_get_option( 'booking_created_host_email_body' );
26 + $timetics_email_title = timetics_get_option( 'booking_created_host_email_title' );
27 + $timetics_email_title = ! empty( $timetics_email_title ) ? $timetics_email_title : $this->get_title();
28 +
29 + $timetics_meeting_id = $this->meeting->get_id();
30 + $timetics_booking_cancel_url = $this->meeting->get_appointment_permalink() . '?id=' . $this->booking->get_id() . '&meeting_id=' . $this->meeting->get_id() .'&booking_action=cancel'. '&appointment_token=' . $this->booking->get_security_token();
31 + $timetics_booking_reschedule_url = $this->meeting->get_appointment_permalink() . '?id=' . $this->booking->get_id() . '&meeting_id=' . $this->meeting->get_id() . '&booking_action=reschedule'. '&appointment_token='. $this->booking->get_security_token();
32 +
33 +
34 + $timetics_placeholders = [
35 + '{%meeting_title%}' => $this->meeting->get_name(),
36 + '{%meeting_date%}' => $timetics_date,
37 + '{%meeting_time%}' => $timetics_time,
38 + '{%meeting_location%}' => $timetics_location,
39 + '{%meeting_duration%}' => $this->meeting->get_duration(),
40 + '{%host_name%}' => $timetics_staff_name,
31 41 '{%host_email%}' => $this->staff->get_email(),
32 - '{%customer_name%}' => $customer_name,
33 - '{%customer_email%}' => $customer_email,
42 + '{%customer_name%}' => $timetics_customer_name,
43 + '{%customer_email%}' => $timetics_customer_email,
34 44 ];
35 45 ?>
36 46
37 -<main class="email-wrapper">
38 - <div class="email-title"><h3><?php echo esc_html( timetics_replace_placeholder( $email_title, $placeholders ) ); ?></h3></div>
47 +<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;">
48 + <div style="max-width: 600px; margin: 0 auto;">
49 + <div class="email-content" style="padding: 40px; background-color: #ffffff; border-radius: 0 0 12px 12px; border-top: 4px solid #3161F1; margin-bottom: 40px;">
50 + <?php do_action('timetics_email_header') ;?>
51 + <div class="email-title">
52 + <h3 style="color: #3161F1; font-size: 24px; font-weight: 600; margin: 30px 0;">
53 + <?php echo esc_html( timetics_replace_placeholder( $timetics_email_title, $timetics_placeholders ) ); ?>
54 + </h3>
55 + </div>
39 56
40 - <div class="email-content">
41 - <?php if ( $email_body ): ?>
42 - <?php echo timetics_replace_placeholder( $email_body, $placeholders ); ?>
43 - <?php if ( 'google-meet' === $location_type && $join_link ): ?>
44 - <p><?php esc_html_e( 'Location: This is a Google Meet web conference.', 'timetics' );?>
45 - </p>
46 - <span><a href="<?php echo esc_url( $join_link ); ?>"><?php esc_html_e( 'Join Now', 'timetics' );?></a></span>
47 - <?php endif;?>
57 + <?php if ( $timetics_email_body ): ?>
48 58
49 - <?php do_action( 'timetics_new_event_email', $this->booking ); ?>
59 + <?php echo wp_kses( timetics_replace_placeholder( $timetics_email_body, $timetics_placeholders ), 'post' ); ?>
60 + <?php if ( 'google-meet' === $timetics_location_type && $timetics_join_link ): ?>
61 + <div class="single-data-entry" style="margin: 10px 0 20px;">
62 + <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;">
63 + <?php esc_html_e( 'Location:', 'timetics' );?>
64 + </p>
65 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
66 + <?php echo esc_html__('Joining link:', 'timetics') ;?>
67 + <a style="color: #3161F1" href="<?php echo esc_url( $timetics_join_link ); ?>"><?php echo esc_url( $timetics_join_link ); ?></a>
68 + </p>
69 + </div>
70 + <?php else : ?>
71 + <div class="single-data-entry" style="margin: 10px 0 20px;">
72 + <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;">
73 + <?php esc_html_e( 'Location:', 'timetics' );?>
74 + </p>
75 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
76 + <?php echo esc_html($timetics_location) ;?>
77 + </p>
78 + </div>
79 + <?php endif; ?>
80 + <?php do_action( 'timetics_new_event_email', $this->booking, 'staff' ); ?>
50 81
51 - <?php else: ?>
52 - <p class="greeting">
53 - <?php printf( esc_html__( 'Hi %s', 'timetics' ), esc_html( $staff_name ) );?>
54 - </p>
55 - <p><?php esc_attr_e( 'A new meeting has been scheduled', 'timetics' );?></p>
56 - <p>
57 - <?php printf( '%s %s', esc_html__( 'Invitee:', 'timetics' ), esc_html( $customer_name ) );?>
58 - <br>
59 - <?php printf( '%s %s', esc_html__( 'Invitee Email:', 'timetics' ), esc_html( $customer_email ) );?>
60 - </p>
61 - <p>
62 - <?php printf( esc_html__( 'Meeting Date/Time: %s - %s, %s %s', 'timetics' ), esc_html( $time ), esc_html( $day ), esc_html( $date ), esc_html( $timezone ) );?>
63 - </p>
64 - <p>
65 - <?php printf( '%s %s', esc_html__( 'Description:', 'timetics' ), esc_html( $description ) );?>
66 - </p>
82 + <?php else: ?>
83 + <p class="greeting" style="color: #556880; margin-bottom: 5px">
84 + <?php
85 + /* translators: %s: Recipient name */
86 + printf( esc_html__( 'Hi %s,', 'timetics' ), esc_html( $timetics_staff_name ) );?>
87 + </p>
67 88
68 - <?php if ( 'google-meet' === $location_type && $join_link ): ?>
69 - <p><?php esc_html_e( 'Location: This is a Google Meet web conference.', 'timetics' );?>
70 - </p>
71 - <span><a href="<?php echo esc_url( $join_link ); ?>"><?php esc_html_e( 'Join Now', 'timetics' );?></a></span>
72 - <?php endif;?>
89 + <p style="color: #556880; margin-bottom: 5px"><?php esc_attr_e( 'A new meeting has been scheduled', 'timetics' );?></p>
73 90
74 - <?php do_action( 'timetics_new_event_email', $this->booking ); ?>
91 + <div class="data-wrapper" style="border: 1px solid #E2ECF4; border-radius: 12px; padding: 30px; margin: 24px 0;">
92 + <div class="single-data-entry" style="margin: 0 0 20px;">
93 + <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;"><?php echo esc_html__( 'Meeting Name:', 'timetics' ); ?></p>
94 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
95 + <?php echo esc_html( timetics_replace_placeholder( $timetics_email_title, $timetics_placeholders ) ); ?>
96 + </p>
75 97
76 - <p>
77 - <?php printf( '%s %s', esc_html__( 'Invitee Time Zone:', 'timetics' ), esc_html( $timezone ) );?>
78 - </p>
79 - <?php endif;?>
98 + </div>
99 + <div class="single-data-entry" style="margin: 0 0 20px;">
100 + <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;"><?php echo esc_html__( 'Invitee:', 'timetics' ); ?></p>
101 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
102 + <?php echo esc_html( $timetics_customer_name );?> -
103 + <a style="color: #3161F1" href="mailto:<?php echo esc_attr( $timetics_customer_email )?>"><?php echo esc_html( $timetics_customer_email ); ?></a>
104 + </p>
105 + </div>
106 +
107 + <div class="single-data-entry" style="margin: 10px 0 20px;">
108 + <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>
109 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php
110 + /* translators: 1: Time, 2: Day, 3: Date, 4: Timezone */
111 + printf( esc_html__( '%1$s, %2$s %3$s (%4$s)', 'timetics' ), esc_html( $timetics_time ), esc_html( $timetics_day ), esc_html( $timetics_date ), esc_html( $timetics_staff_timezone ) );?></p>
112 + </div>
113 +
114 + <?php if ( 'google-meet' === $timetics_location_type && $timetics_join_link ): ?>
115 + <div class="single-data-entry" style="margin: 10px 0 20px;">
116 + <p style="font-weight: 600; font-size: 14px; line-height: 1; color: #0C274A; margin: 0 0 5px;">
117 + <?php esc_html_e( 'Location:', 'timetics' );?>
118 + </p>
119 + <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">
120 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;">
121 + <?php echo esc_html__('Joining link:', 'timetics') ;?>
122 + <a style="color: #3161F1" href="<?php echo esc_url( $timetics_join_link ); ?>"><?php echo esc_url( $timetics_join_link ); ?></a>
123 + </p>
124 + </div>
125 + <?php endif;?>
126 +
127 + <?php do_action( 'timetics_new_event_email', $this->booking, 'staff' ); ?>
128 + <?php if($timetics_timezone) :?>
129 + <div class="single-data-entry" style="margin: 10px 0 20px;">
130 + <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>
131 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php echo esc_html( $timetics_timezone ); ?></p>
132 + </div>
133 + <?php endif;?>
134 + </div>
135 + <?php endif;?>
136 +
137 + <p style="font-weight: 400; font-size: 14px; color: #556880; margin: 0;"><?php echo esc_html__('Thank you!', 'timetics'); ?></p>
138 + </div>
139 + <?php do_action('timetics_email_footer', $timetics_customer_email) ;?>
80 140 </div>
81 -</main>
141 +</div>