Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/wp-content///plugins/contact-form-7/modules/sendinblue      ( Reset | Go to )
File Name: contact-form-properties.php
Edit
<?php

add_filter
(
    
'wpcf7_pre_construct_contact_form_properties',
    
'wpcf7_sendinblue_register_property',
    
102
);

/**
 * Registers the sendinblue contact form property.
 */
function wpcf7_sendinblue_register_property$properties$contact_form ) {
    
$service WPCF7_Sendinblue::get_instance();

    if ( 
$service->is_active() ) {
        
$properties += array(
            
'sendinblue' => array(),
        );
    }

    return 
$properties;
}


add_action(
    
'wpcf7_save_contact_form',
    
'wpcf7_sendinblue_save_contact_form',
    
103
);

/**
 * Saves the sendinblue property value.
 */
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',
    
101
);

/**
 * Builds the editor panel for the sendinblue property.
 */
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 = static function () use ( $prop$service ) {

        
$description sprintf(
            
esc_html(
                
__"You can set up the Brevo integration here. For details, see %s."'contact-form-7' )
            ),
            
wpcf7_link(
                
__'https://contactform7.com/sendinblue-integration/''contact-form-7' ),
                
__'Brevo integration''contact-form-7' )
            )
        );

        
$lists wpcf7_sendinblue_get_lists();
        
$templates $service->get_templates();

?>
<h2><?php echo esc_html__'Brevo''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'] ),
                    ) ),
                    
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' => === $prop['email_template'],
                ) ),
                
esc_html__'&mdash; Select &mdash;''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'],
                    ) ),
                    
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' => __'Brevo''contact-form-7' ),
            
'callback' => $editor_panel,
        ),
    );

    return 
$panels;
}


/**
 * Retrieves contact lists from Brevo's database.
 */
function wpcf7_sendinblue_get_lists() {
    static 
$lists = array();

    
$service WPCF7_Sendinblue::get_instance();

    if ( ! empty( 
$lists ) or ! $service->is_active() ) {
        return 
$lists;
    }

    
$limit 50;
    
$offset 0;

    while ( 
count$lists ) < $limit 10 ) {
        
$lists_next = (array) $service->get_lists( array(
            
'limit' => $limit,
            
'offset' => $offset,
        ) );

        if ( ! empty( 
$lists_next ) ) {
            
$lists array_merge$lists$lists_next );
        }

        if ( 
count$lists_next ) < $limit ) {
            break;
        }

        
$offset += $limit;
    }

    return 
$lists;
}

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL