| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <script>
- function checkUserName ( username, pid) {
- var nameRegex = /^[a-zA-Z0-9\-]+$/;
- var validUsername = username.match(nameRegex);
- if(validUsername == null) {
- console.log("Invalid Username: "+username);
- $(customFields[4]).prop("disabled",true);
- $(customFields[5]).prop("disabled",true);
- $(customFields[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $("#hintHead").text('Der Benutzername darf nur Klein- bzw. Grossbuchstaben (ohne Umlaute), Zahlen und den Bindestrich enthalten.');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- return;
- }
- var xhttp = new XMLHttpRequest();
- var success = false;
- console.log("UserName: " + username);
- xhttp.onreadystatechange = function() {
- if (this.readyState == 4 && this.status == 200) {
- if( this.responseText.trim() == 'yes') {
- console.log("Response: " + this.responseText);
- $(customFields[4]).prop("disabled",false);
- $(customFields[5]).prop("disabled",true);
- $(customFields[2]).addClass('has-success');
- $(customFields[2]).css('background-color', '#0f03');;
- $("#hintHead").text('');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- } else if (this.responseText.trim() == 'no') {
- console.log("Response: " + this.responseText);
- $(customFields[4]).prop("disabled",true);
- $(customFields[5]).prop("disabled",true);
- $(customFields[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $("#hintHead").text('Benutzername ' + $(customFields[2]).val() + ' nicht verfügbar!');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- } else if (this.responseText.trim() == 'invalid') {
- console.log("Response: " + this.responseText);
- $(customFields[4]).prop("disabled",true);
- $(customFields[5]).prop("disabled",true);
- $(customFields[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $("#hintHead").text('Der Benutzername darf nur Klein- bzw. Grossbuchstaben (ohne Umlaute), Zahlen und den Bindestrich enthalten.');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- } else {
- console.log("Response: " + this.responseText);
- $(customFields[4]).prop("disabled",true);
- $(customFields[5]).prop("disabled",true);
- $(customFields[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $("#hintHead").text('Bei der Abfrage ist ein Fehler aufgetreten, es kann nicht fortgefahren werden. Bitte kontaktieren Sie den Support');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- }
- }
- };
- xhttp.open("GET", "modules/servers/nextcloud/nextcloudUserAvailable.php?name=" + username + '&pid=' + pid, true);
- xhttp.send();
- };
- jQuery(document).ready(function(){
- customFields = $("*[id^='customfield']");
- $("#btnCompleteProductConfig").prop("disabled",true);
- $(customFields[4]).val('');
- $(customFields[5]).val('');
- if ($(customFields[2]).val().length > 0) {
- checkUserName( $(customFields[2]).val(), {$productinfo['pid']});
- }
- $(customFields[4]).prop("disabled",true);
- $(customFields[5]).prop("disabled",true);
- $(customFields[2]).blur(function () {
- checkUserName( $(customFields[2]).val(), {$productinfo['pid']});
- });
- $(customFields[4]).focus (function () {
- $("#hintHead").text('Tipps für ein gutes Passwort');
- $("#hintLength").text('Benutzen Sie mindestens 8 Zeichen');
- $("#hintNumeric").text('Benutzen Sie mindestens eine Zahl');
- $("#hintSymbols").text('Benutzen Sie auch mindestens eines der folgenden Symbole (# $ ! % + - etc...)');
- $("#hintUpperLower").text('Benutzen Sie Groß- und Kleinschreibung');
- });
- $(customFields[4]).keyup(function () {
- var pwlengthOK = false;
- var numericOK = false;
- var symbolsOK = false;
- var upperOK = false;
- var pw = $(customFields[4]).val();
- var pwlength = (pw.length);
- if (pwlength > 7) {
- pwlengthOK = true;
- $("#hintLength").text('');
- } else {
- pwlengthOK = false;
- $("#hintLength").text('Benutzen Sie mindestens 8 Zeichen');
- }
- var numeric = pw.replace(/[0-9]/g, "");
- var numnumeric = (pw.length - numeric.length);
- if (numnumeric > 0) {
- numericOK = true;
- $("#hintNumeric").text('');
- } else {
- numericOK = false;
- $("#hintNumeric").text('Benutzen Sie mindestens eine Zahl');
- }
- var symbols = pw.replace(/\W/g, "");
- var numsymbols = (pw.length - symbols.length);
- if (numsymbols > 0) {
- symbolsOK = true;
- $("#hintSymbols").text('');
- } else {
- symbolsOK = false;
- $("#hintSymbols").text('Benutzen Sie auch mindestens ein Symbol oder Sonderzeichen (# $ ! % & + - etc...)');
- }
- var upper = pw.replace(/[A-Z]/g, "");
- var numupper = (pw.length - upper.length);
- var lower = pw.replace(/[a-z]/g, "");
- var numlower = (pw.length - lower.length);
- if ((numupper > 0) && (numlower > 0)) {
- upperlowerOK = true;
- $("#hintUpperLower").text('');
- } else {
- upperlowerOK = false;
- $("#hintUpperLower").text('Benutzen Sie Groß- und Kleinschreibung');
- }
- $(customFields[4]).removeClass('has-error has-warning has-success');
- if (pwlengthOK && numericOK && symbolsOK && upperlowerOK) {
- $(customFields[5]).prop("disabled",false);
- $(customFields[4]).addClass('has-success');
- $(customFields[4]).css('background-color', '#0f03');;
- $("#hintHead").text('');
- } else {
- $(customFields[5]).prop("disabled",true);
- $(customFields[4]).addClass('has-error');
- $(customFields[4]).css('background-color', '#f003');;
- $("#hintHead").text('Tipps für ein gutes Passwort');
- }
- });
- $(customFields[5]).keyup(function () {
- if ($(customFields[5]).val() == $(customFields[4]).val()) {
- $("#btnCompleteProductConfig").prop("disabled",false);
- $(customFields[5]).addClass('has-success');
- $(customFields[5]).css('background-color', '#0f03');;
- $("#hintHead").text('');
- } else {
- $("#btnCompleteProductConfig").prop("disabled",true);
- $(customFields[5]).addClass('has-error');
- $(customFields[5]).css('background-color', '#f003');;
- $("#hintHead").text('Passworte stimmen nicht überein!');
- }
- });
- });
- </script>
|