Changeset 3387000
- Timestamp:
- 10/30/2025 10:57:00 AM (5 months ago)
- Location:
- publir-ump/trunk
- Files:
-
- 7 edited
-
Readme.txt (modified) (1 diff)
-
assets/css/admin-ump.css (modified) (3 diffs)
-
assets/js/ump.js (modified) (1 diff)
-
functions.php (modified) (2 diffs)
-
options.php (modified) (1 diff)
-
ump-page-template.php (modified) (1 diff)
-
ump.php (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
publir-ump/trunk/Readme.txt
r3380069 r3387000 5 5 Tested up to: 6.8.3 6 6 Requires PHP: 5.2.4 7 Stable tag: 1. 2.87 Stable tag: 1.3.0 8 8 License: GNU 2.0 9 9 License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html -
publir-ump/trunk/assets/css/admin-ump.css
r2732984 r3387000 175 175 padding: 0 !important; 176 176 border-color: #ccc !important; 177 background-color: transparent ;!important;177 background-color: transparent !important; 178 178 vertical-align: middle; 179 179 } … … 207 207 transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; 208 208 } 209 .publir-tabset .#payBtn { margin-top: 0; }209 .publir-tabset #payBtn { margin-top: 0; } 210 210 .publirump-login-response p,.publir-signup-response p,.pblr-reset-response p, 211 211 .pblr-update-response p,.pblr-cancel-response p{ … … 217 217 display: none; 218 218 } 219 .publir-update-pass,.publir-cancel-form {219 .publir-update-pass,.publir-cancel-form, .publir-update-displayname{ 220 220 margin-bottom: 20px; 221 221 margin-top: 15px !important; -
publir-ump/trunk/assets/js/ump.js
r3080232 r3387000 278 278 ***/ 279 279 280 281 /*** 282 * Upadte Display Name Ajax 283 ***/ 284 jQuery('#update-displayname').submit(function(e){ 285 e.preventDefault(); 286 var update_pass = jQuery('#update-displayname'); 287 //Validation 288 jQuery('.publir-update-displayname-img').show(); 289 jQuery('input[type="submit"]').prop('disabled', true); 290 if(!jQuery("#ump-display-name").val()){ 291 jQuery('.publir-update-displayname-img').hide(); 292 jQuery('input[type="submit"]').prop('disabled', false); 293 jQuery("#ump-display-name").addClass('error'); 294 jQuery(".pblr-update-displayname-response").addClass("error"); 295 jQuery(".pblr-update-displayname-response").html('<p>Display Name field required</p>'); 296 return false; 297 } else{ 298 jQuery(".pblr-update-displayname-response").removeClass("error"); 299 jQuery(".pblr-update-displayname-response").html('<p></p>'); 300 jQuery("#ump-display-name").removeClass('error'); 301 } 302 //ajax submit form 303 jQuery('.publir-update-displayname-img').show(); 304 jQuery.ajax({ 305 type: "POST", 306 url:update_pass.attr('action'), 307 data: update_pass.serialize(), // serializes the form's elements. 308 success: function(response) { 309 jQuery('.publir-update-displayname-img').hide(); 310 if( jQuery.trim(response) != "" ) { 311 var data = JSON.parse(response); 312 if(data.type == 'success' ){ 313 jQuery('.pblr-update-displayname-response').removeClass('error'); 314 jQuery('.pblr-update-displayname-response').html('<p>'+data.message+'</p>'); 315 jQuery('.pblr-update-displayname-response').show(); 316 setTimeout(function(){ 317 location.reload(); 318 }, 2000); 319 } else { 320 jQuery(".pblr-update-displayname-response").addClass("error"); 321 jQuery('.pblr-update-displayname-response').html('<p>'+data.message+'</p>'); 322 jQuery('.pblr-update-displayname-response').show(); 323 } 324 } else { 325 jQuery(".pblr-update-displayname-response").addClass("error"); 326 jQuery('.pblr-update-displayname-response').html('<p>Connection error occured. Please try agin after some time or do refresh page.</p>'); 327 jQuery('.pblr-update-displayname-response').show(); 328 } 329 }, 330 error: function (jqXHR, exception) { 331 jQuery('.publir-update-displayname-img').hide(); 332 var msg = ''; 333 if (jqXHR.status === 0) { 334 msg = 'Not connect.\n Verify Network.'; 335 } else if (jqXHR.status == 404) { 336 msg = 'Requested page not found.'; 337 } else if (jqXHR.status == 500) { 338 msg = 'Internal Server Error'; 339 } else if (exception === 'parsererror') { 340 msg = 'Requested JSON parse failed.'; 341 } else if (exception === 'timeout') { 342 msg = 'Time out error.'; 343 } else if (exception === 'abort') { 344 msg = 'Ajax request aborted.'; 345 } else { 346 msg = 'Uncaught Error.\n';// + jqXHR.responseText; 347 } 348 jQuery(".pblr-update-displayname-response").addClass("error"); 349 jQuery('.pblr-update-displayname-response').html('<p>'+msg+' Try page reload</p>'); 350 jQuery('.pblr-update-displayname-response').show(); 351 } 352 }); 353 jQuery('input[type="submit"]').prop('disabled', false); 354 }); 355 /*** 356 * Upadte Display Name Ajax Completed 357 ***/ 358 280 359 /*** 281 360 * Password reset Ajax -
publir-ump/trunk/functions.php
r3080232 r3387000 124 124 }else{ 125 125 $post_id = wp_insert_post($my_post,true); 126 update_post_meta( $post_id, '_wp_page_template', plugin_dir_path( __FILE__ ) . '/ump-page-template.php' );126 update_post_meta( $post_id, '_wp_page_template','ump-page-template.php' ); 127 127 } 128 128 } … … 149 149 } 150 150 151 add_filter( 'template_include', 'publir_change_page_template', 99);151 add_filter( 'template_include', 'publir_change_page_template', 1 ); 152 152 153 if ( ! function_exists( 'publir_change_page_template' ) ) { 154 /** 155 * Sets up theme defaults and registers support for various WordPress features 156 * 157 * It is important to set up these functions before the init hook so that none of these 158 * features are lost. 159 */ 153 function publir_change_page_template($template) 154 { 155 $options = get_option('publir_wp_options'); 156 $page_name = $options['setting_page_id']; 160 157 161 function publir_change_page_template($template) 162 { 163 $options = get_option('publir_wp_options'); 164 $page_name = $options['setting_page_id']; 165 if (get_the_title(get_the_ID()) == $page_name) { 166 $meta = get_post_meta(get_the_ID()); 167 if (!empty($meta['_wp_page_template'][0]) && $meta['_wp_page_template'][0] != $template) { 168 $template = $meta['_wp_page_template'][0]; 169 } 170 } 171 return $template; 172 } 158 if (get_the_title(get_the_ID()) == $page_name) { 159 $meta = get_post_meta(get_the_ID()); 160 $selected_template = $meta['_wp_page_template'][0] ?? ''; 161 162 if ($selected_template === 'ump-page-template.php') { 163 $plugin_template = plugin_dir_path(__FILE__) . 'ump-page-template.php'; 164 if (file_exists($plugin_template)) { 165 return $plugin_template; 166 } else { 167 error_log('Publir UMP: Template not found at ' . $plugin_template); 168 } 169 } 170 171 if (!empty($selected_template) && file_exists($selected_template)) { 172 return $selected_template; 173 } 174 } 175 176 return $template; 173 177 } 178 179 add_action('wp_body_open', function () { 180 if (is_singular()) { 181 global $post; 182 $selected_template = get_post_meta($post->ID, '_wp_page_template', true); 183 if ($selected_template === 'ump-page-template.php') { 184 ?> 185 <script> 186 document.addEventListener('DOMContentLoaded', function () { 187 document.body.id = 'publir-subscribe'; 188 }); 189 </script> 190 <?php 191 } 192 } 193 }); -
publir-ump/trunk/options.php
r3380069 r3387000 208 208 209 209 // Build full template path 210 $template_path = plugin_dir_path( __FILE__ ) .'ump-page-template.php';210 $template_path = 'ump-page-template.php'; 211 211 212 212 // Get current meta -
publir-ump/trunk/ump-page-template.php
r3080232 r3387000 108 108 <br> 109 109 <?php 110 _e(do_shortcode('[publir_update_display_name]') ); 110 111 _e(do_shortcode('[publir_update_password]') ); 111 112 _e(do_shortcode('[publir_update_card]')); -
publir-ump/trunk/ump.php
r3380069 r3387000 4 4 * Plugin URI: https://www.publir.com/wordpress-plugin/ump 5 5 * Description: Manage your Publir settings from this page. 6 * Version: 1. 2.86 * Version: 1.3.0 7 7 * Author: Publir 8 8 * Author URI: https://www.publir.com … … 84 84 <input class="publirump-login-button button" type="submit" name="change-password" value="Change Password" /> 85 85 <div class="publir-update-pass-img" style="display: none"> 86 <img src="<?php _e( esc_url_raw($loaderUrl) ); ?>" /> 87 </div> 88 </div> 89 </div> 90 </div> 91 </form> 92 <?php 93 94 return ob_get_clean(); 95 } 96 } 97 98 add_shortcode('publir_update_display_name','publir_update_display_name_value'); 99 if ( ! function_exists( 'publir_update_display_name_value' ) ) { 100 function publir_update_display_name_value(){ 101 ob_start(); 102 $loaderUrl = plugin_dir_url( __FILE__ ). 'assets/loader.gif'; 103 ?> 104 <h6 class="publirump-pb-15">Update Account</h6> 105 <b class="publirump-pb-15">Update Display Name</b> 106 <form id="update-displayname" class="publir-update-displayname" action="<?php _e(esc_url(admin_url( 'admin-ajax.php' ))); ?>" method="post" > 107 <?php wp_nonce_field( "publr-updatedisplayname-form" ); ?> 108 <input type="hidden" name="action" value="publir_display_name_action"> 109 <div class="login publir-row"> 110 <div class="publirump-login password"> 111 <input id="ump-display-name" type="text" name="display_name" placeholder="Enter Display Name" /> 112 </div> 113 <div class="publir-row"> 114 <div class="publir-row pblr-update-displayname-response"></div> 115 <div class="publir-row"> 116 <input class="publirump-login-button button" type="submit" name="change-display-name" value="Update Display Name" /> 117 <div class="publir-update-displayname-img" style="display: none"> 86 118 <img src="<?php _e( esc_url_raw($loaderUrl) ); ?>" /> 87 119 </div> … … 221 253 </div> 222 254 <div class="form-group"> 255 <label>Display Name</label> 256 <input type="text" name="display_name" id="display_name" class="field autoDisable" placeholder="Display Name" autofocus=""> 257 </div> 258 <div class="form-group"> 223 259 <label>Email</label> 224 260 <input type="email" name="email" id="email" class="field autoDisable" placeholder="Enter Email"> … … 266 302 $siteSubData = publir_get_site_subs_data(); 267 303 ?> 268 <div class="p anel container publir-entry-content">304 <div class="publir-entry-content"> 269 305 <div class="publirump-pb-15"> 270 306 <b class="">Update Card</b> … … 345 381 "siteName" => $siteName 346 382 ); 383 if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) { 384 $user_ip = $_SERVER['HTTP_CF_CONNECTING_IP']; 385 } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { 386 $user_ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0]; 387 } else { 388 $user_ip = $_SERVER['REMOTE_ADDR']; 389 } 390 $user_agent = $_SERVER['HTTP_USER_AGENT']; 347 391 $args = array( 348 392 'method' => 'POST', … … 352 396 'Accept' => 'application/json', 353 397 'Content-Type' => 'application/json', 398 "X-Forwarded-For" => $user_ip, 399 "User-Agent" => $user_agent 354 400 ), 355 401 'body' => json_encode($body), … … 396 442 397 443 setcookie('publir_subs_log', $serialized_data, time() + 300, "/", false, false, false); 398 setcookie('publir_subscriber_status', $response['sid'], time() + (86400 * 1), "/", false,false,false); 444 445 $payloadPubToken = 'PUBTOKEN' . $response['sid'].$response['site_id']; 446 $encodedSid = base64_encode($payloadPubToken); 447 setcookie('publir_subscriber_status', $encodedSid, time() + (86400 * 365 * 1), "/", false,false,false); 448 449 $encodedDisplayName = base64_encode($response['display_name']); 450 setcookie('publir_subscriber_dn', $encodedDisplayName, time() + (86400 * 365 * 1), "/", false,false,false); 399 451 400 452 $return = json_encode(array('message'=>'Login Successful!','status_code'=>200)); … … 485 537 486 538 $fixedJSON = publir_fix_json_response($response); 539 wp_send_json( $fixedJSON ); 540 wp_die(); 541 } 542 } 543 544 //Update Display Name with ajax function 545 add_action( 'wp_ajax_publir_display_name_action', 'publir_display_name_action' ); 546 add_action( 'wp_ajax_nopriv_publir_display_name_action', 'publir_display_name_action' ); 547 548 if ( ! function_exists( 'publir_display_name_action' ) ) { 549 function publir_display_name_action() { 550 $options = get_option('publir_wp_options'); 551 $site_id = sanitize_text_field($options['publir_site_id']); 552 $publir_secret_key = sanitize_text_field($options['publir_secret_key']); 553 $email = ''; 554 if (isset($_COOKIE['publir_subs_log'])) { 555 $pubCookieData = getCookieData(); 556 if(!empty($pubCookieData)){ 557 $email = custom_decrypt($pubCookieData['ehash'], $publir_secret_key); 558 } 559 } 560 if(empty($email)){ 561 $return = json_encode(array('message'=>'Your session has expired. Please log in to continue where you left off.','status_code'=>401)); 562 wp_send_json( $return ); 563 wp_die(); 564 } 565 if( empty($site_id) ) { 566 $return = json_encode(array('message'=>'Site id is empty','status_code'=>201)); 567 wp_send_json( $return ); 568 wp_die(); 569 } 570 $url = 'https://subs-api.publir.com/publirsubscriptionsapi-dev-hello'; 571 572 if( empty($_POST['display_name'])) { 573 $return = json_encode(array('message'=>'Display Name Field can\'t empty','status_code'=>201)); 574 wp_send_json( $return ); 575 wp_die(); 576 } 577 else { 578 $display_name = sanitize_text_field($_POST['display_name']); 579 } 580 $siteName = get_bloginfo( 'name'); 581 $body = array( 582 "publir_method" => "update_display_name", 583 "display_name" => $display_name, 584 "email" => $email, 585 "siteId" => $site_id, 586 "siteName" => $siteName 587 ); 588 $args = array( 589 "method" => "POST", 590 "timeout" => 45, 591 "sslverify" => false, 592 "headers" => array( 593 "Accept" => "application/json", 594 "Content-Type" => "application/json", 595 ), 596 "body" => json_encode($body), 597 ); 598 599 $request = wp_remote_post( $url, $args ); 600 601 $response = wp_remote_retrieve_body( $request ); 602 $fixedJSON = publir_fix_json_response($response); 603 604 $response = json_decode($fixedJSON, true); 605 if ($response['type'] == 'success') { 606 $encodedDisplayName = base64_encode($display_name); 607 setcookie('publir_subscriber_dn', $encodedDisplayName, time() + (86400 * 365 * 1), "/", false,false,false); 608 } 609 487 610 wp_send_json( $fixedJSON ); 488 611 wp_die(); … … 754 877 } 755 878 $name = sanitize_text_field($_POST['name']); 879 if( empty($name) ) { 880 $return = json_encode(array('message'=>'Name is required.','status_code'=>201)); 881 wp_send_json( $return ); 882 wp_die(); 883 } 884 885 $display_name = sanitize_text_field($_POST['display_name']); 886 if( empty($display_name) ) { 887 $return = json_encode(array('message'=>'Display Name is required.','status_code'=>201)); 888 wp_send_json( $return ); 889 wp_die(); 890 } 756 891 $stripeToken = ''; 757 892 if( empty($_POST['stripeToken']) && $plan != "Free" ) { … … 786 921 "siteName" => $siteName, 787 922 "fullName" => $name, 923 "display_name" => $display_name, 788 924 "plan" => $plan, 789 925 "siteMode" => $siteSubData['siteMode'],
Note: See TracChangeset
for help on using the changeset viewer.