Quellcode durchsuchen

Merge branch 'master' of https://git.symbionet.de/andre/whmcsZimbraSingle
bugfixing

andre vor 5 Jahren
Ursprung
Commit
774d8cdcf9

+ 0 - 44
templates/cfpasswordstrength.tpl

@@ -1,44 +0,0 @@
-<script>
-jQuery(document).ready(function(){
-    $("#btnCompleteProductConfig").prop("disabled",true);
-    jQuery(":password").keyup(function () {
-        var pwStrengthErrorThreshold = 50;
-        var pwStrengthWarningThreshold = 75;
-
-        var $newPassword1 = jQuery(":password");
-        var pw = jQuery(":password").val();
-        var pwlength = (pw.length);
-        if (pwlength > 5) pwlength = 5;
-        var numnumeric = pw.replace(/[0-9]/g, "");
-        var numeric = (pw.length - numnumeric.length);
-        if (numeric > 3) numeric = 3;
-        var symbols = pw.replace(/\W/g, "");
-        var numsymbols = (pw.length - symbols.length);
-        if (numsymbols > 3) numsymbols = 3;
-        var numupper = pw.replace(/[A-Z]/g, "");
-        var upper = (pw.length - numupper.length);
-        if (upper > 3) upper = 3;
-        var pwstrength = ((pwlength * 10) - 20) + (numeric * 10) + (numsymbols * 15) + (upper * 10);
-        if (pwstrength < 0) pwstrength = 0;
-        if (pwstrength > 100) pwstrength = 100;
-
-        $newPassword1.removeClass('has-error has-warning has-success');
-        if (pwstrength < pwStrengthErrorThreshold) {
-            $newPassword1.addClass('has-error');
-            $newPassword1.css('background-color', '#f003');;
-        } else if (pwstrength < pwStrengthWarningThreshold) {
-            $newPassword1.addClass('has-warning');
-            $newPassword1.css('background-color', '#ff03');;
-        } else {
-            $newPassword1.addClass('has-success');
-            $newPassword1.css('background-color', '#0f03');;
-            $("#btnCompleteProductConfig").removeProp("disabled");
-        }
-    });
-});
-</script>
-{if file_exists("templates/$template/includes/alert.tpl")}
-    {include file="$template/includes/alert.tpl" type="info" msg="{$LANG.passwordtips}"}
-{elseif file_exists("templates/six/includes/alert.tpl")}
-    {include file="six/includes/alert.tpl" type="info" msg="{$LANG.passwordtips}"}
-{/if}

+ 123 - 0
templates/orderforms/croster_mailbox/checkconfigureproduct.tpl

@@ -0,0 +1,123 @@
+<script>
+    function checkMailAddress ( mailname, maildomain) {
+        var xhttp = new XMLHttpRequest();
+        xhttp.onreadystatechange = function() {
+            if (this.readyState == 4 && this.status == 200) {
+                if( this.responseText.trim() == 'yes') {
+                    console.log(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 {
+                    console.log(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('Mailadresse ' + $(customFields[2]).val() + '@' + $(customFields[3]).val() + ' nicht verfügbar!');
+                    $("#hintLength").text('');
+                    $("#hintNumeric").text('');
+                    $("#hintSymbols").text('');
+                    $("#hintUpperLower").text('');
+                }
+            }
+        };
+        xhttp.open("GET", "modules/servers/zimbraSingle/zimbraAddressCheck.php?name=" + mailname + '&domain=' +maildomain, true);
+        xhttp.send();
+    };
+    jQuery(document).ready(function(){
+        $("#btnCompleteProductConfig").prop("disabled",true);
+        customFields = $("*[id^='customfield']");
+        $(customFields[4]).prop("disabled",true);
+        $(customFields[5]).prop("disabled",true);
+        $(customFields[2]).blur(function () {
+            checkMailAddress( $(customFields[2]).val(), $(customFields[3]).val());
+        });
+        $(customFields[3]).change(function () {
+            checkMailAddress( $(customFields[2]).val(), $(customFields[3]).val());
+        });
+        $(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 (# $ ! % &amp; 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 = true;
+                $("#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 = true;
+                $("#hintSymbols").text('Benutzen Sie auch mindestens eines der folgenden Symbole (# $ ! % &amp; 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>
+

+ 27 - 23
templates/configureproduct.tpl → templates/orderforms/croster_mailbox/configureproduct.tpl

@@ -8,7 +8,7 @@ var _localLang = {
 </script>
 
 {if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
-        {include file="templates/orderforms/{$carttpl}/layouts/head.tpl"}
+	{include file="templates/orderforms/{$carttpl}/layouts/head.tpl"}
 {/if}
 
 <div id="order-standard_cart">
@@ -16,14 +16,14 @@ var _localLang = {
     <div class="row" style="position:relative;">
 
         <div class="col-md-12">
-                        {if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
-                        {else}
+			{if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
+			{else}
             <div class="header-lined">
                 <h1>{$LANG.orderconfigure}</h1>
             </div>
-                        {/if}
-
-                        {include file="orderforms/{$carttpl}/sidebar-categories-collapsed.tpl"}
+			{/if}
+			
+			{include file="orderforms/{$carttpl}/sidebar-categories-collapsed.tpl"}
 
         </div>
 
@@ -39,10 +39,10 @@ var _localLang = {
                         <h3>{$LANG.orderForm.configureDesiredOptions}</h3>
 
                         <div class="panel panel-default">
-                                                        <div class="panel-body">
-                                                                <p class="product-title"><strong><i>{$productinfo.group_name}</i> - {$productinfo.name}</strong></p>
-                                                                <p>{$productinfo.description}</p>
-                                                        </div>
+							<div class="panel-body">
+								<p class="product-title"><strong><i>{$productinfo.group_name}</i> - {$productinfo.name}</strong></p>
+								<p>{$productinfo.description}</p>
+							</div>
                         </div>
 
                         <div class="alert alert-danger hidden" role="alert" id="containerProductValidationErrors">
@@ -270,7 +270,7 @@ var _localLang = {
                         {/if}
 
                         {if $customfields}
-
+			    {include file="./checkconfigureproduct.tpl"}
                             <div class="sub-heading">
                                 <span>{$LANG.orderadditionalrequiredinfo}</span>
                             </div>
@@ -285,14 +285,18 @@ var _localLang = {
                                                 {$customfield.description}
                                             </span>
                                         {/if}
-                                        {if $customfield.type == "password"}
-                                            {include file="$template/cfpwstrength.tpl"}
-                                        {/if}
-
                                     </div>
                                 {/foreach}
                             </div>
-
+			    <div class="alert alert-info">
+				<div id='hints'>
+				    <strong id='hintHead'></strong>
+                                    <div id='hintLength'></div>
+                                    <div id='hintNumeric'></div>
+                                    <div id='hintSymbols'></div>
+                                    <div id='hintUpperLower'></div>
+				</div>
+			    </div>
                         {/if}
 
                         {if $addons || count($addonsPromoOutput) > 0}
@@ -306,8 +310,8 @@ var _localLang = {
                                     {$output}
                                 </div>
                             {/foreach}
-
-
+							
+							
                             <div class="row addon-products">
                                 {foreach $addons as $addon}
                                     <div class="col-sm-{if count($addons) > 1}6{else}12{/if}"">
@@ -315,7 +319,7 @@ var _localLang = {
                                             <div class="panel-body">
                                                <input type="checkbox" name="addons[{$addon.id}]"{if $addon.status} checked{/if} />
                                                 <span class="panel-addon-name">{$addon.name}</span>
-                                                                                                <span class="panel-addon-price">{$addon.pricing}</span>
+												<span class="panel-addon-price">{$addon.pricing}</span>
                                                 <p class="text-muted">{$addon.description}</p>
                                             </div>
                                         </div>
@@ -333,7 +337,7 @@ var _localLang = {
                     </div>
                     <div class="col-md-3" id="scrollingPanelContainer">
 
-                                                <div id="orderSummary">
+						<div id="orderSummary">
                             <div class="order-summary">
                                 <div class="loader" id="orderSummaryLoader">
                                     <i class="fas fa-fw fa-sync fa-spin"></i>
@@ -359,10 +363,10 @@ var _localLang = {
 </div>
 
 {if file_exists("templates/orderforms/{$carttpl}/layouts/foot.tpl")}
-        {include file="templates/orderforms/{$carttpl}/layouts/foot.tpl"}
+	{include file="templates/orderforms/{$carttpl}/layouts/foot.tpl"}
 {/if}
 
 
 <script language="javascript">
-        recalctotals();
-</script>
+	recalctotals();
+</script>

+ 20 - 0
zimbraAddressCheck.php

@@ -0,0 +1,20 @@
+<?php
+$allowed_host = 'admin.seecure.ch';
+$host = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST);
+
+if(substr($host, 0 - strlen($allowed_host)) != $allowed_host) {
+  die("This file cannot be accessed directly");
+}
+require_once("api/Zm/Auth.php");
+require_once("api/Zm/Account.php");
+
+$account_name = $_GET['name'] . "@" .  $_GET['domain'];
+$api = new Zm_Auth('192.168.16.225', 'admin@thurdata.local', 'Technics2312', "admin");
+$login = $api->login();
+$apiAccountManager = new Zm_Account($api);
+if( $apiAccountManager->accountExists($account_name)) {
+	echo 'no';
+} else {
+	echo 'yes';
+}
+