Plugin Directory

Changeset 3139125


Ignore:
Timestamp:
08/21/2024 02:18:55 PM (20 months ago)
Author:
expresstechsoftware
Message:

Release version 1.2.20:

  • Added handling for cases where Discord user email does not exist, ensuring a temporary email is used.
  • Implemented [discord_user_info] shortcode to display WordPress account name, Discord username, and roles, styled like Discord's role display format.
Location:
pmpro-discord-add-on
Files:
144 added
9 edited

Legend:

Unmodified
Added
Removed
  • pmpro-discord-add-on/trunk/CHANGELOG.txt

    r3137481 r3139125  
     1= 1.2.20 =
     2- Added handling for cases where Discord user email does not exist, ensuring a temporary email is used.
     3- Implemented the [discord_user_info] shortcode to display the current user's WordPress account name, Discord username, and roles, styled to match Discord's role display format.
     4
    15= 1.2.19 =
    26- Added editable text fields for the messages "Following Roles was assigned to you in Discord:" and "Following Roles will be assigned to you in Discord:" in the Appearance settings.
  • pmpro-discord-add-on/trunk/assets/css/ets-pmpro-discord-style.css

    r2964072 r3139125  
    527527  margin-left: 15px;
    528528}
     529
     530.discord-user-info {
     531  background-color: #f9f9f9;
     532  padding: 15px;
     533  border: 1px solid #ddd;
     534  border-radius: 5px;
     535  max-width: 400px;
     536  margin: 20px 0;
     537  font-family: Arial, sans-serif;
     538}
     539
     540.discord-user-info p {
     541  margin: 10px 0;
     542  line-height: 1.6;
     543}
     544
     545.discord-user-info strong {
     546  color: #333;
     547  font-weight: bold;
     548}
     549.discord-role {
     550  display: inline-flex;
     551  align-items: center;
     552  margin: 5px 0;
     553  background-color: #232528;
     554  color: #BBBEC1;
     555  padding-right: 10px;
     556  padding-left: 10px;
     557  border-radius: 5%;
     558}
     559
     560
     561.discord-role i {
     562  display: inline-block;
     563  width: 12px;
     564  height: 12px;
     565  border-radius: 50%;
     566  margin-right: 8px;
     567  background-color: #7289DA;
     568}
     569
     570.discord-role span {
     571  font-size: 14px;
     572  color: #ffffff;
     573}
     574
  • pmpro-discord-add-on/trunk/assets/css/ets-pmpro-discord-style.min.css

    r2964072 r3139125  
    1 .tab{overflow:hidden}.tab.ets-tabs{margin-top:25px;display:block;width:90%}.tab button:hover{color:#000}.tab button.active{color:#fff;background:#77a02e}#ets_setting{display:none;width:90%}#ets_about_us{display:none;width:90%}.ets-input-group{display:inline-block;width:100%;margin-bottom:10px}.ets-input-group label{margin-bottom:10px;font-size:14px;display:block;font-weight:500;color:#000}.ets-input{width:100%;height:40px;border-radius:0px!important}.ets-input:hover{border-bottom:2px solid #77a02e}.ets-input-group .ets-textarea{width:100%}#ets_setting h3{font-size:20px}.ets-submit{padding:10px 20px;background:#444;color:#fff;font-size:14px;box-shadow:0 0 0 0;border:0}#ets_post_text_ifr{height:250px!important}.ets-input-group #ets_renewal_mail_body_ifr{height:250px!important}.ets-btn{padding:10px 20px;color:#fff;font-size:14px;box-shadow:0 0 0 0;border:0;text-decoration:none;display:inline-block;font-weight:600;letter-spacing:.0333em;line-height:1.25;margin:0;opacity:1;text-transform:uppercase}.ets-btn.pmpro-btn-connect-to-bot{font-weight:400;display:none;text-transform:none}.ets-btn.not-active{pointer-events:none;cursor:default;text-decoration:none;background-color:#77A02E;color:#fff}.ets-btn.error-bk{cursor:cursor;text-decoration:none;background-color:red}.error-log{height:400px;overflow:scroll}.pmpro-btn-connect-to-bot{background-color:red}.pmpro-clrbtndiv{display:flex}.pmpro-clrbtndiv .form-group{display:flex;align-items:center}.pmpro-clrbtndiv .form-group .spinner{margin:10px 10px 0}.ets-bg-red{background-color:#FF0000!important;color:#fff}.ets-bg-green{background-color:#77A02E!important;color:#fff}.ets-pmpro-bg-download{background-color:#2CA450!important;color:#fff}.ets-submit.ets-pmpro-bg-download{margin:0 2px}.wp-core-ui .notice.is-dismissible.support-success-msg{position:fixed;top:10%;right:0}a{text-decoration:none}.contact-form{min-height:100vh;background-color:#f1f1f1}.pr-100{padding-right:100px}.ets-mt-5{margin-top:3rem!important}.ets-align-items-center{align-items:center}.ets-container{max-width:1140px;display:block;margin:auto}.contact-form{display:inline-block;width:100%;padding:50px 0;text-align:center}.ets-row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.ets-col-7{flex:0 0 58.333333%;max-width:58.333333%;padding:0 15px;box-sizing:border-box}.ets-col-3{flex:0 0 25%;max-width:25%;padding:0 15px;box-sizing:border-box}.ets-offset-md-1{margin-left:8.333333%}.ets-form-group{margin-bottom:16px}.contact-form .top-logo-title img{width:200px}.contact-form .top-logo-title h1{margin:30px 0 20px;font-size:29px;font-weight:700}.contact-form .top-logo-title p{font-size:14px;color:#232323}.contact-fields .contact-input{display:block;height:40px;width:100%;padding:.375rem .75rem;font-size:14px;border-radius:0px!important;box-sizing:border-box}.contact-input:hover{border-bottom:2px solid #77a02e}.contact-fields label{font-size:14px;margin-bottom:5px}.contact-textarea:hover{border-bottom:2px solid #77a02e}.contact-textarea{display:block;width:100%;height:65px;background-color:#fff;box-shadow:0 0 0 0;border:1px solid #ced4da;box-sizing:border-box;border-radius:0px!important}.right-side-box{position:relative;min-height:150px;background-color:#444;margin-left:-90px;padding:20px 15px}.contact-fields{display:inline-block;width:100%;padding:35px 100px 35px 15px;background-color:#fff;text-align:left;box-sizing:border-box}.top-icon-title i{font-size:26px;color:#fff;margin-right:15px}.top-icon-title p{margin:0;font-size:16px;font-weight:600;color:#fff}.contact-details .contact-body p{font-size:14px;margin-bottom:5px;color:#fff;text-align:left}.contact-details .contact-body p a{color:#fff}.contact-details{display:inline-block;width:100%;margin-bottom:20px}.contact-details .top-icon-title{display:inline-flex;align-items:center;width:100%}.contact-details .contact-body{margin-top:16px}.submit-btn{display:flex;align-items:center;width:100%;padding-top:16px}.contact-form .btn-submit{background-color:#444;color:#fff;border-radius:0;padding:10px 20px;font-size:14px;border:1px solid transparent}.contact-form .btn-submit:hover,.contact-form .btn-submit:focus{background-color:#fff;color:#444;border:1px solid #444;box-shadow:0 0 0}.btn-skype{background-color:#0078d7;color:#fff;border-radius:0;padding:10px 20px;font-size:14px;border:1px solid transparent;margin-left:auto}.btn-skype:hover,.btn-skype:focus{background-color:#fff;color:#0078d7;border-color:#0078d7}.ets_assigned_role{font-size:10px;margin-top:5px}.ets-danger-text{color:#FF0000!important}.top-icon-title svg{margin-right:5px}@media (max-width:992px) and (min-width:768px){.contact-details .contact-body p{font-size:12px}.right-side-box{padding:20px 10px}}@media (max-width:768px){.form-fields-box{padding:0 20px}.pr-100{padding-right:15px}.right-side-box{margin-left:0;margin-top:20px}.ets-container{max-width:100%}.ets-col-7{max-width:100%;flex:0 0 100%}.ets-offset-md-1{margin-left:0}.ets-col-3{flex:0 0 100%;max-width:100%}}*{box-sizing:border-box}.ets-column{float:left;width:50%;padding:10px;height:auto;text-align:center;min-height:300px}.pmpro-discord-roles-col{border:2px dashed transparent;transition:ease 0.3s}.ets-spinner{background:url(../images/spinner.gif) no-repeat;background-size:auto;background-size:20px 20px;display:inline-block;visibility:hidden;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.ets-is-active{visibility:visible}.pmpro-discord-roles .spinner,.initialtab.spinner{float:none}.hoverActive{border:2px dashed #275EE8}.row-container:after{content:"";display:table;clear:both}.makeMeDraggable{background-color:#275EE8;padding:10px;color:#fff;margin-bottom:10px;width:100%;cursor:all-scroll}.makeMeDroppable{background-color:#77A02E;margin-bottom:10px;color:#fff;width:100%;display:flex}.makeMeDroppable span{width:100%;padding:10px}div.bottom-btn{margin-top:10px;text-align:center}div.mapping-json{text-align:center;margin-top:10px}#pmpro_maaping_json_val{width:50%;display:none}.notice.ets-notice{background-color:rgba(51,170,51,.1);margin-bottom:10px}.isa_error{color:#D8000C;background-color:#FFD2D2}.isa_info{color:#00529B;background-color:#BDE5F8}.isa_info i,.isa_success i,.isa_warning i,.isa_error i{margin:10px 22px;font-size:2em;vertical-align:middle}.pmpro-discord-roles .spinner,.initialtab.spinner{display:inline-block}.spinner{display:none}select#defaultRole{border-radius:0}[data-identity="level-mapping"]{display:none}.right-side-box .svg-inline--fa{color:#77a02e}.ets-save-success{display:none;color:#2ca450}.ets_pmpro_discord_dm_textarea{height:130px}.ets_assigned_role>span{padding:0 7px;border-radius:12px;color:#fff;display:inline-flex;flex-direction:row;align-items:center;background-color:#28303d;margin-right:5px}.ets_assigned_role>span>i{width:100%;height:14px;display:inline-block;border-radius:20%;margin-right:6px}div.ets-pmpro-discord-review-notice{background-color:#FFF;-webkit-box-shadow:0 1px 4px rgba(0,0,0,.15);box-shadow:0 1px 4px rgba(0,0,0,.15);display:-webkit-box;display:-ms-flexbox;display:flex;padding:0!important;position:relative}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-icon{background-image:url(../../assets/images/icon.png);background-position:left center;background-repeat:no-repeat;background-size:contain;min-width:150px}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-content{padding:20px}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-content p.ets-pmpro-signature{display:flex;align-items:center}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-content img{width:45px;height:auto;border-radius:50%;margin-left:15px}
     1.tab{overflow:hidden}.tab.ets-tabs{margin-top:25px;display:block;width:90%}.tab button:hover{color:#000}.tab button.active{color:#fff;background:#77a02e}#ets_setting{display:none;width:90%}#ets_about_us{display:none;width:90%}.ets-input-group{display:inline-block;width:100%;margin-bottom:10px}.ets-input-group label{margin-bottom:10px;font-size:14px;display:block;font-weight:500;color:#000}.ets-input{width:100%;height:40px;border-radius:0px!important}.ets-input:hover{border-bottom:2px solid #77a02e}.ets-input-group .ets-textarea{width:100%}#ets_setting h3{font-size:20px}.ets-submit{padding:10px 20px;background:#444;color:#fff;font-size:14px;box-shadow:0 0 0 0;border:0}#ets_post_text_ifr{height:250px!important}.ets-input-group #ets_renewal_mail_body_ifr{height:250px!important}.ets-btn{padding:10px 20px;color:#fff;font-size:14px;box-shadow:0 0 0 0;border:0;text-decoration:none;display:inline-block;font-weight:600;letter-spacing:.0333em;line-height:1.25;margin:0;opacity:1;text-transform:uppercase}.ets-btn.pmpro-btn-connect-to-bot{font-weight:400;display:none;text-transform:none}.ets-btn.not-active{pointer-events:none;cursor:default;text-decoration:none;background-color:#77A02E;color:#fff}.ets-btn.error-bk{cursor:cursor;text-decoration:none;background-color:red}.error-log{height:400px;overflow:scroll}.pmpro-btn-connect-to-bot{background-color:red}.pmpro-clrbtndiv{display:flex}.pmpro-clrbtndiv .form-group{display:flex;align-items:center}.pmpro-clrbtndiv .form-group .spinner{margin:10px 10px 0}.ets-bg-red{background-color:#FF0000!important;color:#fff}.ets-bg-green{background-color:#77A02E!important;color:#fff}.ets-pmpro-bg-download{background-color:#2CA450!important;color:#fff}.ets-submit.ets-pmpro-bg-download{margin:0 2px}.wp-core-ui .notice.is-dismissible.support-success-msg{position:fixed;top:10%;right:0}a{text-decoration:none}.contact-form{min-height:100vh;background-color:#f1f1f1}.pr-100{padding-right:100px}.ets-mt-5{margin-top:3rem!important}.ets-align-items-center{align-items:center}.ets-container{max-width:1140px;display:block;margin:auto}.contact-form{display:inline-block;width:100%;padding:50px 0;text-align:center}.ets-row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.ets-col-7{flex:0 0 58.333333%;max-width:58.333333%;padding:0 15px;box-sizing:border-box}.ets-col-3{flex:0 0 25%;max-width:25%;padding:0 15px;box-sizing:border-box}.ets-offset-md-1{margin-left:8.333333%}.ets-form-group{margin-bottom:16px}.contact-form .top-logo-title img{width:200px}.contact-form .top-logo-title h1{margin:30px 0 20px;font-size:29px;font-weight:700}.contact-form .top-logo-title p{font-size:14px;color:#232323}.contact-fields .contact-input{display:block;height:40px;width:100%;padding:.375rem .75rem;font-size:14px;border-radius:0px!important;box-sizing:border-box}.contact-input:hover{border-bottom:2px solid #77a02e}.contact-fields label{font-size:14px;margin-bottom:5px}.contact-textarea:hover{border-bottom:2px solid #77a02e}.contact-textarea{display:block;width:100%;height:65px;background-color:#fff;box-shadow:0 0 0 0;border:1px solid #ced4da;box-sizing:border-box;border-radius:0px!important}.right-side-box{position:relative;min-height:150px;background-color:#444;margin-left:-90px;padding:20px 15px}.contact-fields{display:inline-block;width:100%;padding:35px 100px 35px 15px;background-color:#fff;text-align:left;box-sizing:border-box}.top-icon-title i{font-size:26px;color:#fff;margin-right:15px}.top-icon-title p{margin:0;font-size:16px;font-weight:600;color:#fff}.contact-details .contact-body p{font-size:14px;margin-bottom:5px;color:#fff;text-align:left}.contact-details .contact-body p a{color:#fff}.contact-details{display:inline-block;width:100%;margin-bottom:20px}.contact-details .top-icon-title{display:inline-flex;align-items:center;width:100%}.contact-details .contact-body{margin-top:16px}.submit-btn{display:flex;align-items:center;width:100%;padding-top:16px}.contact-form .btn-submit{background-color:#444;color:#fff;border-radius:0;padding:10px 20px;font-size:14px;border:1px solid #fff0}.contact-form .btn-submit:hover,.contact-form .btn-submit:focus{background-color:#fff;color:#444;border:1px solid #444;box-shadow:0 0 0}.btn-skype{background-color:#0078d7;color:#fff;border-radius:0;padding:10px 20px;font-size:14px;border:1px solid #fff0;margin-left:auto}.btn-skype:hover,.btn-skype:focus{background-color:#fff;color:#0078d7;border-color:#0078d7}.ets_assigned_role{font-size:10px;margin-top:5px}.ets-danger-text{color:#FF0000!important}.top-icon-title svg{margin-right:5px}@media (max-width:992px) and (min-width:768px){.contact-details .contact-body p{font-size:12px}.right-side-box{padding:20px 10px}}@media (max-width:768px){.form-fields-box{padding:0 20px}.pr-100{padding-right:15px}.right-side-box{margin-left:0;margin-top:20px}.ets-container{max-width:100%}.ets-col-7{max-width:100%;flex:0 0 100%}.ets-offset-md-1{margin-left:0}.ets-col-3{flex:0 0 100%;max-width:100%}}*{box-sizing:border-box}.ets-column{float:left;width:50%;padding:10px;height:auto;text-align:center;min-height:300px}.pmpro-discord-roles-col{border:2px dashed #fff0;transition:ease 0.3s}.ets-spinner{background:url(../images/spinner.gif) no-repeat;background-size:auto;background-size:20px 20px;display:inline-block;visibility:hidden;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.ets-is-active{visibility:visible}.pmpro-discord-roles .spinner,.initialtab.spinner{float:none}.hoverActive{border:2px dashed #275EE8}.row-container:after{content:"";display:table;clear:both}.makeMeDraggable{background-color:#275EE8;padding:10px;color:#fff;margin-bottom:10px;width:100%;cursor:all-scroll}.makeMeDroppable{background-color:#77A02E;margin-bottom:10px;color:#fff;width:100%;display:flex}.makeMeDroppable span{width:100%;padding:10px}div.bottom-btn{margin-top:10px;text-align:center}div.mapping-json{text-align:center;margin-top:10px}#pmpro_maaping_json_val{width:50%;display:none}.notice.ets-notice{background-color:rgb(51 170 51 / .1);margin-bottom:10px}.isa_error{color:#D8000C;background-color:#FFD2D2}.isa_info{color:#00529B;background-color:#BDE5F8}.isa_info i,.isa_success i,.isa_warning i,.isa_error i{margin:10px 22px;font-size:2em;vertical-align:middle}.pmpro-discord-roles .spinner,.initialtab.spinner{display:inline-block}.spinner{display:none}select#defaultRole{border-radius:0}[data-identity="level-mapping"]{display:none}.right-side-box .svg-inline--fa{color:#77a02e}.ets-save-success{display:none;color:#2ca450}.ets_pmpro_discord_dm_textarea{height:130px}.ets_assigned_role>span{padding:0 7px;border-radius:12px;color:#fff;display:inline-flex;flex-direction:row;align-items:center;background-color:#28303d;margin-right:5px}.ets_assigned_role>span>i{width:100%;height:14px;display:inline-block;border-radius:20%;margin-right:6px}div.ets-pmpro-discord-review-notice{background-color:#FFF;-webkit-box-shadow:0 1px 4px rgb(0 0 0 / .15);box-shadow:0 1px 4px rgb(0 0 0 / .15);display:-webkit-box;display:-ms-flexbox;display:flex;padding:0!important;position:relative}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-icon{background-image:url(../../assets/images/icon.png);background-position:left center;background-repeat:no-repeat;background-size:contain;min-width:150px}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-content{padding:20px}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-content p.ets-pmpro-signature{display:flex;align-items:center}div.ets-pmpro-discord-review-notice div.ets-pmpro-discord-notice-content img{width:45px;height:auto;border-radius:50%;margin-left:15px}.discord-user-info{background-color:#f9f9f9;padding:15px;border:1px solid #ddd;border-radius:5px;max-width:400px;margin:20px 0;font-family:Arial,sans-serif}.discord-user-info p{margin:10px 0;line-height:1.6}.discord-user-info strong{color:#333;font-weight:700}.discord-role{display:inline-flex;align-items:center;margin:5px 0;background-color:#232528;color:#BBBEC1;padding-right:10px;padding-left:10px;border-radius:5%}.discord-role i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;background-color:#7289DA}.discord-role span{font-size:14px;color:#fff}
  • pmpro-discord-add-on/trunk/includes/classes/class-discord-api.php

    r3137481 r3139125  
    614614                    if ( is_array( $res_body ) ) {
    615615                        if ( array_key_exists( 'access_token', $res_body ) ) {
    616                             $access_token       = sanitize_text_field( trim( $res_body['access_token'] ) );
    617                             $user_body          = $this->get_discord_current_user( $access_token );
    618                             $discord_user_email = $user_body['email'];
     616                            $access_token = sanitize_text_field( trim( $res_body['access_token'] ) );
     617                            $user_body    = $this->get_discord_current_user( $access_token );
     618                            $temporary_email = $user_body['id'] . '@placeholder.email';
     619                            $discord_user_email = ( ! empty( $user_body['email'] ) ) ? $user_body['email'] : $temporary_email;
     620
    619621                            $password           = wp_generate_password( 12, true, false );
    620622                            if ( email_exists( $discord_user_email ) ) {
     
    623625                            } else {
    624626                                $user_id = wp_create_user( $discord_user_email, $password, $discord_user_email );
     627                                add_user_meta( $user_id, 'email_needs_update', true );
    625628                                wp_new_user_notification( $user_id, null, $password );
    626629                            }
  • pmpro-discord-add-on/trunk/includes/classes/class-pmpro-discord-admin-setting.php

    r3137481 r3139125  
    1818        // Add new button in pmpro profile
    1919        add_shortcode( 'discord_connect_button', array( $this, 'ets_pmpro_discord_add_connect_discord_button' ) );
     20        // Add new shortcode to fetch and display the Discord username, account name, and roles linked to a user's membership
     21        add_shortcode( 'discord_user_info', array( $this, 'ets_pmpro_discord_display_user_info' ) );
     22
    2023
    2124        add_action( 'pmpro_show_user_profile', array( $this, 'ets_pmpro_show_discord_button' ) );
     
    195198
    196199    }
     200
     201    /**
     202     * Fetch and display the Discord username, WordPress account name, and roles linked to a user's membership.
     203     *
     204     * @return string|null The formatted HTML string containing the Discord username, WordPress account name, and roles.
     205     */
     206    public function ets_pmpro_discord_display_user_info(){
     207        $user_id = get_current_user_id();
     208        if ( ! $user_id ) {
     209            return 'You must be logged in to view this information.';
     210        }
     211        wp_enqueue_style( 'ets_pmpro_add_discord_style' );
     212
     213        $discord_user_name              = sanitize_text_field( trim( get_user_meta( $user_id, '_ets_pmpro_discord_username', true ) ) );
     214        $wp_account_name                = get_the_author_meta('display_name', $user_id);
     215        $all_roles                      = unserialize( get_option( 'ets_pmpro_discord_all_roles' ) );
     216        $roles_color                    = unserialize( get_option( 'ets_pmpro_discord_roles_color' ) );
     217        $default_role                   = sanitize_text_field( trim( get_option( '_ets_pmpro_discord_default_role_id' ) ) );
     218        $ets_pmpor_discord_role_mapping = json_decode( get_option( 'ets_pmpor_discord_role_mapping' ), true );
     219        $curr_level_id                  = ets_pmpro_discord_get_current_level_id( $user_id );
     220
     221        if ( substr( $discord_user_name,-2) === '#0'){
     222            $discord_user_name = substr( $discord_user_name, 0, -2 );
     223        }
     224        $mapped_role_name = '';
     225
     226        if ( $curr_level_id && is_array( $all_roles ) ) {
     227            if ( is_array( $ets_pmpor_discord_role_mapping ) && array_key_exists( 'pmpro_level_id_' . $curr_level_id, $ets_pmpor_discord_role_mapping ) ) {
     228                $mapped_role_id = $ets_pmpor_discord_role_mapping[ 'pmpro_level_id_' . $curr_level_id ];
     229                if ( array_key_exists( $mapped_role_id, $all_roles ) ) {
     230                    $mapped_role_name = '<span class="discord-role"> <i style="background-color:#' . dechex( $roles_color[ $mapped_role_id ] ) . '"></i>' . $all_roles[ $mapped_role_id ] . '</span>';
     231                }
     232            }
     233        }
     234
     235        $default_role_name = '';
     236        if ( $default_role != 'none' && is_array( $all_roles ) && array_key_exists( $default_role, $all_roles ) ) {
     237            $default_role_name = '<span class="discord-role"> <i style="background-color:#' . dechex( $roles_color[ $default_role ] ) . '"></i>' . $all_roles[ $default_role ] . '</span>';
     238        }
     239
     240        $output = '<div class="discord-user-info">';
     241        $output .= '<p><strong>Account Name:</strong> ' . esc_html($wp_account_name) . '</p>';
     242        $output .= '<p><strong>Discord Username:</strong> ' . esc_html($discord_user_name) . '</p>';
     243        if ( $mapped_role_name ) {
     244            $output .= '<p><strong>Assigned Discord Role:</strong> ' . ets_pmpro_discord_allowed_html( $mapped_role_name ) . '</p>';
     245        }
     246        if ( $default_role_name ) {
     247            $output .= '<p><strong>Default Discord Role:</strong> ' . ets_pmpro_discord_allowed_html( $default_role_name ) . '</p>';
     248        }
     249        $output .= '</div>';
     250
     251        return $output;
     252    }
     253
    197254
    198255    /**
     
    357414     */
    358415    public function ets_pmpro_discord_add_script() {
     416        $min = ( WP_DEBUG) ? '' : '.min';
    359417        wp_register_style(
    360418            'ets_pmpro_add_discord_style',
    361             ETS_PMPRO_DISCORD_URL . 'assets/css/ets-pmpro-discord-style.min.css',
     419            ETS_PMPRO_DISCORD_URL . 'assets/css/ets-pmpro-discord-style' . $min . '.css',
    362420            false,
    363421            ETS_PMPRO_VERSION
  • pmpro-discord-add-on/trunk/includes/functions.php

    r2737604 r3139125  
    312312function ets_pmpro_discord_allowed_html( $html_message ) {
    313313    $allowed_html = array(
    314         'span' => array(),
     314        'span' => array( 'class' =>array()),
    315315        'i' => array(
    316316            'style' => array()
  • pmpro-discord-add-on/trunk/includes/pages/advanced.php

    r2917053 r3139125  
    2828  <table class="form-table" role="presentation">
    2929    <tbody>
    30   <tr>
    31         <th scope="row"><?php echo __( 'Shortcode', 'pmpro-discord-add-on' ); ?></th>
    32         <td> <fieldset>
    33         [discord_connect_button]
    34     <br/>
    35     <small><?php echo __( ' Using the shortcode [discord_connect_button] on any page, anyone can join the website discord server by authentication via member discord account. New members will get default role if selected in the setting.', 'pmpro-discord-add-on' ); ?></small>
    36         </fieldset></td>
    37       </tr>
     30    <tr>
     31    <th scope="row"><?php echo __( 'Shortcode', 'pmpro-discord-add-on' ); ?></th>
     32    <td> <fieldset>
     33        [discord_connect_button]
     34        <br/>
     35        <small><?php echo __( 'Using the shortcode [discord_connect_button] on any page, anyone can join the website Discord server by authenticating via their Discord account. New members will get the default role if selected in the settings.', 'pmpro-discord-add-on' ); ?></small>
     36    </fieldset></td>
     37</tr>
     38<tr>
     39    <th scope="row"><?php echo __( 'Shortcode', 'pmpro-discord-add-on' ); ?></th>
     40    <td> <fieldset>
     41        [discord_user_info]
     42        <br/>
     43        <small><?php echo __( 'The [discord_user_info] shortcode displays the current user\'s WordPress account name, Discord username, and any roles assigned to them. This information is styled to mimic Discord\'s role display format.', 'pmpro-discord-add-on' ); ?></small>
     44    </fieldset></td>
     45</tr>
     46
    3847  <tr>
    3948        <th scope="row"><?php echo __( 'Use rich embed messaging feature?', 'pmpro-discord-add-on' ); ?></th>
  • pmpro-discord-add-on/trunk/pmpro-discord.php

    r3137481 r3139125  
    44 * Plugin URI:  https://www.expresstechsoftwares.com/step-by-step-documentation-guide-on-how-to-connect-pmpro-and-discord-server-using-discord-addon
    55 * Description: Connect your PaidMebershipPro site to your discord server, enable your members to be part of your community.
    6  * Version: 1.2.19
     6 * Version: 1.2.20
    77 * Author: ExpressTech Software Solutions Pvt. Ltd., Strangers Studios
    88 * Author URI: https://www.expresstechsoftwares.com
     
    1515
    1616// create plugin version constant.
    17 define( 'ETS_PMPRO_VERSION', '1.2.19' );
     17define( 'ETS_PMPRO_VERSION', '1.2.20' );
    1818
    1919// create plugin url constant.
  • pmpro-discord-add-on/trunk/readme.txt

    r3137481 r3139125  
    88Tested up to: 6.5
    99Requires PHP: 7.0
    10 Stable tag: 1.2.19
     10Stable tag: 1.2.20
    1111License: GPLv2
    1212License URI: https://www.gnu.org/licenses/gpl-2.0.html
Note: See TracChangeset for help on using the changeset viewer.