diff options
Diffstat (limited to 'views/mods/mod_autodebit')
| -rw-r--r-- | views/mods/mod_autodebit/paymenthint.phtml | 65 | ||||
| -rw-r--r-- | views/mods/mod_autodebit/settings_edit.phtml | 1 |
2 files changed, 64 insertions, 2 deletions
diff --git a/views/mods/mod_autodebit/paymenthint.phtml b/views/mods/mod_autodebit/paymenthint.phtml index 93de573..6f17260 100644 --- a/views/mods/mod_autodebit/paymenthint.phtml +++ b/views/mods/mod_autodebit/paymenthint.phtml @@ -38,7 +38,7 @@ <div class="wpsg_mod_autodebit_iban wpsg_mod_autodebit_field">
<label>
<?php echo __('IBAN', 'wpsg'); ?><span class="wpsg_required">*</span>:
- <input class="<?php echo ((in_array("mod_autodebit_iban", (array)$this->view['error']))?'wpsg_error':''); ?>" type="text" name="wpsg_mod_autodebit[iban]" value="<?php echo wpsg_hspc($this->view['wpsg_mod_autodebit']['iban']); ?>" />
+ <input class="<?php echo ((in_array("mod_autodebit_iban", (array)$this->view['error']))?'wpsg_error':''); ?>" type="text" name="wpsg_mod_autodebit[iban]" id="wpsg_mod_autodebit_iban" value="<?php echo wpsg_hspc($this->view['wpsg_mod_autodebit']['iban']); ?>" />
</label>
</div>
<div class="wpsg_clear"></div>
@@ -64,4 +64,65 @@ <?php echo wpsg_translate(__('Mit #1# gekennzeichnete Felder sind Pflichtfelder.', 'wpsg'), '<span class="wpsg_required">*</span>'); ?>
</div>
-</div>
\ No newline at end of file +</div>
+
+<script>
+
+//id="wpsg_mod_autodebit_iban"
+jQuery("#wpsg_mod_autodebit_iban").on("input", function () {
+ var
+ iban,
+ a1,
+ bb = true,
+ sum = 0,
+ csum,
+ i;
+
+ //alert("oninput");
+ iban = jQuery('#wpsg_mod_autodebit_iban').val();
+ iban = iban.replace(/ /g, "");
+ // 2 + 2 + 8 + 10
+ // DE 22 Zeichen
+ // AT 20 Zeichen
+ // CH 21 Zeichen
+ // Ersetze alle Buchstaben durch Zahlen, wobei A = 10, B = 11, …, Z = 35.
+ // Berechne den ganzzahligen Rest, der bei Division durch 97 bleibt.
+ // Subtrahiere den Rest von 98, das Ergebnis sind die beiden Prüfziffern.
+ // Falls das Ergebnis einstellig ist, wird es mit einer führenden Null ergänzt.
+ // DE80500105175408332501 --> 500105175408332501DE80 --> 500105175408332501131480
+ // Zahl modulo 97 muss 1 ergeben
+
+ if (iban.length < 16) { return; }
+
+ sum = iban.substr(4);
+
+ a1 = parseInt(iban.charCodeAt(0, 1) - 64, 10) + 9;
+ sum = sum + a1.toString();
+ a1 = parseInt(iban.charCodeAt(1, 1) - 64, 10) + 9;
+ sum = sum + a1.toString();
+ sum = sum + iban.substr(2, 2);
+
+ //sum = sum % 97;
+ // Calculate checksum
+ csum = parseInt(sum.substr(0, 1), 10);
+ for (i = 1; i < sum.length; i++) {
+ csum = csum * 10;
+ csum = csum + parseInt(sum.substr(i, 1), 10);
+ csum = csum % 97;
+ }
+
+ if (csum !== 1) { bb = false; }
+
+ jQuery('#wpsg_mod_autodebit_iban').removeClass('wpsg_error');
+ if (bb === false) {
+ //alert('IBAN fehlerhaft');
+ jQuery('#wpsg_mod_autodebit_iban').addClass('wpsg_error');
+ }
+
+});
+
+
+
+
+
+</script>
diff --git a/views/mods/mod_autodebit/settings_edit.phtml b/views/mods/mod_autodebit/settings_edit.phtml index 1e6685d..2906dc3 100644 --- a/views/mods/mod_autodebit/settings_edit.phtml +++ b/views/mods/mod_autodebit/settings_edit.phtml @@ -14,5 +14,6 @@ <?php echo wpsg_drawForm_Select('wpsg_mod_autodebit_mwst', __('Mehrwertsteuersatz', 'wpsg'), wpsg_tax_groups(), $this->get_option('wpsg_mod_autodebit_mwst')); ?>
<?php echo wpsg_drawForm_Checkbox('wpsg_mod_autodebit_mwstland', __('Keine MwSt. wenn Land steuerfrei', 'wpsg'), $this->get_option('wpsg_mod_autodebit_mwstland'), array('help' => 'wpsg_shippay_mwstland')); ?>
<?php echo wpsg_drawForm_Checkbox('wpsg_mod_autodebit_iban', __('IBAN/BIC statt Kontonummer/BLZ verwenden', 'wpsg'), $this->get_option('wpsg_mod_autodebit_iban'), array('help' => 'wpsg_mod_autodebit_iban')); ?>
+<?php echo wpsg_drawForm_Checkbox('wpsg_mod_autodebit_bic', __('BIC validieren', 'wpsg'), $this->get_option('wpsg_mod_autodebit_bic'), array('help' => 'wpsg_mod_autodebit_bic')); ?>
<?php // echo wpsg_drawForm_Button('wpsg_mod_autodebit_ibanbicconvert2', __('BIC/IBAN Konvertierung', 'wpsg'), array('button_text' => __('BIC/IBAN Konvertieren', 'wpsg'), 'button_class' => 'wpsg_mod_autodebit_button', 'button_onclick' => 'if (!confirm(\''.wpsg_hspc(__('Es werden die Bankdaten von allen Bestellungen mit Bankeinzug in BIC/IBAN konvertiert, sofern noch nicht angegeben. Die Länderkürzel müssen den IBAN Länderkürzeln entsprechen.', 'wpsg')).'\')) return false; location.href=\''.WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_autodebit&wpsg_mod_autodebit_bicibanconverter=1&mail=0&noheader=1\'')); ?>
<?php // echo wpsg_drawForm_Button('wpsg_mod_autodebit_ibanbicconvert', '', array('button_text' => __('BIC/IBAN Konvertierung starten / Kunden informieren', 'wpsg'), 'button_class' => 'wpsg_mod_autodebit_button', 'button_onclick' => 'if (!confirm(\''.wpsg_hspc(__('Es werden die Bankdaten von allen Bestellungen mit Bankeinzug in BIC/IBAN konvertiert, sofern noch nicht angegeben. Die Länderkürzel müssen den IBAN Länderkürzeln entsprechen. Der Kunde wird darüber per E-Mail informiert.', 'wpsg')).'\')) return false;', 'onclick' => WPSG_URL_WP.'wp-admin/admin.php?page=wpsg-Admin&action=module&modul=wpsg_mod_autodebit&wpsg_mod_autodebit_bicibanconverter=1&mail=1&noheader=1')); ?>
|
