1afterRegister = function(data) { 2 // ÐоказаÑÑ Ð¾ÐºÐ½Ð¾ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ 3 modalLayer.open('registration_user'); 4 5 // ÐаполниÑÑ Ð´Ð°Ð½Ð½Ñе 6 $.extend({}, GLOBAL.user, data.user); 7 GLOBAL.csrf_token = data.user.csrf_token; 8 9 var profile = new Profile({ 10 csrf_token: GLOBAL.csrf_token 11 }); 12 13 // ÐаполниÑÑ ÐÐ¼Ñ 14 if (data.user.firstName) { 15 $('#modalRegisterUser') 16 .find('input[name="firstName"]') 17 .val(data.user.firstName) 18 .closest('.form__field') 19 .addClass('m-notempty'); 20 } 21 22 // ÐаполниÑÑ Ð¤Ð¸Ð¼Ð¸Ð»Ð¸Ñ 23 if (data.user.lastName) { 24 $('#modalRegisterUser') 25 .find('input[name="lastName"]') 26 .val(data.user.lastName) 27 .closest('.form__field') 28 .addClass('m-notempty'); 29 } 30 31 if (data.user.lastName || data.user.firstName) { 32 $('#modalRegisterUser').find('form').trigger('change'); 33 } 34 35 // ÐаполниÑÑ Ð°Ð²Ð°ÑÐ°Ñ 36 if (data.user.picture) { 37 $('#registerUserPhoto') 38 .attr('src', data.user.picture); 39 } 40 41 // ÐагÑÑзиÑÑ Ð°Ð²Ð°ÑÐ°Ñ 42 if ($.fn.fileupload instanceof Function) { 43 $('#registerUserPhotoUpload').fileupload({ 44 type: 'post', 45 dataType: 'json', 46 url: profile.actions.update_avatar, 47 formData: { 48 csrf_token: profile.csrf_token 49 }, 50 done: function(e, data) { 51 $('#registerUserPhoto').attr('src', data.result.user.picture); 52 } 53 }); 54 } 55} 56 57// РегиÑÑÑаÑÐ¸Ñ 58$(function() { 59 var modal = $('#modalRegister'), 60 modalForm = modal.find('form'), 61 emailField = $('#modalRegisterEmail'), 62 passwordField = $('#modalRegisterPassword'), 63 errorField = $('#modalRegisterError'), 64 submit = $('#modalRegisterSubmit'); 65 66 modalForm.riaForm({ 67 errorInput: true, 68 errorLabel: true, 69 errorClass: 'm-error', 70 errorMessage: false, 71 errorAlert: true, 72 alert: '#modalRegisterError', 73 alertLabel: '', 74 loader: '.l-modal__container .l-modal__loader', 75 rules: { 76 login: 'email', 77 password: 'empty', 78 confirm: 'checked' 79 }, 80 alerts: { 81 login: { 82 empty: GLOBAL.locale.id.errors.emptylogin, 83 exist: GLOBAL.locale.id.errors.emailexist, 84 email: GLOBAL.locale.id.errors.wronglogin 85 }, 86 password: { 87 empty: GLOBAL.locale.id.errors.password, 88 similar: GLOBAL.locale.id.errors.passwordnotsimilar 89 }, 90 captcha: { 91 error: GLOBAL.locale.id.errors.global 92 }, 93 email: { 94 'error.2': GLOBAL.locale.id.errors.emailwhitelist 95 } 96 }, 97 successCallback: function(data, form) { 98 if (data.status === 'success') { 99 // ÐоказаÑÑ Ð±Ð°Ð½Ð½ÐµÑ Ð² Ñапке 100 $('#alertAfterRegister') 101 .removeClass('m-hidden') 102 .find('.m-email') 103 .text(emailField.val()); 104 105 // ÐÑполниÑÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¿Ð¾Ñле ÑегиÑÑÑаÑии 106 afterRegister(data); 107 } 108 }, 109 errorCallback: function(data) { 110 // СкÑÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ "ÐаÑегиÑÑÑиÑоваÑÑÑÑ" 111 submit.hide(); 112 } 113 }); 114 115 // СÑеагиÑовааÑÑ Ð¿Ñи изменении в ÑоÑме 116 modalForm.on('input change paste keyup blur', function() { 117 if (modalForm[0].checkValidity()) { 118 // ÐоказаÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ "ÐойÑи" 119 submit[0].disabled = false; 120 } else { 121 // СкÑÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ "ÐойÑи" 122 submit[0].disabled = true; 123 } 124 }); 125 126 // ÐÑовеÑка поÑле ÑаÑÑокÑÑа Ð¿Ð¾Ð»Ñ Ñ Ð¿Ð¾ÑÑой 127 emailField.on('input change paste keyup', function() { 128 // ÐÑли вÑе Ñ Ð¾ÑоÑо 129 if (this.checkValidity()) { 130 errorField.hide(); 131 submit.show(); 132 return 133 } 134 135 // ÐÑовеÑÑÑе адÑÐµÑ Ð¿Ð¾ÑÑÑ 136 errorField 137 .show() 138 .toggleClass('m-error', !this.checkValidity() && emailField.hasClass('m-dirty')) 139 .html( GLOBAL.locale.id.errors.wronglogin ); 140 submit.hide(); 141 }); 142
143 // ÐÑи ÑокÑÑе в поле паÑÐ¾Ð»Ñ Ð¿Ð¾ÑвлÑеÑÑÑ Ñведомление 144 passwordField.on('input change paste keyup', function() { 145 // ÐÑли вÑе Ñ Ð¾ÑоÑо 146 if (this.checkValidity()) { 147 errorField.hide(); 148 submit.show(); 149 return 150 } 151 152 errorField 153 .show() 154 .toggleClass('m-error', !this.checkValidity() && passwordField.hasClass('m-dirty')) 155 .html( GLOBAL.locale.id.register.password_length ); 156 157 submit.hide(); 158 }); 159}); 160 161// РегиÑÑÑаÑÐ¸Ñ / CÐ¾Ñ ÑеÑи 162$(function() { 163 164 /* TODO не обÑабаÑÑваеÑÑÑ Ð¾Ñибка ÑекбокÑа !!! ÐÐÐÐÐÐТЬ !!! */ 165 166 var modal = $('#modalRegisterSocial'), 167 modalForm = modal.find('form'), 168 errorField = $('#modalRegisterSocialError'), 169 emailField = $('#modalRegisterSocialEmail'), 170 submit = $('#modalRegisterSocialSubmit'); 171 172 modalForm.riaForm({ 173 errorInput: true, 174 errorLabel: true, 175 errorClass: 'm-error', 176 errorMessage: false, 177 errorAlert: true, 178 alert: '#modalRegisterSocialError', 179 alertLabel: '', 180 rules: { 181 login: 'empty', 182 privacy: 'empty' 183 }, 184 alerts: { 185 login: { 186 empty: GLOBAL.locale.id.errors.wrongemail, 187 wrong: GLOBAL.locale.id.errors.wronglogin, 188 }, 189 user: { 190 banned: GLOBAL.locale.id.errors.block, 191 deleted: GLOBAL.locale.id.errors.del, 192 confirmationRequired: GLOBAL.locale.id.errors.confirmation 193 } 194 }, 195 successCallback: function(data, form) { 196 modalLayer.close({ 197 formClear: "all", 198 afterClose: function() { 199 GLOBAL.events.trigger('login', data); 200 afterRegister(data); 201 } 202 }); 203 }, 204 errorCallback: function(data) { 205 if (data && data.user) { 206 errorField.attr('user_id', data.user); 207 } 208 209 if (data && data.errors && data.errors.user === 'confirmationRequired') { 210 setTimeout(function() { 211 errorField.find('.m-email').text(emailField.val()); 212 }, 0) 213 } 214 } 215 }); 216 217 // СÑеагиÑовааÑÑ Ð¿Ñи изменении в ÑоÑме 218 modalForm.on('input change paste keyup', function() { 219 if ( this.checkValidity() ) { 220 // еÑли ÑоÑма валидна ÑкÑÑваем оÑÐ¸Ð±ÐºÑ Ð¿Ð¾ÐºÐ°Ð·Ñваем ÐºÐ½Ð¾Ð¿ÐºÑ Ð²Ð¾Ð¹Ñи/делаем акÑивной 221 errorField.hide(); 222 submit.show().removeAttr('disabled'); 223 } 224 }); 225 226 // ÐÑибка пÑи вводе поÑÑÑ (некоÑÑекÑнÑе напиÑание адÑеÑа, напÑÐ¸Ð¼ÐµÑ Ð±ÐµÐ· ÑобаÑки) 227 // ÐÐ¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ Ð¿Ð¾Ñле ÑаÑÑокÑÑа 228 emailField.on('input change paste keyup', function() { 229 // ÐÑли вÑе Ñ Ð¾ÑоÑо 230 if ( !this.checkValidity()) { 231 // ÐÑовеÑÑÑе адÑÐµÑ Ð¿Ð¾ÑÑÑ 232 errorField.show().html( GLOBAL.locale.id.errors.wronglogin ); 233 submit.hide().attr('disabled', true); 234 } else { 235 errorField.hide() 236 submit.show() 237 } 238 }); 239}) 240 241// РегиÑÑÑаÑÐ¸Ñ / ÐаÑи даннÑе 242$(function() { 243 var profile, 244 modal = $('#modalRegisterUser'), 245 modalForm = modal.find('form'), 246 errorField = $('#modalRegisterUserError'), 247 submit = $('#modalRegisterUserSubmit'); 248 249 // Ð¡Ð¾Ñ ÑаниÑÑ Ð¸Ð¼Ñ Ð¸ ÑÐ°Ð¼Ð¸Ð»Ð¸Ñ 250 modalForm.on('submit', function(e) { 251 e.preventDefault(); 252 253 if (!this.checkValidity()) { 254 return 255 } 256 257 if (!profile) { 258 profile = new Profile({ 259 csrf_token: GLOBAL.csrf_token 260 }); 261 } 262 263 submit.prop('disabled', true); 264 265 profile.updateField(modalForm).done(function(response) { 266 submit.prop('disabled', false); 267 268 if (!response.errors) { 269 modalLayer.close(); 270 return; 271 } 272 273 if (response.errors.firstName) { 274 modalForm.find('input[name="firstName"]')[0].setCustomValidity('ÐожалÑйÑÑа, введиÑе имÑ'); 275 } 276 277 if (response.errors.lastName) { 278 modalForm.find('input[name="lastName"]')[0].setCustomValidity('ÐожалÑйÑÑа, введиÑе ÑамилиÑ'); 279 } 280 281 if (response.errors.moderation) { 282 modalForm.find('input[name="firstName"]')[0].setCustomValidity('ÐожалÑйÑÑа, введиÑе имÑ'); 283 modalForm.find('input[name="lastName"]')[0].setCustomValidity('ÐожалÑйÑÑа, введиÑе ÑамилиÑ'); 284 } 285 286 modalForm.trigger('change'); 287 288 modalForm.find('input').each(function() { 289 this.setCustomValidity(''); 290 }); 291 }); 292 }) 293 294
295 // СÑеагиÑовааÑÑ Ð¿Ñи изменении в ÑоÑме 296 modalForm.on('input change paste keyup', function() { 297 if (this.checkValidity()) { 298 // СкÑÑÑÑ Ð¿Ð¾Ð»Ðµ Ñ Ð¾Ñибкой, еÑли еÑÑÑ 299 errorField.hide(); 300 301 // ÐоказаÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ "ÐойÑи" 302 submit.show(); 303 } else { 304 let errorText = 'ÐедопÑÑÑимое имÑ'; 305 306 if (!this.firstName.validity.valid) { 307 errorText = 'ÐожалÑйÑÑа, введиÑе имÑ' 308 } 309 310 if (!this.lastName.validity.valid) { 311 errorText = 'ÐожалÑйÑÑа, введиÑе ÑамилиÑ' 312 } 313 314 // ÐоказаÑÑ Ð¿Ð¾Ð»Ðµ Ñ Ð¾Ñибкой, еÑли еÑÑÑ 315 errorField.html(errorText).show(); 316 317 // СкÑÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÑ "ÐойÑи" 318 submit.hide(); 319 } 320 }); 321}) 322 323// ÐодÑвеÑждение email 324$(function() { 325 $('.confirmEmail').on('click', function(e) { 326 e.preventDefault(); 327 var btn = $(this); 328 329 $.ajax({ 330 url: '/services/id/email/confirm_email/', 331 data: { 332 csrf_token: GLOBAL.csrf_token 333 } 334 }).done(function() { 335 btn.attr('disabled', true).text('СÑÑлка оÑпÑавлена'); 336 }); 337 }); 338})
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.