File "contact-form-properties.php"
Full path: /home/kosmetik/public_html/wp-content/plugins/contact-form-7/modules/sendinblue/contact-form-properties.php
File
size: 6.56 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
add_filter('wpcf7_contact_form_properties', 'wpcf7_sendinblue_register_property', 10, 2);
function wpcf7_sendinblue_register_property($properties, $contact_form)
{
$service = WPCF7_Sendinblue::get_instance();
if (!$service->is_active()) {
return $properties;
}
$properties += array('sendinblue' => array());
return $properties;
}
add_action('wpcf7_save_contact_form', 'wpcf7_sendinblue_save_contact_form', 10, 3);
function wpcf7_sendinblue_save_contact_form($contact_form, $args, $context)
{
$service = WPCF7_Sendinblue::get_instance();
if (!$service->is_active()) {
return;
}
$prop = isset($_POST['wpcf7-sendinblue']) ? (array) $_POST['wpcf7-sendinblue'] : array();
$prop = wp_parse_args($prop, array('enable_contact_list' => false, 'contact_lists' => array(), 'enable_transactional_email' => false, 'email_template' => 0));
$prop['contact_lists'] = array_map('absint', $prop['contact_lists']);
$prop['email_template'] = absint($prop['email_template']);
$contact_form->set_properties(array('sendinblue' => $prop));
}
add_filter('wpcf7_editor_panels', 'wpcf7_sendinblue_editor_panels', 10, 1);
function wpcf7_sendinblue_editor_panels($panels)
{
$service = WPCF7_Sendinblue::get_instance();
if (!$service->is_active()) {
return $panels;
}
$contact_form = WPCF7_ContactForm::get_current();
$prop = wp_parse_args($contact_form->prop('sendinblue'), array('enable_contact_list' => false, 'contact_lists' => array(), 'enable_transactional_email' => false, 'email_template' => 0));
$editor_panel = function () use($prop, $service) {
$description = sprintf(esc_html(__("You can set up the Sendinblue integration here. For details, see %s.", 'contact-form-7')), wpcf7_link(__('https://contactform7.com/sendinblue-integration/', 'contact-form-7'), __('Sendinblue integration', 'contact-form-7')));
$lists = $service->get_lists();
$templates = $service->get_templates();
?>
<h2><?php
echo esc_html(__('Sendinblue', 'contact-form-7'));
?></h2>
<fieldset>
<legend><?php
echo $description;
?></legend>
<table class="form-table" role="presentation">
<tbody>
<tr class="<?php
echo $prop['enable_contact_list'] ? '' : 'inactive';
?>">
<th scope="row">
<?php
echo esc_html(__('Contact lists', 'contact-form-7'));
?>
</th>
<td>
<fieldset>
<legend class="screen-reader-text">
<?php
echo esc_html(__('Contact lists', 'contact-form-7'));
?>
</legend>
<label for="wpcf7-sendinblue-enable-contact-list">
<input type="checkbox" name="wpcf7-sendinblue[enable_contact_list]" id="wpcf7-sendinblue-enable-contact-list" value="1" <?php
checked($prop['enable_contact_list']);
?> />
<?php
echo esc_html(__("Add form submitters to your contact lists", 'contact-form-7'));
?>
</label>
</fieldset>
</td>
</tr>
<tr>
<th scope="row"></th>
<td>
<fieldset>
<?php
if ($lists) {
echo sprintf('<legend>%1$s</legend>', esc_html(__('Select lists to which contacts are added:', 'contact-form-7')));
echo '<ul>';
foreach ($lists as $list) {
echo sprintf('<li><label><input %1$s /> %2$s</label></li>', wpcf7_format_atts(array('type' => 'checkbox', 'name' => 'wpcf7-sendinblue[contact_lists][]', 'value' => $list['id'], 'checked' => in_array($list['id'], $prop['contact_lists']) ? 'checked' : '')), esc_html($list['name']));
}
echo '</ul>';
} else {
echo sprintf('<legend>%1$s</legend>', esc_html(__('You have no contact list yet.', 'contact-form-7')));
}
?>
</fieldset>
<?php
echo sprintf('<p><a %1$s>%2$s <span class="screen-reader-text">%3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', wpcf7_format_atts(array('href' => 'https://my.sendinblue.com/lists', 'target' => '_blank', 'rel' => 'external noreferrer noopener')), esc_html(__('Manage your contact lists', 'contact-form-7')), esc_html(__('(opens in a new tab)', 'contact-form-7')));
?>
</td>
</tr>
<tr class="<?php
echo $prop['enable_transactional_email'] ? '' : 'inactive';
?>">
<th scope="row">
<?php
echo esc_html(__('Welcome email', 'contact-form-7'));
?>
</th>
<td>
<fieldset>
<legend class="screen-reader-text">
<?php
echo esc_html(__('Welcome email', 'contact-form-7'));
?>
</legend>
<label for="wpcf7-sendinblue-enable-transactional-email">
<input type="checkbox" name="wpcf7-sendinblue[enable_transactional_email]" id="wpcf7-sendinblue-enable-transactional-email" value="1" <?php
checked($prop['enable_transactional_email']);
?> />
<?php
echo esc_html(__("Send a welcome email to new contacts", 'contact-form-7'));
?>
</label>
</fieldset>
</td>
</tr>
<tr>
<th scope="row"></th>
<td>
<fieldset>
<?php
if ($templates) {
echo sprintf('<legend>%1$s</legend>', esc_html(__('Select an email template:', 'contact-form-7')));
echo '<select name="wpcf7-sendinblue[email_template]">';
echo sprintf('<option %1$s>%2$s</option>', wpcf7_format_atts(array('value' => 0, 'selected' => 0 === $prop['email_template'] ? 'selected' : '')), esc_html(__('— Select —', 'contact-form-7')));
foreach ($templates as $template) {
echo sprintf('<option %1$s>%2$s</option>', wpcf7_format_atts(array('value' => $template['id'], 'selected' => $prop['email_template'] === $template['id'] ? 'selected' : '')), esc_html($template['name']));
}
echo '</select>';
} else {
echo sprintf('<legend>%1$s</legend>', esc_html(__('You have no active email template yet.', 'contact-form-7')));
}
?>
</fieldset>
<?php
echo sprintf('<p><a %1$s>%2$s <span class="screen-reader-text">%3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', wpcf7_format_atts(array('href' => 'https://my.sendinblue.com/camp/lists/template', 'target' => '_blank', 'rel' => 'external noreferrer noopener')), esc_html(__('Manage your email templates', 'contact-form-7')), esc_html(__('(opens in a new tab)', 'contact-form-7')));
?>
</td>
</tr>
</tbody>
</table>
</fieldset>
<?php
};
$panels += array('sendinblue-panel' => array('title' => __('Sendinblue', 'contact-form-7'), 'callback' => $editor_panel));
return $panels;
}