| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- {*
- This is the check orderform template for the seafile product
- This template requires a list of custom fields in exact this order:
- firstname|Vorname -> customfields[0]
- lastname|Nachname -> customfields[1]
- login|Login E-Mail -> customfields[2]
- password|Passwort -> customfields[3]
- pwrepeat|Passwort wiederholen -> customfields[4]
- *}
- <script>
- function checkUserName ( username, pid) {
- {literal}
- var nameRegex = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
- {/literal}
- var validUsername = username.match(nameRegex);
- if(validUsername == null) {
- console.log("Invalid E-Mail: "+username);
- $(customFields[3]).prop("disabled",true);
- $(customFields[4]).prop("disabled",true);
- $(customFields[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $("#hintHead").text('Bitte eine gültige E-Mail-Adresse angeben.');
- $("#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[2]).addClass('has-success');
- $(customFields[2]).css('background-color', '#0f03');;
- $(customFields[3]).prop("disabled",false);
- $(customFields[4]).prop("disabled",true);
- $("#hintHead").text('');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- $(customFields[3]).focus();
- } else if (this.responseText.trim() == 'no') {
- console.log("Response: " + this.responseText);
- $(customFields[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $(customFields[3]).prop("disabled",true);
- $(customFields[4]).prop("disabled",true);
- $("#hintHead").text('E-Mail Account ' + $(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[2]).addClass('has-error');
- $(customFields[2]).css('background-color', '#f003');;
- $(customFields[3]).prop("disabled",true);
- $(customFields[4]).prop("disabled",true);
- $("#hintHead").text('E-Mail Adresse ' + $(customFields[2]).val() + ' nicht valide! HACKER!');
- $("#hintLength").text('');
- $("#hintNumeric").text('');
- $("#hintSymbols").text('');
- $("#hintUpperLower").text('');
- }
- }
- };
- xhttp.open("GET", "modules/servers/seafile/seafileAddressAvailable.php?username=" + username + '&pid=' + pid, true);
- xhttp.send();
- }
- jQuery(document).ready(function(){
- customFields = $("*[id^='customfield']");
- $("#btnCompleteProductConfig").prop("disabled",true);
- $(customFields[3]).val('');
- $(customFields[4]).val('');
- if ($(customFields[2]).val().length > 0) {
- checkUserName( $(customFields[2]).val(), {$productinfo['pid']});
- }
- $(customFields[3]).prop("disabled",true);
- $(customFields[4]).prop("disabled",true);
- $(customFields[2]).blur(function () {
- checkUserName( $(customFields[2]).val(), {$productinfo['pid']});
- });
- $(customFields[3]).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');
- });
-
- // Check password in first password field
- $(customFields[3]).keyup(function () {
- var pwlengthOK = false;
- var numericOK = false;
- var symbolsOK = false;
- var upperOK = false;
- var pw = $(customFields[3]).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[3]).removeClass('has-error has-warning has-success');
- if (pwlengthOK && numericOK && symbolsOK && upperlowerOK) {
- $(customFields[4]).prop("disabled",false);
- $(customFields[3]).addClass('has-success');
- $(customFields[3]).css('background-color', '#0f03');;
- $("#hintHead").text('');
- } else {
- $(customFields[4]).prop("disabled",true);
- $(customFields[3]).addClass('has-error');
- $(customFields[3]).css('background-color', '#f003');;
- $("#hintHead").text('Tipps für ein gutes Passwort');
- }
- });
-
- $(customFields[4]).keyup(function () {
- if ($(customFields[4]).val() == $(customFields[3]).val()) {
- $("#btnCompleteProductConfig").prop("disabled",false);
- $(customFields[4]).addClass('has-success');
- $(customFields[4]).css('background-color', '#0f03');;
- $("#hintHead").text('');
- } else {
- $("#btnCompleteProductConfig").prop("disabled",true);
- $(customFields[4]).addClass('has-error');
- $(customFields[4]).css('background-color', '#f003');;
- $("#hintHead").text('Passworte stimmen nicht überein!');
- }
- });
- });
- </script>
|