Plugin Directory

Changeset 2638210


Ignore:
Timestamp:
12/01/2021 06:12:53 PM (4 years ago)
Author:
drcode
Message:

Corrected v1.1.0

Location:
helloadherents/trunk/functions
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • helloadherents/trunk/functions/output/wordpress_users.php

    r2637828 r2638210  
    3333
    3434
    35     if (! is_wp_error($user_id)) { $log = wp_kses_post("<strong>Utilisateur créé pour l'adresse " . $adh['mail'] . " :</strong> id n°" . $user_id);}
    36     else { $log = wp_kses_post("Echec de la création du compte pour l'adresse" . $adh['mail']); }
     35        if (! is_wp_error($user_id)) { $log = wp_kses_post("<strong>Utilisateur créé pour l'adresse " . $adh['mail'] . " :</strong> id n°" . $user_id . '</br>');}
     36        else { $log = wp_kses_post("Echec de la création du compte pour l'adresse" . $adh['mail'] . '</br>'); }
    3737
    38     // Test Wordpress User
    39     switch( current_filter() ) {
    40         case 'wp_ajax_ajax_helladh_test_wordpress_users':
    41         echo $log;
    42         break;
    43     }
    44     helladh_write_log($log);
     38        // Test Wordpress User
     39        switch( current_filter() ) {
     40            case 'wp_ajax_ajax_helladh_test_wordpress_users':
     41            echo $log;
     42            break;
     43        }
     44        helladh_write_log($log);
    4545
    46     // Envoi email hors mode test
    47     switch( current_filter() ) {
    48         case 'hello_adh_hook':
    49             if (! is_wp_error($user_id)) {
    50                 $result_email = helladh_wordpress_users_email_auto($mail, $helloadhrents_options['wordpress_users_resetmail_title'], $helloadhrents_options['wordpress_users_resetmail_content']);
    51                 if ($result_email == false) { $log_mail = "Echec de l'envoi du mail à " . $mail;}
    52                 else { $log_mail = "Mail suivant envoyé avec succès à " . $mail . " : " . $result_email;}
    53                 helladh_write_log($log_mail);
    54             }
    55         break;
    56 
    57     }
     46        // Envoi email hors mode test
     47        switch( current_filter() ) {
     48            case 'hello_adh_hook':
     49                if (! is_wp_error($user_id)) {
     50                    $result_email = helladh_wordpress_users_email_auto($adh['mail'], $helloadhrents_options['wordpress_users_resetmail_title'], $helloadhrents_options['wordpress_users_resetmail_content'], $adh);
     51                    if ($result_email == false) { $log_mail = "Echec de l'envoi du mail à " . $adh['mail'] . '</br>';}
     52                    else { $log_mail = "Mail suivant envoyé avec succès à " . $adh['mail'] . " : " . $result_email . '</br>';}
     53               
     54                    helladh_write_log($log_mail);
     55                }
     56            break;
     57        }
    5858    }
    5959}
     
    8585
    8686
    87 function helladh_wordpress_users_email_auto($mail, $subject, $message) {
    88     preg_match_all("/%(.*?)%/", $message, $matches);
    89     foreach ($matches as $match) {
    90         $match = $adh[$match];
     87function helladh_wordpress_users_email_auto($to, $title, $content, $adh) {
     88
     89    preg_match_all("/%(.*?)%/", $content, $matches);
     90    foreach ($matches[1] as $match) {
     91        $replace[] = $adh[$match];
    9192    }
    92     preg_replace("/%(.*?)%/", $matches, $message);
     93    $content = stripslashes(html_entity_decode(preg_replace_callback('/%(.*?)%/', function($matches) use (&$replace) { return array_shift($replace); }, $content)));
    9394
    94     add_filter('wp_mail_content_type',create_function('', 'return "text/html"; '));
    95     $result_wp_mail = wp_mail($mail, $subject, $message);
    96     if ($result_wp_mail == false) {return $result_wp_mail;} else { return $message; }
     95    add_filter('wp_mail_content_type', 'helladh_set_html_content_type');
     96    $result_wp_mail = wp_mail($to, $title, $content);
     97    remove_filter('wp_mail_content_type', 'helladh_set_html_content_type');
     98    if ($result_wp_mail == false) {return $result_wp_mail;} else { return $content; }
    9799}
    98100
     101function helladh_set_html_content_type() {return 'text/html';}
     102
    99103?>
  • helloadherents/trunk/functions/settings-page.php

    r2637821 r2638210  
    315315
    316316        add_settings_field(
     317            'wordpress_users_resetmail_from', // id
     318            'Nom de l\'expéditeur ', // title
     319            array( $this, 'wordpress_users_resetmail_from_callback' ), // callback
     320            'helloadhrents-admin', // page
     321            'output' // section
     322        );
     323
     324        add_settings_field(
    317325            'wordpress_users_resetmail_title', // id
    318326            'Titre du mail envoyé à vos adhérents ', // title
     
    450458            $sanitary_values['wordpress_users_send_resetmail'] = sanitize_text_field( $input['wordpress_users_send_resetmail'] );
    451459        }
     460        if ( isset( $input['wordpress_users_resetmail_from'] ) ) {
     461            $sanitary_values['wordpress_users_resetmail_from'] = sanitize_text_field( $input['wordpress_users_resetmail_from'] );
     462        }
    452463        if ( isset( $input['wordpress_users_resetmail_title'] ) ) {
    453464            $sanitary_values['wordpress_users_resetmail_title'] = sanitize_text_field( $input['wordpress_users_resetmail_title'] );
    454465        }
    455 
    456466        if ( isset( $_POST['wordpress_users_resetmail_content'] ) ) {
    457467            $sanitary_values['wordpress_users_resetmail_content'] = htmlentities(wpautop( $_POST['wordpress_users_resetmail_content'] ));
     
    706716    }
    707717
     718    public function wordpress_users_resetmail_from_callback() {
     719        printf(
     720            '<input class="regular-text" type="text" name="ha_option_name[wordpress_users_resetmail_from]" id="wordpress_users_resetmail_from" value="%s">',
     721            isset( $this->helloadhrents_options['wordpress_users_resetmail_from'] ) && ($this->helloadhrents_options['wordpress_users_resetmail_from'] != '') ? esc_attr( $this->helloadhrents_options['wordpress_users_resetmail_from']) : ''
     722        );       
     723    }
     724
    708725    public function wordpress_users_resetmail_title_callback() {
    709726        printf(
    710727            '<input class="regular-text" type="text" name="ha_option_name[wordpress_users_resetmail_title]" id="wordpress_users_resetmail_title" value="%s">',
    711             isset( $this->helloadhrents_options['wordpress_users_resetmail_title'] ) && ($this->helloadhrents_options['wordpress_users_resetmail_title'] != '') ? esc_attr( $this->helloadhrents_options['wordpress_users_resetmail_title']) : 'Test'
     728            isset( $this->helloadhrents_options['wordpress_users_resetmail_title'] ) && ($this->helloadhrents_options['wordpress_users_resetmail_title'] != '') ? esc_attr( $this->helloadhrents_options['wordpress_users_resetmail_title']) : 'Création de votre compte'
    712729        );       
    713730    }
     
    718735            $content = stripslashes(html_entity_decode( $this->helloadhrents_options['wordpress_users_resetmail_content']));
    719736        } else {
    720             $content = stripslashes(html_entity_decode('<p>Cher %prenom%,</p><p>Merci de votre adhésion à notre association. Votre compte utilisateur vient d\'être créé sur notre site internet.</p><p>Votre identifiant est l\'adresse %mail% que vous avez renseigné lors de votre inscription sur HelloAsso. Pour activer votre compte, il ne vous reste qu\'à définir votre mot de passe en suivant <a href="https://www.mon-site.fr/wp-login.php?action=lostpassword">ce lien</a>.</p><p>Cordialement,<br />
    721                 Votre Webmaster</p>'));
     737            $content = stripslashes(html_entity_decode("<p><strong>Cher %prenom%</strong>,</p><p>Merci de votre adhésion à notre association. Votre compte utilisateur vient d'être créé sur notre site internet.</p><p>Votre identifiant est l'adresse %mail% que vous avez renseigné lors de votre inscription sur HelloAsso. Pour utiliser votre compte, il ne vous reste qu'à définir votre mot de passe en suivant <a href='https://www.mon-site.fr/wp-login.php?action=lostpassword'>ce lien [https://www.mon-site.fr/wp-login.php?action=lostpassword]</a>.</p><p>Cordialement,<br />
     738                Votre Webmaster</p>"));
    722739        }
    723740
Note: See TracChangeset for help on using the changeset viewer.