1jQuery(document).ready(function($){ 2 3 var logout_html = '<a href="javascript:void(0)" class="logout" onclick="email_user_logout();" title="ç»åº"><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="sign-out" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M96 64h84c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H96c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h84c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H96c-53 0-96-43-96-96V160c0-53 43-96 96-96zm231.1 19.5l-19.6 19.6c-4.8 4.8-4.7 12.5.2 17.1L420.8 230H172c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h248.8L307.7 391.7c-4.8 4.7-4.9 12.4-.2 17.1l19.6 19.6c4.7 4.7 12.3 4.7 17 0l164.4-164c4.7-4.7 4.7-12.3 0-17l-164.4-164c-4.7-4.6-12.3-4.6-17 .1z" class=""></path></svg></a>'; 4 5 var first_post_id = wpforms_first_post.first_post_id, 6 site_url = wpforms_first_post.site_url, 7 post_type = wpforms_first_post.post_type, 8 site_slug = wpforms_first_post.site_slug, 9 device_token = wpforms_first_post.device_token; 10 11 var __wpforms_user_info_bool = Cookies.get('__wpforms_user_info'); 12 if(__wpforms_user_info_bool){ 13 __wpforms_user_info = JSON.parse(__wpforms_user_info_bool); 14 $(".wpforms-field-name input").each(function(){// user information 15 var name_value = '',class_name = $(this).attr('class'); 16 if(class_name.indexOf('name-first') >= 0){ 17 name_value = __wpforms_user_info.first_name; 18 }else if(class_name.indexOf('name-last') >= 0){ 19 name_value = __wpforms_user_info.last_name; 20 }else{ 21 name_value = __wpforms_user_info.full_name; 22 } 23 $(this).val(name_value); 24 }); 25 26 $(".wpforms-field-phone_no input").val(__wpforms_user_info.phone_no);// phone number 27 28 var gender = __wpforms_user_info.gender;// gender 29 if(gender.length > 0){ 30 $(".wpforms-field-gender input").each(function(){ 31 if($(this).val() == gender){ 32 $(this).attr({'checked':'checked'}); 33 } 34 }); 35 } 36 37 var age_range = (__wpforms_user_info.age_range).replace('+'," ");// age_range 38 if(age_range.length > 0){ 39 $(".wpforms-field-age_range option").each(function(){ 40 if($(this).text() == age_range){ 41 $(this).attr({'selected':'selected'}); 42 } 43 }); 44 } 45 46 } 47 48 /////////////// show popup //////////////////// 49 var PopupQNA = function(){ 50 var $Container = document.querySelector('.popup_qna'); 51 if($Container==null){ 52 return; 53 } 54 //var $ButtonClose = $Container.querySelector('.popup_qna_close'); 55 var $Wrapper = $Container.querySelector('.popup_qna_wrapper'); 56 var $Inner = $Container.querySelector('.popup_qna_inner'); 57 var _innerOrignalClass = $Inner.className; 58 var hideQNA = function() { 59 if ($Container) { 60 $Inner.className = _innerOrignalClass + ' animated faster slideInDown'; 61 setTimeout(function(){ 62 $Container.style.display = 'none'; 63 $Inner.className = _innerOrignalClass; 64 }, 450) 65 } 66 }; 67 var showQNA = function() { 68 if ($Container) { 69 $Container.style.display = 'table'; 70 } 71 } 72 // $ButtonClose.addEventListener('click', function(){ 73 // hideQNA(); 74 // }); 75 76 $Wrapper.addEventListener('click', function(e){ 77 if (e.target === $Wrapper) { 78 hideQNA(); 79 } 80 }); 81 return { 82 show: showQNA, 83 hide: hideQNA 84 } 85 } 86 var _QNA = new PopupQNA(); 87 ////////////////////////////////////////////////////////////////////////////// 88 // // 1. first post wpforms input token 89 // var first_wpforms_token = $("._custom_token"); 90 // if(first_wpforms_token.length > 0){ 91 // //console.log('yes _custom_token'); 92 // $.ajax({ 93 // url: "/wp-admin/admin-ajax.php?action=ajax_get_custom_token", 94 // type: 'get', 95 // dataType: 'json', 96 // success: function(response){ 97 // var _token_input = $("._custom_token"); 98 // if(_token_input.length > 0){ 99 // $(_token_input.get(0)).val(response.token); 100 // } 101 // }, 102 // error: function(response){ 103 104 // } 105 // }); 106 // } 107
108 // get email from cookie: 109 var useNmgOneLogin = ['sundaykiss'].indexOf(site_slug) !== -1; 110 var cookie_email; 111 if (useNmgOneLogin) { 112 var nmg_user_info = get_nmg_user_info(); 113 if (nmg_user_info) { 114 cookie_email = nmg_user_info.email; 115 } 116 if (cookie_email) { 117 // Prefill email for need to login form: 118 $('.wpforms-form').each(function(index) { 119 var without_auto_popup = $(this).find('input[data-without_auto_popup="1"]'); 120 if (without_auto_popup.length > 0) { 121 var email_input = $(this).find('.wpforms-field-email input'); 122 if (email_input.length > 0) { 123 email_input.val(cookie_email); 124 } 125 } 126 }); 127 } 128 } else { 129 cookie_email = get_wpform_cookie_email(); 130 //if the plugin active,show logout button: 131 if(cookie_email){ 132 if(site_url.indexOf('edigest') >= 0){// æ«æshow logout button for ED 133 $('.share_list').append('<li>'+logout_html+'<li>');//destop 134 $('.share_search').before(logout_html);// mobile 135 } 136 } 137 } 138 139 // check post type 140 if(post_type == 'page'){ 141 var the_forms = $(".page-id-"+first_post_id); 142 }else{ 143 var the_forms = $("#post-"+first_post_id); 144 } 145 //æ·»å é¨é»ï¼first post: 146 var first_post_action = the_forms.find('.wpforms-form').attr('action'); 147 the_forms.find('.wpforms-form').attr('action', first_post_action+'#form'); 148 149 check_has_wpform_and_show_popup(_QNA, cookie_email, the_forms, 'auto'); 150 151 152 // 2. lazyload post token: 153 $(window).on('article.readmore', function(event, element){ 154 if(site_url.indexOf('gotrip') >= 0){//Gotrip 155 var post_id = element.data('post_id'); 156 var post_url = element.data('url'); 157 var id_string = 'post-'+post_id; 158 }else{ 159 var id_string = element.attr('id'); 160 var post_id = id_string.substr(5); 161 var post_url = $("#"+id_string).data('url'); 162 } 163 164 if(post_id != first_post_id){ 165 if($("#"+id_string).find('.wpforms-form').length > 0){ 166 if(site_url.indexOf('madamefigaro') >= 0){//figaro 167 post_url = $("#"+id_string).data('post_url'); 168 } 169 window.location.href = post_url; return false; 170 } 171 } 172 //}); 173 174 // $.ajax({ 175 // url: "/wp-admin/admin-ajax.php?action=ajax_get_custom_token", 176 // type: 'get', 177 // dataType: 'json', 178 // success: function(response){ 179 // next_wpform.find('._custom_token').val(response.token); 180 // }, 181 // error: function(response){ 182 // } 183 // }); 184 185 // var n_cookie_email = get_wpform_cookie_email(); 186 // check_has_wpform_and_show_popup(_QNA, n_cookie_email, next_wpform, 'auto'); 187 188 // // fiexd: change form action url: 189 // //var post_url = element.data('url'); 190 // reg = new RegExp(site_url,"g"); 191 // var action = post_url.replace(reg,""); 192 // next_wpform.find('.wpforms-form').attr('action',action+'#form'); 193 }); 194 195 $(document).on( 'click', '.wpforms-field-email input', function() { 196 var without_auto_popup = $(this).closest('.wpforms-form').find('input[data-without_auto_popup="1"]'); 197 if (without_auto_popup.length === 0) { 198 return; 199 } 200 if (cookie_email) { 201 return; 202 } 203 if(post_type == 'post'){ 204 var form_id = $(this).parent().parent().parent().attr('id'); 205 }else{ 206 var form_id = $(this).parent().parent().parent().parent().attr('id'); 207 } 208 // console.log('site_slug:', site_slug); 209 if (useNmgOneLogin) { 210 window.popupNmgOneLogin(function(data) { 211 console.log('data:', data); 212 var nmg_user_info = get_nmg_user_info(); 213 cookie_email = nmg_user_info.email; 214 if (cookie_email) { 215 $('.wpforms-field-email input').val(cookie_email); 216 } 217 }); 218 } else { 219 var current_form = $("#"+form_id); 220 var v_cookie_email = get_wpform_cookie_email(); 221 check_has_wpform_and_show_popup(_QNA, v_cookie_email, current_form, 'all'); 222 } 223 }); 224 var ga_form_id = 0; 225 // check hkid_no when ajax submit: 226 $(document).on( 'click', '.wpforms-submit ', function() { 227 228 ga_form_id = $(this).parent().find("input[name='wpforms[id]']").val(); 229 230 var quired = $('.wpforms-field-hkid_no').find('.wpforms-required-label'); 231 var hkid_no = $('.wpforms-field-hkid_no input').val(); 232 if(quired.length > 0 && (hkid_no.trim().length) > 0){ 233 //console.log(hkid_no); 234 var hkidPat = /^([A-Z]{1})([0-9]{3,})([A-Za-z0-9]+)?$/; 235 var matchArray = hkid_no.match(hkidPat); 236 if (matchArray == null){ 237 $('.wpforms-field-hkid_no').find('.hkid_no_erro').remove(); 238 var erro = '<label class="wpforms-error hkid_no_erro">Please enter a valid HKID Number.</label>'; 239 $('.wpforms-field-hkid_no input').after(erro); 240 return false;
241 }else{ 242 $('.wpforms-field-hkid_no').find('.hkid_no_erro').remove(); 243 } 244 }else{ 245 $('.wpforms-field-hkid_no').find('.hkid_no_erro').remove(); 246 } 247 //validate_hkid_numbers($('.wpforms-field-hkid_no input')); 248 }); 249 250 // check hkid_no when blur: 251 $(document).on( 'blur', '.wpforms-field-hkid_no input', function() { 252 validate_hkid_numbers($(this)); 253 }); 254 255 function validate_hkid_numbers(obj){ 256 var required = $('.wpforms-field-hkid_no').find('.wpforms-required-label');// å¿ å¡«çæåé©è 257 var hkid_no = obj.val(); 258 if(required.length > 0 && (hkid_no.trim().length) > 0){ 259 //console.log('hkid_no :'+hkid_no); 260 var hkidPat = /^([A-Z]{1})([0-9]{3,})([A-Za-z0-9]+)?$/; 261 var matchArray = hkid_no.match(hkidPat); 262 //console.log('matchArray :'+matchArray); 263 if (matchArray == null){ 264 $('.wpforms-field-hkid_no').find('.hkid_no_erro').remove(); 265 var erro = '<label class="wpforms-error hkid_no_erro">Please enter a valid HKID Number.</label>'; 266 obj.after(erro); 267 return false; 268 }else{ 269 $('.wpforms-field-hkid_no').find('.hkid_no_erro').remove(); 270 } 271 }else{ 272 $('.wpforms-field-hkid_no').find('.hkid_no_erro').remove(); 273 } 274 } 275 276 277 // create nmgone login popup: 278 var appid = "wordpress.nmgone.login"; 279 Nmgone.config({ 280 appid: appid 281 }); 282 283 // callback get user email: 284 Nmgone.callback(function(code){ 285 var authenticateUrl = '/wp-admin/admin-ajax.php?action=wpforms_get_nmgone_user_info'; 286 287 console.log('this is frontendcallback'); 288 console.log(code); 289 290 var xmlHttp; 291 if (window.XMLHttpRequest){//for IE7+, Firefox, Chrome, Opera, Safari 292 xmlHttp=new XMLHttpRequest(); 293 } else {//for IE6, IE5 294 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); 295 } 296 var token_url = authenticateUrl + '&code=' + code;//get access token url 297 xmlHttp.open("GET", token_url, true); 298 xmlHttp.send(); 299 xmlHttp.onreadystatechange = function() { 300 if (xmlHttp.readyState == 4) { 301 if (xmlHttp.status == 200) { 302 var response = JSON.parse(xmlHttp.responseText); 303 var email = response.data.email; 304 $('.wpforms-field-email input').val(email); 305 // set cookie: 306 var encryption_email = $.base64.encode(email);// å å¯ 307 //console.log('encryption_email'+encryption_email) 308 Cookies.set( '__wpforms_nmg_bu_email', encryption_email, { expires: 3650, path: '/' } ); 309 310 //show logout button: 311 if(site_url.indexOf('edigest') >= 0){// æ«æshow logout button for ED 312 $('.share_list').append('<li>'+logout_html+'<li>');//destop 313 $('.share_search').before(logout_html);// mobile 314 } 315 316 // hide popup: 317 $('.popup_qna').hide(); 318 } else { 319 if (typeof JSON.parse(xmlHttp.responseText) != 'string') { 320 console.log(JSON.parse(xmlHttp.responseText)); 321 } 322 } 323 } 324 } 325 326 }); 327 328 var code = getQueryVariable('code'); 329 if (code) { 330 Nmgone.handle(code); 331 } 332 333 // select for other value: 334 //$('select').change(function(){ 335 $(document).on( 'change', 'select', function() { 336 var select_name = $(this).attr('name'); 337 var select_input = '<input type="text" class="wpforms-field-medium" name="'+select_name+'">'; 338 var select_value = $(this).children('option:selected').val(); 339 if(select_value.indexOf('å ¶ä»') >= 0 || select_value.indexOf('Others') >= 0){ 340 $(this).after(select_input); 341 }else{ 342 $(this).parent().find('input').remove(); 343 } 344 }); 345
346 // fixed: 妿wpformsä¿click readmore button ä¹å¾å徿°å·è¡wpforms.js 347 var wpforms_js = wpforms_first_post.wpforms_js, 348 wpforms_file_upload = wpforms_first_post.wpforms_file_upload; 349 $(window).on('article.readmore', function(event, element){ 350 $.getScript(wpforms_js); 351 $.getScript(wpforms_file_upload); 352 }); 353 354 355 // 2020.11.10 åæ¥é¡¯ç¤ºpage ä¸wpform:////////////////////////////////////////////////////////////// 356 var wpform_list_obj = $('.wpforms-container'); 357 //var step_key = site_slug+'_page_'+first_post_id+'_step';// 妿æ¯page,åpage id = first_post_id 358 //var step_number = Cookies.get(step_key); 359 var wpforms_id = ''; 360 var wpforms_id_cookie_key = false; 361 362 if(wpform_list_obj.length > 1 && post_type == 'page'){ 363 // ////////////////// 2020.12.18 忥çwpfromsæ·»å PageèPageä¹éæéè¯////////////////// 364 // checkæ¯ä¸æ¯æå¾ä¸åæ¥é©ï¼ 365 var finish_bool = true; 366 $.each(wpform_list_obj, function (i, e){ 367 var temp_cookie_key = site_slug + '-' + $(e).attr('id'); 368 if(typeof(Cookies.get(temp_cookie_key)) == 'undefined'){ 369 finish_bool = false; return false; 370 } 371 }); 372 373 if(finish_bool){ 374 //妿userå¡«å¯«äºææwpform,åé»ä»¥æå¾wpformsä¸settingsçredirect urlè·³è½ 375 var redirect_url = wpform_list_obj.eq((wpform_list_obj.length)-1).find('.wpforms-submit').attr('custom_redirect_attr'); 376 if(redirect_url){ 377 window.location.href = redirect_url; return false; 378 }else{ 379 window.location.href = site_url; return false; 380 } 381 } 382 383 if(site_url.indexOf('edigest') >= 0){// ED site 384 email_api_url = ''; 385 if(site_url.indexOf('www.') >= 0){// Production 386 email_api_url = "https://apigateway-aws.nmg.com.hk/ednews/v0/users/devices?device_token="+device_token;//123456y 387 }else{ 388 email_api_url = "http://test.apigateway.nmg.com.hk/news/v0/users/devices?device_token="+device_token;//123456y 389 } 390 391 $.ajax({ // get user email by device token: 392 type: "GET", 393 url: email_api_url, 394 success: function(data){ 395 if(data.status == true){ 396 user_email = data.data.email; 397 show_page_wpforms_step_by_step(user_email); 398 }else{// ç²åä¸å°redirect to homepage 399 show_page_wpforms_step_by_step(null);// æ²ædevice_tokenæï¼é½é¡¯ç¤º 400 } 401 } 402 }); 403 404 }else{ 405 show_page_wpforms_step_by_step(null); // é¤äºED,å ¶ä»bu siteç顯示 406 } 407 408 }else{ 409 // if(post_type == 'page'){ 410 // if($('.wpforms-container').length > 1){ // 妿æ¯åæ¥å¡«å¯«çwpform,æ²æåæ¸åredirect homepage: 411 // //window.location.href = site_url; return false; 412 // show_page_wpforms_step_by_step(null);// webè¨ªåæ²ædevice_tokenæï¼é½é¡¯ç¤º 413 // }else{ 414 // wpform_list_obj.show();// normal page wpforms 415 // } 416 // }else{ 417 // wpform_list_obj.show();// normal single wpforms 418 // } 419 wpform_list_obj.show();// normal single / page wpforms 420 } 421 422 423 // show wpforms step by step in page: 424 function show_page_wpforms_step_by_step(user_email){ 425 if(user_email){ 426 $('.wpforms-field-container').find("input[type='email']").val(user_email); 427 } 428 $.each(wpform_list_obj, function (index, domEle){ 429 wpforms_id = $(domEle).attr('id'); 430 wpforms_id_cookie_key = site_slug + '-' + wpforms_id; 431 if(typeof(Cookies.get(wpforms_id_cookie_key)) == 'undefined'){ 432 $('#'+wpforms_id).show();// display wpforms if no cookie 433 return false;//break 434 } 435 }); 436 } 437 438 439 // when submit success: Set cookie in page with more wpforms: 440 $(window).on('wpformsAjaxSubmitSuccess', function(event, element){ 441 //2021.2.24 add GA when submit success 442 //var form_id = element.data.form_id; 443 add_theme_ga_tracking('Wpform', 'Submitbutton', 'Submit_'+ga_form_id, '', 0); 444 fbq('track', "SubmitApplication"); 445 if(post_type == 'page' && (wpform_list_obj.length) > 1){// åªæpost_type=page and wpformsçæ¸éçºå¤åæï¼åèªçºä¿åæ¥çwpform 446 // set æ¯åwpformsçcookie: 447 Cookies.set( wpforms_id_cookie_key, 1, { expires: 3650, path: '/' } ); 448 } 449 }); 450 451}); 452 453 454function check_has_wpform_and_show_popup(_QNA, cookie_email, element, type){ 455 // type=='all': elementå°±æ¯ç¶åwpformå ç´ 456 if(type == 'auto'){//ç¶åpostå ç´ 457 var wpforms_container = element.find('.wpforms-container'); 458 if(wpforms_container.length == 0) return false;
459 } 460 //var wpforms_container = element.find('.wpforms-container'); 461 //if(wpforms_container.length == 0) return false; 462 if(!cookie_email){ 463 var auto_popup = element.find('.auto_popup_or_not').data('auto_popup'); 464 var without_auto_popup = element.find('.auto_popup_or_not').data('without_auto_popup'); 465 console.log('auto_popup: '+auto_popup); 466 console.log('without_auto_popup: '+without_auto_popup); 467 if(type == 'auto'){ 468 if(auto_popup == 1 ) show(_QNA); 469 }else{ 470 if(auto_popup == 1 || without_auto_popup == 1) show(_QNA); 471 } 472 473 }else{ //èµå¼ 474 jQuery(element).find('.wpforms-field-email input').val(cookie_email); 475 } 476} 477 478 479function show(_QNA){ 480 var appid = "wordpress.nmgone.login"; 481 Nmgone.config({ 482 appid: appid 483 }); 484 Nmgone.create({ 485 container: 'wrap-div',//containerçid 486 success: function(){ 487 //顯示container 488 //document.getElementById('wrap-div').style.display = 'block'; 489 // $('#wrap-div').show();//å¯å·è¡jqæ¹æ³ 490 console.log('create successful'); 491 _QNA.show(); 492 }, 493 error: function(message){ 494 console.log('created failed!'); 495 496 console.log(message); 497 if(message=='container has frame'){ 498 _QNA.show(); 499 } 500 } 501 }); 502} 503 504 505function get_wpform_cookie_email(){ 506 var wf_login_cookie = Cookies.get('__wpforms_nmg_bu_email'); 507 var cookie_email = wf_login_cookie ? jQuery.base64.decode(wf_login_cookie) : false; 508 return cookie_email; 509} 510 511function get_nmg_user_info() { 512 var theme_nmgone_user = Cookies.get('theme_nmgone_user'); 513 return theme_nmgone_user ? JSON.parse(theme_nmgone_user) : false; 514} 515 516 517// ajax logout: 518function email_user_logout(){ 519 jQuery.ajax({ 520 url: "/wp-admin/admin-ajax.php?action=ajax_wpforms_email_user_logout", 521 type: 'post', 522 dataType: 'json', 523 success: function(response){ 524 location.reload(); 525 }, 526 error: function(response){ 527 } 528 }); 529}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.