dbXapp 2.0
RAD, CMS, Module und Runtime-IDE fuer dbXapp
Loading...
Searching...
No Matches
checkout.fd.php
Go to the documentation of this file.
1<?php
2$addField = function($name, $type, $label, $rules, $tpl, $extra = array()) use (&$fields) {
3 $field=array();
4 $field['name']=$name;
5 $field['type']=$type;
6 $field['index']='';
7 $field['length']=$extra['length'] ?? '';
8 $field['default']=$extra['default'] ?? '';
9 $field['label']=$label;
10 $field['rules']=$rules;
11 $field['tooltip']=$extra['tooltip'] ?? '';
12 $field['errormsg']=$extra['errormsg'] ?? '';
13 $field['placeholder']=$extra['placeholder'] ?? '';
14 $field['convert']='';
15 $field['protect']='0';
16 $field['mask']='';
17 $field['data']=$extra['data'] ?? '';
18 $field['options']=$extra['options'] ?? '';
19 $field['tpl']=$tpl;
21};
22
23$addField('customer_name','varchar','Name','*|min=2|max=180','text-label',array('placeholder'=>'Ihr Name'));
24$addField('customer_email','varchar','E-Mail','email|max=180','text-label',array('placeholder'=>'name@example.org'));
25$addField('customer_phone','varchar','Telefon','*|max=80','text-label',array('placeholder'=>'+49 30 123456'));
26$addField('shipping_address','mediumtext','Lieferadresse','*|min=8|max=2000','textarea-label',array('data'=>'rows=4','placeholder'=>"Name\nStrasse und Hausnummer\nPLZ Ort\nLand"));
27$addField('note','mediumtext','Hinweis','*|max=2000','textarea-label',array('data'=>'rows=4','placeholder'=>'Optionaler Hinweis zur Bestellung'));
28
29$cfg = array();
30if (function_exists('dbx')) {
31 $rawCfg = dbx()->get_config('dbxShop');
32 $cfg = is_array($rawCfg) ? $rawCfg : array();
33}
34$cfgBool = function(string $key, bool $default = false) use ($cfg): bool {
35 if (!array_key_exists($key, $cfg)) {
36 return $default;
37 }
38 $value = $cfg[$key];
39 if (is_bool($value)) return $value;
40 return in_array(strtolower(trim((string)$value)), array('1', 'true', 'yes', 'on'), true);
41};
43if ($cfgBool('payment_bank_transfer_enabled', true)) {
44 $paymentOptions['bank_transfer'] = 'Vorkasse / Ueberweisung';
45}
46if ($cfgBool('payment_invoice_enabled', false)) {
47 $paymentOptions['invoice'] = 'Rechnung';
48}
49if (
50 $cfgBool('payment_paypal_enabled', false)
51 && trim((string)($cfg['payment_paypal_client_id'] ?? '')) !== ''
52 && trim((string)($cfg['payment_paypal_client_secret'] ?? '')) !== ''
53) {
54 $paymentOptions['paypal'] = 'PayPal';
55}
56if (
57 $cfgBool('payment_amazon_pay_enabled', false)
58 && trim((string)($cfg['payment_amazon_pay_merchant_id'] ?? '')) !== ''
59 && trim((string)($cfg['payment_amazon_pay_store_id'] ?? '')) !== ''
60 && trim((string)($cfg['payment_amazon_pay_public_key_id'] ?? '')) !== ''
61 && trim((string)($cfg['payment_amazon_pay_private_key'] ?? '')) !== ''
62) {
63 $paymentOptions['amazon_pay'] = 'Amazon Pay';
64}
66foreach ($paymentOptions as $value => $label) {
67 $optionString .= ($optionString !== '' ? '&' : '') . $value . '=' . $label;
68}
69$addField('payment_method','varchar','Zahlungsart','parameter','select-single-label',array('options'=>$optionString,'default'=>array_key_first($paymentOptions) ?: ''));
70$addField('accept_legal','int','Ich habe die <a href="?dbx_modul=dbxShop&amp;dbx_run1=legal" target="_blank" rel="noopener">Rechtstexte, AGB, Zahlungs- und Versandhinweise</a> gelesen und akzeptiere sie.','int','dbxShop|shop-checkout-check');
71$addField('accept_withdrawal','int','Ich habe die <a href="?dbx_modul=dbxShop&amp;dbx_run1=withdrawal" target="_blank" rel="noopener">Widerrufsbelehrung</a> gelesen.','int','dbxShop|shop-checkout-check');
72?>
if(function_exists('dbx')) $cfgBool
$paymentOptions
$addField
if( $cfgBool( 'payment_bank_transfer_enabled', true)) if($cfgBool('payment_invoice_enabled', false)) if($cfgBool( 'payment_paypal_enabled', false) &&trim((string)( $cfg[ 'payment_paypal_client_id'] ?? '')) !=='' &&trim((string)( $cfg[ 'payment_paypal_client_secret'] ?? '')) !=='') if( $cfgBool('payment_amazon_pay_enabled', false) &&trim((string)($cfg['payment_amazon_pay_merchant_id'] ?? '')) !=='' &&trim((string)($cfg['payment_amazon_pay_store_id'] ?? '')) !=='' &&trim((string)($cfg['payment_amazon_pay_public_key_id'] ?? '')) !=='' &&trim((string)($cfg['payment_amazon_pay_private_key'] ?? '')) !=='') $optionString
$cfg
$fields[]
Definition config.dd.php:16
$field
Definition config.dd.php:4
DBX schema administration.