options['implicit']) { add_action('em_booking_form_footer', array( $this, 'output_checkbox' )); } add_action('em_bookings_added', array( $this, 'subscribe_from_events_manager' ), 5); } /** * Subscribe from Events Manager booking forms. * * @param EM_Booking $args * @return bool */ public function subscribe_from_events_manager($args) { // Is this integration triggered? (checkbox checked or implicit) if (! $this->triggered()) { return false; } $em_data = $this->get_data(); // logged-in users do not have these form fields, so grab from user object instead if (empty($em_data['user_email']) && is_user_logged_in()) { $user = wp_get_current_user(); $em_data['user_email'] = $user->user_email; $em_data['user_name'] = sprintf('%s %s', $user->first_name, $user->last_name); } if (empty($em_data['user_email'])) { return false; } $data = array( 'EMAIL' => $em_data['user_email'], 'NAME' => $em_data['user_name'], ); // subscribe using email and name return $this->subscribe($data, $args->booking_id); } /** * @return bool */ public function is_installed() { return defined('EM_VERSION'); } }