| 1 |
var $jQ = jQuery.noConflict(); |
| 2 |
$jQ(document).ready(function(){ |
| 3 |
|
| 4 |
var bodyHeight = $jQ(document).height(); |
| 5 |
var adminmenu_height = $jQ('#adminmenuwrap').height(); |
| 6 |
if(bodyHeight > adminmenu_height){ |
| 7 |
$jQ("#datamain").height(bodyHeight); |
| 8 |
} |
| 9 |
else |
| 10 |
{ |
| 11 |
$jQ("#datamain").height(adminmenu_height); |
| 12 |
} |
| 13 |
|
| 14 |
|
| 15 |
var normal_attributes = []; |
| 16 |
|
| 17 |
var category_attributes = []; |
| 18 |
|
| 19 |
function isValidEmailAddress(emailAddress) { |
| 20 |
|
| 21 |
var pattern = new RegExp(/^[#&*\/=?^{!}~'_a-z0-9-\+]+([#&*\/=?^{!}~'_a-z0-9-\+]+)*(\.[#&*\/=?^{!}~'_a-z0-9-\+]+)*[.]?@[_a-z0-9-]+(\.[_a-z0-9-]+)*(\.[a-z0-9]{2,10})$/); |
| 22 |
return pattern.test(emailAddress); |
| 23 |
} |
| 24 |
|
| 25 |
function change_field_attr(){ |
| 26 |
var attr_val = $jQ('#sib_sel_attribute').val(); |
| 27 |
var attr_type, attr_name, attr_text; |
| 28 |
if (attr_val == 'email' || attr_val == 'submit') { |
| 29 |
// get all info of attr |
| 30 |
var hidden_attr = $jQ('#sib_hidden_' + attr_val); |
| 31 |
attr_type = hidden_attr.attr('data-type'); |
| 32 |
attr_name = hidden_attr.attr('data-name'); |
| 33 |
attr_text = hidden_attr.attr('data-text'); |
| 34 |
} |
| 35 |
else { |
| 36 |
$jQ.each(normal_attributes, function(index, value) { |
| 37 |
if (value['name'] == attr_val) { |
| 38 |
attr_type = value['type']; |
| 39 |
attr_name = value['name']; |
| 40 |
attr_text = attr_name; |
| 41 |
} |
| 42 |
}); |
| 43 |
|
| 44 |
$jQ.each(category_attributes, function(index, value) { |
| 45 |
if (value['name'] == attr_val) { |
| 46 |
attr_type = value['type']; |
| 47 |
attr_name = value['name']; |
| 48 |
attr_text = attr_name; |
| 49 |
} |
| 50 |
}); |
| 51 |
} |
| 52 |
|
| 53 |
// generate attribute html |
| 54 |
generate_attribute_html(attr_type, attr_name, attr_text); |
| 55 |
} |
| 56 |
|
| 57 |
function change_attribute_tag(attr_type, attr_name, attr_text){ |
| 58 |
$jQ('#sib_field_label').attr('value', attr_text); |
| 59 |
$jQ('#sib_field_placeholder').attr('value', ''); |
| 60 |
$jQ('#sib_field_initial').attr('value', ''); |
| 61 |
$jQ('#sib_field_button_text').attr('value', attr_text); |
| 62 |
$jQ('.sib-attr-other').hide(); |
| 63 |
$jQ('.sib-attr-normal').hide(); |
| 64 |
$jQ('.sib-attr-category').hide(); |
| 65 |
$jQ('#sib_field_required').removeAttr('checked'); |
| 66 |
var dateformat = $jQ('.sib-dateformat').val(); |
| 67 |
switch(attr_type) |
| 68 |
{ |
| 69 |
case 'email': |
| 70 |
$jQ('#sib_field_required').attr('checked', 'true'); |
| 71 |
dateformat = ''; |
| 72 |
case 'date': |
| 73 |
$jQ('#sib_field_placeholder').val(dateformat); |
| 74 |
case 'text': |
| 75 |
case 'float': |
| 76 |
$jQ('.sib-attr-normal').show(); |
| 77 |
if(attr_name == 'SMS'){ |
| 78 |
$jQ('#sib_field_initial_area').hide(); |
| 79 |
} |
| 80 |
break; |
| 81 |
case 'boolean': |
| 82 |
$jQ('.sib-attr-normal').show(); |
| 83 |
break; |
| 84 |
case 'category': |
| 85 |
$jQ('.sib-attr-category').show(); |
| 86 |
break; |
| 87 |
case 'submit': |
| 88 |
$jQ('.sib-attr-other').show(); |
| 89 |
break; |
| 90 |
} |
| 91 |
} |
| 92 |
|
| 93 |
// generate attribute html |
| 94 |
function generate_attribute_html(attr_type, attr_name, attr_text){ |
| 95 |
var field_label = $jQ('#sib_field_label').val(); |
| 96 |
var field_placeholder = $jQ('#sib_field_placeholder').val(); |
| 97 |
var field_initial = $jQ('#sib_field_initial').val(); |
| 98 |
var field_buttontext = $jQ('#sib_field_button_text').val(); |
| 99 |
//var field_wrap = $jQ('#sib_field_wrap').is(':checked'); |
| 100 |
var field_required = $jQ('#sib_field_required').is(':checked'); |
| 101 |
if(field_required == true) field_label += '*'; |
| 102 |
var field_type = $jQ('input[name=sib_field_type]:checked').val(); |
| 103 |
var dateformat = $jQ('.sib-dateformat').val(); |
| 104 |
var field_html = ''; |
| 105 |
|
| 106 |
if(attr_type != 'submit') { |
| 107 |
field_html += '<p class="sib-' + attr_name + '-area"> \n'; |
| 108 |
} |
| 109 |
else { |
| 110 |
field_html += '<p> \n'; |
| 111 |
} |
| 112 |
|
| 113 |
if ((field_label != '') && (attr_type == 'category')) { |
| 114 |
if (field_type == 'select') { |
| 115 |
field_html += ' <label class="sib-' + attr_name + '-area">' + field_label + '</label> \n'; |
| 116 |
} |
| 117 |
else { |
| 118 |
field_html += ' <div style="display:block;"><label class="sib-' + attr_name + '-area">' + field_label + '</label></div> \n'; |
| 119 |
} |
| 120 |
} |
| 121 |
else if((field_label != '') && (attr_type != 'submit')) { |
| 122 |
field_html += ' <label class="sib-' + attr_name + '-area">' + field_label + '</label> \n'; |
| 123 |
} |
| 124 |
|
| 125 |
switch (attr_type) |
| 126 |
{ |
| 127 |
case 'email': |
| 128 |
field_html += ' <input type="email" class="sib-' + attr_name + '-area" name="' + attr_name + '" '; |
| 129 |
field_html += 'placeholder="' + field_placeholder + '" '; |
| 130 |
field_html += 'value="' + field_initial + '" '; |
| 131 |
if(field_required == true) { |
| 132 |
field_html += 'required="required" '; |
| 133 |
} |
| 134 |
field_html += '> \n'; |
| 135 |
break; |
| 136 |
case 'date': |
| 137 |
field_html += ' <input type="text" class="sib-' + attr_name + '-area sib-date" name="' + attr_name + '" placeholder="' + dateformat + '" data-format="' + dateformat + '">'; |
| 138 |
break; |
| 139 |
case 'boolean': |
| 140 |
field_html += ' <input type="hidden" name="' + attr_name + '" value="0"><input type="checkbox" value="1" class="sib-' + attr_name + '-area" name="' + attr_name + '" '; |
| 141 |
if(field_placeholder != '') { |
| 142 |
field_html += 'placeholder="' + field_placeholder + '" '; |
| 143 |
} |
| 144 |
if(field_required == true) { |
| 145 |
field_html += 'required="required" '; |
| 146 |
} |
| 147 |
field_html += '> \n'; |
| 148 |
break; |
| 149 |
case 'text': |
| 150 |
if ( attr_name == "SMS" ) { |
| 151 |
field_html += '<div class="sib-sms-field"><div class="sib-country-block">' + |
| 152 |
'<div class="sib-toggle sib-country-flg"><div class="sib-cflags"></div> ' + |
| 153 |
'<div class="sib-icon-arrow"></div></div> '+ |
| 154 |
'</div>' + '<ul class="sib-country-list" style="display: none;"></ul>' + |
| 155 |
'<input type="hidden" name="sib_SMS_prefix" value="+33"><input type="text" name="SMS" class="sib-sms" value="+33" '; |
| 156 |
if(field_placeholder != '') { |
| 157 |
field_html += 'placeholder="' + field_placeholder + '" '; |
| 158 |
} |
| 159 |
if(field_required == true) { |
| 160 |
field_html += 'required="required" '; |
| 161 |
} |
| 162 |
field_html += '></div>\n'; |
| 163 |
} |
| 164 |
else { |
| 165 |
field_html += ' <input type="text" class="sib-' + attr_name + '-area" name="' + attr_name + '" '; |
| 166 |
if(field_placeholder != '') { |
| 167 |
field_html += 'placeholder="' + field_placeholder + '" '; |
| 168 |
} |
| 169 |
if(field_initial != '') { |
| 170 |
field_html += 'value="' + field_initial + '" '; |
| 171 |
} |
| 172 |
if(field_required == true) { |
| 173 |
field_html += 'required="required" '; |
| 174 |
} |
| 175 |
field_html += '> \n'; |
| 176 |
} |
| 177 |
break; |
| 178 |
case 'float': |
| 179 |
field_html += ' <input type="text" class="sib-' + attr_name + '-area" name="' + attr_name + '" '; |
| 180 |
if(field_placeholder != '') { |
| 181 |
field_html += 'placeholder="' + field_placeholder + '" '; |
| 182 |
} |
| 183 |
if(field_initial != '') { |
| 184 |
field_html += 'value="' + field_initial + '" '; |
| 185 |
} |
| 186 |
if(field_required == true) { |
| 187 |
field_html += 'required="required" '; |
| 188 |
} |
| 189 |
field_html += 'pattern="[0-9]+([\\.|,][0-9]+)?" > \n'; |
| 190 |
break; |
| 191 |
case 'submit': |
| 192 |
field_html += ' <input type="submit" class="sib-default-btn" name="' + attr_name + '" '; |
| 193 |
field_html += 'value="' + field_buttontext + '" '; |
| 194 |
field_html += '> \n'; |
| 195 |
break; |
| 196 |
case 'category': |
| 197 |
var enumeration = []; |
| 198 |
$jQ.each(category_attributes, function(index, value) { |
| 199 |
if (value['name'] == attr_name) { |
| 200 |
enumeration = value['enumeration']; |
| 201 |
} |
| 202 |
}); |
| 203 |
|
| 204 |
if (field_type == 'select') { |
| 205 |
field_html += ' <select class="sib-' + attr_name + '-area" name="' + attr_name + '" '; |
| 206 |
if (field_required == true) { |
| 207 |
field_html += 'required="required" '; |
| 208 |
} |
| 209 |
field_html += '> \n'; |
| 210 |
} |
| 211 |
$jQ.each(enumeration, function(index, value) { |
| 212 |
if (field_type == 'select') { |
| 213 |
field_html += ' <option value="' + value['value'] + '">' + value['label'] + '</option> \n'; |
| 214 |
} |
| 215 |
else { |
| 216 |
field_html += ' <div style="display:block;"><input type="radio" class="sib-' + attr_name + '-area" name="' + attr_name + '" value="' + value['value'] + '" '; |
| 217 |
if (field_required == true) { |
| 218 |
field_html += 'required="required" '; |
| 219 |
} |
| 220 |
field_html += '>' + value['label'] + '</div> \n'; |
| 221 |
} |
| 222 |
}); |
| 223 |
if (field_type == 'select') { |
| 224 |
field_html += ' </select> \n'; |
| 225 |
} |
| 226 |
break; |
| 227 |
} |
| 228 |
|
| 229 |
field_html += '</p>'; |
| 230 |
$jQ('#sib_field_html').html(field_html); |
| 231 |
} |
| 232 |
|
| 233 |
function set_select_list() { |
| 234 |
var selected_list_id = $jQ('#sib_selected_list_id').val(); |
| 235 |
|
| 236 |
var data = { |
| 237 |
frmid : $jQ('input[name=sib_form_id]').val(), |
| 238 |
action : 'sib_get_lists', |
| 239 |
security: ajax_sib_object.ajax_nonce |
| 240 |
}; |
| 241 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 242 |
var select_html = ''; |
| 243 |
var selected = respond.selected; |
| 244 |
|
| 245 |
$jQ.each(respond.lists, function(index, value) { |
| 246 |
if(value['name'] == 'Temp - DOUBLE OPTIN') return true; |
| 247 |
if ( selected.indexOf(value['id'].toString()) != '-1' ) { |
| 248 |
select_html += '<option value="' + value['id'] + '" selected>' + value['name'] + '</option>'; |
| 249 |
} |
| 250 |
else { |
| 251 |
select_html += '<option value="' + value['id'] + '">' + value['name'] + '</option>'; |
| 252 |
} |
| 253 |
}); |
| 254 |
$jQ('#sib_select_list').html(select_html).trigger("chosen:updated"); |
| 255 |
|
| 256 |
set_select_attributes(); |
| 257 |
|
| 258 |
}); |
| 259 |
} |
| 260 |
|
| 261 |
function set_select_template() { |
| 262 |
var selected_template_id = $jQ('#sib_selected_template_id').val(); |
| 263 |
var selected_do_template_id = $jQ('#sib_selected_do_template_id').val(); |
| 264 |
var selected_confirm_template_id = $jQ('#sib_selected_confirm_template_id').val(); |
| 265 |
var default_template_name = $jQ('#sib_default_template_name').val(); |
| 266 |
var data = { |
| 267 |
action : 'sib_get_templates', |
| 268 |
security: ajax_sib_object.ajax_nonce |
| 269 |
}; |
| 270 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 271 |
var select_html = '<select id="sib_template_id" class="col-md-11" name="template_id">'; |
| 272 |
if (selected_template_id == '-1') { |
| 273 |
select_html += '<option value="-1" selected>' + default_template_name + '</option>'; |
| 274 |
} |
| 275 |
else { |
| 276 |
select_html += '<option value="-1">' + default_template_name + '</option>'; |
| 277 |
} |
| 278 |
$jQ.each(respond.templates, function(index, value) { |
| 279 |
if (value['id'] == selected_template_id) { |
| 280 |
select_html += '<option value="' + value['id'] + '" selected>' + value['name'] + '</option>'; |
| 281 |
} |
| 282 |
else { |
| 283 |
select_html += '<option value="' + value['id'] + '">' + value['name'] + '</option>'; |
| 284 |
} |
| 285 |
}); |
| 286 |
select_html += '</select>'; |
| 287 |
$jQ('#sib_template_id_area').html(select_html); |
| 288 |
|
| 289 |
// For double optin. |
| 290 |
select_html = '<select class="col-md-11" name="doubleoptin_template_id" id="sib_doubleoptin_template_id">'; |
| 291 |
if (selected_do_template_id == '-1') { |
| 292 |
select_html += '<option value="-1" selected>' + default_template_name + '</option>'; |
| 293 |
} |
| 294 |
else { |
| 295 |
select_html += '<option value="-1">' + default_template_name + '</option>'; |
| 296 |
} |
| 297 |
$jQ.each(respond.templates, function(index, value) { |
| 298 |
if (value['id'] == selected_do_template_id) { |
| 299 |
select_html += '<option is_shortcode="' + value['is_dopt'] + '" value="' + value['id'] + '" selected>' + value['name'] + '</option>'; |
| 300 |
} |
| 301 |
else { |
| 302 |
select_html += '<option is_shortcode="' + value['is_dopt'] + '" value="' + value['id'] + '">' + value['name'] + '</option>'; |
| 303 |
} |
| 304 |
}); |
| 305 |
select_html += '</select>'; |
| 306 |
$jQ('#sib_doubleoptin_template_id_area').html(select_html); |
| 307 |
|
| 308 |
// For final confirmation emait template |
| 309 |
select_html = '<select id="sib_confirm_template_id" class="col-md-11" name="confirm_template_id">'; |
| 310 |
if (selected_confirm_template_id == '-1') { |
| 311 |
select_html += '<option value="-1" selected>' + default_template_name + '</option>'; |
| 312 |
} |
| 313 |
else { |
| 314 |
select_html += '<option value="-1">' + default_template_name + '</option>'; |
| 315 |
} |
| 316 |
|
| 317 |
$jQ.each(respond.templates, function(index, value) { |
| 318 |
if (value['id'] == selected_confirm_template_id) { |
| 319 |
select_html += '<option is_shortcode="' + value['is_dopt'] + '" value="' + value['id'] + '" selected>' + value['name'] + '</option>'; |
| 320 |
} |
| 321 |
else { |
| 322 |
select_html += '<option is_shortcode="' + value['is_dopt'] + '" value="' + value['id'] + '">' + value['name'] + '</option>'; |
| 323 |
} |
| 324 |
}); |
| 325 |
select_html += '</select>'; |
| 326 |
$jQ('#sib_final_confirm_template_id_area').html(select_html); |
| 327 |
|
| 328 |
// double optin template id |
| 329 |
$jQ('#sib_doubleoptin_template_id').on('change', function() { |
| 330 |
var shortcode_exist = $jQ(this).find(':selected').attr('is_shortcode'); |
| 331 |
if (shortcode_exist == 0 && $jQ(this).val() != -1) { |
| 332 |
$jQ('#sib_form_alert_message').show(); |
| 333 |
$jQ('#sib_disclaim_smtp').hide(); |
| 334 |
$jQ('#sib_disclaim_confirm_template').hide(); |
| 335 |
$jQ('#sib_disclaim_do_template').show(); |
| 336 |
$jQ(this).val('-1'); |
| 337 |
} |
| 338 |
else { |
| 339 |
$jQ('#sib_form_alert_message').hide(); |
| 340 |
} |
| 341 |
}); |
| 342 |
|
| 343 |
// Final confirm template id |
| 344 |
$jQ('#sib_confirm_template_id').on('change', function() { |
| 345 |
var shortcode_exist = $jQ(this).find(':selected').attr('is_shortcode'); |
| 346 |
if (shortcode_exist == 1 && $jQ(this).val() != -1) { |
| 347 |
$jQ('#sib_form_alert_message').show(); |
| 348 |
$jQ('#sib_disclaim_smtp').hide(); |
| 349 |
$jQ('#sib_disclaim_confirm_template').show(); |
| 350 |
$jQ('#sib_disclaim_do_template').hide(); |
| 351 |
$jQ(this).val('-1'); |
| 352 |
} |
| 353 |
else { |
| 354 |
$jQ('#sib_form_alert_message').hide(); |
| 355 |
} |
| 356 |
}); |
| 357 |
|
| 358 |
$jQ('#sib_setting_signup_spin').addClass('hide'); |
| 359 |
|
| 360 |
}); |
| 361 |
} |
| 362 |
|
| 363 |
function set_select_attributes() { |
| 364 |
var data = { |
| 365 |
action : 'sib_get_attributes', |
| 366 |
security: ajax_sib_object.ajax_nonce |
| 367 |
}; |
| 368 |
|
| 369 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 370 |
|
| 371 |
var iframWidth = $jQ('.form-field').width() - 48; |
| 372 |
$jQ('#sib-preview-form').width(iframWidth); |
| 373 |
|
| 374 |
normal_attributes = respond.attrs.attributes.normal_attributes; |
| 375 |
category_attributes = respond.attrs.attributes.category_attributes; |
| 376 |
var attr_email_name = $jQ('#sib_hidden_email').attr('data-text'); |
| 377 |
var message_1 = $jQ('#sib_hidden_message_1').val(); |
| 378 |
var message_2 = $jQ('#sib_hidden_message_2').val(); |
| 379 |
var message_3 = $jQ('#sib_hidden_message_3').val(); |
| 380 |
var message_4 = $jQ('#sib_hidden_message_4').val(); |
| 381 |
var message_5 = $jQ('#sib_hidden_message_5').val(); |
| 382 |
var select_html = '<select class="col-md-12" id="sib_sel_attribute">' + |
| 383 |
'<option value="-1" disabled selected>' + message_1 + '</option>' + |
| 384 |
'<optgroup label="' + message_2 + '">'; |
| 385 |
select_html += '<option value="email">' + attr_email_name + '*</option>'; |
| 386 |
$jQ.each(normal_attributes, function(index, value) { |
| 387 |
select_html += '<option value="' + value['name'] + '">' + value['name'] + '</option>'; |
| 388 |
}); |
| 389 |
select_html += '</optgroup>'; |
| 390 |
select_html += '<optgroup label="' + message_3 + '">'; |
| 391 |
$jQ.each(category_attributes, function(index, value) { |
| 392 |
if(value['name'] == 'DOUBLE_OPT-IN') return; |
| 393 |
select_html += '<option value="' + value['name'] + '">' + value['name'] + '</option>'; |
| 394 |
}); |
| 395 |
select_html += '</optgroup>'; |
| 396 |
select_html += '<optgroup label="' + message_4 + '">'; |
| 397 |
select_html += '<option value="submit">' + message_5 + '</option>'; |
| 398 |
select_html += '</optgroup>'; |
| 399 |
select_html += '</select>'; |
| 400 |
|
| 401 |
$jQ('#sib_sel_attribute_area').html(select_html); |
| 402 |
$jQ('#sib_sel_attribute').on('change', function() { |
| 403 |
// |
| 404 |
$jQ('#sib-field-content').show(); |
| 405 |
|
| 406 |
var attr_val = $jQ(this).val(); |
| 407 |
var attr_type, attr_name, attr_text; |
| 408 |
if (attr_val == 'email' || attr_val == 'submit') { |
| 409 |
// get all info of attr |
| 410 |
var hidden_attr = $jQ('#sib_hidden_' + attr_val); |
| 411 |
attr_type = hidden_attr.attr('data-type'); |
| 412 |
attr_name = hidden_attr.attr('data-name'); |
| 413 |
attr_text = hidden_attr.attr('data-text'); |
| 414 |
} |
| 415 |
else { |
| 416 |
$jQ.each(normal_attributes, function(index, value) { |
| 417 |
if (value['name'] == attr_val) { |
| 418 |
attr_type = value['type']; |
| 419 |
attr_name = value['name']; |
| 420 |
attr_text = attr_name; |
| 421 |
} |
| 422 |
}); |
| 423 |
|
| 424 |
$jQ.each(category_attributes, function(index, value) { |
| 425 |
if (value['name'] == attr_val) { |
| 426 |
attr_type = value['type']; |
| 427 |
attr_name = value['name']; |
| 428 |
attr_text = attr_name; |
| 429 |
} |
| 430 |
}); |
| 431 |
} |
| 432 |
// change attribute tags |
| 433 |
change_attribute_tag(attr_type, attr_name, attr_text); |
| 434 |
|
| 435 |
// generate attribute html |
| 436 |
generate_attribute_html(attr_type, attr_name, attr_text); |
| 437 |
}); |
| 438 |
$jQ('#sib_setting_form_spin').addClass('hide'); |
| 439 |
set_select_template(); |
| 440 |
}); |
| 441 |
} |
| 442 |
|
| 443 |
function update_preview(){ |
| 444 |
|
| 445 |
var frmid = $jQ('#sib_form_id').val(); |
| 446 |
var formHtml = $jQ('#sibformmarkup').val(); |
| 447 |
var formCss = $jQ('#sibcssmarkup').val(); |
| 448 |
var isDepend = $jQ('input[name=sib_css_type]:checked').val(); |
| 449 |
var gCaptcha = $jQ('input[name=sib_add_captcha]:checked').val(); |
| 450 |
var gCaptchaType = $jQ('input[name=sib_recaptcha_type]:checked').val(); |
| 451 |
var gCaptchaSite = $jQ('#sib_captcha_site').val(); |
| 452 |
var data = { |
| 453 |
action:'sib_update_form_html', |
| 454 |
security: ajax_sib_object.ajax_nonce, |
| 455 |
frmid: frmid, |
| 456 |
frmData: formHtml, |
| 457 |
frmCss: formCss, |
| 458 |
isDepend: isDepend, |
| 459 |
gCaptcha: gCaptcha, |
| 460 |
gCaptchaType: gCaptchaType, |
| 461 |
gCaptchaSite: gCaptchaSite |
| 462 |
}; |
| 463 |
$jQ.post(ajax_sib_object.ajax_url, data,function() { |
| 464 |
var preview_form = $jQ('#sib-preview-form'); |
| 465 |
preview_form.attr('src', preview_form.attr('src') + '&action=update'); |
| 466 |
}); |
| 467 |
} |
| 468 |
// get cursor posistion of text area |
| 469 |
function get_cursor_position(node) { |
| 470 |
//node.focus(); |
| 471 |
/* without node.focus() IE will returns -1 when focus is not on node */ |
| 472 |
if(node.selectionStart) return node.selectionStart; |
| 473 |
else if(!document.selection) return 0; |
| 474 |
var c = "\001"; |
| 475 |
var sel = document.selection.createRange(); |
| 476 |
var dul = sel.duplicate(); |
| 477 |
dul.moveToElementText(node); |
| 478 |
sel.text = c; |
| 479 |
var len = (dul.text.indexOf(c)); |
| 480 |
sel.moveStart('character',-1); |
| 481 |
sel.text = ""; |
| 482 |
return len; |
| 483 |
} |
| 484 |
// set cursor position at top of text area |
| 485 |
function setSelectionRange(input, selectionStart, selectionEnd) { |
| 486 |
if (input.setSelectionRange) { |
| 487 |
input.focus(); |
| 488 |
input.setSelectionRange(selectionStart, selectionEnd); |
| 489 |
} else if (input.createTextRange) { |
| 490 |
var range = input.createTextRange(); |
| 491 |
range.collapse(true); |
| 492 |
range.moveEnd('character', selectionEnd); |
| 493 |
range.moveStart('character', selectionStart); |
| 494 |
range.select(); |
| 495 |
} |
| 496 |
} |
| 497 |
|
| 498 |
// generate html for multi subscription lists |
| 499 |
function generate_multi_list_html() { |
| 500 |
var field_label = $jQ('#sib_multi_field_label').val(); |
| 501 |
var field_html = '<p class="sib-multi-lists-area">\n'; |
| 502 |
var list_id = ''; |
| 503 |
var list_name = ''; |
| 504 |
var required = false; |
| 505 |
var required_label = ''; |
| 506 |
var required_attr = ''; |
| 507 |
if ( $jQ('#sib_multi_field_required').is(":checked")) |
| 508 |
{ |
| 509 |
required = true; |
| 510 |
required_label = '*'; |
| 511 |
required_attr = 'required'; |
| 512 |
} |
| 513 |
if ( field_label != '' ) |
| 514 |
{ |
| 515 |
field_html += '<label>' + field_label + required_label + '</label>\n'; |
| 516 |
} |
| 517 |
|
| 518 |
field_html += '<div class="sib-multi-lists" data-require="' + required_attr + '">\n'; |
| 519 |
var selected_lists = $jQ('#sib_select_multi_list').find('option:selected', this); |
| 520 |
selected_lists.each(function(){ |
| 521 |
list_id = $jQ(this).val(); |
| 522 |
list_name = $jQ(this).data('list'); |
| 523 |
field_html += '<div style="block"><input type="checkbox" class="sib-interesting-lists" value="' + list_id + '" name="listIDs[]">' + list_name + '</div>\n'; |
| 524 |
}); |
| 525 |
field_html += '</div></p>'; |
| 526 |
$jQ('#sib_multi_field_html').html(field_html); |
| 527 |
} |
| 528 |
///////////////////////////////// |
| 529 |
/* home settings */ |
| 530 |
///////////////////////////////// |
| 531 |
|
| 532 |
// var elements |
| 533 |
var sib_access_key = $jQ('#sib_access_key'); |
| 534 |
var sib_validate_btn = $jQ('#sib_validate_btn'); |
| 535 |
|
| 536 |
// validate button click process in welcome page |
| 537 |
sib_validate_btn.on('click', function(){ |
| 538 |
|
| 539 |
var access_key = sib_access_key.val(); |
| 540 |
|
| 541 |
// check validation |
| 542 |
var error_flag = 0; |
| 543 |
if(access_key == '') { |
| 544 |
sib_access_key.addClass('error'); |
| 545 |
error_flag =1; |
| 546 |
} |
| 547 |
|
| 548 |
if(error_flag != 0) { |
| 549 |
return false; |
| 550 |
} |
| 551 |
|
| 552 |
// ajax process for validate |
| 553 |
var data = { |
| 554 |
action:'sib_validate_process', |
| 555 |
access_key: access_key, |
| 556 |
security: ajax_sib_object.ajax_nonce |
| 557 |
}; |
| 558 |
|
| 559 |
$jQ('.sib_alert').hide(); |
| 560 |
$jQ('.sib-spin').show(); |
| 561 |
sib_access_key.removeClass('error'); |
| 562 |
$jQ(this).attr('disabled', 'true'); |
| 563 |
|
| 564 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 565 |
$jQ('.sib-spin').hide(); |
| 566 |
sib_validate_btn.removeAttr('disabled'); |
| 567 |
if(respond == 'success') { |
| 568 |
$jQ('#success-alert').show(); |
| 569 |
/*var cur_url = $jQ('#cur_refer_url').val(); |
| 570 |
window.location.href = cur_url;*/ |
| 571 |
window.location.reload(); |
| 572 |
} |
| 573 |
else if (respond == 'curl_no_installed') { |
| 574 |
sib_access_key.addClass('error'); |
| 575 |
$jQ('#failure-alert').html($jQ('#curl_no_exist_error').val()).show(); |
| 576 |
} |
| 577 |
else if (respond == 'curl_error') { |
| 578 |
sib_access_key.addClass('error'); |
| 579 |
$jQ('#failure-alert').html($jQ('#curl_error').val()).show(); |
| 580 |
} |
| 581 |
else { |
| 582 |
sib_access_key.addClass('error'); |
| 583 |
$jQ('#failure-alert').html($jQ('#general_error').val()).show(); |
| 584 |
} |
| 585 |
}); |
| 586 |
}); |
| 587 |
|
| 588 |
sib_access_key.on('keypress', function(){ |
| 589 |
$jQ(this).removeClass('error'); |
| 590 |
}); |
| 591 |
|
| 592 |
// Transactional emails |
| 593 |
$jQ('input[name=activate_email]').on('click', function(){ |
| 594 |
var option_val = $jQ(this).val(); |
| 595 |
var data = { |
| 596 |
action: 'sib_activate_email_change', |
| 597 |
option_val: option_val, |
| 598 |
security: ajax_sib_object.ajax_nonce |
| 599 |
}; |
| 600 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 601 |
if(respond == 'yes') |
| 602 |
$jQ('#email_send_field').show(); |
| 603 |
else |
| 604 |
$jQ('#email_send_field').hide(); |
| 605 |
}); |
| 606 |
|
| 607 |
return true; |
| 608 |
}); |
| 609 |
|
| 610 |
// change sender detail |
| 611 |
$jQ('#sender_list').on('change',function(){ |
| 612 |
var data = { |
| 613 |
action: 'sib_sender_change', |
| 614 |
sender: $jQ(this).val(), |
| 615 |
security: ajax_sib_object.ajax_nonce |
| 616 |
}; |
| 617 |
$jQ.post(ajax_sib_object.ajax_url, data, function() { |
| 618 |
$jQ(this).blur(); |
| 619 |
}); |
| 620 |
|
| 621 |
return true; |
| 622 |
}); |
| 623 |
|
| 624 |
// validate MA |
| 625 |
$jQ('#validate_ma_btn').on('click',function(){ |
| 626 |
var option_val = $jQ('input[name=activate_ma]:checked').val(); |
| 627 |
var data = { |
| 628 |
action:'sib_validate_ma', |
| 629 |
option_val: option_val, |
| 630 |
security: ajax_sib_object.ajax_nonce |
| 631 |
}; |
| 632 |
var uninstall = false; |
| 633 |
var uninstallMsg = $jQ('#sib-ma-unistall').val(); |
| 634 |
if(option_val != 'yes'){ |
| 635 |
uninstall = confirm(uninstallMsg); |
| 636 |
} |
| 637 |
if(option_val == 'yes' || uninstall) { |
| 638 |
$jQ(this).find('.sib-spin').show(); |
| 639 |
$jQ('.sib-ma-alert').hide(); |
| 640 |
$jQ(this).attr('disabled', 'true'); |
| 641 |
$jQ.post(ajax_sib_object.ajax_url, data, function (respond) { |
| 642 |
$jQ('.sib-spin').hide(); |
| 643 |
$jQ('#validate_ma_btn').removeAttr('disabled'); |
| 644 |
if (respond == 'yes') { |
| 645 |
$jQ('.sib-ma-active').show(); |
| 646 |
} else if(respond == 'no') { |
| 647 |
$jQ('.sib-ma-inactive').show(); |
| 648 |
} else if(respond == 'disabled'){ |
| 649 |
$jQ('.sib-ma-disabled').show(); |
| 650 |
$jQ('#activate_ma_radio_no').prop('checked', true); |
| 651 |
} |
| 652 |
setTimeout(function(){ |
| 653 |
if(respond != 'disabled') |
| 654 |
window.location.reload(); |
| 655 |
},2000); |
| 656 |
|
| 657 |
}); |
| 658 |
} |
| 659 |
}); |
| 660 |
|
| 661 |
// send activate email button |
| 662 |
$jQ('#send_email_btn').on('click',function(){ |
| 663 |
var activate_email = $jQ('#activate_email'); |
| 664 |
var email = activate_email.val(); |
| 665 |
if(email == '' || isValidEmailAddress(email) != true) { |
| 666 |
activate_email.removeClass('has-success').addClass('error'); |
| 667 |
$jQ('#failure-alert').show(); |
| 668 |
return false; |
| 669 |
} |
| 670 |
$jQ(this).attr('disabled', 'true'); |
| 671 |
|
| 672 |
var data = { |
| 673 |
action:'sib_send_email', |
| 674 |
email:email, |
| 675 |
security: ajax_sib_object.ajax_nonce |
| 676 |
}; |
| 677 |
|
| 678 |
$jQ('.sib_alert').hide(); |
| 679 |
activate_email.removeClass('error'); |
| 680 |
$jQ(this).find('.sib-spin').show(); |
| 681 |
$jQ.post(ajax_sib_object.ajax_url, data,function(respond) { |
| 682 |
$jQ('.sib-spin').hide(); |
| 683 |
$jQ('#send_email_btn').removeAttr('disabled'); |
| 684 |
if(respond != 'success') { |
| 685 |
$jQ('#activate_email').removeClass('has-success').addClass('error'); |
| 686 |
$jQ('#failure-alert').show(); |
| 687 |
} else { |
| 688 |
$jQ('#success-alert').show(); |
| 689 |
} |
| 690 |
}); |
| 691 |
}); |
| 692 |
|
| 693 |
//////////////////////////////// |
| 694 |
/* manage forms */ |
| 695 |
//////////////////////////////// |
| 696 |
|
| 697 |
$jQ('#sib-field-content').hide(); |
| 698 |
|
| 699 |
// check confirm email |
| 700 |
var is_send_confirm_email = $jQ("input[name=is_confirm_email]:checked").val(); |
| 701 |
|
| 702 |
if(is_send_confirm_email == '1') { |
| 703 |
$jQ('#sib_confirm_template_area').show(); |
| 704 |
$jQ('#sib_confirm_sender_area').show(); |
| 705 |
} else { |
| 706 |
$jQ('#sib_confirm_template_area').hide(); |
| 707 |
$jQ('#sib_confirm_sender_area').hide(); |
| 708 |
} |
| 709 |
|
| 710 |
// check double optin |
| 711 |
var is_double_optin = $jQ("input[name=is_double_optin]:checked").val(); |
| 712 |
|
| 713 |
if(is_double_optin == '1') { |
| 714 |
$jQ('#is_confirm_email_no').prop("checked", true); |
| 715 |
$jQ('#sib_confirm_template_area').hide(); |
| 716 |
$jQ('#sib_confirm_sender_area').hide(); |
| 717 |
$jQ('#sib_double_sender_area').show(); |
| 718 |
$jQ('#sib_doubleoptin_template_area').show(); |
| 719 |
|
| 720 |
} else { |
| 721 |
$jQ('#sib_double_sender_area').hide(); |
| 722 |
$jQ('#sib_double_redirect_area').hide(); |
| 723 |
$jQ('#sib_doubleoptin_template_area').hide(); |
| 724 |
$jQ('#sib_final_confirm_template_area').hide(); |
| 725 |
} |
| 726 |
|
| 727 |
if ($jQ('#sib_setting_signup_body').find('#sib_select_list_area').length > 0 ) { |
| 728 |
set_select_list(); |
| 729 |
$jQ('#sib_select_list').chosen({width:"100%"}); |
| 730 |
} |
| 731 |
|
| 732 |
// For multi lists subscription |
| 733 |
if ( $jQ('#sib_setting_form_body').find('#sib_sel_multi_list_area').length > 0 ) { |
| 734 |
var data = { |
| 735 |
frmid : $jQ('input[name=sib_form_id]').val(), |
| 736 |
action : 'sib_get_lists', |
| 737 |
security: ajax_sib_object.ajax_nonce |
| 738 |
}; |
| 739 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 740 |
var select_html = ''; |
| 741 |
$jQ.each(respond.lists, function(index, value) { |
| 742 |
if(value['name'] == 'Temp - DOUBLE OPTIN') return true; |
| 743 |
select_html += '<option value="' + value['id'] + '" data-list="' + value['name'] + '">' + value['name'] + '</option>'; |
| 744 |
}); |
| 745 |
$jQ('#sib_select_multi_list').html(select_html).trigger("chosen:updated"); |
| 746 |
$jQ('#sib_select_multi_list').chosen({width:"100%"}); |
| 747 |
}); |
| 748 |
} |
| 749 |
|
| 750 |
$jQ('#sib_select_multi_list').on('change', function(){ |
| 751 |
if ( $jQ(this).val() != null ) |
| 752 |
{ |
| 753 |
$jQ('#sib_multi_list_field').show(); |
| 754 |
generate_multi_list_html(); |
| 755 |
} |
| 756 |
else { |
| 757 |
$jQ('#sib_multi_list_field').hide(); |
| 758 |
} |
| 759 |
}); |
| 760 |
|
| 761 |
$jQ('#sib_multi_field_label').on('change', function () { |
| 762 |
generate_multi_list_html(); |
| 763 |
}); |
| 764 |
|
| 765 |
$jQ('#sib_multi_field_required').on('change', function () { |
| 766 |
generate_multi_list_html(); |
| 767 |
}); |
| 768 |
// keep change of fields |
| 769 |
$jQ('.sib_field_changes').on('change',function() { |
| 770 |
change_field_attr(); |
| 771 |
}); |
| 772 |
|
| 773 |
// click confirm email |
| 774 |
$jQ("input[name=is_confirm_email]").on('click',function() { |
| 775 |
var confirm_email = $jQ(this).val(); |
| 776 |
var is_activated_smtp = parseInt($jQ("#is_smtp_activated").val()); |
| 777 |
|
| 778 |
if(confirm_email == '1') { |
| 779 |
$jQ('#sib_doubleoptin_template_id').val('-1'); |
| 780 |
$jQ('#sib_confirm_template_id').val('-1'); |
| 781 |
$jQ('#is_double_optin_no').prop("checked", true); |
| 782 |
$jQ('#sib_double_sender_area').hide(); |
| 783 |
$jQ('#sib_double_redirect_area').hide(); |
| 784 |
$jQ('#sib_confirm_template_area').show(); |
| 785 |
$jQ('#sib_confirm_sender_area').show(); |
| 786 |
$jQ('#sib_doubleoptin_template_area').hide(); |
| 787 |
$jQ('#sib_final_confirm_template_area').hide(); |
| 788 |
$jQ('#sib_form_alert_message').hide(); |
| 789 |
if (is_activated_smtp == 0) { |
| 790 |
$jQ('#sib_form_alert_message').show(); |
| 791 |
$jQ('#sib_disclaim_smtp').show(); |
| 792 |
$jQ('#sib_disclaim_do_template').hide(); |
| 793 |
$jQ('#sib_disclaim_confirm_template').hide(); |
| 794 |
} |
| 795 |
} else { |
| 796 |
$jQ('#sib_confirm_template_area').hide(); |
| 797 |
$jQ('#sib_confirm_sender_area').hide(); |
| 798 |
$jQ('#sib_form_alert_message').hide(); |
| 799 |
} |
| 800 |
}); |
| 801 |
|
| 802 |
// click double optin |
| 803 |
$jQ('input[name=is_double_optin]').on('click', function() { |
| 804 |
var double_optin = $jQ(this).val(); |
| 805 |
var is_activated_smtp = parseInt($jQ("#is_smtp_activated").val()); |
| 806 |
if(double_optin == '1') { |
| 807 |
$jQ('#sib_template_id').val('-1'); |
| 808 |
$jQ('#is_confirm_email_no').prop("checked", true); |
| 809 |
$jQ('#sib_confirm_template_area').hide(); |
| 810 |
$jQ('#sib_confirm_sender_area').hide(); |
| 811 |
$jQ('#sib_double_sender_area').show(); |
| 812 |
$jQ('#sib_double_redirect_area').show(); |
| 813 |
$jQ('#sib_doubleoptin_template_area').show(); |
| 814 |
$jQ('#sib_final_confirm_template_area').show(); |
| 815 |
if (is_activated_smtp == 0) { |
| 816 |
$jQ('#sib_form_alert_message').show(); |
| 817 |
$jQ('#sib_disclaim_smtp').show(); |
| 818 |
$jQ('#sib_disclaim_do_template').hide(); |
| 819 |
$jQ('#sib_disclaim_confirm_template').hide(); |
| 820 |
} |
| 821 |
} else { |
| 822 |
$jQ('#sib_double_sender_area').hide(); |
| 823 |
$jQ('#sib_double_redirect_area').hide(); |
| 824 |
$jQ('#sib_doubleoptin_template_area').hide(); |
| 825 |
$jQ('#sib_form_alert_message').hide(); |
| 826 |
$jQ('#sib_final_confirm_template_area').hide(); |
| 827 |
} |
| 828 |
}); |
| 829 |
|
| 830 |
// click redirect url |
| 831 |
$jQ('#is_redirect_url_click_yes').on('click', function () { |
| 832 |
$jQ('#sib_subscrition_redirect_area').show(); |
| 833 |
}); |
| 834 |
$jQ('#is_redirect_url_click_no').on('click', function () { |
| 835 |
$jQ('#sib_subscrition_redirect_area').hide(); |
| 836 |
}); |
| 837 |
|
| 838 |
//// refresh iframe to preview form |
| 839 |
$jQ('#sib-preview-form-refresh').on('click',function(){ |
| 840 |
// ajax to update form html |
| 841 |
update_preview(); |
| 842 |
}); |
| 843 |
|
| 844 |
//// display popup when delete form |
| 845 |
$jQ('.sib-form-delete').on('click', function(e) { |
| 846 |
return confirm('Are you sure you want to delete this form?'); |
| 847 |
}); |
| 848 |
|
| 849 |
//// custom or theme's css |
| 850 |
$jQ('input[name=sib_css_type]').on('change',function() { |
| 851 |
$jQ('#sibcssmarkup').toggle(); |
| 852 |
update_preview(); |
| 853 |
}); |
| 854 |
|
| 855 |
// remove all transients |
| 856 |
$jQ(window).focus(function() { |
| 857 |
|
| 858 |
var data = { |
| 859 |
action: 'sib_remove_cache', |
| 860 |
security: ajax_sib_object.ajax_nonce |
| 861 |
}; |
| 862 |
$jQ.post(ajax_sib_object.ajax_url, data,function(respond) { |
| 863 |
|
| 864 |
if(respond == 'success') { |
| 865 |
// |
| 866 |
} |
| 867 |
}); |
| 868 |
}); |
| 869 |
|
| 870 |
/* sync wordpress users to sendinblue contact list */ |
| 871 |
// sync popup |
| 872 |
$jQ('#sib-sync-btn').on('click', function() { |
| 873 |
var syncModal = $jQ('.sib-sync-modal'); |
| 874 |
syncModal.modal(); |
| 875 |
$jQ('#sync-failure').hide(); |
| 876 |
|
| 877 |
// add to multilist field |
| 878 |
var list = $jQ('#sib_select_list'); |
| 879 |
list[0].selectedIndex = 0; |
| 880 |
list.chosen({width:"100%"}); |
| 881 |
|
| 882 |
syncModal.on('hidden.bs.modal', function () { |
| 883 |
//window.location.reload(); |
| 884 |
}); |
| 885 |
}); |
| 886 |
|
| 887 |
var attrFieldLine = $jQ('.sync-attr-line').html(); |
| 888 |
// sync add attr line filed |
| 889 |
$jQ('.modal-body').on('click', '.sync-attr-plus', function(){ |
| 890 |
$jQ('.sync-attr-line').append(attrFieldLine); |
| 891 |
$jQ('.sync-attr-dismiss').show(); |
| 892 |
}); |
| 893 |
// sync dismiss attr line filed |
| 894 |
$jQ('.modal-body').on('click', '.sync-attr-dismiss', function(){ |
| 895 |
$jQ(this).closest('.sync-attr').remove(); |
| 896 |
var attrCount = $jQ('.sync-attr').length; |
| 897 |
if(attrCount == 1) $jQ('.sync-attr-dismiss').hide(); |
| 898 |
}); |
| 899 |
|
| 900 |
// set attribute matching |
| 901 |
$jQ('.modal-body').on('change', 'select', function () { |
| 902 |
if($jQ(this).attr("class") == 'sync-wp-attr'){ |
| 903 |
$jQ(this).closest('.sync-attr').find('.sync-match').val($jQ(this).val()); |
| 904 |
}else{ |
| 905 |
$jQ(this).closest('.sync-attr').find('.sync-match').attr('name',$jQ(this).val()); |
| 906 |
} |
| 907 |
}); |
| 908 |
|
| 909 |
// sync users to sendinblue |
| 910 |
$jQ('#sib_sync_users_btn').on('click', function(){ |
| 911 |
|
| 912 |
$jQ(this).attr('disabled', 'true'); |
| 913 |
var postData = $jQ('#sib-sync-form').serializeObject(); |
| 914 |
$jQ(this).closest('form').find('input[type=hidden]').each(function (index, value) { |
| 915 |
var attrName = $jQ(this).attr('name'); |
| 916 |
if($jQ('input[name='+attrName+']').length > 1){ |
| 917 |
// the attribute is duplicated ! |
| 918 |
postData['errAttr'] = attrName; |
| 919 |
} |
| 920 |
}); |
| 921 |
|
| 922 |
var data = { |
| 923 |
action:'sib_sync_users', |
| 924 |
data: postData, |
| 925 |
security: ajax_sib_object.ajax_nonce |
| 926 |
}; |
| 927 |
|
| 928 |
$jQ('.sib_alert').hide(); |
| 929 |
$jQ(this).find('.sib-spin').show(); |
| 930 |
$jQ.post(ajax_sib_object.ajax_url, data,function(respond) { |
| 931 |
$jQ('.sib-spin').hide(); |
| 932 |
$jQ('#sib_sync_users_btn').removeAttr('disabled'); |
| 933 |
if(respond.code != 'success') { |
| 934 |
$jQ('#sync-failure').show().html(respond.message); |
| 935 |
} else { |
| 936 |
// success to sync wp users |
| 937 |
$jQ('.tb-close-icon').click(); |
| 938 |
window.location.reload(); |
| 939 |
} |
| 940 |
}); |
| 941 |
|
| 942 |
}); |
| 943 |
$jQ('.sib-add-captcha').on('click', function(){ |
| 944 |
var add_captcha = $jQ(this).val(); |
| 945 |
if(add_captcha == '1') |
| 946 |
{ |
| 947 |
$jQ('.sib-captcha-key').show('slow'); |
| 948 |
} |
| 949 |
else |
| 950 |
{ |
| 951 |
$jQ('.sib-captcha-key').hide('slow'); |
| 952 |
} |
| 953 |
}); |
| 954 |
|
| 955 |
$jQ('.popover-help-form').popover({ |
| 956 |
}); |
| 957 |
$jQ('.sib-spin').hide(); |
| 958 |
$jQ('body').on('click', function(e) { |
| 959 |
if(!$jQ(e.target).hasClass('popover-help-form')) { |
| 960 |
$jQ('.popover-help-form').popover('hide'); |
| 961 |
} |
| 962 |
}); |
| 963 |
|
| 964 |
$jQ('.sib-add-terms').on('click', function(){ |
| 965 |
var add_terms = $jQ(this).val(); |
| 966 |
if(add_terms == '1') |
| 967 |
{ |
| 968 |
$jQ('.sib-terms-url').show('slow'); |
| 969 |
} |
| 970 |
else |
| 971 |
{ |
| 972 |
$jQ('.sib-terms-url').hide('slow'); |
| 973 |
} |
| 974 |
}); |
| 975 |
|
| 976 |
$jQ('.sib-add-to-form').on('click', function(){ |
| 977 |
var btn_id = $jQ(this).attr('id'); |
| 978 |
var field_html = ''; |
| 979 |
if(btn_id == 'sib_add_to_form_btn') |
| 980 |
{ |
| 981 |
field_html = $jQ('#sib_field_html').val(); |
| 982 |
} |
| 983 |
else if(btn_id == 'sib_multi_lists_add_form_btn') |
| 984 |
{ |
| 985 |
field_html = $jQ('#sib_multi_field_html').val(); |
| 986 |
$jQ('#sib_multi_list_field').hide(); |
| 987 |
} |
| 988 |
else if(btn_id == 'sib_add_captcha_btn') |
| 989 |
{ |
| 990 |
var site_key = $jQ('#sib_captcha_site').val(); |
| 991 |
var secret_key = $jQ('#sib_captcha_secret').val(); |
| 992 |
var gCaptcha_type = $jQ('input[name=sib_recaptcha_type]:checked').val(); |
| 993 |
|
| 994 |
if(gCaptcha_type == '0') |
| 995 |
{ |
| 996 |
field_html = '<div id="sib_captcha"></div>'; |
| 997 |
} |
| 998 |
|
| 999 |
if(site_key == '') |
| 1000 |
{ |
| 1001 |
$jQ('#sib_form_captcha .alert-danger').html('You should input <strong>Site Key</strong>').show(300); |
| 1002 |
return false; |
| 1003 |
} |
| 1004 |
else if(secret_key == '') |
| 1005 |
{ |
| 1006 |
$jQ('#sib_form_captcha .alert-danger').html('You should input <strong>Secrete Key</strong>').show(300); |
| 1007 |
return false; |
| 1008 |
} |
| 1009 |
} |
| 1010 |
else if(btn_id == 'sib_add_termsUrl_btn') |
| 1011 |
{ |
| 1012 |
var terms_url = $jQ('#sib_terms_url').val(); |
| 1013 |
field_html = '<input type="checkbox" name="terms" required="required">I accept the <a href="' + terms_url + '">terms and conditions</a> '; |
| 1014 |
if(terms_url == '') |
| 1015 |
{ |
| 1016 |
$jQ('#sib_form_terms .alert-danger').html('You should input <strong>Terms URL</strong>').show(300); |
| 1017 |
return false; |
| 1018 |
} |
| 1019 |
} |
| 1020 |
else if(btn_id == 'sib_add_compliance_note') |
| 1021 |
{ |
| 1022 |
var compliance_note = $jQ('#sib_gdpr_text').val(); |
| 1023 |
field_html = '<p>' + compliance_note + '</p>'; |
| 1024 |
} |
| 1025 |
|
| 1026 |
var formMarkup = $jQ("#sibformmarkup"); |
| 1027 |
|
| 1028 |
var cursorPosition = get_cursor_position(formMarkup[0]); |
| 1029 |
var html = formMarkup.val(); |
| 1030 |
if(html.charCodeAt(cursorPosition) == 10 || html.charCodeAt(cursorPosition) == 13){ // 10 is value of new line |
| 1031 |
field_html = "\n" + field_html; |
| 1032 |
}else{ |
| 1033 |
field_html = field_html + "\n"; |
| 1034 |
} |
| 1035 |
var formData = [html.slice(0, cursorPosition), field_html, html.slice(cursorPosition)].join(''); |
| 1036 |
formMarkup.val(formData); |
| 1037 |
|
| 1038 |
// hide field edit after add the field to form |
| 1039 |
$jQ('#sib-field-content').hide(); |
| 1040 |
$jQ("#sib_sel_attribute").val('-1'); |
| 1041 |
|
| 1042 |
/*/ refresh iframe form /*/ |
| 1043 |
// ajax to update form html |
| 1044 |
update_preview(); |
| 1045 |
// set cursor position at top |
| 1046 |
setSelectionRange(formMarkup[0], 0, 0); |
| 1047 |
return false; |
| 1048 |
}); |
| 1049 |
|
| 1050 |
var redirect = ''; |
| 1051 |
$jQ('.sib-form-redirect').on('click', function(e){ |
| 1052 |
e.preventDefault(); |
| 1053 |
redirect = $jQ(this).attr('href'); |
| 1054 |
$jQ('#sib_modal').modal(); |
| 1055 |
}); |
| 1056 |
|
| 1057 |
$jQ('#sib_form_lang').on('change', function(){ |
| 1058 |
$jQ('#sib_modal').modal(); |
| 1059 |
}); |
| 1060 |
|
| 1061 |
$jQ('#sib_modal_cancel').on('click', function(){ |
| 1062 |
$jQ('#sib_modal').modal('hide'); |
| 1063 |
$jQ('#sib_form_lang').val(""); |
| 1064 |
}); |
| 1065 |
$jQ('#sib_modal_ok').on('click', function(){ |
| 1066 |
var url = (redirect != '')? redirect :$jQ('#sib_form_lang').val(); |
| 1067 |
window.location.href = url; |
| 1068 |
}); |
| 1069 |
|
| 1070 |
// duplicate content from origin form in translation |
| 1071 |
$jQ('.sib-duplicate-btn').on('click', function(){ |
| 1072 |
$jQ('.sib-spin').show(); |
| 1073 |
var pid = $jQ('input[name="pid"]').val(); |
| 1074 |
var data = { |
| 1075 |
action: 'sib_copy_origin_form', |
| 1076 |
pid: pid, |
| 1077 |
security: ajax_sib_object.ajax_nonce |
| 1078 |
}; |
| 1079 |
$jQ.post(ajax_sib_object.ajax_url, data, function(respond) { |
| 1080 |
$jQ('.sib-spin').hide(); |
| 1081 |
$jQ('#sibformmarkup').val(respond); |
| 1082 |
}); |
| 1083 |
|
| 1084 |
}); |
| 1085 |
|
| 1086 |
$jQ('.sib-add-compliant-note').on('click', function () { |
| 1087 |
var add_notes = $jQ(this).val(); |
| 1088 |
if(add_notes == '1') |
| 1089 |
{ |
| 1090 |
$jQ('.sib-gdpr-block-area').show('slow'); |
| 1091 |
$jQ('.sib-gdpr-block-btn').show('slow'); |
| 1092 |
} |
| 1093 |
else |
| 1094 |
{ |
| 1095 |
$jQ('.sib-gdpr-block-area').hide('slow'); |
| 1096 |
$jQ('.sib-gdpr-block-btn').hide('slow'); |
| 1097 |
} |
| 1098 |
}); |
| 1099 |
$jQ('#set_gdpr_default').on('click', function () { |
| 1100 |
$jQ('#sib_gdpr_text').val(ajax_sib_object.compliance_note); |
| 1101 |
}) |
| 1102 |
}); |
| 1103 |
|
| 1104 |
// get serialized data form sync users form |
| 1105 |
$jQ.fn.serializeObject = function() |
| 1106 |
{ |
| 1107 |
var o = {}; |
| 1108 |
var a = this.serializeArray(); |
| 1109 |
$jQ.each(a, function() { |
| 1110 |
if (o[this.name] !== undefined) { |
| 1111 |
if (!o[this.name].push) { |
| 1112 |
o[this.name] = [o[this.name]]; |
| 1113 |
} |
| 1114 |
o[this.name].push(this.value || ''); |
| 1115 |
} else { |
| 1116 |
o[this.name] = this.value || ''; |
| 1117 |
} |
| 1118 |
}); |
| 1119 |
return o; |
| 1120 |
}; |
| 1121 |
|