https://cursodelper.es/wp-content/plugins/masterstudy-lms-learning…/authorization/ajax.js?ver=3.7.26
1"use strict"; 2 3function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } 4function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 5function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } 6(function ($) { 7 $(document).ready(function () { 8 $('.masterstudy-authorization').each(function () { 9 var formContainer = $(this); 10 formContainer.find('[data-id="masterstudy-authorization-restore-button"]').click(function (e) { 11 e.preventDefault(); 12 restore(formContainer); 13 }); 14 formContainer.find('.masterstudy-authorization__form-input').keypress(function (e) { 15 if (e.which === 13) { 16 if ($(this).closest('#masterstudy-authorization-form-login').length > 0) { 17 formContainer.find('[data-id="masterstudy-authorization-login-button"]').trigger('click'); 18 } else if ($(this).closest('#masterstudy-authorization-form-register').length > 0) { 19 formContainer.find('[data-id="masterstudy-authorization-register-button"]').trigger('click'); 20 } 21 } 22 }); 23 var $strengthContainer = $('.masterstudy-authorization__strength-password'); 24 var $separators = $strengthContainer.find('.masterstudy-authorization__strength-password__separator'); 25 if ($strengthContainer.find('.masterstudy-authorization__strength-password__label').length === 0) { 26 $strengthContainer.append('<div class="masterstudy-authorization__strength-password__label"></div>'); 27 } 28 var $label = $strengthContainer.find('.masterstudy-authorization__strength-password__label'); 29 $('input[name="register_user_password"]').on('input', function () { 30 var password = $(this).val(); 31 var strength = getPasswordStrength(password); 32 var strengthText = ''; 33 $strengthContainer.removeClass("bad normal good hard"); 34 switch (strength) { 35 case 1: 36 $strengthContainer.addClass("bad"); 37 strengthText = masterstudy_authorization_data.bad || "Bad"; 38 break; 39 case 2: 40 $strengthContainer.addClass("normal"); 41 strengthText = masterstudy_authorization_data.normal || "Normal"; 42 break; 43 case 3: 44 $strengthContainer.addClass("good"); 45 strengthText = masterstudy_authorization_data.good || "Good"; 46 break; 47 case 4: 48 $strengthContainer.addClass("hard"); 49 strengthText = masterstudy_authorization_data.hard || "Hard"; 50 break; 51 } 52 $label.text(strengthText); 53 $separators.removeClass('active'); 54 $separators.each(function (index) { 55 if (index < strength) { 56 $(this).addClass('active'); 57 } 58 }); 59 }); 60 formContainer.find('[data-id="masterstudy-authorization-login-button"]').click(function (e) { 61 e.preventDefault(); 62 var login_data = { 63 'user_login': formContainer.find('input[name="user_login"]').val(), 64 'user_password': formContainer.find('input[name="user_password"]').val(), 65 'remember': formContainer.find('#masterstudy-authorization-remember').prop('checked') 66 }; 67 if (authorization_data.recaptcha_site_key && typeof grecaptcha !== 'undefined') { 68 grecaptcha.ready(function () { 69 grecaptcha.execute(authorization_data.recaptcha_site_key, { 70 action: 'login' 71 }).then(function (token) { 72 login_data['recaptcha'] = token; 73 login(login_data, authorization_data.only_for_instructor, formContainer); 74 }); 75 }); 76 } else { 77 login(login_data, authorization_data.only_for_instructor, formContainer); 78 } 79 }); 80 formContainer.find('[data-id="masterstudy-authorization-register-button"]').click(function (e) { 81 e.preventDefault(); 82 if (Object.keys(authorization_data.default_fields).length > 0) { 83 for (var fieldName in authorization_data.default_fields) { 84 if (authorization_data.default_fields.hasOwnProperty(fieldName)) { 85 authorization_data.default_fields[fieldName].value = formContainer.find("[name=\"".concat(fieldName, "\"]")).val(); 86 } 87 } 88 } 89 if (authorization_data.additional_fields.length > 0) { 90 processFields(authorization_data.additional_fields, formContainer); 91 } 92 if (authorization_data.instructor_fields.length > 0) { 93 processFields(authorization_data.instructor_fields, formContainer); 94 } 95 var register_data = { 96 'register_user_login': formContainer.find('input[name="register_user_login"]').val(), 97 'register_user_email': formContainer.find('input[name="register_user_email"]').val(), 98 'register_user_password': formContainer.find('input[name="register_user_password"]').val(), 99 'register_user_password_re': formContainer.find('input[name="register_user_password_re"]').val(), 100 'profile_default_fields_for_register': authorization_data.default_fields, 101 'become_instructor': authorization_data.only_for_instructor ? true : formContainer.find('#masterstudy-authorization-instructor').length > 0 ? formContainer.find('#masterstudy-authorization-instructor').prop('checked') : false, 102 'additional': authorization_data.additional_fields, 103 'privacy_policy': formContainer.find('#masterstudy-authorization-gdbr').length > 0 ? formContainer.find('#masterstudy-authorization-gdbr').prop('checked') : true, 104 'redirect_page': authorization_data.only_for_instructor ? authorization_data.user_account_page : window.location.href 105 }; 106 register_data['additional_instructors'] = register_data['become_instructor'] ? authorization_data.instructor_fields : []; 107 register_data['degree'] = formContainer.find('input[name="degree"]').length > 0 && register_data['become_instructor'] ? formContainer.find('input[name="degree"]').val() : ''; 108 register_data['expertize'] = formContainer.find('input[name="expertize"]').length > 0 && register_data['become_instructor'] ? formContainer.find('input[name="expertize"]').val() : ''; 109 if (authorization_data.recaptcha_site_key && typeof grecaptcha !== 'undefined') { 110 grecaptcha.ready(function () { 111 grecaptcha.execute(authorization_data.recaptcha_site_key, { 112 action: 'register' 113 }).then(function (token) { 114 register_data['recaptcha'] = token; 115 register(register_data, authorization_data.only_for_instructor, formContainer); 116 }); 117 }); 118 } else { 119 register(register_data, authorization_data.only_for_instructor, formContainer); 120 } 121 }); 122 formContainer.find('[data-id="masterstudy-authorization-instructor-confirm"]').click(function (e) { 123 e.preventDefault(); 124 var request_data = { 125 'fields_type': 'default', 126 'fields': { 127 'degree': formContainer.find('input[name="degree"]').length ? formContainer.find('input[name="degree"]').val() : '', 128 'expertize': formContainer.find('input[name="expertize"]').length ? formContainer.find('input[name="expertize"]').val() : '' 129 } 130 }; 131 if (authorization_data.instructor_fields.length > 0) { 132 processFields(authorization_data.instructor_fields, formContainer); 133 request_data['fields'] = authorization_data.instructor_fields; 134 request_data['fields_type'] = 'custom'; 135 } 136 instructor_request(request_data, formContainer); 137 }); 138 }); 139 }); 140 function getPasswordStrength(password) { 141 if (!password) return 0; 142 var length = password.length; 143 var hasLower = /[a-z]/.test(password); 144 var hasUpper = /[A-Z]/.test(password); 145 var hasNumber = /[0-9]/.test(password); 146 if (length >= 8 && length <= 11 && hasLower && hasUpper && hasNumber) { 147 return 2; 148 } 149 if (length >= 12 && length <= 15 && hasLower && hasUpper && hasNumber) { 150 return 3; 151 } 152 if (length >= 16 && hasLower && hasUpper && hasNumber) { 153 return 4; 154 } 155 return 1; 156 }
157 function processFields(fields, formContainer) { 158 if (fields.length > 0) { 159 var _iterator = _createForOfIteratorHelper(fields), 160 _step; 161 try { 162 var _loop = function _loop() { 163 var field = _step.value; 164 if (field.type === 'checkbox') { 165 var checkedValues = []; 166 formContainer.find("[name=\"".concat(field.slug, "\"]")).each(function () { 167 if ($(this).next().hasClass('masterstudy-form-builder__checkbox-wrapper_checked')) { 168 checkedValues.push($(this).val()); 169 } 170 }); 171 field.value = checkedValues.join(','); 172 } else if (field.type === 'radio') { 173 formContainer.find("[name=\"".concat(field.slug, "\"]")).each(function () { 174 if ($(this).next().hasClass('masterstudy-form-builder__radio-wrapper_checked')) { 175 field.value = $(this).val(); 176 } 177 }); 178 } else if (field.type === 'file') { 179 field.value = field.value ? field.value : ''; 180 } else { 181 field.value = formContainer.find("[name=\"".concat(field.slug, "\"]")).val(); 182 } 183 }; 184 for (_iterator.s(); !(_step = _iterator.n()).done;) { 185 _loop(); 186 } 187 } catch (err) { 188 _iterator.e(err); 189 } finally { 190 _iterator.f(); 191 } 192 } 193 } 194 function login(login_data, redirect, formContainer) { 195 var url = authorization_data.ajax_url + '?action=stm_lms_login&nonce=' + authorization_data.login_nonce; 196 formContainer.find('[data-id="masterstudy-authorization-login-button"]').addClass('masterstudy-button_loading'); 197 fetch(url, { 198 method: 'POST', 199 headers: { 200 'Content-Type': 'application/json' 201 }, 202 body: JSON.stringify(login_data) 203 }).then(function (response) { 204 if (response.ok) { 205 return response.json(); 206 } 207 throw new Error('not ok'); 208 }).then(function (data) { 209 formContainer.find('[data-id="masterstudy-authorization-login-button"]').removeClass('masterstudy-button_loading'); 210 if (data.status === 'error') { 211 data.errors.forEach(function (error) { 212 var inputField = formContainer.find("input[name=\"".concat(error.field, "\"]")); 213 var html = "<span data-error-id=\"".concat(error.id, "\" class=\"masterstudy-authorization__form-field-error\">").concat(error.text, "</span>"); 214 if (inputField.length > 0) { 215 inputField.parent().addClass('masterstudy-authorization__form-field_has-error'); 216 if (inputField.parent().find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 217 inputField.after(html); 218 } 219 } 220 }); 221 return; 222 } 223 if (data.status === 'success') { 224 redirect ? window.location = data.user_page : location.reload(); 225 } 226 }); 227 } 228 function register(register_data, redirect, formContainer) { 229 var url = authorization_data.ajax_url + '?action=stm_lms_register&nonce=' + authorization_data.register_nonce; 230 formContainer.find('[data-id="masterstudy-authorization-register-button"]').addClass('masterstudy-button_loading'); 231 fetch(url, { 232 method: 'POST', 233 headers: { 234 'Content-Type': 'application/json' 235 }, 236 body: JSON.stringify(register_data) 237 }).then(function (response) { 238 if (response.ok) { 239 return response.json(); 240 } 241 throw new Error('not ok'); 242 }).then(function (data) { 243 formContainer.find('[data-id="masterstudy-authorization-register-button"]').removeClass('masterstudy-button_loading'); 244 if (data.status === 'error') { 245 error_handling(data.errors, formContainer); 246 return; 247 } 248 if (data.status === 'success') { 249 if (authorization_data.email_confirmation) { 250 open_confirmation_form(false, formContainer); 251 return; 252 } 253 if (authorization_data.only_for_instructor && authorization_data.instructor_premoderation) { 254 open_confirmation_form(true, formContainer); 255 return; 256 } 257 redirect ? window.location = data.user_page : location.reload(); 258 } 259 }); 260 } 261 function instructor_request(request_data, formContainer) { 262 $.ajax({ 263 url: authorization_data.ajax_url + '?action=stm_lms_become_instructor' + '&nonce=' + authorization_data.instructor_nonce, 264 method: 'POST', 265 data: request_data, 266 beforeSend: function beforeSend() { 267 formContainer.find('[data-id="masterstudy-authorization-instructor-confirm"]').addClass('masterstudy-button_loading'); 268 }, 269 success: function success(data) { 270 formContainer.find('[data-id="masterstudy-authorization-instructor-confirm"]').removeClass('masterstudy-button_loading'); 271 if (data.status === 'error') { 272 error_handling(data.errors, formContainer); 273 return; 274 } 275 if (data.status === 'success') { 276 if (authorization_data.only_for_instructor && authorization_data.instructor_premoderation) { 277 open_confirmation_form(true, formContainer); 278 return; 279 } 280 window.location = authorization_data.user_account_page; 281 } 282 } 283 }); 284 } 285 function error_handling(errors, formContainer) {
286 errors.forEach(function (error) { 287 var inputField = formContainer.find("[name=\"".concat(error.field, "\"]")), 288 html = "<span data-error-id=\"".concat(error.id, "\" class=\"masterstudy-authorization__form-field-error\">").concat(error.text, "</span>"); 289 if (inputField.length > 0) { 290 if (error.field === 'privacy_policy' || error.field === 'recaptcha') { 291 if (formContainer.find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 292 var errorElement = $(html); 293 errorElement.addClass("masterstudy-authorization__form-field-error_main masterstudy-authorization__form-field-error_".concat(error.field)); 294 formContainer.find('.masterstudy-authorization__actions').before(errorElement); 295 } 296 } else { 297 if (inputField.parent().hasClass('masterstudy-form-builder__checkbox')) { 298 var container = inputField.closest('.masterstudy-form-builder__checkbox-group'); 299 var block = container.find('.masterstudy-form-builder__checkbox-description'); 300 $(container).parent().addClass('masterstudy-authorization__form-field_has-error'); 301 if (container.find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 302 block.length > 0 ? $(html).insertBefore(block) : inputField.closest('.masterstudy-form-builder__checkbox-group').append(html); 303 } 304 } else if (inputField.closest('.masterstudy-form-builder__radio-group').length > 0) { 305 var radioGroup = inputField.closest('.masterstudy-form-builder__radio-group'); 306 if (radioGroup.find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 307 var descriptionBlock = radioGroup.find('.masterstudy-form-builder__radio-description'); 308 if (descriptionBlock.length > 0) { 309 descriptionBlock.before(html); 310 } else { 311 radioGroup.append(html); 312 } 313 } 314 } else if (inputField.parent().parent().hasClass('masterstudy-form-builder-file-upload')) { 315 var _container = inputField.closest('.masterstudy-form-builder-file-upload'); 316 $(_container).parent().addClass('masterstudy-authorization__form-field_has-error'); 317 if ($(_container).find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 318 $(_container).find('.masterstudy-form-builder-file-upload__field').after(html); 319 } 320 } else { 321 inputField.parent().addClass('masterstudy-authorization__form-field_has-error'); 322 if (inputField.parent().find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 323 inputField.after(html); 324 } 325 } 326 } 327 } 328 }); 329 var modalWrapper = formContainer.closest('.masterstudy-authorization-modal__container'), 330 firstErrorField = formContainer.find('.masterstudy-authorization__form-field_has-error').first(); 331 if (firstErrorField.length > 0) { 332 var topOffset = firstErrorField.offset().top; 333 if (modalWrapper.length > 0) { 334 topOffset -= modalWrapper.offset().top; 335 var scrollTo = modalWrapper.scrollTop() + topOffset - 10; 336 modalWrapper.animate({ 337 scrollTop: scrollTo 338 }, 500); 339 } else { 340 if (!isElementVisible(firstErrorField[0])) { 341 $('html, body').animate({ 342 scrollTop: topOffset - 10 343 }, 500); 344 } 345 } 346 } 347 } 348 function isElementVisible(element) { 349 var rect = element.getBoundingClientRect(); 350 return rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth); 351 } 352 function restore(formContainer) { 353 var url = authorization_data.ajax_url + '?action=stm_lms_lost_password&nonce=' + authorization_data.restore_nonce, 354 user_mail = formContainer.find('input[name="restore_user_login"]').val(), 355 restore_data = JSON.stringify({ 356 'restore_user_login': user_mail 357 }); 358 formContainer.find('[data-id="masterstudy-authorization-restore-button"]').addClass('masterstudy-button_loading'); 359 fetch(url, { 360 method: 'POST', 361 headers: { 362 'Content-Type': 'application/json' 363 }, 364 body: restore_data 365 }).then(function (response) { 366 if (response.ok) { 367 return response.json(); 368 } 369 throw new Error('not ok'); 370 }).then(function (data) { 371 formContainer.find('[data-id="masterstudy-authorization-restore-button"]').removeClass('masterstudy-button_loading'); 372 if (data.status === 'error') {
373 data.errors.forEach(function (error) { 374 var inputField = formContainer.find("input[name=\"".concat(error.field, "\"]")); 375 var html = "<span data-error-id=\"".concat(error.id, "\" class=\"masterstudy-authorization__form-field-error\">").concat(error.text, "</span>"); 376 if (inputField.length > 0) { 377 inputField.parent().addClass('masterstudy-authorization__form-field_has-error'); 378 if (inputField.parent().find("span[data-error-id=\"".concat(error.id, "\"]")).length === 0) { 379 inputField.after(html); 380 } 381 } 382 }); 383 return; 384 } 385 if (data.status === 'success') { 386 formContainer.find('.masterstudy-authorization__send-mail-content-subtitle').text(function (index, oldText) { 387 return oldText + user_mail; 388 }); 389 formContainer.find('.masterstudy-authorization__restore').removeClass('masterstudy-authorization__restore_show'); 390 formContainer.find('#masterstudy-authorization-restore-pass').addClass('masterstudy-authorization__send-mail_show'); 391 formContainer.find('.masterstudy-authorization__switch').addClass('masterstudy-authorization__switch_hide'); 392 } 393 }); 394 } 395 function open_confirmation_form(for_instructor, formContainer) { 396 formContainer.find('.masterstudy-authorization__wrapper').addClass('masterstudy-authorization__wrapper_hide'); 397 formContainer.find('.masterstudy-authorization__switch').addClass('masterstudy-authorization__switch_hide'); 398 if (for_instructor) { 399 formContainer.find('.masterstudy-authorization__instructor-confirm').addClass('masterstudy-authorization__instructor-confirm_show'); 400 } else { 401 formContainer.find('#masterstudy-authorization-confirm-email').addClass('masterstudy-authorization__send-mail_show'); 402 } 403 } 404})(jQuery);
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.