From 69038472c264d29d066e3382502c5499d73c9a42 Mon Sep 17 00:00:00 2001 From: Daniel Seifert Date: Mon, 11 Jan 2021 15:29:13 +0100 Subject: [PATCH] add 6.1.3.1 (ionCube for PHP 7.1 - 7.4) --- composer.json | 58 + docs/CMS/d3_hp_vorkassemail_cust_plain | 25 + docs/CMS/d3_hp_vorkassemail_cust_subject | 8 + docs/CMS/d3_hp_vorkassemail_cust_text | 26 + docs/CMS/d3_hp_vorkassemail_owner_plain | 19 + docs/CMS/d3_hp_vorkassemail_owner_subject | 8 + docs/CMS/d3_hp_vorkassemail_owner_text | 24 + docs/daux/_index.md | 2 + docs/daux/changelog/010_Changelog.md | 633 ++++ .../changelog/020_Channel_Rekonfiguration.md | 48 + docs/daux/config.json | 73 + .../015_Konfiguration_der_Zahlungsarten.md | 54 + .../010_Cronjob_per_Konsole_einrichten.md | 16 + .../020_Cronjob_per_Webaufruf_einrichten.md | 21 + ...seingaenge_bei_Heidelpay_erneut_abrufen.md | 16 + .../040_OXID_eShop_Enterprise_Edition.md | 10 + ...automatische_Vorkasse_und_Rechnungskauf.md | 52 + ...as_hat_sich_im_Bestellprozess_geaendert.md | 12 + .../020_Was_macht_der_Cronjob.md | 29 + .../030_Was_passiert_bei_einem_Refund.md | 6 + .../040_Wie_ist_der_Cronjob_einzurichten.md | 26 + .../050_Was_ist_noch_zu_beachten.md | 13 + .../060_Infos_fuer_Entwickler.md | 23 + ...hnungskauf_und_Vorkasse_anzeigen_lassen.md | 31 + docs/daux/configuration/_index.md | 13 + docs/daux/description/010_Beschreibung.md | 43 + .../description/015_Editionsunterschiede.md | 63 + .../img/Unzer__PrimaryLogo_Raspberry_RGB.png | Bin 0 -> 40227 bytes .../heidelpay_old_channel_configuration.png | Bin 0 -> 109013 bytes ...unzer_new_channel_configuration_loaded.png | Bin 0 -> 83607 bytes ...zer_new_channel_configuration_payments.png | Bin 0 -> 33540 bytes .../unzer_thank_you_bank_informationen.png | Bin 0 -> 12263 bytes docs/daux/installation/002_Installation.md | 11 + .../010_Systemanforderungen.md | 29 + .../040_Beiliegende_Bibliotheken.md | 11 + .../045_wichtige_Hinweise.md | 41 + .../010_Anforderungen/050_Vorbereitungen.md | 9 + docs/daux/installation/015_Schnellstart.md | 21 + .../020_Modul_hinzufuegen.md | 11 + .../030_Verwendung_eigener_Themes.md | 14 + .../040_Providerspezifische_Installation.md | 5 + .../050_Modul_im_Shop_aktivieren.md | 7 + .../060_Shopanpassungen_installieren.md | 11 + .../070_TMP-Ordner_leeren.md | 9 + .../080_Lizenz_eintragen.md | 9 + .../082_Konfiguration_einstellen.md | 14 + .../100_Updatefaehigkeit.md | 7 + .../030_Update/005_Updatedefinition.md | 8 + .../030_Update/010_Modul_deaktivieren.md | 5 + .../030_Update/020_Dateien_erneuern.md | 16 + .../030_Providerspezifische_Installation.md | 5 + .../040_Modulinformationen_aktualisieren.md | 5 + .../050_Shopanpassungen_installieren.md | 11 + .../030_Update/060_TMP-Ordner_leeren.md | 9 + .../070_Lizenzschluessel_aktualisieren.md | 5 + .../030_Update/080_Erweiterungen_anpassen.md | 5 + .../090_Aenderungen_kontrollieren.md | 13 + .../installation/040_Installationspruefung.md | 21 + ...rweiterungen_deaktivieren_und_entfernen.md | 5 + .../020_Modul_deaktivieren.md | 6 + ...30_Modul_aus_der_Installation_entfernen.md | 13 + .../040_Dateien_loeschen.md | 9 + .../050_Datenbank_bereinigen.md | 23 + .../060_TMP-Ordner_leeren.md | 9 + docs/daux/support/010_Hilfe-und-Support.md | 16 + docs/html/changelog/Changelog.html | 687 ++++ .../changelog/Channel_Rekonfiguration.html | 175 + .../Cronjob_per_Konsole_einrichten.html | 141 + .../Cronjob_per_Webaufruf_einrichten.html | 144 + .../OXID_eShop_Enterprise_Edition.html | 133 + ...ingaenge_bei_Heidelpay_erneut_abrufen.html | 136 + .../Infos_fuer_Entwickler.html | 142 + ..._hat_sich_im_Bestellprozess_geaendert.html | 133 + .../Was_ist_noch_zu_beachten.html | 138 + .../Was_macht_der_Cronjob.html | 145 + .../Was_passiert_bei_einem_Refund.html | 129 + .../Wie_ist_der_Cronjob_einzurichten.html | 155 + .../Konfiguration_der_Zahlungsarten.html | 198 ++ ...ungskauf_und_Vorkasse_anzeigen_lassen.html | 153 + ...tomatische_Vorkasse_und_Rechnungskauf.html | 170 + docs/html/configuration/index.html | 146 + docs/html/description/Beschreibung.html | 164 + .../description/Editionsunterschiede.html | 387 +++ .../img/Unzer__PrimaryLogo_Raspberry_RGB.png | Bin 0 -> 40227 bytes .../heidelpay_old_channel_configuration.png | Bin 0 -> 109013 bytes ...unzer_new_channel_configuration_loaded.png | Bin 0 -> 83607 bytes ...zer_new_channel_configuration_payments.png | Bin 0 -> 33540 bytes .../unzer_thank_you_bank_informationen.png | Bin 0 -> 12263 bytes docs/html/index.html | 126 + .../Beiliegende_Bibliotheken.html | 131 + .../Anforderungen/Systemanforderungen.html | 169 + .../Anforderungen/Vorbereitungen.html | 131 + .../Anforderungen/wichtige_Hinweise.html | 153 + .../Deinstallation/Dateien_loeschen.html | 133 + .../Deinstallation/Datenbank_bereinigen.html | 156 + .../Modul_aus_der_Installation_entfernen.html | 136 + .../Deinstallation/Modul_deaktivieren.html | 128 + ...eiterungen_deaktivieren_und_entfernen.html | 128 + .../Deinstallation/TMP-Ordner_leeren.html | 132 + docs/html/installation/Installation.html | 143 + .../installation/Installationspruefung.html | 148 + .../Konfiguration_einstellen.html | 139 + .../Neuinstallation/Lizenz_eintragen.html | 130 + .../Neuinstallation/Modul_hinzufuegen.html | 133 + .../Modul_im_Shop_aktivieren.html | 131 + .../Providerspezifische_Installation.html | 128 + .../Shopanpassungen_installieren.html | 131 + .../Neuinstallation/TMP-Ordner_leeren.html | 132 + .../Neuinstallation/Updatefaehigkeit.html | 129 + .../Verwendung_eigener_Themes.html | 135 + docs/html/installation/Schnellstart.html | 139 + .../Update/Aenderungen_kontrollieren.html | 140 + .../installation/Update/Dateien_erneuern.html | 138 + .../Update/Erweiterungen_anpassen.html | 128 + .../Lizenzschluessel_aktualisieren.html | 128 + .../Update/Modul_deaktivieren.html | 128 + .../Modulinformationen_aktualisieren.html | 128 + .../Providerspezifische_Installation.html | 128 + .../Update/Shopanpassungen_installieren.html | 131 + .../Update/TMP-Ordner_leeren.html | 132 + .../installation/Update/Updatedefinition.html | 130 + docs/html/support/Hilfe-und-Support.html | 137 + docs/html/themes/d3/css/d3.css | 210 ++ docs/html/themes/d3/css/theme-blue.min.css | 10 + .../html/themes/d3/css/theme-blue.min.css.map | 1 + docs/html/themes/d3/fonts/robotoslab-bold.eot | Bin 0 -> 39370 bytes docs/html/themes/d3/fonts/robotoslab-bold.svg | 688 ++++ docs/html/themes/d3/fonts/robotoslab-bold.ttf | Bin 0 -> 39120 bytes .../html/themes/d3/fonts/robotoslab-bold.woff | Bin 0 -> 23812 bytes .../themes/d3/fonts/robotoslab-bold.woff2 | Bin 0 -> 18720 bytes .../html/themes/d3/fonts/robotoslab-light.eot | Bin 0 -> 40646 bytes .../html/themes/d3/fonts/robotoslab-light.svg | 687 ++++ .../html/themes/d3/fonts/robotoslab-light.ttf | Bin 0 -> 40392 bytes .../themes/d3/fonts/robotoslab-light.woff | Bin 0 -> 24224 bytes .../themes/d3/fonts/robotoslab-light.woff2 | Bin 0 -> 19112 bytes .../themes/d3/fonts/robotoslab-regular.eot | Bin 0 -> 39066 bytes .../themes/d3/fonts/robotoslab-regular.svg | 687 ++++ .../themes/d3/fonts/robotoslab-regular.ttf | Bin 0 -> 38804 bytes .../themes/d3/fonts/robotoslab-regular.woff | Bin 0 -> 23624 bytes .../themes/d3/fonts/robotoslab-regular.woff2 | Bin 0 -> 18620 bytes docs/html/themes/d3/img/favicon.png | Bin 0 -> 4694 bytes docs/html/themes/d3/js/README.md | 12 + docs/html/themes/d3/js/daux.js | 98 + docs/html/themes/d3/js/fontawesome-all.js | 3082 +++++++++++++++++ docs/html/themes/d3/js/highlight.pack.js | 3 + docs/html/themes/d3/js/html5shiv-3.7.3.min.js | 4 + docs/html/themes/d3/js/jquery-1.11.3.min.js | 5 + docs/html/tipuesearch/tipuesearch.css | 177 + docs/html/tipuesearch/tipuesearch.js | 365 ++ .../html/tipuesearch/tipuesearch_content.json | 1 + readme.md | 27 + src/Controllers/Admin/AdminList.php | 25 + src/Controllers/Admin/Base.php | 16 + src/Controllers/Admin/Channels/AdminList.php | 134 + src/Controllers/Admin/Channels/Base.php | 18 + src/Controllers/Admin/Channels/Main.php | 227 ++ src/Controllers/Admin/Channels/Payments.php | 162 + src/Controllers/Admin/Log.php | 27 + src/Controllers/Admin/LogList.php | 21 + src/Controllers/Admin/Order/Heidelpay.php | 184 + src/Controllers/Admin/Settings.php | 184 + src/Controllers/Admin/Support.php | 18 + src/Controllers/Admin/TransactionlogList.php | 140 + src/Controllers/ChannelProvider.php | 61 + src/Controllers/ModuleProvider.php | 157 + src/Controllers/Notify.php | 232 ++ src/Controllers/Order.php | 595 ++++ src/Controllers/Payment.php | 77 + src/Controllers/PaymentCollector.php | 354 ++ src/Controllers/PaymentGateway.php | 275 ++ src/Controllers/Response.php | 655 ++++ src/Cron/collectpayments.php | 84 + src/Cron/cron_bankaccount.php | 74 + src/Cron/cron_bankaccount.sh | 2 + src/IntelliSenseHelper.php | 65 + src/Interfaces/Config/ConstantInterface.php | 27 + .../Criterion/ContainerInterface.php | 15 + src/Interfaces/Parameter/GroupInterface.php | 14 + src/Models/Actions/Action.php | 31 + src/Models/Actions/Capture.php | 23 + src/Models/Actions/Debit.php | 23 + src/Models/Actions/Finalize.php | 22 + src/Models/Actions/Preauthorization.php | 23 + src/Models/Actions/Rebill.php | 26 + src/Models/Actions/Refund.php | 28 + src/Models/Actions/Reversal.php | 24 + src/Models/Bankaccount.php | 288 ++ src/Models/Communicator.php | 206 ++ src/Models/Configuration/ModProfile.php | 18 + src/Models/Containers/Criterions.php | 28 + .../Containers/Criterions/Easycredit.php | 23 + src/Models/Containers/Parameter.php | 440 +++ src/Models/Containers/PrepaymentData.php | 94 + src/Models/Containers/Skeleton.php | 47 + src/Models/Factory.php | 341 ++ src/Models/Generators/Basket.php | 320 ++ src/Models/Generators/Body.php | 34 + src/Models/Mail.php | 54 + src/Models/Ngw.php | 180 + src/Models/Parameter/Criterion.php | 16 + src/Models/Parameter/Dynvalues.php | 40 + src/Models/Parameter/Group/AccountData.php | 56 + src/Models/Parameter/Group/CompanyData.php | 107 + src/Models/Parameter/Group/CustomerData.php | 63 + src/Models/Parameter/Group/FrontendData.php | 42 + src/Models/Parameter/Group/MandatoryData.php | 92 + .../Parameter/Group/RiskInformationData.php | 31 + src/Models/Payment/Btobbillpurchase.php | 175 + src/Models/Payment/Creditcard.php | 39 + src/Models/Payment/Debitcard.php | 42 + src/Models/Payment/Directdebit.php | 40 + src/Models/Payment/Directdebit/Secured.php | 41 + src/Models/Payment/Easycredit.php | 51 + src/Models/Payment/Eps.php | 39 + ...ymentNotReferencedToHeidelpayException.php | 27 + .../UnknownRedirectParameterException.php | 26 + src/Models/Payment/Giropay.php | 39 + src/Models/Payment/Ideal.php | 40 + src/Models/Payment/Invoice/Secured.php | 47 + src/Models/Payment/Invoice/Unsecured.php | 39 + src/Models/Payment/Masterpass.php | 47 + src/Models/Payment/Payment.php | 81 + src/Models/Payment/Paypal.php | 39 + src/Models/Payment/Postfinance.php | 40 + src/Models/Payment/Prepayment.php | 41 + src/Models/Payment/Przelewy24.php | 41 + src/Models/Payment/Sofortueberweisung.php | 39 + src/Models/Redirect.php | 37 + src/Models/Request.php | 53 + .../InvalidHeidelpayDataException.php | 27 + .../Exception/InvalidTagNameException.php | 27 + .../Request/Exception/NoBasketException.php | 24 + .../Request/Exception/NoOrderException.php | 24 + .../Exception/NoPaymentMethodException.php | 24 + .../Exception/NoPaymentOptionException.php | 23 + .../Exception/NoTransactionUniqueId.php | 24 + ...eidelpayOnlinetransferPaymentException.php | 27 + .../Request/Pattern/BankAccountCheck.php | 19 + src/Models/Request/Pattern/Creditcard.php | 19 + src/Models/Request/Pattern/Debitcard.php | 15 + src/Models/Request/Pattern/Directdebit.php | 16 + src/Models/Request/Pattern/Hip.php | 19 + src/Models/Request/Pattern/Onlinetransfer.php | 20 + .../Request/Pattern/OnlinetransferCheck.php | 24 + src/Models/Request/Pattern/Pattern.php | 15 + src/Models/Request/Pattern/Prepayment.php | 19 + src/Models/Request/Xml.php | 687 ++++ src/Models/Response.php | 92 + src/Models/Response/Parser.php | 156 + .../Settings/Channels/BToBBillPurchase.php | 17 + src/Models/Settings/Channels/Cards.php | 22 + src/Models/Settings/Channels/Channels.php | 131 + src/Models/Settings/Channels/CreditCard.php | 22 + src/Models/Settings/Channels/DebitCard.php | 23 + .../Settings/Channels/Directdebit/Secured.php | 21 + .../Channels/Directdebit/Unsecured.php | 17 + src/Models/Settings/Channels/EasyCredit.php | 24 + src/Models/Settings/Channels/Eps.php | 16 + src/Models/Settings/Channels/Giropay.php | 17 + src/Models/Settings/Channels/Ideal.php | 30 + .../Settings/Channels/Invoice/Secured.php | 23 + .../Settings/Channels/Invoice/Unsecured.php | 17 + src/Models/Settings/Channels/Masterpass.php | 21 + .../Settings/Channels/OnlineTransfer.php | 15 + src/Models/Settings/Channels/Paypal.php | 21 + src/Models/Settings/Channels/Postfinance.php | 17 + src/Models/Settings/Channels/Prepayment.php | 16 + src/Models/Settings/Channels/Przelewy24.php | 30 + src/Models/Settings/Channels/Sofort.php | 17 + .../Exception/EmptyPasswordException.php | 23 + .../EmptySecuritySenderException.php | 24 + .../Exception/EmptyUsernameException.php | 23 + src/Models/Settings/Heidelpay.php | 193 ++ .../Transactionlog/Reader/Heidelpay.php | 308 ++ .../Exception/AgbNotAcceptedException.php | 16 + .../CheckSessionChallengeException.php | 17 + ...ustomerinformationNotAcceptedException.php | 17 + .../Verify/Exception/NotLoggedInException.php | 16 + src/Models/Verify/Input.php | 88 + src/Models/Verify/OrderContext.php | 60 + src/Models/Verify/PaymentSuccess.php | 22 + src/Models/Verify/Verify.php | 20 + src/Models/Viewconfig.php | 280 ++ .../Controller/OrderController.php | 793 +++++ .../Controller/PaymentController.php | 778 +++++ .../Controller/ThankYouController.php | 143 + src/Modules/Application/Model/BasketItem.php | 32 + src/Modules/Application/Model/Order.php | 639 ++++ .../Application/Model/PaymentGateway.php | 117 + src/Modules/Core/Counter.php | 31 + src/Modules/Core/Email.php | 122 + src/Modules/Core/InputValidator.php | 50 + src/Setup/CleanupRoutine.php | 81 + src/Setup/InstallRoutine.php | 1403 ++++++++ src/Setup/UpdateRoutine.php | 478 +++ src/Setup/d3hp_errortextsQuerys.php | 1935 +++++++++++ src/Setup/d3hp_oxcontentsQuerys.php | 51 + src/Setup/d3hp_oxpaymentsQuerys.php | 48 + src/d3metadata.php | 26 + src/menu.xml | 30 + src/metadata.php | 238 ++ src/out/img/logo_amex.jpg | Bin 0 -> 4636 bytes src/out/img/logo_billsafe.jpg | Bin 0 -> 5524 bytes src/out/img/logo_cartebancaire.jpg | Bin 0 -> 2071 bytes src/out/img/logo_cartebleue.jpg | Bin 0 -> 2831 bytes src/out/img/logo_cup.jpg | Bin 0 -> 7469 bytes src/out/img/logo_dankort.jpg | Bin 0 -> 2594 bytes src/out/img/logo_diners.jpg | Bin 0 -> 39665 bytes src/out/img/logo_discover.jpg | Bin 0 -> 1915 bytes src/out/img/logo_elv.jpg | Bin 0 -> 2517 bytes src/out/img/logo_eps.jpg | Bin 0 -> 1930 bytes src/out/img/logo_euro6000.jpg | Bin 0 -> 2159 bytes src/out/img/logo_fourb.jpg | Bin 0 -> 2404 bytes src/out/img/logo_giro.jpg | Bin 0 -> 2862 bytes src/out/img/logo_ideal.jpg | Bin 0 -> 2537 bytes src/out/img/logo_jcb.jpg | Bin 0 -> 6193 bytes src/out/img/logo_maestro.jpg | Bin 0 -> 2699 bytes src/out/img/logo_master.jpg | Bin 0 -> 2919 bytes src/out/img/logo_masterpass.jpg | Bin 0 -> 2337 bytes src/out/img/logo_mrcash.jpg | Bin 0 -> 2761 bytes src/out/img/logo_paypal.png | Bin 0 -> 2060 bytes src/out/img/logo_postepay.jpg | Bin 0 -> 3966 bytes src/out/img/logo_postfinance.png | Bin 0 -> 2533 bytes src/out/img/logo_przelewy24.png | Bin 0 -> 12434 bytes src/out/img/logo_ratenkauf_ec.jpg | Bin 0 -> 32224 bytes src/out/img/logo_servired.jpg | Bin 0 -> 3745 bytes src/out/img/logo_sofort.jpg | Bin 0 -> 1774 bytes src/out/img/logo_sofort.png | Bin 0 -> 5044 bytes src/out/img/logo_solo.jpg | Bin 0 -> 1655 bytes src/out/img/logo_visa.jpg | Bin 0 -> 10680 bytes src/out/img/logo_visaelectron.jpg | Bin 0 -> 2412 bytes src/out/img/pruefziffer_amex.jpg | Bin 0 -> 13147 bytes src/out/img/pruefziffer_visa.jpg | Bin 0 -> 10124 bytes src/out/src/css/d3heidelpay.css | 23 + src/out/src/css/d3heidelpay_admin.css | 21 + src/out/src/js/jquery.simple.timer/LICENSE.md | 21 + .../jquery.simple.timer.js | 199 ++ src/picture.png | Bin 0 -> 8091 bytes src/public/.htaccess | 12 + src/public/Btobbillpurchase.php | 3 + src/public/Creditcard.php | 3 + src/public/Debitcard.php | 3 + src/public/Directdebit.php | 3 + src/public/DirectdebitSecured.php | 3 + src/public/Easycredit.php | 3 + src/public/Eps.php | 3 + src/public/Giropay.php | 3 + src/public/Ideal.php | 3 + src/public/InvoiceSecured.php | 3 + src/public/InvoiceUnsecured.php | 3 + src/public/Masterpass.php | 3 + src/public/Paypal.php | 3 + src/public/Postfinance.php | 3 + src/public/Prepayment.php | 3 + src/public/Przelewy24.php | 3 + src/public/Sofortueberweisung.php | 3 + src/public/hp_response.php | 118 + src/public/notify.php | 121 + src/translations/de/d3_heidelpay_lang.php | 245 ++ .../de/d3_heidelpayerrors_lang.php | 627 ++++ src/translations/en/d3_heidelpay_lang.php | 236 ++ .../en/d3_heidelpayerrors_lang.php | 627 ++++ src/views/admin/de/d3_heidelpay_help_lang.php | 182 + src/views/admin/de/d3_heidelpay_lang.php | 256 ++ src/views/admin/en/d3_heidelpay_lang.php | 15 + src/views/admin/tpl/channels/list.tpl | 161 + src/views/admin/tpl/channels/main.tpl | 204 ++ src/views/admin/tpl/channels/new.tpl | 181 + src/views/admin/tpl/channels/payments.tpl | 171 + .../admin/tpl/channels/sub/creditcard.tpl | 78 + .../admin/tpl/channels/sub/debitcard.tpl | 59 + .../tpl/channels/sub/directdebit/secured.tpl | 21 + .../admin/tpl/channels/sub/easycredit.tpl | 35 + src/views/admin/tpl/channels/sub/ideal.tpl | 74 + .../tpl/channels/sub/invoice/secured.tpl | 35 + .../admin/tpl/channels/sub/masterpass.tpl | 21 + src/views/admin/tpl/channels/sub/paypal.tpl | 21 + .../admin/tpl/channels/sub/prepayment.tpl | 78 + .../admin/tpl/channels/sub/przelewy24.tpl | 74 + src/views/admin/tpl/channels/sub/sofort.tpl | 78 + src/views/admin/tpl/order.tpl | 305 ++ src/views/admin/tpl/settings.tpl | 736 ++++ src/views/admin/tpl/transactionloglist.tpl | 283 ++ src/views/azure/tpl/banktransferdata.tpl | 16 + src/views/azure/tpl/cc_input.tpl | 11 + src/views/azure/tpl/forms/birthdate.tpl | 55 + src/views/azure/tpl/forms/radio.tpl | 25 + src/views/azure/tpl/forms/select.tpl | 42 + src/views/azure/tpl/forms/text.tpl | 35 + src/views/azure/tpl/forms/title.tpl | 3 + src/views/azure/tpl/messages.tpl | 17 + .../azure/tpl/order/easycreditcriterions.tpl | 10 + src/views/azure/tpl/order_3ds_iframe.tpl | 44 + src/views/azure/tpl/order_iframe.tpl | 198 ++ .../azure/tpl/payment/btobbillpurchase.tpl | 66 + src/views/azure/tpl/payment/cards.tpl | 35 + src/views/azure/tpl/payment/debitnote.tpl | 158 + src/views/azure/tpl/payment/easycredit.tpl | 55 + src/views/azure/tpl/payment/eps.tpl | 67 + src/views/azure/tpl/payment/giropay.tpl | 42 + src/views/azure/tpl/payment/ideal.tpl | 60 + src/views/azure/tpl/payment/invoice.tpl | 90 + src/views/azure/tpl/payment/masterpass.tpl | 27 + src/views/azure/tpl/payment/paypal.tpl | 35 + src/views/azure/tpl/payment/postfinance.tpl | 46 + src/views/azure/tpl/payment/przelewy24.tpl | 32 + src/views/azure/tpl/payment/sofort.tpl | 42 + src/views/azure/tpl/shippingandpayment.tpl | 17 + src/views/azure/tpl/storeduid.tpl | 47 + .../tpl/thankyou/easycreditcriterions.tpl | 12 + src/views/blocks/admin_headitem_inccss.tpl | 8 + src/views/blocks/base_style.tpl | 11 + src/views/blocks/change_payment.tpl | 22 + .../checkout_basketcontents_grandtotal.tpl | 9 + src/views/blocks/checkout_payment_errors.tpl | 8 + src/views/blocks/checkout_thankyou_info.tpl | 17 + .../email_html_order_cust_paymentinfo.tpl | 42 + .../email_plain_order_cust_paymentinfo.tpl | 24 + src/views/blocks/select_payment.tpl | 7 + src/views/blocks/shippingandpayment.tpl | 7 + src/views/flow/tpl/banktransferdata.tpl | 16 + src/views/flow/tpl/cc_input.tpl | 12 + src/views/flow/tpl/forms/birthdate.tpl | 51 + src/views/flow/tpl/forms/radio.tpl | 25 + src/views/flow/tpl/forms/select.tpl | 44 + src/views/flow/tpl/forms/text.tpl | 38 + src/views/flow/tpl/forms/title.tpl | 5 + src/views/flow/tpl/messages.tpl | 17 + .../flow/tpl/order/easycreditcriterions.tpl | 10 + src/views/flow/tpl/order_iframe.tpl | 177 + .../flow/tpl/payment/btobbillpurchase.tpl | 87 + src/views/flow/tpl/payment/cards.tpl | 56 + src/views/flow/tpl/payment/debitnote.tpl | 184 + src/views/flow/tpl/payment/easycredit.tpl | 82 + src/views/flow/tpl/payment/eps.tpl | 79 + src/views/flow/tpl/payment/giropay.tpl | 50 + src/views/flow/tpl/payment/ideal.tpl | 85 + src/views/flow/tpl/payment/invoice.tpl | 104 + src/views/flow/tpl/payment/masterpass.tpl | 49 + src/views/flow/tpl/payment/paypal.tpl | 57 + src/views/flow/tpl/payment/postfinance.tpl | 58 + src/views/flow/tpl/payment/przelewy24.tpl | 54 + src/views/flow/tpl/payment/sofort.tpl | 50 + src/views/flow/tpl/shippingandpayment.tpl | 19 + src/views/flow/tpl/storeduid.tpl | 55 + .../tpl/thankyou/easycreditcriterions.tpl | 12 + src/views/tpl/email/html/prepayment_cust.tpl | 10 + .../tpl/email/html/prepayment_cust_subj.tpl | 1 + src/views/tpl/email/html/prepayment_owner.tpl | 10 + .../tpl/email/html/prepayment_owner_subj.tpl | 1 + src/views/tpl/email/plain/prepayment_cust.tpl | 4 + .../tpl/email/plain/prepayment_owner.tpl | 4 + src/views/tpl/payment_img.tpl | 1 + src/views/tpl/redirect_postformular.tpl | 18 + src/views/wave/tpl/banktransferdata.tpl | 16 + src/views/wave/tpl/cc_input.tpl | 12 + src/views/wave/tpl/forms/birthdate.tpl | 51 + src/views/wave/tpl/forms/radio.tpl | 25 + src/views/wave/tpl/forms/select.tpl | 44 + src/views/wave/tpl/forms/text.tpl | 38 + src/views/wave/tpl/forms/title.tpl | 5 + src/views/wave/tpl/messages.tpl | 17 + .../wave/tpl/order/easycreditcriterions.tpl | 10 + src/views/wave/tpl/order_iframe.tpl | 190 + .../wave/tpl/payment/btobbillpurchase.tpl | 87 + src/views/wave/tpl/payment/cards.tpl | 57 + src/views/wave/tpl/payment/debitnote.tpl | 184 + src/views/wave/tpl/payment/easycredit.tpl | 82 + src/views/wave/tpl/payment/eps.tpl | 79 + src/views/wave/tpl/payment/giropay.tpl | 50 + src/views/wave/tpl/payment/ideal.tpl | 86 + src/views/wave/tpl/payment/invoice.tpl | 104 + src/views/wave/tpl/payment/masterpass.tpl | 49 + src/views/wave/tpl/payment/paypal.tpl | 57 + src/views/wave/tpl/payment/postfinance.tpl | 58 + src/views/wave/tpl/payment/przelewy24.tpl | 54 + src/views/wave/tpl/payment/sofort.tpl | 50 + src/views/wave/tpl/shippingandpayment.tpl | 19 + src/views/wave/tpl/storeduid.tpl | 59 + .../tpl/thankyou/easycreditcriterions.tpl | 12 + tests/acceptance/selenium/azure.suite | 60 + .../creditcard_step4_NoStoredData_3ds.html | 145 + .../creditcard_step4_NoStoredData_non3ds.html | 111 + ...debitcard_afterstep4_NoStoredData_3ds.html | 145 + ...itcard_afterstep4_NoStoredData_non3ds.html | 120 + .../selenium/cases/directdebit.html | 95 + tests/acceptance/selenium/cases/giropay.html | 135 + tests/acceptance/selenium/cases/invoice.html | 85 + tests/acceptance/selenium/cases/paypal.html | 105 + .../acceptance/selenium/cases/prepayment.html | 91 + .../cases/settings_DefaultTransTypeAuth.html | 100 + .../settings_DefaultTransTypePreauth.html | 100 + .../selenium/cases/settings_SEPAmode.html | 100 + .../settings_SetupEnvironmentVariables.html | 215 ++ .../selenium/cases/settings_nonSEPAmode.html | 100 + .../cases/settings_setup3dsChannels.html | 150 + .../cases/settings_setupGiropayChannels.html | 115 + .../cases/settings_setupNon3dsChannels.html | 150 + .../cases/settings_setupPayPalChannels.html | 115 + .../selenium/cases/sofortueberweisung.html | 130 + .../acceptance/selenium/dudeWantToPay.graphml | 369 ++ tests/acceptance/selenium/requirements.txt | 23 + tests/acceptance/selenium/todo | 2 + tests/unittests/MC_Metrics.php | 260 ++ tests/unittests/additional.inc.php | 21 + tests/unittests/bootstrap.php | 33 + tests/unittests/libs/d3heidelpayTestCase.php | 82 + tests/unittests/libs/vfsStream/vfsStream.php | 162 + .../vfsStream/vfsStreamAbstractContent.php | 115 + .../libs/vfsStream/vfsStreamContainer.php | 32 + .../vfsStream/vfsStreamContainerIterator.php | 42 + .../libs/vfsStream/vfsStreamContent.php | 59 + .../libs/vfsStream/vfsStreamDirectory.php | 107 + .../libs/vfsStream/vfsStreamException.php | 16 + .../libs/vfsStream/vfsStreamFile.php | 122 + .../libs/vfsStream/vfsStreamWrapper.php | 391 +++ .../visitor/vfsStreamAbstractVisitor.php | 32 + .../visitor/vfsStreamPrintVisitor.php | 53 + .../visitor/vfsStreamStructureVisitor.php | 49 + .../vfsStream/visitor/vfsStreamVisitor.php | 27 + tests/unittests/phpmd/d3heidelpay_phpmd.bat | 12 + tests/unittests/phpmd/oxid_ruleset_cyclo.xml | 9 + tests/unittests/phpmd/oxid_ruleset_lines.xml | 9 + tests/unittests/phpmd/oxid_ruleset_npath.xml | 9 + tests/unittests/phpunit.xml | 50 + tests/unittests/phpunit_masterpass.xml | 7 + tests/unittests/phpunitpci3.xml | 8 + tests/unittests/readme.txt | 34 + tests/unittests/runcoverage.bat | 2 + tests/unittests/runcoverage.sh | 7 + tests/unittests/runmetrics.bat | 2 + tests/unittests/runmetrics.sh | 3 + tests/unittests/runtests.bat | 2 + tests/unittests/runtests.sh | 50 + tests/unittests/unit/OxidCommand.php | 38 + tests/unittests/unit/OxidTestCase.php | 372 ++ .../unittests/unit/criticalerrorshandler.php | 44 + tests/unittests/unit/dbMaintenance.php | 134 + .../controllers/admin/order/heidelpayTest.php | 187 + .../controllers/admin/settingsTest.php | 36 + .../d3/d3heidelpay/controllers/orderTest.php | 273 ++ .../controllers/paymentgatewayTest.php | 493 +++ .../d3heidelpay/models/communicatorTest.php | 85 + .../models/containers/parameterTest.php | 48 + .../models/containers/skeletonTest.php | 48 + .../d3heidelpay/models/d3_hp_responseTest.php | 558 +++ .../models/d3hpprepaymentdataTest.php | 162 + .../d3/d3heidelpay/models/factoryTest.php | 236 ++ .../models/generators/basketTest.php | 180 + .../models/generators/bodyTest.php | 44 + ...tnotreferencedtoheidelpayexceptionTest.php | 36 + .../models/payment/paymentTest.php | 116 + .../invalidheidelpaydataexceptionTest.php | 36 + .../exception/invalidtagnameexceptionTest.php | 36 + .../exception/nobasketexceptionTest.php | 35 + .../exception/noorderexceptionTest.php | 35 + .../nopaymentmethodexceptionTest.php | 35 + .../nopaymentoptionexceptionTest.php | 35 + .../exception/notransactionuniqueidTest.php | 36 + ...lpayonlinetransferpaymentexceptionTest.php | 36 + .../models/request/pattern/patternTest.php | 40 + .../d3/d3heidelpay/models/request/xmlTest.php | 954 +++++ .../d3/d3heidelpay/models/requestTest.php | 151 + .../models/response/parserTest.php | 167 + .../d3/d3heidelpay/models/responseTest.php | 62 + .../exception/emptypasswordexceptionTest.php | 35 + .../emptysecuritysenderexceptionTest.php | 35 + .../exception/emptyusernameexceptionTest.php | 35 + .../models/settings/heidelpayTest.php | 276 ++ .../transactionlog/reader/heidelpayTest.php | 187 + .../reader/testdata/PostData.php | 36 + .../reader/testdata/xmlInPostData.php | 46 + .../reader/testdata/xmlresponse.xml | 95 + .../d3heidelpay/models/verify/inputTest.php | 68 + .../models/verify/ordercontextTest.php | 109 + .../models/verify/paymentsuccessTest.php | 37 + .../d3/d3heidelpay/models/viewconfigTest.php | 370 ++ .../controllers/d3_order_heidelpayTest.php | 701 ++++ .../controllers/d3_payment_heidelpayTest.php | 240 ++ .../modules/core/d3_oxemail_heidelpayTest.php | 101 + .../models/d3_d3counter_heidelpayTest.php | 63 + .../d3_oxinputvalidator_heidelpayTest.php | 77 + .../models/d3_oxorder_heidelpayTest.php | 282 ++ .../d3_oxpaymentgateway_heidelpayTest.php | 576 +++ tests/unittests/unit/oxPrinter.php | 107 + tests/unittests/unit/test_config.inc.php | 83 + tests/unittests/unit/test_utils.php | 669 ++++ 587 files changed, 56788 insertions(+) create mode 100644 composer.json create mode 100644 docs/CMS/d3_hp_vorkassemail_cust_plain create mode 100644 docs/CMS/d3_hp_vorkassemail_cust_subject create mode 100644 docs/CMS/d3_hp_vorkassemail_cust_text create mode 100644 docs/CMS/d3_hp_vorkassemail_owner_plain create mode 100644 docs/CMS/d3_hp_vorkassemail_owner_subject create mode 100644 docs/CMS/d3_hp_vorkassemail_owner_text create mode 100644 docs/daux/_index.md create mode 100644 docs/daux/changelog/010_Changelog.md create mode 100644 docs/daux/changelog/020_Channel_Rekonfiguration.md create mode 100644 docs/daux/config.json create mode 100644 docs/daux/configuration/020_Konfiguration/015_Konfiguration_der_Zahlungsarten.md create mode 100644 docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/010_Cronjob_per_Konsole_einrichten.md create mode 100644 docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/020_Cronjob_per_Webaufruf_einrichten.md create mode 100644 docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/030_Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.md create mode 100644 docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/040_OXID_eShop_Enterprise_Edition.md create mode 100644 docs/daux/configuration/020_Konfiguration/020_automatische_Vorkasse_und_Rechnungskauf.md create mode 100644 docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/010_Was_hat_sich_im_Bestellprozess_geaendert.md create mode 100644 docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/020_Was_macht_der_Cronjob.md create mode 100644 docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/030_Was_passiert_bei_einem_Refund.md create mode 100644 docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/040_Wie_ist_der_Cronjob_einzurichten.md create mode 100644 docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/050_Was_ist_noch_zu_beachten.md create mode 100644 docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/060_Infos_fuer_Entwickler.md create mode 100644 docs/daux/configuration/020_Konfiguration/040_Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.md create mode 100644 docs/daux/configuration/_index.md create mode 100644 docs/daux/description/010_Beschreibung.md create mode 100644 docs/daux/description/015_Editionsunterschiede.md create mode 100644 docs/daux/img/Unzer__PrimaryLogo_Raspberry_RGB.png create mode 100644 docs/daux/img/heidelpay_old_channel_configuration.png create mode 100644 docs/daux/img/unzer_new_channel_configuration_loaded.png create mode 100644 docs/daux/img/unzer_new_channel_configuration_payments.png create mode 100644 docs/daux/img/unzer_thank_you_bank_informationen.png create mode 100644 docs/daux/installation/002_Installation.md create mode 100644 docs/daux/installation/010_Anforderungen/010_Systemanforderungen.md create mode 100644 docs/daux/installation/010_Anforderungen/040_Beiliegende_Bibliotheken.md create mode 100644 docs/daux/installation/010_Anforderungen/045_wichtige_Hinweise.md create mode 100644 docs/daux/installation/010_Anforderungen/050_Vorbereitungen.md create mode 100644 docs/daux/installation/015_Schnellstart.md create mode 100644 docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md create mode 100644 docs/daux/installation/020_Neuinstallation/030_Verwendung_eigener_Themes.md create mode 100644 docs/daux/installation/020_Neuinstallation/040_Providerspezifische_Installation.md create mode 100644 docs/daux/installation/020_Neuinstallation/050_Modul_im_Shop_aktivieren.md create mode 100644 docs/daux/installation/020_Neuinstallation/060_Shopanpassungen_installieren.md create mode 100644 docs/daux/installation/020_Neuinstallation/070_TMP-Ordner_leeren.md create mode 100644 docs/daux/installation/020_Neuinstallation/080_Lizenz_eintragen.md create mode 100644 docs/daux/installation/020_Neuinstallation/082_Konfiguration_einstellen.md create mode 100644 docs/daux/installation/020_Neuinstallation/100_Updatefaehigkeit.md create mode 100644 docs/daux/installation/030_Update/005_Updatedefinition.md create mode 100644 docs/daux/installation/030_Update/010_Modul_deaktivieren.md create mode 100644 docs/daux/installation/030_Update/020_Dateien_erneuern.md create mode 100644 docs/daux/installation/030_Update/030_Providerspezifische_Installation.md create mode 100644 docs/daux/installation/030_Update/040_Modulinformationen_aktualisieren.md create mode 100644 docs/daux/installation/030_Update/050_Shopanpassungen_installieren.md create mode 100644 docs/daux/installation/030_Update/060_TMP-Ordner_leeren.md create mode 100644 docs/daux/installation/030_Update/070_Lizenzschluessel_aktualisieren.md create mode 100644 docs/daux/installation/030_Update/080_Erweiterungen_anpassen.md create mode 100644 docs/daux/installation/030_Update/090_Aenderungen_kontrollieren.md create mode 100644 docs/daux/installation/040_Installationspruefung.md create mode 100644 docs/daux/installation/060_Deinstallation/010_Modulerweiterungen_deaktivieren_und_entfernen.md create mode 100644 docs/daux/installation/060_Deinstallation/020_Modul_deaktivieren.md create mode 100644 docs/daux/installation/060_Deinstallation/030_Modul_aus_der_Installation_entfernen.md create mode 100644 docs/daux/installation/060_Deinstallation/040_Dateien_loeschen.md create mode 100644 docs/daux/installation/060_Deinstallation/050_Datenbank_bereinigen.md create mode 100644 docs/daux/installation/060_Deinstallation/060_TMP-Ordner_leeren.md create mode 100644 docs/daux/support/010_Hilfe-und-Support.md create mode 100644 docs/html/changelog/Changelog.html create mode 100644 docs/html/changelog/Channel_Rekonfiguration.html create mode 100644 docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Konsole_einrichten.html create mode 100644 docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Webaufruf_einrichten.html create mode 100644 docs/html/configuration/Konfiguration/Cronjob_einrichten/OXID_eShop_Enterprise_Edition.html create mode 100644 docs/html/configuration/Konfiguration/Cronjob_einrichten/Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.html create mode 100644 docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Infos_fuer_Entwickler.html create mode 100644 docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_hat_sich_im_Bestellprozess_geaendert.html create mode 100644 docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_ist_noch_zu_beachten.html create mode 100644 docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_macht_der_Cronjob.html create mode 100644 docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_passiert_bei_einem_Refund.html create mode 100644 docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Wie_ist_der_Cronjob_einzurichten.html create mode 100644 docs/html/configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html create mode 100644 docs/html/configuration/Konfiguration/Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.html create mode 100644 docs/html/configuration/Konfiguration/automatische_Vorkasse_und_Rechnungskauf.html create mode 100644 docs/html/configuration/index.html create mode 100644 docs/html/description/Beschreibung.html create mode 100644 docs/html/description/Editionsunterschiede.html create mode 100644 docs/html/img/Unzer__PrimaryLogo_Raspberry_RGB.png create mode 100644 docs/html/img/heidelpay_old_channel_configuration.png create mode 100644 docs/html/img/unzer_new_channel_configuration_loaded.png create mode 100644 docs/html/img/unzer_new_channel_configuration_payments.png create mode 100644 docs/html/img/unzer_thank_you_bank_informationen.png create mode 100644 docs/html/index.html create mode 100644 docs/html/installation/Anforderungen/Beiliegende_Bibliotheken.html create mode 100644 docs/html/installation/Anforderungen/Systemanforderungen.html create mode 100644 docs/html/installation/Anforderungen/Vorbereitungen.html create mode 100644 docs/html/installation/Anforderungen/wichtige_Hinweise.html create mode 100644 docs/html/installation/Deinstallation/Dateien_loeschen.html create mode 100644 docs/html/installation/Deinstallation/Datenbank_bereinigen.html create mode 100644 docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html create mode 100644 docs/html/installation/Deinstallation/Modul_deaktivieren.html create mode 100644 docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html create mode 100644 docs/html/installation/Deinstallation/TMP-Ordner_leeren.html create mode 100644 docs/html/installation/Installation.html create mode 100644 docs/html/installation/Installationspruefung.html create mode 100644 docs/html/installation/Neuinstallation/Konfiguration_einstellen.html create mode 100644 docs/html/installation/Neuinstallation/Lizenz_eintragen.html create mode 100644 docs/html/installation/Neuinstallation/Modul_hinzufuegen.html create mode 100644 docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html create mode 100644 docs/html/installation/Neuinstallation/Providerspezifische_Installation.html create mode 100644 docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html create mode 100644 docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html create mode 100644 docs/html/installation/Neuinstallation/Updatefaehigkeit.html create mode 100644 docs/html/installation/Neuinstallation/Verwendung_eigener_Themes.html create mode 100644 docs/html/installation/Schnellstart.html create mode 100644 docs/html/installation/Update/Aenderungen_kontrollieren.html create mode 100644 docs/html/installation/Update/Dateien_erneuern.html create mode 100644 docs/html/installation/Update/Erweiterungen_anpassen.html create mode 100644 docs/html/installation/Update/Lizenzschluessel_aktualisieren.html create mode 100644 docs/html/installation/Update/Modul_deaktivieren.html create mode 100644 docs/html/installation/Update/Modulinformationen_aktualisieren.html create mode 100644 docs/html/installation/Update/Providerspezifische_Installation.html create mode 100644 docs/html/installation/Update/Shopanpassungen_installieren.html create mode 100644 docs/html/installation/Update/TMP-Ordner_leeren.html create mode 100644 docs/html/installation/Update/Updatedefinition.html create mode 100644 docs/html/support/Hilfe-und-Support.html create mode 100644 docs/html/themes/d3/css/d3.css create mode 100644 docs/html/themes/d3/css/theme-blue.min.css create mode 100644 docs/html/themes/d3/css/theme-blue.min.css.map create mode 100644 docs/html/themes/d3/fonts/robotoslab-bold.eot create mode 100644 docs/html/themes/d3/fonts/robotoslab-bold.svg create mode 100644 docs/html/themes/d3/fonts/robotoslab-bold.ttf create mode 100644 docs/html/themes/d3/fonts/robotoslab-bold.woff create mode 100644 docs/html/themes/d3/fonts/robotoslab-bold.woff2 create mode 100644 docs/html/themes/d3/fonts/robotoslab-light.eot create mode 100644 docs/html/themes/d3/fonts/robotoslab-light.svg create mode 100644 docs/html/themes/d3/fonts/robotoslab-light.ttf create mode 100644 docs/html/themes/d3/fonts/robotoslab-light.woff create mode 100644 docs/html/themes/d3/fonts/robotoslab-light.woff2 create mode 100644 docs/html/themes/d3/fonts/robotoslab-regular.eot create mode 100644 docs/html/themes/d3/fonts/robotoslab-regular.svg create mode 100644 docs/html/themes/d3/fonts/robotoslab-regular.ttf create mode 100644 docs/html/themes/d3/fonts/robotoslab-regular.woff create mode 100644 docs/html/themes/d3/fonts/robotoslab-regular.woff2 create mode 100644 docs/html/themes/d3/img/favicon.png create mode 100644 docs/html/themes/d3/js/README.md create mode 100644 docs/html/themes/d3/js/daux.js create mode 100644 docs/html/themes/d3/js/fontawesome-all.js create mode 100644 docs/html/themes/d3/js/highlight.pack.js create mode 100644 docs/html/themes/d3/js/html5shiv-3.7.3.min.js create mode 100644 docs/html/themes/d3/js/jquery-1.11.3.min.js create mode 100644 docs/html/tipuesearch/tipuesearch.css create mode 100644 docs/html/tipuesearch/tipuesearch.js create mode 100644 docs/html/tipuesearch/tipuesearch_content.json create mode 100644 readme.md create mode 100644 src/Controllers/Admin/AdminList.php create mode 100644 src/Controllers/Admin/Base.php create mode 100644 src/Controllers/Admin/Channels/AdminList.php create mode 100644 src/Controllers/Admin/Channels/Base.php create mode 100644 src/Controllers/Admin/Channels/Main.php create mode 100644 src/Controllers/Admin/Channels/Payments.php create mode 100644 src/Controllers/Admin/Log.php create mode 100644 src/Controllers/Admin/LogList.php create mode 100644 src/Controllers/Admin/Order/Heidelpay.php create mode 100644 src/Controllers/Admin/Settings.php create mode 100644 src/Controllers/Admin/Support.php create mode 100644 src/Controllers/Admin/TransactionlogList.php create mode 100644 src/Controllers/ChannelProvider.php create mode 100644 src/Controllers/ModuleProvider.php create mode 100644 src/Controllers/Notify.php create mode 100644 src/Controllers/Order.php create mode 100644 src/Controllers/Payment.php create mode 100644 src/Controllers/PaymentCollector.php create mode 100644 src/Controllers/PaymentGateway.php create mode 100644 src/Controllers/Response.php create mode 100644 src/Cron/collectpayments.php create mode 100644 src/Cron/cron_bankaccount.php create mode 100644 src/Cron/cron_bankaccount.sh create mode 100644 src/IntelliSenseHelper.php create mode 100644 src/Interfaces/Config/ConstantInterface.php create mode 100644 src/Interfaces/Criterion/ContainerInterface.php create mode 100644 src/Interfaces/Parameter/GroupInterface.php create mode 100644 src/Models/Actions/Action.php create mode 100644 src/Models/Actions/Capture.php create mode 100644 src/Models/Actions/Debit.php create mode 100644 src/Models/Actions/Finalize.php create mode 100644 src/Models/Actions/Preauthorization.php create mode 100644 src/Models/Actions/Rebill.php create mode 100644 src/Models/Actions/Refund.php create mode 100644 src/Models/Actions/Reversal.php create mode 100644 src/Models/Bankaccount.php create mode 100644 src/Models/Communicator.php create mode 100644 src/Models/Configuration/ModProfile.php create mode 100644 src/Models/Containers/Criterions.php create mode 100644 src/Models/Containers/Criterions/Easycredit.php create mode 100644 src/Models/Containers/Parameter.php create mode 100644 src/Models/Containers/PrepaymentData.php create mode 100644 src/Models/Containers/Skeleton.php create mode 100644 src/Models/Factory.php create mode 100644 src/Models/Generators/Basket.php create mode 100644 src/Models/Generators/Body.php create mode 100644 src/Models/Mail.php create mode 100644 src/Models/Ngw.php create mode 100644 src/Models/Parameter/Criterion.php create mode 100644 src/Models/Parameter/Dynvalues.php create mode 100644 src/Models/Parameter/Group/AccountData.php create mode 100644 src/Models/Parameter/Group/CompanyData.php create mode 100644 src/Models/Parameter/Group/CustomerData.php create mode 100644 src/Models/Parameter/Group/FrontendData.php create mode 100644 src/Models/Parameter/Group/MandatoryData.php create mode 100644 src/Models/Parameter/Group/RiskInformationData.php create mode 100644 src/Models/Payment/Btobbillpurchase.php create mode 100644 src/Models/Payment/Creditcard.php create mode 100644 src/Models/Payment/Debitcard.php create mode 100644 src/Models/Payment/Directdebit.php create mode 100644 src/Models/Payment/Directdebit/Secured.php create mode 100644 src/Models/Payment/Easycredit.php create mode 100644 src/Models/Payment/Eps.php create mode 100644 src/Models/Payment/Exception/PaymentNotReferencedToHeidelpayException.php create mode 100644 src/Models/Payment/Exception/UnknownRedirectParameterException.php create mode 100644 src/Models/Payment/Giropay.php create mode 100644 src/Models/Payment/Ideal.php create mode 100644 src/Models/Payment/Invoice/Secured.php create mode 100644 src/Models/Payment/Invoice/Unsecured.php create mode 100644 src/Models/Payment/Masterpass.php create mode 100644 src/Models/Payment/Payment.php create mode 100644 src/Models/Payment/Paypal.php create mode 100644 src/Models/Payment/Postfinance.php create mode 100644 src/Models/Payment/Prepayment.php create mode 100644 src/Models/Payment/Przelewy24.php create mode 100644 src/Models/Payment/Sofortueberweisung.php create mode 100644 src/Models/Redirect.php create mode 100644 src/Models/Request.php create mode 100644 src/Models/Request/Exception/InvalidHeidelpayDataException.php create mode 100644 src/Models/Request/Exception/InvalidTagNameException.php create mode 100644 src/Models/Request/Exception/NoBasketException.php create mode 100644 src/Models/Request/Exception/NoOrderException.php create mode 100644 src/Models/Request/Exception/NoPaymentMethodException.php create mode 100644 src/Models/Request/Exception/NoPaymentOptionException.php create mode 100644 src/Models/Request/Exception/NoTransactionUniqueId.php create mode 100644 src/Models/Request/Exception/UnknownHeidelpayOnlinetransferPaymentException.php create mode 100644 src/Models/Request/Pattern/BankAccountCheck.php create mode 100644 src/Models/Request/Pattern/Creditcard.php create mode 100644 src/Models/Request/Pattern/Debitcard.php create mode 100644 src/Models/Request/Pattern/Directdebit.php create mode 100644 src/Models/Request/Pattern/Hip.php create mode 100644 src/Models/Request/Pattern/Onlinetransfer.php create mode 100644 src/Models/Request/Pattern/OnlinetransferCheck.php create mode 100644 src/Models/Request/Pattern/Pattern.php create mode 100644 src/Models/Request/Pattern/Prepayment.php create mode 100644 src/Models/Request/Xml.php create mode 100644 src/Models/Response.php create mode 100644 src/Models/Response/Parser.php create mode 100644 src/Models/Settings/Channels/BToBBillPurchase.php create mode 100644 src/Models/Settings/Channels/Cards.php create mode 100644 src/Models/Settings/Channels/Channels.php create mode 100644 src/Models/Settings/Channels/CreditCard.php create mode 100644 src/Models/Settings/Channels/DebitCard.php create mode 100644 src/Models/Settings/Channels/Directdebit/Secured.php create mode 100644 src/Models/Settings/Channels/Directdebit/Unsecured.php create mode 100644 src/Models/Settings/Channels/EasyCredit.php create mode 100644 src/Models/Settings/Channels/Eps.php create mode 100644 src/Models/Settings/Channels/Giropay.php create mode 100644 src/Models/Settings/Channels/Ideal.php create mode 100644 src/Models/Settings/Channels/Invoice/Secured.php create mode 100644 src/Models/Settings/Channels/Invoice/Unsecured.php create mode 100644 src/Models/Settings/Channels/Masterpass.php create mode 100644 src/Models/Settings/Channels/OnlineTransfer.php create mode 100644 src/Models/Settings/Channels/Paypal.php create mode 100644 src/Models/Settings/Channels/Postfinance.php create mode 100644 src/Models/Settings/Channels/Prepayment.php create mode 100644 src/Models/Settings/Channels/Przelewy24.php create mode 100644 src/Models/Settings/Channels/Sofort.php create mode 100644 src/Models/Settings/Exception/EmptyPasswordException.php create mode 100644 src/Models/Settings/Exception/EmptySecuritySenderException.php create mode 100644 src/Models/Settings/Exception/EmptyUsernameException.php create mode 100644 src/Models/Settings/Heidelpay.php create mode 100644 src/Models/Transactionlog/Reader/Heidelpay.php create mode 100644 src/Models/Verify/Exception/AgbNotAcceptedException.php create mode 100644 src/Models/Verify/Exception/CheckSessionChallengeException.php create mode 100644 src/Models/Verify/Exception/CustomerinformationNotAcceptedException.php create mode 100644 src/Models/Verify/Exception/NotLoggedInException.php create mode 100644 src/Models/Verify/Input.php create mode 100644 src/Models/Verify/OrderContext.php create mode 100644 src/Models/Verify/PaymentSuccess.php create mode 100644 src/Models/Verify/Verify.php create mode 100644 src/Models/Viewconfig.php create mode 100644 src/Modules/Application/Controller/OrderController.php create mode 100644 src/Modules/Application/Controller/PaymentController.php create mode 100644 src/Modules/Application/Controller/ThankYouController.php create mode 100644 src/Modules/Application/Model/BasketItem.php create mode 100644 src/Modules/Application/Model/Order.php create mode 100644 src/Modules/Application/Model/PaymentGateway.php create mode 100644 src/Modules/Core/Counter.php create mode 100644 src/Modules/Core/Email.php create mode 100644 src/Modules/Core/InputValidator.php create mode 100644 src/Setup/CleanupRoutine.php create mode 100644 src/Setup/InstallRoutine.php create mode 100644 src/Setup/UpdateRoutine.php create mode 100644 src/Setup/d3hp_errortextsQuerys.php create mode 100644 src/Setup/d3hp_oxcontentsQuerys.php create mode 100644 src/Setup/d3hp_oxpaymentsQuerys.php create mode 100644 src/d3metadata.php create mode 100644 src/menu.xml create mode 100644 src/metadata.php create mode 100644 src/out/img/logo_amex.jpg create mode 100644 src/out/img/logo_billsafe.jpg create mode 100644 src/out/img/logo_cartebancaire.jpg create mode 100644 src/out/img/logo_cartebleue.jpg create mode 100644 src/out/img/logo_cup.jpg create mode 100644 src/out/img/logo_dankort.jpg create mode 100644 src/out/img/logo_diners.jpg create mode 100644 src/out/img/logo_discover.jpg create mode 100644 src/out/img/logo_elv.jpg create mode 100644 src/out/img/logo_eps.jpg create mode 100644 src/out/img/logo_euro6000.jpg create mode 100644 src/out/img/logo_fourb.jpg create mode 100644 src/out/img/logo_giro.jpg create mode 100644 src/out/img/logo_ideal.jpg create mode 100644 src/out/img/logo_jcb.jpg create mode 100644 src/out/img/logo_maestro.jpg create mode 100644 src/out/img/logo_master.jpg create mode 100644 src/out/img/logo_masterpass.jpg create mode 100644 src/out/img/logo_mrcash.jpg create mode 100644 src/out/img/logo_paypal.png create mode 100644 src/out/img/logo_postepay.jpg create mode 100644 src/out/img/logo_postfinance.png create mode 100644 src/out/img/logo_przelewy24.png create mode 100644 src/out/img/logo_ratenkauf_ec.jpg create mode 100644 src/out/img/logo_servired.jpg create mode 100644 src/out/img/logo_sofort.jpg create mode 100644 src/out/img/logo_sofort.png create mode 100644 src/out/img/logo_solo.jpg create mode 100644 src/out/img/logo_visa.jpg create mode 100644 src/out/img/logo_visaelectron.jpg create mode 100644 src/out/img/pruefziffer_amex.jpg create mode 100644 src/out/img/pruefziffer_visa.jpg create mode 100644 src/out/src/css/d3heidelpay.css create mode 100644 src/out/src/css/d3heidelpay_admin.css create mode 100644 src/out/src/js/jquery.simple.timer/LICENSE.md create mode 100644 src/out/src/js/jquery.simple.timer/jquery.simple.timer.js create mode 100644 src/picture.png create mode 100644 src/public/.htaccess create mode 100644 src/public/Btobbillpurchase.php create mode 100644 src/public/Creditcard.php create mode 100644 src/public/Debitcard.php create mode 100644 src/public/Directdebit.php create mode 100644 src/public/DirectdebitSecured.php create mode 100644 src/public/Easycredit.php create mode 100644 src/public/Eps.php create mode 100644 src/public/Giropay.php create mode 100644 src/public/Ideal.php create mode 100644 src/public/InvoiceSecured.php create mode 100644 src/public/InvoiceUnsecured.php create mode 100644 src/public/Masterpass.php create mode 100644 src/public/Paypal.php create mode 100644 src/public/Postfinance.php create mode 100644 src/public/Prepayment.php create mode 100644 src/public/Przelewy24.php create mode 100644 src/public/Sofortueberweisung.php create mode 100644 src/public/hp_response.php create mode 100644 src/public/notify.php create mode 100644 src/translations/de/d3_heidelpay_lang.php create mode 100644 src/translations/de/d3_heidelpayerrors_lang.php create mode 100644 src/translations/en/d3_heidelpay_lang.php create mode 100644 src/translations/en/d3_heidelpayerrors_lang.php create mode 100644 src/views/admin/de/d3_heidelpay_help_lang.php create mode 100644 src/views/admin/de/d3_heidelpay_lang.php create mode 100644 src/views/admin/en/d3_heidelpay_lang.php create mode 100644 src/views/admin/tpl/channels/list.tpl create mode 100644 src/views/admin/tpl/channels/main.tpl create mode 100644 src/views/admin/tpl/channels/new.tpl create mode 100644 src/views/admin/tpl/channels/payments.tpl create mode 100644 src/views/admin/tpl/channels/sub/creditcard.tpl create mode 100644 src/views/admin/tpl/channels/sub/debitcard.tpl create mode 100644 src/views/admin/tpl/channels/sub/directdebit/secured.tpl create mode 100644 src/views/admin/tpl/channels/sub/easycredit.tpl create mode 100644 src/views/admin/tpl/channels/sub/ideal.tpl create mode 100644 src/views/admin/tpl/channels/sub/invoice/secured.tpl create mode 100644 src/views/admin/tpl/channels/sub/masterpass.tpl create mode 100644 src/views/admin/tpl/channels/sub/paypal.tpl create mode 100644 src/views/admin/tpl/channels/sub/prepayment.tpl create mode 100644 src/views/admin/tpl/channels/sub/przelewy24.tpl create mode 100644 src/views/admin/tpl/channels/sub/sofort.tpl create mode 100644 src/views/admin/tpl/order.tpl create mode 100644 src/views/admin/tpl/settings.tpl create mode 100644 src/views/admin/tpl/transactionloglist.tpl create mode 100644 src/views/azure/tpl/banktransferdata.tpl create mode 100644 src/views/azure/tpl/cc_input.tpl create mode 100644 src/views/azure/tpl/forms/birthdate.tpl create mode 100644 src/views/azure/tpl/forms/radio.tpl create mode 100644 src/views/azure/tpl/forms/select.tpl create mode 100644 src/views/azure/tpl/forms/text.tpl create mode 100644 src/views/azure/tpl/forms/title.tpl create mode 100644 src/views/azure/tpl/messages.tpl create mode 100644 src/views/azure/tpl/order/easycreditcriterions.tpl create mode 100644 src/views/azure/tpl/order_3ds_iframe.tpl create mode 100644 src/views/azure/tpl/order_iframe.tpl create mode 100644 src/views/azure/tpl/payment/btobbillpurchase.tpl create mode 100644 src/views/azure/tpl/payment/cards.tpl create mode 100644 src/views/azure/tpl/payment/debitnote.tpl create mode 100644 src/views/azure/tpl/payment/easycredit.tpl create mode 100644 src/views/azure/tpl/payment/eps.tpl create mode 100644 src/views/azure/tpl/payment/giropay.tpl create mode 100644 src/views/azure/tpl/payment/ideal.tpl create mode 100644 src/views/azure/tpl/payment/invoice.tpl create mode 100644 src/views/azure/tpl/payment/masterpass.tpl create mode 100644 src/views/azure/tpl/payment/paypal.tpl create mode 100644 src/views/azure/tpl/payment/postfinance.tpl create mode 100644 src/views/azure/tpl/payment/przelewy24.tpl create mode 100644 src/views/azure/tpl/payment/sofort.tpl create mode 100644 src/views/azure/tpl/shippingandpayment.tpl create mode 100644 src/views/azure/tpl/storeduid.tpl create mode 100644 src/views/azure/tpl/thankyou/easycreditcriterions.tpl create mode 100644 src/views/blocks/admin_headitem_inccss.tpl create mode 100644 src/views/blocks/base_style.tpl create mode 100644 src/views/blocks/change_payment.tpl create mode 100644 src/views/blocks/checkout_basketcontents_grandtotal.tpl create mode 100644 src/views/blocks/checkout_payment_errors.tpl create mode 100644 src/views/blocks/checkout_thankyou_info.tpl create mode 100644 src/views/blocks/email_html_order_cust_paymentinfo.tpl create mode 100644 src/views/blocks/email_plain_order_cust_paymentinfo.tpl create mode 100644 src/views/blocks/select_payment.tpl create mode 100644 src/views/blocks/shippingandpayment.tpl create mode 100644 src/views/flow/tpl/banktransferdata.tpl create mode 100644 src/views/flow/tpl/cc_input.tpl create mode 100644 src/views/flow/tpl/forms/birthdate.tpl create mode 100644 src/views/flow/tpl/forms/radio.tpl create mode 100644 src/views/flow/tpl/forms/select.tpl create mode 100644 src/views/flow/tpl/forms/text.tpl create mode 100644 src/views/flow/tpl/forms/title.tpl create mode 100644 src/views/flow/tpl/messages.tpl create mode 100644 src/views/flow/tpl/order/easycreditcriterions.tpl create mode 100644 src/views/flow/tpl/order_iframe.tpl create mode 100644 src/views/flow/tpl/payment/btobbillpurchase.tpl create mode 100644 src/views/flow/tpl/payment/cards.tpl create mode 100644 src/views/flow/tpl/payment/debitnote.tpl create mode 100644 src/views/flow/tpl/payment/easycredit.tpl create mode 100644 src/views/flow/tpl/payment/eps.tpl create mode 100644 src/views/flow/tpl/payment/giropay.tpl create mode 100644 src/views/flow/tpl/payment/ideal.tpl create mode 100644 src/views/flow/tpl/payment/invoice.tpl create mode 100644 src/views/flow/tpl/payment/masterpass.tpl create mode 100644 src/views/flow/tpl/payment/paypal.tpl create mode 100644 src/views/flow/tpl/payment/postfinance.tpl create mode 100644 src/views/flow/tpl/payment/przelewy24.tpl create mode 100644 src/views/flow/tpl/payment/sofort.tpl create mode 100644 src/views/flow/tpl/shippingandpayment.tpl create mode 100644 src/views/flow/tpl/storeduid.tpl create mode 100644 src/views/flow/tpl/thankyou/easycreditcriterions.tpl create mode 100644 src/views/tpl/email/html/prepayment_cust.tpl create mode 100644 src/views/tpl/email/html/prepayment_cust_subj.tpl create mode 100644 src/views/tpl/email/html/prepayment_owner.tpl create mode 100644 src/views/tpl/email/html/prepayment_owner_subj.tpl create mode 100644 src/views/tpl/email/plain/prepayment_cust.tpl create mode 100644 src/views/tpl/email/plain/prepayment_owner.tpl create mode 100644 src/views/tpl/payment_img.tpl create mode 100644 src/views/tpl/redirect_postformular.tpl create mode 100644 src/views/wave/tpl/banktransferdata.tpl create mode 100644 src/views/wave/tpl/cc_input.tpl create mode 100644 src/views/wave/tpl/forms/birthdate.tpl create mode 100644 src/views/wave/tpl/forms/radio.tpl create mode 100644 src/views/wave/tpl/forms/select.tpl create mode 100644 src/views/wave/tpl/forms/text.tpl create mode 100644 src/views/wave/tpl/forms/title.tpl create mode 100644 src/views/wave/tpl/messages.tpl create mode 100644 src/views/wave/tpl/order/easycreditcriterions.tpl create mode 100644 src/views/wave/tpl/order_iframe.tpl create mode 100644 src/views/wave/tpl/payment/btobbillpurchase.tpl create mode 100644 src/views/wave/tpl/payment/cards.tpl create mode 100644 src/views/wave/tpl/payment/debitnote.tpl create mode 100644 src/views/wave/tpl/payment/easycredit.tpl create mode 100644 src/views/wave/tpl/payment/eps.tpl create mode 100644 src/views/wave/tpl/payment/giropay.tpl create mode 100644 src/views/wave/tpl/payment/ideal.tpl create mode 100644 src/views/wave/tpl/payment/invoice.tpl create mode 100644 src/views/wave/tpl/payment/masterpass.tpl create mode 100644 src/views/wave/tpl/payment/paypal.tpl create mode 100644 src/views/wave/tpl/payment/postfinance.tpl create mode 100644 src/views/wave/tpl/payment/przelewy24.tpl create mode 100644 src/views/wave/tpl/payment/sofort.tpl create mode 100644 src/views/wave/tpl/shippingandpayment.tpl create mode 100644 src/views/wave/tpl/storeduid.tpl create mode 100644 src/views/wave/tpl/thankyou/easycreditcriterions.tpl create mode 100644 tests/acceptance/selenium/azure.suite create mode 100644 tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_3ds.html create mode 100644 tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_non3ds.html create mode 100644 tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_3ds.html create mode 100644 tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_non3ds.html create mode 100644 tests/acceptance/selenium/cases/directdebit.html create mode 100644 tests/acceptance/selenium/cases/giropay.html create mode 100644 tests/acceptance/selenium/cases/invoice.html create mode 100644 tests/acceptance/selenium/cases/paypal.html create mode 100644 tests/acceptance/selenium/cases/prepayment.html create mode 100644 tests/acceptance/selenium/cases/settings_DefaultTransTypeAuth.html create mode 100644 tests/acceptance/selenium/cases/settings_DefaultTransTypePreauth.html create mode 100644 tests/acceptance/selenium/cases/settings_SEPAmode.html create mode 100644 tests/acceptance/selenium/cases/settings_SetupEnvironmentVariables.html create mode 100644 tests/acceptance/selenium/cases/settings_nonSEPAmode.html create mode 100644 tests/acceptance/selenium/cases/settings_setup3dsChannels.html create mode 100644 tests/acceptance/selenium/cases/settings_setupGiropayChannels.html create mode 100644 tests/acceptance/selenium/cases/settings_setupNon3dsChannels.html create mode 100644 tests/acceptance/selenium/cases/settings_setupPayPalChannels.html create mode 100644 tests/acceptance/selenium/cases/sofortueberweisung.html create mode 100644 tests/acceptance/selenium/dudeWantToPay.graphml create mode 100644 tests/acceptance/selenium/requirements.txt create mode 100644 tests/acceptance/selenium/todo create mode 100644 tests/unittests/MC_Metrics.php create mode 100644 tests/unittests/additional.inc.php create mode 100644 tests/unittests/bootstrap.php create mode 100644 tests/unittests/libs/d3heidelpayTestCase.php create mode 100644 tests/unittests/libs/vfsStream/vfsStream.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamAbstractContent.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamContainer.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamContainerIterator.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamContent.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamDirectory.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamException.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamFile.php create mode 100644 tests/unittests/libs/vfsStream/vfsStreamWrapper.php create mode 100644 tests/unittests/libs/vfsStream/visitor/vfsStreamAbstractVisitor.php create mode 100644 tests/unittests/libs/vfsStream/visitor/vfsStreamPrintVisitor.php create mode 100644 tests/unittests/libs/vfsStream/visitor/vfsStreamStructureVisitor.php create mode 100644 tests/unittests/libs/vfsStream/visitor/vfsStreamVisitor.php create mode 100644 tests/unittests/phpmd/d3heidelpay_phpmd.bat create mode 100644 tests/unittests/phpmd/oxid_ruleset_cyclo.xml create mode 100644 tests/unittests/phpmd/oxid_ruleset_lines.xml create mode 100644 tests/unittests/phpmd/oxid_ruleset_npath.xml create mode 100644 tests/unittests/phpunit.xml create mode 100644 tests/unittests/phpunit_masterpass.xml create mode 100644 tests/unittests/phpunitpci3.xml create mode 100644 tests/unittests/readme.txt create mode 100644 tests/unittests/runcoverage.bat create mode 100644 tests/unittests/runcoverage.sh create mode 100644 tests/unittests/runmetrics.bat create mode 100644 tests/unittests/runmetrics.sh create mode 100644 tests/unittests/runtests.bat create mode 100644 tests/unittests/runtests.sh create mode 100644 tests/unittests/unit/OxidCommand.php create mode 100644 tests/unittests/unit/OxidTestCase.php create mode 100644 tests/unittests/unit/criticalerrorshandler.php create mode 100644 tests/unittests/unit/dbMaintenance.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/order/heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/settingsTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/controllers/orderTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/controllers/paymentgatewayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/communicatorTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/containers/parameterTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/containers/skeletonTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/d3_hp_responseTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/d3hpprepaymentdataTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/factoryTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/generators/basketTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/generators/bodyTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/payment/exception/paymentnotreferencedtoheidelpayexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/payment/paymentTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidheidelpaydataexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidtagnameexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nobasketexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/noorderexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentmethodexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentoptionexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/notransactionuniqueidTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/unknownheidelpayonlinetransferpaymentexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/pattern/patternTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/request/xmlTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/requestTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/response/parserTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/responseTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptypasswordexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptysecuritysenderexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptyusernameexceptionTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/settings/heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/PostData.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlInPostData.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlresponse.xml create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/verify/inputTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/verify/ordercontextTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/verify/paymentsuccessTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/models/viewconfigTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_order_heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_payment_heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/core/d3_oxemail_heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_d3counter_heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxinputvalidator_heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxorder_heidelpayTest.php create mode 100644 tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxpaymentgateway_heidelpayTest.php create mode 100644 tests/unittests/unit/oxPrinter.php create mode 100644 tests/unittests/unit/test_config.inc.php create mode 100644 tests/unittests/unit/test_utils.php diff --git a/composer.json b/composer.json new file mode 100644 index 00000000..2e05451e --- /dev/null +++ b/composer.json @@ -0,0 +1,58 @@ +{ + "name": "d3/unzer", + "description": "Unzer client module for oxid eShop v6", + "type": "oxideshop-module", + "authors": [ + { + "name": "D3 Data Development (Inh. Thomas Dartsch)", + "email": "info@shopmodule.com", + "homepage": "http://www.oxidmodule.com", + "role": "Owner" + } + ], + "support": { + "email": "support@shopmodule.com" + }, + "keywords": [ + "oxid", + "modules", + "eShop", + "d3", + "unzer", + "creditcard", + "debitcard", + "payment" + ], + "homepage": "https://www.oxidmodule.com/", + "license": [ + "proprietary" + ], + "extra": { + "oxideshop": { + "source-directory": "/src", + "target-directory": "d3/heidelpay" + } + }, + "require": { + "php": "7.1 - 7.4", "ext-ionCube-Loader": "*", + "lib-curl": ">=7.34.0", + "lib-openssl": ">=1.0.1", + "ext-curl": "*", + "ext-openssl": "*", + "ext-libxml": "*", + "ext-dom": "*", + "ext-simplexml": "*", + "ext-bcmath": "*", + "ext-json": "*", + "oxid-esales/oxideshop-ce": "6.0 - 6.6", + "d3/modcfg": "^5.3.0.0" + }, + "replace": { + "d3/heidelpay": "*" + }, + "autoload": { + "psr-4": { + "D3\\Heidelpay\\": "../../../source/modules/d3/heidelpay" + } + } +} diff --git a/docs/CMS/d3_hp_vorkassemail_cust_plain b/docs/CMS/d3_hp_vorkassemail_cust_plain new file mode 100644 index 00000000..8e0f9bdb --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_cust_plain @@ -0,0 +1,25 @@ +---- IDENT ---- +d3_hp_vorkassemail_cust_plain + +---- TITEL ---- +Unzer Vorkasseinfomail Kunde Plain + +---- LANGTEXT ---- +Sehr geehrter Kunde, + +Sie haben bei Ihrer Bestellung die Bezahlart "Vorkasse" oder "Rechnung" gewhlt. +Wir konnten heute Ihren Zahlungseingang verbuchen. + +[{if $order->blDifferentAmount}] +Achtung, der von Ihnen berwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) +stimmt nicht mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) +berein! +Bitte kontaktieren Sie uns umgehend per eMail oder Telefon. +[{else}] +Ihre Bestellung wird nun umgehend von uns bearbeitet und versandt. +[{/if}] + +Vielen Dank. + +Beste Gre +Ihr Shop Team \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_cust_subject b/docs/CMS/d3_hp_vorkassemail_cust_subject new file mode 100644 index 00000000..2dc9af35 --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_cust_subject @@ -0,0 +1,8 @@ +---- IDENT ---- +d3_hp_vorkassemail_cust_subject + +---- TITEL ---- +Unzer Vorkasseinfomail Kunde Betreff + +---- LANGTEXT ---- +Zahlungseingang zu Ihrer Bestellung [{$order->oxorder__oxordernr->value}] in unserem Online Shop \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_cust_text b/docs/CMS/d3_hp_vorkassemail_cust_text new file mode 100644 index 00000000..2d85151a --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_cust_text @@ -0,0 +1,26 @@ +---- IDENT ---- +d3_hp_vorkassemail_cust_text + +---- TITEL ---- +Unzer Vorkasseinfomail Kunde Text + +---- LANGTEXT ---- +Sehr geehrter Kunde,

+ +

Sie haben bei Ihrer Bestellung die Bezahlart "Vorkasse" oder "Rechnung" gewhlt. +Wir konnten heute Ihren Zahlungseingang verbuchen.

+[{if $order->blDifferentAmount}] + Achtung, der von Ihnen berwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) + stimmt nicht mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) + berein!

+ Bitte kontaktieren Sie uns umgehend per eMail oder Telefon. +[{else}] + Ihre Bestellung wird nun + umgehend von uns bearbeitet und versandt. +[{/if}] +



+ +Vielen Dank.

+ +Beste Gre
+Ihr Shop Team \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_owner_plain b/docs/CMS/d3_hp_vorkassemail_owner_plain new file mode 100644 index 00000000..542222d3 --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_owner_plain @@ -0,0 +1,19 @@ +---- IDENT ---- +d3_hp_vorkassemail_owner_plain + +---- TITEL ---- +Unzer Vorkasseinfomail Shopinhaber Plain + +---- LANGTEXT ---- +Hallo, + +Soeben konnte fr Bestellung Nr [{$order->oxorder__oxordernr->value}] ein Zahlungseingang verbucht werden. + +[{if $order->blDifferentAmount}] + Achtung, der berwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) + stimmt NICHT mit dem Gesamtbetrag der Bestellung ([{$order->getTotalOrderSum()}] + [{$order->oxorder__oxcurrency->value}]) berein! +[{else}] + Der berwiesene Betrag ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) + stimmt mit der Bestellsumme berein. Die Bestellung kann versandt werden. +[{/if}] diff --git a/docs/CMS/d3_hp_vorkassemail_owner_subject b/docs/CMS/d3_hp_vorkassemail_owner_subject new file mode 100644 index 00000000..13266d88 --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_owner_subject @@ -0,0 +1,8 @@ +---- IDENT ---- +d3_hp_vorkassemail_owner_subject + +---- TITEL ---- +Unzer Vorkasseinfomail Shopinhaber Betreff + +---- LANGTEXT ---- +Zahlungseingang fr Bestellung [{$order->oxorder__oxordernr->value}] \ No newline at end of file diff --git a/docs/CMS/d3_hp_vorkassemail_owner_text b/docs/CMS/d3_hp_vorkassemail_owner_text new file mode 100644 index 00000000..15bcc2f1 --- /dev/null +++ b/docs/CMS/d3_hp_vorkassemail_owner_text @@ -0,0 +1,24 @@ +---- IDENT ---- +d3_hp_vorkassemail_owner_text + +---- TITEL ---- +Unzer Vorkasseinfomail Shopinhaber Text + +---- LANGTEXT ---- +Hallo,

+ +Soeben konnte fr Bestellung Nr. [{$order->oxorder__oxordernr->value}] ein +Zahlungseingang verbucht werden.

+ +[{if $order->blDifferentAmount}] +
+ Achtung, der berwiesene Betrag ([{$order->fPayAmount}] [{$order->oxorder__oxcurrency->value}]) + stimmt NICHT mit dem Gesamtbetrag der Bestellung + ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) berein! +

+[{else}] +
+ Der berwiesene Betrag ([{$order->getTotalOrderSum()}] [{$order->oxorder__oxcurrency->value}]) stimmt mit + der Bestellsumme berein. Die Bestellung kann versandt werden. +

+[{/if}] \ No newline at end of file diff --git a/docs/daux/_index.md b/docs/daux/_index.md new file mode 100644 index 00000000..f974cf29 --- /dev/null +++ b/docs/daux/_index.md @@ -0,0 +1,2 @@ +Weitere Informationen zum Modul **{$modulename}** finden Sie in unserem Shop: +[https://www.oxidmodule.com/OXID-eShop/Module/Heidelpay-Integrator-fuer-Oxid-PE.html](https://www.oxidmodule.com/OXID-eShop/Module/Heidelpay-Integrator-fuer-Oxid-PE.html) diff --git a/docs/daux/changelog/010_Changelog.md b/docs/daux/changelog/010_Changelog.md new file mode 100644 index 00000000..5cb95f3b --- /dev/null +++ b/docs/daux/changelog/010_Changelog.md @@ -0,0 +1,633 @@ +--- +title: Changelog +--- + +## 6.2.0.2 - (2020-11-30) + +### added +- Freigabe für OXID 6.2.3 + +### changed +- Unzer API URL +- iDeal Logo + +### fixed +- Präfixverhalten bei leeren Eingabefeldern des Zugangskeys (MGW) + + +## 6.2.0.1 - (2020-11-10) +### fixed +- fehlendes NGW-Template für Vorkasse hinzugefügt - verhinderte Portierung der Altkonfiguration +- Fehler bei Generierung von Bestellung bei Nutzung von NGW korrigiert + +--- + +## 6.2.0.0 - (2020-10-28) +### added +- ermöglicht den Einsatz der MGW Schnittstelle + +### changed +- Umbenennung (Rebranding) von heidelpay zu Unzer + +### fixed +- falsche Konfigurations-ID korrigiert - dieser Fehler löste kein Fehlverhalten im Modul aus + +--- + +## 6.1.3.1 - (2021-01-11) +### fixed +- keine Weiterleitung zur 3DS-Eingabe bei Nutzung der NGW-Schnittstelle möglich + +--- + +## 6.1.3.0 - (2020-12-03) +### changed +- Umbenennung (Rebranding) von heidelpay zu Unzer + +### fixed +- fehlende Übersetzungen im Admin ergänzt + +--- + +## 6.1.2.2 - (2020-09-30) +### changed +- Titellogo auf statischen Asset umgestellt +- Logos für Amex, MasterCard, Paypal und VISA aktualisiert +- übersetzbare Sparchbausteine für Bestellungsübersicht verwendet + +### fixed +- falsche Konfigurations-ID korrigiert - dieser Fehler löste kein Fehlverhalten im Modul aus + +--- + +## 6.1.2.1 - (2020-06-15) +### fixed +- korrigiert Fragezeichen in Rückgabewert der execute-Methoden (führte zu ungültiger Redirect URL) +- 0009794: erzwingt neue Session im iDeal Cron Script (führt zu Fehlern, wenn z.B. auf während der Bearbeitung der ersten Bestellung der Warenkorb neu aufgebaut werden muss - nötig z.B. bei Gutscheinverwendung) +- EPS nicht auswählbar - blD3HeidelpayAllowEPS fehlt +- verwendet optimierte Logik, um in externen Aufrufen die bootstrap-Datei finden zu können + +### changed +- Bestellschritt3: Aufpreis bei Zahlarten ausblenden wenn 0 + +--- + +## 6.1.2.0 - (2020-05-12) +### added +- 0009705: Freigabe OXID 6.2 + +--- + +## 6.1.1.3 - (2020-04-03) +### changed +- ermöglicht Einsatz mit ModulConnector 5.3 +- ermöglicht Installation in Projekten ohne "oxid-esales/oxideshop-metapackage-ce" + +### fixed +- Abbruch bei Verwendung nicht zu Heidelpay zugewiesener Zahlart korrigiert + +--- + +## 6.1.1.2 - (2020-03-19) +### fixed +- 0009550: Manipulationsprävention bei Zahlung mit abgesichertem Rechnungskauf integriert +- 0009539: fehlerhafte Aufrufe bei Ausführung des Cronjobs für Rechnungskauf oder Vorkasse korrigiert +- 0009540: fehlendes Admintemplate "d3_heidelpay_views_admin_tpl_channels_sub_prepayment.tpl" eingefügt +- 0009553: fehlende Bankdaten bei Vorkasse +- 0009554: cron_bankaccount.php - falscher Channel bei Vorkassse + +--- + +## 6.1.1.1 - (2020-01-09) +### fixed +- 0009389: Modulversion 6.1.1.0 - Installation unvollständig (falsche Versionsnummer in Installationsroutine) + +--- + +## 6.1.1.0 - (2020-01-03) +### added +- 0008760: add Wave Theme support + +### changed +- 0000000: iDeal + Przelewy24 orders with no incoming payment and no "after lifetime action" will set to NOT_FINISHED after span of life +- 0000000: missing active check of channel provider data integrated +- 0000000: Initialization of JavaScript (web integration) heidelpayInstance may only be created once + +###fixed +- 0005712: Distinction between test and live configuration when assigning "Heidelpay Channel - Oxid Payment Methods" +- 0009201: different modcfg version in composer.josn & InstallRoutine +- 0000000: Inactive channel configuration was displayed in the frontend, if an active oxid-paymenttype-assignment exists +- 0000000: OT payments are not redirecting, if user switch to OrderController and send order:execute again +- 0000000: navigation on other language causes admin template language to standard (0) +- 0000000: fixed use saved data doesn't work in wave -> missing post order execute parameter + +--- + +## 6.1.0.1 - (2019-10-07) +### fixed +0009155: 6.1.0.0: Too few arguments to function D3\Heidelpay\Controllers\Admin\Order\Heidelpay::isBasicLicence() +0000000: 6.1.0.0: incorrect redirect to mydomain.tld/modules/d3/heidelpay/public/redirect -> should be redirect to payment/start page + +--- + +## 6.1.0.0 - (2019-09-25) + +**Minor version upgrade notice: there are some backward-incompatible changes to this release.** + +**0000000: [ Important ] the setup routine has a backwards compatibility break (BC break)! Only module configurations greater than or equal to modul version 6.0.0.0 will be fully migrated!** +0000000: [ Configuration ] rebuild channel configuration see: [(6.1.0.0) Umstellung der Konfiguration](https://docs.oxidmodule.com/Heidelpay/6.1.0.0/changelog/Channel_Rekonfiguration.html) +0000000: [ Refactor ] \D3\Heidelpay\Models\Factory class refactored to a factory pattern +0000000: [ Refactor ] split /public/hp_response.php calls into separated front controller (f.e. /public/Creditcard.php, /public/Debitcard.php) +0000000: [ Bug ] additional redirect parameters will not add in redirect url of the public response file's (like utm_nooverride=1) +0000000: [ Info ] replaced https://faq.oxidmodule.com/ links with https://faq.d3data.de + +--- + +## 6.0.3.1 - (2019-06-07) +0008863: 6.0.3.0 Fehler bei nicht Heidelpay zugeordneten Zahlungsarten - keine Bestellung möglich +0000000: [cronjob collectPayments] parameter FRONTEND.ENABLED=true causing a order delete for Przelewy24 and iDeal payments +0000000: [cronjob collectPayments] set referenceid before temporaray order is finalized +0000000: [cronjob collectPayments] reduced NOTICE in collectpayments.php 0000000: [general] added new criterion info parameter "heidelPaymentMethod" +0000000: replaced deprecated method "getShopEdition" for request parameter +0000000: changing url in metadata to https://docs.oxidmodule.com/Heidelpay/ + +--- + +## 6.0.3.0 - (2019-05-09) +0008145: OT Zahlungsarten auf Länder und Währung einschränken +0008577: Exception bei dem Versenden von d3SendHPErrorMessage +0008263: Daux.io Umsetzung Heidelpay +0000000: neue Zahlungsart B2B Rechnungskauf hinzugefügt + +--- + +## 6.0.2.3 - (2019-03-08) +0008253: alte Trusted Shops Käuferschutz Kompatibilität entfernen +0000000: Collation der Admin Sprachdateien auf UTF-8 gesetzt +0008158: Zahlungstyp Billsafe entfernen +0000000: [ Refactor ] \D3\Heidelpay\Models\Containers\Parameter + +--- + +## 6.0.2.2 - (2019-01-09) +0008210: Transaktions-Fehlermeldung im Tab Order/Heidelpay anzeigen lassen +0008237: [ Blocker ] Fehlermeldung beim Bestellabschluss +0000000: Neues Model Models\Actions\Finalize +0000000: [ Refactor ] \D3\Heidelpay\Models\Containers\Parameter::setMandatoryData +0000000: [ Refactor ] \D3\Heidelpay\Models\Containers\Criterions\* +0000000: [ Refactor ] Umbenennung der \D3\Heidelpay\Models\Actions\* Eigenschaften and Methoden + +--- + +## 6.0.2.1 - (2019-01-03) +0008148: [ Push ] E-Mail bei fehlender Bestellung +0008154: Anzeige der Push Benachrichtigungs URL im Admin +0008155: [ EE ] Updatescript für gespeicherte Kundendaten bereit stellen +0008156: divs in flow templates ergänzen + +--- + +## 6.0.2.0 - (2018-12-05) +0007899: Push Notifications integriert +0000000: WAITING Status auf PENDING gestellt +0007921: Feldbegrenzungen in der Basket Api validieren +0007480: [ Konfiguration ] neuer Eintrag Limits für (gesicherten) Rechnungskauf einstellen +0008113: precheck entfernen +0008143: [ EE ] Shopid für gespeicherte Referenzdaten anlegen +0007483: FONTEND.ENABLED sollte immer übertragen werden +0006751: WAITING Status an Bestellung weitergebe + +--- + +## 6.0.1.3 - (2018-11-01) +0008030: IBAN Anfangsbuchstaben müssen immer groß geschrieben werden +0007945: Doppelklick führt zu doppelten Bestellungen/Abbuchungen +0007906: Endlosschleife in automatischer Installation + +--- + +## 6.0.1.2 - (2018-08-20) +0007856: 6.0.3 / 6.1.0 veraltete obsolete dynvalues wurden validiert (Bankeinzug + Giropay) + +--- + +## 6.0.1.1 - (2018-08-08) +0007756: EPS - Ablehnung da falsches Land übertragen wurde - ACCOUNT.COUNTRY +0007812: Änderungen Flow 3.0.2 übernehmen (OXID Compilation 6.1.0) +0007820: Freigabe 6.1.0 +0007817: Mobile theme Unterstützung entfernen + +--- + +## 6.0.1.0 - (2018-05-22) +0005802: Postfinance Integration +0007283: EasyCredit Korrekturen +0007214: d3hpprepaymentdata::getTransaction selektiert falsch bei gesichert. Rechnungskauf +0007328: Chargeback entfernen +0007422: Fehlertexte werden teilweise allgemein ausgegeben +0007388: Umfirmierung der Heidelberger Payment GmbH in heidelpay (GmbH) +0000000: extended logging of initial ngw requests + +--- + +## 6.0.0.1 - (2018-04-26) +0007418: fixed d3/modcfg::d3counter calls have to be case sensitive + +--- + +## 6.0.0.0 - (2018-03-19) + +**Minor version upgrade notice: there are some backward-incompatible changes to this release.** + +0000000: migration to oxid-esales/oxideshop-ce v6.1.0 | dropping support below v6.1.0 +0000000: fixed error was shown on changing currency marked viewconfig… +0000000: added d3transactionlog to bankaccount (prepayment) +0000000: improved logging (request to Heidelpay:: {Info}) +0000000: migrated e-mail templates to oxid standard +0000000: removed giropay dynvalue checks +0000000: Giropay doesn't provide bank/account information in a PA +0000000: language files in utf-8 +0000000: using oxids metadata version 2.0 +0000000: using namespaces +0000000: using composer installation + +--- + +## 5.3.0.0 +0006668: Easycredit implementieren +0006745: Sofortüberweisungslogo + Texte ersetzen + +#### 5.2.3.4 +0004941: Css Dateipfad für das iFrame mitgeben +0006384: Altlasten-Mehrsprachigkeit können zu mehreren Fehlverhalten führen +0006626: 3D Secure Prüfung wird bei gespeicherten Daten übersprungen + +#### 5.2.3.3 +0006552: Geburtsdatum bei gesicherter Lastschrift ergänzen. +0006396: fehlende (zweite) Bonitätsprufung bei Rechnungskauf +0006441: Heidelpay metadata.php enthäl ö im Klassennamen - v5.2.3.2 +0006291: Warnung bei leerer XML Übergabe +0000000: fixed bug in mobile theme on error message, wrong template name was loaded +0000000 set "no reference but heidelpay payment" warning to error level + +#### 5.2.3.2 +0000000: var_dump Ausgabe entfernt (copy_this/modules/d3/d3heidelpay/views/flow/tpl/payment/debitnote.tpl) +0000000: (iDeal/Przelewy24) wenn oxorderdate 0 ist oder nicht interpretiert wird, kann die Bestellung storniert/gelöscht werden + +#### 5.2.3.1 +0006291: DOMDocument::loadXML im Modul überprüfen +0000000: hp_response.php ermöglicht kein redirect mehr + +### 5.2.3.0 +0000000: Support für 4.7.x und 4.8.x ist eingestellt +0000000: Parameter name.company in Standard-Parameteriste aufgenommen +0000000: erweitertes Exception-Handling in d3_hp_response bei nicht-Heidelpay-Zahlungsarten +0006181: http_build_query 3. Parameter arg_separator & übergeben +0005673: JavaScriptaktualisierung Frontendumsetzung +0005496: Altdateien und Shopweichen im Modul entfernen +0004877: iDeal nur für unterstützte Währungen anzeigen +0002355: E-Mails in der Sprache der Bestellung versenden +0006138: Fehlerhafte Überladung in Block/Template select_payment.tpl 5.2.2.0 +0004098: falsches Tacking in Google Analytics, Notwendig: zusätzlich definierbare Parameter +0003228: Lieferadressen bei Zahlung mit gesicherten Rechnungskauf/Lastschrift und paypal kontrollieren +0001921: Transaktionsübersicht im Admin anlegen +0006142: Integration gesicherte Lastschrift +0006141: Basket API für gesicherten Rechnungskauf/Lastschrift integrieren +0002025: Hilfetexte und Layout im Shopadmin +0005157: Kunden-IP statt Heidelpay-IP bei Paypal-Zahlungen an oxorder hinterlegen +0002678: Einstellung "Kontodaten vollständig speichern?" entfernen + +### 5.2.2.0 +0004201: Button "Reversal (REV)" im Shopbackend ergänzen +0005030: Anpassung des Moduls auf das Flow-Theme +0005590: Bankdaten und Shortid an Endkunden weiterreichen +0005715: Kompatibilität mit tronet Sofortüberweisung hergestellt +0005835: CRITERION-Tags im Admin sichtbar machen +0005891: Refactoring der Templatestruktur +die Template Struktur wurde in der metadata.php geändert (von -> zu) : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
d3_d3heidelpay_controllers_admin_order_heidelpay.tpl->d3_d3heidelpay_views_admin_tpl_order.tpl
d3_d3heidelpay_controllers_admin_settings.tpl->d3_d3heidelpay_views_admin_tpl_settings.tpl
hp_prepayment_cust_html.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_cust.tpl
hp_prepayment_cust_subj.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_cust_subj.tpl
hp_prepayment_owner_html.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_owner.tpl
hp_prepayment_owner_subj.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_owner_subj.tpl
hp_prepayment_cust_plain.tpl->d3_d3heidelpay_views_tpl_email_plain_prepayment_cust.tpl
hp_prepayment_owner_plain.tpl->d3_d3heidelpay_views_tpl_email_plain_prepayment_owner.tpl
payment_heidelpay_img.tpl->d3_d3heidelpay_views_tpl_payment_img.tpl
heidelpay_cc_input.tpl->d3_d3heidelpay_views_azure_tpl_cc_input.tpl
heidelpay_order_3ds.tpl->d3_d3heidelpay_views_azure_tpl_order_3ds_iframe.tpl
heidelpay_order_3ds_iframe.tpl->d3_d3heidelpay_views_azure_tpl_order_3ds_iframe.tpl
payment_heidelpaycards.tpl->d3_d3heidelpay_views_azure_tpl_payment_cards.tpl
payment_inc_storeduid.tpl->d3_d3heidelpay_views_azure_tpl_storeduid.tpl
payment_heidelpaybillsafe.tpl->d3_d3heidelpay_views_azure_tpl_payment_billsafe.tpl
payment_heidelpaydebitnote.tpl->d3_d3heidelpay_views_azure_tpl_payment_debitnote.tpl
payment_heidelpayeps.tpl->d3_d3heidelpay_views_azure_tpl_payment_eps.tpl
payment_heidelpaygiropay.tpl->d3_d3heidelpay_views_azure_tpl_payment_giropay.tpl
payment_heidelpayideal.tpl->d3_d3heidelpay_views_azure_tpl_payment_ideal.tpl
payment_heidelpaysofort.tpl->d3_d3heidelpay_views_azure_tpl_payment_sofort.tpl
payment_heidelpaypostfinance.tpl->d3_d3heidelpay_views_azure_tpl_payment_postfinance.tpl
payment_heidelpaypaypal.tpl->d3_d3heidelpay_views_azure_tpl_payment_paypal.tpl
payment_heidelpayprzelewy24.tpl->d3_d3heidelpay_views_azure_tpl_payment_przelewy24.tpl
payment_heidelpaymasterpass.tpl->d3_d3heidelpay_views_azure_tpl_payment_masterpass.tpl
heidelpay_redirect_postformular.tpl->d3_d3heidelpay_views_tpl_redirect_postformular.tpl
heidelpay_order_iframe.tpl->d3_d3heidelpay_views_azure_tpl_order_iframe.tpl
heidelpay_cc_input_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_cc_input.tpl
heidelpay_order_3ds_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_3ds.tpl
heidelpay_order_3ds_iframe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_3ds_iframe.tpl
payment_inc_storeduid_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_storeduid.tpl
payment_heidelpaycards_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_cards.tpl
payment_heidelpaysofort_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_sofort.tpl
payment_heidelpaydebitnote_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_debitnote.tpl
payment_heidelpayeps_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_eps.tpl
payment_heidelpaygiropay_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_giropay.tpl
payment_heidelpayideal_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_ideal.tpl
payment_heidelpaybillsafe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_billsafe.tpl
payment_heidelpaypaypal_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_paypal.tpl
payment_heidelpayprzelewy24_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_przelewy24.tpl
payment_heidelpaymasterpass_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_masterpass.tpl
payment_heidelpaypostfinance_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_postfinance.tpl
heidelpay_order_iframe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_iframe.tpl
+ +#### 5.2.1.1 +0005524: mehrfach gespeicherte Daten anzeigen +0005235: es wird kein PA/DB bei gespeicherten Daten genutzt +0005419: XML Query wird im paymentcollector nicht korrekt übergeben +0005405: Kein Fehlerhandling im Frontend beim iFrame +0005470: IonCube Umsetzung +0000000: removed payment::hasUserHPStoreData, payment::getUserHPStoreData, payment::getHPWrappedPayment +0000000: probably bug in d3_oxorder_heidelpay::finalizeOrder +0000000: fixed memcache bug in collectpayments process +0000000: payment model not found causes exception in admin + +### 5.2.1.0 +0002681: Kunden die während Formulareingaben in ein Session timeout kommen +0000000: Bestellbenutzer wird bei Admin Aktionen nicht gesetzt +0005301: Abgebrochene Bestellabwicklungen an den Händler melden +0005320: MasterPass Integration +0005289: Sprache ist im Admin auswählbar +0005222: ReferenceId nach Schritt4 prüfen +0005081: order::execute() Rüchgabewert Fehlerhaft +0005300: Warenkorbwert kann gegenüber dem Transaktionbetrag manipuliert werden +0005170: Bestellung- Tab Heidelpay - Aktionen klappen nicht auf +0000000: PRESENTATION.USAGE wird nicht übergeben +0000000: PA soll auch bei "gespeicherte Daten verwenden" genutzt werden +0005202: betrifft EE: cronjob für PP und IV ignoriert ShopId +0005189: bei gespeicherten Daten (Kredit-/Debitkarte) fehlen die zu übergebenden Parameter (agb, download etc) +0005188: falsche Rücksprungbehandlung bei erfolgreichen Billsafe Bezahlungen +0005103: Heidelpay iFrame wird zerschossen angezeigt + +#### 5.2.0.1 +Installationsroutine kann nicht abgeschlossen werden +neue Debitkarten hinzufügen +NGW geladene Icons sollen in eigene Templates (für Azure und Mobile ausgelagert werden) +Hilfetext für "Pflichtfelder für den Bestellabschluss" +möglicher Fehler: Fehlerfälle von order::execute testen +unvollständige / inkorrekte version_compare innerhalb des Moduls bei EE 5.0.x +Nachkommestellen durch Punkt trennen +Mobile theme lauffähig machen +4.7.x ready machen +Geburtstdatum übergeben +Inkorrektes Handling mit Gutscheinen + +## 5.2.0.0 +Implementierung PCI3 (Kartenzahlung via iFrame) +Umstellung von SGW/XML auf NGW/POST +neue Option "Registierung für Karten nutzen (Kreditkarte, Debitkarte)" hinzugefügt +neuer Menüpunkt /D³ Module/Heidelpay/Logging/ +Fehlverhalten im JavaScript mit einer deaktivierten Zahlungsart gelöst +das Oxid Standard "Mobile-Theme" wird bis zum nächsten Update nicht untersützt! +Auflösung der Formularstruktur im Bestellschritt 3 (Versand & Zahlung) +generelle Weiterleitung bei 3DSecure +Bankeinzug Kundendaten werden nun im Shop gespeichert + +#### 5.1.1.2 +neue Zahlungsart Przelewy24 +Updateassistent startet nicht bei Update von 5.1.1.0 auf 5.1.1.1 +Erweiterung für Pflichtfelder bei einem Update +NGW: Curl-Error-Handling implementieren +NGW-Informationen für "nach Schritt 4" +Anpassung des Mobile-Themes für NGW +5.1.0.0 ist nicht in der 4.7 einsetzbar + +#### 5.1.1.1 +Pflichtfelder für den Bestellabschluss +Installationsanleitung aktualisieren +Changelog nachtragen + +### 5.1.1.0 +Integration der NGW-Schnittstelle +Zahlart T-Pay Online Überweisung aus Heidelpay-Modul entfernen (5er-Version) +Aktive Brands(Kartentypen, etc..) von der NGW-Response nutzen +fake User-Checkboxen anpassen +URL-Einstellungen aus den Moduleinstellungen entfernen +NGW Implementation in latin-Shop testen +Umlaute an Zahlarten bei Installation Fehlerhaft +Bei ELV mit DE-Konto soll das BIC-Feld ausgeblendet werden. +5.1.0.0 ist nicht in der 4.7 einsetzbar + +## 5.1.0.0 +Anpassung für Oxid Mobile Theme +kleiner Bug im Zusammenhang mit Billpay +Übermittlung abweichende Lieferadresse an PayPal + +#### 5.0.0.4 +Bugfix für automatische Installation +Sprachdateien unverschlüsselt belasst +neues Logo Billsafe +Anpassung der Ausgabe bei gespeicherten Daten und dem SEPA-Modus +Test auf 4.9 / 5.2 + +#### 5.0.0.3 +Kompatilität mit Modul Amazon Payments hergestellt +Templates angepasst damit es bei einer Deaktivierung des Moduls nicht zu Fehlermeldungen kommt + +#### 5.0.0.2 +Bugfix: im Shop aktives Modul, über Modul-Connector inaktiv, kann im Bestellschritt 3 nicht abgesendet werden +fehlende sh-Datei nachgetragen +Dokumentation überarbeitet + +#### 5.0.0.1 +Bugfix: Während eines Update wurden die Zuordnungen zwischen Shop und Heidelpay-Modul nicht übernommen +Kompatibilität zu PHP 5.2 wieder hergestellt + +# 5.0.0.0 +Refactoring zur Oxid Zertifizierung + +### 4.0.6.0 +Kompatilität mit Skrill-Modul hergestellt #2465 +Update der Systmprüfung (d3precheck.php) #2480 + +#### 4.0.5.4 +alte Moduleinstellungen von 3.x werden beim Update auf 4.x migriert +Bugfix: Bei Bezahlung mit Billsafe kam im Shop eine Fehlermeldung, wenn mehr als 7 Artikel in den Warenkorb gelegt wurden + +#### 4.0.5.3 +Hinweis auf Umstellung des Händlerkontos (nur bei Sofortüberweisung) in die Installationsanleitung eingefügt +Bugfix: Bei Nutzung von Sofortüberweisung konnte es im Zusammenhang mit SEPA zu Fehlermeldungen kommen + +#### 4.0.5.2 +Bugfix: Wichtige Sicherheitslücke in der Modulkonfiguration geschlossen + +#### 4.0.5.1 +Bugfix: In BS4 wurde unter bestimmten Situationen eine Exception geworfen, wenn andere Module ebenfalls die Klasse 'order' erweitern + +### 4.0.5.0 +SEPA-Modus integriert + - im Adminbereich kann nun SEPA aktiviert werden (Schaltet bei Lastschrift, Giropay, Rechnungskauf und Vorkasse auf IBAN/BIC um) + - Überweisungsdaten für BillSAFE, Rechnungskauf und Vorkasse zeigen nun IBAN/BIC in BS5 und EMails + - Integration von SEPA-Prüfroutinen bei Giropay + +Sofortüberweisung benötigt keine Kontodateneingabe in BS3 mehr (Änderung des Händlerkontos bei Heidelpay nötig) +iDeal Bankenliste aktualisiert +Bugfix: Sind Kontodaten mit * maskiert, werden sie nicht mehr in BS3 bei Bestandskunden vorausgefüllt +Bugfix: fehlende Buchungsaktionen an den Bestellungen hinzugefügt + +#### 4.0.4.1 +Fehler in automatischer Installation behoben +Precheck aktualisiert + +### 4.0.4.0 +Anpassung für OXID eShop 4.8.x / 5.1.x +Integration Transaktionslog +Integration Neues Admin Interface (unter Bestellungen, Tab "Heidelpay") +Sofortüberweisung unterstützt nun auch österreichische Bankkonten +Fehlercodetabelle aktualisiert +Bugfix: Bei Zahlungsart Giropay fehlte das Eingabefeld für den Kontoinhaber +Bugfix: Bei Zahlungsart Billsafe werden die Überweisungsdaten nun korrekt nach Bestellungsende aus der Session entfernt +Bugfix: Bei einigen Zahlungsarten gab es Probleme mit Umlauten in UTF8-Shops +Install-PDF überarbeitet, PreCheck v3.0 integriert + +#### 4.0.3.3 +Bugfix: automatische Installation des Moduls reagierte nicht + +#### 4.0.3.2 +php5.4 STRICT_STANDARDS-Fehler wurden behoben +BillSafe UTF-8 Problem (doppeltes encoding als UTF-8 String bei UTF-8 Shops) wurde behoben + +#### 4.0.3.1 +Zahlungsart Paypal ist auch im Basic-Modul konfigurierbar + +### 4.0.3.0 +Zahlungsart Billsafe hinzugefügt +Zahlungsart Rechnungskauf hinzugefügt +Zahlungsart PayPal hinzugefügt +Integration der Automatischen Installation +Fehler bei Basic/Premium im Admin gefixt +Zahlungsart T-Pay entfernt + +### 4.0.2.0 +Integration Basic / Premium Unterscheidung + +### 4.0.1.0 +Debitkarte "Dankort" hinzugefügt +Fehlertexte der Fehlercodes werden nun aus lang-Dateien geholt (damit kann die normale Mehrsprachigkeit des Shops genutzt werden) +Umstellung aller buchungsrelevanten TransaktionIdents auf einen eigenen Nummernkreis +ShopId wird nun mit an die Response-Url übergeben + +# 4.0.0.0 +komplette Überarbeitung des Moduls für die neue Shopstruktur EE5/PE47 + +#### 3.2.3.1 +Bugfix: bei nicht 3DSecure Karten und Einstellung "nach Schritt" 4 + +### 3.2.3 +Dummy Kreditkarten für 4.6.x entfernt +checkout.css aus der payment_ext.tpl entfernt + +### 3.2.2 +Änderungen für Shopversion ab 4.6.0 integriert +kleinerer JS-Fehler in payment-Template behoben +NOK-Rückmeldungen werden nun als "response error" geloggt +neue Testdaten für Sofortüberweisung integriert +mod_cfg -> Requirements eingebaut + +### 3.2.1 +neue Admineinstellungen (Curl-Timeout, Unmask) eingebaut +div. Fehler bei der Nutzung der Basic-Templates (4.5) behoben +Version kann nun auch uneingeschränkt in Shopversionen < 4.5 genutzt werden + +## 3.2.0 +Version für OXID ab 4.5.0 + +### 3.1.1 +Änderung der Sprache nach einer Heidelpaytransaktion + +## 3.1 +Einbau neuer Zahlmethoden +- Sofortüberweisung +- Giropay +- iDeal Niederlande +- EPS Österreich +- T-Pay +- automatische Vorkasse + +Speicherung der Registrierungsdaten für Heidelpay für erneute Zahlungen bei Kreditkarte, Bankeinzug und Debitkarten unter Bestellschritt 3. + Damit wird beim erneuten Einkauf dem Kunden angeboten mit denselben Karten oder Bankdaten einzukaufen ohne erneut + die Daten einzugeben bzw. an Heidelpay zu senden zu müssen. Der Händler spart zusätzlich die Kosten für eine Transaktion. + Dieses ist standardmäßig ausgeschalten und kann wahlweise im Shopadmin über den Haken "Gespeicherte Daten dem Kunden anbieten?" aktiviert werden. +Einbau neuer Logos für fast alle Zahlmethoden und Kartentypen. +Überarbeitung aller Templates +Aktualisierung der Heidelpay-Fehlercodes +Admin-Interface mit eigener language-Datei +Aktualisierung menu.xml + +### 3.0.4 +Anpassung des Moduls an neue Sicherheitsstruktur des OXID Version 4.3.0 (TrustIPs, sToken) +Timeout beim Aufrufen der 3DS-Fehlerseite mit "KK-Eingabe nach Schritt4" +Problem mit mehrfachen 3DS Aufrufen bei "KK-Eingabe nach Schritt4" behoben +3DS-Fehlerseite für "KK-Eingabe nach Schritt4" und "KK-Eingabe in Schritt3" optimiert + +### 3.0.2 +Heidelpaytransaktionen konnten in den Shopfolgesprachen (Language 1 etc.) nicht abgeschlossen werden +Sproradischer Verlust der Session nach Rücksprung vom Heidelpay-Server ab OXID 4.1.3 + - Behebung durch zusätzlichen config-Parameter +Teilweise Probleme mit Shoprücksprung nach fehlerhafter 3DSecure-Eingabe + +### 3.0.1 +neu +Multilang-Platzhalter eingebaut + +Fix +Korrektur der order-Erweiterung, da mit Shopversion 4.1.1 die Prüfung zum Widerrufsrecht geändert wurde +Änderung der Prüfungsparameter für 3DSecure + +# 3.0 +Kompletter Neuaufbau des Moduls für den Einsatz unter OXID 4. +Optimierung aller Modulteile. Dadurch u.a. schnellere Abarbeitung der Heidelpay-Daten. + +## 2.1 +####neue Funktionen: +- Einbau einer alternativen Bezahlung mit Kreditkarte nach Schritt 4 im Bestellvorgang (Aktivierung im Admin) + Damit wird die zusätzliche "Registierung" des Kunden bei Heidelpay nicht genutzt und der Shopinhaber hat nur 1x Transaktionsgebühren pro Bestellung +- KK- und Bankkarten - Daten werden aus den Heidelpay-Responsedaten ausgelesen und in die Session als Dynvalue gespeichert. + -> Wichtig für eFire / creditPass-Boniprüfung +Zusätzlich werden die KK- und ELV-Daten im Shop gespeichert, um im Schritt 3 bei wiederholter Zahlung diese anzuzeigen +Achtung! Die KK-Nummer wird lediglich mit den letzten 4 Stellen gespeichert! +- Optionen für Test-Betrieb erweitert +####Korrekturen: +Anpassung der tpls an den aktuellen OXID-Versionsstand 3.0.4.1 (steps-tpl und css-Dateien) +bei Nutzung anderer oxpaymentgateway-Module (z.B. Paypal Pro) werden diese nun korrekt in den Modulbaum eingebunden und aufgerufen +Korrektur der 3DS-Funktionalität. Es konnte unter bestimmten Voraussetzungen passieren, das Bestellungen nicht ordnungsgemäß erstellt wurden. +Behebung einer Smarty-Fehlermeldung im 3DS-iFrame +Es wurden einige "onclick" in der payment_ext.tpl entfernt, da dadurch teilweise Kunden versehentlich andere Zahlartenangeklickt hatten + +# 2.0 +Integration von 3DSecure + +## 1.2 +Kleinere Korrekturen. u.a. Behebung eines Sprachproblems (Domainzuordnung) + +## 1.1 +Einbau der kompletten Heidelpay-Systemcodes und Ausgabe in Schritt3 als deutsche Fehlermeldung +Speicherung des Heidelpay-Registrationcodes für Folgebestellungen ohne erneute Registration des Kunden +Korrektur kleinerer Bugs im Modul und tpl-Dateien +TransactionID zusätzlich mit Timestamp belegt, um mehrfache Bestellversuche zu ermöglichen + +# 1.0 +Korrektur des formulars der payment_ext.tpl für ELV + +# 1.0 beta: +Rückgabe in hp_response.php per curl +Einbau ELV diff --git a/docs/daux/changelog/020_Channel_Rekonfiguration.md b/docs/daux/changelog/020_Channel_Rekonfiguration.md new file mode 100644 index 00000000..cf5d10d2 --- /dev/null +++ b/docs/daux/changelog/020_Channel_Rekonfiguration.md @@ -0,0 +1,48 @@ +--- +title: (6.1.0.0) Umstellung der Konfiguration +--- +## Einleitung +Wir haben für Shopbetreiber die Admin Konfiguration überarbeitet, damit eine flexiblere Konfiguration der Zahlungsarten und Channels möglich ist. +So sind bspw. unterschiedliche Konfigurationen für jedes einzelne Rechnungsland möglich. +## Migration der Channeldaten +Die Migration (Umstellung) auf die neue Konfiguration wird in der automatischen Installation des Moduls vorgenommen. +Die Update-Routine durchläuft die alten Zuordnungen und erstellt daraus neue Channel-Konfigurationen. + +> [i] Bei konfigurierten Zahlungsart-Zuordnungen ohne einen entsprechend hinterlegten Channel nicht übernommen werden. + +> [i] Es können doppelte Channel-Konfigurationen angelegt werden. Die Migration wird auf bestehende Konfigurationen der Modulversion 5.3.x.x, sowie 6.0.x.x durchgeführt. + +> [i] Die nach Abschluss der Migration neu angelegten Konfigurationen sind unbedingt manuell zu überprüfen! + +**Im Folgenden, wird anhand von Screenshots des Admin erklärt, wie die Konfiguration in der alten und im Vergleich in der neuen Konfigurationsmaske durchgeführt wird:** + +## Einstellungen bis 6.0.3.x +Die Channeldaten 1 (bspw. 31HA07BC8142*******49A60D979B6E4) werden +in einzelne Channel-Felder unter [D³ Module]/[Unzer]/[Einstellungen]/[Stamm]/[Channels] gepflegt.
+Ein einzelnes Channel-Feld (bspw. [Channel (Standard)]) kann **direkt** eine oder mehrere Unzer-Zahltypen (Kreditkarte, Debitkarte, autom. Vorkasse, etc) bedienen.
+Die einzelnen Oxid Zahlungsarten 2 werden direkt einem Unzer-Zahltyp zugewiesen 3. +
+ bisherige Einstellungen vor 6.1.0.0 + bisherige Einstellungen vor 6.1.0.0 +
+ +### Channel-Konfiguration ab 6.1.0.0 +Die Channeldaten 1 werden in [D³ Module]/[Unzer]/[Channel-Konfigurationen] in einzelnen Channel-Konfigurationen abgelegt. +In der Channel-Konfiguration können Sie verschiedene Einstellungen nutzen: +- Aktiv - aktiv: Die Channel-Konfiguration wird genutzt +- Test Modus - aktiv: Die Channel-Konfiguration wird für den Testmodus genutzt +- Titel - dient dem Shopbetreiber als interne Beschreibung (wird derzeit in der Channel-Konfiguration's Übersicht genutzt) +- Unzer-Zahltyp 3 - Hier wählen Sie die zu verwendende Zahlungstypen (bspw Kreditkarte, B2B Rechnungskauf, Paypal, usw.) für die der Channel eingerichtet ist +- Channel 1 - Tragen Sie hier den Channel ein, den Sie von Unzer erhalten haben +- Zuordnung der aktuell gewählten Channel-Konfiguration, zu den Shop-Zahlungsarten 2 + +
+ Übersicht der Channel-Konfiguration + Übersicht der Channel-Konfiguration +
+
+ Zuordnungen der Shop-Zahlungsarten zu der aktuellen Channel-Konfiguration + Zuordnungen der Shop-Zahlungsarten zu der aktuellen Channel-Konfiguration +
+ +> [i] Zukünftig sollen weitere Zahlungstyp-spezifische Einstellungen migriert werden. diff --git a/docs/daux/config.json b/docs/daux/config.json new file mode 100644 index 00000000..0a153069 --- /dev/null +++ b/docs/daux/config.json @@ -0,0 +1,73 @@ +{ + "title": " unzer", + "moduleversion": "6.1.3.1", + "titledesc": "für den Oxid eShop", + "author": "D³ Data Development", + "moduledate": "11.01.2021", + "editors": "", + "tagline": "", + "image": "", + "ignore": { + "files": [], + "folders": [".idea"] + }, + "live": { + "clean_urls": true + }, + "html": { + "theme": "d3", + "breadcrumbs": true, + "breadcrumb_separator": "Chevrons", + "toggle_code": false, + "date_modified": true, + "date_modified_format": "d.m.Y", + "float": false, + "inherit_index": true, + "auto_landing": true, + + "links": { + "Shop": "https://www.oxidmodule.com" + }, + + "powered_by": "" + }, + "languages": { + "description": "Beschreibung", + "installation": "Installation", + "configuration": "Konfiguration", + "changelog": "Changelog", + "support": "Support" + }, + "processor": "d3processor", + "language": "de", + "strings": { + "de": { + "CodeBlocks_title": "Code-Blöcke", + "CodeBlocks_hide": "Aus", + "CodeBlocks_below": "Unterhalb", + "CodeBlocks_inline": "Linear", + "CodeBlocks_show": "Code-Blöcke anzeigen", + "Search_placeholder": "Suchen...", + "Link_previous": "Zurück", + "Link_next": "Weiter", + "Edit_on": "Bearbeiten bei :name:", + "View_on_github": "Bei GitHub anzeigen", + "View_documentation": "Dokumentation anzeigen", + "Table_of_contents": "Inhaltsverzeichnis", + "author": "Autor", + "moduledate": "Stand", + "version": "Version", + "editors": "Bearbeiter", + "selectversion": "Version wechseln" + } + }, + "variables": { + "modulename" : " Unzer", + "menutitle" : "Unzer", + "modulefolder" : "unzer", + "modcfgident" : "d3heidelpay", + "composerident" : "d3/unzer" + }, + "versionselector": true, + "versiondirectoryindex": 2 +} diff --git a/docs/daux/configuration/020_Konfiguration/015_Konfiguration_der_Zahlungsarten.md b/docs/daux/configuration/020_Konfiguration/015_Konfiguration_der_Zahlungsarten.md new file mode 100644 index 00000000..928019e9 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/015_Konfiguration_der_Zahlungsarten.md @@ -0,0 +1,54 @@ +--- +title: Konfiguration der Zahlungsarten +--- +## 1. verfügbare Zahltypen: +Ihnen stehen folgende **Zahltypen** im Unzer Modul zur Verfügung (abhängig von der eingesetzten Lizenz): +- Kreditkarte +- Debitkarte +- Bankeinzug +- automatische Vorkasse +- Sofort by Klarna +- Giropay +- iDeal (Niederlande) +- EPS (Österreich) +- Rechnungskauf (ohne Zahlungssicherung) +- Rechnungskauf (mit Zahlungssicherung) +- B2B Rechnungskauf +- Przelewy 24 +- EasyCredit +- PayPal +- MasterPass + +## 2. Zuordnung der Shop-Zahlungsarten zu den Unzer Zahltypen: +1. Bereiten Sie die gewünschten Shop-Zahlungsarten unter [ Shopeinstellungen ] / [ Zahlungsarten ] vor. + Dise müssen aktiviert, vollständig konfiguriert und im Frontend sichtbar sind. + Es werden durch den Installationsassistenten weitere Shop-Zahlungsarten hinzugefügt: + - Debitkarte + - Sofortüberweisung + - iDeal Niederlande + - Giropay Deutschland + - EPS Österreich + - Unzer Paypal + - Unzer PostFinance + - Unzer Przelewy24 + +2. Gehen Sie anschließend in den Menüpunkt [ (D3) Module ] / [ {$menutitle} ] / [ Channel-Konfigurationen ]. +(Sie können die bereits mitgelieferten Channel-Konfigurationen verwenden und verändern.) +3. Andernfalls geben Sie einen [ Titel ] (bspw. Kreditkarte Inland), den von Unzer erhaltenen [ Channel ] ein und wählen Sie den Unzer-Zahltyp aus. + +> [i] Wenn der Haken bei "Test Modus" gesetzt wird, ist die Channel-Konfiguration erst dann aktiv, wenn das Modul sich im Test Modus befindet. + +4. Gehen Sie in den Tab [ Zahlungsarten ]. Hier sehen Sie eine Liste der Shop-Zahlungsarten und deren aktuellen Zuordnung. + Wählen Sie für die aktive Channel-Konfiguration die zu verwendente Shop-Zahlungsart in der Spalte [ Zugeordnet? ] aus. + Sobald die Shop-Zahlungsart aktiv und zugeordnet ist, wird die Konfiguration im Frontend angewendet. +> [i] Sie können mehrere Shop-Zahlungsarten einer Channel-Konfiguration zuordnen. + +> [i] Eine Shop-Zahlungsart kann jedoch nur einer Channel-Konfiguration zugeordnet werden. + +> [i] Eine Shopzahlungsart wird grau/inaktiv angezeigt, wenn diese bereits einer anderen Channel-Konfiguration zugeordnet ist + +5. Checkliste + - Sind die Shop-Zahlungsarten im Frontend sichtbar? + - Ist der Test/Livemodus im Modul aktiv? + - Sind die Channel-Konfigurationen korrekt eingestellt (Aktiv, Test Modus, Zuordnung der Shop-Zahlungsart)? + - Sind die Test/Livedaten im Modul hinterlegt? diff --git a/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/010_Cronjob_per_Konsole_einrichten.md b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/010_Cronjob_per_Konsole_einrichten.md new file mode 100644 index 00000000..e191ad07 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/010_Cronjob_per_Konsole_einrichten.md @@ -0,0 +1,16 @@ +--- +title: Cronjob per Konsole einrichten +--- +Der Cronjob muss entweder die Datei `cron_bankaccount.sh` oder `cron_bankaccount.php` aufrufen.
+Die Dateien liegen im Shop unter: `/modules/d3/heidelpay/Cron/`
+Die Endung .sh bezeichnet eine sog. Shell-Datei, die unter Unix/Linux-Systemen ausgeführt werden kann. +> Sollte Ihr Shop auf einem anderen Betriebssystem laufen, so ist eine vergleichbare Datei manuell anzulegen + +Bei `cron_bankaccount.sh` handelt es sich um eine Beispieldatei, die für den Hosting-Provider Profihost einsetzbar ist.
+Bei anderen Providern kann der Inhalt der sh-Datei variieren. Erfragen Sie die Details bei Ihrem Provider nach. + +Öffnen Sie die .sh-Datei mit einem Text-Editor und passen Sie den Pfad zur startenden php-Datei an.
+Dazu ist der Bereich `/ihr/serverpfad/zum/shop/` mit dem absoluten Pfad zum Shop-Hauptverzeichnis zu tauschen + +> Der absolute Pfad zum Shop-Hauptverzeichnis ist in der _`config.inc.php`_ zu finden. +> Öffnen Sie die Datei mit einem Editor und suchen Sie die Zeile `$this->sShopDir`. diff --git a/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/020_Cronjob_per_Webaufruf_einrichten.md b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/020_Cronjob_per_Webaufruf_einrichten.md new file mode 100644 index 00000000..3829a742 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/020_Cronjob_per_Webaufruf_einrichten.md @@ -0,0 +1,21 @@ +--- +title: Cronjob per Webaufruf einrichten +--- +Fügen Sie das Cronjob-Sicherheitspasswort in die Datei `config.inc.php` ein.
+Gehen Sie im Shopadmin in das Menü [ (D3) Module ] / [ Modul-Connector ] / +[ Systemeinstellungen ] / [ Tab: Config-Einträge ] / [ Datei bearbeiten ]
+Tragen Sie folgende Zeilen am Ende des Textfeldes ein:
+```php +// Sicherheitspasswort für automatische Vorkasse und Rechnungskauf +$this->cfgHeidelpay_sAccessKey = "Sicherheitspasswort"; +``` +Ändern Sie das "Sicherheitspasswort" in ein nur Ihnen bekanntes sicheres Zugriffspasswort. + +Alternativ können Sie die Datei `cron_bankaccount.php` per URL im Cronjob aufrufen lassen.
+Der Aufruf lautet wie folgt:
+```URL +https://www.IHRE-SHOP-URL.de/modules/d3/heidelpay/Cron/cron_bankaccount.php?key=Sicherheitspasswort +``` +Ersetzen Sie die Phrase "Sicherheitspasswort" mit dem vergebenen Passwort.
+Ohne das korrekte Sicherheitspasswort wird die Ausführung des Cronjob verhindert. +> [!]Setzen Sie auf jeden Fall ein Sicherheitspasswort. Damit wird die Ausführung des php-Cronjob per Browser durch Dritte verhindert. diff --git a/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/030_Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.md b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/030_Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.md new file mode 100644 index 00000000..a2abc3de --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/030_Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.md @@ -0,0 +1,16 @@ +--- +title: Zahlungseingänge bei Unzer erneut abrufen +--- +Der Cronjob fragt Zahlungseingänge bei Unzer immer für den aktuellen __Tag__ ab. + +Stellen Sie den Cronjob so ein, dass dieser mehrmals am Tag aufgerufen wird! + +Sollten Sie ältere Eingänge erneut abrufen wollen, steht Ihnen ein Parameter `date` zur Verfügung.
+Die Syntax dazu lautet: `YYYY-MM-DD`. + +Der Aufruf per Browser wäre dazu: +```URL +http://www.IHRE-SHOP-URL.de/modules/d3/heidelpay/Public/cron_bankaccount.php?key=Sicherheitspasswort&date=2017-12-31“ +``` +Bei Nutzung der sh-Datei ist der Parameter ebenfalls nutzbar.
+Der Parameter muss an 2ter Stelle übergeben werden (bspw. `/modules/d3/heidelpay/Cron/cron_bankaccount.php 1 2017-12-31` ). diff --git a/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/040_OXID_eShop_Enterprise_Edition.md b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/040_OXID_eShop_Enterprise_Edition.md new file mode 100644 index 00000000..853bfab4 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/020_Cronjob_einrichten/040_OXID_eShop_Enterprise_Edition.md @@ -0,0 +1,10 @@ +--- +title: OXID eShop Enterprise Edition +--- +Pro Subshop wird ein einzelner Cronjob benötigt.
+Hierzu verwenden Sie den Parameter `&shp=N`. +Die Shop ID (**N**) finden Sie im Admin unter +[ Stammdaten ] / [ Grundeinstellungen ] / [ Stamm ] / [ Shop ID ]. + +Beispiel:
+Hängen Sie an das Ende der bereits erstellten URL den Parameter `&shp=1` an, gilt der Aufruf für die Shop ID **1**. diff --git a/docs/daux/configuration/020_Konfiguration/020_automatische_Vorkasse_und_Rechnungskauf.md b/docs/daux/configuration/020_Konfiguration/020_automatische_Vorkasse_und_Rechnungskauf.md new file mode 100644 index 00000000..62a1a280 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/020_automatische_Vorkasse_und_Rechnungskauf.md @@ -0,0 +1,52 @@ +--- +title: Automatische Vorkasse und Rechnungskauf +--- + +> [!] Sofern Sie die Zahlungsart "automatische Vorkasse" oder "Rechnungskauf" über Unzer NICHT nutzen, können Sie auf die nächste Seite blättern. + +## Ablauf bei "automatische Vorkasse" und "Rechnungskauf" +Eine "Vorkasse"- bzw. "Rechnungskauf"-Bestellung wird zum Zeitpunkt der Bestellung das Feld `Interner Status` _"oxtransstatus"_ auf `PENDING` gestellt. + +Bei Nutzung dieser Zahltypen prüft der Cronjob auf vorhandene Zahlungseingänge bei Unzer. + +Werden vorhandene Zahlungseingänge an den Shop übermittelt, so werden diese mit den gespeicherten Bestellungen abgeglichen. + +Wird eine korrekte Zahlung ermittelt, so wird `Interner Status` _"oxtransstatus"_ auf `OK` geändert, sowie das Feld `Bezahlt am` _"oxpaid"_ mit dem Zeitpunkt (Datum & Uhrzeit) der Bezahlung gefüllt. + +Weiterhin wird an den Kunden und den Shopinhaber, eine Informations-E-Mail über den Erhalt der Zahlung geschickt. + +Für die Formatierung der Mails stehen E-Mail-Templates zur Verfügung unter
`/modules/d3/heidelpay/views/tpl/email/*`. + +Den E-Mail-Inhalt liefern CMS-Texte, die mit dem Modul installiert wurden.
+Diese finden Sie im Admin unter [ Kundeninformationen ] / [ CMS-Seiten ] beginnend mit
+dem Ident _"d3_hp_vorkassemail"_ und
+dem Titel _"Heidelpay Vorkasseinfomail"_. +
+> **Hinweis:** +> Sollte die Höhe der Zahlung von dem Bestellwert abweichen, werden folgende Schritte durchgeführt: +> - Der _"Interner Status"_ (oxtransstatus) der Bestellung wird auf _"ERROR"_ gestellt und das Feld _"Bezahlt am"_ (oxpaid) bleibt unverändert. +> - Weiterhin werden E-Mails an Kunde und Shopinhaber gesandt, die auf die fehlerhafte Zahlung hinweisen. + + +## Einrichtung eines Cronjob +Für die Zahlungsarten "automatische Vorkasse" und "Rechnungskauf" ist ein Cronjob einzurichten.
+Dieser sorgt dafür, dass täglich mehrmals ein Abgleich eingegangener Zahlungen zwischen Shop und Unzer erfolgt.
+Wir empfehlen das Starten des Jobs 2-3x pro Tag. z.B. vormittags, nachmittags und abends.
+Weitere Informationen zum Anlegen von Cronjobs finden Sie in unserer [https://faq.d3data.de/begriffslexikon/cronjob/](https://faq.d3data.de/begriffslexikon/cronjob/). + +##Wichtiger Sicherheitshinweis + Verhindern Sie den Aufruf von .sh-Dateien via Browser. + Erweitern Sie z.B. die ".htaccess"-Datei des Shops um folgende Zeilen: +```apacheconfig + + + # htaccess - apache 2.4 + Require all denied + + + Order allow,deny + Deny from all + Satisfy All + + +``` diff --git a/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/010_Was_hat_sich_im_Bestellprozess_geaendert.md b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/010_Was_hat_sich_im_Bestellprozess_geaendert.md new file mode 100644 index 00000000..1bf59b05 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/010_Was_hat_sich_im_Bestellprozess_geaendert.md @@ -0,0 +1,12 @@ +--- +title: Was hat sich im Bestellprozess geändert? +--- + +Der Benutzer durchläuft den Bestellprozess wie gewohnt.
+Nach dem Klick auf den Button [ Zahlungspflichtig bestellen ] im Bestellschritt 4, wird direkt eine Bestellung angelegt bevor der Benutzer zu dem Zahlungsanbieter weitergeleitet wird. + +Die temporäre Bestellung erhält den Status `PENDING` sowie die Bestellnummer 0 (einstellungsabhängig). +Die Einstellungen finden Sie in den Unzer-Modul-Einstellungen unter [ {$menutitle} ] / [ Einstellungen ] / [ Cronjob Einstellungen (iDeal und Przelewy 24) ]. + +Es wird zu diesem Zeitpunkt **keine E-Mail** versendet.
+Im Admin unter [ Bestellungen verwalten ] /[ Bestellungen ] /[ Tab {$menutitle} ] können Sie die Reservation `OT.PA` sehen. diff --git a/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/020_Was_macht_der_Cronjob.md b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/020_Was_macht_der_Cronjob.md new file mode 100644 index 00000000..68ef302d --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/020_Was_macht_der_Cronjob.md @@ -0,0 +1,29 @@ +--- +title: Was macht der Cronjob? +--- + + +Der Cronjob holt sich eine Liste von Bestellungen die auf `PENDING` gesetzt und nicht storniert sind.
+Pro Bestellung werden alle Transaktionen von dem Unzer Server eingeholt. + +Transaktionen, die nicht im Shop vorhanden sind, werden in die Datenbank gespeichert. + +Anhand des Status der Transaktion wird die Bestellung abgearbeitet. + +Bei einer erfolgreichen Receipt `OT.RC` wird die Bestellung abgeschlossen. + +Die E-Mails werden zu **diesem Zeitpunkt** verschickt. + + +Wenn eine Bestellung das Ende der [ Lebenszeit einer PENDING-Bestellung (in Stunden) ] erreicht hat, +tritt die [ Aktion nach Lebenszeit ] in Kraft. +Sie können zwischen folgenden Bearbeitungsoptionen wählen: +
+
NOT_FINISHED (oxorder__oxtransstatus)
+
Bis 6.1.0.2 blieb die Bestellung unverändert.
+
Ab 6.1.0.2 wird der Bestellstatus (oxorder__oxtransstatus) PENDING auf NOT_FINISHED gesetzt.
+
Bestellung stornieren
+
Die Bestellung wird über die reguläre Routine des Shops storniert (Order::cancelOrder()).
+
Bestellung löschen
+
Die Bestellung wird unwiderruflich gelöscht. Die Löschung erfolg über den Shop selbst (order::delete())
+
diff --git a/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/030_Was_passiert_bei_einem_Refund.md b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/030_Was_passiert_bei_einem_Refund.md new file mode 100644 index 00000000..0fb7d259 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/030_Was_passiert_bei_einem_Refund.md @@ -0,0 +1,6 @@ +--- +title: Was passiert bei einem Refund? +--- + +Sollte eine Refund-Transaktion `OT.RF` vorhanden sein, wird die Bestellung (wie im Standard-Shop-Admin) storniert. +Der Shopbetreiber und der Kunde erhalten keine Benachrichtigung über die Stornierung. diff --git a/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/040_Wie_ist_der_Cronjob_einzurichten.md b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/040_Wie_ist_der_Cronjob_einzurichten.md new file mode 100644 index 00000000..f24493e0 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/040_Wie_ist_der_Cronjob_einzurichten.md @@ -0,0 +1,26 @@ +--- +title: Wie ist der Cronjob einzurichten? +--- + +Die Datei unter [ /modules/d3/heidelpay/Cron/collectpayments.php ] muss eingebunden werden. + +Folgende Parameter sind dafür erforderlich: +- via WWW Aufruf: + - shp=oxshopid - oxshopid steht für die jeweilige Shop Ident + - key=accessKey - accessKey ist der Key, der hier beschrieben wird: [Cronjob per Webaufruf einrichten](configuration/020_Konfiguration/020_Cronjob_einrichten/020_Cronjob_per_Webaufruf_einrichten.md) + +Die fertige URL könnte so aussehen: +```bash +http://www.meinshop.de/modules/d3/heidelpay/Cron/collectpayments.php?shp=1&key=Sicherheitspasswort +``` + +- Aufruf via Konsole + - shp=oxshopid - oxshopid steht für die jeweilige Shop Ident (nur EE relevant) + +Der fertige Aufruf könnte so aussehen: +```bash +php /ihr/serverpfad/zum/shop/modules/d3/heidelpay/Cron/collectpayments.php 1 +``` + +Es gibt einen Bereich im Admin [ (D3) Module ] / [ {$menutitle} ] / [ Einstellungen ] / [ Stamm ] / [ Cronjob Einstellungen (iDeal und Przelewy24) ], hier können Sie die Einstellungen zum Cronjob vornehmen. +> [i] In den Hilfetexten (mit einem ? gekennzeichnet) finden Sie eine Beschreibung zu den einzelnen Einstellungen. diff --git a/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/050_Was_ist_noch_zu_beachten.md b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/050_Was_ist_noch_zu_beachten.md new file mode 100644 index 00000000..2f1b24cd --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/050_Was_ist_noch_zu_beachten.md @@ -0,0 +1,13 @@ +--- +title: Was ist noch zu beachten? +--- +Sofern der Benutzer auf die Thankyou Seite kommt (Bestellschritt 5), sieht er folgenden +Text: +``` +Vielen Dank für Ihre Bestellung im OXID eShop 6. +Ihre Bestellung ist unter der Nummer 0 bei uns registriert. +Sie haben bereits eine Bestellbestätigung per E-Mail erhalten. +``` +Dieser Text sollte ggf. angepasst werden, da zu diesem Zeitpunkt keine E-Mail +versendet wird. +> [i] Die 0-Bestellnummer kann im Admin deaktiviert werden. Siehe [Was hat sich im Bestellprozess geändert?](configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/010_Was_hat_sich_im_Bestellprozess_geaendert.md) diff --git a/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/060_Infos_fuer_Entwickler.md b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/060_Infos_fuer_Entwickler.md new file mode 100644 index 00000000..b9d12240 --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/060_Infos_fuer_Entwickler.md @@ -0,0 +1,23 @@ +--- +title: Infos für Entwickler +--- + +Bestellungen die über iDeal und Przelewy24 abgewickelt werden, gehen einen anderen Weg. +Statt über `order::execute` wird vorher eine Bestellung in folgender Methode angelegt: +`D3\Heidelpay\Controllers\Order::createOrder` + +Danach wird der Kunde zu dem Zahlungsanbieter weitergeleitet. +Der Kunde landet im Erfolgsfall auf der Thankyou Seite. +Dabei wird kein `oxorder::finalizeOrder` ausgeführt! + +Die Methode wurde in 2 Teile gesplittet: +`d3_oxorder_heidelpay::d3CreateTemporaryOrder` +`d3_oxorder_heidelpay::d3FinalizeTemporaryOrder` + +Sollte der Cronjob lange benötigen, können Sie folgende Indexes setzen: +```mysql +ALTER TABLE `oxorder` + ADD INDEX `D3HPIDEALP24INDEX` (`OXSTORNO`, `OXTRANSSTATUS`) COMMENT 'index for d3 Unzer ideal + przelewy24'; +ALTER TABLE `d3_d3log_oxobject2d3transactionlog` + ADD INDEX `OXOBJECTID` (`OXOBJECTID`), ADD INDEX `D3GROUP` (`D3GROUP`); +``` diff --git a/docs/daux/configuration/020_Konfiguration/040_Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.md b/docs/daux/configuration/020_Konfiguration/040_Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.md new file mode 100644 index 00000000..7129d5ac --- /dev/null +++ b/docs/daux/configuration/020_Konfiguration/040_Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.md @@ -0,0 +1,31 @@ +--- +title: Zahlungsinformationen für Rechnungskauf und Vorkasse anzeigen lassen +--- +Im folgenden Abschnitt sehen Sie ein PHP Script, womit ein Entwickler an jeder beliebigen Stelle im Shop, +die Zahlungsinformationen implementieren kann (bspw. Oxid eigenen Invoice PDF Modul oder für die Anbindung einer Warenwirtschaft): +```php +/** @var \D3\Heidelpay\Modules\Application\Model\Order $order */ +$order = oxNew(\OxidEsales\Eshop\Application\Model\Order::class); +$order->load('OxidDerBestellung'); + +var_dump($order->getHeidelpayBankTransferData()); +/* returns false or : +stdClass::__set_state(array( + 'Type' => 'd3_d3heidelpay_models_payment_invoice_unsecured', + 'Currency' => 'EUR', + 'Amount' => '33.80', + 'ShortID' => '3457.1523.6672', + 'UniqueID' => '31HA07BC81287D6A78968151B24C6A22', + 'TransactionID' => '4387__@@2016-12-15 09:00:36', + 'Bank' => '37040044', + 'Number' => '5320130', + 'Holder' => 'Unzer (GmbH)', + 'Iban' => 'DE89370400440532013000', + 'Bic' => 'COBADEFFXXX', + 'Country' => 'DE', + 'Reference' => '3457.1523.6672', +))*/ +``` + +Ein Anwendungsbeispiel wird dem Kunden bereits auf der "Thank You" Seite angezeigt: +Zahlungsinformationen für Rechnungskauf und Vorkasse anzeigen lassen diff --git a/docs/daux/configuration/_index.md b/docs/daux/configuration/_index.md new file mode 100644 index 00000000..d65a164f --- /dev/null +++ b/docs/daux/configuration/_index.md @@ -0,0 +1,13 @@ +--- +title: Konfiguration | wichtige Hinweise +--- + +# Inhaltsverzeichnis + +* [automatische Vorkasse und Rechnungskauf](configuration/020_Konfiguration/010_automatische_Vorkasse_und_Rechnungskauf.md) +* [Cronjob einrichten](configuration/020_Konfiguration/020_Cronjob_einrichten/010_Cronjob_per_Konsole_einrichten.md) +* [Konfiguration der Zahlungsarten](configuration/020_Konfiguration/015_Konfiguration_der_Zahlungsarten.md) +* [Informationen und Anleitung von iDeal und Przelewy24](configuration/020_Konfiguration/030_Informationen_und_Anleitung_von_iDeal_und_Przelewy24/010_Was_hat_sich_im_Bestellprozess_geaendert.md) +* [Zahlungsinformationen für Rechnungskauf und Vorkasse anzeigen lassen](configuration/020_Konfiguration/040_Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.md) + +Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unter [Hilfe und Support](support/010_Hilfe-und-Support.md) genannten Kontaktdaten Bescheid. diff --git a/docs/daux/description/010_Beschreibung.md b/docs/daux/description/010_Beschreibung.md new file mode 100644 index 00000000..02436cda --- /dev/null +++ b/docs/daux/description/010_Beschreibung.md @@ -0,0 +1,43 @@ +--- +title: Beschreibung +--- +Unzer Logo + +Die Unzer GmbH ist einer der innovativsten und am stärksten wachsenden Fintech-Dienstleister mit Hauptsitz in Heidelberg. Der international tätige Spezialist für Zahlungsabwicklung setzt dabei auf eigene Lösungen wie Rechnungs- und Ratenkauf, Lastschrift, Online-Überweisung, Vorkasse und Kreditkarte sowie auf Anbieter von Wallet-Lösungen. Mit über 16 Jahren Erfahrung im E-Commerce und am Point of Sale bietet die Unzer GmbH als von der BaFin zugelassenes Zahlungsinstitut Unternehmen jeder Größe die Möglichkeit, weltweite Zahlungsabwicklungen durchzuführen. + +## Transaktionsübersicht an den Bestellungen +Das Modul verfügt über einen eigenen Administrationsbereich an den Bestellungen, wo Sie Buchungen*, Stornierungen*, Gutschriften* etc. durchführen können. +Eine separate Anmeldung am Unzer-Händlerbereich ist für die Zahlungsabwicklungen der Shopbestellungen dadurch nicht mehr nötig! + +## PCI 3 Konformität + +PCI DSS Level SAQ-A wird ab Modulversion 5.2.0.0 (azure) unterstützt. +Details zu PCI finden Sie unter https://www.pcisecuritystandards.org/ . + +## Folgende Leistungen bietet Ihnen das Modul über das Zahlungssystem der Unzer (GmbH) +- Kreditkarte +- Bankeinzug/Lastschrift (DE, AT und CH) +- automatische Vorkasse +- Sofortüberweisung (in DE und AT) +- Rechnungskauf (ohne Zahlungssicherung) +- PayPal +- Debitkarte * +- Giropay * +- iDeal * +- EPS * +- Rechnungskauf (mit Zahlungssicherung) * +- B2B Rechnungskauf (mit Zahlungssicherung) * +- Przelewy 24 * +- MasterPass * +- EasyCredit * +- PostFinance * +- BillSAFE (nur Bestandskunden) +> [!] * nur in der Edition "Premium" verfügbar + + +## Hinweis zu 3D Secure +"Verified by Visa" und "MasterCard Secure Code" sind Authentifizierungssysteme auf Basis der Visa-Technologie "3D Secure". +Der Karteninhaber gibt im Web seine Kreditkartennummer ein. +Nimmt der Issuer (kartenausstellende Bank) am 3D Secure-Verfahren teil, kann der Kartenbesitzer ein zusätzlich hinterlegtes Passwort eingeben. +Damit erhält das Zahlungssystem des Händlers ein Authentifizierungsmerkmal. +Die Möglichkeit zu 3D Secure ist in diesem Modul enthalten und kann bei Unzer angefragt werden. diff --git a/docs/daux/description/015_Editionsunterschiede.md b/docs/daux/description/015_Editionsunterschiede.md new file mode 100644 index 00000000..63342457 --- /dev/null +++ b/docs/daux/description/015_Editionsunterschiede.md @@ -0,0 +1,63 @@ +--- +title: Editionsunterschiede +--- +Wir liefern das Unzer Modul in 2 Lizenzmodellen aus, Basic und Premium. +Die Unterschiede zwischen den Lizenzen können Sie hier einsehen: +|   | Basic | Premium +| --- |: --- :|: ---: +|Preis|0,00 €|ab 259,00 € + +| Bankeinzug / Lastschrift | Basic | Premium +| --- |: --- :|: ---: +|ELV Deutschland, Österreich, Schweiz|**X**|**X** +|mit Zahlungssicherung| |**X** + +| Kreditkarten | Basic | Premium +| --- |: --- :|: ---: +|Visa|**X**|**X** +|Mastercard|**X**|**X** +|American Express|**X**|**X** +|Dinners|**X**|**X** +|JCB|**X**|**X** +|verified by Visa (3D Secure)|**X**|**X** +|MasterCard SecureCode (3D Secure)|**X**|**X** + +| Debitkarten | Basic | Premium +| --- |: --- :|: ---: +|Carta postepay (Italien)| |**X** +|Carte Bleue (Frankreich)| |**X** +|ServiRed (Spanien)| |**X** +|Visa Electron| |**X** +|Euro 6000 (Spanien)| |**X** +|4B (Spanien)| |**X** +|Dankort (Dänemark)| |**X** +|Maestro International 3D Secure| |**X** + +| PIN / TAN Verfahren | Basic | Premium +| --- |: --- :|: ---: +|Sofortüberweisung|**X**|**X** +|Giropay| |**X** +|IDEAL (Niederlande)| |**X** +|EPS (Österreich)| |**X** +|Przelewy 24| |**X** +|PostFinance| |**X** + +| E-Wallet | Basic | Premium +| --- |: --- :|: ---: +|PayPal|**X**|**X** +|MasterPass| |**X** + +| Weitere Zahlungsarten | Basic | Premium +| --- |: --- :|: ---: +|Vorkasse|**X**|**X** +|BillSAFE (nur Bestandskunden)|**X**|**X** +|Rechnungskauf ohne Zahlungssicherung|**X**|**X** +|Rechnungskauf mit Zahlungssicherung| |**X** +|B2B Rechnungskauf mit Zahlungssicherung| |**X** +|EasyCredit (Ratenkauf)| |**X** + +| Admin-Bereich an den Bestellungen | Basic | Premium +| --- |: --- :|: ---: +|Übersicht Transaktionen|**X**|**X** +|Aktionen durchführen (Storno, Refund,etc.)| |**X** + diff --git a/docs/daux/img/Unzer__PrimaryLogo_Raspberry_RGB.png b/docs/daux/img/Unzer__PrimaryLogo_Raspberry_RGB.png new file mode 100644 index 0000000000000000000000000000000000000000..f43f12ee28a8261fb41e636416a72b1d4a869fa6 GIT binary patch literal 40227 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%0AT#+EGKB_VN!|<$1O&EN0k=Sbs>~8O{$i zXFnDSzXD0|SrSv(%0i*5^&SzE(Z}O|qsnOio-t^;Fa;8Jm;)hj~C6gGrw@$YVbO-TjCfs0DlLMTdx8Q z(TkaHsA1S9(67+G4qfbnlmF&#WJ+2=^+`-(!eFkl1{Fls6#0$Xa4jl3}cw9+TgoRx8z?XjW*e zPQ_Z-oDg=dG8m?LT&J9_RB9j(bb%=uRI9H%?FW7lb{6?6@K}y|Ui+Ai0Ue>Fr)=Qh zIBi~?Mxn;{W|Fs3Q$+F3I_%73tXFo}HI33A^g}MPi$49f>!N;^3@S7DK$pU&7Wu zl$yxueJzwRaM_Hc-9qwL+Au+1V2@uUOLse)TqP5v%vBMnrZ@$IofT?p*6v_Ey1SC z(P+_o!m3$1ltqQ*OhPn?+_2|QgGbqMSMI^D`r)n^!|}}q@3JAXgj0&N#SgSQMeGFTsgK(BuSj{JFnv`vMWhTPBY$u*Ow-Y;N-ObZrjJ7g%J3Jd%((#PME}6<6-+l8{CeW?055LEKct2JD zZb_Lgwv1knBli}gz zO=5rfNA>)~ffaG)D z0SQz@?w7z&%e0vM(1hKVN-8F&BR_rjx8<@ZprPcxI*0SPub(ygru literal 0 HcmV?d00001 diff --git a/docs/daux/img/unzer_new_channel_configuration_loaded.png b/docs/daux/img/unzer_new_channel_configuration_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..b992caeeae9fa65169ae316ca83e49e74b7a2ac4 GIT binary patch literal 83607 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 Durch composer werden die Abhängigkeiten direkt vor der Installation geprüft. +> D.h. wenn eine der Anforderung nicht erfüllt ist, wird das Modul nicht installiert und die entsprechende Anforderung wird direkt auf der Konsole ausgegeben. diff --git a/docs/daux/installation/010_Anforderungen/040_Beiliegende_Bibliotheken.md b/docs/daux/installation/010_Anforderungen/040_Beiliegende_Bibliotheken.md new file mode 100644 index 00000000..e4ab5098 --- /dev/null +++ b/docs/daux/installation/010_Anforderungen/040_Beiliegende_Bibliotheken.md @@ -0,0 +1,11 @@ +--- +title: beiliegende Bibliotheken +--- + +Dem Modul liegt eine Kopie der Bibliothek jQuery-Simple-Timer bei. + +Bitte beachten Sie deren Lizenzhinweise in der Datei: +[ src/out/src/js/jquery.simple.timer/LICENSE.md ] +oder auf [github.com](https://github.com/d3datadevelopment/Heidelpay/blob/rel_ionCube_PHP56-70/src/out/src/js/jquery.simple.timer/LICENSE.md) + + diff --git a/docs/daux/installation/010_Anforderungen/045_wichtige_Hinweise.md b/docs/daux/installation/010_Anforderungen/045_wichtige_Hinweise.md new file mode 100644 index 00000000..c2b5a2fc --- /dev/null +++ b/docs/daux/installation/010_Anforderungen/045_wichtige_Hinweise.md @@ -0,0 +1,41 @@ +--- +title: Wichtige Hinweise +--- + +zu Ihrem Unzer-Händlervertrag +================================ +Nur relevant bei Zahltyp "Sofort by Klarna" und einem Update des Moduls. +Das Modul nutzt für Sofort by Klarna eine spezielle Option der Unzer-Konfiguration, mit der Ihr Endkunde erst auf der Webseite von Sofort by Klarna seine Bankdaten eingeben muss. +Diese Option muss jedoch erst in Ihrem Händlerkonto eingerichtet werden. +Ohne diese Einstellung ist eine Nutzung des Zahltyp "Sofort by Klarna" nicht möglich! +Lassen Sie daher vor dem Einspielen der vorliegenden Modulversion die Aktivierung der genannten Option in Ihrem Händlerkonto von Ihrem Unzer-Händlerbetreuer prüfen. + +Modulversion 6.1.0.0 +================================ +Veraltete Konfigurationenänderungen unter 6.0.0.0 werden **nicht** mehr migriert. +Sollte eine ältere Konfiguration migriert werden, installieren Sie bitte die Version 6.0.3.1 und +lassen Sie die automatische Installation einmalig durchführen. +Danach aktualisieren Sie auf die gewünschste Modulversion. + +Mit diesem Release stellen wir die neue [Channel-Konfiguration](../../changelog/020_Channel_Rekonfiguration.md) vor. + +Modulversion 6.0.3.0 +================================ +Die Zahlungsart Billsafe wird nicht mehr über das Unzer Modul angeboten. + +Modulversion 6.0.2.0 +================================ +Nur EE: +Mit dem kleinem Update 6.0.2.0 werden für die gespeicherten Daten die Shopid eingeführt. +Damit wird unterbunden, dass Kunden auf die Referenzdaten aus anderen Subshops erhalten. +Bitte führen Sie die folgende Abfrage manuell im Admin oder in der Datenbank aus: +```sql +UPDATE d3hpuid, oxuser +SET d3hpuid.oxshopid = oxuser.oxshopid +WHERE d3hpuid.OXUSERID = oxuser.OXID +AND oxuser.OXSHOPID != d3hpuid.OXSHOPID; +``` + +Modulversion 6.0.0.0 +================================ +Das Oxid Standard "Mobile-Theme" wird nicht mehr untersützt! diff --git a/docs/daux/installation/010_Anforderungen/050_Vorbereitungen.md b/docs/daux/installation/010_Anforderungen/050_Vorbereitungen.md new file mode 100644 index 00000000..766bbb4b --- /dev/null +++ b/docs/daux/installation/010_Anforderungen/050_Vorbereitungen.md @@ -0,0 +1,9 @@ +--- +title: Vorbereitungen +--- + +Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. +Ob dies evtl. schon geschehen ist, können Sie im Adminbereich Ihres Shops prüfen. Existiert der Punkt [ D3 Module ] / [ Modul-Connector ], können Sie die installierte Version unter [ Bibliotheksverwaltung ] ablesen. Fehlt dieser Eintrag, installieren Sie den kostenfreien Connector. +Informationen zu dessen Installation finden Sie auf unserer [Homepage](https://www.oxidmodule.com/Connector/). + +Klicken Sie auf den Reiter [ Downloads ] und wählen dort das für Ihre Installation passende Paket. diff --git a/docs/daux/installation/015_Schnellstart.md b/docs/daux/installation/015_Schnellstart.md new file mode 100644 index 00000000..33951e71 --- /dev/null +++ b/docs/daux/installation/015_Schnellstart.md @@ -0,0 +1,21 @@ +--- +title: Schnellstart +--- + +## Schnellstart per Composer + +```bash +php composer require {$composerident} --update-no-dev +``` + +Detailliertere Angaben zur Installation entnehmen Sie bitte der [Installationsanleitung](installation/020_Neuinstallation/020_Modul_hinzufuegen.md). + +## Schnellstart im Admin +Das Modul **{$modulename}** bringt einen umfangreichen Adminbereich mit, +in dem Sie die Konfigurationseinstellungen des Moduls setzen können. +Über das Menü [D3 Module] / [{$menutitle}] erreichen Sie die Einstellseiten. +Arbeiten Sie idealerweise die Optionen einmal durch. +Hinweise zu den einzelnen Einstellungen finden Sie in dem dahinter stehenden Fragezeichenfeld. +Durch einen Klick darauf öffnet sich der Hinweistext. + +Unter [Konfiguration des Moduls](configuration/_index.md) werden die Einstellungen und Möglichkeiten umfangreicher beschrieben. diff --git a/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md b/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md new file mode 100644 index 00000000..f024ce8d --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/020_Modul_hinzufuegen.md @@ -0,0 +1,11 @@ +--- +title: Modul zur Installation hinzufügen +--- + +Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des `source`- und `vendor`-Verzeichnisses) diesen Befehl aus, um das Modul **{$modulename}** zur Installation hinzuzufügen: + +```bash +php composer require {$composerident}:^{$moduleversion} --update-no-dev +``` + +> [i] Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die [Dokumentation von Composer](https://getcomposer.org/doc/03-cli.md#require). diff --git a/docs/daux/installation/020_Neuinstallation/030_Verwendung_eigener_Themes.md b/docs/daux/installation/020_Neuinstallation/030_Verwendung_eigener_Themes.md new file mode 100644 index 00000000..0123a15b --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/030_Verwendung_eigener_Themes.md @@ -0,0 +1,14 @@ +--- +title: Verwendung eigener Themes +--- + +Das Modul ist für die Verwendung mit den folgenden OXID-Themes vorbereitet: + +* Flow +* Azure + +Verwenden Sie in Ihrem Shop ein angepasstes Verzeichnis für Ihre Templates (neues Theme oder CustomTheme), kopieren Sie die Templates und / oder die CSS-Dateien in die neuen Ordner. + +Ähnelt Ihr neues Theme technisch einem der OXID-Originale, können Sie dieses darauf umleiten. Childs von originalen OXID- Themes benötigen keine Umleitung. + +Weitere Informationen zur Umleitung finden Sie in unserer [FAQ](https://faq.d3data.de/oxid-eshop/module-oxid-eshop/anpassungen/template-bloecke-dem-eigenen-theme-zuordnen/). \ No newline at end of file diff --git a/docs/daux/installation/020_Neuinstallation/040_Providerspezifische_Installation.md b/docs/daux/installation/020_Neuinstallation/040_Providerspezifische_Installation.md new file mode 100644 index 00000000..81350081 --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/040_Providerspezifische_Installation.md @@ -0,0 +1,5 @@ +--- +title: Providerspezifische Installation +--- + +Manche Provider erfordern besondere Einstellungen für installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterstützung benötigen, kontaktieren Sie uns bitte für weiteren Support. \ No newline at end of file diff --git a/docs/daux/installation/020_Neuinstallation/050_Modul_im_Shop_aktivieren.md b/docs/daux/installation/020_Neuinstallation/050_Modul_im_Shop_aktivieren.md new file mode 100644 index 00000000..b542494b --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/050_Modul_im_Shop_aktivieren.md @@ -0,0 +1,7 @@ +--- +title: Modul im Shop aktivieren +--- + +Aktivieren Sie das Modul über den Shopadmin unter [ Erweiterungen ] / [ Module ]. Klicken Sie nach Auswahl von [ {$menutitle} ] auf den Button [ Aktivieren ]. + +> [!] **Enterprise Editon**: Achten Sie darauf, dass das Modul in weiteren Shops (Mall) ebenfalls aktiviert werden muss, um dessen Funktion dort auch zu nutzen. diff --git a/docs/daux/installation/020_Neuinstallation/060_Shopanpassungen_installieren.md b/docs/daux/installation/020_Neuinstallation/060_Shopanpassungen_installieren.md new file mode 100644 index 00000000..ad6f546d --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/060_Shopanpassungen_installieren.md @@ -0,0 +1,11 @@ +--- +title: Shopanpassungen installieren +--- + +Direkt nach der Modulaktivierung startet der Assistent, der Sie durch die Shopanpassung führt. Darin können Sie verschiedene Optionen der Installation wählen. + +Den Installationsassistenten finden Sie auch unter den Menüpunkten [ Admin ] / [ D3 Module ] / [ Modul-Connector ] / [ Modulverwaltung ] / [ Modulinstallation ]. + +Bei tiefgreifenden Änderungen an Ihrem Shop (z.B. Hinzufügen weiterer Sprachen oder Mandanten) rufen Sie den Installationsassistenten bitte erneut auf, um dann eventuell notwendige Nacharbeiten für das Modul ausführen zu lassen. + +Möchten Sie die Änderungen manuell installieren, können Sie sich über diesen Assistenten ebenfalls eine Checkliste erstellen. diff --git a/docs/daux/installation/020_Neuinstallation/070_TMP-Ordner_leeren.md b/docs/daux/installation/020_Neuinstallation/070_TMP-Ordner_leeren.md new file mode 100644 index 00000000..da44fdc3 --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/070_TMP-Ordner_leeren.md @@ -0,0 +1,9 @@ +--- +title: TMP-Ordner leeren +--- + +Leeren Sie das Verzeichnis `tmp` über [ Admin ] / [ D3 Module ] / [ Modul-Connector ] / [ TMP leeren ]. Markieren Sie [ komplett leeren ] und klicken auf [ TMP leeren ]. + +Sofern die Views nicht automatisch aktualisiert werden, führen Sie dies noch durch. + +> [i] Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, führen Sie diese bitte aus. diff --git a/docs/daux/installation/020_Neuinstallation/080_Lizenz_eintragen.md b/docs/daux/installation/020_Neuinstallation/080_Lizenz_eintragen.md new file mode 100644 index 00000000..cecbf29e --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/080_Lizenz_eintragen.md @@ -0,0 +1,9 @@ +--- +title: Lizenzschlüssel eintragen +--- + +Das Modul verwendet Lizenzschlüssel, um die Lizenzverwaltung für Sie und auch für uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz für den Einsatz im Livebetrieb. + +Speziell **{$modulename}** wird in unterschiedlichen (teilweise kostenfreien) Editionen für den Livebetrieb angeboten. Besuchen Sie unseren [Moduleshop](https://www.oxidmodule.com/), um mehr darüber zu erfahren. + +Rufen Sie zum Anfordern des Lizenzschlüssels die Modulverwaltung im Adminbereich unter [ D3 Module ] / [ Modul-Connector ] / [ Modulverwaltung ] auf. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, können Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert. diff --git a/docs/daux/installation/020_Neuinstallation/082_Konfiguration_einstellen.md b/docs/daux/installation/020_Neuinstallation/082_Konfiguration_einstellen.md new file mode 100644 index 00000000..3019eeb4 --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/082_Konfiguration_einstellen.md @@ -0,0 +1,14 @@ +--- +title: Konfiguration einstellen +--- + +Im Admin wird ein neuer Punkt [D3 Module] / [Heideplay] gezeigt, unter +dem alle Einstellungsmöglichkeiten zu finden sind. Nach der Installation sind die +Demo-Unzer-Daten eingerichtet, so dass direkt eine Testbestellung mit +Kreditkarte oder Bankeinzug gemacht werden kann. +Weitere Testdaten (Kreditkarte, Billsafe o.a.) können Sie bei Unzer anfordern. + +### Hinweise +> [!] Solange die Demodaten eingestellt sind, werden keine realen Buchungen durchgeführt + +> [!] Beachten Sie den Abschnitt [Konfiguration](configuration/_index.md) für die korrekte Einrichtung des Moduls diff --git a/docs/daux/installation/020_Neuinstallation/100_Updatefaehigkeit.md b/docs/daux/installation/020_Neuinstallation/100_Updatefaehigkeit.md new file mode 100644 index 00000000..40532b06 --- /dev/null +++ b/docs/daux/installation/020_Neuinstallation/100_Updatefaehigkeit.md @@ -0,0 +1,7 @@ +--- +title: Updatefähigkeit +--- + +Bei individuellen Änderungen von Moduldateien empfehlen wir, jeweils die Überladungsmöglichkeiten des Shops dafür zu verwenden. So brauchen Sie die originalen Moduldateien nicht verändern und erhalten sich so die Updatefähigkeit des Shops und des Moduls. Beachten Sie, dass Moduldateien bei Updateinstallationen überschrieben werden. + +Weitere Informationen zu den Überladungsmöglichkeiten verschiedener Dateien finden Sie in unserer [FAQ](https://faq.d3data.de/category/oxid-eshop/module-oxid-eshop/anpassungen/). \ No newline at end of file diff --git a/docs/daux/installation/030_Update/005_Updatedefinition.md b/docs/daux/installation/030_Update/005_Updatedefinition.md new file mode 100644 index 00000000..c05683ea --- /dev/null +++ b/docs/daux/installation/030_Update/005_Updatedefinition.md @@ -0,0 +1,8 @@ +--- +title: Wann kann ein Update ausgeführt werden? +--- + +Die Updatenaweisungen können verwendet werden, wenn dieses Modul schon früher mit Hilfe von Composer installiert wurde. + +Wurde die Installation bisher noch nicht durchgeführt oder die Installation wurde **nicht** über Composer +durchgeführt (weil das Modul dies z.B. früher nicht unterstützte), verwenden Sie bitte die Beschreibung unter [Neuinstallation](../020_Neuinstallation/020_Modul_hinzufuegen.md). \ No newline at end of file diff --git a/docs/daux/installation/030_Update/010_Modul_deaktivieren.md b/docs/daux/installation/030_Update/010_Modul_deaktivieren.md new file mode 100644 index 00000000..db1b086c --- /dev/null +++ b/docs/daux/installation/030_Update/010_Modul_deaktivieren.md @@ -0,0 +1,5 @@ +--- +title: Modul deaktivieren +--- + +Deaktivieren Sie das Modul über den Shopadmin unter [ Erweiterungen ] / [ Module ]. Klicken Sie nach Auswahl von [ {$menutitle} ] auf den Button [ Deaktivieren ]. diff --git a/docs/daux/installation/030_Update/020_Dateien_erneuern.md b/docs/daux/installation/030_Update/020_Dateien_erneuern.md new file mode 100644 index 00000000..d49d8409 --- /dev/null +++ b/docs/daux/installation/030_Update/020_Dateien_erneuern.md @@ -0,0 +1,16 @@ +--- +title: Dateien erneuern +--- + +Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres +Shops (oberhalb des `source`- und `vendor`-Verzeichnisses). Führen Sie dort diesen Befehl aus: + +```bash +php composer require {$composerident}:^{$moduleversion} --update-no-dev +``` + +Im weiteren Ablauf werden Sie gefragt, ob die Moduldateien überschrieben werden sollen. Bestätigen Sie dies für den Eintrag `{$composerident}`. + +> [!] Achten Sie darauf, dass die Installation über Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. + +> [i] Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die [Dokumentation von Composer](https://getcomposer.org/doc/03-cli.md#require). \ No newline at end of file diff --git a/docs/daux/installation/030_Update/030_Providerspezifische_Installation.md b/docs/daux/installation/030_Update/030_Providerspezifische_Installation.md new file mode 100644 index 00000000..81350081 --- /dev/null +++ b/docs/daux/installation/030_Update/030_Providerspezifische_Installation.md @@ -0,0 +1,5 @@ +--- +title: Providerspezifische Installation +--- + +Manche Provider erfordern besondere Einstellungen für installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterstützung benötigen, kontaktieren Sie uns bitte für weiteren Support. \ No newline at end of file diff --git a/docs/daux/installation/030_Update/040_Modulinformationen_aktualisieren.md b/docs/daux/installation/030_Update/040_Modulinformationen_aktualisieren.md new file mode 100644 index 00000000..34fc6b67 --- /dev/null +++ b/docs/daux/installation/030_Update/040_Modulinformationen_aktualisieren.md @@ -0,0 +1,5 @@ +--- +title: Modulinformationen aktualisieren +--- + +Wechseln Sie im Adminbereich zu [ Erweiterungen ] / [ Module ]. Klicken Sie nach Auswahl von [ {$menutitle} ] auf den Button [ Aktivieren ]. diff --git a/docs/daux/installation/030_Update/050_Shopanpassungen_installieren.md b/docs/daux/installation/030_Update/050_Shopanpassungen_installieren.md new file mode 100644 index 00000000..3076ed34 --- /dev/null +++ b/docs/daux/installation/030_Update/050_Shopanpassungen_installieren.md @@ -0,0 +1,11 @@ +--- +title: Shopanpassungen installieren +--- + +Ob Shopanpassungen notwendig sind, ist von der Versionsänderung des Moduls abhängig. + +Möglicherweise sehen Sie nach dem Neuaktivieren des Moduls den Installationsassistent, der Sie durch die Änderungen führt. Folgen Sie dann den einzelnen Schritten. Möchten Sie die Änderungen manuell installieren, können Sie sich über diesen Assistenten ebenfalls eine Checkliste erstellen. + +Wird der Assistent nicht gezeigt (Sie sehen wieder die Modulübersicht), waren keine Anpassungen am Shop notwendig. + +Ob erforderliche Updates ausgeführt werden sollen, können Sie jederzeit im Adminbereich unter [ D3 Module ] / [ Modul-Connector ] / [ Modulverwaltung ] / [ Modulinstallation ] prüfen. diff --git a/docs/daux/installation/030_Update/060_TMP-Ordner_leeren.md b/docs/daux/installation/030_Update/060_TMP-Ordner_leeren.md new file mode 100644 index 00000000..da44fdc3 --- /dev/null +++ b/docs/daux/installation/030_Update/060_TMP-Ordner_leeren.md @@ -0,0 +1,9 @@ +--- +title: TMP-Ordner leeren +--- + +Leeren Sie das Verzeichnis `tmp` über [ Admin ] / [ D3 Module ] / [ Modul-Connector ] / [ TMP leeren ]. Markieren Sie [ komplett leeren ] und klicken auf [ TMP leeren ]. + +Sofern die Views nicht automatisch aktualisiert werden, führen Sie dies noch durch. + +> [i] Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, führen Sie diese bitte aus. diff --git a/docs/daux/installation/030_Update/070_Lizenzschluessel_aktualisieren.md b/docs/daux/installation/030_Update/070_Lizenzschluessel_aktualisieren.md new file mode 100644 index 00000000..a4d49aab --- /dev/null +++ b/docs/daux/installation/030_Update/070_Lizenzschluessel_aktualisieren.md @@ -0,0 +1,5 @@ +--- +title: Lizenzschlüssel aktualisieren +--- + +Wird für die neue Modulversion ein aktualisierter Lizenzschlüssel benötigt, tragen Sie diesen im Adminbereich unter [ D3 Module ] / [ Modul-Connector ] / [ Modulverwaltung ] ein. Klappen Sie dazu den Eintrag des jeweiligen Moduls aus und starten den Lizenzassistent. diff --git a/docs/daux/installation/030_Update/080_Erweiterungen_anpassen.md b/docs/daux/installation/030_Update/080_Erweiterungen_anpassen.md new file mode 100644 index 00000000..5fc0aa2a --- /dev/null +++ b/docs/daux/installation/030_Update/080_Erweiterungen_anpassen.md @@ -0,0 +1,5 @@ +--- +title: Erweiterungen anpassen +--- + +Haben Sie für dieses Modul eigene Erweiterung entwickelt, gleichen Sie dies bitte mit der neuen Fassung des Moduls ab. \ No newline at end of file diff --git a/docs/daux/installation/030_Update/090_Aenderungen_kontrollieren.md b/docs/daux/installation/030_Update/090_Aenderungen_kontrollieren.md new file mode 100644 index 00000000..28ec31f6 --- /dev/null +++ b/docs/daux/installation/030_Update/090_Aenderungen_kontrollieren.md @@ -0,0 +1,13 @@ +--- +title: Änderungen kontrollieren +--- + +### Wechsel auf Modul-Version 5.2.0.0 oder höher +* Bitte beachten Sie die beiliegende Konfigurationsanleitung [Informationen und Anleitung von iDeal und Przelewy24](configuration/_index.md) + +### Ab Modul-Version 5.2.3.4 +* können Sie mehrsprachige Konfigurationen nutzen. +Kontrollieren Sie bitte die Einstellung "mehrsprachige Konfigurationen erlauben" unter +[(D3) Module] / [{$menutitle}] / [Einstellungen] / [Einstellungen zu Modul-Logging, Sicherheit und Sprache]. +Sofern mehrsprachige Konfigurationen bereits vorhanden sind, wird Ihnen eine Meldung gezeigt. +Bitte folgen Sie den Instruktionen der Meldung. diff --git a/docs/daux/installation/040_Installationspruefung.md b/docs/daux/installation/040_Installationspruefung.md new file mode 100644 index 00000000..7919e330 --- /dev/null +++ b/docs/daux/installation/040_Installationspruefung.md @@ -0,0 +1,21 @@ +--- +title: Installationsprüfung +--- + +Um die erfolgreiche Installation zu prüfen, können Sie die folgende(n) Checkliste(n) verwenden: + +## Einstellungsunabhängige Prüfungen + +### Backend + +* das Modul ist unter [ Erweiterungen ] / [ Module ] aktiv geschaltet +* das Modul ist unter [ (D3) Module ] / [ Modul-Connector ] / [ Modulverwaltung ] aktiv geschaltet +* das Modul zeigt unter [ (D3) Module ] / [ {$menutitle} ] einen eigenen Bereich für Einstellungen, Logging und die Transaktionsübersicht +* das Modul zeigt unter [Bestellungen verwalten] / [Bestellungen] einen neuen Tab [{$menutitle}] + +## Einstellungsabhängige Prüfungen +### Frontend +* Im Bestellschritt 3 (Versand & Zahlungsart) werden Icons zu den konfigurierten Zahlungsarten angezeigt +* der Shop zeigt nach Absenden des Bestellschritt 4 (Überprüfen & Absenden) folgendes Verhalten: + * bei Kreditkarte, Debitkarte ein Eingabeformular / eine Auswahl zu gespeicherten Daten + * bei Paypal, Sofort by Klarna, iDeal (und andere OT Zahlungsarten) eine Weiterleitung zum Zahlungsanbieter diff --git a/docs/daux/installation/060_Deinstallation/010_Modulerweiterungen_deaktivieren_und_entfernen.md b/docs/daux/installation/060_Deinstallation/010_Modulerweiterungen_deaktivieren_und_entfernen.md new file mode 100644 index 00000000..e67e777a --- /dev/null +++ b/docs/daux/installation/060_Deinstallation/010_Modulerweiterungen_deaktivieren_und_entfernen.md @@ -0,0 +1,5 @@ +--- +title: Modulerweiterungen deaktivieren und entfernen +--- + +Deaktivieren Sie alle vorhandenen Erweiterungen, die auf dem Modul **{$modulename}** aufbauen und löschen bitte alle Dateien dieser Erweiterungen. Entfernen Sie ebenfalls alle individuellen Templateanpassungen für dieses Modul. \ No newline at end of file diff --git a/docs/daux/installation/060_Deinstallation/020_Modul_deaktivieren.md b/docs/daux/installation/060_Deinstallation/020_Modul_deaktivieren.md new file mode 100644 index 00000000..ff4590f4 --- /dev/null +++ b/docs/daux/installation/060_Deinstallation/020_Modul_deaktivieren.md @@ -0,0 +1,6 @@ +--- +title: Modul deaktivieren +--- + +Deaktivieren Sie das Modul **{$modulename}** über den Shopadmin [ Erweiterungen ] / [ Module ]. Klicken Sie nach Auswahl von [ {$menutitle} ] auf den Button [ Deaktivieren ]. + diff --git a/docs/daux/installation/060_Deinstallation/030_Modul_aus_der_Installation_entfernen.md b/docs/daux/installation/060_Deinstallation/030_Modul_aus_der_Installation_entfernen.md new file mode 100644 index 00000000..344eb78d --- /dev/null +++ b/docs/daux/installation/060_Deinstallation/030_Modul_aus_der_Installation_entfernen.md @@ -0,0 +1,13 @@ +--- +title: Modul aus der Installation entfernen +--- + +Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des `source`- und `vendor`-Verzeichnisses). Führen Sie Sie dort diesen Befehl aus: + +```Bash +php composer remove {$composerident} --no-update +``` + +> [!] Achten Sie darauf, dass die Installation über Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. + +> [i] Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die [Dokumentation von Composer](https://getcomposer.org/doc/03-cli.md#require). diff --git a/docs/daux/installation/060_Deinstallation/040_Dateien_loeschen.md b/docs/daux/installation/060_Deinstallation/040_Dateien_loeschen.md new file mode 100644 index 00000000..3d623cd1 --- /dev/null +++ b/docs/daux/installation/060_Deinstallation/040_Dateien_loeschen.md @@ -0,0 +1,9 @@ +--- +title: Dateien löschen +--- + +Löschen Sie den Ordner `{$modulefolder}` und seine enthaltenen Elemente aus dem Verzeichnis `source/modules/d3` Ihres Shops. +Bestätigen Sie anschließend im Shopadmin unter [ Erweiterungen ] / [ Module ] / [ Installierte Shop-Module ] die Nachricht: + +> [i] Es gibt registrierte Erweiterungen im eShop, deren Verzeichnis nicht vorhanden ist. +> Möchten Sie alle Modulinformationen einschließlich Konfigurationseinstellungen und Blockinformationen für Templates löschen? diff --git a/docs/daux/installation/060_Deinstallation/050_Datenbank_bereinigen.md b/docs/daux/installation/060_Deinstallation/050_Datenbank_bereinigen.md new file mode 100644 index 00000000..ba20f0bb --- /dev/null +++ b/docs/daux/installation/060_Deinstallation/050_Datenbank_bereinigen.md @@ -0,0 +1,23 @@ +--- +title: Datenbank bereinigen +--- + +Das Modul legt Informationen in der Datenbank ab. Sofern diese Daten nicht mehr benötigt werden, können diese gelöscht werden. + +> [!] Legen Sie sich vorab bitte unbedingt eine Sicherung an, um die Daten im Zweifelsfall wiederherstellen zu können. + +Für das Modul **{$modulename}** sind dies die folgende Tabellen und Felder: + +* die komplette Tabelle `d3hpuid` +* die komplette Tabelle `d3hperrortexts` + + +und diese Felder in bestehenden Tabellen: + +* in Tabelle `oxorder`: + * das Feld `D3HEIDELPAYVOUCHERS` + +sowie diese Einträge in bestehenden Tabellen: + +* in Tabelle `d3_cfg_mod`: + * den/die Eintrag/Einträge `oxmodid = "{$moduleConfigurationident}"` diff --git a/docs/daux/installation/060_Deinstallation/060_TMP-Ordner_leeren.md b/docs/daux/installation/060_Deinstallation/060_TMP-Ordner_leeren.md new file mode 100644 index 00000000..da44fdc3 --- /dev/null +++ b/docs/daux/installation/060_Deinstallation/060_TMP-Ordner_leeren.md @@ -0,0 +1,9 @@ +--- +title: TMP-Ordner leeren +--- + +Leeren Sie das Verzeichnis `tmp` über [ Admin ] / [ D3 Module ] / [ Modul-Connector ] / [ TMP leeren ]. Markieren Sie [ komplett leeren ] und klicken auf [ TMP leeren ]. + +Sofern die Views nicht automatisch aktualisiert werden, führen Sie dies noch durch. + +> [i] Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, führen Sie diese bitte aus. diff --git a/docs/daux/support/010_Hilfe-und-Support.md b/docs/daux/support/010_Hilfe-und-Support.md new file mode 100644 index 00000000..d1609bf3 --- /dev/null +++ b/docs/daux/support/010_Hilfe-und-Support.md @@ -0,0 +1,16 @@ +--- +title: Hilfe und Support +--- + +Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unten genannten Kontaktdaten Bescheid. + +Haben Sie Fragen oder Unklarheiten in Verbindung mit diesem Modul oder dessen Installation, stehen Ihnen Hilfetexte in unserem [HelpCenter](https://faq.d3data.de/) zur Verfügung. Finden Sie darin die benötigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden Möglichkeiten: +1. per E-Mail: oder +2. über das Kontaktformular auf [Oxidmodule.com](https://www.oxidmodule.com/) oder +3. per Telefon: (+49) 37 21 / 26 80 90 zu unseren Bürozeiten + +Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen können. Sind Ihre Fragen shopspezifisch, benötigen wir möglicherweise Zugangsdaten zum betreffenden Shop. + +Wir wünschen Ihnen mit Ihrem Shop und dem Modul viel Erfolg! + +Ihr D³-Team. diff --git a/docs/html/changelog/Changelog.html b/docs/html/changelog/Changelog.html new file mode 100644 index 00000000..41a4caf4 --- /dev/null +++ b/docs/html/changelog/Changelog.html @@ -0,0 +1,687 @@ + + + + Changelog - unzer + + + + + + + + + + + + + + + + + + + + + +

+ +
+
+
+
+ + + +
+

6.2.0.2 - (2020-11-30)

+

added

+
    +
  • Freigabe für OXID 6.2.3
  • +
+

changed

+
    +
  • Unzer API URL
  • +
  • iDeal Logo
  • +
+

fixed

+
    +
  • Präfixverhalten bei leeren Eingabefeldern des Zugangskeys (MGW)
  • +
+

6.2.0.1 - (2020-11-10)

+

fixed

+
    +
  • fehlendes NGW-Template für Vorkasse hinzugefügt - verhinderte Portierung der Altkonfiguration
  • +
  • Fehler bei Generierung von Bestellung bei Nutzung von NGW korrigiert
  • +
+
+

6.2.0.0 - (2020-10-28)

+

added

+
    +
  • ermöglicht den Einsatz der MGW Schnittstelle
  • +
+

changed

+
    +
  • Umbenennung (Rebranding) von heidelpay zu Unzer
  • +
+

fixed

+
    +
  • falsche Konfigurations-ID korrigiert - dieser Fehler löste kein Fehlverhalten im Modul aus
  • +
+
+

6.1.3.1 - (2021-01-11)

+

fixed

+
    +
  • keine Weiterleitung zur 3DS-Eingabe bei Nutzung der NGW-Schnittstelle möglich
  • +
+
+

6.1.3.0 - (2020-12-03)

+

changed

+
    +
  • Umbenennung (Rebranding) von heidelpay zu Unzer
  • +
+

fixed

+
    +
  • fehlende Übersetzungen im Admin ergänzt
  • +
+
+

6.1.2.2 - (2020-09-30)

+

changed

+
    +
  • Titellogo auf statischen Asset umgestellt
  • +
  • Logos für Amex, MasterCard, Paypal und VISA aktualisiert
  • +
  • übersetzbare Sparchbausteine für Bestellungsübersicht verwendet
  • +
+

fixed

+
    +
  • falsche Konfigurations-ID korrigiert - dieser Fehler löste kein Fehlverhalten im Modul aus
  • +
+
+

6.1.2.1 - (2020-06-15)

+

fixed

+
    +
  • korrigiert Fragezeichen in Rückgabewert der execute-Methoden (führte zu ungültiger Redirect URL)
  • +
  • 0009794: erzwingt neue Session im iDeal Cron Script (führt zu Fehlern, wenn z.B. auf während der Bearbeitung der ersten Bestellung der Warenkorb neu aufgebaut werden muss - nötig z.B. bei Gutscheinverwendung)
  • +
  • EPS nicht auswählbar - blD3HeidelpayAllowEPS fehlt
  • +
  • verwendet optimierte Logik, um in externen Aufrufen die bootstrap-Datei finden zu können
  • +
+

changed

+
    +
  • Bestellschritt3: Aufpreis bei Zahlarten ausblenden wenn 0
  • +
+
+

6.1.2.0 - (2020-05-12)

+

added

+
    +
  • 0009705: Freigabe OXID 6.2
  • +
+
+

6.1.1.3 - (2020-04-03)

+

changed

+
    +
  • ermöglicht Einsatz mit ModulConnector 5.3
  • +
  • ermöglicht Installation in Projekten ohne "oxid-esales/oxideshop-metapackage-ce"
  • +
+

fixed

+
    +
  • Abbruch bei Verwendung nicht zu Heidelpay zugewiesener Zahlart korrigiert
  • +
+
+

6.1.1.2 - (2020-03-19)

+

fixed

+
    +
  • 0009550: Manipulationsprävention bei Zahlung mit abgesichertem Rechnungskauf integriert
  • +
  • 0009539: fehlerhafte Aufrufe bei Ausführung des Cronjobs für Rechnungskauf oder Vorkasse korrigiert
  • +
  • 0009540: fehlendes Admintemplate "d3_heidelpay_views_admin_tpl_channels_sub_prepayment.tpl" eingefügt
  • +
  • 0009553: fehlende Bankdaten bei Vorkasse
  • +
  • 0009554: cron_bankaccount.php - falscher Channel bei Vorkassse
  • +
+
+

6.1.1.1 - (2020-01-09)

+

fixed

+
    +
  • 0009389: Modulversion 6.1.1.0 - Installation unvollständig (falsche Versionsnummer in Installationsroutine)
  • +
+
+

6.1.1.0 - (2020-01-03)

+

added

+
    +
  • 0008760: add Wave Theme support
  • +
+

changed

+
    +
  • 0000000: iDeal + Przelewy24 orders with no incoming payment and no "after lifetime action" will set to NOT_FINISHED after span of life
  • +
  • 0000000: missing active check of channel provider data integrated
  • +
  • 0000000: Initialization of JavaScript (web integration) heidelpayInstance may only be created once
  • +
+

###fixed

+
    +
  • 0005712: Distinction between test and live configuration when assigning "Heidelpay Channel - Oxid Payment Methods"
  • +
  • 0009201: different modcfg version in composer.josn & InstallRoutine
  • +
  • 0000000: Inactive channel configuration was displayed in the frontend, if an active oxid-paymenttype-assignment exists
  • +
  • 0000000: OT payments are not redirecting, if user switch to OrderController and send order:execute again
  • +
  • 0000000: navigation on other language causes admin template language to standard (0)
  • +
  • 0000000: fixed use saved data doesn't work in wave -> missing post order execute parameter
  • +
+
+

6.1.0.1 - (2019-10-07)

+

fixed

+

0009155: 6.1.0.0: Too few arguments to function D3\Heidelpay\Controllers\Admin\Order\Heidelpay::isBasicLicence()
+0000000: 6.1.0.0: incorrect redirect to mydomain.tld/modules/d3/heidelpay/public/redirect -> should be redirect to payment/start page

+
+

6.1.0.0 - (2019-09-25)

+

Minor version upgrade notice: there are some backward-incompatible changes to this release.

+

0000000: Important the setup routine has a backwards compatibility break (BC break)! Only module configurations greater than or equal to modul version 6.0.0.0 will be fully migrated!
+0000000: Configuration rebuild channel configuration see: (6.1.0.0) Umstellung der Konfiguration
+0000000: Refactor \D3\Heidelpay\Models\Factory class refactored to a factory pattern
+0000000: Refactor split /public/hp_response.php calls into separated front controller (f.e. /public/Creditcard.php, /public/Debitcard.php)
+0000000: Bug additional redirect parameters will not add in redirect url of the public response file's (like utm_nooverride=1)
+0000000: Info replaced https://faq.oxidmodule.com/ links with https://faq.d3data.de

+
+

6.0.3.1 - (2019-06-07)

+

0008863: 6.0.3.0 Fehler bei nicht Heidelpay zugeordneten Zahlungsarten - keine Bestellung möglich
+0000000: cronjob collectPayments parameter FRONTEND.ENABLED=true causing a order delete for Przelewy24 and iDeal payments
+0000000: cronjob collectPayments set referenceid before temporaray order is finalized
+0000000: cronjob collectPayments reduced NOTICE in collectpayments.php 0000000: general added new criterion info parameter "heidelPaymentMethod"
+0000000: replaced deprecated method "getShopEdition" for request parameter
+0000000: changing url in metadata to https://docs.oxidmodule.com/Heidelpay/

+
+

6.0.3.0 - (2019-05-09)

+

0008145: OT Zahlungsarten auf Länder und Währung einschränken
+0008577: Exception bei dem Versenden von d3SendHPErrorMessage
+0008263: Daux.io Umsetzung Heidelpay
+0000000: neue Zahlungsart B2B Rechnungskauf hinzugefügt

+
+

6.0.2.3 - (2019-03-08)

+

0008253: alte Trusted Shops Käuferschutz Kompatibilität entfernen
+0000000: Collation der Admin Sprachdateien auf UTF-8 gesetzt
+0008158: Zahlungstyp Billsafe entfernen
+0000000: Refactor \D3\Heidelpay\Models\Containers\Parameter

+
+

6.0.2.2 - (2019-01-09)

+

0008210: Transaktions-Fehlermeldung im Tab Order/Heidelpay anzeigen lassen
+0008237: Blocker Fehlermeldung beim Bestellabschluss
+0000000: Neues Model Models\Actions\Finalize
+0000000: Refactor \D3\Heidelpay\Models\Containers\Parameter::setMandatoryData
+0000000: Refactor \D3\Heidelpay\Models\Containers\Criterions*
+0000000: Refactor Umbenennung der \D3\Heidelpay\Models\Actions* Eigenschaften and Methoden

+
+

6.0.2.1 - (2019-01-03)

+

0008148: Push E-Mail bei fehlender Bestellung
+0008154: Anzeige der Push Benachrichtigungs URL im Admin
+0008155: EE Updatescript für gespeicherte Kundendaten bereit stellen
+0008156: divs in flow templates ergänzen

+
+

6.0.2.0 - (2018-12-05)

+

0007899: Push Notifications integriert
+0000000: WAITING Status auf PENDING gestellt
+0007921: Feldbegrenzungen in der Basket Api validieren
+0007480: Konfiguration neuer Eintrag Limits für (gesicherten) Rechnungskauf einstellen
+0008113: precheck entfernen
+0008143: EE Shopid für gespeicherte Referenzdaten anlegen
+0007483: FONTEND.ENABLED sollte immer übertragen werden
+0006751: WAITING Status an Bestellung weitergebe

+
+

6.0.1.3 - (2018-11-01)

+

0008030: IBAN Anfangsbuchstaben müssen immer groß geschrieben werden
+0007945: Doppelklick führt zu doppelten Bestellungen/Abbuchungen
+0007906: Endlosschleife in automatischer Installation

+
+

6.0.1.2 - (2018-08-20)

+

0007856: 6.0.3 / 6.1.0 veraltete obsolete dynvalues wurden validiert (Bankeinzug + Giropay)

+
+

6.0.1.1 - (2018-08-08)

+

0007756: EPS - Ablehnung da falsches Land übertragen wurde - ACCOUNT.COUNTRY
+0007812: Änderungen Flow 3.0.2 übernehmen (OXID Compilation 6.1.0)
+0007820: Freigabe 6.1.0
+0007817: Mobile theme Unterstützung entfernen

+
+

6.0.1.0 - (2018-05-22)

+

0005802: Postfinance Integration
+0007283: EasyCredit Korrekturen
+0007214: d3hpprepaymentdata::getTransaction selektiert falsch bei gesichert. Rechnungskauf
+0007328: Chargeback entfernen
+0007422: Fehlertexte werden teilweise allgemein ausgegeben
+0007388: Umfirmierung der Heidelberger Payment GmbH in heidelpay (GmbH)
+0000000: extended logging of initial ngw requests

+
+

6.0.0.1 - (2018-04-26)

+

0007418: fixed d3/modcfg::d3counter calls have to be case sensitive

+
+

6.0.0.0 - (2018-03-19)

+

Minor version upgrade notice: there are some backward-incompatible changes to this release.

+

0000000: migration to oxid-esales/oxideshop-ce v6.1.0 | dropping support below v6.1.0
+0000000: fixed error was shown on changing currency marked viewconfig…
+0000000: added d3transactionlog to bankaccount (prepayment)
+0000000: improved logging (request to Heidelpay:: {Info})
+0000000: migrated e-mail templates to oxid standard
+0000000: removed giropay dynvalue checks
+0000000: Giropay doesn't provide bank/account information in a PA
+0000000: language files in utf-8
+0000000: using oxids metadata version 2.0
+0000000: using namespaces
+0000000: using composer installation

+
+

5.3.0.0

+

0006668: Easycredit implementieren
+0006745: Sofortüberweisungslogo + Texte ersetzen

+

5.2.3.4

+

0004941: Css Dateipfad für das iFrame mitgeben
+0006384: Altlasten-Mehrsprachigkeit können zu mehreren Fehlverhalten führen
+0006626: 3D Secure Prüfung wird bei gespeicherten Daten übersprungen

+

5.2.3.3

+

0006552: Geburtsdatum bei gesicherter Lastschrift ergänzen.
+0006396: fehlende (zweite) Bonitätsprufung bei Rechnungskauf
+0006441: Heidelpay metadata.php enthäl ö im Klassennamen - v5.2.3.2
+0006291: Warnung bei leerer XML Übergabe
+0000000: fixed bug in mobile theme on error message, wrong template name was loaded
+0000000 set "no reference but heidelpay payment" warning to error level

+

5.2.3.2

+

0000000: var_dump Ausgabe entfernt (copy_this/modules/d3/d3heidelpay/views/flow/tpl/payment/debitnote.tpl)
+0000000: (iDeal/Przelewy24) wenn oxorderdate 0 ist oder nicht interpretiert wird, kann die Bestellung storniert/gelöscht werden

+

5.2.3.1

+

0006291: DOMDocument::loadXML im Modul überprüfen
+0000000: hp_response.php ermöglicht kein redirect mehr

+

5.2.3.0

+

0000000: Support für 4.7.x und 4.8.x ist eingestellt
+0000000: Parameter name.company in Standard-Parameteriste aufgenommen
+0000000: erweitertes Exception-Handling in d3_hp_response bei nicht-Heidelpay-Zahlungsarten
+0006181: http_build_query 3. Parameter arg_separator & übergeben
+0005673: JavaScriptaktualisierung Frontendumsetzung
+0005496: Altdateien und Shopweichen im Modul entfernen
+0004877: iDeal nur für unterstützte Währungen anzeigen
+0002355: E-Mails in der Sprache der Bestellung versenden
+0006138: Fehlerhafte Überladung in Block/Template select_payment.tpl 5.2.2.0
+0004098: falsches Tacking in Google Analytics, Notwendig: zusätzlich definierbare Parameter
+0003228: Lieferadressen bei Zahlung mit gesicherten Rechnungskauf/Lastschrift und paypal kontrollieren
+0001921: Transaktionsübersicht im Admin anlegen
+0006142: Integration gesicherte Lastschrift
+0006141: Basket API für gesicherten Rechnungskauf/Lastschrift integrieren
+0002025: Hilfetexte und Layout im Shopadmin
+0005157: Kunden-IP statt Heidelpay-IP bei Paypal-Zahlungen an oxorder hinterlegen
+0002678: Einstellung "Kontodaten vollständig speichern?" entfernen

+

5.2.2.0

+

0004201: Button "Reversal (REV)" im Shopbackend ergänzen
+0005030: Anpassung des Moduls auf das Flow-Theme
+0005590: Bankdaten und Shortid an Endkunden weiterreichen
+0005715: Kompatibilität mit tronet Sofortüberweisung hergestellt
+0005835: CRITERION-Tags im Admin sichtbar machen
+0005891: Refactoring der Templatestruktur +die Template Struktur wurde in der metadata.php geändert (von -> zu) :

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
d3_d3heidelpay_controllers_admin_order_heidelpay.tpl->d3_d3heidelpay_views_admin_tpl_order.tpl
d3_d3heidelpay_controllers_admin_settings.tpl->d3_d3heidelpay_views_admin_tpl_settings.tpl
hp_prepayment_cust_html.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_cust.tpl
hp_prepayment_cust_subj.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_cust_subj.tpl
hp_prepayment_owner_html.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_owner.tpl
hp_prepayment_owner_subj.tpl->d3_d3heidelpay_views_tpl_email_html_prepayment_owner_subj.tpl
hp_prepayment_cust_plain.tpl->d3_d3heidelpay_views_tpl_email_plain_prepayment_cust.tpl
hp_prepayment_owner_plain.tpl->d3_d3heidelpay_views_tpl_email_plain_prepayment_owner.tpl
payment_heidelpay_img.tpl->d3_d3heidelpay_views_tpl_payment_img.tpl
heidelpay_cc_input.tpl->d3_d3heidelpay_views_azure_tpl_cc_input.tpl
heidelpay_order_3ds.tpl->d3_d3heidelpay_views_azure_tpl_order_3ds_iframe.tpl
heidelpay_order_3ds_iframe.tpl->d3_d3heidelpay_views_azure_tpl_order_3ds_iframe.tpl
payment_heidelpaycards.tpl->d3_d3heidelpay_views_azure_tpl_payment_cards.tpl
payment_inc_storeduid.tpl->d3_d3heidelpay_views_azure_tpl_storeduid.tpl
payment_heidelpaybillsafe.tpl->d3_d3heidelpay_views_azure_tpl_payment_billsafe.tpl
payment_heidelpaydebitnote.tpl->d3_d3heidelpay_views_azure_tpl_payment_debitnote.tpl
payment_heidelpayeps.tpl->d3_d3heidelpay_views_azure_tpl_payment_eps.tpl
payment_heidelpaygiropay.tpl->d3_d3heidelpay_views_azure_tpl_payment_giropay.tpl
payment_heidelpayideal.tpl->d3_d3heidelpay_views_azure_tpl_payment_ideal.tpl
payment_heidelpaysofort.tpl->d3_d3heidelpay_views_azure_tpl_payment_sofort.tpl
payment_heidelpaypostfinance.tpl->d3_d3heidelpay_views_azure_tpl_payment_postfinance.tpl
payment_heidelpaypaypal.tpl->d3_d3heidelpay_views_azure_tpl_payment_paypal.tpl
payment_heidelpayprzelewy24.tpl->d3_d3heidelpay_views_azure_tpl_payment_przelewy24.tpl
payment_heidelpaymasterpass.tpl->d3_d3heidelpay_views_azure_tpl_payment_masterpass.tpl
heidelpay_redirect_postformular.tpl->d3_d3heidelpay_views_tpl_redirect_postformular.tpl
heidelpay_order_iframe.tpl->d3_d3heidelpay_views_azure_tpl_order_iframe.tpl
heidelpay_cc_input_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_cc_input.tpl
heidelpay_order_3ds_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_3ds.tpl
heidelpay_order_3ds_iframe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_3ds_iframe.tpl
payment_inc_storeduid_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_storeduid.tpl
payment_heidelpaycards_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_cards.tpl
payment_heidelpaysofort_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_sofort.tpl
payment_heidelpaydebitnote_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_debitnote.tpl
payment_heidelpayeps_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_eps.tpl
payment_heidelpaygiropay_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_giropay.tpl
payment_heidelpayideal_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_ideal.tpl
payment_heidelpaybillsafe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_billsafe.tpl
payment_heidelpaypaypal_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_paypal.tpl
payment_heidelpayprzelewy24_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_przelewy24.tpl
payment_heidelpaymasterpass_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_masterpass.tpl
payment_heidelpaypostfinance_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_payment_postfinance.tpl
heidelpay_order_iframe_mobile.tpl->d3_d3heidelpay_views_mobile_tpl_order_iframe.tpl
+

5.2.1.1

+

0005524: mehrfach gespeicherte Daten anzeigen
+0005235: es wird kein PA/DB bei gespeicherten Daten genutzt
+0005419: XML Query wird im paymentcollector nicht korrekt übergeben
+0005405: Kein Fehlerhandling im Frontend beim iFrame
+0005470: IonCube Umsetzung
+0000000: removed payment::hasUserHPStoreData, payment::getUserHPStoreData, payment::getHPWrappedPayment
+0000000: probably bug in d3_oxorder_heidelpay::finalizeOrder
+0000000: fixed memcache bug in collectpayments process
+0000000: payment model not found causes exception in admin

+

5.2.1.0

+

0002681: Kunden die während Formulareingaben in ein Session timeout kommen
+0000000: Bestellbenutzer wird bei Admin Aktionen nicht gesetzt
+0005301: Abgebrochene Bestellabwicklungen an den Händler melden
+0005320: MasterPass Integration
+0005289: Sprache ist im Admin auswählbar
+0005222: ReferenceId nach Schritt4 prüfen
+0005081: order::execute() Rüchgabewert Fehlerhaft
+0005300: Warenkorbwert kann gegenüber dem Transaktionbetrag manipuliert werden
+0005170: Bestellung- Tab Heidelpay - Aktionen klappen nicht auf
+0000000: PRESENTATION.USAGE wird nicht übergeben
+0000000: PA soll auch bei "gespeicherte Daten verwenden" genutzt werden
+0005202: betrifft EE: cronjob für PP und IV ignoriert ShopId
+0005189: bei gespeicherten Daten (Kredit-/Debitkarte) fehlen die zu übergebenden Parameter (agb, download etc)
+0005188: falsche Rücksprungbehandlung bei erfolgreichen Billsafe Bezahlungen
+0005103: Heidelpay iFrame wird zerschossen angezeigt

+

5.2.0.1

+

Installationsroutine kann nicht abgeschlossen werden
+neue Debitkarten hinzufügen
+NGW geladene Icons sollen in eigene Templates (für Azure und Mobile ausgelagert werden)
+Hilfetext für "Pflichtfelder für den Bestellabschluss"
+möglicher Fehler: Fehlerfälle von order::execute testen
+unvollständige / inkorrekte version_compare innerhalb des Moduls bei EE 5.0.x
+Nachkommestellen durch Punkt trennen
+Mobile theme lauffähig machen
+4.7.x ready machen
+Geburtstdatum übergeben
+Inkorrektes Handling mit Gutscheinen

+

5.2.0.0

+

Implementierung PCI3 (Kartenzahlung via iFrame)
+Umstellung von SGW/XML auf NGW/POST
+neue Option "Registierung für Karten nutzen (Kreditkarte, Debitkarte)" hinzugefügt
+neuer Menüpunkt /D³ Module/Heidelpay/Logging/
+Fehlverhalten im JavaScript mit einer deaktivierten Zahlungsart gelöst
+das Oxid Standard "Mobile-Theme" wird bis zum nächsten Update nicht untersützt!
+Auflösung der Formularstruktur im Bestellschritt 3 (Versand & Zahlung)
+generelle Weiterleitung bei 3DSecure
+Bankeinzug Kundendaten werden nun im Shop gespeichert

+

5.1.1.2

+

neue Zahlungsart Przelewy24
+Updateassistent startet nicht bei Update von 5.1.1.0 auf 5.1.1.1
+Erweiterung für Pflichtfelder bei einem Update
+NGW: Curl-Error-Handling implementieren
+NGW-Informationen für "nach Schritt 4"
+Anpassung des Mobile-Themes für NGW
+5.1.0.0 ist nicht in der 4.7 einsetzbar

+

5.1.1.1

+

Pflichtfelder für den Bestellabschluss
+Installationsanleitung aktualisieren
+Changelog nachtragen

+

5.1.1.0

+

Integration der NGW-Schnittstelle
+Zahlart T-Pay Online Überweisung aus Heidelpay-Modul entfernen (5er-Version)
+Aktive Brands(Kartentypen, etc..) von der NGW-Response nutzen
+fake User-Checkboxen anpassen
+URL-Einstellungen aus den Moduleinstellungen entfernen
+NGW Implementation in latin-Shop testen
+Umlaute an Zahlarten bei Installation Fehlerhaft
+Bei ELV mit DE-Konto soll das BIC-Feld ausgeblendet werden.
+5.1.0.0 ist nicht in der 4.7 einsetzbar

+

5.1.0.0

+

Anpassung für Oxid Mobile Theme
+kleiner Bug im Zusammenhang mit Billpay
+Übermittlung abweichende Lieferadresse an PayPal

+

5.0.0.4

+

Bugfix für automatische Installation
+Sprachdateien unverschlüsselt belasst
+neues Logo Billsafe
+Anpassung der Ausgabe bei gespeicherten Daten und dem SEPA-Modus
+Test auf 4.9 / 5.2

+

5.0.0.3

+

Kompatilität mit Modul Amazon Payments hergestellt
+Templates angepasst damit es bei einer Deaktivierung des Moduls nicht zu Fehlermeldungen kommt

+

5.0.0.2

+

Bugfix: im Shop aktives Modul, über Modul-Connector inaktiv, kann im Bestellschritt 3 nicht abgesendet werden
+fehlende sh-Datei nachgetragen
+Dokumentation überarbeitet

+

5.0.0.1

+

Bugfix: Während eines Update wurden die Zuordnungen zwischen Shop und Heidelpay-Modul nicht übernommen
+Kompatibilität zu PHP 5.2 wieder hergestellt

+

5.0.0.0

+

Refactoring zur Oxid Zertifizierung

+

4.0.6.0

+

Kompatilität mit Skrill-Modul hergestellt #2465
+Update der Systmprüfung (d3precheck.php) #2480

+

4.0.5.4

+

alte Moduleinstellungen von 3.x werden beim Update auf 4.x migriert
+Bugfix: Bei Bezahlung mit Billsafe kam im Shop eine Fehlermeldung, wenn mehr als 7 Artikel in den Warenkorb gelegt wurden

+

4.0.5.3

+

Hinweis auf Umstellung des Händlerkontos (nur bei Sofortüberweisung) in die Installationsanleitung eingefügt
+Bugfix: Bei Nutzung von Sofortüberweisung konnte es im Zusammenhang mit SEPA zu Fehlermeldungen kommen

+

4.0.5.2

+

Bugfix: Wichtige Sicherheitslücke in der Modulkonfiguration geschlossen

+

4.0.5.1

+

Bugfix: In BS4 wurde unter bestimmten Situationen eine Exception geworfen, wenn andere Module ebenfalls die Klasse 'order' erweitern

+

4.0.5.0

+

SEPA-Modus integriert

+
    +
  • im Adminbereich kann nun SEPA aktiviert werden (Schaltet bei Lastschrift, Giropay, Rechnungskauf und Vorkasse auf IBAN/BIC um)
  • +
  • Überweisungsdaten für BillSAFE, Rechnungskauf und Vorkasse zeigen nun IBAN/BIC in BS5 und EMails
  • +
  • Integration von SEPA-Prüfroutinen bei Giropay
  • +
+

Sofortüberweisung benötigt keine Kontodateneingabe in BS3 mehr (Änderung des Händlerkontos bei Heidelpay nötig)
+iDeal Bankenliste aktualisiert
+Bugfix: Sind Kontodaten mit * maskiert, werden sie nicht mehr in BS3 bei Bestandskunden vorausgefüllt
+Bugfix: fehlende Buchungsaktionen an den Bestellungen hinzugefügt

+

4.0.4.1

+

Fehler in automatischer Installation behoben
+Precheck aktualisiert

+

4.0.4.0

+

Anpassung für OXID eShop 4.8.x / 5.1.x
+Integration Transaktionslog
+Integration Neues Admin Interface (unter Bestellungen, Tab "Heidelpay")
+Sofortüberweisung unterstützt nun auch österreichische Bankkonten
+Fehlercodetabelle aktualisiert
+Bugfix: Bei Zahlungsart Giropay fehlte das Eingabefeld für den Kontoinhaber
+Bugfix: Bei Zahlungsart Billsafe werden die Überweisungsdaten nun korrekt nach Bestellungsende aus der Session entfernt
+Bugfix: Bei einigen Zahlungsarten gab es Probleme mit Umlauten in UTF8-Shops
+Install-PDF überarbeitet, PreCheck v3.0 integriert

+

4.0.3.3

+

Bugfix: automatische Installation des Moduls reagierte nicht

+

4.0.3.2

+

php5.4 STRICT_STANDARDS-Fehler wurden behoben
+BillSafe UTF-8 Problem (doppeltes encoding als UTF-8 String bei UTF-8 Shops) wurde behoben

+

4.0.3.1

+

Zahlungsart Paypal ist auch im Basic-Modul konfigurierbar

+

4.0.3.0

+

Zahlungsart Billsafe hinzugefügt
+Zahlungsart Rechnungskauf hinzugefügt
+Zahlungsart PayPal hinzugefügt
+Integration der Automatischen Installation
+Fehler bei Basic/Premium im Admin gefixt
+Zahlungsart T-Pay entfernt

+

4.0.2.0

+

Integration Basic / Premium Unterscheidung

+

4.0.1.0

+

Debitkarte "Dankort" hinzugefügt
+Fehlertexte der Fehlercodes werden nun aus lang-Dateien geholt (damit kann die normale Mehrsprachigkeit des Shops genutzt werden)
+Umstellung aller buchungsrelevanten TransaktionIdents auf einen eigenen Nummernkreis
+ShopId wird nun mit an die Response-Url übergeben

+

4.0.0.0

+

komplette Überarbeitung des Moduls für die neue Shopstruktur EE5/PE47

+

3.2.3.1

+

Bugfix: bei nicht 3DSecure Karten und Einstellung "nach Schritt" 4

+

3.2.3

+

Dummy Kreditkarten für 4.6.x entfernt
+checkout.css aus der payment_ext.tpl entfernt

+

3.2.2

+

Änderungen für Shopversion ab 4.6.0 integriert
+kleinerer JS-Fehler in payment-Template behoben
+NOK-Rückmeldungen werden nun als "response error" geloggt
+neue Testdaten für Sofortüberweisung integriert
+mod_cfg -> Requirements eingebaut

+

3.2.1

+

neue Admineinstellungen (Curl-Timeout, Unmask) eingebaut
+div. Fehler bei der Nutzung der Basic-Templates (4.5) behoben
+Version kann nun auch uneingeschränkt in Shopversionen < 4.5 genutzt werden

+

3.2.0

+

Version für OXID ab 4.5.0

+

3.1.1

+

Änderung der Sprache nach einer Heidelpaytransaktion

+

3.1

+

Einbau neuer Zahlmethoden

+
    +
  • Sofortüberweisung
  • +
  • Giropay
  • +
  • iDeal Niederlande
  • +
  • EPS Österreich
  • +
  • T-Pay
  • +
  • automatische Vorkasse
  • +
+

Speicherung der Registrierungsdaten für Heidelpay für erneute Zahlungen bei Kreditkarte, Bankeinzug und Debitkarten unter Bestellschritt 3.
+Damit wird beim erneuten Einkauf dem Kunden angeboten mit denselben Karten oder Bankdaten einzukaufen ohne erneut +die Daten einzugeben bzw. an Heidelpay zu senden zu müssen. Der Händler spart zusätzlich die Kosten für eine Transaktion. +Dieses ist standardmäßig ausgeschalten und kann wahlweise im Shopadmin über den Haken "Gespeicherte Daten dem Kunden anbieten?" aktiviert werden.
+Einbau neuer Logos für fast alle Zahlmethoden und Kartentypen.
+Überarbeitung aller Templates
+Aktualisierung der Heidelpay-Fehlercodes
+Admin-Interface mit eigener language-Datei
+Aktualisierung menu.xml

+

3.0.4

+

Anpassung des Moduls an neue Sicherheitsstruktur des OXID Version 4.3.0 (TrustIPs, sToken)
+Timeout beim Aufrufen der 3DS-Fehlerseite mit "KK-Eingabe nach Schritt4"
+Problem mit mehrfachen 3DS Aufrufen bei "KK-Eingabe nach Schritt4" behoben
+3DS-Fehlerseite für "KK-Eingabe nach Schritt4" und "KK-Eingabe in Schritt3" optimiert

+

3.0.2

+

Heidelpaytransaktionen konnten in den Shopfolgesprachen (Language 1 etc.) nicht abgeschlossen werden
+Sproradischer Verlust der Session nach Rücksprung vom Heidelpay-Server ab OXID 4.1.3

+
    +
  • Behebung durch zusätzlichen config-Parameter
    +Teilweise Probleme mit Shoprücksprung nach fehlerhafter 3DSecure-Eingabe
  • +
+

3.0.1

+

neu
+Multilang-Platzhalter eingebaut

+

Fix
+Korrektur der order-Erweiterung, da mit Shopversion 4.1.1 die Prüfung zum Widerrufsrecht geändert wurde
+Änderung der Prüfungsparameter für 3DSecure

+

3.0

+

Kompletter Neuaufbau des Moduls für den Einsatz unter OXID 4. +Optimierung aller Modulteile. Dadurch u.a. schnellere Abarbeitung der Heidelpay-Daten.

+

2.1

+

####neue Funktionen:

+
    +
  • Einbau einer alternativen Bezahlung mit Kreditkarte nach Schritt 4 im Bestellvorgang (Aktivierung im Admin) +Damit wird die zusätzliche "Registierung" des Kunden bei Heidelpay nicht genutzt und der Shopinhaber hat nur 1x Transaktionsgebühren pro Bestellung
  • +
  • KK- und Bankkarten - Daten werden aus den Heidelpay-Responsedaten ausgelesen und in die Session als Dynvalue gespeichert.
    +-> Wichtig für eFire / creditPass-Boniprüfung +Zusätzlich werden die KK- und ELV-Daten im Shop gespeichert, um im Schritt 3 bei wiederholter Zahlung diese anzuzeigen +Achtung! Die KK-Nummer wird lediglich mit den letzten 4 Stellen gespeichert!
  • +
  • Optionen für Test-Betrieb erweitert +####Korrekturen:
    +Anpassung der tpls an den aktuellen OXID-Versionsstand 3.0.4.1 (steps-tpl und css-Dateien)
    +bei Nutzung anderer oxpaymentgateway-Module (z.B. Paypal Pro) werden diese nun korrekt in den Modulbaum eingebunden und aufgerufen
    +Korrektur der 3DS-Funktionalität. Es konnte unter bestimmten Voraussetzungen passieren, das Bestellungen nicht ordnungsgemäß erstellt wurden.
    +Behebung einer Smarty-Fehlermeldung im 3DS-iFrame
    +Es wurden einige "onclick" in der payment_ext.tpl entfernt, da dadurch teilweise Kunden versehentlich andere Zahlartenangeklickt hatten
  • +
+

2.0

+

Integration von 3DSecure

+

1.2

+

Kleinere Korrekturen. u.a. Behebung eines Sprachproblems (Domainzuordnung)

+

1.1

+

Einbau der kompletten Heidelpay-Systemcodes und Ausgabe in Schritt3 als deutsche Fehlermeldung
+Speicherung des Heidelpay-Registrationcodes für Folgebestellungen ohne erneute Registration des Kunden
+Korrektur kleinerer Bugs im Modul und tpl-Dateien
+TransactionID zusätzlich mit Timestamp belegt, um mehrfache Bestellversuche zu ermöglichen

+

1.0

+

Korrektur des formulars der payment_ext.tpl für ELV

+

1.0 beta:

+

Rückgabe in hp_response.php per curl
+Einbau ELV

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/changelog/Channel_Rekonfiguration.html b/docs/html/changelog/Channel_Rekonfiguration.html new file mode 100644 index 00000000..91b30a49 --- /dev/null +++ b/docs/html/changelog/Channel_Rekonfiguration.html @@ -0,0 +1,175 @@ + + + + (6.1.0.0) Umstellung der Konfiguration - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Einleitung

+

Wir haben für Shopbetreiber die Admin Konfiguration überarbeitet, damit eine flexiblere Konfiguration der Zahlungsarten und Channels möglich ist.
+So sind bspw. unterschiedliche Konfigurationen für jedes einzelne Rechnungsland möglich.

+

Migration der Channeldaten

+

Die Migration (Umstellung) auf die neue Konfiguration wird in der automatischen Installation des Moduls vorgenommen.
+Die Update-Routine durchläuft die alten Zuordnungen und erstellt daraus neue Channel-Konfigurationen.

+
+

Bei konfigurierten Zahlungsart-Zuordnungen ohne einen entsprechend hinterlegten Channel nicht übernommen werden.

+
+
+

Es können doppelte Channel-Konfigurationen angelegt werden. Die Migration wird auf bestehende Konfigurationen der Modulversion 5.3.x.x, sowie 6.0.x.x durchgeführt.

+
+
+

Die nach Abschluss der Migration neu angelegten Konfigurationen sind unbedingt manuell zu überprüfen!

+
+

Im Folgenden, wird anhand von Screenshots des Admin erklärt, wie die Konfiguration in der alten und im Vergleich in der neuen Konfigurationsmaske durchgeführt wird:

+

Einstellungen bis 6.0.3.x

+

Die Channeldaten 1 (bspw. 31HA07BC8142*******49A60D979B6E4) werden +in einzelne Channel-Felder unter D³ Module/Unzer/Einstellungen/Stamm/Channels gepflegt.

+Ein einzelnes Channel-Feld (bspw. Channel (Standard)) kann direkt eine oder mehrere Unzer-Zahltypen (Kreditkarte, Debitkarte, autom. Vorkasse, etc) bedienen.
+Die einzelnen Oxid Zahlungsarten 2 werden direkt einem Unzer-Zahltyp zugewiesen 3.

+
+ bisherige Einstellungen vor 6.1.0.0 + bisherige Einstellungen vor 6.1.0.0 +
+

Channel-Konfiguration ab 6.1.0.0

+

Die Channeldaten 1 werden in D³ Module/Unzer/Channel-Konfigurationen in einzelnen Channel-Konfigurationen abgelegt.
+In der Channel-Konfiguration können Sie verschiedene Einstellungen nutzen:

+
    +
  • Aktiv - aktiv: Die Channel-Konfiguration wird genutzt
  • +
  • Test Modus - aktiv: Die Channel-Konfiguration wird für den Testmodus genutzt
  • +
  • Titel - dient dem Shopbetreiber als interne Beschreibung (wird derzeit in der Channel-Konfiguration's Übersicht genutzt)
  • +
  • Unzer-Zahltyp 3 - Hier wählen Sie die zu verwendende Zahlungstypen (bspw Kreditkarte, B2B Rechnungskauf, Paypal, usw.) für die der Channel eingerichtet ist
  • +
  • Channel 1 - Tragen Sie hier den Channel ein, den Sie von Unzer erhalten haben
  • +
  • Zuordnung der aktuell gewählten Channel-Konfiguration, zu den Shop-Zahlungsarten 2 +
  • +
+
+ Übersicht der Channel-Konfiguration + Übersicht der Channel-Konfiguration +
+
+ Zuordnungen der Shop-Zahlungsarten zu der aktuellen Channel-Konfiguration + Zuordnungen der Shop-Zahlungsarten zu der aktuellen Channel-Konfiguration +
+
+

Zukünftig sollen weitere Zahlungstyp-spezifische Einstellungen migriert werden.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Konsole_einrichten.html b/docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Konsole_einrichten.html new file mode 100644 index 00000000..ce0c11e8 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Konsole_einrichten.html @@ -0,0 +1,141 @@ + + + + Cronjob per Konsole einrichten - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Der Cronjob muss entweder die Datei cron_bankaccount.sh oder cron_bankaccount.php aufrufen.
+Die Dateien liegen im Shop unter: /modules/d3/heidelpay/Cron/
+Die Endung .sh bezeichnet eine sog. Shell-Datei, die unter Unix/Linux-Systemen ausgeführt werden kann.

+
+

Sollte Ihr Shop auf einem anderen Betriebssystem laufen, so ist eine vergleichbare Datei manuell anzulegen

+
+

Bei cron_bankaccount.sh handelt es sich um eine Beispieldatei, die für den Hosting-Provider Profihost einsetzbar ist.
+Bei anderen Providern kann der Inhalt der sh-Datei variieren. Erfragen Sie die Details bei Ihrem Provider nach.

+

Öffnen Sie die .sh-Datei mit einem Text-Editor und passen Sie den Pfad zur startenden php-Datei an.
+Dazu ist der Bereich /ihr/serverpfad/zum/shop/ mit dem absoluten Pfad zum Shop-Hauptverzeichnis zu tauschen

+
+

Der absolute Pfad zum Shop-Hauptverzeichnis ist in der config.inc.php zu finden. +Öffnen Sie die Datei mit einem Editor und suchen Sie die Zeile $this->sShopDir.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Webaufruf_einrichten.html b/docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Webaufruf_einrichten.html new file mode 100644 index 00000000..3c574eec --- /dev/null +++ b/docs/html/configuration/Konfiguration/Cronjob_einrichten/Cronjob_per_Webaufruf_einrichten.html @@ -0,0 +1,144 @@ + + + + Cronjob per Webaufruf einrichten - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Fügen Sie das Cronjob-Sicherheitspasswort in die Datei config.inc.php ein.
+Gehen Sie im Shopadmin in das Menü Module / Modul-Connector / +Systemeinstellungen / Tab: Config-Einträge / Datei bearbeiten
+Tragen Sie folgende Zeilen am Ende des Textfeldes ein:

+
// Sicherheitspasswort für automatische Vorkasse und Rechnungskauf
+$this->cfgHeidelpay_sAccessKey = "Sicherheitspasswort";
+
+

Ändern Sie das "Sicherheitspasswort" in ein nur Ihnen bekanntes sicheres Zugriffspasswort.

+

Alternativ können Sie die Datei cron_bankaccount.php per URL im Cronjob aufrufen lassen.
+Der Aufruf lautet wie folgt:

+
https://www.IHRE-SHOP-URL.de/modules/d3/heidelpay/Cron/cron_bankaccount.php?key=Sicherheitspasswort
+
+

Ersetzen Sie die Phrase "Sicherheitspasswort" mit dem vergebenen Passwort.
+Ohne das korrekte Sicherheitspasswort wird die Ausführung des Cronjob verhindert.

+
+

Setzen Sie auf jeden Fall ein Sicherheitspasswort. Damit wird die Ausführung des php-Cronjob per Browser durch Dritte verhindert.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Cronjob_einrichten/OXID_eShop_Enterprise_Edition.html b/docs/html/configuration/Konfiguration/Cronjob_einrichten/OXID_eShop_Enterprise_Edition.html new file mode 100644 index 00000000..ef2a161d --- /dev/null +++ b/docs/html/configuration/Konfiguration/Cronjob_einrichten/OXID_eShop_Enterprise_Edition.html @@ -0,0 +1,133 @@ + + + + OXID eShop Enterprise Edition - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Pro Subshop wird ein einzelner Cronjob benötigt.
+Hierzu verwenden Sie den Parameter &shp=N. +Die Shop ID (N) finden Sie im Admin unter +Stammdaten / Grundeinstellungen / Stamm / Shop ID.

+

Beispiel:
+Hängen Sie an das Ende der bereits erstellten URL den Parameter &shp=1 an, gilt der Aufruf für die Shop ID 1.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Cronjob_einrichten/Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.html b/docs/html/configuration/Konfiguration/Cronjob_einrichten/Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.html new file mode 100644 index 00000000..b37b5490 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Cronjob_einrichten/Zahlungseingaenge_bei_Heidelpay_erneut_abrufen.html @@ -0,0 +1,136 @@ + + + + Zahlungseingänge bei Unzer erneut abrufen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Der Cronjob fragt Zahlungseingänge bei Unzer immer für den aktuellen Tag ab.

+

Stellen Sie den Cronjob so ein, dass dieser mehrmals am Tag aufgerufen wird!

+

Sollten Sie ältere Eingänge erneut abrufen wollen, steht Ihnen ein Parameter date zur Verfügung.
+Die Syntax dazu lautet: YYYY-MM-DD.

+

Der Aufruf per Browser wäre dazu:

+
http://www.IHRE-SHOP-URL.de/modules/d3/heidelpay/Public/cron_bankaccount.php?key=Sicherheitspasswort&date=2017-12-31“
+
+

Bei Nutzung der sh-Datei ist der Parameter ebenfalls nutzbar.
+Der Parameter muss an 2ter Stelle übergeben werden (bspw. /modules/d3/heidelpay/Cron/cron_bankaccount.php 1 2017-12-31 ).

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Infos_fuer_Entwickler.html b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Infos_fuer_Entwickler.html new file mode 100644 index 00000000..d9657a81 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Infos_fuer_Entwickler.html @@ -0,0 +1,142 @@ + + + + Infos für Entwickler - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Bestellungen die über iDeal und Przelewy24 abgewickelt werden, gehen einen anderen Weg.
+Statt über order::execute wird vorher eine Bestellung in folgender Methode angelegt:
+D3\Heidelpay\Controllers\Order::createOrder

+

Danach wird der Kunde zu dem Zahlungsanbieter weitergeleitet.
+Der Kunde landet im Erfolgsfall auf der Thankyou Seite.
+Dabei wird kein oxorder::finalizeOrder ausgeführt!

+

Die Methode wurde in 2 Teile gesplittet:
+d3_oxorder_heidelpay::d3CreateTemporaryOrder
+d3_oxorder_heidelpay::d3FinalizeTemporaryOrder

+

Sollte der Cronjob lange benötigen, können Sie folgende Indexes setzen:

+
ALTER TABLE `oxorder` 
+  ADD INDEX `D3HPIDEALP24INDEX` (`OXSTORNO`, `OXTRANSSTATUS`) COMMENT 'index for d3 Unzer ideal + przelewy24';
+ALTER TABLE `d3_d3log_oxobject2d3transactionlog` 
+  ADD INDEX `OXOBJECTID` (`OXOBJECTID`), ADD INDEX `D3GROUP` (`D3GROUP`);
+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_hat_sich_im_Bestellprozess_geaendert.html b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_hat_sich_im_Bestellprozess_geaendert.html new file mode 100644 index 00000000..3eaca98b --- /dev/null +++ b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_hat_sich_im_Bestellprozess_geaendert.html @@ -0,0 +1,133 @@ + + + + Was hat sich im Bestellprozess geändert? - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Der Benutzer durchläuft den Bestellprozess wie gewohnt.
+Nach dem Klick auf den Button Zahlungspflichtig bestellen im Bestellschritt 4, wird direkt eine Bestellung angelegt bevor der Benutzer zu dem Zahlungsanbieter weitergeleitet wird.

+

Die temporäre Bestellung erhält den Status PENDING sowie die Bestellnummer 0 (einstellungsabhängig).
+Die Einstellungen finden Sie in den Unzer-Modul-Einstellungen unter Unzer / Einstellungen / Cronjob Einstellungen (iDeal und Przelewy 24).

+

Es wird zu diesem Zeitpunkt keine E-Mail versendet.
+Im Admin unter Bestellungen verwalten /Bestellungen /Tab Unzer können Sie die Reservation OT.PA sehen.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_ist_noch_zu_beachten.html b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_ist_noch_zu_beachten.html new file mode 100644 index 00000000..9b9ac83c --- /dev/null +++ b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_ist_noch_zu_beachten.html @@ -0,0 +1,138 @@ + + + + Was ist noch zu beachten? - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Sofern der Benutzer auf die Thankyou Seite kommt (Bestellschritt 5), sieht er folgenden +Text:

+
Vielen Dank für Ihre Bestellung im OXID eShop 6.
+Ihre Bestellung ist unter der Nummer 0 bei uns registriert.
+Sie haben bereits eine Bestellbestätigung per E-Mail erhalten.
+
+

Dieser Text sollte ggf. angepasst werden, da zu diesem Zeitpunkt keine E-Mail +versendet wird.

+
+

Die 0-Bestellnummer kann im Admin deaktiviert werden. Siehe Was hat sich im Bestellprozess geändert?

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_macht_der_Cronjob.html b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_macht_der_Cronjob.html new file mode 100644 index 00000000..574e38a4 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_macht_der_Cronjob.html @@ -0,0 +1,145 @@ + + + + Was macht der Cronjob? - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Der Cronjob holt sich eine Liste von Bestellungen die auf PENDING gesetzt und nicht storniert sind.
+Pro Bestellung werden alle Transaktionen von dem Unzer Server eingeholt.

+

Transaktionen, die nicht im Shop vorhanden sind, werden in die Datenbank gespeichert.

+

Anhand des Status der Transaktion wird die Bestellung abgearbeitet.

+

Bei einer erfolgreichen Receipt OT.RC wird die Bestellung abgeschlossen.

+

Die E-Mails werden zu diesem Zeitpunkt verschickt.

+

Wenn eine Bestellung das Ende der Lebenszeit einer PENDING-Bestellung (in Stunden) erreicht hat,
+tritt die Aktion nach Lebenszeit in Kraft.
+Sie können zwischen folgenden Bearbeitungsoptionen wählen:

+
+
NOT_FINISHED (oxorder__oxtransstatus)
+
Bis 6.1.0.2 blieb die Bestellung unverändert.
+
Ab 6.1.0.2 wird der Bestellstatus (oxorder__oxtransstatus) PENDING auf NOT_FINISHED gesetzt.
+
Bestellung stornieren
+
Die Bestellung wird über die reguläre Routine des Shops storniert (Order::cancelOrder()).
+
Bestellung löschen
+
Die Bestellung wird unwiderruflich gelöscht. Die Löschung erfolg über den Shop selbst (order::delete())
+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_passiert_bei_einem_Refund.html b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_passiert_bei_einem_Refund.html new file mode 100644 index 00000000..2fa62e45 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Was_passiert_bei_einem_Refund.html @@ -0,0 +1,129 @@ + + + + Was passiert bei einem Refund? - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Wie_ist_der_Cronjob_einzurichten.html b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Wie_ist_der_Cronjob_einzurichten.html new file mode 100644 index 00000000..abfbc7a1 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Informationen_und_Anleitung_von_iDeal_und_Przelewy24/Wie_ist_der_Cronjob_einzurichten.html @@ -0,0 +1,155 @@ + + + + Wie ist der Cronjob einzurichten? - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Die Datei unter /modules/d3/heidelpay/Cron/collectpayments.php muss eingebunden werden.

+

Folgende Parameter sind dafür erforderlich:

+
    +
  • via WWW Aufruf: +
      +
    • shp=oxshopid - oxshopid steht für die jeweilige Shop Ident
    • +
    • key=accessKey - accessKey ist der Key, der hier beschrieben wird: Cronjob per Webaufruf einrichten +
    • +
    +
  • +
+

Die fertige URL könnte so aussehen:

+
http://www.meinshop.de/modules/d3/heidelpay/Cron/collectpayments.php?shp=1&key=Sicherheitspasswort
+
+
    +
  • Aufruf via Konsole +
      +
    • shp=oxshopid - oxshopid steht für die jeweilige Shop Ident (nur EE relevant)
    • +
    +
  • +
+

Der fertige Aufruf könnte so aussehen:

+
php /ihr/serverpfad/zum/shop/modules/d3/heidelpay/Cron/collectpayments.php 1
+
+

Es gibt einen Bereich im Admin Module / Unzer / Einstellungen / Stamm / Cronjob Einstellungen (iDeal und Przelewy24), hier können Sie die Einstellungen zum Cronjob vornehmen.

+
+

In den Hilfetexten (mit einem ? gekennzeichnet) finden Sie eine Beschreibung zu den einzelnen Einstellungen.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html b/docs/html/configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html new file mode 100644 index 00000000..2cb95a46 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Konfiguration_der_Zahlungsarten.html @@ -0,0 +1,198 @@ + + + + Konfiguration der Zahlungsarten - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

1. verfügbare Zahltypen:

+

Ihnen stehen folgende Zahltypen im Unzer Modul zur Verfügung (abhängig von der eingesetzten Lizenz):

+
    +
  • Kreditkarte
  • +
  • Debitkarte
  • +
  • Bankeinzug
  • +
  • automatische Vorkasse
  • +
  • Sofort by Klarna
  • +
  • Giropay
  • +
  • iDeal (Niederlande)
  • +
  • EPS (Österreich)
  • +
  • Rechnungskauf (ohne Zahlungssicherung)
  • +
  • Rechnungskauf (mit Zahlungssicherung)
  • +
  • B2B Rechnungskauf
  • +
  • Przelewy 24
  • +
  • EasyCredit
  • +
  • PayPal
  • +
  • MasterPass
  • +
+

2. Zuordnung der Shop-Zahlungsarten zu den Unzer Zahltypen:

+
    +
  1. +

    Bereiten Sie die gewünschten Shop-Zahlungsarten unter Shopeinstellungen / Zahlungsarten vor. +Dise müssen aktiviert, vollständig konfiguriert und im Frontend sichtbar sind. +Es werden durch den Installationsassistenten weitere Shop-Zahlungsarten hinzugefügt:

    +
      +
    • Debitkarte
    • +
    • Sofortüberweisung
    • +
    • iDeal Niederlande
    • +
    • Giropay Deutschland
    • +
    • EPS Österreich
    • +
    • Unzer Paypal
    • +
    • Unzer PostFinance
    • +
    • Unzer Przelewy24
    • +
    +
  2. +
  3. +

    Gehen Sie anschließend in den Menüpunkt Module / Unzer / Channel-Konfigurationen.
    +(Sie können die bereits mitgelieferten Channel-Konfigurationen verwenden und verändern.)

    +
  4. +
  5. +

    Andernfalls geben Sie einen Titel (bspw. Kreditkarte Inland), den von Unzer erhaltenen Channel ein und wählen Sie den Unzer-Zahltyp aus.

    +
  6. +
+
+

Wenn der Haken bei "Test Modus" gesetzt wird, ist die Channel-Konfiguration erst dann aktiv, wenn das Modul sich im Test Modus befindet.

+
+
    +
  1. Gehen Sie in den Tab Zahlungsarten. Hier sehen Sie eine Liste der Shop-Zahlungsarten und deren aktuellen Zuordnung.
    +Wählen Sie für die aktive Channel-Konfiguration die zu verwendente Shop-Zahlungsart in der Spalte Zugeordnet? aus.
    +Sobald die Shop-Zahlungsart aktiv und zugeordnet ist, wird die Konfiguration im Frontend angewendet.
  2. +
+
+

Sie können mehrere Shop-Zahlungsarten einer Channel-Konfiguration zuordnen.

+
+
+

Eine Shop-Zahlungsart kann jedoch nur einer Channel-Konfiguration zugeordnet werden.

+
+
+

Eine Shopzahlungsart wird grau/inaktiv angezeigt, wenn diese bereits einer anderen Channel-Konfiguration zugeordnet ist

+
+
    +
  1. Checkliste +
      +
    • Sind die Shop-Zahlungsarten im Frontend sichtbar?
    • +
    • Ist der Test/Livemodus im Modul aktiv?
    • +
    • Sind die Channel-Konfigurationen korrekt eingestellt (Aktiv, Test Modus, Zuordnung der Shop-Zahlungsart)?
    • +
    • Sind die Test/Livedaten im Modul hinterlegt?
    • +
    +
  2. +
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.html b/docs/html/configuration/Konfiguration/Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.html new file mode 100644 index 00000000..d7d95a37 --- /dev/null +++ b/docs/html/configuration/Konfiguration/Zahlungsinformationen_fuer_Rechnungskauf_und_Vorkasse_anzeigen_lassen.html @@ -0,0 +1,153 @@ + + + + Zahlungsinformationen für Rechnungskauf und Vorkasse anzeigen lassen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Im folgenden Abschnitt sehen Sie ein PHP Script, womit ein Entwickler an jeder beliebigen Stelle im Shop,
+die Zahlungsinformationen implementieren kann (bspw. Oxid eigenen Invoice PDF Modul oder für die Anbindung einer Warenwirtschaft):

+
/** @var \D3\Heidelpay\Modules\Application\Model\Order $order */
+$order = oxNew(\OxidEsales\Eshop\Application\Model\Order::class);
+$order->load('OxidDerBestellung');
+
+var_dump($order->getHeidelpayBankTransferData());
+/* returns false or :
+stdClass::__set_state(array(
+    'Type' => 'd3_d3heidelpay_models_payment_invoice_unsecured',
+    'Currency' => 'EUR',
+    'Amount' => '33.80',
+    'ShortID' => '3457.1523.6672',
+    'UniqueID' => '31HA07BC81287D6A78968151B24C6A22',
+    'TransactionID' => '4387__@@2016-12-15 09:00:36',
+    'Bank' => '37040044',
+    'Number' => '5320130',
+    'Holder' => 'Unzer (GmbH)',
+    'Iban' => 'DE89370400440532013000',
+    'Bic' => 'COBADEFFXXX',
+    'Country' => 'DE',
+    'Reference' => '3457.1523.6672',
+))*/
+
+

Ein Anwendungsbeispiel wird dem Kunden bereits auf der "Thank You" Seite angezeigt:
+Zahlungsinformationen für Rechnungskauf und Vorkasse anzeigen lassen

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/Konfiguration/automatische_Vorkasse_und_Rechnungskauf.html b/docs/html/configuration/Konfiguration/automatische_Vorkasse_und_Rechnungskauf.html new file mode 100644 index 00000000..7bbe70fa --- /dev/null +++ b/docs/html/configuration/Konfiguration/automatische_Vorkasse_und_Rechnungskauf.html @@ -0,0 +1,170 @@ + + + + Automatische Vorkasse und Rechnungskauf - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+
+

Sofern Sie die Zahlungsart "automatische Vorkasse" oder "Rechnungskauf" über Unzer NICHT nutzen, können Sie auf die nächste Seite blättern.

+
+

Ablauf bei "automatische Vorkasse" und "Rechnungskauf"

+

Eine "Vorkasse"- bzw. "Rechnungskauf"-Bestellung wird zum Zeitpunkt der Bestellung das Feld Interner Status "oxtransstatus" auf PENDING gestellt.

+

Bei Nutzung dieser Zahltypen prüft der Cronjob auf vorhandene Zahlungseingänge bei Unzer.

+

Werden vorhandene Zahlungseingänge an den Shop übermittelt, so werden diese mit den gespeicherten Bestellungen abgeglichen.

+

Wird eine korrekte Zahlung ermittelt, so wird Interner Status "oxtransstatus" auf OK geändert, sowie das Feld Bezahlt am "oxpaid" mit dem Zeitpunkt (Datum & Uhrzeit) der Bezahlung gefüllt.

+

Weiterhin wird an den Kunden und den Shopinhaber, eine Informations-E-Mail über den Erhalt der Zahlung geschickt.

+

Für die Formatierung der Mails stehen E-Mail-Templates zur Verfügung unter
/modules/d3/heidelpay/views/tpl/email/*.

+

Den E-Mail-Inhalt liefern CMS-Texte, die mit dem Modul installiert wurden.
+Diese finden Sie im Admin unter Kundeninformationen / CMS-Seiten beginnend mit
+dem Ident "d3_hp_vorkassemail" und
+dem Titel "Heidelpay Vorkasseinfomail". +

+
+

Hinweis: +Sollte die Höhe der Zahlung von dem Bestellwert abweichen, werden folgende Schritte durchgeführt:

+
    +
  • Der "Interner Status" (oxtransstatus) der Bestellung wird auf "ERROR" gestellt und das Feld "Bezahlt am" (oxpaid) bleibt unverändert.
  • +
  • Weiterhin werden E-Mails an Kunde und Shopinhaber gesandt, die auf die fehlerhafte Zahlung hinweisen.
  • +
+
+

Einrichtung eines Cronjob

+

Für die Zahlungsarten "automatische Vorkasse" und "Rechnungskauf" ist ein Cronjob einzurichten.
+Dieser sorgt dafür, dass täglich mehrmals ein Abgleich eingegangener Zahlungen zwischen Shop und Unzer erfolgt.
+Wir empfehlen das Starten des Jobs 2-3x pro Tag. z.B. vormittags, nachmittags und abends.
+Weitere Informationen zum Anlegen von Cronjobs finden Sie in unserer https://faq.d3data.de/begriffslexikon/cronjob/.

+

##Wichtiger Sicherheitshinweis +Verhindern Sie den Aufruf von .sh-Dateien via Browser. +Erweitern Sie z.B. die ".htaccess"-Datei des Shops um folgende Zeilen:

+
<Files *.sh>
+    <IfModule mod_authz_core.c>
+        # htaccess - apache 2.4
+        Require all denied
+    </IfModule>
+    <IfModule !mod_authz_core.c>
+        Order allow,deny
+        Deny from all
+        Satisfy All
+    </IfModule>
+</Files>
+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/configuration/index.html b/docs/html/configuration/index.html new file mode 100644 index 00000000..b9287bec --- /dev/null +++ b/docs/html/configuration/index.html @@ -0,0 +1,146 @@ + + + + Konfiguration | wichtige Hinweise - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/description/Beschreibung.html b/docs/html/description/Beschreibung.html new file mode 100644 index 00000000..b993ccfd --- /dev/null +++ b/docs/html/description/Beschreibung.html @@ -0,0 +1,164 @@ + + + + Beschreibung - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+ Unzer Logo +

Die Unzer GmbH ist einer der innovativsten und am stärksten wachsenden Fintech-Dienstleister mit Hauptsitz in Heidelberg. Der international tätige Spezialist für Zahlungsabwicklung setzt dabei auf eigene Lösungen wie Rechnungs- und Ratenkauf, Lastschrift, Online-Überweisung, Vorkasse und Kreditkarte sowie auf Anbieter von Wallet-Lösungen. Mit über 16 Jahren Erfahrung im E-Commerce und am Point of Sale bietet die Unzer GmbH als von der BaFin zugelassenes Zahlungsinstitut Unternehmen jeder Größe die Möglichkeit, weltweite Zahlungsabwicklungen durchzuführen.

+

Transaktionsübersicht an den Bestellungen

+

Das Modul verfügt über einen eigenen Administrationsbereich an den Bestellungen, wo Sie Buchungen*, Stornierungen*, Gutschriften* etc. durchführen können.
+Eine separate Anmeldung am Unzer-Händlerbereich ist für die Zahlungsabwicklungen der Shopbestellungen dadurch nicht mehr nötig!

+

PCI 3 Konformität

+

PCI DSS Level SAQ-A wird ab Modulversion 5.2.0.0 (azure) unterstützt.
+Details zu PCI finden Sie unter https://www.pcisecuritystandards.org/ .

+

Folgende Leistungen bietet Ihnen das Modul über das Zahlungssystem der Unzer (GmbH)

+
    +
  • Kreditkarte
  • +
  • Bankeinzug/Lastschrift (DE, AT und CH)
  • +
  • automatische Vorkasse
  • +
  • Sofortüberweisung (in DE und AT)
  • +
  • Rechnungskauf (ohne Zahlungssicherung)
  • +
  • PayPal
  • +
  • Debitkarte *
  • +
  • Giropay *
  • +
  • iDeal *
  • +
  • EPS *
  • +
  • Rechnungskauf (mit Zahlungssicherung) *
  • +
  • B2B Rechnungskauf (mit Zahlungssicherung) *
  • +
  • Przelewy 24 *
  • +
  • MasterPass *
  • +
  • EasyCredit *
  • +
  • PostFinance *
  • +
  • BillSAFE (nur Bestandskunden)
  • +
+
+

* nur in der Edition "Premium" verfügbar

+
+

Hinweis zu 3D Secure

+

"Verified by Visa" und "MasterCard Secure Code" sind Authentifizierungssysteme auf Basis der Visa-Technologie "3D Secure".
+Der Karteninhaber gibt im Web seine Kreditkartennummer ein.
+Nimmt der Issuer (kartenausstellende Bank) am 3D Secure-Verfahren teil, kann der Kartenbesitzer ein zusätzlich hinterlegtes Passwort eingeben.
+Damit erhält das Zahlungssystem des Händlers ein Authentifizierungsmerkmal.
+Die Möglichkeit zu 3D Secure ist in diesem Modul enthalten und kann bei Unzer angefragt werden.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/description/Editionsunterschiede.html b/docs/html/description/Editionsunterschiede.html new file mode 100644 index 00000000..ee45e24e --- /dev/null +++ b/docs/html/description/Editionsunterschiede.html @@ -0,0 +1,387 @@ + + + + Editionsunterschiede - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Wir liefern das Unzer Modul in 2 Lizenzmodellen aus, Basic und Premium.
+Die Unterschiede zwischen den Lizenzen können Sie hier einsehen:

+ + + + + + + + + + + + + + + +
 BasicPremium
Preis0,00 €ab 259,00 €
+ + + + + + + + + + + + + + + + + + + + +
Bankeinzug / LastschriftBasicPremium
ELV Deutschland, Österreich, SchweizXX
mit ZahlungssicherungX
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KreditkartenBasicPremium
VisaXX
MastercardXX
American ExpressXX
DinnersXX
JCBXX
verified by Visa (3D Secure)XX
MasterCard SecureCode (3D Secure)XX
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DebitkartenBasicPremium
Carta postepay (Italien)X
Carte Bleue (Frankreich)X
ServiRed (Spanien)X
Visa ElectronX
Euro 6000 (Spanien)X
4B (Spanien)X
Dankort (Dänemark)X
Maestro International 3D SecureX
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PIN / TAN VerfahrenBasicPremium
SofortüberweisungXX
GiropayX
IDEAL (Niederlande)X
EPS (Österreich)X
Przelewy 24X
PostFinanceX
+ + + + + + + + + + + + + + + + + + + + +
E-WalletBasicPremium
PayPalXX
MasterPassX
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Weitere ZahlungsartenBasicPremium
VorkasseXX
BillSAFE (nur Bestandskunden)XX
Rechnungskauf ohne ZahlungssicherungXX
Rechnungskauf mit ZahlungssicherungX
B2B Rechnungskauf mit ZahlungssicherungX
EasyCredit (Ratenkauf)X
+ + + + + + + + + + + + + + + + + + + + +
Admin-Bereich an den BestellungenBasicPremium
Übersicht TransaktionenXX
Aktionen durchführen (Storno, Refund,etc.)X
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/img/Unzer__PrimaryLogo_Raspberry_RGB.png b/docs/html/img/Unzer__PrimaryLogo_Raspberry_RGB.png new file mode 100644 index 0000000000000000000000000000000000000000..f43f12ee28a8261fb41e636416a72b1d4a869fa6 GIT binary patch literal 40227 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%0AT#+EGKB_VN!|<$1O&EN0k=Sbs>~8O{$i zXFnDSzXD0|SrSv(%0i*5^&SzE(Z}O|qsnOio-t^;Fa;8Jm;)hj~C6gGrw@$YVbO-TjCfs0DlLMTdx8Q z(TkaHsA1S9(67+G4qfbnlmF&#WJ+2=^+`-(!eFkl1{Fls6#0$Xa4jl3}cw9+TgoRx8z?XjW*e zPQ_Z-oDg=dG8m?LT&J9_RB9j(bb%=uRI9H%?FW7lb{6?6@K}y|Ui+Ai0Ue>Fr)=Qh zIBi~?Mxn;{W|Fs3Q$+F3I_%73tXFo}HI33A^g}MPi$49f>!N;^3@S7DK$pU&7Wu zl$yxueJzwRaM_Hc-9qwL+Au+1V2@uUOLse)TqP5v%vBMnrZ@$IofT?p*6v_Ey1SC z(P+_o!m3$1ltqQ*OhPn?+_2|QgGbqMSMI^D`r)n^!|}}q@3JAXgj0&N#SgSQMeGFTsgK(BuSj{JFnv`vMWhTPBY$u*Ow-Y;N-ObZrjJ7g%J3Jd%((#PME}6<6-+l8{CeW?055LEKct2JD zZb_Lgwv1knBli}gz zO=5rfNA>)~ffaG)D z0SQz@?w7z&%e0vM(1hKVN-8F&BR_rjx8<@ZprPcxI*0SPub(ygru literal 0 HcmV?d00001 diff --git a/docs/html/img/unzer_new_channel_configuration_loaded.png b/docs/html/img/unzer_new_channel_configuration_loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..b992caeeae9fa65169ae316ca83e49e74b7a2ac4 GIT binary patch literal 83607 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 + + + unzer + + + + + + + + + + + + + + + + + + + + + + + +

+ +
+
+
+

unzer

für den Oxid eShop
+ + +
+
Autor: D³ Data Development
Stand: 11.01.2021
+
Version wechseln: +
+
+
+ + +
+ +
+
+
+
+

Weitere Informationen zum Modul Unzer finden Sie in unserem Shop:
+https://www.oxidmodule.com/OXID-eShop/Module/Heidelpay-Integrator-fuer-Oxid-PE.html

+
+
+
+
+ + + + + + + + + + + + + + diff --git a/docs/html/installation/Anforderungen/Beiliegende_Bibliotheken.html b/docs/html/installation/Anforderungen/Beiliegende_Bibliotheken.html new file mode 100644 index 00000000..4eeefebc --- /dev/null +++ b/docs/html/installation/Anforderungen/Beiliegende_Bibliotheken.html @@ -0,0 +1,131 @@ + + + + beiliegende Bibliotheken - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Anforderungen/Systemanforderungen.html b/docs/html/installation/Anforderungen/Systemanforderungen.html new file mode 100644 index 00000000..c8015764 --- /dev/null +++ b/docs/html/installation/Anforderungen/Systemanforderungen.html @@ -0,0 +1,169 @@ + + + + Systemanforderungen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+
    +
  • PHP Version +
      +
    • 5.6.x bis 7.4.x
    • +
    +
  • +
  • PHP Decoder +
      +
    • installierter ionCube Loader
    • +
    +
  • +
  • Shopversionen / -editionen +
      +
    • OXID eShop Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE) in Compilation Version +
        +
      • 6.0.x
      • +
      • 6.1.x
      • +
      • 6.2.x
      • +
      +
    • +
    +
  • +
  • Themes +
      +
    • azure
    • +
    • flow
    • +
    • wave
    • +
    +
  • +
  • D3 Modul-Connector (kostenfrei bei D3 erhältlich) ab Version 5.3.0.0
  • +
  • Installation via Composer +
  • +
  • bei Verwendung der Zahlungsart „iDeal“ oder „Przelewy24“ wird ein freier Cronjob benötigt
  • +
  • bei Verwendung der Zahlungsart „Vorkasse“ oder „Rechnungskauf“ wird ein freier Cronjob benötigt
  • +
+

Beachten Sie, dass die Ihnen vorliegende Modulversion entsprechend für PHP 5.6, PHP 7.0, PHP 7.1, PHP 7.2, PHP 7.3 oder PHP 7.4 sowie dem auf Ihrem Server vorhandenen Decoder (ionCube Loader) kompatibel ist. Im Zweifelsfall kontaktieren Sie uns und nennen den für Ihren Shop genutzten Decoder und die PHP-Version.

+

Kontrollieren Sie bitte auch, ob diese Modulversion für die von Ihnen eingesetzte Shopedition (Professional Edition (PE) oder Enterprise Edition (EE)) ausgelegt ist.

+

Hinweis:

+
+

Durch composer werden die Abhängigkeiten direkt vor der Installation geprüft.
+D.h. wenn eine der Anforderung nicht erfüllt ist, wird das Modul nicht installiert und die entsprechende Anforderung wird direkt auf der Konsole ausgegeben.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Anforderungen/Vorbereitungen.html b/docs/html/installation/Anforderungen/Vorbereitungen.html new file mode 100644 index 00000000..60b6e95e --- /dev/null +++ b/docs/html/installation/Anforderungen/Vorbereitungen.html @@ -0,0 +1,131 @@ + + + + Vorbereitungen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. +Ob dies evtl. schon geschehen ist, können Sie im Adminbereich Ihres Shops prüfen. Existiert der Punkt D3 Module / Modul-Connector, können Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den kostenfreien Connector. +Informationen zu dessen Installation finden Sie auf unserer Homepage.

+

Klicken Sie auf den Reiter Downloads und wählen dort das für Ihre Installation passende Paket.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Anforderungen/wichtige_Hinweise.html b/docs/html/installation/Anforderungen/wichtige_Hinweise.html new file mode 100644 index 00000000..2258322d --- /dev/null +++ b/docs/html/installation/Anforderungen/wichtige_Hinweise.html @@ -0,0 +1,153 @@ + + + + Wichtige Hinweise - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

zu Ihrem Unzer-Händlervertrag

+

Nur relevant bei Zahltyp "Sofort by Klarna" und einem Update des Moduls.
+Das Modul nutzt für Sofort by Klarna eine spezielle Option der Unzer-Konfiguration, mit der Ihr Endkunde erst auf der Webseite von Sofort by Klarna seine Bankdaten eingeben muss.
+Diese Option muss jedoch erst in Ihrem Händlerkonto eingerichtet werden.
+Ohne diese Einstellung ist eine Nutzung des Zahltyp "Sofort by Klarna" nicht möglich!
+Lassen Sie daher vor dem Einspielen der vorliegenden Modulversion die Aktivierung der genannten Option in Ihrem Händlerkonto von Ihrem Unzer-Händlerbetreuer prüfen.

+

Modulversion 6.1.0.0

+

Veraltete Konfigurationenänderungen unter 6.0.0.0 werden nicht mehr migriert.
+Sollte eine ältere Konfiguration migriert werden, installieren Sie bitte die Version 6.0.3.1 und +lassen Sie die automatische Installation einmalig durchführen. +Danach aktualisieren Sie auf die gewünschste Modulversion.

+

Mit diesem Release stellen wir die neue Channel-Konfiguration vor.

+

Modulversion 6.0.3.0

+

Die Zahlungsart Billsafe wird nicht mehr über das Unzer Modul angeboten.

+

Modulversion 6.0.2.0

+

Nur EE:
+Mit dem kleinem Update 6.0.2.0 werden für die gespeicherten Daten die Shopid eingeführt.
+Damit wird unterbunden, dass Kunden auf die Referenzdaten aus anderen Subshops erhalten.
+Bitte führen Sie die folgende Abfrage manuell im Admin oder in der Datenbank aus:

+
UPDATE d3hpuid, oxuser
+SET d3hpuid.oxshopid = oxuser.oxshopid
+WHERE d3hpuid.OXUSERID = oxuser.OXID
+AND oxuser.OXSHOPID != d3hpuid.OXSHOPID;
+
+

Modulversion 6.0.0.0

+

Das Oxid Standard "Mobile-Theme" wird nicht mehr untersützt!

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Deinstallation/Dateien_loeschen.html b/docs/html/installation/Deinstallation/Dateien_loeschen.html new file mode 100644 index 00000000..587a9b73 --- /dev/null +++ b/docs/html/installation/Deinstallation/Dateien_loeschen.html @@ -0,0 +1,133 @@ + + + + Dateien löschen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Löschen Sie den Ordner unzer und seine enthaltenen Elemente aus dem Verzeichnis source/modules/d3 Ihres Shops. +Bestätigen Sie anschließend im Shopadmin unter Erweiterungen / Module / Installierte Shop-Module die Nachricht:

+
+

Es gibt registrierte Erweiterungen im eShop, deren Verzeichnis nicht vorhanden ist.
+Möchten Sie alle Modulinformationen einschließlich Konfigurationseinstellungen und Blockinformationen für Templates löschen?

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Deinstallation/Datenbank_bereinigen.html b/docs/html/installation/Deinstallation/Datenbank_bereinigen.html new file mode 100644 index 00000000..5eb3c707 --- /dev/null +++ b/docs/html/installation/Deinstallation/Datenbank_bereinigen.html @@ -0,0 +1,156 @@ + + + + Datenbank bereinigen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Das Modul legt Informationen in der Datenbank ab. Sofern diese Daten nicht mehr benötigt werden, können diese gelöscht werden.

+
+

Legen Sie sich vorab bitte unbedingt eine Sicherung an, um die Daten im Zweifelsfall wiederherstellen zu können.

+
+

Für das Modul Unzer sind dies die folgende Tabellen und Felder:

+
    +
  • die komplette Tabelle d3hpuid +
  • +
  • die komplette Tabelle d3hperrortexts +
  • +
+

und diese Felder in bestehenden Tabellen:

+
    +
  • in Tabelle oxorder: +
      +
    • das Feld D3HEIDELPAYVOUCHERS +
    • +
    +
  • +
+

sowie diese Einträge in bestehenden Tabellen:

+
    +
  • in Tabelle d3_cfg_mod: +
      +
    • den/die Eintrag/Einträge oxmodid = "{$moduleConfigurationident}" +
    • +
    +
  • +
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html b/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html new file mode 100644 index 00000000..01bd6c1a --- /dev/null +++ b/docs/html/installation/Deinstallation/Modul_aus_der_Installation_entfernen.html @@ -0,0 +1,136 @@ + + + + Modul aus der Installation entfernen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). Führen Sie Sie dort diesen Befehl aus:

+
php composer remove d3/unzer --no-update
+
+
+

Achten Sie darauf, dass die Installation über Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete.

+
+
+

Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Deinstallation/Modul_deaktivieren.html b/docs/html/installation/Deinstallation/Modul_deaktivieren.html new file mode 100644 index 00000000..81e293eb --- /dev/null +++ b/docs/html/installation/Deinstallation/Modul_deaktivieren.html @@ -0,0 +1,128 @@ + + + + Modul deaktivieren - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html b/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html new file mode 100644 index 00000000..8ebcd096 --- /dev/null +++ b/docs/html/installation/Deinstallation/Modulerweiterungen_deaktivieren_und_entfernen.html @@ -0,0 +1,128 @@ + + + + Modulerweiterungen deaktivieren und entfernen - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html b/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html new file mode 100644 index 00000000..d45880c9 --- /dev/null +++ b/docs/html/installation/Deinstallation/TMP-Ordner_leeren.html @@ -0,0 +1,132 @@ + + + + TMP-Ordner leeren - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Leeren Sie das Verzeichnis tmp über Admin / D3 Module / Modul-Connector / TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren.

+

Sofern die Views nicht automatisch aktualisiert werden, führen Sie dies noch durch.

+
+

Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, führen Sie diese bitte aus.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Installation.html b/docs/html/installation/Installation.html new file mode 100644 index 00000000..f263fc5c --- /dev/null +++ b/docs/html/installation/Installation.html @@ -0,0 +1,143 @@ + + + + Installation | Update | Deinstallation - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Installationspruefung.html b/docs/html/installation/Installationspruefung.html new file mode 100644 index 00000000..009e326b --- /dev/null +++ b/docs/html/installation/Installationspruefung.html @@ -0,0 +1,148 @@ + + + + Installationsprüfung - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Um die erfolgreiche Installation zu prüfen, können Sie die folgende(n) Checkliste(n) verwenden:

+

Einstellungsunabhängige Prüfungen

+

Backend

+
    +
  • das Modul ist unter Erweiterungen / Module aktiv geschaltet
  • +
  • das Modul ist unter Module / Modul-Connector / Modulverwaltung aktiv geschaltet
  • +
  • das Modul zeigt unter Module / Unzer einen eigenen Bereich für Einstellungen, Logging und die Transaktionsübersicht
  • +
  • das Modul zeigt unter Bestellungen verwalten / Bestellungen einen neuen Tab Unzer +
  • +
+

Einstellungsabhängige Prüfungen

+

Frontend

+
    +
  • Im Bestellschritt 3 (Versand & Zahlungsart) werden Icons zu den konfigurierten Zahlungsarten angezeigt
  • +
  • der Shop zeigt nach Absenden des Bestellschritt 4 (Überprüfen & Absenden) folgendes Verhalten: +
      +
    • bei Kreditkarte, Debitkarte ein Eingabeformular / eine Auswahl zu gespeicherten Daten
    • +
    • bei Paypal, Sofort by Klarna, iDeal (und andere OT Zahlungsarten) eine Weiterleitung zum Zahlungsanbieter
    • +
    +
  • +
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Konfiguration_einstellen.html b/docs/html/installation/Neuinstallation/Konfiguration_einstellen.html new file mode 100644 index 00000000..e80a87f4 --- /dev/null +++ b/docs/html/installation/Neuinstallation/Konfiguration_einstellen.html @@ -0,0 +1,139 @@ + + + + Konfiguration einstellen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Im Admin wird ein neuer Punkt D3 Module / Heideplay gezeigt, unter +dem alle Einstellungsmöglichkeiten zu finden sind. Nach der Installation sind die +Demo-Unzer-Daten eingerichtet, so dass direkt eine Testbestellung mit +Kreditkarte oder Bankeinzug gemacht werden kann.
+Weitere Testdaten (Kreditkarte, Billsafe o.a.) können Sie bei Unzer anfordern.

+

Hinweise

+
+

Solange die Demodaten eingestellt sind, werden keine realen Buchungen durchgeführt

+
+
+

Beachten Sie den Abschnitt Konfiguration für die korrekte Einrichtung des Moduls

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Lizenz_eintragen.html b/docs/html/installation/Neuinstallation/Lizenz_eintragen.html new file mode 100644 index 00000000..8c4255c7 --- /dev/null +++ b/docs/html/installation/Neuinstallation/Lizenz_eintragen.html @@ -0,0 +1,130 @@ + + + + Lizenzschlüssel eintragen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Das Modul verwendet Lizenzschlüssel, um die Lizenzverwaltung für Sie und auch für uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz für den Einsatz im Livebetrieb.

+

Speziell Unzer wird in unterschiedlichen (teilweise kostenfreien) Editionen für den Livebetrieb angeboten. Besuchen Sie unseren Moduleshop, um mehr darüber zu erfahren.

+

Rufen Sie zum Anfordern des Lizenzschlüssels die Modulverwaltung im Adminbereich unter D3 Module / Modul-Connector / Modulverwaltung auf. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, können Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html b/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html new file mode 100644 index 00000000..b27ee7ef --- /dev/null +++ b/docs/html/installation/Neuinstallation/Modul_hinzufuegen.html @@ -0,0 +1,133 @@ + + + + Modul zur Installation hinzufügen - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Führen Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um das Modul Unzer zur Installation hinzuzufügen:

+
php composer require d3/unzer:^6.1.3.1 --update-no-dev
+
+
+

Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html b/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html new file mode 100644 index 00000000..e0800b58 --- /dev/null +++ b/docs/html/installation/Neuinstallation/Modul_im_Shop_aktivieren.html @@ -0,0 +1,131 @@ + + + + Modul im Shop aktivieren - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html b/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html new file mode 100644 index 00000000..89f0345e --- /dev/null +++ b/docs/html/installation/Neuinstallation/Providerspezifische_Installation.html @@ -0,0 +1,128 @@ + + + + Providerspezifische Installation - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html b/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html new file mode 100644 index 00000000..87ce031f --- /dev/null +++ b/docs/html/installation/Neuinstallation/Shopanpassungen_installieren.html @@ -0,0 +1,131 @@ + + + + Shopanpassungen installieren - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Direkt nach der Modulaktivierung startet der Assistent, der Sie durch die Shopanpassung führt. Darin können Sie verschiedene Optionen der Installation wählen.

+

Den Installationsassistenten finden Sie auch unter den Menüpunkten Admin / D3 Module / Modul-Connector / Modulverwaltung / Modulinstallation.

+

Bei tiefgreifenden Änderungen an Ihrem Shop (z.B. Hinzufügen weiterer Sprachen oder Mandanten) rufen Sie den Installationsassistenten bitte erneut auf, um dann eventuell notwendige Nacharbeiten für das Modul ausführen zu lassen.

+

Möchten Sie die Änderungen manuell installieren, können Sie sich über diesen Assistenten ebenfalls eine Checkliste erstellen.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html b/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html new file mode 100644 index 00000000..dcb53274 --- /dev/null +++ b/docs/html/installation/Neuinstallation/TMP-Ordner_leeren.html @@ -0,0 +1,132 @@ + + + + TMP-Ordner leeren - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Leeren Sie das Verzeichnis tmp über Admin / D3 Module / Modul-Connector / TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren.

+

Sofern die Views nicht automatisch aktualisiert werden, führen Sie dies noch durch.

+
+

Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, führen Sie diese bitte aus.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Updatefaehigkeit.html b/docs/html/installation/Neuinstallation/Updatefaehigkeit.html new file mode 100644 index 00000000..3ba2ea96 --- /dev/null +++ b/docs/html/installation/Neuinstallation/Updatefaehigkeit.html @@ -0,0 +1,129 @@ + + + + Updatefähigkeit - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Bei individuellen Änderungen von Moduldateien empfehlen wir, jeweils die Überladungsmöglichkeiten des Shops dafür zu verwenden. So brauchen Sie die originalen Moduldateien nicht verändern und erhalten sich so die Updatefähigkeit des Shops und des Moduls. Beachten Sie, dass Moduldateien bei Updateinstallationen überschrieben werden.

+

Weitere Informationen zu den Überladungsmöglichkeiten verschiedener Dateien finden Sie in unserer FAQ.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Neuinstallation/Verwendung_eigener_Themes.html b/docs/html/installation/Neuinstallation/Verwendung_eigener_Themes.html new file mode 100644 index 00000000..2f6a03e0 --- /dev/null +++ b/docs/html/installation/Neuinstallation/Verwendung_eigener_Themes.html @@ -0,0 +1,135 @@ + + + + Verwendung eigener Themes - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Das Modul ist für die Verwendung mit den folgenden OXID-Themes vorbereitet:

+
    +
  • Flow
  • +
  • Azure
  • +
+

Verwenden Sie in Ihrem Shop ein angepasstes Verzeichnis für Ihre Templates (neues Theme oder CustomTheme), kopieren Sie die Templates und / oder die CSS-Dateien in die neuen Ordner.

+

Ähnelt Ihr neues Theme technisch einem der OXID-Originale, können Sie dieses darauf umleiten. Childs von originalen OXID- Themes benötigen keine Umleitung.

+

Weitere Informationen zur Umleitung finden Sie in unserer FAQ.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Schnellstart.html b/docs/html/installation/Schnellstart.html new file mode 100644 index 00000000..09e4db68 --- /dev/null +++ b/docs/html/installation/Schnellstart.html @@ -0,0 +1,139 @@ + + + + Schnellstart - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Schnellstart per Composer

+
php composer require d3/unzer --update-no-dev
+
+

Detailliertere Angaben zur Installation entnehmen Sie bitte der Installationsanleitung.

+

Schnellstart im Admin

+

Das Modul Unzer bringt einen umfangreichen Adminbereich mit, +in dem Sie die Konfigurationseinstellungen des Moduls setzen können. +Über das Menü D3 Module / Unzer erreichen Sie die Einstellseiten.
+Arbeiten Sie idealerweise die Optionen einmal durch. +Hinweise zu den einzelnen Einstellungen finden Sie in dem dahinter stehenden Fragezeichenfeld. +Durch einen Klick darauf öffnet sich der Hinweistext.

+

Unter Konfiguration des Moduls werden die Einstellungen und Möglichkeiten umfangreicher beschrieben.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Update/Aenderungen_kontrollieren.html b/docs/html/installation/Update/Aenderungen_kontrollieren.html new file mode 100644 index 00000000..df7ae4aa --- /dev/null +++ b/docs/html/installation/Update/Aenderungen_kontrollieren.html @@ -0,0 +1,140 @@ + + + + Änderungen kontrollieren - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Wechsel auf Modul-Version 5.2.0.0 oder höher

+ +

Ab Modul-Version 5.2.3.4

+
    +
  • können Sie mehrsprachige Konfigurationen nutzen.
    +Kontrollieren Sie bitte die Einstellung "mehrsprachige Konfigurationen erlauben" unter
    + Module / Unzer / Einstellungen / Einstellungen zu Modul-Logging, Sicherheit und Sprache.
    +Sofern mehrsprachige Konfigurationen bereits vorhanden sind, wird Ihnen eine Meldung gezeigt. +Bitte folgen Sie den Instruktionen der Meldung.
  • +
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Update/Dateien_erneuern.html b/docs/html/installation/Update/Dateien_erneuern.html new file mode 100644 index 00000000..48fd55a9 --- /dev/null +++ b/docs/html/installation/Update/Dateien_erneuern.html @@ -0,0 +1,138 @@ + + + + Dateien erneuern - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres +Shops (oberhalb des source- und vendor-Verzeichnisses). Führen Sie dort diesen Befehl aus:

+
php composer require d3/unzer:^6.1.3.1 --update-no-dev
+
+

Im weiteren Ablauf werden Sie gefragt, ob die Moduldateien überschrieben werden sollen. Bestätigen Sie dies für den Eintrag d3/unzer.

+
+

Achten Sie darauf, dass die Installation über Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete.

+
+
+

Benötigt Ihre Installation einen anderen Aufruf von Composer, ändern Sie den Befehl bitte entsprechend ab. Für weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Update/Erweiterungen_anpassen.html b/docs/html/installation/Update/Erweiterungen_anpassen.html new file mode 100644 index 00000000..1ab586df --- /dev/null +++ b/docs/html/installation/Update/Erweiterungen_anpassen.html @@ -0,0 +1,128 @@ + + + + Erweiterungen anpassen - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html b/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html new file mode 100644 index 00000000..3b73e8a4 --- /dev/null +++ b/docs/html/installation/Update/Lizenzschluessel_aktualisieren.html @@ -0,0 +1,128 @@ + + + + Lizenzschlüssel aktualisieren - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Update/Modul_deaktivieren.html b/docs/html/installation/Update/Modul_deaktivieren.html new file mode 100644 index 00000000..f70b75de --- /dev/null +++ b/docs/html/installation/Update/Modul_deaktivieren.html @@ -0,0 +1,128 @@ + + + + Modul deaktivieren - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Update/Modulinformationen_aktualisieren.html b/docs/html/installation/Update/Modulinformationen_aktualisieren.html new file mode 100644 index 00000000..8b2d05f7 --- /dev/null +++ b/docs/html/installation/Update/Modulinformationen_aktualisieren.html @@ -0,0 +1,128 @@ + + + + Modulinformationen aktualisieren - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Update/Providerspezifische_Installation.html b/docs/html/installation/Update/Providerspezifische_Installation.html new file mode 100644 index 00000000..124b3398 --- /dev/null +++ b/docs/html/installation/Update/Providerspezifische_Installation.html @@ -0,0 +1,128 @@ + + + + Providerspezifische Installation - unzer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/html/installation/Update/Shopanpassungen_installieren.html b/docs/html/installation/Update/Shopanpassungen_installieren.html new file mode 100644 index 00000000..979f888d --- /dev/null +++ b/docs/html/installation/Update/Shopanpassungen_installieren.html @@ -0,0 +1,131 @@ + + + + Shopanpassungen installieren - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Ob Shopanpassungen notwendig sind, ist von der Versionsänderung des Moduls abhängig.

+

Möglicherweise sehen Sie nach dem Neuaktivieren des Moduls den Installationsassistent, der Sie durch die Änderungen führt. Folgen Sie dann den einzelnen Schritten. Möchten Sie die Änderungen manuell installieren, können Sie sich über diesen Assistenten ebenfalls eine Checkliste erstellen.

+

Wird der Assistent nicht gezeigt (Sie sehen wieder die Modulübersicht), waren keine Anpassungen am Shop notwendig.

+

Ob erforderliche Updates ausgeführt werden sollen, können Sie jederzeit im Adminbereich unter D3 Module / Modul-Connector / Modulverwaltung / Modulinstallation prüfen.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Update/TMP-Ordner_leeren.html b/docs/html/installation/Update/TMP-Ordner_leeren.html new file mode 100644 index 00000000..8909f785 --- /dev/null +++ b/docs/html/installation/Update/TMP-Ordner_leeren.html @@ -0,0 +1,132 @@ + + + + TMP-Ordner leeren - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Leeren Sie das Verzeichnis tmp über Admin / D3 Module / Modul-Connector / TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren.

+

Sofern die Views nicht automatisch aktualisiert werden, führen Sie dies noch durch.

+
+

Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, führen Sie diese bitte aus.

+
+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/installation/Update/Updatedefinition.html b/docs/html/installation/Update/Updatedefinition.html new file mode 100644 index 00000000..42faf2d6 --- /dev/null +++ b/docs/html/installation/Update/Updatedefinition.html @@ -0,0 +1,130 @@ + + + + Wann kann ein Update ausgeführt werden? - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Die Updatenaweisungen können verwendet werden, wenn dieses Modul schon früher mit Hilfe von Composer installiert wurde.

+

Wurde die Installation bisher noch nicht durchgeführt oder die Installation wurde nicht über Composer +durchgeführt (weil das Modul dies z.B. früher nicht unterstützte), verwenden Sie bitte die Beschreibung unter Neuinstallation.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/support/Hilfe-und-Support.html b/docs/html/support/Hilfe-und-Support.html new file mode 100644 index 00000000..d76d1a89 --- /dev/null +++ b/docs/html/support/Hilfe-und-Support.html @@ -0,0 +1,137 @@ + + + + Hilfe und Support - unzer + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + + +
+

Bei Bedarf bieten wir Ihnen auch gern die Installation des Moduls in Ihrem Shop an. Geben Sie uns bitte unter den unten genannten Kontaktdaten Bescheid.

+

Haben Sie Fragen oder Unklarheiten in Verbindung mit diesem Modul oder dessen Installation, stehen Ihnen Hilfetexte in unserem HelpCenter zur Verfügung. Finden Sie darin die benötigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden Möglichkeiten:

+
    +
  1. per E-Mail: support@shopmodule.com oder
  2. +
  3. über das Kontaktformular auf Oxidmodule.com oder
  4. +
  5. per Telefon: (+49) 37 21 / 26 80 90 zu unseren Bürozeiten
  6. +
+

Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen können. Sind Ihre Fragen shopspezifisch, benötigen wir möglicherweise Zugangsdaten zum betreffenden Shop.

+

Wir wünschen Ihnen mit Ihrem Shop und dem Modul viel Erfolg!

+

Ihr D³-Team.

+
+ + +
+ +
+
+
+
+ + + + + + + + + + + diff --git a/docs/html/themes/d3/css/d3.css b/docs/html/themes/d3/css/d3.css new file mode 100644 index 00000000..203e48c9 --- /dev/null +++ b/docs/html/themes/d3/css/d3.css @@ -0,0 +1,210 @@ +.s-content table th{ + //background-color: #336ed6; +} + +.Brand{ + color: #fff; +} + +.s-content p { + margin-bottom: 1.0em; +} + +body, +.Homepage { + background-color: #f7f7f7; +} + +.HomepageFooter{ + color : #fff; +} + +.HomepageFooter__links a{ + color : #fff; +} + +.HomepageFooter__links li{ + color : #fff; +} + +.SearchResults .SearchResults__url a, +a{ + color: #028fe8; +} + +.s-content pre { + background : #f5f5f5; +} + +.svg-inline--fa.d3fa-color-blue, .fa.fa-d3color-blue { + color: #028fe8; +} + +.Navbar .svg-inline--fa.d3fa-color-blue, .Navbar .fa.fa-d3color-blue, +.Brand .svg-inline--fa.d3fa-color-blue, .Brand .fa.fa-d3color-blue{ + color: white; +} + +.HomepageFooter__links li{ + float: left; + min-width: 70px; +} + +.HomepageFooter__links li a { + padding-right: 40px; +} + +blockquote.alert a { + text-decoration: none !important; + font-weight: 700; +} + +blockquote.alert.alert-danger { + color: #ce2c2c; + background-color: #f2dede; + border-color: #ce2c2c; + +} + +blockquote.alert.alert-danger a { + color: #843534; +} + +blockquote.alert.alert-warning { + color: #e39c37; + background-color: #fcf8e3; + border-color: #e39c37; +} + +blockquote.alert.alert-warning a { + color: #66512c; +} + +blockquote.alert.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #31708f; +} + +blockquote.alert.alert-info a { + color: #245269; +} + +blockquote.alert.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +blockquote.alert.alert-success a { + color: #2b542c; +} + +.s-content blockquote.alert svg { + float: left; + margin: 4px 12px 0 0; +} + +.HomepageTitle .title, +.HomepageTitle .details { + width: 80%; + margin: 40px auto; + max-width: 500px; +} + +.HomepageTitle h2, +.HomepageTitle div { + width: auto; + margin: unset; + text-align: left; +} + +.HomepageTitle h2 { + font-size: 43px; +} + +.HomepageTitle div { + font-size: 24px; +} + +.HomepageTitle .details div { + font-size: 15px; +} + +aside .Links a { + font-size: 14px; +} + +.Navbar, +.Brand, +.Links, +.Columns__left.Collapsible { + background-color: #028fe8; +} + +.Navbar { + height: auto; + min-height: 50px; + display: inline-table; + width: 100%; +} + +span.navi_element { + border: 1px #c5c5cb; + border-style: solid solid none; + border-radius: 5px 5px 0 0; + padding: 0 5px; + background-color: #f7f7f7; +} + +.Nav { + background-color: #f7f7f7; +} + +.Links a{ + color: #f7f7f7; +} + +.Links a:hover { + text-decoration: underline; +} + +.Links hr { + border-color: #028fe8; +} + +.HomepageFooter, +.Search { + background-color: #028fe8; +} + +.Search { + margin: 10px; +} + +li { + margin-bottom: 7px; +} + +.Search__field { + border-radius: 4px; +} + +.versionselector { + padding: 0 20px; + font-family: "Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif; + font-size: 14px; + color: #f7f7f7; +} + +@media (max-width:768px){ + .HomepageTitle h2 { + font-size: 30px; + } +} + +@media (max-width:571px){ + .HomepageTitle h2 { + font-size: 24px; + } +} \ No newline at end of file diff --git a/docs/html/themes/d3/css/theme-blue.min.css b/docs/html/themes/d3/css/theme-blue.min.css new file mode 100644 index 00000000..e2a1fb44 --- /dev/null +++ b/docs/html/themes/d3/css/theme-blue.min.css @@ -0,0 +1,10 @@ +/*! + * DAUX.IO + * https://dauxio.github.io/ + * MIT License + */ +/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */ +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress,sub,sup{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,hr,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio],legend{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/*! Generated by Font Squirrel (https://www.fontsquirrel.com) */ +@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:300;src:url(../fonts/robotoslab-light.eot);src:url(../fonts/robotoslab-light.eot?#iefix) format("embedded-opentype"),url(../fonts/robotoslab-light.woff2) format("woff2"),url(../fonts/robotoslab-light.woff) format("woff"),url(../fonts/robotoslab-light.ttf) format("truetype"),url(../fonts/robotoslab-light.svg#roboto_slablight) format("svg");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:url(../fonts/robotoslab-regular.eot);src:url(../fonts/robotoslab-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/robotoslab-regular.woff2) format("woff2"),url(../fonts/robotoslab-regular.woff) format("woff"),url(../fonts/robotoslab-regular.ttf) format("truetype"),url(../fonts/robotoslab-regular.svg#roboto_slabregular) format("svg");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:url(../fonts/robotoslab-bold.eot);src:url(../fonts/robotoslab-bold.eot?#iefix) format("embedded-opentype"),url(../fonts/robotoslab-bold.woff2) format("woff2"),url(../fonts/robotoslab-bold.woff) format("woff"),url(../fonts/robotoslab-bold.ttf) format("truetype"),url(../fonts/robotoslab-bold.svg#roboto_slabbold) format("svg");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;padding:0}html{font-size:14px}@media (min-width:850px){html{font-size:16px}}body,html{height:100%;background-color:#fff;color:#222}.Columns__left{background-color:#f7f7f7}.Columns__right__content{padding:10px;background-color:#fff}.Collapsible__content,.s-content pre code:after,.s-content pre code:before{display:none}.Collapsible__trigger{margin:12px;padding:7px 10px;background-color:transparent;border:0;float:right;background-image:none;-webkit-filter:none;filter:none;-webkit-box-shadow:none;box-shadow:none}.Collapsible__trigger__bar{display:block;width:18px;height:2px;margin-top:2px;margin-bottom:3px;background-color:#82becd}.Collapsible__trigger:hover{background-color:#82becd;-webkit-box-shadow:none;box-shadow:none}.Collapsible__trigger:hover .Collapsible__trigger__bar{background-color:#3f4657}@media screen and (min-width:769px){body{background-color:#82becd}.Navbar{position:fixed;z-index:1030;width:100%}.Collapsible__trigger{display:none!important}.Collapsible__content{display:block!important}.Columns{height:100%}.Columns:after,.Columns:before{content:" ";display:table}.Columns:after{clear:both}.Columns__left,.Columns__right{position:relative;min-height:1px;float:left;overflow:auto;height:100%}.Columns__left{width:25%;border-right:1px solid #e7e7e9;overflow-x:hidden}.Columns__right{width:75%}.Columns__right__content{padding:0 20px 20px;min-height:100%}}body{line-height:1.5;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;-webkit-font-feature-settings:"kern" 1,"kern";-moz-font-feature-settings:"kern" 1,"kern";font-feature-settings:"kern" 1,"kern";-webkit-font-kerning:normal;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:"Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:300}.s-content h1,.s-content h2,.s-content h3,.s-content h4,.s-content h5,.s-content h6{cursor:text;line-height:1.4em;margin:2em 0 .5em}.s-content h1 code,.s-content h1 tt,.s-content h2 code,.s-content h2 tt,.s-content h3 code,.s-content h3 tt,.s-content h4 code,.s-content h4 tt,.s-content h5 code,.s-content h5 tt,.s-content h6 code,.s-content h6 tt{font-size:inherit}.s-content h1 i,.s-content h2 i,.s-content h3 i,.s-content h4 i,.s-content h5 i,.s-content h6 i{font-size:.7em}.s-content h1 p,.s-content h2 p,.s-content h3 p,.s-content h4 p,.s-content h5 p,.s-content h6 p{margin-top:0}.s-content h1{margin-top:0;font-size:21.881px;font-size:1.563rem}.s-content h2{font-size:17.5px;font-size:1.25rem}.s-content h3{font-size:14px;font-size:1rem}.s-content h4,.s-content h5,.s-content h6,.s-content small{font-size:10.5px;font-size:.75rem}.s-content a{text-decoration:underline}.s-content p{margin-bottom:1.3em}.s-content ol,.s-content ul{padding-left:2em}.s-content ul p,.s-content ul ul{margin:0}.s-content dl{padding:0}.s-content dl dt{font-weight:700;font-style:italic;padding:0;margin:15px 0 5px}.s-content dl dt:first-child{padding:0}.s-content dl dd{margin:0 0 15px;padding:0 15px}.s-content blockquote{margin:.75em 2em;padding:.5em 1em;font-style:italic;border-left:.25em solid #3f4657}.s-content blockquote cite{font-style:italic}.s-content blockquote cite:before{content:"\2014";padding-right:.5em}.s-content table{width:100%;padding:0;margin-bottom:1em;border-collapse:collapse;font-size:10.5px;font-size:.75rem}.s-content table+table{margin-top:1em}.s-content table tr{border-top:1px solid #eee;background-color:#fff;margin:0;padding:0}.s-content table tr:nth-child(2n){background-color:#f2f3f3}.s-content table th{font-weight:700;border:1px solid #bdc1c4;background:#d7dadb;margin:0;padding:.5em}.s-content table td{border:1px solid #d7dadb;margin:0;padding:.5em}.s-content blockquote>:first-child,.s-content dl dd>:first-child,.s-content dl dt>:first-child,.s-content ol>:first-child,.s-content table td>:first-child,.s-content table th>:first-child,.s-content ul>:first-child{margin-top:0}.s-content blockquote>:last-child,.s-content dl dd>:last-child,.s-content dl dt>:last-child,.s-content ol>:last-child,.s-content table td>:last-child,.s-content table th>:last-child,.s-content ul>:last-child{margin-bottom:0}.s-content img{max-width:100%;display:block;margin:0 auto}.s-content code{font-family:Monaco,Menlo,Consolas,"Lucida Console","Courier New",monospace;padding-top:1.4px;padding-top:.1rem;padding-bottom:1.4px;padding-bottom:.1rem;background:#fafafa;border:1px solid #bdc1c4;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.125);box-shadow:0 1px 1px rgba(0,0,0,.125)}.s-content code:after,.s-content code:before{letter-spacing:-.2em;content:"\00a0"}.s-content pre{background:#fdf6e3;color:#657b83;line-height:1.5em;overflow:auto;border:0;border-radius:0;padding:.75em 2em;margin:0 -20px 20px}.s-content pre code{margin:0;padding:0;white-space:pre;-webkit-box-shadow:none;box-shadow:none}.s-content pre code,.s-content pre tt{background-color:transparent;border:0}.s-content ins,.s-content u{text-decoration:none;border-bottom:1px solid #222}.s-content del a,.s-content ins a,.s-content u a{color:inherit}@media (min-width:1150px){.Columns__right--float .Columns__right__content{height:100%;overflow:auto;padding:0!important;background-color:transparent!important;position:relative}.Columns__right--float .Columns__right__content article{width:100%;min-height:100%;overflow:auto;position:relative;z-index:1}.Columns__right--float .Columns__right__content article:before{content:"";width:50%;min-height:100%;overflow:auto;background-color:#fff;display:block;margin:0;position:absolute;z-index:-1}.Columns__right--float .Page__header,.Columns__right--float .Pager,.Columns__right--float .s-content blockquote,.Columns__right--float .s-content dl,.Columns__right--float .s-content h2,.Columns__right--float .s-content h3,.Columns__right--float .s-content h4,.Columns__right--float .s-content h5,.Columns__right--float .s-content h6,.Columns__right--float .s-content hr,.Columns__right--float .s-content ol,.Columns__right--float .s-content p,.Columns__right--float .s-content table,.Columns__right--float .s-content ul{float:left;clear:left;width:47%;margin-left:1.5%;margin-right:1.5%}.Columns__right--float .s-content table{background-color:#fff;white-space:normal}.Columns__right--float .s-content table code,.Columns__right--float .s-content table pre{white-space:normal}.Columns__right--float .s-content blockquote:before,.Columns__right--float .s-content dl:before,.Columns__right--float .s-content h2:before,.Columns__right--float .s-content h3:before,.Columns__right--float .s-content h4:before,.Columns__right--float .s-content h5:before,.Columns__right--float .s-content h6:before,.Columns__right--float .s-content hr:before,.Columns__right--float .s-content ol:before,.Columns__right--float .s-content p:before,.Columns__right--float .s-content ul:before{width:100%;height:10px;display:block;clear:both}.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre{float:none;display:block}.Columns__right--float .s-content blockquote dl,.Columns__right--float .s-content blockquote h2,.Columns__right--float .s-content blockquote h3,.Columns__right--float .s-content blockquote h4,.Columns__right--float .s-content blockquote h5,.Columns__right--float .s-content blockquote h6,.Columns__right--float .s-content blockquote hr,.Columns__right--float .s-content blockquote ol,.Columns__right--float .s-content blockquote ul,.Columns__right--float .s-content dl dl,.Columns__right--float .s-content dl h2,.Columns__right--float .s-content dl h3,.Columns__right--float .s-content dl h4,.Columns__right--float .s-content dl h5,.Columns__right--float .s-content dl h6,.Columns__right--float .s-content dl hr,.Columns__right--float .s-content dl ol,.Columns__right--float .s-content dl p,.Columns__right--float .s-content dl pre,.Columns__right--float .s-content dl ul,.Columns__right--float .s-content h2 dl,.Columns__right--float .s-content h2 h2,.Columns__right--float .s-content h2 h3,.Columns__right--float .s-content h2 h4,.Columns__right--float .s-content h2 h5,.Columns__right--float .s-content h2 h6,.Columns__right--float .s-content h2 hr,.Columns__right--float .s-content h2 ol,.Columns__right--float .s-content h2 p,.Columns__right--float .s-content h2 pre,.Columns__right--float .s-content h2 ul,.Columns__right--float .s-content h3 dl,.Columns__right--float .s-content h3 h2,.Columns__right--float .s-content h3 h3,.Columns__right--float .s-content h3 h4,.Columns__right--float .s-content h3 h5,.Columns__right--float .s-content h3 h6,.Columns__right--float .s-content h3 hr,.Columns__right--float .s-content h3 ol,.Columns__right--float .s-content h3 p,.Columns__right--float .s-content h3 pre,.Columns__right--float .s-content h3 ul,.Columns__right--float .s-content h4 dl,.Columns__right--float .s-content h4 h2,.Columns__right--float .s-content h4 h3,.Columns__right--float .s-content h4 h4,.Columns__right--float .s-content h4 h5,.Columns__right--float .s-content h4 h6,.Columns__right--float .s-content h4 hr,.Columns__right--float .s-content h4 ol,.Columns__right--float .s-content h4 p,.Columns__right--float .s-content h4 pre,.Columns__right--float .s-content h4 ul,.Columns__right--float .s-content h5 dl,.Columns__right--float .s-content h5 h2,.Columns__right--float .s-content h5 h3,.Columns__right--float .s-content h5 h4,.Columns__right--float .s-content h5 h5,.Columns__right--float .s-content h5 h6,.Columns__right--float .s-content h5 hr,.Columns__right--float .s-content h5 ol,.Columns__right--float .s-content h5 p,.Columns__right--float .s-content h5 pre,.Columns__right--float .s-content h5 ul,.Columns__right--float .s-content h6 dl,.Columns__right--float .s-content h6 h2,.Columns__right--float .s-content h6 h3,.Columns__right--float .s-content h6 h4,.Columns__right--float .s-content h6 h5,.Columns__right--float .s-content h6 h6,.Columns__right--float .s-content h6 hr,.Columns__right--float .s-content h6 ol,.Columns__right--float .s-content h6 p,.Columns__right--float .s-content h6 pre,.Columns__right--float .s-content h6 ul,.Columns__right--float .s-content hr dl,.Columns__right--float .s-content hr h2,.Columns__right--float .s-content hr h3,.Columns__right--float .s-content hr h4,.Columns__right--float .s-content hr h5,.Columns__right--float .s-content hr h6,.Columns__right--float .s-content hr hr,.Columns__right--float .s-content hr ol,.Columns__right--float .s-content hr p,.Columns__right--float .s-content hr pre,.Columns__right--float .s-content hr ul,.Columns__right--float .s-content ol dl,.Columns__right--float .s-content ol h2,.Columns__right--float .s-content ol h3,.Columns__right--float .s-content ol h4,.Columns__right--float .s-content ol h5,.Columns__right--float .s-content ol h6,.Columns__right--float .s-content ol hr,.Columns__right--float .s-content ol ol,.Columns__right--float .s-content ol p,.Columns__right--float .s-content ol pre,.Columns__right--float .s-content ol ul,.Columns__right--float .s-content p dl,.Columns__right--float .s-content p h2,.Columns__right--float .s-content p h3,.Columns__right--float .s-content p h4,.Columns__right--float .s-content p h5,.Columns__right--float .s-content p h6,.Columns__right--float .s-content p hr,.Columns__right--float .s-content p ol,.Columns__right--float .s-content p p,.Columns__right--float .s-content p pre,.Columns__right--float .s-content p ul,.Columns__right--float .s-content ul dl,.Columns__right--float .s-content ul h2,.Columns__right--float .s-content ul h3,.Columns__right--float .s-content ul h4,.Columns__right--float .s-content ul h5,.Columns__right--float .s-content ul h6,.Columns__right--float .s-content ul hr,.Columns__right--float .s-content ul ol,.Columns__right--float .s-content ul p,.Columns__right--float .s-content ul pre,.Columns__right--float .s-content ul ul{width:auto;float:none;display:block}.Columns__right--float .s-content hr{border-color:#ddd}.Columns__right--float .s-content blockquote p,.Columns__right--float .s-content blockquote pre,.Columns__right--float .s-content li p,.Columns__right--float .s-content li pre{width:100%}.Columns__right--float .s-content pre{float:left;clear:right;width:50%;border:0;border-left:10px solid #fff;margin:0 0 10px;padding:0}.Columns__right--float .s-content pre code{padding:0 .5em}}a{text-decoration:none;color:#82becd}a.Link--external:after{content:" " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=)}a.Link--broken{color:red}p{margin:0 0 1em}hr{clear:both;margin:1em 0;border:0;border-top:1px solid #ddd}.Button{display:inline-block;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;border-radius:4px}.Button--small{font-size:12px;line-height:1.5;border-radius:3px}.Button--default{color:#333;background-color:#fff;border-color:#ccc}.Button--default.Button--active{color:#333;background-color:#e6e6e6;border-color:#adadad}.ButtonGroup{position:relative;display:inline-block;vertical-align:middle}.ButtonGroup .Button+.Button{margin-left:-1px}.ButtonGroup>.Button{position:relative;float:left}.ButtonGroup>.Button:focus,.ButtonGroup>.Button:hover{z-index:2}.ButtonGroup>.Button.Button--active,.ButtonGroup>.Button:active{z-index:3}.ButtonGroup>.Button:not(:first-child):not(:last-child){border-radius:0}.ButtonGroup>.Button:first-child{margin-left:0}.ButtonGroup>.Button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.ButtonGroup>.Button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.Brand,.Navbar{background-color:#3f4657}.Brand{display:block;padding:.75em .6em;font-size:17.5px;font-size:1.25rem;text-shadow:none;font-family:"Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:700;color:#82becd}.Navbar{height:50px;-webkit-box-shadow:0 1px 5px rgba(0,0,0,.25);box-shadow:0 1px 5px rgba(0,0,0,.25);margin-bottom:0}.Navbar .Brand{float:left;line-height:20px;height:50px}.CodeToggler{padding:0 20px}.CodeToggler__text{font-size:12px;line-height:1.5;padding:6px 10px 6px 0;display:inline-block;vertical-align:middle}.Nav,.Page__header h1{margin:0;padding:0}.Nav__arrow{display:inline-block;position:relative;width:16px;margin-left:-16px}.Nav__arrow:before{position:absolute;display:block;content:"";margin:-.25em 0 0 -.4em;left:50%;top:50%;width:.5em;height:.5em;border-right:.15em solid #3f4657;border-top:.15em solid #3f4657;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s}.Nav__item,.Nav__item a{display:block}.Nav__item a{margin:0;padding:6px 15px 6px 20px;font-family:"Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:400;text-shadow:none}.Nav__item a:hover{color:#3f4657;text-shadow:none}.Nav .Nav{display:none;margin-left:15px}.Nav .Nav .Nav__item a{margin:0 0 0 -15px;padding:3px 30px;font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;color:#222;opacity:.7}.Nav .Nav .Nav__item a:hover{opacity:1}.Nav .Nav .Nav__item--active a,.Nav__item a{color:#3f4657}.Nav__item a:hover,.Nav__item--active>a,.Nav__item--open>a{background-color:#c5c5cb}.Nav__item--open>.Nav{display:block}.Nav__item--open>a>.Nav__arrow:before{margin-left:-.25em;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.Page__header{margin:0 0 10px;padding:0;border-bottom:1px solid #eee}.Page__header:after,.Page__header:before{content:" ";display:table}.Page__header:after{clear:both}.Page__header h1{line-height:57px}.Page__header--separator{height:.6em}.Page__header a,ul.TableOfContents a{text-decoration:none}.Page__header .EditOn,.Page__header .ModifiedDate{float:left;font-size:10px;color:gray}.Page__header .EditOn{float:right}.Links,.PoweredBy,.Twitter{padding:0 20px}.Links a{font-family:"Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:400;color:#3f4657;line-height:2em}.PoweredBy{font-size:10.5px;font-size:.75rem}.Search{position:relative}.Search__field{display:block;width:100%;height:34px;padding:6px 30px 6px 20px;color:#555;border-width:0 0 1px;border-bottom:1px solid #ccc;background:#fff;-webkit-transition:border-color ease-in-out .15s;-o-transition:border-color ease-in-out .15s;transition:border-color ease-in-out .15s}.Search__field:focus{border-color:#82becd;outline:0}.Search__icon{position:absolute;right:9px;top:9px;width:16px;height:16px}.Navbar .Search{float:right;margin:8px 20px}.Navbar .Search__field{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);border-width:0;border-radius:4px;padding-left:10px}.TableOfContentsContainer__title{border-bottom:4px solid #efefef;margin-bottom:0!important}.TableOfContentsContainer__content>.TableOfContents{margin-top:0}ul.TableOfContents{float:none;font-size:16px;padding-left:1.5em;border-left:6px solid #efefef}ul.TableOfContents p{margin-bottom:0}ul.TableOfContents .TableOfContents{border-left-width:0}.Columns__right--full .TableOfContentsContainer{float:right;min-width:300px;max-width:25%;padding-left:1em}.Columns__right--full .TableOfContentsContainer .TableOfContentsContainer__content>.TableOfContents{border-right:2px solid #efefef}.Columns__right--full .TableOfContentsContainer .TableOfContents{list-style-type:none;padding-left:0}.Columns__right--full .TableOfContentsContainer a{display:block;border-bottom:1px solid #ddd;padding:.2em 0}.Columns__right--full .TableOfContentsContainer li a{padding-left:.75em}.Columns__right--full .TableOfContentsContainer li li a{padding-left:1.5em}.Columns__right--full .TableOfContentsContainer li li li a{padding-left:2.25em}.Columns__right--full .TableOfContentsContainer li li li li a{padding-left:3em}.Pager{padding-left:0;margin:1em 0;list-style:none;text-align:center}.Pager:after,.Pager:before{content:" ";display:table}.Pager,.Pager:after{clear:both}.Pager li{display:inline}.Pager li>a{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.Pager li>a:focus,.Pager li>a:hover{text-decoration:none;background-color:#eee}.Pager--next>a{float:right}.Pager--prev>a{float:left}.Checkbox{position:relative;display:block;padding-left:30px;cursor:pointer}.Checkbox input{position:absolute;z-index:-1;opacity:0}.Checkbox__indicator{position:absolute;top:50%;left:0;width:20px;height:20px;margin-top:-10px;background:#e6e6e6}.Checkbox__indicator:after{position:absolute;display:none;content:""}.Checkbox input:focus~.Checkbox__indicator,.Checkbox:hover input~.Checkbox__indicator{background:#ccc}.Checkbox input:checked~.Checkbox__indicator{background:#3f4657}.Checkbox input:checked~.Checkbox__indicator:after{display:block}.Checkbox input:checked:focus~.Checkbox__indicator,.Checkbox:hover input:not([disabled]):checked~.Checkbox__indicator{background:#82becd}.Checkbox input:disabled~.Checkbox__indicator{pointer-events:none;opacity:.6;background:#e6e6e6}.Checkbox .Checkbox__indicator:after{top:4px;left:8px;width:5px;height:10px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border:solid #fff;border-width:0 2px 2px 0}.Checkbox input:disabled~.Checkbox__indicator:after{border-color:#7b7b7b}.Collapsible__content{padding-bottom:14px;padding-bottom:1rem}.Hidden{display:none}.Container{margin-right:auto;margin-left:auto}.Container--inner{width:80%;margin:0 auto}@media (min-width:1200px){.Container{width:1170px}}@media (min-width:992px){.Container{width:970px}}@media (min-width:769px){.Container{width:750px}}@media (min-width:1200px){.Container{width:1170px}}.Homepage{padding-top:60px!important;background-color:#82becd;border-radius:0;border:0;color:#3f4657;overflow:hidden;padding-bottom:0;margin-bottom:0;-webkit-box-shadow:none;box-shadow:none}.HomepageTitle h2{width:80%;font-size:30px;margin:20px auto;text-align:center}.HomepageImage img{display:block;max-width:80%;margin:0 auto;height:auto}.HomepageButtons{padding:20px 0;background-color:#c5c5cb;text-align:center}.HomepageButtons:after,.HomepageButtons:before{content:" ";display:table}.HomepageButtons:after{clear:both}.HomepageButtons .Button--hero{padding:20px 30px;border-radius:0;text-shadow:none;opacity:.8;margin:0 10px;text-transform:uppercase;border:5px solid #3f4657;font-family:"Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;font-weight:700;background-image:none;-webkit-filter:none;filter:none;-webkit-box-shadow:none;box-shadow:none}@media (max-width:768px){.HomepageButtons .Button--hero{display:block;margin-bottom:10px}}.HomepageButtons .Button--hero:hover{opacity:1}.HomepageButtons .Button--hero.Button--secondary{background-color:#c5c5cb;color:#3f4657}.HomepageButtons .Button--hero.Button--primary{background-color:#3f4657;color:#f7f7f7}.HomepageContent{background-color:#fff;padding:40px 0}.HomepageContent ol li,.HomepageContent ul li{list-style:none;margin-bottom:.5em;position:relative}.HomepageContent ol li:before,.HomepageContent ul li:before{position:absolute;top:50%;left:-1.5em;content:"";width:0;height:0;border:.5em solid transparent;border-left:.5em solid #82becd;float:left;display:block;margin-top:-.5em}.HomepageContent .HeroText,.HomepageFooter__links li a{font-size:16px;font-family:"Roboto Slab",-apple-system,".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif}.HomepageContent .HeroText{margin-bottom:20px;font-weight:300;line-height:1.4}@media (min-width:769px){.HomepageContent{padding:40px 20px}.HomepageContent .HeroText{font-size:21px}.HomepageContent .Row{margin:0 -15px}.HomepageContent .Row__half,.HomepageContent .Row__quarter,.HomepageContent .Row__third{float:left;position:relative;min-height:1px;padding-left:15px;padding-right:15px}.HomepageContent .Row__third{width:33.333333%}.HomepageContent .Row__half{width:50%}.HomepageContent .Row__quarter{width:25%}}.HomepageFooter{background-color:#3f4657;color:#82becd;border:0;-webkit-box-shadow:none;box-shadow:none}.HomepageFooter:after,.HomepageFooter:before{content:" ";display:table}.HomepageFooter:after{clear:both}@media (max-width:768px){.HomepageFooter{padding:0 20px;text-align:center}.HomepageFooter .HomepageFooter__links{padding-left:0;list-style-type:none}}@media (min-width:769px){.HomepageFooter .HomepageFooter__links{float:left}.HomepageFooter .HomepageFooter__twitter{float:right}}.HomepageFooter__links,.HomepageFooter__twitter{margin:40px 0}.HomepageFooter__links li a{line-height:32px;font-weight:700}.HomepageFooter__links li a:hover{text-decoration:underline}.HomepageFooter .Twitter{margin-bottom:20px}.hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-comment,.hljs-quote{color:#93a1a1}.hljs-addition,.hljs-keyword,.hljs-selector-tag{color:#859900}.hljs-doctag,.hljs-literal,.hljs-meta .hljs-meta-string,.hljs-number,.hljs-regexp,.hljs-string{color:#2aa198}.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-title{color:#268bd2}.hljs-attr,.hljs-attribute,.hljs-class .hljs-title,.hljs-template-variable,.hljs-type,.hljs-variable{color:#b58900}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-subst,.hljs-symbol{color:#cb4b16}.hljs-built_in,.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700} +/*# sourceMappingURL=theme-blue.min.css.map */ diff --git a/docs/html/themes/d3/css/theme-blue.min.css.map b/docs/html/themes/d3/css/theme-blue.min.css.map new file mode 100644 index 00000000..ff53a9a0 --- /dev/null +++ b/docs/html/themes/d3/css/theme-blue.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["theme.scss","vendor/normalize.scss","_fonts.scss","_structure.scss","_mixins.scss","_typography.scss","_components.scss","","_homepage.scss","vendor/highlight.scss"],"names":[],"mappings":"AAAA;;;;GAIG;ACJH,4EAA4E;AAO5E,KACI,uBAAwB,AACxB,0BAA2B,AAC3B,6BAA+B,CAClC,AAMD,KACI,QAAU,CACb,AAWD,oFAYI,aAAe,CAClB,AAMD,4BAII,oBAAsB,CACzB,AAMD,sBACI,aAAc,AACd,QAAU,CACb,AAMD,iBACI,uBAAyB,CAC5B,AAOD,kBAEI,YAAc,CACjB,AAUD,EACI,6BAA8B,AAC9B,oCAAsC,CACzC,AAOD,iBAEI,eAAiB,CACpB,AAUD,YACI,mBAAoB,AAEpB,yCAAkC,AAAlC,sCAAkC,AAAlC,gCAAkC,CACrC,AAMD,SAWI,kBAAoB,CARvB,AAeD,IACI,iBAAmB,CACtB,AAOD,GACI,cAAe,AACf,cAAiB,CACpB,AAMD,KACI,sBAAuB,AACvB,UAAY,CACf,AAMD,MACI,aAAe,CAClB,AAOD,QAEI,cAAe,AACf,cAAe,AACf,iBAAmB,CAEtB,AAED,IACI,aAAgB,CACnB,AAED,IACI,SAAY,CACf,AASD,IACI,iBAAmB,CACtB,AAMD,eACI,eAAiB,CACpB,AAUD,kBAII,gCAAkC,AAClC,aAAe,CAClB,AAMD,OACI,eAAiB,CACpB,AAOD,GACI,+BAAwB,AAAxB,4BAAwB,AAAxB,uBAAwB,AACxB,QAAU,CAEb,AAUD,6BAII,aAAc,AACd,QAAU,CACb,AAMD,SACI,eAAkB,CACrB,AAOD,gBAEI,gBAAkB,CACrB,AAOD,cAEI,mBAAqB,CACxB,AAQD,qDAII,yBAA2B,CAC9B,AAMD,wHAII,kBAAmB,AACnB,SAAW,CACd,AAMD,4GAII,6BAA+B,CAClC,AAMD,SACI,wBAA0B,AAC1B,aAAc,AACd,0BAA+B,CAClC,AASD,OAEI,cAAe,AACf,cAAe,AACf,eAAgB,AAEhB,kBAAoB,CACvB,AAMD,SACI,aAAe,CAClB,AAOD,oCAEI,8BAAuB,AAAvB,2BAAuB,AAAvB,sBAAuB,AACvB,SAAW,CACd,AAMD,kFAEI,WAAa,CAChB,AAOD,cACI,6BAA8B,AAC9B,mBAAqB,CACxB,AAMD,qFAEI,uBAAyB,CAC5B,AAMD,4BACI,cAAe,AACf,WAAc,CACjB,AAOD,6BACI,0BAA2B,AAC3B,YAAc,CACjB;ACnZD,gEAAgE;AAEhE,WACI,0BAA2B,AAC3B,kBAAmB,AACnB,gBAAiB,AACjB,uCAA0C,AAC1C,0SAKwE,AACxE,yGAAqH,CACxH,AAED,WACI,0BAA2B,AAC3B,kBAAmB,AACnB,gBAAiB,AACjB,yCAA4C,AAC5C,sTAK4E,AAC5E,yGAAqH,CACxH,AAED,WACI,0BAA2B,AAC3B,kBAAmB,AACnB,gBAAiB,AACjB,sCAAyC,AACzC,oSAKsE,AACtE,yGAAqH,CACxH,ACxDD,iBACI,8BAAuB,AAAvB,2BAAuB,AAAvB,qBAAuB,CAC1B,AAED,KACI,SAAU,AACV,SAAW,CACd,AAMD,KACI,cAAgB,CAKnB,AAHG,yBAHJ,KAIQ,cAAgB,CAEvB,CADI,AAGL,UACI,YAAa,AACb,sBAAuB,AACvB,UAAmB,CACtB,AAGG,eACI,wBAA4C,CAC/C,AAGG,yBACI,aAAc,AACd,qBAAuB,CAC1B,AAKT,2EACI,YAAc,CACjB,AAED,sBACI,YAAa,AACb,iBAAkB,AAClB,6BAA8B,AAC9B,SAAa,AACb,YAAa,AC9Cb,sBAAuB,AACvB,oBAAa,AAAb,YAAa,AAIb,wBAAiB,AAAjB,eAAiB,CDgEpB,AAlBG,2BACI,cAAe,AACf,WAAY,AACZ,WAAY,AACZ,eAAgB,AAChB,kBAAmB,AACnB,wBAA8D,CACjE,AAED,4BACI,yBAAyE,ACxD7E,wBAAiB,AAAjB,eAAiB,CD+DhB,AAHG,uDACI,wBAAoE,CACvE,AAIT,oCACI,KAEI,wBAA4D,CAC/D,AAED,QACI,eAAgB,AAChB,aAAc,AACd,UAAY,CACf,AAGG,sBACI,sBAAyB,CAC5B,AAED,sBACI,uBAA0B,CAC7B,AAGL,SACI,WAAa,CAkChB,AAhCG,+BAEI,YAAa,AACb,aAAe,CAClB,AAED,eACI,UAAY,CACf,AAED,+BACI,kBAAmB,AACnB,eAAgB,AAChB,WAAY,AACZ,cAAe,AACf,WAAa,CAChB,AAED,eACI,UAAW,AACX,+BAA8C,AAC9C,iBAAmB,CACtB,AAED,gBACI,SAAW,CAMd,AAJG,yBACI,oBAAqB,AACrB,eAAiB,CACpB,CAGZ,AElID,KACI,gBAAiB,AAEjB,oIAAqC,AACrC,8CAAgC,AAAhC,2CAAgC,AAAhC,sCAAgC,AAChC,4BAAqB,AAArB,oBAAqB,AACrB,mCAAoC,AACpC,iCAAmC,CACtC,AAED,kBACI,kJAAwC,AACxC,eAAiB,CACpB,AAGG,oFACI,YAAa,AACb,kBAAmB,AACnB,iBAAoB,CAavB,AAXG,wNACI,iBAAmB,CACtB,AAED,gGACI,cAAiB,CACpB,AAED,gGACI,YAAc,CACjB,AAGL,cACI,aAAc,AACd,mBAA8B,AAA9B,kBAA8B,CACjC,AAED,cACI,iBAA8B,AAA9B,iBAA8B,CACjC,AAED,cACI,eAA8B,AAA9B,cAA8B,CACjC,AAED,2DACI,iBAA8B,AAA9B,gBAA8B,CACjC,AAUD,aACI,yBAA2B,CAC9B,AAMD,aACI,mBAAqB,CACxB,AAED,4BACI,gBAAkB,CACrB,AAED,iCACI,QAAU,CACb,AAMD,cACI,SAAW,CAiBd,AAfG,iBACI,gBAAkB,AAClB,kBAAmB,AACnB,UAAW,AACX,iBAAmB,CACtB,AAED,6BACI,SAAW,CACd,AAED,iBACI,gBAAiB,AACjB,cAAgB,CACnB,AAGL,sBACI,iBAAmB,AACnB,iBAAmB,AACnB,kBAAmB,AACnB,+BAAyD,CAU5D,AARG,2BACI,iBAAmB,CACtB,AAED,kCACI,gBAAiB,AACjB,kBAAqB,CACxB,AAGL,iBACI,WAAY,AACZ,UAAW,AACX,kBAAmB,AACnB,yBAA0B,AAE1B,iBAA8B,AAA9B,gBAA8B,CA8BjC,AA5BG,uBACI,cAAgB,CACnB,AAED,oBACI,0BAA2B,AAC3B,sBAAwB,AACxB,SAAU,AACV,SAAW,CACd,AAED,kCACI,wBAAuC,CAC1C,AAED,oBACI,gBAAkB,AAClB,yBAAoC,AACpC,mBAAgC,AAChC,SAAU,AACV,YAAe,CAClB,AAED,oBACI,yBAAsC,AACtC,SAAU,AACV,YAAe,CAClB,AAUD,uNACI,YAAc,CACjB,AAED,gNACI,eAAiB,CACpB,AAGL,eACI,eAAgB,AAChB,cAAe,AACf,aAAe,CAClB,AAED,gBACI,2EAA0C,AAC1C,kBAAoB,AAApB,kBAAoB,AACpB,qBAAuB,AAAvB,qBAAuB,AACvB,mBAA6C,AAC7C,yBAAoC,AACpC,kBAA6C,AAC7C,8CAAuC,AAAvC,qCAAuC,CAO1C,AALG,6CAEI,qBAAuB,AACvB,eAAiB,CACpB,AAGL,eACI,mBAAoB,AACpB,cAAe,AACf,kBAAmB,AACnB,cAAe,AACf,SAAa,AACb,gBAAiB,AACjB,kBAAoB,AACpB,mBAA2B,CAkB9B,AAhBG,oBACI,SAAU,AACV,UAAW,AACX,gBAAiB,AACjB,wBAAiB,AAAjB,eAAiB,CACpB,AAOD,sCACI,6BAA8B,AAC9B,QAAa,CAChB,AAGL,4BAEI,qBAAsB,AACtB,4BAAqC,CAKxC,AAHG,iDACI,aAAe,CAClB,AAST,0BACI,gDACI,YAAa,AACb,cAAe,AACf,oBAAsB,AACtB,uCAAyC,AACzC,iBAAmB,CAqBtB,AAnBG,wDACI,WAAY,AACZ,gBAAiB,AACjB,cAAe,AACf,kBAAmB,AACnB,SAAW,CACd,AAED,+DACI,WAAY,AACZ,UAAW,AACX,gBAAiB,AACjB,cAAe,AACf,sBAAwB,AACxB,cAAe,AACf,SAAU,AACV,kBAAmB,AACnB,UAAY,CACf,AAID,ygBAcI,WAAY,AACZ,WAAY,AACZ,UAAW,AACX,iBAAkB,AAClB,iBAAmB,CACtB,AAID,wCACI,sBAAwB,AACxB,kBAAoB,CAKvB,AAHG,yFACI,kBAAoB,CACvB,AAID,2eACI,WAAY,AACZ,YAAa,AACb,cAAe,AACf,UAAY,CACf,AAED,gGAEI,WAAY,AACZ,aAAe,CAClB,AAJD,qtJACI,WAAY,AACZ,WAAY,AACZ,aAAe,CAClB,AAGL,qCACI,iBAAmB,CACtB,AAKG,gLACI,UAAY,CACf,AAGL,sCACI,WAAY,AACZ,YAAa,AACb,UAAW,AACX,SAAa,AACb,4BAA8B,AAC9B,gBAAiB,AACjB,SAAW,CAKd,AAHG,2CACI,cAAiB,CACpB,CAGZ,ACtVD,EACI,qBAAsB,AACtB,aAAyB,CAS5B,AAPG,uBACI,uOAAyO,CAC5O,AAED,eACI,SAAW,CACd,AAGL,EACI,cAAgB,CACnB,AAED,GACI,WAAY,AACZ,aAAc,AACd,SAAU,AACV,yBAA2B,CAC9B,AAMD,QACI,qBAAsB,AACtB,kBAAmB,AACnB,sBAAuB,AACvB,8BAA2B,AAA3B,0BAA2B,AAC3B,eAAgB,AAChB,sBAAuB,AACvB,6BAA8B,AAC9B,mBAAoB,AACpB,iBAAmB,CAmBtB,AAjBG,eACI,eAAgB,AAChB,gBAAiB,AACjB,iBAAmB,CACtB,AAED,iBACI,WAAY,AACZ,sBAAuB,AACvB,iBAAmB,CAOtB,AALG,gCACI,WAAY,AACZ,yBAA0B,AAC1B,oBAAsB,CACzB,AAIT,aACI,kBAAmB,AACnB,qBAAsB,AACtB,qBAAuB,CA0C1B,AAxCG,6BACI,gBAAkB,CACrB,AAED,qBACI,kBAAmB,AACnB,UAAY,CAiCf,AA9BG,sDAEI,SAAW,CACd,AAED,gEAEI,SAAW,CACd,AAED,wDACI,eAAiB,CACpB,AAKD,iCACI,aAAe,CAClB,AAED,kDACI,6BAA8B,AAC9B,yBAA2B,CAC9B,AAED,kDACI,4BAA6B,AAC7B,wBAA0B,CAC7B,ACzGT,eD2HI,wBAAoD,CC3HxD,AD6GA,OACI,cAAe,AAEf,mBAAsB,AACtB,iBAA8B,AAA9B,kBAA8B,AAC9B,iBAAkB,AAClB,kJAAwC,AACxC,gBAAiB,AACjB,aAA0B,CAC7B,AAED,QACI,YAAa,AACb,6CAA0C,AAA1C,qCAA0C,AAE1C,eAAiB,CAOpB,AALG,eACI,WAAY,AACZ,iBAAkB,AAClB,WAAa,CAChB,AAGL,aACI,cAAgB,CASnB,AAPG,mBACI,eAAgB,AAChB,gBAAiB,AACjB,uBAAwB,AACxB,qBAAsB,AACtB,qBAAuB,CAC1B,AAIL,sBACI,SAAU,AACV,SAAW,CA2Cd,AAzCG,YACI,qBAAsB,AACtB,kBAAmB,AACnB,WAAY,AACZ,iBAAmB,CAgBtB,AAdG,mBACI,kBAAmB,AACnB,cAAe,AACf,WAAY,AACZ,wBAA2B,AAC3B,SAAU,AACV,QAAS,AACT,WAAa,AACb,YAAc,AACd,iCAA2D,AAC3D,+BAAyD,AACzD,gCAAyB,AAAzB,4BAAyB,AAAzB,wBAAyB,AACzB,gCAA0B,AAA1B,2BAA0B,AAA1B,uBAA0B,CAC7B,AAGL,wBACI,aAAe,CAiBlB,AAfG,aAEI,SAAU,AACV,0BAA2B,AAC3B,kJAAwC,AACxC,gBAAiB,AAEjB,gBAAkB,CACrB,AAED,mBACI,cAAiC,AACjC,gBAAkB,CAErB,AAIT,UACI,aAAc,AACd,gBAAkB,CAkBrB,AAhBG,uBAEI,mBAAmB,AACnB,iBAAkB,AAClB,oIAAqC,AACrC,WAA2C,AAC3C,UAAa,CAKhB,AAHG,6BACI,SAAW,CACd,AAGL,4CACI,aAAiC,CACpC,AAMG,2DACI,wBAAwD,CAC3D,AAID,sBACI,aAAe,CAClB,AAED,sCACI,mBAAqB,AACrB,iCAA0B,AAA1B,6BAA0B,AAA1B,wBAA0B,CAC7B,AAIT,cACI,gBAAiB,AACjB,UAAW,AACX,4BAA8B,CA6BjC,AFjPG,yCAEI,YAAa,AACb,aAAe,CAClB,AAED,oBACI,UAAY,CACf,AEgND,iBAGI,gBAAkB,CACrB,AAED,yBACI,WAAc,CACjB,AAED,qCACI,oBAAsB,CACzB,AAED,kDACI,WAAY,AACZ,eAAgB,AAChB,UAAY,CACf,AAED,sBACI,WAAa,CAGhB,AAGL,2BACI,cAAgB,CAQnB,AANG,SACI,kJAAwC,AACxC,gBAAiB,AACjB,cAAiC,AACjC,eAAiB,CACpB,AAOL,WAEI,iBAA8B,AAA9B,gBAA8B,CACjC,AAED,QACI,iBAAmB,CA0BtB,AAxBG,eACI,cAAe,AACf,WAAY,AACZ,YAAa,AACb,0BAA2B,AAC3B,WAAiC,AACjC,qBAAsB,AACtB,6BAA0D,AAC1D,gBAA2C,AAC3C,iDAA2C,AAA3C,4CAA2C,AAA3C,wCAA2C,CAM9C,AAJG,qBACI,qBAAqD,AACrD,SAAW,CACd,AAGL,cACI,kBAAmB,AACnB,UAAW,AACX,QAAS,AACT,WAAY,AACZ,WAAa,CAChB,AAGL,gBACI,YAAa,AACb,eAAiB,CAQpB,AANG,uBACI,oDAAiD,AAAjD,4CAAiD,AACjD,eAAgB,AAChB,kBAAmB,AACnB,iBAAmB,CACtB,AAID,iCACI,gCAAiC,AACjC,yBAA4B,CAC/B,AAED,oDACI,YAAc,CACjB,AAGL,mBACI,WAAY,AACZ,eAAgB,AAChB,mBAAoB,AACpB,6BAA+B,CAalC,AAXG,qBACI,eAAiB,CACpB,AAMD,oCACI,mBAAqB,CACxB,AAGL,gDACI,YAAa,AACb,gBAAiB,AACjB,cAAe,AACf,gBAAkB,CAgCrB,AA9BG,oGACI,8BAAgC,CACnC,AAED,iEACI,qBAAsB,AACtB,cAAgB,CACnB,AAED,kDACI,cAAe,AACf,6BAA8B,AAC9B,cAAiB,CACpB,AAED,qDACI,kBAAqB,CACxB,AAED,wDACI,kBAAoB,CACvB,AAED,2DACI,mBAAqB,CACxB,AAED,8DACI,gBAAkB,CACrB,AAGL,OACI,eAAgB,AAChB,aAAc,AACd,gBAAiB,AACjB,iBAAmB,CA8BtB,AFtZG,2BAEI,YAAa,AACb,aAAe,CAClB,AAED,oBACI,UAAY,CACf,AEqXD,UACI,cAAgB,CAenB,AAbG,YACI,qBAAsB,AACtB,iBAAkB,AAClB,sBAAuB,AACvB,sBAAuB,AACvB,kBAAoB,CACvB,AAED,oCAEI,qBAAsB,AACtB,qBAAuB,CAC1B,AAGL,eACI,WAAa,CAChB,AAED,eACI,UAAY,CACf,AAGL,UACI,kBAAmB,AACnB,cAAe,AACf,kBAAmB,AACnB,cAAgB,CAOnB,AALG,gBACI,kBAAmB,AACnB,WAAY,AACZ,SAAW,CACd,AAGL,qBACI,kBAAmB,AACnB,QAAS,AACT,OAAQ,AACR,WAAY,AACZ,YAAa,AACb,iBAAkB,AAClB,kBAAuC,CAoD1C,AAjDG,2BACI,kBAAmB,AACnB,aAAc,AACd,UAAY,CACf,AAGD,sFAEI,eAA6C,CAChD,AAGD,6CACI,kBAA+C,CAMlD,AAHG,mDACI,aAAe,CAClB,AAIL,sHACI,kBAAqD,CACxD,AAGD,8CACI,oBAAqB,AACrB,WAAa,AACb,kBAAgD,CACnD,AAGD,qCACI,QAAS,AACT,SAAU,AACV,UAAW,AACX,YAAa,AACb,gCAAyB,AAAzB,4BAAyB,AAAzB,wBAAyB,AACzB,kBAAyC,AACzC,wBAA0B,CAC7B,AAGD,oDACI,oBAAkD,CACrD,AAGL,sBACI,oBAAqB,AAArB,mBAAqB,CACxB,AAED,QACI,YAAc,CACjB,AE9fD,WACI,kBAAmB,AACnB,gBAAkB,CAMrB,AAJG,kBACI,UAAW,AACX,aAAe,CAClB,AAGL,0BACI,WACI,YAAc,CACjB,CACJ,AAED,yBACI,WACI,WAAa,CAChB,CACJ,AAED,yBACI,WACI,WAAa,CAChB,CACJ,AAED,0BACI,WACI,YAAc,CACjB,CACJ,AAED,UACI,2BAA6B,AAC7B,yBAAkD,AAClD,gBAAiB,AACjB,SAAa,AACb,cAAkC,AAClC,gBAAiB,AACjB,iBAAkB,AAClB,gBAAiB,AJpCjB,wBAAiB,AAAjB,eAAiB,CIuCpB,AAGG,kBACI,UAAW,AACX,eAAgB,AAChB,iBAAkB,AAClB,iBAAmB,CACtB,AAID,mBACI,cAAe,AACf,cAAe,AACf,cAAe,AACf,WAAa,CAChB,AAGL,iBACI,eAAgB,AAChB,yBAAsD,AACtD,iBAAmB,CAqCtB,AJnFG,+CAEI,YAAa,AACb,aAAe,CAClB,AAED,uBACI,UAAY,CACf,AI0CD,+BACI,kBAAmB,AACnB,gBAAiB,AACjB,iBAAkB,AAClB,WAAa,AACb,cAAe,AACf,yBAA0B,AAC1B,yBAAkD,AAClD,kJAAwC,AACxC,gBAAiB,AJhFrB,sBAAuB,AACvB,oBAAa,AAAb,YAAa,AAIb,wBAAiB,AAAjB,eAAiB,CIkGhB,AAlBG,yBAdJ,+BAeQ,cAAe,AACf,kBAAoB,CAgB3B,CAfI,AAED,qCACI,SAAW,CACd,AAED,iDACI,yBAA0D,AAC1D,aAA0C,CAC7C,AAED,+CACI,yBAAwD,AACxD,aAAwC,CAC3C,AAIT,iBACI,sBAAwB,AACxB,cAAgB,CA+DnB,AA5DO,8CACI,gBAAiB,AACjB,mBAAqB,AACrB,iBAAmB,CACtB,AAED,4DACI,kBAAmB,AACnB,QAAS,AACT,YAAa,AACb,WAAY,AACZ,QAAS,AACT,SAAU,AACV,8BAAgC,AAChC,+BAAsD,AACtD,WAAY,AACZ,cAAe,AACf,gBAAmB,CACtB,ADtIT,uDCmNY,eAAgB,AAChB,iJAAwC,CDpNpD,ACyII,2BAII,mBAAoB,AAFpB,gBAAiB,AAGjB,eAAiB,CACpB,AAED,yBAlCJ,iBAmCQ,iBAAmB,CA8B1B,AA5BO,2BACI,cAAgB,CACnB,AAED,sBACI,cAAgB,CACnB,AAED,wFACI,WAAY,AACZ,kBAAmB,AACnB,eAAgB,AAChB,kBAAmB,AACnB,kBAAoB,CACvB,AAED,6BACI,gBAAkB,CACrB,AAED,4BACI,SAAW,CACd,AAED,+BACI,SAAW,CACd,CACJ,AAGL,gBACI,yBAAoD,AACpD,cAAoC,AACpC,SAAa,AJ3Kb,wBAAiB,AAAjB,eAAiB,CI0NpB,AJ1MG,6CAEI,YAAa,AACb,aAAe,CAClB,AAED,sBACI,UAAY,CACf,AIwJD,yBARJ,gBASQ,eAAgB,AAChB,iBAAmB,CAwC1B,AAtCO,uCACI,eAAgB,AAChB,oBAAsB,CACzB,CACJ,AAED,yBACI,uCACI,UAAY,CACf,AAED,yCACI,WAAa,CAChB,CACJ,AAED,gDACI,aAAe,CAYlB,AAVG,4BACI,iBAAkB,AAGlB,eAAiB,CACpB,AAED,kCACI,yBAA2B,CAC9B,AAOL,yBACI,kBAAoB,CACvB,ACzNL,MACI,cAAe,AACf,gBAAiB,AACjB,aAAe,AACf,mBAAoB,AACpB,aAAe,CAClB,AAED,0BAEI,aAAe,CAClB,AAGD,gDAGI,aAAe,CAClB,AAGD,+FAMI,aAAe,CAClB,AAGD,4EAKI,aAAe,CAClB,AAGD,qGAMI,aAAe,CAClB,AAGD,+HAQI,aAAe,CAClB,AAGD,8BAEI,aAAe,CAClB,AAED,cACI,kBAAoB,CACvB,AAED,eACI,iBAAmB,CACtB,AAED,aACI,eAAkB,CACrB","file":"theme-blue.min.css","sourcesContent":["/*!\n * DAUX.IO\n * https://dauxio.github.io/\n * MIT License\n */\n\n// Daux Style\n@import \"vendor/normalize.scss\";\n@import \"_fonts.scss\";\n@import \"_variables.scss\";\n@import \"_mixins.scss\";\n\n// Layout\n@import \"_structure.scss\";\n\n// Content presentation\n@import \"_typography.scss\";\n@import \"_components.scss\";\n@import \"_homepage.scss\";\n@import \"vendor/highlight.scss\";\n\n@media print {\n @import \"_print.scss\";\n}\n","/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Change the default font family in all browsers (opinionated).\n * 2. Prevent adjustments of font size after orientation changes in IE and iOS.\n */\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove the margin in all browsers (opinionated).\n */\n\nbody {\n margin: 0;\n}\n\n/* HTML5 display definitions\n ========================================================================== */\n\n/**\n * Add the correct display in IE 9-.\n * 1. Add the correct display in Edge, IE, and Firefox.\n * 2. Add the correct display in IE.\n */\n\narticle,\naside,\ndetails, /* 1 */\nfigcaption,\nfigure,\nfooter,\nheader,\nmain, /* 2 */\nmenu,\nnav,\nsection,\nsummary { /* 1 */\n display: block;\n}\n\n/**\n * Add the correct display in IE 9-.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n}\n\n/**\n * Add the correct display in iOS 4-7.\n */\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Add the correct display in IE 10-.\n * 1. Add the correct display in IE.\n */\n\ntemplate, /* 1 */\n[hidden] {\n display: none;\n}\n\n/* Links\n ========================================================================== */\n\n/**\n * 1. Remove the gray background on active links in IE 10.\n * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.\n */\n\na {\n background-color: transparent; /* 1 */\n -webkit-text-decoration-skip: objects; /* 2 */\n}\n\n/**\n * Remove the outline on focused links when they are also active or hovered\n * in all browsers (opinionated).\n */\n\na:active,\na:hover {\n outline-width: 0;\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * 1. Remove the bottom border in Firefox 39-.\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Prevent the duplicate application of `bolder` by the next rule in Safari 6.\n */\n\nb,\nstrong {\n font-weight: inherit;\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * Add the correct font style in Android 4.3-.\n */\n\ndfn {\n font-style: italic;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/**\n * Add the correct background and color in IE 9-.\n */\n\nmark {\n background-color: #ff0;\n color: #000;\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10-.\n */\n\nimg {\n border-style: none;\n}\n\n/**\n * Hide the overflow in IE.\n */\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct margin in IE 8.\n */\n\nfigure {\n margin: 1em 40px;\n}\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change font properties to `inherit` in all browsers (opinionated).\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\nselect,\ntextarea {\n font: inherit; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Restore the font weight unset by the previous rule.\n */\n\noptgroup {\n font-weight: bold;\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n * controls in Android 4.\n * 2. Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\nhtml [type=\"button\"], /* 1 */\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; /* 2 */\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Change the border, margin, and padding in all browsers (opinionated).\n */\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Remove the default vertical scrollbar in IE.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10-.\n * 2. Remove the padding in IE 10-.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.\n */\n\n[type=\"search\"]::-webkit-search-cancel-button,\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * Correct the text style of placeholders in Chrome, Edge, and Safari.\n */\n\n::-webkit-input-placeholder {\n color: inherit;\n opacity: 0.54;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n","\n:root {\n --font-family-text: -apple-system,\n \".SFNSText-Regular\",\n \"San Francisco\",\n \"Roboto\",\n \"Segoe UI\",\n \"Helvetica Neue\",\n \"Lucida Grande\",\n Arial,\n sans-serif;\n --font-family-monospace: Monaco, Menlo, Consolas, \"Lucida Console\", \"Courier New\", monospace;\n --font-family-heading: \"Roboto Slab\", var(--font-family-text);\n}\n\n/*! Generated by Font Squirrel (https://www.fontsquirrel.com) */\n\n@font-face {\n font-family: \"Roboto Slab\";\n font-style: normal;\n font-weight: 300;\n src: url(\"../fonts/robotoslab-light.eot\");\n src:\n url(\"../fonts/robotoslab-light.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"../fonts/robotoslab-light.woff2\") format(\"woff2\"),\n url(\"../fonts/robotoslab-light.woff\") format(\"woff\"),\n url(\"../fonts/robotoslab-light.ttf\") format(\"truetype\"),\n url(\"../fonts/robotoslab-light.svg#roboto_slablight\") format(\"svg\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;\n}\n\n@font-face {\n font-family: \"Roboto Slab\";\n font-style: normal;\n font-weight: 400;\n src: url(\"../fonts/robotoslab-regular.eot\");\n src:\n url(\"../fonts/robotoslab-regular.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"../fonts/robotoslab-regular.woff2\") format(\"woff2\"),\n url(\"../fonts/robotoslab-regular.woff\") format(\"woff\"),\n url(\"../fonts/robotoslab-regular.ttf\") format(\"truetype\"),\n url(\"../fonts/robotoslab-regular.svg#roboto_slabregular\") format(\"svg\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;\n}\n\n@font-face {\n font-family: \"Roboto Slab\";\n font-style: normal;\n font-weight: 700;\n src: url(\"../fonts/robotoslab-bold.eot\");\n src:\n url(\"../fonts/robotoslab-bold.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"../fonts/robotoslab-bold.woff2\") format(\"woff2\"),\n url(\"../fonts/robotoslab-bold.woff\") format(\"woff\"),\n url(\"../fonts/robotoslab-bold.ttf\") format(\"truetype\"),\n url(\"../fonts/robotoslab-bold.svg#roboto_slabbold\") format(\"svg\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215;\n}\n","\n*, *:after, *:before {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n padding: 0;\n}\n\n/* ============================================================================\nDocs Body & Page Structure\n============================================================================ */\n\nhtml {\n font-size: 14px;\n\n @media (--viewport-large) {\n font-size: 16px;\n }\n}\n\nhtml, body {\n height: 100%;\n background-color: #fff;\n color: var(--text);\n}\n\n.Columns {\n &__left {\n background-color: var(--sidebar-background);\n }\n\n &__right {\n &__content {\n padding: 10px;\n background-color: #fff;\n }\n }\n}\n\n// mobile friendly sub-nav\n.Collapsible__content {\n display: none;\n}\n\n.Collapsible__trigger {\n margin: 12px;\n padding: 7px 10px;\n background-color: transparent;\n border: none;\n float: right;\n\n @include kill-background-image;\n @include kill-box-shadow;\n\n &__bar {\n display: block;\n width: 18px;\n height: 2px;\n margin-top: 2px;\n margin-bottom: 3px;\n background-color: var(--sidebar-collapsible--hamburger-color);\n }\n\n &:hover {\n background-color: var(--sidebar-collapsible--hamburger-hover-background);\n\n @include kill-box-shadow;\n\n .Collapsible__trigger__bar {\n background-color: var(--sidebar-collapsible--hamburger-hover-color);\n }\n }\n}\n\n@media screen and (min-width: 769px) {\n body {\n //Needed only for floating code blocks\n background-color: var(--content-floating-blocks-background);\n }\n\n .Navbar {\n position: fixed;\n z-index: 1030;\n width: 100%;\n }\n\n .Collapsible {\n &__trigger {\n display: none !important;\n }\n\n &__content {\n display: block !important;\n }\n }\n\n .Columns {\n height: 100%;\n\n &:after,\n &:before {\n content: \" \";\n display: table;\n }\n\n &:after {\n clear: both;\n }\n\n &__left, &__right {\n position: relative;\n min-height: 1px;\n float: left;\n overflow: auto;\n height: 100%;\n }\n\n &__left {\n width: 25%;\n border-right: 1px solid var(--sidebar-border);\n overflow-x: hidden;\n }\n\n &__right {\n width: 75%;\n\n &__content {\n padding: 0 20px 20px;\n min-height: 100%;\n }\n }\n }\n}\n","/* ============================================================================\nMixins\n============================================================================ */\n\n@mixin kill-background-image {\n background-image: none;\n filter: none;\n}\n\n@mixin kill-box-shadow {\n box-shadow: none;\n}\n\n// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n@mixin clearfix {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n\n &:after {\n clear: both;\n }\n}\n","/* ============================================================================\nBase CSS\n============================================================================ */\n\nbody {\n line-height: 1.5;\n\n font-family: var(--font-family-text);\n font-feature-settings: \"kern\" 1;\n font-kerning: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-family: var(--font-family-heading);\n font-weight: 300;\n}\n\n.s-content {\n h1, h2, h3, h4, h5, h6 {\n cursor: text;\n line-height: 1.4em;\n margin: 2em 0 0.5em;\n\n tt, code {\n font-size: inherit;\n }\n\n i {\n font-size: 0.7em;\n }\n\n p {\n margin-top: 0;\n }\n }\n\n h1 {\n margin-top: 0;\n font-size: var(--type-size-3);\n }\n\n h2 {\n font-size: var(--type-size-4);\n }\n\n h3 {\n font-size: var(--type-size-5);\n }\n\n h4 {\n font-size: var(--type-size-6);\n }\n\n h5 {\n font-size: var(--type-size-6);\n }\n\n h6 {\n font-size: var(--type-size-6);\n }\n\n a {\n text-decoration: underline;\n }\n\n small {\n font-size: var(--type-size-6);\n }\n\n p {\n margin-bottom: 1.3em;\n }\n\n ul, ol {\n padding-left: 2em;\n }\n\n ul p {\n margin: 0;\n }\n\n ul ul {\n margin: 0;\n }\n\n dl {\n padding: 0;\n\n dt {\n font-weight: bold;\n font-style: italic;\n padding: 0;\n margin: 15px 0 5px;\n }\n\n dt:first-child {\n padding: 0;\n }\n\n dd {\n margin: 0 0 15px;\n padding: 0 15px;\n }\n }\n\n blockquote {\n margin: 0.75em 2em;\n padding: 0.5em 1em;\n font-style: italic;\n border-left: 0.25em solid var(--blockquote-border-color);\n\n cite {\n font-style: italic;\n }\n\n cite:before {\n content: \"\\2014\";\n padding-right: 0.5em;\n }\n }\n\n table {\n width: 100%;\n padding: 0;\n margin-bottom: 1em;\n border-collapse: collapse;\n\n font-size: var(--type-size-6);\n\n + table {\n margin-top: 1em;\n }\n\n tr {\n border-top: 1px solid #eee;\n background-color: white;\n margin: 0;\n padding: 0;\n }\n\n tr:nth-child(2n) {\n background-color: var(--lightest-gray);\n }\n\n th {\n font-weight: bold;\n border: 1px solid var(--light-gray);\n background: var(--lighter-gray);\n margin: 0;\n padding: 0.5em;\n }\n\n td {\n border: 1px solid var(--lighter-gray);\n margin: 0;\n padding: 0.5em;\n }\n }\n\n ul,\n ol,\n blockquote,\n dl dt,\n dl dd,\n table th,\n table td {\n > :first-child {\n margin-top: 0;\n }\n\n > :last-child {\n margin-bottom: 0;\n }\n }\n\n img {\n max-width: 100%;\n display: block;\n margin: 0 auto;\n }\n\n code {\n font-family: var(--font-family-monospace);\n padding-top: 0.1rem;\n padding-bottom: 0.1rem;\n background: var(--code-tag-background-color);\n border: 1px solid var(--light-gray);\n border-radius: var(--code-tag-border-radius);\n box-shadow: var(--code-tag-box-shadow);\n\n &:before,\n &:after {\n letter-spacing: -0.2em;\n content: \"\\00a0\"; /* non-breaking space*/\n }\n }\n\n pre {\n background: #fdf6e3;\n color: #657b83;\n line-height: 1.5em;\n overflow: auto;\n border: none;\n border-radius: 0;\n padding: 0.75em 2em;\n margin: 0 -20px 20px -20px;\n\n code {\n margin: 0;\n padding: 0;\n white-space: pre;\n box-shadow: none;\n }\n\n code:before,\n code:after {\n display: none;\n }\n\n code, tt {\n background-color: transparent;\n border: none;\n }\n }\n\n u,\n ins {\n text-decoration: none;\n border-bottom: 1px solid var(--text);\n\n a {\n color: inherit;\n }\n }\n\n del a {\n color: inherit;\n }\n}\n\n//Content pages float view\n@media (min-width: 1150px) {\n .Columns__right--float .Columns__right__content {\n height: 100%;\n overflow: auto;\n padding: 0 !important;\n background-color: transparent !important;\n position: relative;\n\n article {\n width: 100%;\n min-height: 100%;\n overflow: auto;\n position: relative;\n z-index: 1;\n }\n\n article:before {\n content: \"\";\n width: 50%;\n min-height: 100%;\n overflow: auto;\n background-color: white;\n display: block;\n margin: 0;\n position: absolute;\n z-index: -1;\n }\n }\n\n .Columns__right--float {\n .Pager,\n .Page__header,\n .s-content blockquote,\n .s-content p,\n .s-content ul,\n .s-content ol,\n .s-content dl,\n .s-content h2,\n .s-content h3,\n .s-content h4,\n .s-content h5,\n .s-content h6,\n .s-content hr,\n .s-content table {\n float: left;\n clear: left;\n width: 47%;\n margin-left: 1.5%;\n margin-right: 1.5%;\n }\n }\n\n .Columns__right--float .s-content {\n table {\n background-color: white;\n white-space: normal;\n\n pre, code {\n white-space: normal;\n }\n }\n\n blockquote, p, ul, ol, dl, h2, h3, h4, h5, h6, hr {\n &:before {\n width: 100%;\n height: 10px;\n display: block;\n clear: both;\n }\n\n p, ul, ol, dl, h2, h3, h4, h5, h6, pre, hr {\n width: auto;\n float: none;\n display: block;\n }\n }\n\n hr {\n border-color: #ddd;\n }\n\n // Paragraphs and code inside lists and\n // blockquotes should have 100% width\n li, blockquote {\n p, pre {\n width: 100%;\n }\n }\n\n pre {\n float: left;\n clear: right;\n width: 50%;\n border: none;\n border-left: 10px solid white;\n margin: 0 0 10px;\n padding: 0;\n\n code {\n padding: 0 0.5em;\n }\n }\n }\n}\n","/* ============================================================================\nBase tags\n============================================================================ */\n\na {\n text-decoration: none;\n color: var(--link-color);\n\n &.Link--external:after {\n content: \" \" url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);\n }\n\n &.Link--broken {\n color: red;\n }\n}\n\np {\n margin: 0 0 1em;\n}\n\nhr {\n clear: both;\n margin: 1em 0;\n border: 0;\n border-top: 1px solid #ddd;\n}\n\n/* ============================================================================\nComponents\n============================================================================ */\n\n.Button {\n display: inline-block;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n border-radius: 4px;\n\n &--small {\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n }\n\n &--default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n\n &.Button--active {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n }\n }\n}\n\n.ButtonGroup {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .Button alignment given font-size hack above\n\n .Button + .Button {\n margin-left: -1px;\n }\n\n > .Button {\n position: relative;\n float: left;\n\n // Bring the \"active\" button to the front\n &:hover,\n &:focus {\n z-index: 2;\n }\n\n &:active,\n &.Button--active {\n z-index: 3;\n }\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n\n // Set corners individually because sometimes \n // a single button can be in a .ButtonGroup\n // and we need :first-child and :last-child to both match\n &:first-child {\n margin-left: 0;\n }\n\n &:first-child:not(:last-child) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n\n &:last-child:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n }\n}\n\n.Brand {\n display: block;\n background-color: var(--brand-background);\n padding: 0.75em 0.6em;\n font-size: var(--type-size-4);\n text-shadow: none;\n font-family: var(--font-family-heading);\n font-weight: 700;\n color: var(--brand-color);\n}\n\n.Navbar {\n height: 50px;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);\n background-color: var(--homepage-navbar-background);\n margin-bottom: 0;\n\n .Brand {\n float: left;\n line-height: 20px;\n height: 50px;\n }\n}\n\n.CodeToggler {\n padding: 0 20px;\n\n &__text {\n font-size: 12px;\n line-height: 1.5;\n padding: 6px 10px 6px 0;\n display: inline-block;\n vertical-align: middle;\n }\n}\n\n// Sidebar navigation\n.Nav {\n margin: 0;\n padding: 0;\n\n &__arrow {\n display: inline-block;\n position: relative;\n width: 16px;\n margin-left: -16px;\n\n &:before {\n position: absolute;\n display: block;\n content: \"\";\n margin: -0.25em 0 0 -0.4em;\n left: 50%;\n top: 50%;\n width: 0.5em;\n height: 0.5em;\n border-right: 0.15em solid var(--sidebar-link-arrow-color);\n border-top: 0.15em solid var(--sidebar-link-arrow-color);\n transform: rotate(45deg);\n transition-duration: 0.3s;\n }\n }\n\n &__item {\n display: block;\n\n a {\n display: block;\n margin: 0;\n padding: 6px 15px 6px 20px;\n font-family: var(--font-family-heading);\n font-weight: 400;\n color: var(--sidebar-link-color);\n text-shadow: none;\n }\n\n a:hover {\n color: var(--sidebar-link-color);\n text-shadow: none;\n background-color: var(--sidebar-link-hover-background);\n }\n }\n}\n\n.Nav .Nav {\n display: none;\n margin-left: 15px;\n\n .Nav__item a {\n margin: 0;\n margin-left: -15px;\n padding: 3px 30px;\n font-family: var(--font-family-text);\n color: var(--sidebar-link-secondary-color);\n opacity: 0.7;\n\n &:hover {\n opacity: 1;\n }\n }\n\n .Nav__item--active a {\n color: var(--sidebar-link-color);\n }\n}\n\n.Nav__item {\n &--open,\n &--active {\n > a {\n background-color: var(--sidebar-link-active-background);\n }\n }\n\n &--open {\n > .Nav {\n display: block;\n }\n\n > a > .Nav__arrow:before {\n margin-left: -0.25em;\n transform: rotate(135deg);\n }\n }\n}\n\n.Page__header {\n margin: 0 0 10px;\n padding: 0;\n border-bottom: 1px solid #eee;\n\n @include clearfix();\n\n h1 {\n margin: 0;\n padding: 0;\n line-height: 57px;\n }\n\n &--separator {\n height: 0.6em;\n }\n\n a {\n text-decoration: none;\n }\n\n .ModifiedDate {\n float: left;\n font-size: 10px;\n color: gray;\n }\n\n .EditOn {\n float: right;\n font-size: 10px;\n color: gray;\n }\n}\n\n.Links {\n padding: 0 20px;\n\n a {\n font-family: var(--font-family-heading);\n font-weight: 400;\n color: var(--sidebar-link-color);\n line-height: 2em;\n }\n}\n\n.Twitter {\n padding: 0 20px;\n}\n\n.PoweredBy {\n padding: 0 20px;\n font-size: var(--type-size-6);\n}\n\n.Search {\n position: relative;\n\n &__field {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 30px 6px 20px;\n color: var(--search-field-color);\n border-width: 0 0 1px;\n border-bottom: 1px solid var(--search-field-border-color);\n background: var(--search-field-background);\n transition: border-color ease-in-out 0.15s;\n\n &:focus {\n border-color: var(--search-field-hover-border-color);\n outline: 0;\n }\n }\n\n &__icon {\n position: absolute;\n right: 9px;\n top: 9px;\n width: 16px;\n height: 16px;\n }\n}\n\n.Navbar .Search {\n float: right;\n margin: 8px 20px;\n\n &__field {\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n border-width: 0;\n border-radius: 4px;\n padding-left: 10px;\n }\n}\n\n.TableOfContentsContainer {\n &__title {\n border-bottom: 4px solid #efefef;\n margin-bottom: 0 !important;\n }\n\n &__content > .TableOfContents {\n margin-top: 0;\n }\n}\n\nul.TableOfContents {\n float: none;\n font-size: 16px;\n padding-left: 1.5em;\n border-left: 6px solid #efefef;\n\n p {\n margin-bottom: 0;\n }\n\n a {\n text-decoration: none;\n }\n\n .TableOfContents {\n border-left-width: 0;\n }\n}\n\n.Columns__right--full .TableOfContentsContainer {\n float: right;\n min-width: 300px;\n max-width: 25%;\n padding-left: 1em;\n\n .TableOfContentsContainer__content > .TableOfContents {\n border-right: 2px solid #efefef;\n }\n\n .TableOfContents {\n list-style-type: none;\n padding-left: 0;\n }\n\n a {\n display: block;\n border-bottom: 1px solid #ddd;\n padding: 0.2em 0;\n }\n\n li a {\n padding-left: 0.75em;\n }\n\n li li a {\n padding-left: 1.5em;\n }\n\n li li li a {\n padding-left: 2.25em;\n }\n\n li li li li a {\n padding-left: 3em;\n }\n}\n\n.Pager {\n padding-left: 0;\n margin: 1em 0;\n list-style: none;\n text-align: center;\n clear: both;\n\n @include clearfix();\n\n li {\n display: inline;\n\n > a {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: #eee;\n }\n }\n\n &--next > a {\n float: right;\n }\n\n &--prev > a {\n float: left;\n }\n}\n\n.Checkbox {\n position: relative;\n display: block;\n padding-left: 30px;\n cursor: pointer;\n\n input {\n position: absolute;\n z-index: -1;\n opacity: 0;\n }\n}\n\n.Checkbox__indicator {\n position: absolute;\n top: 50%;\n left: 0;\n width: 20px;\n height: 20px;\n margin-top: -10px;\n background: var(--checkbox-background);\n\n /* Check mark */\n &:after {\n position: absolute;\n display: none;\n content: \"\";\n }\n\n /* Hover and focus states */\n .Checkbox:hover input ~ &,\n .Checkbox input:focus ~ & {\n background: var(--checkbox-hover-background);\n }\n\n /* Checked state */\n .Checkbox input:checked ~ & {\n background: var(--checkbox-checked-background);\n\n /* Show check mark */\n &:after {\n display: block;\n }\n }\n\n /* Hover state whilst checked */\n .Checkbox:hover input:not([disabled]):checked ~ &, .Checkbox input:checked:focus ~ & {\n background: var(--checkbox-checked-hover-background);\n }\n\n /* Disabled state */\n .Checkbox input:disabled ~ & {\n pointer-events: none;\n opacity: 0.6;\n background: var(--checkbox-disabled-background);\n }\n\n /* Checkbox tick */\n .Checkbox &:after {\n top: 4px;\n left: 8px;\n width: 5px;\n height: 10px;\n transform: rotate(45deg);\n border: solid var(--checkbox-tick-color);\n border-width: 0 2px 2px 0;\n }\n\n /* Disabled tick colour */\n .Checkbox input:disabled ~ &:after {\n border-color: var(--checkbox-disabled-tick-color);\n }\n}\n\n.Collapsible__content {\n padding-bottom: 1rem;\n}\n\n.Hidden {\n display: none;\n}\n",null,"/* ============================================================================\nHomepage\n============================================================================ */\n\n.Container {\n margin-right: auto;\n margin-left: auto;\n\n &--inner {\n width: 80%;\n margin: 0 auto;\n }\n}\n\n@media (min-width: 1200px) {\n .Container {\n width: 1170px;\n }\n}\n\n@media (min-width: 992px) {\n .Container {\n width: 970px;\n }\n}\n\n@media (min-width: 769px) {\n .Container {\n width: 750px;\n }\n}\n\n@media (min-width: 1200px) {\n .Container {\n width: 1170px;\n }\n}\n\n.Homepage {\n padding-top: 60px !important;\n background-color: var(--homepage-hero-background);\n border-radius: 0;\n border: none;\n color: var(--homepage-hero-color);\n overflow: hidden;\n padding-bottom: 0;\n margin-bottom: 0;\n\n @include kill-box-shadow;\n}\n\n.HomepageTitle {\n h2 {\n width: 80%;\n font-size: 30px;\n margin: 20px auto;\n text-align: center;\n }\n}\n\n.HomepageImage {\n img {\n display: block;\n max-width: 80%;\n margin: 0 auto;\n height: auto;\n }\n}\n\n.HomepageButtons {\n padding: 20px 0;\n background-color: var(--hero-button-block-background);\n text-align: center;\n\n @include clearfix;\n\n .Button--hero {\n padding: 20px 30px;\n border-radius: 0;\n text-shadow: none;\n opacity: 0.8;\n margin: 0 10px;\n text-transform: uppercase;\n border: 5px solid var(--hero-button-border-color);\n font-family: var(--font-family-heading);\n font-weight: 700;\n\n @include kill-background-image;\n @include kill-box-shadow;\n\n @media (max-width: 768px) {\n display: block;\n margin-bottom: 10px;\n }\n\n &:hover {\n opacity: 1;\n }\n\n &.Button--secondary {\n background-color: var(--hero-button-secondary-background);\n color: var(--hero-button-secondary-color);\n }\n\n &.Button--primary {\n background-color: var(--hero-buttom-primary-background);\n color: var(--hero-button-primary-color);\n }\n }\n}\n\n.HomepageContent {\n background-color: white;\n padding: 40px 0;\n\n ul, ol {\n li {\n list-style: none;\n margin-bottom: 0.5em;\n position: relative;\n }\n\n li:before {\n position: absolute;\n top: 50%;\n left: -1.5em;\n content: \"\";\n width: 0;\n height: 0;\n border: 0.5em solid transparent;\n border-left: 0.5em solid var(--homepage-bullet-color);\n float: left;\n display: block;\n margin-top: -0.5em;\n }\n }\n\n .HeroText {\n font-family: var(--font-family-heading);\n font-weight: 300;\n font-size: 16px;\n margin-bottom: 20px;\n line-height: 1.4;\n }\n\n @media (min-width: 769px) {\n padding: 40px 20px;\n\n .HeroText {\n font-size: 21px;\n }\n\n .Row {\n margin: 0 -15px;\n }\n\n .Row__third, .Row__half, .Row__quarter {\n float: left;\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n }\n\n .Row__third {\n width: 33.333333%;\n }\n\n .Row__half {\n width: 50%;\n }\n\n .Row__quarter {\n width: 25%;\n }\n }\n}\n\n.HomepageFooter {\n background-color: var(--homepage-footer-background);\n color: var(--homepage-footer-color);\n border: none;\n\n @include kill-box-shadow;\n @include clearfix;\n\n @media (max-width: 768px) {\n padding: 0 20px;\n text-align: center;\n\n .HomepageFooter__links {\n padding-left: 0;\n list-style-type: none;\n }\n }\n\n @media (min-width: 769px) {\n .HomepageFooter__links {\n float: left;\n }\n\n .HomepageFooter__twitter {\n float: right;\n }\n }\n\n &__links {\n margin: 40px 0;\n\n li a {\n line-height: 32px;\n font-size: 16px;\n font-family: var(--font-family-heading);\n font-weight: 700;\n }\n\n li a:hover {\n text-decoration: underline;\n }\n }\n\n &__twitter {\n margin: 40px 0;\n }\n\n .Twitter {\n margin-bottom: 20px;\n }\n}\n","/* ===========================================================================================\nCode Highlighting\n============================================================================================== */\n\n/*\n\nOrginal Style from ethanschoonover.com/solarized (c) Jeremy Hull \n\n*/\n\n.hljs {\n display: block;\n overflow-x: auto;\n padding: 0.5em;\n background: #fdf6e3;\n color: #657b83;\n}\n\n.hljs-comment,\n.hljs-quote {\n color: #93a1a1;\n}\n\n/* Solarized Green */\n.hljs-keyword,\n.hljs-selector-tag,\n.hljs-addition {\n color: #859900;\n}\n\n/* Solarized Cyan */\n.hljs-number,\n.hljs-string,\n.hljs-meta .hljs-meta-string,\n.hljs-literal,\n.hljs-doctag,\n.hljs-regexp {\n color: #2aa198;\n}\n\n/* Solarized Blue */\n.hljs-title,\n.hljs-section,\n.hljs-name,\n.hljs-selector-id,\n.hljs-selector-class {\n color: #268bd2;\n}\n\n/* Solarized Yellow */\n.hljs-attribute,\n.hljs-attr,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-class .hljs-title,\n.hljs-type {\n color: #b58900;\n}\n\n/* Solarized Orange */\n.hljs-symbol,\n.hljs-bullet,\n.hljs-subst,\n.hljs-meta,\n.hljs-meta .hljs-keyword,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-link {\n color: #cb4b16;\n}\n\n/* Solarized Red */\n.hljs-built_in,\n.hljs-deletion {\n color: #dc322f;\n}\n\n.hljs-formula {\n background: #eee8d5;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.hljs-strong {\n font-weight: bold;\n}\n"]} \ No newline at end of file diff --git a/docs/html/themes/d3/fonts/robotoslab-bold.eot b/docs/html/themes/d3/fonts/robotoslab-bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..4e88b6cfeb0c6dcef692a784ed7a62e322634273 GIT binary patch literal 39370 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 J_r)5b{{l>b;dlT5 literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-bold.svg b/docs/html/themes/d3/fonts/robotoslab-bold.svg new file mode 100644 index 00000000..0c830531 --- /dev/null +++ b/docs/html/themes/d3/fonts/robotoslab-bold.svg @@ -0,0 +1,688 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/html/themes/d3/fonts/robotoslab-bold.ttf b/docs/html/themes/d3/fonts/robotoslab-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b5120e7f3caa028717c7440eaaf6edd7846ce08c GIT binary patch literal 39120 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%0A0+ao8+W(Tg8N8ykwxbQ$0a#nur&_ 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 literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-bold.woff b/docs/html/themes/d3/fonts/robotoslab-bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..9e98b2d356be062c31c97ec55f36eabafe514c44 GIT binary patch literal 23812 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 literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-bold.woff2 b/docs/html/themes/d3/fonts/robotoslab-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a0e46d686e5410b7bdf6a084d7a33b31957fb5d4 GIT binary patch literal 18720 zcmV)9K*hgzPew8T0RR9107)PK6951J0GQAK07$a{0RR9100000000000000000000 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

_eRa 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 z ze@_f2s@-_=vb)j*06=cZ{9*Xy|w}lskL9{X$dBC5@O$@;c6+v=TaP9pMxTarz|3m$c znr9!|^XzkvJo2oR_anvm{OJ0J{swRT59}qt*$LNE#F(D~@9nOaD}B*+JUmU~Juywv z;-f)rsuJfwAge447}CLxke?tPiAI0AUPnEF=Yh$ zuo5zqogf8^KGdl>-MJ~MaPQm~KmPdSoW1R6(nvo(v~$5dS=eRO=wEs76)uk8Fw+i%a0{Z5Fo><|DPECo@5OWY20aGY(*ig?% z5etfyP}m}2-bNAyUI>yXL0t_a(x?P_mYHcNZ}pi(nOq{cO@njgG>B$R|X#*fl*qCo-eQ7oN@W0uN1kyt)=%3n*C~g*jTx~NF8j3upGBR(C_qN++KYH@{ zj}F(IzM;a_YV*Kb@4mVAC$~I+s^LSw=y&5u4SwC6nFV>Ypa|&gZjyEsf8IaX~T2oEIoc)E!DrP^mnWFs+u<<@{aA& z$x7}33@xA+--7H$VH-+Jz}T8i3?t5q$P|U9;aQ;eLz*y@H6c2MB8P}-CDEhk3-`oU;IUiz$#+hOOMx7OS=pqF6gf%cxyReu(3b4 z3kf8^SoY_3p>3;pq+844)>V93wSH^4eoHltNI zq0Lm*&XXUs3#numqP2@EmcFnMDOD!$c%XsA6?s@-7>dOK@nl$r?D=FL3R#9|T`U_` zs@l~DnrZo8SAE@9%X@4!pEgDRyy~ZxTFdXN^e?9Hsq*Jx{xv60N+0<%UwTQJPe!3D z+0uolpZ2H7AHXOi@B*2wOcP`C-|RvJU;}mHf3yqrUciUz#~1RMvp{?DOg?jgew+_m zsNXqL|6c!LrhaEx7(c}i060zG%}1+VZ+qNa7EivH zXs`)##$g2j{7G1hldfs7f}jp&kB!UBfcS%jkGPtMND|KYps_Drc&?P0GxWaASKi|2 z92ps25LP^?cu`qJ+yx88i>8y?QdY{*55~tr@~DHrmH{Rh;@}V$%P6$Tzr7 zG4GQw8o@+DOGLww&4b1xlhn^L^~yeJz5iR7kDL=>Fe;N5y~gutkU8t7Pm{K2U9fh} z_GDoB1`>>plDLO}#6qRGAC}|N@N5IpXh@j1Pq+^{2;FFimA2)vdxEq%y9o;@_{`^_np43k? ze`&)PvmVTFKREls9WOU4E&Orsg@vmouUYuTW8Wj929+=1dz80iJ2ZOOwc%LgQbah+ zU(ozvcL&`eLjt2;Dzq}PM)g9hkqB@$)P7p5YmRJV%^5U>y!BvB*`_kjjP|8d%6Bdt zv8BvY-LcB221dX*NmTQDK&wxfOfcF4b_g5unQe=%^`<5XfB^tC(%v_|n`hJUS5 zl$(u~9#`iBMT>kOeXaZ!&pL)aEe?dq7u76SDF%B=9WjzBCj<>DVF-I;$~9IM8Sw(L zItt1>9+%>Wk+G3UJveKUnv@u8Cnqh-;28}pE0n^LC5$UZj?2~dl|J*2PL-55HrJed z^Uaer)%!bKWno$MV$6jL4&LjUzqVzKZe}CVeh{$)q%=S z&qCuR>>1GUxT$E_T)OMSUsSOH+KMtct$`PzLEpnS?#l@y8 zNGmWnqAA-5LM_ZL46cL<2Po*te@hCMvs zg{jpqmOeUSZ`Tq}$J!B>f9FYOU*gI7moJ^wzgp3!w6yom;SUTtHDlImgZGYjthjfd z;>XJl41Rg$w9};zjgS_-r@zHpy!Q^z)Bg`N*$MuMmf#KPtcRz_NqJ(4pl}P>6`;CG zh_z-IOU${E7$LY&pb2}e++u+tUP#S!S8@{Q9x>lwk`(4=BGZoe2yL$b)?oTHaA2q{ zm+Lq3x%z1SkUp9;TfKts!ZBOF@iu;AHJ{06RP&q2aWHShx#6FaCiwaAb0ehnBmY;|yiTu0g&!4aV zEX!B?@>xl2Hzl!Qx=rZ^+RkS^XpFN!-k!o#tauUfjmA{$K1xAjjEwg1J=+T+{a`}x}&t4Ee`_U@;@E7GhJyZ0U1^7+5N@c-JhSCiSZcm9&z zHFfT-d-;LN+g)vLpZf5#uYasb`*z+wv%02B7vCe58`4|fKIMT^pS_~peqzInIX89d zzGsES5gvKd@Od|tSYs>^Hx8Y;1l_tPU*TtU7{lP-DR zK0Rmue$~EX#}4Adh|^ZThOIvp+Ij&S;Tal9Dgv-6fpg1n@2HclupA?DA5LCUATUi7 z=xYk1eoQ72QVRdOrdftEi^XBV2)1oQlPBGYDpNBNk>d`7Vj)b(aIW-`l-*nIIePS-Ee|WwsF~F>7A=}Fb^4VT5HCt9`3!xtuIpFy&BORk z-V|{oJM{|vL;ZcdQW~n=z4M*@^B;e2=Uv+D8GCN2S-yMPycPO4`ci%iVz?cAseX(8 z9q$CY%s~CLeu{F9F!K>_ARU%I0$n*_t1R+#i;IOM%K#QMnpzY`3i&dED3;a$qUVO~ zS1U<(F_xX_%1O_`%g!t~EiCYv3NnF81#@c1Y2j$ejR0Wi>hTRc7Sc3Jn3TC_$oyM( z-2LQ`($N#3MeSa>cyoB9zOCo-*rVg743J((EKDirv9Nl|ye`AW^zCKQDsSDmLVu}E zS4i!z2VPr)_hhvxhH$vOO1odp>?VYk&5^L9h~j2d*qus%TjR<#uI=plb3O>*dWA%7&LugUHG zmC{bNv;rswEiabemMC_E@JKpP(C!4Pg@m9OgD74?C?R*Gn3xD02B{W?7$8)##dl1s z+_+(U)kg2gqV6L`bT1mIyjrzoOV#9!8z&cg%SuW{!6{5_^<}N(-<5x&ttg7q!FmlO z1u=wNKg6jb0t?(iB>O~Y#FOaHh&6>@A(-|@J&?-yDt*CBy^`;o$sf4#j9e^tnW*>X zPfp}VFL$9}d*ETVv`yNpoD_P7%9?$uG_h*P z$f_}87AfO;dOG#()lnN;bK|s5V-n*kdQD$=;|#6az<%BP_6V+V$0;ZHi|CKx_XRH? z-zVtH@cUA_JI~uJ|2|cHNz<>O|3$FB9fOXYLS8)hnGn%|L{bYnS)?HwmMj)9GSLc7 zj04gQ6val#5qKln?zTJJB80|pf|13a3{FPIK{kkj>`tRLELd}Q3Jm|X`oF?jZJ%DY zHt!}fJ^5F?@!&PD!ztMkbIL_3x-`B}`9Nbs5#o*cOAkpmM33j*}M zBBCHNj!}pSfhUzjMMcF##n>~_VF1f4v_Xf1CI?FjfI%o}fy8U8zeP@#{LSa&_jslj z5fQaqe)A2k{&57Z4+Q!J>2jAei+7MSAXTr&-wfwD`qW|TR%sRzwAduQKi>s-q8M^y ziH_k_gvW$Slt3&ZTj3uO&!cQ{iY+HU7}cLG2qU}jkFe5;otsVGMS~}&cr2wuMok~k zrBjDI^HS73O1ckL0@~Bg;faB+&po)wi78hY*{*JzsUVY&p1uXs^gii1)0lWXLoS^3 zghaV;WUCelVidG6qKa!owCPhP&73uP@(kssEl)qa z<;J_7dg`vJ%U4w2ICg1K#%(*$z9El+|aZ{|8OnFPYp(h_!PlI|qO54~1&rME6GMkzq zfuRjo!eY2JJOV-zu}%z;uO>5s-NPc3h%hu9j{P&kt)pOj3vqCh$ub1m9ppwtgf=7+ z5gUfhHV9Chqig5(?b_zIYLSuNBrPS$(JiiXuz35hPTj`~e<8>JKYbuf=ga0u9c z5I)o}Btf9ou=or`UtyrXCXXtT8@mQT93!os;u6G`0^sSi4TfZqaz;(jeL}>Q87?e~pyJ2RE)CDIV2W z&!LgOTz^iZ`p@$5SX=e<6elM*WX)XH3$Q@5X0A3Y+yAi{>~$jgVR1L?N2^Bdyu#C< z0%PTXjA=9CTP#J)`DQe2ip1Nkt%mfiJic;~IMWdwzWVUowu2oh>rps+KY(>L$ z_){9SJB{glD8r5wb#0Nw*ccTHK!JX1(!AGeAtjmA579Mhp}`o_A`a)PhZ z2KB(Kk^YGRqdr}yFFDPSP}iU(3F}p6S`FEhh`Df&Co%=xH$D#8b1HNsc&unsm9}8H zkWb}IGb2K(91MUm`Mj8xX3YwFwA3I`#xxjRHAR?UqG@NmhIARcXV$PM%m4JE*AqoM z&5%8S{>UbPBsVB!+1O3Sfdlp!qyovobT>KMlz*$-PA;En@jn}nRD>s!q`sEwE4e$v z{d*s;)|W$k!So+hW>p6u`qlqgmH$C9vxak*{*k$i|4Z)0b1|lq^gfh3M);mYbFQhF zbBm?KfS+i|31MXi8d|19*T-reHbn5Fx|A}>Y?ct^%Y%t!7H&2xL!n(j#ekYQ1l%%F zD{;A8tz4~ai3kOOZ_;Y;X^L}SZfZvD_M j{xNC$epx7z7L`7PLiqVVV_#6U@HC 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 literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-light.svg b/docs/html/themes/d3/fonts/robotoslab-light.svg new file mode 100644 index 00000000..bf7f6a73 --- /dev/null +++ b/docs/html/themes/d3/fonts/robotoslab-light.svg @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/html/themes/d3/fonts/robotoslab-light.ttf b/docs/html/themes/d3/fonts/robotoslab-light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..067e1e58b0729e758f737c5c1cc70cace6f4c734 GIT binary patch literal 40392 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 Chiqg3 literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-light.woff b/docs/html/themes/d3/fonts/robotoslab-light.woff new file mode 100644 index 0000000000000000000000000000000000000000..1cbe7902b7c7722c5f984d2933a76f962248ed21 GIT binary patch literal 24224 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 OD;59%0a>}9VE_OV(@IGI literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-light.woff2 b/docs/html/themes/d3/fonts/robotoslab-light.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b954cfdc867b95a2755e7cd6601cab227c4091f6 GIT binary patch literal 19112 zcmV)7K*zs#Pew8T0RR9107|F;6951J0G+%507^Ol0RR9100000000000000000000 z0000#Mn+Uk92zPcp8yVuyQlUF-;NGB>t;rJm+i>Rj71| zzhYnik|dML3 zTS5W{g2x+jnrZOcuf(tkvmwsW!xZIYOPVmnIE+^CO7#LjhfH&!RX2igtjrt%?SGjf zq;0+HFkSyb!byyvF+oo4iBTQ)4$Jnf?Z7;j?9)tedj2xE?LGk|(ty^!f1Txwz%V25 z@+JKGG;NCRgY8`tAA#j*B)hY2%U}uE1A-v{|Nok{1uE*0)I9N_vNfbMl{P1dsIk3U zQ&N;1b=B37edvAy^8_|b@ByaPi@W<-X4zD_>vaCs<`PO*8~~EE!7Ae_&>FDhcjx~< zGw|mR$TNcqMUnx@5nyiws90d@4FmF`vZZ!y>kLRXxU;pkoU+H9l527}TuO)k@2`ws z-E4Y*L&0wtvesWW3%_chY}A+)cY^>AZ8m_zW9I3f2o*y#(!Ef7gGpk;*vm^7B00EAH^7B8u1uTGZ}|@eqXzK*_H#n)QqY? zi9$A_8}8R_xawH3UeD~sDpWmz1iJGNp#Xk(%Tyu&eDP1H9{~L5XMr!ZkM06E3ednn zya%!C1E`O_0|Ur7uB;%La9-Fo&DDakK+WjQ@b zeEpqd0*BOU(q+JiTBn@%)UN*^w&h&JI#4lcC5S`lqq(;F&!+m%W0!sl5lIRJCO9yA zvw)gLktqfvn_qCxccAAJh>E-b<)4ot^9}?#uN)`2v^d`fib_^RI*I9HDnDJq-Dc%Q zPxDBCp;SAcZg8?N+@X-OiB6$Mj zx(wx#^O?7i2RxQLVE!w#-6;eyKLN&nUXKbV5( za^{l%<$h!lq7^AtqEwl3m8u+8tww_;M>T8Fs@o+CmOS&^x)&gg2oBhVHrvuELPeLL zs%2$Wb<~>$1P2(7(3~miZY&iYprS~jth24s%WX#4bem_{hBeOH!SKpDpShV$NtQDeqUn=$K*vuQ5x zTyW8Rx|BB-@|E0n6?rX+UczQkj829XDORFXnesYFc3I_+ZI0RHoHgBJ1D)~mU$xd!yM$%4>e7eckxC%ul zMBVaoI?6ej&#oqmHN{YM>XH)a?4C~ngaAP-*AY`#g|J2gKGO{(ouU-?R(J!RA8l#5>+_9TD{bT>pu*KT?q75#00!^DsO;IH#v4%ifQQAb&fze0=BN!p4)x}E$ zYXZU6$`VRaNJ&dV@{*B4RiW^!L^1}}_`~g5LqdtCk}w4Z1vTN8l2cG&1x;0abQKjT zhnCg|2^(sgGD1ipB@-$!exbVJ=FF3Vp-8AJH3(OYk+Un~iKi4rm6%Wx6Dm+r77)Zx z1nhSP;EY+3V8;cT7auB#G*_3Qp$(;(JkpN8+Jp9n6}tPajJ50L6olNvr#&m+pDhRT z?1p*fB{H9vqW<-se$F%FXok0AaS*B-C?x5B>G${B1w{h+m+@!Vuqq=6@Y(9|KpjqR z`uDIJsQ&!tpt%|DKEM$GFL-52DgfGl;YilT0XVwl4f^k=|9|}X zjh9znF1)<_^5UGI$r+xWDI3S1Ev-L(`U&x#`(m$R7)*d8fJ5J3Ks*0c0gxi`e9Vs*u`?S-fVYh`@`{czFcqj$J6u6>)ZRs=a(atO*0o#X=9xa z%ew6`o1-?KWE`9 zuik9$?0x`QKY0mCo-VGbI#O3(d$buey}Pr0art^G0AG6zsC=)$Y}R;A0G0!WJ+Q@u z^#8BUE4_ak57H=)|K=@kd}WdpV3wN80J0Y1{ShiZK=sGu&Aa*{ZVr;?GCOhDSr1=x zLQ)S4y7zW`Vsj>L8o|4vE>*v`BECtbCoVmSac9~G`?E{-90!=G#(AOeSRv#lWev6~fr#HGNJMsPFZdc&F%xevcTAibh*|## z`p@L;C|yWwQ7xH->vahvynT{dfW7>X?2~;Dq`ZBYwvV^S&fl3wYiHab{eJ39XW3vI ziA@IVK)NzT8a_|lgB&QhL4H3l#0^_8 zY!YC^nFj({00LPA0$BnA zSq1`G0RmA#2zOZh$8Vrng{;xCt)tN=gZhZ*R6bBL+MuhzDog8<@I2b^##A5E78u>O zKv&9*Il*eBjz2m5As^0FXM4C}y<{@a@Dldb3Yhmr%MeWbf~sFXw>PcAaYleif8)Tr z1=#jYV2!&wePG=X1nu0oj16uACLXENI-tH`IydY0kCxz|G~+LWmvLkras1{0{Wckx zfb@TOw;_H#xv1+(>Z_l;tzD|R!YAm5M6{lW<`P=)@-Y1rOV^g%M9XV4IbPJU(5fm+ z+18$jP0)EofcX(+C~R36o*fnkX-yv7Of28EaG(BzNlY;%;=z^G0?HMlY9LqcN*;^qsCTY`e4~-3yXOvB zxr8vO@bJ>9H}6V*i>PBe#*XL>X_M?^fqHIW^WMV)3e{-|>6Zf8j?x59oI%hY z@`IkHUY)(6rJQo2-npaK?2PMLh_3T$+5jIiYqQ|>l#Lf)`@_Vlsnc3zz~@SDno=^hjH{<34sd*B zxT%1k*dr1cK-qv3(J&P-6hSO7fU^NR;$bQfD1t1&0ILl+kPW5+J4KKP43KQVnPiv> z6pA1f7@*mJJ?StN7!*Muk-+$E6b~%MSd3niC#*a3LB@v0Bn%|R7SQVPmLeS(l+hv3 zSfEG1oNOtwo-k;fLZI4AF_QThBo2K?WDQDbTT%)I!kuu&DNF9iTyhe%%Uay`Fw$rf zeXMOn%Q4Vy=rO1Udp{&Y^)Z=^H9WqvK_Z6FA2P>HNw#+Z`@0XP5y;)%T5Vvx$rCIK zQ?y(2Y&q+x*;g4?rQ5UZlB8=pb*}bwyQb<@^B{!4AveI#=(Wnay+y{WM#4aj zh5)S_q3}E|o+>fX#oxvrISsQ6TRTQ-BnHWOrG8qEgamtY#8zZHVR`!6?FQSG#y|P1 zBK!aL5h-#HgaK2d(G|wuz5alqL;iLZ{m!$D9|cHQ2&=Q~Ysu}FAC18MD*Y(Xw_t$+ zQo#eSS(#u0bG&2GjP}N!>T2pApc)~|=KQ#L%h(?wfp*Lnn}M$b{vT@(``3SlD))o_ z1@dtG_l3kz45B7u~T7$#c|`Ek+v;i@y_@pG3A$L;+bb6!Sew?Dca0xEIm_}xJ?4*fcnPB zUKnZ6j_UpZIS_q729WaXS)jGJZ1RBJaFZxGCL#3g3l&^(NscEhr7Q93aL5Gw!+|1K zGKW-X4S(xHq%(_3G+WWZaY12nJtt58na)Lqu(h-4qcjnE`gkHw$1}H(Yc4`8qtSjw zi8>$551{u_!lOt?`x23aNq{WWq8U%9Zb&6Dvk2AC_}~?B0t|G8uVS}~?4FG0rI#`k zuIC0qK_f%>T#>4xHzE=fW$6cxI=Ue@20x!{gBX(}nkMrVl#qC0^R0P>-4KNmy$zTG zAM*4-*VZFrHsy0Qg0CYl`VVXcEOZiMra(?4p|N`7L1GX>PyoSGY%%p)E;+B??RLkf z6^TVyT$iZtAvu8LXASO+PpmZ{q8SxJ?$FxwF|g0wk();9ge*V$d30)r>HUFgm|ux} zU!OcvEn*}Sw1??lu%$Q}Et}W^1`Nkads&aw&XraqX{$(JDP9%nmW?c)10qhnp)NG6 zuV~mE>Lx>sRHtr`h0JGV8VNWIvi>wUkkrm6LJZ_l3_qv(H6QEl6S6CtS6~|06NkEB zK?6DVVKv)XkT4Ck#rJ&2G}(*kqv37`BOB0uC(ea<9(9{3u)PS>k@JeZB;~GzjCyOA z4OBrrj$!BxC|z{78VT3-Uvra?U!guwVBJds0{sgXYF4k>pKuHqP?66GIWlltgReN` zlX+FDAn(nFkn8guO;K7cgg~b_%&i!_fGbl~TVSkvd91ENQPpaZrae?YBI`cXc%}#g z){PS}h1&db?zJKpisZAPhuzxLqK+c2)2hY(-_v08>VNm$ufLHX?w-LjDgMn{rz@1&6K8{IH)IvF1?*$$%fzL(HM?*Up>Ha_s`-K}<2GRO8heDQN zS#2YkOny55l~p*olG0A(x5lKqV921rHZF0?#&Qigk?@_nXp;b?!`jx_w;z%W7(v_a z1l7ThyHi46;S*?P8JU;+#0@;hQBk0Zd@{v#=OePSoxE*&pXu6edDqkP>DUojjyI1fNZ5n2ug@CASHlRgSwC~2N?!VFBC>=&Z9`FJKXX?9bLgK4xVmYl+ z{n#O&YkbZg-KM|=gbX#Hd{jELwn*54+CB}M#ltHGi0>}>jRsF>Jo5{sD&c?|Wjqdi zokmsOVIUw3%#6pOd-@FaV+jGwP~7uXeCE-7tJy?;O?Y1jzC`u$YEAhaR~+0M^52j3 z>Csux2MT${(s#XZza`QWog}uDyuDP0q=GOF-(u#SPTZF6A#|Lg-9hbSl znwymRa0hmOANS<-V>R_7ty%Du=DfDi{QTZhUO;Z!NNz!UIU0qQ6-kZBq6AQAIpN`o zP;?jYx&Pcke*0)HDetNkw2kD&P-xkaR9Y656hX^~2&ZL+-+S+CY9vV6pYo1Mf2jt= z68p#<6T`=92fMQ(sQDqT?HR2v%)G3|8Qgr|RgbXQ$C!$Ys*r$d!D;utuAUOr&X+Mx zT#Ov^_H=LGAg~m+QlbKnx@HdzK;g#j&NVIp6NMvYG~2+0xM&uqzzyXYs)P0xleo!J z=KCjMT!vzhDn7NWM>75xe_iF;L={iu2m_55sJwF&VDQ6?AZ0=g^D&Bu@qLb|WIp~! z3_3wmbV))gZ@uwP+7s)a3FF6$2|RLfvBZ@1eWA`PW;aYi9Mw~{&hyT1iZ)O2PTd#n zlQoU>8+Uc|!kf4m6$Dlb<%D+Y%ylKz^1gC(QZ`!$Y0O5uYFnv(G+kZ!Y^LI=^3i-{ z^|QH(P~qj!=iZ(ZUtT1wk9_a$Iq~g8l(Vo@wP`;ZxuLesKQfqiIpo&*Gy;u3)kxZYEmrlo%=%oxL47Wi8!D51;BQ$73d$0K0O+Q^CLsU1FK?*YLDdLvc z%|!e;AE!yX^s?dOg0z1T(5~U7iDh`~DN>8uIy73emsYfSYOU??^taIyLodBGHE?c8YDl^=rE>8n zvuMj8GZ*O;?B<^6j=0&fme>PgmgS{P+S4^FI~|pzicC^R#@B;G`mD&1L=K}_kY8Gv zn_g1}1Y9h%Z)I-a^z~~arA2o$_$#UrF>>`4trbp577&R?t4_B`2~0Vv<-yj2afPKH z(N`4zeQz-sm10G(Lcz?PBnkr$+En-blDLX43LHx$^gNW$Luaz@+fE)LhW9o7e%&%X znBDmmJ&roQf)JLLZ4wSi$h8K~#DrCbTJjNMFcZz6BvsRr@ee`PNV2x5y- z;wZTiLeFZE=W&xzSfywe)M+TvLf>j)>z@nryxe~Fo+73GYeftH+*@g-^hoclCoi=( z{R=g}d#0nNaNu}nU2I^-NJVMIOvQu+iMaJ9O8&VW;Y>*8_dRqKtcrT4nYjjN%e=_`6XptBB7m=__n6ZnAi}CE#_iTIsuge7@xU9}-@!dmU z)NA$q%_c?v8--c1cRfeU`K1wo(Nb5YeX73ZTTWAg(`p>yX=LggwMW{^(M!5t*h`g) zdq|6&qupoE9b3c{nR?;R;)P#=dpwFK4%Lk=?Y=vI>%#;14J@zYcu!mL@MQC7B#mm8 z=|d4;1KXvyj+J86qtrYpah7@BAt_2HrCdysxa@Oo^zkkl6~!$_iTCwYMn~^}z1Au; zSZnd0AW5NSCXknNZr4hKBDET!ZYd3E+C;3TW+14a5I?ycl$%N%WduLD8I<+;=b~yH za{snZRI4(Ea?D%7o7{#`j&Ac7LevzZ-oKWPQp0M-Lw zzhX8{-z82?PFGf)o}D5(NA!MLZ6%gR8a+JV@BN0r$2dy8i46=q$KUjttW;_B3lYlON z%gW;nF=ul5m>_wwZr$dc!}lA<$JB1EwMlY9n1AT>iksi9fQ*rqqdCHpP0#HTIVm0ca$A*-vmBU{ANQVrZkA%Ou|R(X{@*j(#}4+esXf-+PSnwOHKQz{r9_9 z8vlIwsZ6iXSapY7DygzJOg#o!%_^9%$HRh}N#%*}=_m2`Op&N>FMjYmldxuUC$s)Yz$~kt-$2uT)-PQR)$D zmV`#H-FS{7(;5tmObLlPk&#vnA8!_}>pim7%6Ccet2zs=CQJ1`$ld!aU$D;lYC%0G z1PfT401Zjc_xnZlWBsG6)|tnt1`nxKSg^RI9*@+BS9i{5^79B+QtLaL_8E?8MH8nb z0`(n2mbf{cqrFv4kny!oHG+o1lJEvI6^U8~_|BHyUGMbMPo{=2T1LbqBqciJ&=sL! z^ph{WmrLTvqC~2z`JcaLxJ$y}XiJK84-3pwE%ez?W)*&%E?9VG4a>OG32n=5&e|LE zRyV36S=iS8dePP-P&ieZk%)yi{<_xx{ENv)gWWHt&vNcWxdy@Cv(OiRR69qE4g8uj znD74|!Aic(D&#~&>gA_eU$L;K){Ff9Xlt_CfOx)udAdiMBAfr;V%zJE)YdqIaB%#o zDOJ?b0lj1Igt;kY@Y?2$r1{*^*5CJ8|7c8K{@KB8cgnEXf9H&!gu=f?lhv0|udb0F1MQwU~7Ow+Jho&~i<1*ESsQ`O!y_h-}YaJmo!ZfjTFr{Do&)UquTYZ#vRi6Z9j0>P9!FXLfYKZYRTb zE>cyGTE(1B5)Ds3cwsGfBHM|I=FF_Ve4WI`ewqpzU`ZkONOP-FT>Z^8K=t#4gF^iy zl;fR~HG6z#rDL}f6vG*rBIB_t31KJd6Pd|guqV$a8be1?bMls?_+@=>gp!nO3LhyP zuN=Dd`oSB$aiz!qeAPAJsT))o$y4~~(Ku0dzv!JUFN)(o> z`f{t9PNK@iWu*3|d?L(Z^#7>oeT!@l%A^XVLk&KSRfLNzZGYxd0g)oP(Uvgez=N z#bl3LQ-^4&ol3-ZxgIG)VOD`R`}s8imHl|}b}y_WqbX%ygt#81l__ZNdB4DjQRp&8 zyuL{5FsaT2Fa@5`GLW!rP3jL$ZdJE$#$wyM4qkJt0a;$3(!fvc=z!m$DH7~uPsnzr!1l;;zYyqufNL_OH)gPX;({zv&*`KxP;CYX=2O|teOizGuAJjXI5socaPAmPx6 zWcXJBk)-EX$U=rBC7Dh*nv3GjJx58l^ZK^I5myT-*5?$r6kumpWEdw2Qh^a1ZL&?R zGVBINoGPH^ONgD^SAawpS{6!B)2)%Q#L?^_8BEbz$Wj!$k%Y%lGA2jlFaSlmXFics-!$U!E)_(a(H*d-UyxW9?oV>`eL5G?r#|;SS~Qpsvf!e=~t>Z zdC}eUzv$XLeE8e7g5_L271EUTv5&*sncNa#ypUU#xjEFjJ8i8WpuJtteNIHF^&*qL zbF6Fw<3+ItWeeMrmUG z?Rm^y-RB0+?&{2ApNpO)NR3i$J;$$G`als=(o>eOoq-&`&AK6}d-K7YQ)kcJhK}yz zHk6kMbB>I6O6o4K=8@w`7MEUB>j}?`a?knVAm3$DGIxnY@@Z`k3GL`|2y$6S<`HhV z>_0vf64rkr!2Oa>QsQM_lKbFr7N9ySf3v*4$dZc2!d{x!>(W~;G)cE{i7!jC#Te>y>$NRx-lSGB=W+%=gIKW!UXMU-#k?A zEvHBq2ttyEa$L=)6h_-eSK7wf#}o-YAy`;rUwgyRsg*I|$kfB54gKw~25baBnUk2D zIZz-f%Ir%{VkZgkFN>Af`EUp)UkS_3g~Gdb2*#m(Tu=8eFbBtulRA3sC&@{d$_CU3 znS@|rK}KRiTWZscQ|N)nz(|IlH$xl?r}Y(-WY<*}+gnJHpT-7x6%w86rVqvwZQTRB z+;#2U4hhvK6Ad+#A|6ZKy%2|Z|8Cw2h@~HZ*0<+m5`1VLnjXpy3I4WvVs1t9tRh&D zfprMcmwGOIDljR?Cp6MGwJQ)`9N0nYK#MKjVAa$!>DBeD_`}rgt*EAML}DO0D%d?1i->6} zFUmeF;`>Ksuwovb+jrbldHWzG*wfX4>PPXXdD;K_5fIfa6c)D#*bZKizkIO%G2Wbk zj1tj^0M5ZOU6_Hv;Y@!w|42eq7BvLDdbNJvFIW;9J87SB=WusMd1Ja-a>v4hW~UWN zO17GY91G`A${mc{B+|#&OVn!*Y>#wr;yVcR-W@3X?FI<{sgtVV+`EEhV#{rvY*qR_ zP7;qH1xK{A>yZJ}Oh*U1{YG(OYPtI&nmHHikx^j3l~_Z1!`RvS#-81fw#&2iqI@Ge ziCvf!mt2&X7SAn?kLTzSr)KTppCR54Ib;wQ5zOY%no{yhD)Z86${+$B7Sgvm*FU*@ zZKUMToy?R4wa6H`hRS1=PR`C=WH)aMa)AV%Ns7TIiQjZr#09W?RigYsymy7tPWXNr zLWlPzh*7e^-*d5b zBp8vLV%cF)q`*e6rO8n&Hi^VcicLa>q=5S6(MPSlEaQjbtF~k5Y@O3E{2IoLS@~M* zFNzmjU@`dmr-hJ)pzl6`LAonaV>PBBh#dnH(uBynJo)Y|eO+9?OwF$4y;c|KH=-ZyFa* zf0&Lt=K8}lYOlLyTMgB>cFA@1EXyx=q-=IHE=|u^Liu z;VaHCl7LCwDJ^ard6){0p%ii|tLxYjH-O z;O39(p4Qsu+GnrU<>BJZXD z9+vuhf1-H<$NP_Sup7_m>f-%Ip7af&ilLWLy?g5CN!mL_iAHpbN45b#>{W`o@OGRk+%&B@!s)ZH*YXiOxB z!X`vhdW-{b9V6(J5cM~OL-e*sRLWOdjR1s17P(#|*VYL;mUVlGq$Cby4$3+X| z?APSAekcr51{VgYgZsYAYOmQQ%l&sJ1oF_fBTKKBbhWA43)+D$SCoUg3h=$vLDfDg zQNshs(E+jwh7Vd+d{;U=^TnO+kB#Rt()K|F5c&qBo~EC!7`<@rgnPM$mpYm?o2urU znO%@s!RZXX)Ss#DYF+F-8@GxT1CLc7uH-1um2{TXchEaHXP?}-6gH_Hu4M%LLcBlU z%#Fs49$)u*4lf^v4D#^e_OrVQnFMPIZy90_jYHjsv%UC~cd1*{e}7CIi0yGS_zntz zJ&pqke*vf!DCDcxu+RqI-9Y~MjphCHnko{YCO|I$0odAt71_3TUyE%QA#0kRt<8RK zBtV;O33_Zh`)S#!{ZRUOjC=+@t+{=X;Wo)e#2ArFq<>o7Pia?4K@SRMN%UNg7N1 zaP2-4-I9hRe_Udsrc%*txuT24u9r$3G`9akV&E9|aE`A^Ow|6W0JdE574)$S1__Ks zIJ>C?;>By{X^1v4QN=)=m-WN!7I6JxbiQI=tl;uq^GTSXiH~JhNd5ZFDZTT~I+}Xvo!-<*vEx{f)hsWHd5Q6<# zX>FgV4k5pN%a$nY-*tz4K{f4Bw8_L3?tTBxP*isIj|%}i`<)~X=xME+#9Yx%b?Xs9 zi`{#%SYpK3-d5oBGN-$ZReHSp76?Agb;5x?;N2s+z>`lF$@F2hhYonA?Bn?#(AWrL z&$Q>ude8lq2BuEB?_{agxP3sO+e}wtke>SYf6Q)Mg|?zUAVT}+5Y@W%2Kw(%uJ!5v zzt`VsuK4!=c(xhXR>7j9hCkfMojMTTv9;za zVjr>Z*iV*)f{QuYM(}QJ5*G6H#DydF5&O<)filqcpHGEno18yy(B0&gx!%{pFP$^^ z1LK?LBN`oBbMAnB$i5X!w#!UNfiI5O8|=EBsLAF}TpcE9CbWXfAAj1IdvIY0nCeGi zVuqUWVvvfLs!1W04FKa7eS(1Xy2Y5ld&|9#!1Vl61+M;ki}xks`8L&{J}3J&Q*^%H zQ%5zQ`2P|;tg+JofP2Vci%ol^QM>A85i|~`PC+1>VF7F>=h%&ibjSTw!cEyAfrev} zIc(<*xyL?N6|vY(kt288u5Ie7Eb>eW&M0nDLW-^9VlQDq>O~q)WB2y!Tm1chw*sgT zW1^{&Z`l5OV}AgM(1}Su5MPygch3Fx$R5qsTwQP&(niT@HVc=2gJhr3qNdvfbn!$` z(#r`O4gkyVz+@a~tjhhSy5ed+4_CNt5^%NM#I`ej^NeU2JUviwkr0Met*>` zbJDW1vvKP!00h}&M#GM$F;lF32&>pZ_CJV1coKw=Mw2bC~zQE%pA#7=Rt zT@a5T2W~+FBpw=J!@~LYG4Ny*H;4DCx+DRQv#Gge%h@DcJtnSLJSiI15J6$0B}?Q4Py*!y zX(()O!CO*Jif=SCLsu|BA^1R|tD$3w*1VoO;=^`@0mk{+E!_15pImz!3%XfL3W)M2 z4iEDQB8+hY$UTwcC%&Ant3n5OCS=JyXfzF6)m!tO)}r`ilh7Ix3O(dfhj9q}uCd{4 z!K)g=zb-H1vRO)==9;)Kt6F{SZ$e%{F6DX{?@vhEV;i>CZtG6gklxn``Y)wI829(V zm$DRW6td8XxF?X)wX#{kP^Q))^0)`M!H_NT9?laD3mzc|P<$<%u)|?#cC*;JC%j%2 z+J#dCCw-L&dK6S(k$OR?zm1=@2%Z84fPfK4)FS&P+ffS-bn5$A;uwDhV+6hp!a$n> z3s|^Y(T4AdkG=z`Z8lit8XVbbHVW7Oe4Vn}%U4gKhI{WVT}$XqeeFg)aB8v49R~rd z{0)?HTP~{on|pp3YmDaIPeqGx!6coAk(91Cc7#vkLUcU@7`8UWHdo3`nb!e&O^`I7 zld`seW#)AX5W0!X_-5 zZXh$GxTGP(OY@E9g`Iy{*%%ESDYb$1{7ZM0o?{)tMN$dQLQkvZzZzKI<~67OYL zABDx7@NhM`6*r_mZZ?q;hKKnP$rD?KEvZT}{ko@YB0>G1(`!+HbVJh#%AQE%p@u9? zIWY*&IAV*c&&HL?bu6kHb}PhNoNIAIB_8iZE;vb@xf+BU{hO)6{%x~f9fFlUKQ>nO6BVhU?=5<$C!AEdzdagzhLlTn(zRdB^jC=zvx@&ZNP z9{~1<29d#h2tk8I!oH6}XilRvE0qhKr-k0l1zJAOq$_t}Z(h+3yLN0`uh>@i`=aWi z1T3()J-jQprm;N3Igq9&R%H>#S}IIUMFbfpN77YM0V8%RN^QnS$RhH08Rr!SWjxu}?PFuvqjr++p9>a+61XibC|+C6 zDGSEtOTt$oOsi|&8=xX-@#Ne?dt%`cy=|fLiozJy7zJ>Myn2v2I2?no-Z9FP(leTt z0nf-W2{7v)T@v6kxu$$M?_t?c#LI||ITK!y3Lz-sPm7Fw5V6#j?zA8FKoj9AJ2s<_ zQ`(jE6nR=^y;wnOU=+*eXs(9F9%FeUeRCmu8cGt0yEGgG+M&h;hb%Q*lOz%8Qh@?4;@w`w7R!U$Iu~`JyTv%*Lg>b>evhQr44`q8jesxhv+Z$tdZRvl?Xn< zo*Wu9G5~-Hc0^}O`38x5D313kfXPCJ$pHS}M!LrDb3>sT%xNA=Epp+pUMf=5a0Off zCx{xXrwX)!O-8GV$bFVMzH!8bVt`|pJJ16#%M3~cK{XN#mt}4cH;owG;2OaheUdKHvxsed+3=+7s`a&B$+U=i zaxHiQng5YsYlBnC{n*CLj}EEr`{V@oSQxD37!k`x4Ty4{*M+#eFM670uV`W|vuIvH zEngekdP(tVwwirhWdwJ29Okd$>RJTjdNuFP1IPbKme_623;mrO{9l){L( znZ-2)cx%ZVz(rbjHh^4gr;LtWP+f4oRy8kj?co+sc@wi>@mSxCv|_$3j}4ogyT(~r zsp(`A&asz7v%K+bBbM4gj=gW^&4c@v{Lad2itc!@gc+4V@456f@popb;7;?_5tzsLd?cId|L0< zi2iRE(ixfQhIHGc=j1UT`_5(5n@pSv8*)2g>2~1&yCEOgS$>5Fc5{)=17j@bL@XOi z%P79iR^yz7IT}`i_Fbzrg>nkA#TBI&u4_cNiE+S%dW=;*XTxlz%^)l8SFtG{k5C+F zQi~FKRuYN5*EdQVEi8!60~!;rr!3U>&MgkZY!)!S_&8n2K5!%#138t`SuNP8DVTzQ zJ@MPnO)P4(E5t>RF)jww4Wgial?!jQt{iL%(8w)lwX3&Ev3pKHZ`wp=%|NtGi=jcJ13Y= zd|k7`$NLZ~C(N(K95W=?<{cpr;D$iL3NS?QYkE!bYW*bxqQ*g>c4C1ho-knF_0J^3 z*C%U+WHyDm={D?N&!J?Vv3oPzX`WRHzR1NJ;TESuP{Ma_7-1BH9!PrXx+(<+^Gn3@ za;etW{`H^)3cS=OAfa$gTms#nfeP7)x#GDPLm1Fs5Bh%W%X&!I`%z7W zv;-F2Y$UtyE`5SR3VawSXf8VzT{rZfG~XS@x}p@iDwJvV15E&&1b=LRii38bWH=0V zyWFz)mKRXs@^$MAeV}Mn4+PXlfbetP-%`0h*sPXDDZZMH!g0)P-cYN}GmHjO-2@Se zsi?yyzsYln0O>ffg|EQ8SkdkWZnvs;@cy%sn4<=;%_X`~-0El&u9yiA^?Z>codHo? z2>d+N;NaXOPAVl)0KiK(<5q3KA>R3ksDTK z#M$7?*8*BeMWqFIeo=W3aT2rXPzfE`Lj1LlxvLMDbeQ79VX_&u5WQ0IJ@8!rBT1>~ z^rlQE`>ErIS$-8yj5+Z1pT(zV3l0geiCxkwxAoX}b(!YAD}h(#Rj=sYJdz|r6p6|@ zuyi0>C~Jyu+``*kf(*oOmpZ`XtefUis}fhpONj>@W`qlB06gevcx-ge?Yxr{H#BN8 zQUrn)j1o$-Z~5n`n^yIBImngc1IXSiHOE2 zS!zzaqmMJ6_|RkMPo(u_*wP)i-7*8eF%L7DNPErDVbeEgZLFq=6(|eKV@+5KI zEn`Q0WWphZeDN|~#jI2&N*=|ru4+nY;IC9e2`e=xI3Egj*<>90{@R!$Ql1T` zSNJZnw+^0l~d9%v&6Ac?X#7V+(&p@X!^0Os5j!DTTdyOH}d5NAm1=H~c87qR4 zO%F>~Jb{Xibb@o)zpGc#w<$c6*rI-5uwX#1q^FuCoC(f2^l0L?3@D@Wq=Y7)Bjs7- z>#<1x_J{6jF%6Kn2T(5=M9Da@a1}o#)?F4zSGGg6zvpmaewHHGhI0braVGRLKQ52_ zDC$DIj+{Wk&y?ZoJsH+R>r1jRo@Y<8!o(iU%!SG=H2D%KFVg;5dr}aF*@K7ncC>pm zSIO>~2-6uBq%8iR zQ(40&dw?voKyg&u_@Jn(_#&K&w7!O$I1a6OF_?4J@S@sqK86v_%xJKr&~hSh!rsP{ zSxf-B-jKOYu>M*SH()-}`wp9z&e$J1AG%Yy%Ckf4b(a>>Je}n%boKf3{j9rV(xLaN)yrdK&~<&D4xYXr zVhVor;eO-7M?8tI{2k*(@3X#W>NjXQJI`AD2LAWMeZD?#xNS0V?d;vBtuH0j2I`na zd73q3<_E9w(rYRO2Wct7+V5XaM+jg2k^MdUd;EHQIlZixMh{(8Fp|U)cvF7e`r5BE zhZ0Hf&An%3blX@NYQ^vNrFK-U6JrL(?Xnv@eEMaItXIoLRY*b8(QPGss<3aa;=i%* zSnT&(+5s&rNzRTGd&rgna0-w0`3jW`W72Mt0q$BWZD!&SIeA`;QKMn&FAHyik87J^ zD2IyKa_R~ZiL8o6Hg&J+7h3MdTb+@?vR5U#p9$@5pIC zAhOH0=^Lgvn%sAPHA@cH9)nn|2r$XvqBiRDS`tEO9p|L z5HjinWe}s-VHRjGwHS{*)ba{bUj_l4k!=MV%3sDH^Y#qd%l_}L0(mRUKm!~CHBMJs z@gPdi&Lz6M%z`;szGN4nG*O$sM9BvTkdr}HLzqScJ;3-`DA_@HbjLPRybA{Dn3$Z0 z(A?LlPJ&tsM{%_=LX2W5Ap?36@2TBmA6H>y^{EA)m)p4jLo^*B5X6zX$2Ww~uEVcH zU3G6N@RVq*haMGc8K!=;XC^$-CsM-84VFE!&NXfUGNEIp3*3qb(^BcGl!6D2RU(?q zU@39zhSq{*`9T@!5m%C4ICz5h%0yvvuzqR7VdT1NQ$pKG2%@mWjRtux!fx!K3LBac zsGL2yUr(Jw+_aWAbWw{V6}$d;8HZ}R4Xv|ujWMA}VGEQGeX|!V0CYtwLOGwLolVTA z622NiaFbc1b2GfkH~L@_BUY2=lg-GBe*Cx)$VEcW5I*x_)vSi1r}?6GfbtBh!`J>B z*u$;!WGVINTV#zqPOZu^fAOnc#+^1)N_Rccb)%~RoKj1Q64U+|$y%oUrBGM)4S<(V z&A#7*HS79t{g_pF5w0}VmB%O2XQ^=^>vSv_p*LXj9RwaKuS)&d`EftLTwbg-R&%oh zn2!)vRbEEmL4(`z+94Dt)DckQ`jsgU%fu!iJW4-N3lyobBpW?0SS(}@I92WmQ)`ee zGkgW($^El=gD$6vQK(fs*yxhW@9me`+7 zU%?QZTSMdQM*f;h#UXY*GpTZ;eixD^tn9S8g4Pk+jV9Ze4lzuL)yp*34a3$6@o%cJ z=Pc6LDGrdxyTuki3sA%jdL4A-DO&4&a!1iyrb~RD(Ww%QpaWnC^9*05(N&?}-@rCx zmPdVkNhDsxzY{hmy)1d*T#TlXv>CNGgc`7>>ZPwU2;kn0AW~fGMcM<5jI#e?NYN1S z?7nL|60KbkK{7wU!a&zU)z7^T>rPj^iQ0JSjlpMQORx?QQa<~)l* z3QjqRhm2fjqPj@8jC}%W1}wI-mNL>$eEI$L<#Au-;@d5)P7V)rv%<*A$Z+MJi;(7Q zZkaRlqx$faNR=u>c`t_`<%G@?R+{O$Zo3m z13oUml%M69f~r4zi>dP@@^5F>xzs&>lo{ono(~hQf$>g&A3xtP;vqT5zl-nL0RUgC zV8TCN{}0=Vm;%`0`X}B3KFy8{Eu6djnc}|aUxOp|cjzv{jrNm!(duDdUsuzX42*Ry z!xw3uB4GRgel^WN%a+p8NcCCVM+V<2!?CMqt^1C2O<=r@jP8OmB6$xIuhELjFcCRo zWsC^K5to%t5mLnzRw-`%zy8&!A2>O^9hViwW8Pvj4R}vaaWkXc1PQ#yyN#gv<^uE+77 zy8K5zv@wd?5TSJ&)Byp4wzgUME|XD+>C%er7{qrpWyDr3?+h+AL{pnZZN|uu{g(c! z>ftJTR6&?iM9(-5bxYHjBedVtyf}#LNfP@}f(J!LhWn8ZTHAY%0n2D(TaIDs>tSd{^U$Xj0HQ;Q_erozi_KvOUV8MIN$q0EE>-9GtB#~?u${%n3N zibDn=_>N<$ke`(GG%0JgcurTSYl&}FRP+Jz`We9bB7nweuLkPJKwZ!j^#`C{3wS0F z4*`ZVPveqIP;B(9l5^4Mw^;O+fYA1@5<4lKC|0O( z0~rzkxDZ%*AruP^HBgd5YG6!6*T8A3szDeuR)d7Auo^Lbm2Rg+y5>w&}SjlFh9KO}jlL%Vzdh%{69ScJ6iJJq&PTM)v|ws!{Dhyl^EG zz==g8XqJz|z{QgxMS?i-2Cp}6U0obDCL9Z9%;6otMJGn!#R;b0(a;fHGV;;bTkaHl zPx-haJq%NdR0)hDIOa?mVpflB!5W?eFSH^8im}k7`D=-n5T=oybY@K0v0NZ)VqElR zuwh9bZiBEDwe4ui5Y%Gs^7c*5=2WCLTQWkTU88a+IS3)IYn)S%u>`4b@)JR6OcRTV zgC<21_K%Adg`p-JI$DMi+&HG#{wk$1MdZtaCz9ZW z%NT=7xj`loLvEvEB|ZW*)6iIJKNAlWzwq0zU)gChW0hVp8%dZ}lq>JPxsorX_+Wf# z66QOkU}9g1?F9e-RIKXS{T+a65EujwK>!%|Ya6xBhj=B0SgGw(#_v2XWR@3YRX1(d z52Mn?E|yUDpX(M5D9SDQDw!mVZ9_lhao?}ckmPR z7szdPgKvhAcU<&FYpXSH1$fK051>2`8QN*qSFLb>)hOt}H|jB44ONmqK9*TZ*Mr z%1$|L+Kfe$rd&~KxKvzl(fLv>HB~+d+SuCJJ2*NyySP?1BaWTHi#HF_k`v7ABDAc9 z#qKk1C*H)mH@IJcZHUF*JhA4i1&e1bSu56>wP9@qUlz9pb2E%|P7TX~_gv=lDc-{K$ec)4?cExXO`sJr6l++?x+I>~C1^(32{!q$Ik`S+X};_v)F zgpju-P_5vpZ%o$GHu-HA_3u9nW&cC>R_Irg&;!)}e_H?mi@F(x literal 0 HcmV?d00001 diff --git a/docs/html/themes/d3/fonts/robotoslab-regular.eot b/docs/html/themes/d3/fonts/robotoslab-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..10a7a2b6d2d836dcd1501f7d8fec3dcaba773e9c GIT binary patch literal 39066 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/html/themes/d3/fonts/robotoslab-regular.ttf b/docs/html/themes/d3/fonts/robotoslab-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9c36f36071729ae3ea3e8d5f1875a09729b44301 GIT binary patch literal 38804 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 T{)-s=)*Ow;-L0K>i!prwlD(7=Kk;_r0 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",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/\s*$/g,ra={option:[1,""],legend:[1,"

","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?""!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m(" + [{/if}] + + [{if $payment->oxpayments__oxlongdesc->value}] +
+ [{$payment->oxpayments__oxlongdesc->value}] +
+ [{/if}] + +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + [{if $iframeUrl}] + + [{/if}] +
+ +[{if $iframeUrl}] + [{capture name="emptyCapture"}] + + [{/capture}] +[{/if}] +[{oxscript add=$smarty.capture.d3JavaScript}] + + +
+ + + +
[{oxmultilang ident="D3HEIDELPAY_SENDING_FORMULAR"}]
+ + + diff --git a/src/views/azure/tpl/payment/btobbillpurchase.tpl b/src/views/azure/tpl/payment/btobbillpurchase.tpl new file mode 100644 index 00000000..6db730b2 --- /dev/null +++ b/src/views/azure/tpl/payment/btobbillpurchase.tpl @@ -0,0 +1,66 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] + +[{if empty($d3hpPaymentFormulars.$sPaymentID)}] + [{assign var='blD3HeidelpayAllowBtoBBillPurchase' value=false}] +[{/if}] + +[{block name="heidelpay_btobbillpurchase"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowBtoBBillPurchase}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_BTOBBILLPURCHASESECURED_NOTICE" args=$iD3HeidelpayBtoBBillPurchaseLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{if $blD3HeidelpayAllowBtoBBillPurchase}] +
    + [{foreach from=$d3hpPaymentFormulars.$sPaymentID item="d3hpPaymentFormular" key="d3hpPaymentID"}] + [{include file="d3_heidelpay_views_azure_tpl_forms_`$d3hpPaymentFormular->type`.tpl" d3hpPaymentFormular=$d3hpPaymentFormular d3HeidelpayB2BParameters=$d3HeidelpayParameters.$sPaymentID}] + [{/foreach}] +
+ +
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+ + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] + [{/block}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/cards.tpl b/src/views/azure/tpl/payment/cards.tpl new file mode 100644 index 00000000..98f81a1d --- /dev/null +++ b/src/views/azure/tpl/payment/cards.tpl @@ -0,0 +1,35 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + +[{block name="heidelpay_cards"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{foreach from=$aBrands item='sBrandName' key='sBrandIdent'}] + [{assign var="sBrandIdent" value=$sBrandIdent|lower}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{/foreach}] +
+
+
    +
  • +
    [{oxmultilang ident="D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4"}]
    +
  • +
+ + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/debitnote.tpl b/src/views/azure/tpl/payment/debitnote.tpl new file mode 100644 index 00000000..b0e33e1d --- /dev/null +++ b/src/views/azure/tpl/payment/debitnote.tpl @@ -0,0 +1,158 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var="iPayError" value=$oView->getPaymentError()}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentELV" value='ELV'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_elv.jpg'}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + + +[{capture name="doNotShow"}] + +[{/capture}] +[{oxscript add=$smarty.capture.javaScript}] + +[{block name="heidelpay_debitnote"}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + [{/if}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdentELV}] + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] +
+ + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxDay_'|cat:$sPaymentID|cat:'\').oxInnerLabel();'}] + + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxYear_'|cat:$sPaymentID|cat:'\').oxInnerLabel();'}] +

+ [{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }] + [{ oxmultilang ident="ERROR_MESSAGE_INCORRECT_DATE" }] +

+
+ [{/if}] + +
    +
  • + + + [{if !empty($dynvalue.lsland)}] + [{oxscript add='$(\'#sCountrySelected_'|cat:$sPaymentID|cat:"').val('":cat|$dynvalue.lsland|cat:"').trigger('change');"}] + [{/if}] +
  • +
  • + + +

    + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

    +
  • +
  • + + +

    + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

    +
  • +
  • + + +

    + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

    +
  • +
+ + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+ [{/if}] + [{/block}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/easycredit.tpl b/src/views/azure/tpl/payment/easycredit.tpl new file mode 100644 index 00000000..04972d84 --- /dev/null +++ b/src/views/azure/tpl/payment/easycredit.tpl @@ -0,0 +1,55 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign_adv var="returnParameter" value="array('configoptintext', 'accountbrand', 'transactionid', 'd3transactionlogid')"}] +[{assign var="responseParameter" value=$oHeidelpayViewConfig->getAction($oHeidelPayment, 'IN', $returnParameter)}] +[{assign var="sBrandIdent" value=$responseParameter.accountbrand}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +[{block name="heidelpay_easycredit"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowEasyCredit}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE" args=$iD3HeidelpayEasycreditLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{if $blD3HeidelpayAllowEasyCredit && $blD3HeidelpayHasSameAdresses}] + [{if $blD3HeidelpayEasycreditNotChecked}] +
+ [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED"}] +
+ [{/if}] +
+ + +
+ [{/if}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/eps.tpl b/src/views/azure/tpl/payment/eps.tpl new file mode 100644 index 00000000..c2e6e94c --- /dev/null +++ b/src/views/azure/tpl/payment/eps.tpl @@ -0,0 +1,67 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentEPS" value='EPS'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_eps.jpg'}] + +[{block name="heidelpay_eps"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowEPS}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EPS_NOTICE"}] + [{/if}] +
+
+
    +
  • + + + +

    + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PAGE_EXCEPTION_INPUT_NOTALLFIELDS"}] +

    +
  • + [{if $blD3HeidelpayAllowEPS}] +
  • + + + +
  • + [{/if}] +
+ [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/giropay.tpl b/src/views/azure/tpl/payment/giropay.tpl new file mode 100644 index 00000000..e6b818ac --- /dev/null +++ b/src/views/azure/tpl/payment/giropay.tpl @@ -0,0 +1,42 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.GIROPAY}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:4:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.jpg'}] + +[{block name="heidelpay_giropay"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
+
+ [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|@strip_tags|trim}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+ [{/if}] + [{/block}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/ideal.tpl b/src/views/azure/tpl/payment/ideal.tpl new file mode 100644 index 00000000..360150e0 --- /dev/null +++ b/src/views/azure/tpl/payment/ideal.tpl @@ -0,0 +1,60 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentIdeal" value='iDeal'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ideal.jpg'}] + +[{block name="heidelpay_ideal"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdentIdeal}] + [{if false == $blD3HeidelpayAllowIdeal}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IDEAL_NOTICE"}] + [{/if}] +
+
+ [{if $blD3HeidelpayAllowIdeal}] + [{if is_array($aBrands) && 1 < count($aBrands)}] +
    +
  • + + + +
  • +
+ [{elseif is_array($aBrands)}] + [{assign var='current' value=$aBrands|@current}] + + [{else}] + + [{/if}] + [{/if}] + + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] + diff --git a/src/views/azure/tpl/payment/invoice.tpl b/src/views/azure/tpl/payment/invoice.tpl new file mode 100644 index 00000000..9aef6c4b --- /dev/null +++ b/src/views/azure/tpl/payment/invoice.tpl @@ -0,0 +1,90 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayAllowInvoiceSecured}] +[{/if}] + +[{block name="heidelpay_invoice"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_INVOICESECURED_NOTICE" args=$iD3HeidelpayInvoiceSecuredLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{if $blShowPaymentMethod}] +
+ + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxDay_'|cat:$sPaymentID|cat:'\').oxInnerLabel();'}] + + + + [{oxscript include="js/widgets/oxinnerlabel.js" priority=10 }] + [{oxscript add='$(\'#oxYear_'|cat:$sPaymentID|cat:'\').oxInnerLabel();'}] +

+ [{ oxmultilang ident="ERROR_MESSAGE_INPUT_NOTALLFIELDS" }] + [{ oxmultilang ident="ERROR_MESSAGE_INCORRECT_DATE" }] +

+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|trim}] +
+ [{ $paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+ [{/if}] + [{/block}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/masterpass.tpl b/src/views/azure/tpl/payment/masterpass.tpl new file mode 100644 index 00000000..29562f29 --- /dev/null +++ b/src/views/azure/tpl/payment/masterpass.tpl @@ -0,0 +1,27 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.MASTERPASS|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_masterpass"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
+
+ [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/paypal.tpl b/src/views/azure/tpl/payment/paypal.tpl new file mode 100644 index 00000000..05bd75ea --- /dev/null +++ b/src/views/azure/tpl/payment/paypal.tpl @@ -0,0 +1,35 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.PAYPAL|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_paypal"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/postfinance.tpl b/src/views/azure/tpl/payment/postfinance.tpl new file mode 100644 index 00000000..10cb71bc --- /dev/null +++ b/src/views/azure/tpl/payment/postfinance.tpl @@ -0,0 +1,46 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] + +[{block name="heidelpay_postfinance"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sImageUrl|cat:'logo_postfinance.png' sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowPostFinance}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE"}] + [{/if}] +
+
+ [{if $blD3HeidelpayAllowPostFinance}] +
    +
  • + + +
  • +
+ [{/if}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/przelewy24.tpl b/src/views/azure/tpl/payment/przelewy24.tpl new file mode 100644 index 00000000..0ef26376 --- /dev/null +++ b/src/views/azure/tpl/payment/przelewy24.tpl @@ -0,0 +1,32 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="sBrandIdent" value='PRZELEWY24'|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_przelewy"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] + [{if false == $blD3HeidelpayAllowPrzelewy24}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE"}] + [{/if}] +
+
+ [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->value}] +
+ [{/if}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/payment/sofort.tpl b/src/views/azure/tpl/payment/sofort.tpl new file mode 100644 index 00000000..9d211cb6 --- /dev/null +++ b/src/views/azure/tpl/payment/sofort.tpl @@ -0,0 +1,42 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.SOFORT}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:6:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.png'}] + +[{block name="heidelpay_sofortueberweisung"}] +
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +
+
+ [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value|@strip_tags|trim}] +
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+ [{/if}] + [{/block}] +
+
+[{/block}] diff --git a/src/views/azure/tpl/shippingandpayment.tpl b/src/views/azure/tpl/shippingandpayment.tpl new file mode 100644 index 00000000..59723786 --- /dev/null +++ b/src/views/azure/tpl/shippingandpayment.tpl @@ -0,0 +1,17 @@ +[{if $d3HpShowEasyCreditParameter}] + [{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + [{assign var="sBrandIdent" value='EASYCREDIT'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] +
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TITLE"}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +

+
+
[{$d3HPEASYCREDIT_AMORTISATIONTEXT}]
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +
+
+[{/if}] + diff --git a/src/views/azure/tpl/storeduid.tpl b/src/views/azure/tpl/storeduid.tpl new file mode 100644 index 00000000..e90632a2 --- /dev/null +++ b/src/views/azure/tpl/storeduid.tpl @@ -0,0 +1,47 @@ +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="storeDatas" value=$oView->getUserHPStoreData($payment->getId())}] +[{assign var="d3HeidelpayPostparameter" value=$oView->d3GetHeidelpayPostparameter()}] +
+ [{foreach from=$d3HeidelpayPostparameter key="inputName" item="inputValue"}] + + [{/foreach}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + + + [{foreach from=$storeDatas item="storeData" key="storeDataId" name="storedDataIds"}] + + [{/foreach}] + +
+ [{oxmultilang ident="D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO"}] +
+ +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + +
+
diff --git a/src/views/azure/tpl/thankyou/easycreditcriterions.tpl b/src/views/azure/tpl/thankyou/easycreditcriterions.tpl new file mode 100644 index 00000000..3b91853f --- /dev/null +++ b/src/views/azure/tpl/thankyou/easycreditcriterions.tpl @@ -0,0 +1,12 @@ +[{if $easyCreditInformations}] +
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

+
+[{/if}] diff --git a/src/views/blocks/admin_headitem_inccss.tpl b/src/views/blocks/admin_headitem_inccss.tpl new file mode 100644 index 00000000..b9c31849 --- /dev/null +++ b/src/views/blocks/admin_headitem_inccss.tpl @@ -0,0 +1,8 @@ +[{$smarty.block.parent}] +[{if $oViewConf->getActiveClassName() == 'd3_heidelpay_controllers_admin_adminlist' +|| $oViewConf->getActiveClassName() == 'd3_heidelpay_controllers_admin_transactionloglist' +|| $oViewConf->getActiveClassName() == 'd3_heidelpay_controllers_admin_order_heidelpay' }] + [{assign var="sCssUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/src/css/')}] + + +[{/if}] diff --git a/src/views/blocks/base_style.tpl b/src/views/blocks/base_style.tpl new file mode 100644 index 00000000..5bbb6ed2 --- /dev/null +++ b/src/views/blocks/base_style.tpl @@ -0,0 +1,11 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3heidelpay"}] +[{/d3modcfgcheck}] + +[{if $oViewConf->getActiveClassName() == 'payment' || $oViewConf->getActiveClassName() == 'order'}] + [{if $mod_d3heidelpay}] + [{oxstyle include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/css/d3heidelpay.css')}] + [{/if}] +[{/if}] + diff --git a/src/views/blocks/change_payment.tpl b/src/views/blocks/change_payment.tpl new file mode 100644 index 00000000..20cd92bb --- /dev/null +++ b/src/views/blocks/change_payment.tpl @@ -0,0 +1,22 @@ +[{if !$oHeidelpayViewConfig}] + [{$smarty.block.parent}] +[{else}] + [{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + [{if $mod_d3heidelpay}] + [{$smarty.block.parent}] + + [{capture name="doNotUse"}] + + [{/capture}] + + [{oxscript add=$smarty.capture.d3JavaScriptForHeidelpay}] + [{/if}] +[{/if}] diff --git a/src/views/blocks/checkout_basketcontents_grandtotal.tpl b/src/views/blocks/checkout_basketcontents_grandtotal.tpl new file mode 100644 index 00000000..8e610b35 --- /dev/null +++ b/src/views/blocks/checkout_basketcontents_grandtotal.tpl @@ -0,0 +1,9 @@ +[{$smarty.block.parent}] +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $oViewConf->getActiveClassname() === 'order'}] + [{assign var="easyCreditInformations" value=$oView->getHeidelpayEasyCreditInformations()}] + [{if isset($easyCreditInformations)}] + [{include file=$oView->d3GetTemplateName('order_easycreditcriterions') easyCreditInformations=$easyCreditInformations}] + [{/if}] +[{/if}] diff --git a/src/views/blocks/checkout_payment_errors.tpl b/src/views/blocks/checkout_payment_errors.tpl new file mode 100644 index 00000000..8253f03f --- /dev/null +++ b/src/views/blocks/checkout_payment_errors.tpl @@ -0,0 +1,8 @@ +[{d3modcfgcheck modid="d3heidelpay"}] +[{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $d3heidelpayErrorCodes && $oHeidelpayViewConfig->getPaymentError() == -99}] + [{include file=$oView->d3GetMessageTemplateName()}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/views/blocks/checkout_thankyou_info.tpl b/src/views/blocks/checkout_thankyou_info.tpl new file mode 100644 index 00000000..a8a02b25 --- /dev/null +++ b/src/views/blocks/checkout_thankyou_info.tpl @@ -0,0 +1,17 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay }] + [{assign var="oPrePaymentData" value=$order->getHeidelpayBankTransferData()}] + [{assign var="easyCreditInformations" value=$order->getHeidelpayEasyCreditInformations()}] + + [{if $oPrePaymentData}] + [{include file=$oView->d3GetBankTransferDataTemplateName()}] + [{/if}] + + [{if isset($easyCreditInformations)}] + [{assign var="currency" value=$oView->getActCurrency()}] + [{include file=$oView->d3GetTemplateName('thankyou_easycreditcriterions') easyCreditInformations=$easyCreditInformations}] + [{/if}] +[{/if}] diff --git a/src/views/blocks/email_html_order_cust_paymentinfo.tpl b/src/views/blocks/email_html_order_cust_paymentinfo.tpl new file mode 100644 index 00000000..83526cd0 --- /dev/null +++ b/src/views/blocks/email_html_order_cust_paymentinfo.tpl @@ -0,0 +1,42 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay }] + [{assign var="oPrePaymentData" value=$order->getHeidelpayBankTransferData()}] + [{assign var="easyCreditInformations" value=$order->getHeidelpayEasyCreditInformations()}] + + [{if $oPrePaymentData}] +
+

+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT1"}] +
+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT2"}] +

+

+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

+
+
+
+ [{/if}] + + [{if $easyCreditInformations}] +
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

+
+ [{/if}] +[{/if}] + +[{$smarty.block.parent}] + diff --git a/src/views/blocks/email_plain_order_cust_paymentinfo.tpl b/src/views/blocks/email_plain_order_cust_paymentinfo.tpl new file mode 100644 index 00000000..2d816d95 --- /dev/null +++ b/src/views/blocks/email_plain_order_cust_paymentinfo.tpl @@ -0,0 +1,24 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}][{if $mod_d3heidelpay }][{assign var="oPrePaymentData" value=$order->getHeidelpayBankTransferData()}] +[{assign var="easyCreditInformations" value=$order->getHeidelpayEasyCreditInformations()}] +[{if $oPrePaymentData}] +########################################################## + +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT1"}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_INFOTEXT2"}] + +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +[{oxmultilang ident="D3HEIDELPAY_EMAIL_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] + + +########################################################## +[{/if}] +[{if $easyCreditInformations}]########################################################## +[{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +[{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +[{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}]: [{$easyCreditInformations.criterion_easycredit_precontractinformationurl}] +##########################################################[{/if}] +[{/if}] +[{$smarty.block.parent}] diff --git a/src/views/blocks/select_payment.tpl b/src/views/blocks/select_payment.tpl new file mode 100644 index 00000000..e1eb37ea --- /dev/null +++ b/src/views/blocks/select_payment.tpl @@ -0,0 +1,7 @@ +[{d3modcfgcheck modid="d3heidelpay"}][{/d3modcfgcheck}] + +[{if $mod_d3heidelpay && $oView->d3IsHeidelpayPaymentMethode($paymentmethod)}] + [{include file=$oView->d3GetPaymentFormTemplateName($paymentmethod)}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/views/blocks/shippingandpayment.tpl b/src/views/blocks/shippingandpayment.tpl new file mode 100644 index 00000000..082403f0 --- /dev/null +++ b/src/views/blocks/shippingandpayment.tpl @@ -0,0 +1,7 @@ +[{$smarty.block.parent}] +[{d3modcfgcheck modid="d3heidelpay"}] +[{/d3modcfgcheck}] + +[{if $mod_d3heidelpay}] + [{include file=$oView->d3GetTemplateName('shippingandpayment')}] +[{/if}] diff --git a/src/views/flow/tpl/banktransferdata.tpl b/src/views/flow/tpl/banktransferdata.tpl new file mode 100644 index 00000000..39d5dc4b --- /dev/null +++ b/src/views/flow/tpl/banktransferdata.tpl @@ -0,0 +1,16 @@ +
+

+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1"}] +
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2"}] +

+ +

+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

+
diff --git a/src/views/flow/tpl/cc_input.tpl b/src/views/flow/tpl/cc_input.tpl new file mode 100644 index 00000000..93346d6d --- /dev/null +++ b/src/views/flow/tpl/cc_input.tpl @@ -0,0 +1,12 @@ +[{capture append="oxidBlock_content"}] + [{* ordering steps *}] + [{include file="page/checkout/inc/steps.tpl" active=4}] +
+
[{oxmultilang ident="D3HEIDELPAY_CC_INPUT_TITLENR"}]
+
+ [{include file=$oView->d3GetAfterStepTemplate()}] +
+
+ [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{include file="layout/page.tpl"}] diff --git a/src/views/flow/tpl/forms/birthdate.tpl b/src/views/flow/tpl/forms/birthdate.tpl new file mode 100644 index 00000000..a21900a2 --- /dev/null +++ b/src/views/flow/tpl/forms/birthdate.tpl @@ -0,0 +1,51 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3HeidelpayB2BParameters.$parameterName)}] + [{assign var='d3hpPaymentFormularValue' value=$d3HeidelpayB2BParameters.$parameterName}] +[{elseif isset($d3hpPaymentFormular->value)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->value}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{elseif NOT empty($d3hpPaymentFormular->standard)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->standard}] +[{/if}] + +[{capture name="birthdateFormAttributes"}] + [{foreach from=$d3hpPaymentFormular->attributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{$attributeValue}]" + [{/foreach}] + [{foreach from=$d3hpPaymentFormular->translationAttributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{oxmultilang ident=$attributeValue noerror=1}]" + [{/foreach}] +[{/capture}] + +
+ +
+ +
+
+ +
+
+ +
+
diff --git a/src/views/flow/tpl/forms/radio.tpl b/src/views/flow/tpl/forms/radio.tpl new file mode 100644 index 00000000..6451881e --- /dev/null +++ b/src/views/flow/tpl/forms/radio.tpl @@ -0,0 +1,25 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3hpPaymentFormular->value)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->value}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{/if}] +
+
+ +
+
diff --git a/src/views/flow/tpl/forms/select.tpl b/src/views/flow/tpl/forms/select.tpl new file mode 100644 index 00000000..1551a5c3 --- /dev/null +++ b/src/views/flow/tpl/forms/select.tpl @@ -0,0 +1,44 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3HeidelpayB2BParameters.$parameterName)}] + [{assign var='d3hpPaymentFormularValue' value=$d3HeidelpayB2BParameters.$parameterName}] +[{elseif isset($d3hpPaymentFormular->value)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->value}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{elseif NOT empty($d3hpPaymentFormular->standard)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->standard}] +[{/if}] + +
+ +
+ +
+
diff --git a/src/views/flow/tpl/forms/text.tpl b/src/views/flow/tpl/forms/text.tpl new file mode 100644 index 00000000..695734ea --- /dev/null +++ b/src/views/flow/tpl/forms/text.tpl @@ -0,0 +1,38 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3HeidelpayB2BParameters.$parameterName)}] + [{assign var='d3hpPaymentFormularValue' value=$d3HeidelpayB2BParameters.$parameterName}] +[{elseif isset($d3hpPaymentFormular->d3hpPaymentFormularValue)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->d3hpPaymentFormularValue}] +[{elseif isset($d3hpPaymentFormular->d3hpPaymentFormularValueTranslation)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->d3hpPaymentFormularValueTranslation|oxmultilangassign}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{elseif NOT empty($d3hpPaymentFormular->valuesFromUser)}] + [{foreach from=$d3hpPaymentFormular->valuesFromUser item="valueFromUser" name="d3hpPaymentFormular"}] + [{if $smarty.foreach.d3hpPaymentFormular.iteration > 1}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormularValue|cat:' '}] + [{/if}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormularValue|cat:$oxcmp_user->getFieldData($valueFromUser)}] + [{/foreach}] +[{/if}] + +
+ +
+ attributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{$attributeValue}]" + [{/foreach}] + [{foreach from=$d3hpPaymentFormular->translationAttributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{oxmultilang ident=$attributeValue noerror=1}]" + [{/foreach}] + > +
+
diff --git a/src/views/flow/tpl/forms/title.tpl b/src/views/flow/tpl/forms/title.tpl new file mode 100644 index 00000000..9eafeaf6 --- /dev/null +++ b/src/views/flow/tpl/forms/title.tpl @@ -0,0 +1,5 @@ +
+

+ [{oxmultilang ident=$d3hpPaymentFormular->name}] +

+
diff --git a/src/views/flow/tpl/messages.tpl b/src/views/flow/tpl/messages.tpl new file mode 100644 index 00000000..39f8352d --- /dev/null +++ b/src/views/flow/tpl/messages.tpl @@ -0,0 +1,17 @@ +
+ [{if $d3heidelpayErrorCodes.OXCODE}] + [{assign var="langident" value=$d3heidelpayErrorCodes.OXCODE}] + [{oxmultilang ident="d3heidelpay_$langident"}] + [{else}] + [{oxmultilang ident="D3PAYMENT_EXT_NOTEXT"}] + [{/if}] +
+ + [{if $d3heidelpayErrorCodes.OXTYPE == "1"}] [{* Fehlerkategorie: Eingabefehler *}] + [{oxmultilang ident="D3PAYMENT_EXT_CHECK"}] + [{elseif $d3heidelpayErrorCodes.OXTYPE == "2"}] [{* Fehlerkategorie: Technischer Fehler *}] + [{oxmultilang ident="D3PAYMENT_EXT_TRYLATER"}] + [{elseif $d3heidelpayErrorCodes.OXTYPE == "3"}] [{* Fehlerkategorie: Betrugsversuch? *}] + [{oxmultilang ident="D3PAYMENT_EXT_CHANGEPAYMENT"}] + [{/if}] +
diff --git a/src/views/flow/tpl/order/easycreditcriterions.tpl b/src/views/flow/tpl/order/easycreditcriterions.tpl new file mode 100644 index 00000000..1199b99c --- /dev/null +++ b/src/views/flow/tpl/order/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] + + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] + [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] + + + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] + [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] + +[{/if}] diff --git a/src/views/flow/tpl/order_iframe.tpl b/src/views/flow/tpl/order_iframe.tpl new file mode 100644 index 00000000..056c53b8 --- /dev/null +++ b/src/views/flow/tpl/order_iframe.tpl @@ -0,0 +1,177 @@ +[{oxscript include="js/libs/jquery.min.js"}] +[{oxscript include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/js/jquery.simple.timer/jquery.simple.timer.js')}] + +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="cardTypeTimeOut" value=$oHeidelpayViewConfig->getHeidelpayConfVar('cardtypetimeout')}] +[{if false == $cardTypeTimeOut}] + [{assign var="cardTypeTimeOut" value="600"}] +[{/if}] + +
+
+ [{oxmultilang ident="D3HEIDELPAY_TIMEOUT_TIMER"}] +
+
+ [{if $isThreeDSecure}] + [{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] + [{assign var="iframeUrl" value=$o3DSecure->sRedirectURL}] + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + [{else}] + [{assign var="iframeUrl" value=$oHeidelpayViewConfig->getHeidelpayNgwIFrameUrl($oHeidelPayment)}] + [{/if}] + + [{**}] + + [{if $iframeUrl}] + + [{/if}] + + [{if $payment->oxpayments__oxlongdesc->value}] +
+ [{$payment->oxpayments__oxlongdesc->value}] +
+ [{/if}] + +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + [{if $iframeUrl}] + +
+ [{/if}] +
+
+[{if $iframeUrl}] + [{capture name="emptyCapture"}] + + [{/capture}] +[{/if}] +[{oxscript add=$smarty.capture.d3JavaScript}] + + + + diff --git a/src/views/flow/tpl/payment/btobbillpurchase.tpl b/src/views/flow/tpl/payment/btobbillpurchase.tpl new file mode 100644 index 00000000..70b4a4a0 --- /dev/null +++ b/src/views/flow/tpl/payment/btobbillpurchase.tpl @@ -0,0 +1,87 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] + +[{if empty($d3hpPaymentFormulars.$sPaymentID)}] + [{assign var='blD3HeidelpayAllowBtoBBillPurchase' value=false}] +[{/if}] + +[{block name="heidelpay_btobbillpurchase"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowBtoBBillPurchase}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_BTOBBILLPURCHASESECURED_NOTICE" args=$iD3HeidelpayBtoBBillPurchaseLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayAllowBtoBBillPurchase}] + [{foreach from=$d3hpPaymentFormulars.$sPaymentID item="d3hpPaymentFormular" key="d3hpPaymentID"}] + [{include file="d3_heidelpay_views_flow_tpl_forms_`$d3hpPaymentFormular->type`.tpl" d3hpPaymentFormular=$d3hpPaymentFormular d3HeidelpayB2BParameters=$d3HeidelpayParameters.$sPaymentID}] + [{/foreach}] + +
+
+
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+
+
+ + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/cards.tpl b/src/views/flow/tpl/payment/cards.tpl new file mode 100644 index 00000000..f423fc55 --- /dev/null +++ b/src/views/flow/tpl/payment/cards.tpl @@ -0,0 +1,56 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + +[{block name="heidelpay_cards"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] +
+
+
[{oxmultilang ident="D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4"}]
+
+
+ + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/debitnote.tpl b/src/views/flow/tpl/payment/debitnote.tpl new file mode 100644 index 00000000..6bedc59d --- /dev/null +++ b/src/views/flow/tpl/payment/debitnote.tpl @@ -0,0 +1,184 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var="iPayError" value=$oView->getPaymentError()}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentELV" value='ELV'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_elv.jpg'}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + +[{capture name="doNotShow"}] + +[{/capture}] +[{oxscript add=$smarty.capture.javaScript}] + +[{block name="heidelpay_debitnote"}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + [{/if}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] +
+ +
+ +
+
+ +
+
+ +
+
+
+
+
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+
+
+ [{/if}] + +
+ +
+ + [{if !empty($dynvalue.lsland)}] + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] + [{/if}] +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/easycredit.tpl b/src/views/flow/tpl/payment/easycredit.tpl new file mode 100644 index 00000000..54facb9e --- /dev/null +++ b/src/views/flow/tpl/payment/easycredit.tpl @@ -0,0 +1,82 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign_adv var="returnParameter" value="array('configoptintext', 'accountbrand', 'transactionid', 'd3transactionlogid')"}] +[{assign var="responseParameter" value=$oHeidelpayViewConfig->getAction($oHeidelPayment, 'IN', $returnParameter)}] +[{assign var="sBrandIdent" value=$responseParameter.accountbrand}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +[{block name="heidelpay_easycredit"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowEasyCredit}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE" args=$iD3HeidelpayEasycreditLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayAllowEasyCredit && $blD3HeidelpayHasSameAdresses}] +
+
+ [{if $blD3HeidelpayEasycreditNotChecked}] +
+ [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED"}] +
+ [{/if}] +
+ + +
+
+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/eps.tpl b/src/views/flow/tpl/payment/eps.tpl new file mode 100644 index 00000000..6fec6aea --- /dev/null +++ b/src/views/flow/tpl/payment/eps.tpl @@ -0,0 +1,79 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentEPS" value='EPS'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_eps.jpg'}] + +[{block name="heidelpay_eps"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowEPS}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EPS_NOTICE"}] + [{/if}] +
+
+
+ +
+ +
+
+ [{if $blD3HeidelpayAllowEPS}] +
+ + +
+ +
+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/giropay.tpl b/src/views/flow/tpl/payment/giropay.tpl new file mode 100644 index 00000000..b0f00bf3 --- /dev/null +++ b/src/views/flow/tpl/payment/giropay.tpl @@ -0,0 +1,50 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.GIROPAY}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:4:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.jpg'}] + +[{block name="heidelpay_giropay"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/ideal.tpl b/src/views/flow/tpl/payment/ideal.tpl new file mode 100644 index 00000000..d5b6d31a --- /dev/null +++ b/src/views/flow/tpl/payment/ideal.tpl @@ -0,0 +1,85 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentIdeal" value='iDeal'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ideal.jpg'}] + +[{block name="heidelpay_ideal"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowIdeal}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IDEAL_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayAllowIdeal}] + [{if is_array($aBrands) && 1 < count($aBrands)}] +
+ + +
+ +
+
+ [{elseif is_array($aBrands)}] + [{assign var='current' value=$aBrands|@current}] + + [{else}] + + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] + diff --git a/src/views/flow/tpl/payment/invoice.tpl b/src/views/flow/tpl/payment/invoice.tpl new file mode 100644 index 00000000..6bc2315f --- /dev/null +++ b/src/views/flow/tpl/payment/invoice.tpl @@ -0,0 +1,104 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayAllowInvoiceSecured}] +[{/if}] + +[{block name="heidelpay_invoice"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_INVOICESECURED_NOTICE" args=$iD3HeidelpayInvoiceSecuredLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blShowPaymentMethod}] +
+ +
+ +
+
+ +
+
+ +
+
+
+
+
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+
+
+ [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/masterpass.tpl b/src/views/flow/tpl/payment/masterpass.tpl new file mode 100644 index 00000000..85f3b8c5 --- /dev/null +++ b/src/views/flow/tpl/payment/masterpass.tpl @@ -0,0 +1,49 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.MASTERPASS|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_masterpass"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/paypal.tpl b/src/views/flow/tpl/payment/paypal.tpl new file mode 100644 index 00000000..314f6857 --- /dev/null +++ b/src/views/flow/tpl/payment/paypal.tpl @@ -0,0 +1,57 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.PAYPAL|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_paypal"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/postfinance.tpl b/src/views/flow/tpl/payment/postfinance.tpl new file mode 100644 index 00000000..076031fb --- /dev/null +++ b/src/views/flow/tpl/payment/postfinance.tpl @@ -0,0 +1,58 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] + +[{block name="heidelpay_postfinance"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowPostFinance}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE"}] + [{/if}] +
+
+ [{if $blD3HeidelpayAllowPostFinance}] +
+ +
+ +
+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/przelewy24.tpl b/src/views/flow/tpl/payment/przelewy24.tpl new file mode 100644 index 00000000..64641db6 --- /dev/null +++ b/src/views/flow/tpl/payment/przelewy24.tpl @@ -0,0 +1,54 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="sBrandIdent" value='przelewy24'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_przelewy"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowPrzelewy24}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/payment/sofort.tpl b/src/views/flow/tpl/payment/sofort.tpl new file mode 100644 index 00000000..a08d1f1d --- /dev/null +++ b/src/views/flow/tpl/payment/sofort.tpl @@ -0,0 +1,50 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.SOFORT}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:6:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.png'}] + +[{block name="heidelpay_sofortueberweisung"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/flow/tpl/shippingandpayment.tpl b/src/views/flow/tpl/shippingandpayment.tpl new file mode 100644 index 00000000..a7eb6bce --- /dev/null +++ b/src/views/flow/tpl/shippingandpayment.tpl @@ -0,0 +1,19 @@ +[{if $d3HpShowEasyCreditParameter}] + [{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + [{assign var="sBrandIdent" value='EASYCREDIT'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] +
+
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TITLE"}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +

+
+
+
[{$d3HPEASYCREDIT_AMORTISATIONTEXT}]
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +
+
+[{/if}] + diff --git a/src/views/flow/tpl/storeduid.tpl b/src/views/flow/tpl/storeduid.tpl new file mode 100644 index 00000000..d3cbda04 --- /dev/null +++ b/src/views/flow/tpl/storeduid.tpl @@ -0,0 +1,55 @@ +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="storeDatas" value=$oView->getUserHPStoreData($payment->getId())}] +[{assign var="d3HeidelpayPostparameter" value=$oView->d3GetHeidelpayPostparameter()}] +
+ [{foreach from=$d3HeidelpayPostparameter key="inputName" item="inputValue"}] + + [{/foreach}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + +
+ [{foreach from=$storeDatas item="storeData" key="storeDataId" name="storedDataIds"}] +
+ +
+ [{/foreach}] + +
+ +
+
+
+ [{oxmultilang ident="D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO"}] +
+ +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_PAGE_BACKSTEPT"}] + +
+
+
diff --git a/src/views/flow/tpl/thankyou/easycreditcriterions.tpl b/src/views/flow/tpl/thankyou/easycreditcriterions.tpl new file mode 100644 index 00000000..b6fd2a29 --- /dev/null +++ b/src/views/flow/tpl/thankyou/easycreditcriterions.tpl @@ -0,0 +1,12 @@ +[{if $easyCreditInformations}] +
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

+
+[{/if}] diff --git a/src/views/tpl/email/html/prepayment_cust.tpl b/src/views/tpl/email/html/prepayment_cust.tpl new file mode 100644 index 00000000..50440c21 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_cust.tpl @@ -0,0 +1,10 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="oConf" value=$oViewConf->getConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{oxcontent ident="d3_hp_vorkassemail_cust_subject" assign="title"}] +[{include file="email/html/header.tpl" title=$title}] +[{oxcontent ident="d3_hp_vorkassemail_cust_text"}] +[{include file="email/html/footer.tpl"}] diff --git a/src/views/tpl/email/html/prepayment_cust_subj.tpl b/src/views/tpl/email/html/prepayment_cust_subj.tpl new file mode 100644 index 00000000..5c9830d0 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_cust_subj.tpl @@ -0,0 +1 @@ +[{oxcontent ident="d3_hp_vorkassemail_cust_subject"}] \ No newline at end of file diff --git a/src/views/tpl/email/html/prepayment_owner.tpl b/src/views/tpl/email/html/prepayment_owner.tpl new file mode 100644 index 00000000..f92d7c16 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_owner.tpl @@ -0,0 +1,10 @@ +[{assign var="shop" value=$oEmailView->getShop()}] +[{assign var="oViewConf" value=$oEmailView->getViewConfig()}] +[{assign var="oConf" value=$oViewConf->getConfig()}] +[{assign var="currency" value=$oEmailView->getCurrency()}] +[{assign var="user" value=$oEmailView->getUser()}] + +[{oxcontent ident="d3_hp_vorkassemail_owner_subject" assign="title"}] +[{include file="email/html/header.tpl" title=$title}] +[{oxcontent ident="d3_hp_vorkassemail_owner_text"}] +[{include file="email/html/footer.tpl"}] diff --git a/src/views/tpl/email/html/prepayment_owner_subj.tpl b/src/views/tpl/email/html/prepayment_owner_subj.tpl new file mode 100644 index 00000000..f38cc745 --- /dev/null +++ b/src/views/tpl/email/html/prepayment_owner_subj.tpl @@ -0,0 +1 @@ +[{oxcontent ident="d3_hp_vorkassemail_owner_subject"}] \ No newline at end of file diff --git a/src/views/tpl/email/plain/prepayment_cust.tpl b/src/views/tpl/email/plain/prepayment_cust.tpl new file mode 100644 index 00000000..e82fb2d2 --- /dev/null +++ b/src/views/tpl/email/plain/prepayment_cust.tpl @@ -0,0 +1,4 @@ +[{oxcontent ident="d3_hp_vorkassemail_cust_plain"}] + + +[{oxcontent ident="oxemailfooterplain"}] diff --git a/src/views/tpl/email/plain/prepayment_owner.tpl b/src/views/tpl/email/plain/prepayment_owner.tpl new file mode 100644 index 00000000..f06cbf53 --- /dev/null +++ b/src/views/tpl/email/plain/prepayment_owner.tpl @@ -0,0 +1,4 @@ +[{oxcontent ident="d3_hp_vorkassemail_owner_plain"}] + + +[{oxcontent ident="oxemailfooterplain"}] diff --git a/src/views/tpl/payment_img.tpl b/src/views/tpl/payment_img.tpl new file mode 100644 index 00000000..596ef097 --- /dev/null +++ b/src/views/tpl/payment_img.tpl @@ -0,0 +1 @@ +[{$sBrandIdent}] \ No newline at end of file diff --git a/src/views/tpl/redirect_postformular.tpl b/src/views/tpl/redirect_postformular.tpl new file mode 100644 index 00000000..aa74f59e --- /dev/null +++ b/src/views/tpl/redirect_postformular.tpl @@ -0,0 +1,18 @@ + +[{assign var="sLanguage" value=$oView->getActiveLangAbbr()}] + + + + + +
+ [{foreach from=$aRedirectParameter item="sParameterValue" key="sParameterName"}] + + [{/foreach}] + + +
+ + diff --git a/src/views/wave/tpl/banktransferdata.tpl b/src/views/wave/tpl/banktransferdata.tpl new file mode 100644 index 00000000..39d5dc4b --- /dev/null +++ b/src/views/wave/tpl/banktransferdata.tpl @@ -0,0 +1,16 @@ +
+

+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT1"}] +
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_INFOTEXT2"}] +

+ +

+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_ACCOUNTHOLDER"}] [{$oPrePaymentData->Holder}]
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_IBAN"}] [{$oPrePaymentData->Iban}]
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_BIC"}] [{$oPrePaymentData->Bic}]
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_AMOUNT"}] [{$oPrePaymentData->Amount}] [{$oPrePaymentData->Currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_THANKYOU_PREPAYMENT_REASON"}] [{$oPrePaymentData->Reference}] +

+
diff --git a/src/views/wave/tpl/cc_input.tpl b/src/views/wave/tpl/cc_input.tpl new file mode 100644 index 00000000..da3eb3f5 --- /dev/null +++ b/src/views/wave/tpl/cc_input.tpl @@ -0,0 +1,12 @@ +[{capture append="oxidBlock_content"}] + [{* ordering steps *}] + [{include file="page/checkout/inc/steps.tpl" active=4}] +
+
[{oxmultilang ident="D3HEIDELPAY_CC_INPUT_TITLENR"}]
+
+ [{include file=$oView->d3GetAfterStepTemplate()}] +
+
+ [{insert name="oxid_tracker" title=$template_title}] +[{/capture}] +[{include file="layout/page.tpl"}] diff --git a/src/views/wave/tpl/forms/birthdate.tpl b/src/views/wave/tpl/forms/birthdate.tpl new file mode 100644 index 00000000..38550d5f --- /dev/null +++ b/src/views/wave/tpl/forms/birthdate.tpl @@ -0,0 +1,51 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3HeidelpayB2BParameters.$parameterName)}] + [{assign var='d3hpPaymentFormularValue' value=$d3HeidelpayB2BParameters.$parameterName}] +[{elseif isset($d3hpPaymentFormular->value)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->value}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{elseif NOT empty($d3hpPaymentFormular->standard)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->standard}] +[{/if}] + +[{capture name="birthdateFormAttributes"}] + [{foreach from=$d3hpPaymentFormular->attributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{$attributeValue}]" + [{/foreach}] + [{foreach from=$d3hpPaymentFormular->translationAttributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{oxmultilang ident=$attributeValue noerror=1}]" + [{/foreach}] +[{/capture}] + +
+ +
+ +
+
+ +
+
+ +
+
diff --git a/src/views/wave/tpl/forms/radio.tpl b/src/views/wave/tpl/forms/radio.tpl new file mode 100644 index 00000000..69c62ad2 --- /dev/null +++ b/src/views/wave/tpl/forms/radio.tpl @@ -0,0 +1,25 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3hpPaymentFormular->value)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->value}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{/if}] +
+
+ +
+
diff --git a/src/views/wave/tpl/forms/select.tpl b/src/views/wave/tpl/forms/select.tpl new file mode 100644 index 00000000..d8478fc5 --- /dev/null +++ b/src/views/wave/tpl/forms/select.tpl @@ -0,0 +1,44 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3HeidelpayB2BParameters.$parameterName)}] + [{assign var='d3hpPaymentFormularValue' value=$d3HeidelpayB2BParameters.$parameterName}] +[{elseif isset($d3hpPaymentFormular->value)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->value}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{elseif NOT empty($d3hpPaymentFormular->standard)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->standard}] +[{/if}] + +
+ +
+ +
+
diff --git a/src/views/wave/tpl/forms/text.tpl b/src/views/wave/tpl/forms/text.tpl new file mode 100644 index 00000000..695734ea --- /dev/null +++ b/src/views/wave/tpl/forms/text.tpl @@ -0,0 +1,38 @@ +[{assign var='parameterName' value=$d3hpPaymentFormular->parameter}] + +[{if isset($d3HeidelpayB2BParameters.$parameterName)}] + [{assign var='d3hpPaymentFormularValue' value=$d3HeidelpayB2BParameters.$parameterName}] +[{elseif isset($d3hpPaymentFormular->d3hpPaymentFormularValue)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->d3hpPaymentFormularValue}] +[{elseif isset($d3hpPaymentFormular->d3hpPaymentFormularValueTranslation)}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormular->d3hpPaymentFormularValueTranslation|oxmultilangassign}] +[{elseif NOT empty($d3hpPaymentFormular->valueFromUser)}] + [{assign var='d3hpPaymentFormularValue' value=$oxcmp_user->getFieldData($d3hpPaymentFormular->valueFromUser)}] +[{elseif NOT empty($d3hpPaymentFormular->valuesFromUser)}] + [{foreach from=$d3hpPaymentFormular->valuesFromUser item="valueFromUser" name="d3hpPaymentFormular"}] + [{if $smarty.foreach.d3hpPaymentFormular.iteration > 1}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormularValue|cat:' '}] + [{/if}] + [{assign var='d3hpPaymentFormularValue' value=$d3hpPaymentFormularValue|cat:$oxcmp_user->getFieldData($valueFromUser)}] + [{/foreach}] +[{/if}] + +
+ +
+ attributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{$attributeValue}]" + [{/foreach}] + [{foreach from=$d3hpPaymentFormular->translationAttributes item="attributeValue" key="attributeName"}] + [{$attributeName}]="[{oxmultilang ident=$attributeValue noerror=1}]" + [{/foreach}] + > +
+
diff --git a/src/views/wave/tpl/forms/title.tpl b/src/views/wave/tpl/forms/title.tpl new file mode 100644 index 00000000..b361366d --- /dev/null +++ b/src/views/wave/tpl/forms/title.tpl @@ -0,0 +1,5 @@ +
+

+ [{oxmultilang ident=$d3hpPaymentFormular->name}] +

+
diff --git a/src/views/wave/tpl/messages.tpl b/src/views/wave/tpl/messages.tpl new file mode 100644 index 00000000..39f8352d --- /dev/null +++ b/src/views/wave/tpl/messages.tpl @@ -0,0 +1,17 @@ +
+ [{if $d3heidelpayErrorCodes.OXCODE}] + [{assign var="langident" value=$d3heidelpayErrorCodes.OXCODE}] + [{oxmultilang ident="d3heidelpay_$langident"}] + [{else}] + [{oxmultilang ident="D3PAYMENT_EXT_NOTEXT"}] + [{/if}] +
+ + [{if $d3heidelpayErrorCodes.OXTYPE == "1"}] [{* Fehlerkategorie: Eingabefehler *}] + [{oxmultilang ident="D3PAYMENT_EXT_CHECK"}] + [{elseif $d3heidelpayErrorCodes.OXTYPE == "2"}] [{* Fehlerkategorie: Technischer Fehler *}] + [{oxmultilang ident="D3PAYMENT_EXT_TRYLATER"}] + [{elseif $d3heidelpayErrorCodes.OXTYPE == "3"}] [{* Fehlerkategorie: Betrugsversuch? *}] + [{oxmultilang ident="D3PAYMENT_EXT_CHANGEPAYMENT"}] + [{/if}] +
diff --git a/src/views/wave/tpl/order/easycreditcriterions.tpl b/src/views/wave/tpl/order/easycreditcriterions.tpl new file mode 100644 index 00000000..1199b99c --- /dev/null +++ b/src/views/wave/tpl/order/easycreditcriterions.tpl @@ -0,0 +1,10 @@ +[{if $easyCreditInformations}] + + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] + [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] + + + [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] + [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] + +[{/if}] diff --git a/src/views/wave/tpl/order_iframe.tpl b/src/views/wave/tpl/order_iframe.tpl new file mode 100644 index 00000000..fee51ce3 --- /dev/null +++ b/src/views/wave/tpl/order_iframe.tpl @@ -0,0 +1,190 @@ +[{oxscript include=$oViewConf->getModuleUrl('d3heidelpay', 'out/src/js/jquery.simple.timer/jquery.simple.timer.js')}] + +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="cardTypeTimeOut" value=$oHeidelpayViewConfig->getHeidelpayConfVar('cardtypetimeout')}] +[{if false == $cardTypeTimeOut}] + [{assign var="cardTypeTimeOut" value="600"}] +[{/if}] + +
+
+ [{oxmultilang ident="D3HEIDELPAY_TIMEOUT_TIMER"}] +
+
+ [{if $isThreeDSecure}] + [{assign var='o3DSecure' value=$oHeidelpayViewConfig->get3dSecureResponse()}] + [{assign var="iframeUrl" value=$o3DSecure->sRedirectURL}] + [{foreach from=$o3DSecure->aRedirectRarams key='key' item='value'}] + + [{/foreach}] + [{else}] + [{assign var="iframeUrl" value=$oHeidelpayViewConfig->getHeidelpayNgwIFrameUrl($oHeidelPayment)}] + [{/if}] + + [{**}] + + [{if $iframeUrl}] + + [{/if}] + + [{if $payment->oxpayments__oxlongdesc->value}] +
+ [{$payment->oxpayments__oxlongdesc->value}] +
+ [{/if}] + +
+
+
+ + [{if $iframeUrl}] +
+ +
+ [{/if}] +
+
+
+ +
+[{if $iframeUrl}] + [{capture name="emptyCapture"}] + + [{/capture}] +[{/if}] +[{oxscript add=$smarty.capture.d3JavaScript}] + + + + + diff --git a/src/views/wave/tpl/payment/btobbillpurchase.tpl b/src/views/wave/tpl/payment/btobbillpurchase.tpl new file mode 100644 index 00000000..a1f26706 --- /dev/null +++ b/src/views/wave/tpl/payment/btobbillpurchase.tpl @@ -0,0 +1,87 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] + +[{if empty($d3hpPaymentFormulars.$sPaymentID)}] + [{assign var='blD3HeidelpayAllowBtoBBillPurchase' value=false}] +[{/if}] + +[{block name="heidelpay_btobbillpurchase"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowBtoBBillPurchase}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_BTOBBILLPURCHASESECURED_NOTICE" args=$iD3HeidelpayBtoBBillPurchaseLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayAllowBtoBBillPurchase}] + [{foreach from=$d3hpPaymentFormulars.$sPaymentID item="d3hpPaymentFormular" key="d3hpPaymentID"}] + [{include file="d3_heidelpay_views_wave_tpl_forms_`$d3hpPaymentFormular->type`.tpl" d3hpPaymentFormular=$d3hpPaymentFormular d3HeidelpayB2BParameters=$d3HeidelpayParameters.$sPaymentID}] + [{/foreach}] + +
+
+
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+
+
+ + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] + [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/cards.tpl b/src/views/wave/tpl/payment/cards.tpl new file mode 100644 index 00000000..13697aed --- /dev/null +++ b/src/views/wave/tpl/payment/cards.tpl @@ -0,0 +1,57 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + +[{block name="heidelpay_cards"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+ +
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] +
+
+
[{oxmultilang ident="D3PAYMENT_EXT_AFTERSTEP4_INFO_STEP4"}]
+
+
+ + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/debitnote.tpl b/src/views/wave/tpl/payment/debitnote.tpl new file mode 100644 index 00000000..4e01d770 --- /dev/null +++ b/src/views/wave/tpl/payment/debitnote.tpl @@ -0,0 +1,184 @@ +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var="iPayError" value=$oView->getPaymentError()}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentELV" value='ELV'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_elv.jpg'}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayHasSameAdresses}] +[{/if}] + +[{capture name="doNotShow"}] + +[{/capture}] +[{oxscript add=$smarty.capture.javaScript}] + +[{block name="heidelpay_debitnote"}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] + [{/if}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Directdebit\Secured"}] +
+ +
+ +
+
+ +
+
+ +
+
+
+
+
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+
+
+ [{/if}] + +
+ +
+ + [{if !empty($dynvalue.lsland)}] + [{capture name="doNotShow"}] + + [{/capture}] + [{oxscript add=$smarty.capture.javaScript}] + [{/if}] +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/easycredit.tpl b/src/views/wave/tpl/payment/easycredit.tpl new file mode 100644 index 00000000..55784f13 --- /dev/null +++ b/src/views/wave/tpl/payment/easycredit.tpl @@ -0,0 +1,82 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign_adv var="returnParameter" value="array('configoptintext', 'accountbrand', 'transactionid', 'd3transactionlogid')"}] +[{assign var="responseParameter" value=$oHeidelpayViewConfig->getAction($oHeidelPayment, 'IN', $returnParameter)}] +[{assign var="sBrandIdent" value=$responseParameter.accountbrand}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] + +[{block name="heidelpay_easycredit"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowEasyCredit}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_NOTICE" args=$iD3HeidelpayEasycreditLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayAllowEasyCredit && $blD3HeidelpayHasSameAdresses}] +
+
+ [{if $blD3HeidelpayEasycreditNotChecked}] +
+ [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EASYCREDIT_CHECKBOX_NOT_CHECKED"}] +
+ [{/if}] +
+ + +
+
+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/eps.tpl b/src/views/wave/tpl/payment/eps.tpl new file mode 100644 index 00000000..eb6edbdf --- /dev/null +++ b/src/views/wave/tpl/payment/eps.tpl @@ -0,0 +1,79 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentEPS" value='EPS'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_eps.jpg'}] + +[{block name="heidelpay_eps"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowEPS}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_EPS_NOTICE"}] + [{/if}] +
+
+
+ +
+ +
+
+ [{if $blD3HeidelpayAllowEPS}] +
+ + +
+ +
+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/giropay.tpl b/src/views/wave/tpl/payment/giropay.tpl new file mode 100644 index 00000000..f9c5e804 --- /dev/null +++ b/src/views/wave/tpl/payment/giropay.tpl @@ -0,0 +1,50 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.GIROPAY}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:4:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.jpg'}] + +[{block name="heidelpay_giropay"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/ideal.tpl b/src/views/wave/tpl/payment/ideal.tpl new file mode 100644 index 00000000..9f613ea7 --- /dev/null +++ b/src/views/wave/tpl/payment/ideal.tpl @@ -0,0 +1,86 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="dynvalue" value=$oView->getDynValue()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdentIdeal" value='iDeal'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ideal.jpg'}] + +[{block name="heidelpay_ideal"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowIdeal}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_IDEAL_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blD3HeidelpayAllowIdeal}] + [{if is_array($aBrands) && 1 < count($aBrands)}] +
+ + +
+ +
+
+ [{elseif is_array($aBrands)}] + [{assign var='current' value=$aBrands|@current}] + + [{else}] + + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] + diff --git a/src/views/wave/tpl/payment/invoice.tpl b/src/views/wave/tpl/payment/invoice.tpl new file mode 100644 index 00000000..0ee72cd0 --- /dev/null +++ b/src/views/wave/tpl/payment/invoice.tpl @@ -0,0 +1,104 @@ +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var='blShowPaymentMethod' value=true}] +[{if get_class($oHeidelPayment) === "D3\Heidelpay\Models\Payment\Invoice\Secured"}] + [{assign var='blShowPaymentMethod' value=$blD3HeidelpayAllowInvoiceSecured}] +[{/if}] + +[{block name="heidelpay_invoice"}] + [{assign var="iBirthdayMonth" value=0}] + [{assign var="iBirthdayDay" value=0}] + [{assign var="iBirthdayYear" value=0}] + + [{if $oxcmp_user->oxuser__oxbirthdate->value && $oxcmp_user->oxuser__oxbirthdate->value != "0000-00-00"}] + [{assign var="iBirthdayMonth" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]/":""|regex_replace:'/[-]([0-9]{1,2})$/':""}] + [{assign var="iBirthdayDay" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:"/^([0-9]{4})[-]([0-9]{1,2})[-]/":""}] + [{assign var="iBirthdayYear" value=$oxcmp_user->oxuser__oxbirthdate->value|regex_replace:'/[-]([0-9]{1,2})[-]([0-9]{1,2})$/':""}] + [{/if}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blShowPaymentMethod}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_INVOICESECURED_NOTICE" args=$iD3HeidelpayInvoiceSecuredLimits}] + [{/if}] + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + [{if $blShowPaymentMethod}] +
+ +
+ +
+
+ +
+
+ +
+
+
+
+
[{oxmultilang ident="COMPLETE_MARKED_FIELDS"}]
+
+
+ [{/if}] + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/masterpass.tpl b/src/views/wave/tpl/payment/masterpass.tpl new file mode 100644 index 00000000..4927777f --- /dev/null +++ b/src/views/wave/tpl/payment/masterpass.tpl @@ -0,0 +1,49 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.MASTERPASS|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.jpg'}] + +[{block name="heidelpay_masterpass"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/paypal.tpl b/src/views/wave/tpl/payment/paypal.tpl new file mode 100644 index 00000000..a7a0a26c --- /dev/null +++ b/src/views/wave/tpl/payment/paypal.tpl @@ -0,0 +1,57 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.PAYPAL|lower}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_paypal"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayHasSameAdresses}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_NOTSAMEADDRESS_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/postfinance.tpl b/src/views/wave/tpl/payment/postfinance.tpl new file mode 100644 index 00000000..e6203fb6 --- /dev/null +++ b/src/views/wave/tpl/payment/postfinance.tpl @@ -0,0 +1,58 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] + +[{block name="heidelpay_postfinance"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowPostFinance}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_POSTFINANCE_NOTICE"}] + [{/if}] +
+
+ [{if $blD3HeidelpayAllowPostFinance}] +
+ +
+ +
+
+ [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/przelewy24.tpl b/src/views/wave/tpl/payment/przelewy24.tpl new file mode 100644 index 00000000..36ccb6d0 --- /dev/null +++ b/src/views/wave/tpl/payment/przelewy24.tpl @@ -0,0 +1,54 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="sBrandIdent" value='przelewy24'}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sBrandIdent|cat:'.png'}] + +[{block name="heidelpay_przelewy"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}] + [{else}] + disabled + [{/if}] + > + + [{if false == $blD3HeidelpayAllowPrzelewy24}] + [{oxmultilang ident="D3HEIDELPAY_PAYMENT_PRZELEWY24_NOTICE"}] + [{/if}] +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/payment/sofort.tpl b/src/views/wave/tpl/payment/sofort.tpl new file mode 100644 index 00000000..409e8a0d --- /dev/null +++ b/src/views/wave/tpl/payment/sofort.tpl @@ -0,0 +1,50 @@ +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($paymentmethod)}] +[{assign var="aBrands" value=$oHeidelpayViewConfig->getHeidelpayNgwBrands($paymentmethod, $oHeidelPayment, $oxcmp_user)}] +[{assign var="sBrandIdent" value=$aBrands.SOFORT}] +[{assign var="sFullImageUrl" value=$sBrandIdent|lower|oxtruncate:6:''}] +[{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_'|cat:$sFullImageUrl|cat:'.png'}] + +[{block name="heidelpay_sofortueberweisung"}] +
+
+
+ getCheckedPaymentId() == $paymentmethod->oxpayments__oxid->value}]checked[{/if}]> + +
+
+ [{assign var="oPaymentPrice" value=$paymentmethod->getPrice()}] + [{if $oPaymentPrice->getPrice()}] + [{if $oViewConf->isFunctionalityEnabled('blShowVATForPayCharge')}] + ([{oxprice price=$oPaymentPrice->getNettoPrice() currency=$currency}] + [{if $oPaymentPrice->getVatValue() > 0}] + [{oxmultilang ident="PLUS_VAT"}] [{oxprice price=$oPaymentPrice->getVatValue() currency=$currency}] + [{/if}]) + [{else}] + ([{oxprice price=$oPaymentPrice->getBruttoPrice() currency=$currency}]) + [{/if}] + [{/if}] + + [{block name="checkout_payment_longdesc"}] + [{if $paymentmethod->oxpayments__oxlongdesc->value}] +
+
+
+ [{$paymentmethod->oxpayments__oxlongdesc->getRawValue()}] +
+
+
+ [{/if}] + [{/block}] +
+
+
+[{/block}] diff --git a/src/views/wave/tpl/shippingandpayment.tpl b/src/views/wave/tpl/shippingandpayment.tpl new file mode 100644 index 00000000..95e1820b --- /dev/null +++ b/src/views/wave/tpl/shippingandpayment.tpl @@ -0,0 +1,19 @@ +[{if $d3HpShowEasyCreditParameter}] + [{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] + [{assign var="sBrandIdent" value='EASYCREDIT'}] + [{assign var="sFullImageUrl" value=$sImageUrl|cat:'logo_ratenkauf_ec.jpg'}] +
+
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TITLE"}] + [{include file="d3_heidelpay_views_tpl_payment_img.tpl" sImageUrl=$sFullImageUrl sBrandIdent=$sBrandIdent}] +

+
+
+
[{$d3HPEASYCREDIT_AMORTISATIONTEXT}]
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +
+
+[{/if}] + diff --git a/src/views/wave/tpl/storeduid.tpl b/src/views/wave/tpl/storeduid.tpl new file mode 100644 index 00000000..9d8be2e2 --- /dev/null +++ b/src/views/wave/tpl/storeduid.tpl @@ -0,0 +1,59 @@ +[{assign var="payment" value=$oView->getPayment()}] +[{assign var='oHeidelPaySettings' value=$oHeidelpayViewConfig->getSettings()}] +[{assign var='oHeidelPayment' value=$oHeidelPaySettings->getPayment($payment)}] +[{assign var="sImageUrl" value=$oViewConf->getModuleUrl('d3heidelpay','out/img/')}] +[{assign var="storeDatas" value=$oView->getUserHPStoreData($payment->getId())}] +[{assign var="d3HeidelpayPostparameter" value=$oView->d3GetHeidelpayPostparameter()}] +
+ [{foreach from=$d3HeidelpayPostparameter key="inputName" item="inputValue"}] + + [{/foreach}] + [{$oViewConf->getHiddenSid()}] + [{$oViewConf->getNavFormParams()}] + + + + +
+ [{foreach from=$storeDatas item="storeData" key="storeDataId" name="storedDataIds"}] +
+ +
+ [{/foreach}] + +
+ +
+
+
+ [{oxmultilang ident="D3PAYMENT_EXT_STOREDUID_CC_SECURITYINFO"}] +
+ +
+
+
+ +
+ +
+
+
+
+ + +
diff --git a/src/views/wave/tpl/thankyou/easycreditcriterions.tpl b/src/views/wave/tpl/thankyou/easycreditcriterions.tpl new file mode 100644 index 00000000..b6fd2a29 --- /dev/null +++ b/src/views/wave/tpl/thankyou/easycreditcriterions.tpl @@ -0,0 +1,12 @@ +[{if $easyCreditInformations}] +
+

+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_ACCRUINGINTEREST"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_accruinginterest currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_TOTALAMOUNT"}] [{oxprice price=$easyCreditInformations.criterion_easycredit_totalamount currency=$currency}] +
+ [{oxmultilang ident="D3HEIDELPAY_ORDER_EASYCREDIT_LINK"}] +

+
+[{/if}] diff --git a/tests/acceptance/selenium/azure.suite b/tests/acceptance/selenium/azure.suite new file mode 100644 index 00000000..cc311ef1 --- /dev/null +++ b/tests/acceptance/selenium/azure.suite @@ -0,0 +1,60 @@ + + + + + + Test Suite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Test Suite
settings_SetupEnvironmentVariables
settings_setup3dsChannels
settings_DefaultTransTypeAuth
creditcard_step4_NoStoredData_3ds
settings_DefaultTransTypePreauth
creditcard_step4_NoStoredData_3ds
settings_setupNon3dsChannels
settings_DefaultTransTypeAuth
creditcard_step4_NoStoredData_non3ds
settings_DefaultTransTypePreauth
creditcard_step4_NoStoredData_non3ds
settings_setup3dsChannels
settings_DefaultTransTypeAuth
debitcard_afterstep4_NoStoredData_3ds
settings_DefaultTransTypePreauth
debitcard_afterstep4_NoStoredData_3ds
settings_setupNon3dsChannels
settings_DefaultTransTypeAuth
debitcard_afterstep4_NoStoredData_non3ds
settings_DefaultTransTypePreauth
debitcard_afterstep4_NoStoredData_non3ds
invoice
prepayment
settings_nonSEPAmode
directdebit
settings_SEPAmode
settings_setupGiropayChannels
giropay
sofortueberweisung
settings_setupPayPalChannels
paypal
+ + diff --git a/tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_3ds.html b/tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_3ds.html new file mode 100644 index 00000000..243ae0a6 --- /dev/null +++ b/tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_3ds.html @@ -0,0 +1,145 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickcss=#payment_${oxidCreditCardPayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
selectname=ACCOUNT.BRANDlabel=${creditCardTestBrand}
typename=ACCOUNT.NUMBER${creditCardTestNumber}
selectname=ACCOUNT.YEARlabel=2023
typename=ACCOUNT.VERIFICATION${creditCardSecurityNumber}
clickAndWaitcss=#paymentNextStepBottom
waitForTextcss=h1.pageHeadAbfrage Ihres Kreditkarten-Sicherheitscodes
waitForFrameToLoadname=3DSiFrame
selectFramename=3DSiFrame
waitForElementPresentname=password
typename=password${creditCard3DsCode}
clickAndWaitcss=input[3dslabel="Submit"]
selectFramerelative=top
waitForElementPresentcss=li.step5.activeLast
clickAndWaitcss=#logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_non3ds.html b/tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_non3ds.html new file mode 100644 index 00000000..5791d2c6 --- /dev/null +++ b/tests/acceptance/selenium/cases/creditcard_step4_NoStoredData_non3ds.html @@ -0,0 +1,111 @@ + + + + + + heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickcss=#payment_${oxidCreditCardPayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
selectname=ACCOUNT.BRANDlabel=${creditCardTestBrand}
typename=ACCOUNT.NUMBER${creditCardTestNumber}
selectname=ACCOUNT.YEARlabel=2023
typename=ACCOUNT.VERIFICATION123
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=li.step5.activeLast
clickAndWaitid=logoutLink
+ + + diff --git a/tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_3ds.html b/tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_3ds.html new file mode 100644 index 00000000..8a9e0995 --- /dev/null +++ b/tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_3ds.html @@ -0,0 +1,145 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickcss=#payment_${oxidDebitCardPayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
selectname=ACCOUNT.BRANDlabel=${debitCardTestBrand}
typename=ACCOUNT.NUMBER${debitCardTestNumber}
selectname=ACCOUNT.YEARlabel=2018
typename=ACCOUNT.VERIFICATION${debitCardSecurityNumber}
clickAndWaitcss=#paymentNextStepBottom
waitForTextcss=h1.pageHeadAbfrage Ihres Kreditkarten-Sicherheitscodes
waitForFrameToLoadname=3DSiFrame
selectFramename=3DSiFrame
waitForElementPresentname=password
typename=password${debitCard3DsCode}
clickAndWaitcss=input[name="submit"]
selectFramerelative=top
waitForElementPresentcss=li.step5.activeLast
clickAndWaitcss=#logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_non3ds.html b/tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_non3ds.html new file mode 100644 index 00000000..be22522c --- /dev/null +++ b/tests/acceptance/selenium/cases/debitcard_afterstep4_NoStoredData_non3ds.html @@ -0,0 +1,120 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickcss=#payment_${oxidDebitCardPayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
selectname=ACCOUNT.BRANDlabel=MAESTRO
typename=ACCOUNT.NUMBER6799851000000032
typename=ACCOUNT.HOLDERDDD Supportteam
selectname=ACCOUNT.MONTHlabel=07
selectname=ACCOUNT.YEARlabel=2018
typename=ACCOUNT.VERIFICATION123
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=li.step5.activeLast
clickAndWaitcss=#logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/directdebit.html b/tests/acceptance/selenium/cases/directdebit.html new file mode 100644 index 00000000..ec56ab62 --- /dev/null +++ b/tests/acceptance/selenium/cases/directdebit.html @@ -0,0 +1,95 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickid=payment_${oxidDebitNotePayment}
typename=ACCOUNT.BANK37040044
typename=ACCOUNT.NUMBER5320130
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
waitForElementPresentcss=li.step5.activeLast
clickAndWaitid=logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/giropay.html b/tests/acceptance/selenium/cases/giropay.html new file mode 100644 index 00000000..075d3bd8 --- /dev/null +++ b/tests/acceptance/selenium/cases/giropay.html @@ -0,0 +1,135 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickid=payment_${oxidGiroPayment}
typename=dynvalue[lsblz]TESTDETT421
typename=dynvalue[lsktonr]DE46940594210000012345
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
typecss=input[name="account/addition[@name=benutzerkennung]"]sepatest1
typecss=input[name="ticket/pin"]12345
clickAndWaitcss=input[type="image"]
clickAndWaitcss=input[type="image"]
typecss=input[name="ticket/tan"]123456
clickAndWaitcss=input[type="image"]
verifyTextcss=table.textbox > tbody > tr > tdDie giropay-Zahlung wurde erfolgreich durchgeführt.
Der Verkäufer hat eine Mitteilung erhalten, dass der Betrag seinem Konto gutgeschrieben wurde.
Durch Betätigen der Schaltfläche „Zurück zum Shop; schließen Sie den Vorgang ab und beenden gleichzeitig die Verbindung zu Ihrem Online Banking.
clickAndWaitcss=input[type="image"]
waitForElementPresentcss=li.step5.activeLast
clickAndWaitid=logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/invoice.html b/tests/acceptance/selenium/cases/invoice.html new file mode 100644 index 00000000..d3f71e4c --- /dev/null +++ b/tests/acceptance/selenium/cases/invoice.html @@ -0,0 +1,85 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickcss=#payment_${oxidInvoicePayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
waitForElementPresentcss=li.step5.activeLast
clickAndWaitid=logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/paypal.html b/tests/acceptance/selenium/cases/paypal.html new file mode 100644 index 00000000..761409d5 --- /dev/null +++ b/tests/acceptance/selenium/cases/paypal.html @@ -0,0 +1,105 @@ + + + + + +heidelpay_paypal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_paypal
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickid=payment_${oxidPayPalPayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
typeid=login_emaild3test1@shopmodule.com
typeid=login_passwordd3268090
clickAndWaitid=submitLogin
clickAndWaitid=continue
waitForElementPresentcss=li.step5.activeLast
clickAndWaitid=logoutLink
+ + diff --git a/tests/acceptance/selenium/cases/prepayment.html b/tests/acceptance/selenium/cases/prepayment.html new file mode 100644 index 00000000..d30b0cdc --- /dev/null +++ b/tests/acceptance/selenium/cases/prepayment.html @@ -0,0 +1,91 @@ + + + + + +prepayment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
prepayment
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickid=payment_${oxidPrePayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
verifyElementPresentcss= div.status.corners.errorWichtig!
waitForElementPresentcss=li.step5.activeLast
clickAndWaitcss=#logoutLink
+ + + diff --git a/tests/acceptance/selenium/cases/settings_DefaultTransTypeAuth.html b/tests/acceptance/selenium/cases/settings_DefaultTransTypeAuth.html new file mode 100644 index 00000000..ab0f6b50 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_DefaultTransTypeAuth.html @@ -0,0 +1,100 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
typecss=select[name*='sTransType']auth
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_DefaultTransTypePreauth.html b/tests/acceptance/selenium/cases/settings_DefaultTransTypePreauth.html new file mode 100644 index 00000000..49d23ee5 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_DefaultTransTypePreauth.html @@ -0,0 +1,100 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
typecss=select[name*='sTransType']preauth
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_SEPAmode.html b/tests/acceptance/selenium/cases/settings_SEPAmode.html new file mode 100644 index 00000000..28529b59 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_SEPAmode.html @@ -0,0 +1,100 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
checkcss=input[type='checkbox'][name*='blSepaMode']
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_SetupEnvironmentVariables.html b/tests/acceptance/selenium/cases/settings_SetupEnvironmentVariables.html new file mode 100644 index 00000000..b7f499a4 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_SetupEnvironmentVariables.html @@ -0,0 +1,215 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
setEnvironment
storesupport@shopmodule.comadminUserName
store268090adminPassword
stored3test1@shopmodule.comcustomerUserName
store268090customerPassword
stored3_d3heidelpay_controllers_admin_basesettingsController
store31HA07BC814F859E7F1D5A6D2C8291CEheidelpay3dsSecuritySender
store31ha07bc814f859e7f1d4cfc94291e67heidelpay3dsUserId
storeA10147A7heidelpay3dsUserPassword
store31HA07BC814F859E7F1D8D65B4765F56heidelpayDefault3dsChannel
store31HA07BC81463FFAFEF45CA303F9ABE9heidelpaySofortChannel
storeheidelpayEps3dsChannel
store31HA07BC81A71E2A47DA662C5EDD1112heidelpayGiro3dsChannel
store31HA07BC81A71E2A47DA804F6CABDC59heidelpayIdeal3dsChannel
storeheidelpayAssuredinv3dsChannel
store31HA07BC814E7F79D828002A70833C61heidelpayPaypal3dsChannel
store31HA07BC810C91F08643A5D477BDD7C0heidelpayNon3dsSecuritySender
store31ha07bc810c91f086431f7471d042d6heidelpayNon3dsUserId
storepasswordheidelpayNon3dsUserPassword
store31HA07BC810C91F086433734258F6628heidelpayDefaultNon3dsChannel
storeheidelpayEpsNon3dsChannel
store31HA07BC81A71E2A47DA662C5EDD1112heidelpayGiroNon3dsChannel
store31HA07BC810C91F0864355310BA6BD4CheidelpayIdealNon3dsChannel
storeheidelpayAssuredinvNon3dsChannel
store31HA07BC814F859E7F1D538FE598D9A8heidelpayPaypalNon3dsChannel
storeoxidcreditcardoxidCreditCardPayment
stored3debitcardoxidDebitCardPayment
storeoxidpayadvanceoxidPrePayment
storeoxidinvoiceoxidInvoicePayment
storeoxiddebitnoteoxidDebitNotePayment
stored3giropayoxidGiroPayment
stored3paypaloxidPayPalPayment
stored3sofortueberweisungoxidSofortPayment
storeVISAcreditCardTestBrand
store4711100000000000creditCardTestNumber
store123creditCardSecurityNumber
storetest123creditCard3DsCode
storeVISA ElectrondebitCardTestBrand
store4149011500000147debitCardTestNumber
store147debitCardSecurityNumber
storesecret3debitCard3DsCode
+ + diff --git a/tests/acceptance/selenium/cases/settings_nonSEPAmode.html b/tests/acceptance/selenium/cases/settings_nonSEPAmode.html new file mode 100644 index 00000000..8a8cec0a --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_nonSEPAmode.html @@ -0,0 +1,100 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
uncheckcss=input[type='checkbox'][name*='blSepaMode']
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_setup3dsChannels.html b/tests/acceptance/selenium/cases/settings_setup3dsChannels.html new file mode 100644 index 00000000..d1818a55 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_setup3dsChannels.html @@ -0,0 +1,150 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
typecss=#d3_cfg_mod__d3heidelpay_sSecuritySender${heidelpay3dsSecuritySender}
typecss=#d3_cfg_mod__d3heidelpay_sUserID${heidelpay3dsUserId}
typecss=#d3_cfg_mod__d3heidelpay_sPassword${heidelpay3dsUserPassword}
typecss=#d3_cfg_mod__d3heidelpay_sChannel${heidelpayDefault3dsChannel}
typecss=input[name*='sChannel__sofort']${heidelpaySofortChannel}
typecss=input[name*='sChannel__eps']${heidelpayEps3dsChannel}
typecss=input[name*='sChannel__giro']${heidelpayGiro3dsChannel}
typecss=input[name*='sChannel__ideal']${heidelpayIdeal3dsChannel}
typecss=input[name*='sChannel__assuredinv']${heidelpayAssuredinv3dsChannel}
typecss=input[name*='sChannel__paypal']${heidelpayPaypal3dsChannel}
uncheckcss=input[type='checkbox'][name*="blShowStoredHPData"]
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_setupGiropayChannels.html b/tests/acceptance/selenium/cases/settings_setupGiropayChannels.html new file mode 100644 index 00000000..42a0e2b8 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_setupGiropayChannels.html @@ -0,0 +1,115 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
typecss=#d3_cfg_mod__d3heidelpay_sSecuritySender31HA07BC8124AD82A9E96D9A35FAFD2A
typecss=#d3_cfg_mod__d3heidelpay_sUserID31ha07bc8124ad82a9e96d486d19edaa
typecss=#d3_cfg_mod__d3heidelpay_sPasswordpassword
typecss=input[name*='sChannel__giro']31HA07BC81A71E2A47DA662C5EDD1112
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_setupNon3dsChannels.html b/tests/acceptance/selenium/cases/settings_setupNon3dsChannels.html new file mode 100644 index 00000000..4494944d --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_setupNon3dsChannels.html @@ -0,0 +1,150 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
typecss=#d3_cfg_mod__d3heidelpay_sSecuritySender${heidelpayNon3dsSecuritySender}
typecss=#d3_cfg_mod__d3heidelpay_sUserID${heidelpayNon3dsUserId}
typecss=#d3_cfg_mod__d3heidelpay_sPassword${heidelpayNon3dsUserPassword}
typecss=#d3_cfg_mod__d3heidelpay_sChannel${heidelpayDefaultNon3dsChannel}
typecss=input[name*='sChannel__sofort']${heidelpaySofortChannel}
typecss=input[name*='sChannel__eps']${heidelpayEpsNon3dsChannel}
typecss=input[name*='sChannel__giro']${heidelpayGiroNon3dsChannel}
typecss=input[name*='sChannel__ideal']${heidelpayIdealNon3dsChannel}
typecss=input[name*='sChannel__assuredinv']${heidelpayAssuredinvNon3dsChannel}
typecss=input[name*='sChannel__paypal']${heidelpayPaypalNon3dsChannel}
uncheckcss=input[type='checkbox'][name*="blShowStoredHPData"]
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/settings_setupPayPalChannels.html b/tests/acceptance/selenium/cases/settings_setupPayPalChannels.html new file mode 100644 index 00000000..c7223034 --- /dev/null +++ b/tests/acceptance/selenium/cases/settings_setupPayPalChannels.html @@ -0,0 +1,115 @@ + + + + + +New Test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
New Test
openadmin/
waitForElementPresentid=usr
typeid=usr${adminUserName}
typeid=pwd${adminPassword}
submitAndWaitid=login
selectFramecss=#adminnav
clickAndWaitcss=a[href*='${settingsController}']
selectFramerelative=top
selectFramecss=#edit
waitForElementPresentcss=input[type='checkbox'][name*='oxactive']
typecss=#myedit input[type='hidden'][name='fnc']save
checkcss=input[type='checkbox'][name*='oxactive']
checkcss=input[type='checkbox'][name*='blTestmode']
typecss=#d3_cfg_mod__d3heidelpay_sSecuritySender31HA07BC814F859E7F1D5A6D2C8291CE
typecss=#d3_cfg_mod__d3heidelpay_sUserID31ha07bc814f859e7f1d4cfc94291e67
typecss=#d3_cfg_mod__d3heidelpay_sPasswordA10147A7
typecss=input[name*='sChannel__paypal']31HA07BC814F859E7F1D538FE598D9A8
submitAndWaitcss=#myedit
selectFramerelative=top
open?force_sid=reset
+ + diff --git a/tests/acceptance/selenium/cases/sofortueberweisung.html b/tests/acceptance/selenium/cases/sofortueberweisung.html new file mode 100644 index 00000000..7780e525 --- /dev/null +++ b/tests/acceptance/selenium/cases/sofortueberweisung.html @@ -0,0 +1,130 @@ + + + + + +heidelpay_cc_step3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
heidelpay_cc_step3
open?force_sid=reset
submitAndWaitcss=form[name="tobasketnewItems_1"]
clickcss=#minibasketIcon
clickAndWaitcss=#basketFlyout a.submitButton
typecss=#optionLogin input[name="lgn_usr"]${customerUserName}
typecss=#optionLogin input[name="lgn_pwd"]${customerPassword}
submitAndWaitcss=#optionLogin form[name="login"]
clickAndWaitcss=#userNextStepBottom
clickcss=#payment_${oxidSofortPayment}
clickAndWaitcss=#paymentNextStepBottom
waitForElementPresentcss=#orderConfirmAgbBottom
submitAndWaitcss=#orderConfirmAgbBottom
typecss=#TransactionsSessionSenderBankCode88888888
submitAndWaitcss=#WizardForm
typecss=#BackendFormLOGINNAMEUSERID123456
typecss=#BackendFormUSERPIN12345
submitAndWaitcss=#WizardForm
clickcss=#TransactionsSessionSenderAccountNumber23456789
submitAndWaitcss=#WizardForm
typecss=#BackendFormTan12345
submitAndWaitcss=#WizardForm
waitForElementPresentcss=li.step5.activeLast
clickAndWaitcss=#logoutLink
+ + diff --git a/tests/acceptance/selenium/dudeWantToPay.graphml b/tests/acceptance/selenium/dudeWantToPay.graphml new file mode 100644 index 00000000..e1629749 --- /dev/null +++ b/tests/acceptance/selenium/dudeWantToPay.graphml @@ -0,0 +1,369 @@ + + + + + + + + + + + + + + + + + + + + + + + + Dude + + + + + + + + + + + + + + + + + + + + + want pay via CC + + + + + + + + + + + + + + + + + got his stuff + + + + + + + + + + + + + + + + + want stuff + + + + + + + + + + + + + + + + + has saved PaymentData + + + + + + + + + + + + + + + + + put in data + + + + + + + + + + + + + + + + + want type new data? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + Yes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No + + + + + + + + + + + + + + + + + + + + + + click on continue + + + + + + + + + + + + + + + <?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="57px" height="63px" viewBox="0 0 57 63" enable-background="new 0 0 57 63" xml:space="preserve"> +<g> + + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.4199" y1="2343.0352" x2="27.6608" y2="2372.8335" gradientTransform="matrix(1 0 0 1 0.2402 -2319.0742)"> + <stop offset="0.2711" style="stop-color:#FFAB4F"/> + <stop offset="1" style="stop-color:#FFD28F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109 + V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77 + c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/> + + <radialGradient id="face_x5F_white_1_" cx="27.6626" cy="2344.8008" r="23.425" fx="23.093" fy="2342.311" gradientTransform="matrix(1 0 0 1 0.2402 -2319.0742)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#FFD28F"/> + <stop offset="1" style="stop-color:#FFAB4F"/> + </radialGradient> + <path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357 + c0.086,10.2-6.738,18.52-15.249,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012 + C36.627,4.945,43.59,13.158,43.676,23.357z"/> + + <linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="5056.6758" y1="-9471.5078" x2="5080.3052" y2="-9564.958" gradientTransform="matrix(0.275 0 0 -0.2733 -1365.09 -2580.3179)"> + <stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/> + <stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/> + </linearGradient> + <path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M27.958,6.333c-6.035,0.047-10.747,4.493-12.787,10.386 + c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.384,11.893,1.247 + c2.274-0.592,3.988-2.459,4.375-4.766c0.185-1.094,0.293-2.289,0.283-3.553C42.083,13.952,36.271,6.268,27.958,6.333z"/> + <path fill="#D0D0D0" stroke="#9B9B9B" stroke-width="0.9271" stroke-linecap="round" stroke-linejoin="round" d="M28.02,31.921 + c-6.78,0-6.717,3.708-6.717,3.708c0,8.133,2.985,8.788,6.955,8.788c4.243,0,6.792-0.926,6.792-8.595 + C35.051,35.822,35.881,31.921,28.02,31.921z M23.989,35.678c0-0.556,1.838-1.005,4.107-1.005c2.27,0,4.107,0.449,4.107,1.005 + C32.204,36.232,23.989,36.232,23.989,35.678z"/> + <path fill="#656565" stroke="#4B4B4B" stroke-linejoin="round" stroke-miterlimit="10" d="M15.038,26.653 + c0.145,2.05,3.468,2.593,6.477,2.56c2.298-0.026,3.25-0.889,4.746-2.685c2.539-3.05-0.767-3.715-4.817-3.67 + C15.984,22.919,14.777,22.933,15.038,26.653z"/> + <path fill="#656565" stroke="#4B4B4B" stroke-linejoin="round" stroke-miterlimit="10" d="M41.116,26.653 + c-0.146,2.05-3.47,2.593-6.478,2.56c-2.299-0.026-3.252-0.889-4.746-2.685c-2.538-3.05,0.769-3.715,4.816-3.67 + C40.17,22.919,41.377,22.933,41.116,26.653z"/> + <path fill="none" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="M27.453,24.375 + c0,0,0.604-0.469,1.305,0"/> + + <line fill="none" stroke="#4B4B4B" stroke-linecap="round" stroke-miterlimit="10" x1="41.727" y1="24.592" x2="41.844" y2="25.375"/> + + <line fill="none" stroke="#4B4B4B" stroke-linecap="round" stroke-miterlimit="10" x1="42.165" y1="24.938" x2="44.027" y2="24.938"/> + + <line fill="none" stroke="#4B4B4B" stroke-linecap="round" stroke-miterlimit="10" x1="14.374" y1="24.592" x2="14.257" y2="25.375"/> + + <line fill="none" stroke="#4B4B4B" stroke-linecap="round" stroke-miterlimit="10" x1="13.937" y1="24.938" x2="12.073" y2="24.938"/> + + <radialGradient id="body_1_" cx="27.2378" cy="3.9858" r="28.5025" fx="14.869" fy="1.6317" gradientTransform="matrix(1 0 0 -1 0.04 62.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#B2B2B2"/> + <stop offset="1" style="stop-color:#757473"/> + </radialGradient> + <path id="body_9_" fill="url(#body_1_)" stroke="#4B4B4B" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51 + c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-11.244-6.146-11.244-6.146 + c-1.771,1.655-5.61,2.802-10.063,2.802c-4.453,0-8.292-1.146-10.063-2.802c0,0-5.755,0.586-11.189,6.021 + C1.378,56.689,0.5,62.768,0.5,62.768z"/> + + <radialGradient id="turtleneck_1_" cx="27.9443" cy="14.2813" r="11.8874" fx="22.7857" fy="13.2994" gradientTransform="matrix(1 0 0 -1 0.04 62.1543)" gradientUnits="userSpaceOnUse"> + <stop offset="0" style="stop-color:#B2B2B2"/> + <stop offset="1" style="stop-color:#757473"/> + </radialGradient> + <path id="turtleneck_6_" fill="url(#turtleneck_1_)" stroke="#4B4B4B" d="M39.715,44.786l-1.557-3.405c0,0-0.574,2.369-3.012,4.441 + c-2.109,1.795-6.785,2.072-6.785,2.072s-4.753-0.356-6.722-2.031c-2.436-2.072-3.012-4.441-3.012-4.441l-1.555,3.404 + c0,0-0.552,1.404,1.37,3.479c1.025,1.105,5.203,3.611,9.682,3.582c4.479-0.029,9.264-2.594,10.218-3.623 + C40.266,46.191,39.715,44.786,39.715,44.786z"/> + <path id="wh2_1_" fill="#9B9B9B" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M28.277,15.5c5.635,0,10.827,1.416,14.979,3.794c-1.615-8.228-7.795-14.34-15.132-14.282c-7.272,0.057-13.299,6.155-14.846,14.294 + C17.434,16.921,22.632,15.5,28.277,15.5z"/> + <path id="wh1_1_" fill="#9B9B9B" stroke="#4B4B4B" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M28.278,20.808c5.662,0,11.938,0.811,16.391,2.207c-0.11-2.059-0.272-2.826-0.412-3.72c-4.155-2.379-10.345-3.795-15.98-3.795 + c-5.644,0-11.842,1.421-16,3.807c-0.228,1.197-0.362,2.436-0.388,3.707C16.343,21.618,22.618,20.808,28.278,20.808z"/> +</g> +</svg> + + + + diff --git a/tests/acceptance/selenium/requirements.txt b/tests/acceptance/selenium/requirements.txt new file mode 100644 index 00000000..da79356e --- /dev/null +++ b/tests/acceptance/selenium/requirements.txt @@ -0,0 +1,23 @@ +admin user: +user: support@shopmodule.com +pass: 268090 + +frontend user: +user: d3test1@shopmodule.com +pass: 268090 + +prepared payments: +Rechnung +Vorauskasse +Bankeinzug/Lastschrift ELV +Kreditkarte Visa +Nachnahme +Heidelpay Paypal paypal +Debitkarte VisaElectron Maestro +EPS sterreich EPS (channel is missing) +Giropay Deutschland Giropay +iDeal Niederlande iDeal (how??) +Sofortberweisung ELV + +NOTE: +2013-09-20: ideal and eps can't be tested diff --git a/tests/acceptance/selenium/todo b/tests/acceptance/selenium/todo new file mode 100644 index 00000000..b33fe646 --- /dev/null +++ b/tests/acceptance/selenium/todo @@ -0,0 +1,2 @@ +TODO: +write new tests for creditcard and debitcard with admin settings saving paymentdata \ No newline at end of file diff --git a/tests/unittests/MC_Metrics.php b/tests/unittests/MC_Metrics.php new file mode 100644 index 00000000..5b539b29 --- /dev/null +++ b/tests/unittests/MC_Metrics.php @@ -0,0 +1,260 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +X1PJSxowMyuVPU3P0W8+RxXwfn6e \ No newline at end of file diff --git a/tests/unittests/additional.inc.php b/tests/unittests/additional.inc.php new file mode 100644 index 00000000..100b3dc3 --- /dev/null +++ b/tests/unittests/additional.inc.php @@ -0,0 +1,21 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPud0p3lZA3N/oFfsMHZbw+odIaqIOr/lohUu0DRFrM7IoE6R3oUOrzqc8nZmmb96nIh+5Cn+ +QoTgENChb0PueRpI63d6WAwVDmbQaH6bxpXUP7xUWD2+s1jI1VmYgpuwQY9xIy9Ki+pXUyC5HWmh +Qnlo787NEoOlPLEgiyN6W0B4NGnIIFvYY9HSBVDhIqzTqe3qMqRw68opzlBt2Fjs4VaFrlYlhELA +ffyQfQ8iMVRfoV4oZw22xp4dsW7jPIFEe9b8ZCmfYBjQgkar3Y6PLc4bZsrgoJzUYGZyJNTzVgVd +svOB/vgqbs9uyM2HvtnBsBMfgVWilf8i3WmYrBbTLQeJrWEG3Ww6xlecEkAMNYQuz96Y2alFjPU9 +E2BiiRW5sHUI6Kefw5LFSaWN5njEQbadw2ccWiH/2FZyByXNnuEKlyJ2mwzqlz7bN+sDoWc50/6i +WSR+twgJyHBHkjx6n6SsLAaSPxXpebVVQJWqXzN0i2uRRlJ54VNdyVwW22vR//mEJAUi944i1sS4 +7outy5wObIPX6iyVcbTpuI5oztSY9qmKV9Jfysd/KyenOB6wznK1rE4WDa+XmsKSuwvP4Cjmd6If +m9qrqFY0gihopQkWkP/SrPvgt5YxxR3ukzXimOepWNd/qRoJdVD8WpWHcMIl0t+XmDORZiBFC+uf +j5torijAyNQTaGLWDl3FXuYqkXCaHTtjb+XfAtZcY3NRlCyeJ36SHgH/jEqr+zcH9pdaYfqTM4Tb +YqzrBPSFKQBL3RJTKTDAqHsZ6QxwFrZ+OKxN/a7qhcfil+uhjwcYYqPbD4l9MQmgmolgtTo1nnsW +yR5oG9TRC2XFjJa5lv5az6oGraHgy6iExpk64gEeUbrAZcLCpQbLZPPHqeIubr/PHvhw66MxTXiU +9bz7ckHU2uV4GNEWXrDlI9tQ8dA5cZlIFUkkd3S9ErBj+Ymsmh5hrXAYyQ7MWFNqiwUKEFMm5uo0 +3SAdKdIXnjfsDqyQyDVquhLKqsOlnh4Opp4l2Eom2voBttPJHQRizUyK24i3RLv2r/AI+XLKQAPG +54wxRkqLYlMvgE2Dw6rBVgg+NbUMDFy3QILzSpN2t7GmU3qsNhb0XCvLyjq/6IEvSMEVyfLtDnZI +sqRFTM6kLP9q4JUoA03YSU4rj7P+MrFfBtKdqnXrmJseFM8LVrxohKVPTRgSJOk23exX2tPbwY81 +FI+bhdPMJ/56leXZ/pCx \ No newline at end of file diff --git a/tests/unittests/bootstrap.php b/tests/unittests/bootstrap.php new file mode 100644 index 00000000..45b138f7 --- /dev/null +++ b/tests/unittests/bootstrap.php @@ -0,0 +1,33 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/libs/d3heidelpayTestCase.php b/tests/unittests/libs/d3heidelpayTestCase.php new file mode 100644 index 00000000..3945fbc8 --- /dev/null +++ b/tests/unittests/libs/d3heidelpayTestCase.php @@ -0,0 +1,82 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +964iA6cvaRBadWGunUTCF+MinGEy5W== \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStream.php b/tests/unittests/libs/vfsStream/vfsStream.php new file mode 100644 index 00000000..68226c1d --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStream.php @@ -0,0 +1,162 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamAbstractContent.php b/tests/unittests/libs/vfsStream/vfsStreamAbstractContent.php new file mode 100644 index 00000000..d8d91a81 --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamAbstractContent.php @@ -0,0 +1,115 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamContainer.php b/tests/unittests/libs/vfsStream/vfsStreamContainer.php new file mode 100644 index 00000000..440dc51d --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamContainer.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPnA5t8KORYMgvJH9flO+qJDW879ecyRf1ljO0e0bvJjqRv7gbI8qtO5WHjh/L/0q55x7r/Ie +ZXxpRVkkkhwx8smJsAUy8Pk2HJXzPSL3to8KyuYsMRn1qOp0M4hoeUyhz4w+0lzQmU1933kOEYfE +vyowQFyMOFPJOuyjZV5jQ4B8dNwAXp6G782aVj8frkN3UhctVS6UnFBJZV8HUJFu3w37rh/fTInX +seiosSt/BJU5nITlgZ+c7a3LTGiHIBqPZLekGMn/ZCmfYBjQgkar3Y6PLc4bZ+vijXXAWUzeIWQk +1wTdqfOuJzjHy/+gHgNV6u21BMulWiAx4zkL7KYb72WtgTzZ/a+7URN5sMF7IB0Z/DUOBVZ1m4Xg +wqGeuE33T0B7v+6VT6+5+LFgG7X7GeyYdrG4kUIOr5T7N4JZBbYMzyRrbMwySKh/hisZJfzBw5L+ +8ytIPNRy+jq2C77AXlFH8rl5GnZGuzRLmfjBJPlw8kzlKOVFPtAc+HZ+NKW9XqQNmLndUTi58DjH +nDwCKmxgQD8pmTFeRWXQ7VYTzyZgYaR2jFOiO7CDcCtABKzrdnH2w4Mr3AiX0RnhRuclsU9Vsqdm +GsR5b/4BW3EaaxusDvP/Xt6BNuD3+jqbBZTlJSrqmsuJ7duRlwizJ3V/28ltf1oGYvEMwmnM3vO7 +dQijakyN/YRjX2VjWLHOfOtNJJaIRneT55Jo1ulSR/t4fgdLgT0rQ1mSbJvvCfoKplX+dyb0Yhqq +o8+45dQuLi+1LUyfrBza4lbgINb2ScmMdkaOFrM2l7LtKK00CChWxaSRIWN3tCrZkTeu7bK7/6dr +towF2RrJt6Ux5lj9HGYLbwPiddXPh0byzjdzJZRNJEbrK4JE+K9u2PYzXgicQCqT/qORuWYv+J1B +ph876Bcmxp3HntnLy5w30Gq+bzarBfUDOA6+IT2lzBWhjEdIc9PldLy0cxXM0YM9RzCXBU+b8JaW +KXSJ7IhGnnauSlwr5lzbWoyvCQ7Z8wXzJVC9p/b0GiuHsdqh84Un3dfHQdkKCBvo21gLea42L3ZC +QkLLUJRaqyI6NquLyiNdS2cc3zqwP+8cUFL6JOMF3/wUOOLLX645XuNTvMBJxF9fikF+ildmDJZF +ki7fKBoInMbauotRREkHuiZH5P02Br7SQS+19XhzAFMpPYzxBpjxrC3Aj4yidCPjoV4TeWZBJqcN +4NZHiubi6J8qljpOcYBWfATh9kkyYSTZ1/zj8Ifew0abE8l3Ps+jf5Y1gMGjhSSGPR5PaG1alQIT ++EXEMDeVCBVLEr1FeT/asEPUTZxUDOSLuOCi71NdP/20RgKCeel5nWWfINqIbuJZyoLtkEbWqgN0 +UuB+//wkEbd2xUbk4rVIAogizm9PuVlWlzTQSfF37/6wmCktRnPctocZW6Fdg5cZP50qnwPXSm5a +OUs9GYcrVss8dtSP0K79yBQqAc5NtOHaiOjYA4zWOSFw4rGAx8McfgHY5kHozECztrPcD1XypMLI +5+677OPty9ATf89MgrovPZxEDqBbjpj2e1aRoid9y17qRBVyZscxTASkBjPUgIRjed9Yd2+xL8kr +3mjibRfi2rs7buY8Nc9tnCMAC2+cVmrb10TrYaRFqAI2AeWMG5ULW5M/MlC83gGfS+aJNqsc0erP +ug7fWxfYPo5fKRNnu2HCJst/m4KrQys9V22vAaNfs2eBB4vd3Q33kg3Ax6vtpFB7TTv5UPlI8JuJ +WkCQyEti8mlYHiODSiZ/rNDfdzG0QG10zQE4BhGksWMm0wscr98mGa0UZZGi7petSiiuRWkX54KG +017FbOFa/EMx/PX58Gty1EsYUSf5GJJ4yfGIOQyqgQBKoG+56blRXuobWc12uqtHDUST//lJTpXW +mUe16TMDeROrpsi10NNxQY/k4gfFC2Q6ZrKxBzo1OaiWvIQFUBgxQhee04EF0oP34aO5OO8WLQZ+ +wxqweUQ/H8/R5mqeGVK/75a6pamIGfGg/hlVYmt36ltdkfwbJHGfIlv6DBxA8nqEgMirIZ0SSTcG +7LvG768xcVvcDyypov3mhBpNBgMab3Qp \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamContainerIterator.php b/tests/unittests/libs/vfsStream/vfsStreamContainerIterator.php new file mode 100644 index 00000000..c623b2e8 --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamContainerIterator.php @@ -0,0 +1,42 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +IL6wzDbHOyLoauEzPW5Dg3AelOW= \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamContent.php b/tests/unittests/libs/vfsStream/vfsStreamContent.php new file mode 100644 index 00000000..0f7309db --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamContent.php @@ -0,0 +1,59 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPwzi/cEw/i9KGwDhGBosms69G1hkHKL9gwEud5F2AYImMoKhGy+oVUXpNdWxwkHJ9/YVx4xe +2LOv3QMEshLzmZ8pelfz0Y0zwhZddhPQinya6Jsp1n1+Sa3xe5avyOiTa2Znow09ohUmoyzpQ54+ +vwM+ta/UIpupzEPI9n4i/IO0iF98YTFqf0P2AljHvi9pFLXWO1mZNPPmuA9i3EAJpzEDwIHkEaQ7 +XRZjy07g7xcWtda8S79AZS4goIIy+EZTUHNUZCmfYBjQgkar3Y6PLc4bZqbg7Vv7Tj8rhZWm9wVd +eOzB//c1R4BT9sy1gQKNLzgCyKTOs5ajLhiPUjMGEjmYwxNy25eSQVq/q83cjk9EVBPeqWFoTG+4 +88Xfx7yZ0ScFWsUpryQl6V/aPD9w6zikBa3dzkYZ5kolDaf6Xv+Tz4zb4cBNkaoOE5I0LUB6yXvs +CnSwhknTC4F++EjLr5orfunbqKHJNyijBNlyHXXuv7Zh4VFqoPzZdnGARfGJELBD9gRVRVYPub1+ +jqMBhifNy2hVmmI6WVSojGdH93UZ7FVXORLWWzhNBNy2s0qhu7Ekk4ih96aGIleRiit7rpc0LZCd +hfC2UzErKVg4TZUV/HDerdifwbzVFurR2GgrMmLhhHFS51pJqa1ZYw3RoV3b4+9+YftBpwpGYG32 +QuM+f16555LCEgfceVsKV969Dec89UqpsQx4u/Jk3Tve0xOi9JI/Fs+rQQSY5HpvWPiW9xXBZyoh +dsUpxlmTPLeZz0rTiCVKMeLD7Qvf+bCYajF3hNBAjzRQp37MyAYtsbCwFMaNS7jjgvkW0YLNblZ5 +TMgct7gf7Wc78D2wkoDP3+F1fJBaAianA68xkF846MN5PmBkIcA79+9O7AxTBpquF+RwvOUZgosc +SOhVcuQ8tpvE1EX3yO6xKyKu5yjWBbKgS9EM9o9JcDxKsVsV3EV43sk/dSFJQAIJVnTbtc56oMbW +u7qLp20bTl/SSNBUzRrx2BmqdnqgETpqhT5iJXV8YR6jfaJTY5KY5abhtaWPRc6tCZsPCKZIWq5u +BIW51U8DKcHkL8tMRIRqfVZ9X8bOyjSt7/MLvMTbAlIt/2PElqxjlBkAYnJusf9GilghvFyioyHW +VH49tllL/s5WCnDlFSfFseOJ222INT6pj5vfAW19OFVsCweG1NvWKIoR0H3TQ8b39mdQtJzcdkUs +rDq/OSZJVBCHa+SRoFRe8qMLMgiQit4SCTzJwXsMe6hDxbhq4KSc4YGq22sHaq+XUZXGX/7kDyFp +8QluwZY1iz8f49t0NA08en5P8G+bj9hG419aIEJ0r0WX5EDU/nsxznBMarn+V5Hr+nGDA/ODR4e0 +oTgZ8UHsv4qA6K4vBr53sj5paMAwL6LFY+Qr0yy23tL1PwHmIANKwukiJWxT4SpIkSrPNbOUnYG1 +3+xnlkeopgHlraAtFx43vpCgiBIorY6bOsYL9LJhhC86ZY0m+zNKGBTcLHTCKawX0iDT224HHLLI +sXObAyuYoZDb9SD5IvLi66EcYmqxq4MV/OIqhvy8GLSF4DIH627bOElHmxAxP9Rpi/bG9Awe3alv +aPkA9gNCynFREdP3J+vTn/4WGxIxUrehCt7+RZjlcFTwYPHyLfN8jtqIYfsOvIWMbuunhV+DiDvT +aPl/NDOD9G7/2x4pdHILgC6Z9AlTAxADjDDSHWS30k18w/TJ2/PrZtNHa3A3lwnKyEFOSgOxGo7y +ATgGlb1cnrmDAvM7i3XPIz+IUicnMW04e2W/czqGx/0U99qwW/WWgtXnWjUcTE0C7QTiMqXzUo+s +g8iv4jcw6K30gmtg0Fb74ympsSqRl5HwfPmDFOT/JIGOKyg5BJf56avZ9bPWVhPYVAYQ1zZ1QXR/ +OG8Lu4RJH7judnR677ndq3/yZEcvsw0YLEhxruwnN4rkh/Ibj07GsgulpZGWyIsKaU1SuM5G2cLp +TMCjrPH05xJBvfCq2yrwjvwJFzBbcJNfLnWuzfAg0GXU1FGQP+impbzgp/2r9p8LscZpj2Dyxal5 +3IFxBIk/jPm6w74TRDK4PuVSKWGYX5g/BQldGR+8ik+QBRaQppyBvqxa6nwv0GIVeK4z0anKtxIK +mcbluLnYcmxoTMqCH1vzHIi2kBEPYT3kT1YZcYVK6OVGwYythwR1fHczmuh7ssEPZGbd2Ts4dTYe +Eg08g5MlIKkSoWohnfyhH8t4RhVqwhiwAvOPpN3aU0OkvqXSAYEQKelq2MejpBm8Ns5EO248e2XF +PaNo9ItgP3jcD/5Mi37X8WAOUdISSs5OsL/DMybIHVT0tyvqPhjpceRmVzU2XyjP4pKwLURg3ozC +s6kLs6t5dJ2x26STo4LUHbXImM43evQ/8MkzEv+ncb2IE4Fkm+faCLT4jkeT3ylok2rbEaFpvoSj +VfrnhraR2GG7j8Awesdzkg0iMfyT9uUqwk21WiKV8djAw/TdREFOlXZ3SjNB++AnE5JnYHtIMF/R +B/Bzjs0bU7mKU+bkSRnLEFHG2FQkFoQrq6equDC8H48Eyz6n7DMuHqxOKMODugH5zgupZNqkQGtW +mcvp7xnfEgbRTtOwtg5cbUzkHtX4HcU7RaSrUp49Cux43csFmDCTl/hPdVf0DjNrqcMiIQMawUsG +DtHSxrn9wbrwOd8i2dwJe3YesenFgYOku2IkvxGOjxgmOU/E5vNZERVHMHSKHhI/+dbz7v/2lOH1 +2Q4UkSxZBp+NCce3RRxoYZrFfwgUK7Ms3M5ttsgNig+7aa7MroauCuorDPtCoUaaMsuNklfRPuVr +um74DA/PuF73b3X+b5ApCK7i8SjLb/vAwCtjbvZLXVm+B0pHJ0NwrsxbmnOeFJtlYV62unaJuDNj +CcixMrtC2WfOq3BubH2qgV+f96nAAqGCeSe8PHg017o8hLTg4R4L8LKIak8/TMv3TY4JozbErSFn +pPoRgklPwwPfId0hsw7DZ+5i31fNcTjfzstT6udrAunoPZ6lYQzR7n52q3KtaM8QmC1ab4wRH0+5 +l8ugqEy8FQ8QIs1aQhUCsK81jflqVWSC8i+r1F/8XL01M+kfKVZqsn8JaYHkQwhx///jYOspn2Kd +Lz9myfol4TFivzbTYXl0b8UcHAR9OyEaCsbIlc0Mi8xahVEzLr4mA+0615L7HuP9CvI5FMjH8+M+ +9mTcoOEiRXYAbpdFPFCmfr3xLiOmZ8qNCRN8ewnKGjqNBJX/XgrdNSAj41LPaWWW0xNIieZhnujS +rHIHuYKY8nPKKoVr3O68buzt2OXKQUeivOkzX5Zc22MgGz0I+hjBo7m9TA2jMo/X81pNBZ/OjTYF +hqHb7NimjxdoBMaroR0GBu++d5s2A4Zf3WxueXOPRyuzCNJZ3E6DUYtOI16Hn1FzOHLY2DJ4uv5K +/uyLyyORj8JH4/AAST7svvvVXjKsTa9nyWAP2BJDWwVcGTLJquIuIVDV/9/5ipM/pj6nfH3AoE8t +LxN07nyi6AqcKQpCwhbZYPpOoswkdvH5fHH+KRq3TSdLmeEuMgsvKz5HRhedKBNDP5jkq3g6vjNp +DPnzU4Z8DQmX7G8voVsmIWywCgJHzw1BZ4MB7ha5oUg+7822MIselTphR+MnNH/kXlYSHBqVX90o +ipLcvApF7jinYwRUscu5p7C+2cbxIABP41wVbs4bTCnKWe8fB78CoASLxXbBQ8GAVnqaJe3M7lZ2 +H3A15QQC9oreB8wtZk4P6w03WKHhKEq/GdlNE4RRz+mPkKmU4MgshWx7RnHws4zVAtBtu0olgvI2 +YxBrV8iFTcEghrpbgie3cDMmC1uju7K/koAqnDphNPzd/0qQs8h3ay06YnZvTVShBxuY3vsroV5P +xC1u9jabMJhEKpP0LYQSJHc5egDTxA+y7wFS5treJlQZ6O7DetaXqGesQF5P+V65oq1mm2NJ1io7 +IWoVgolG/3tYppwuMq8s6VXbCr2/K6q9Oex/ec0Dr1JDA5eSvo+5pw8GnH2MyNWxfVUjlS/XqKhg +0Wt8oiqFvYQe8/cBIX8npL/bCsa9XhSL8zQAkZZDVaTXjUNlXtOKcarmwWQj4vr8MeC9cu0n32x1 +hSttCnJtsAox1uRLCflv4Jz1GwQ+nERUOQMYZxkL \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamDirectory.php b/tests/unittests/libs/vfsStream/vfsStreamDirectory.php new file mode 100644 index 00000000..7b5065bd --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamDirectory.php @@ -0,0 +1,107 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +ATtzN9KxqxFUPBdehQXOngl0jSop00O= \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamException.php b/tests/unittests/libs/vfsStream/vfsStreamException.php new file mode 100644 index 00000000..a4c7ba00 --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamException.php @@ -0,0 +1,16 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cPxIw/plxuOF4/FmFQjZYSzTtJ8qqOo/eTuYu2xPDZNke/WJnkO5LrQ+odMBq9WqSARv/xF/s +km6U/e/Labm3LLKmCgVkmGh6T3K3p4MYlH6oDjWdLmG9GI8dtDB3uptUqNoyavUyE8aKLlp5ZY9D +8Wk3mY3kfKjshiK8wTi7mmKsx1HhswiFcLbXP1iDiNAJTgQ4RauUeLPPaYUpShodmj7zEL2RLtO/ +TVslY0Wb6JEoH3D961Zx1Qw+XNkmIsqdeJefZCmfYBjQgkar3Y6PLc4bZvDcmlq2LeVoyQrVJQTd +ROe49i2BWzLS9I2Ax9cbz9jxnhRFU1RSw69+DcN5dY0TJmVrQi8cfst/X6qKdeBj9raCPfFS9ASL +3odb2EulC8SnQCW3r7wUuzDUHj5NXmYEGlxy9riEVIUlYpI7lMvKxDzp7Acdp7GEcPZLTnIDwFi4 +wQn80A3f3Ox9zH8VKZDTscLhJopyH1jPeL+sE7dMuwl71RFZull/eLeqTPo9hRldMkBI9ybGfIHS +2XviyVUzOi/EtRipkqaW5Ah1XdwEibrVh8uoi9DXGpB2bB5ZEMkr/1nkHlF53tt7U6CAEPY282oo +FMnQuOHGqz++pJ6nZBKX0Os0M/K/bmLBP6niZQ3EQSA+RKt4oJUKENYnRsAckUp/tGOjlroi2SgQ +1+eIdbPLts88DGXmm9T0EgVTIr3/YjoYCxR+2BdXPBTmu1lcrHyoj+CgTPPUDF9rJyIua9pHcErG +aI637REoWvI38ISKVuQ8ZDmwV8JmaiIcbg/HTL8otJ/PQNhgMtzBIeIMH5netir0dYqWjgXO37WI +f+E5rOrJGqDpr4n7nwmsKhJ2pqfj \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamFile.php b/tests/unittests/libs/vfsStream/vfsStreamFile.php new file mode 100644 index 00000000..657e2cb4 --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamFile.php @@ -0,0 +1,122 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +QeZyGc/FnxquDS23Mx/h5d2wnv5oD6wt4sTyNm== \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/vfsStreamWrapper.php b/tests/unittests/libs/vfsStream/vfsStreamWrapper.php new file mode 100644 index 00000000..bcbcdfad --- /dev/null +++ b/tests/unittests/libs/vfsStream/vfsStreamWrapper.php @@ -0,0 +1,391 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +Bfo53WZvPYg0f/z8HDYDt4eqj/X0WB8= \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/visitor/vfsStreamAbstractVisitor.php b/tests/unittests/libs/vfsStream/visitor/vfsStreamAbstractVisitor.php new file mode 100644 index 00000000..6c2975f1 --- /dev/null +++ b/tests/unittests/libs/vfsStream/visitor/vfsStreamAbstractVisitor.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/visitor/vfsStreamPrintVisitor.php b/tests/unittests/libs/vfsStream/visitor/vfsStreamPrintVisitor.php new file mode 100644 index 00000000..f05f04df --- /dev/null +++ b/tests/unittests/libs/vfsStream/visitor/vfsStreamPrintVisitor.php @@ -0,0 +1,53 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cP/AwTY0HAqi8x7VZ0oXuUMi3W3kQlqEcxSmqjEV3VOpulGgdAUQ99vx9WfNUQwW8H75QOS1V +370x/taStiM5/NLxlUspNyJp/oLtY/Ri1Bo3WAiSzx4YMlAAu6GLB42R3QeYBm5jROIA6+rTmn70 +YPbvKujdz2O2nCgmvM5sv6UWWbpJulXC2vhL8yXVNwMbY4u4XFCcAUMmcZdheZ3gpHz7SkvQJqzY +ZAZtHuR3N2a/DzykUkCl+rV3zdeXBtL1VovY/epCAOYxMghfDGuXcLPX9Oy+QdnxVrjYocX3Zf2d +vw6FTl+XwedvsgRh8Eq/kmEbfaxmyZ0lOEn3lP3DvIRTqrBkXfYXlzjzNYs+Q9XMzcnHC6zGQGN0 +ugl9SK6TAzDwlFf3+YLOJSbdxd42ra1noclq6JzgpdbTPkyCSf3j0YT16S5NAUn3Z11/r1mFxJd5 +6EbkOVHMS9b20UkF/87W9Q7K0+bwPGwWN8XcRHwI6nkFuoOIH/OpJLPiO6va+7AiQGu9kI5S/Hb0 +v1/wccAzE9fypexCvclR9onGEv2C140Mc66zUmufIxREA0w3pTsMC4iBChK3BlVUBM4+8YN+lOGK +ljy1a/NcyaG64usVgM7mEvihSHM2LKukEeHZgAo3Vlzy/+hYbWmC/7bZ660Tok1A2UWK/Wj5xQ6x +tRVWYFyZ55r85RKAf4Rc1CYjgwE1dvh2oYkYitHrN8HiO92Qu6BpiDnM8Z3CcnEc0i0VVB+4AT+k +7bAhHGOxcizRtVsnIk/yleaFShTeCuGnzGUgFzHzJnWcHDI1mbhJPPxlH/GOgZcJ0j2/puqWpPb/ +8J56DXb4cvgp09f3G+kPquZtQhN7sG4Tekon3P9dhHsTsBBLEII/ct0ZJZdujCjXjj/JKxpa0GRo +8HI7LM5LFWwq7FesTgP09cMKoGPz9WqEIxKctVqlX2lYiCXLELR5s53b70Wq9A+PWIEEjwWVV49x +NZFKdod/v02Lmr3Zcjvi9V6ENE3quMiZgJP2BlpREd+UME8Q2+T4BIrb5/Z9HVj6qnaHB/PniuUF +wIhLagIqaG/HlgkXjaHGckL7cm3S5OUORko/4T/8ShPOdC2vA+OeGqCMMYD1NiUPVXNGYyEfJmwb +DFQrDxHdOZ0FBoFeRB22H9XlhA8FOxT0/hqrSFEqcuS18Bwxp8Ex4G5aXnxKuSJW2CzDNIUl/lye +voNlvMR+fSLi5PqZu0908+nz6gB45shRNw+uZpH0tRdn9lpd5YE7h0lTMjuu6/xKX2gK91wufo+9 +cyNLLJ6Vf/uuZSORE6jKsZQ9nkJiAjindON0AOLs6db9OpDcD2J0rtcw2nC2cIVE7ecZ471wIMou +UrlxQqGxp3GrRWCcMN3HiYkumPJxZ8f+wLRdSW23jbKA3nldfFpIBgzmjPKIAc3UN4wFFbYLI5Ds +VyVmS4MRoCtCo7cyJdtQ0JM7ObZ7KD62cmcBBHwC1MQxlZWlHA3HAJKe85hs8QH3L6+PljMXBFjN +QqnkrzAmojOLXQb10YNtdcyUmuCnLV09pfzvsKcAbs42Dqk1fNbSyhtmEC2zhVwgpCKzJZVJimeq +eu+qy48ATXPhNR5wBktvoULMEVKRyfEUuryAFzxbfvze2ZRh1xoOwtkZdBm4nb1+sJGVNz/gHVEY ++ytnIonCr5iLIA2a+aUHaR1h/okWhZ+EYlfpX0bylfnsvWBmVVG0HJC0c3Xt8Uvre8dwDCoFCmxf +6VvPaprSBbUCf3EC8PGBSV1/FPOU9iwxn3OpJ1qqwwHMSyrraIoOBTXdaFB8S+ysW50t11cQjaUL +HguOKH+0wrGvsHoysYDTqeuuaI4KiHiXOnEWi6Q2VVlDiCC5ZzZU8DO7F/NoyGIHtyM8svr1DShY +6mawX4KWjIUPVXxw81dS25kIHFZsmXltfK3+q4xYG2q3PzObCybCLiawUudkNIaxcvoL94QEZXcy +cXEpTwLjd56q1vRCaFnyybHPrGDBc3XbHqBGwuOa8aH87856Wlw9Qw+j00Jbfa0Ino2kSUeBjQmI +4sG0eiXp8JbKW5m+Y5q461mjHtrinFAMk0aK+zgNBxKa6dHXRsv+Xajt+RJfEVV2wy+Ym9yJOgvs +X7gtjPoKmm1KSUedc1JG7RNbj00HDWVp+tUeqd1AnD16yyAplzzY7H0xWXetKSiVojQXgS3seOGF +fgK2r1C31rCCrlY1qs9NII6z+EJWa1lnOPhIZVaohwQea0QU/XXZXe6CpEGIe3bcr5FscjOL1El/ +wrGUS/jxFvEL7pj7QW6m6U9uMpuZx6S1sQ9Nty7iXkg3fXCYdZUhi/ft4zsLL2rmeAIMq+jxnJj8 +6c8QrVb9xsDtiGW92s/EsM6kt9vJx9XjIHFYifThVaa53cBPJpvBc69GFyH3YR4zo3XfRDtJCiT2 +vGNSKb75kExE7BvAden7w8SEL1BqtrFNEDKTvcuC8OIsvFBx2eByTsmC0UvgzzDcuoHLl81lg2dZ +8ddCsdz7ms4eAQ4TSBFvVSrWc83x3g3JSEmUkOxFEhOVcNH07jptPgukQQLIFe1D2HerhSieEuzy +gokqJD0ilcDMqEoTjKRONJtXjkGOSCCV+yqducpLf1X8hrR7sbQaLcpXyhz5+moHUuLvX2FvaGO1 +XFu3simmfzWV8dQ9B1IFHOHM+ng3dM1i8YCX14/SjPTdfeOTJ+7mDlbi8Eq8h/GgDEgC7aUIwT+3 +P1WqvIURmMhsidcdlK9s6M60AzPwSuYcNf4+yJjaY2g7m+SoRqwaD78+XEAhgViT68MG+wfsk6mV +ciLI6iKBd1bHrO8+QTXv9H8Jn8+kH6iuUU7YV8tdqPMk5rsNk9YxzqWN3z+pKiCSROXZcJZg5Azf +i6wf+kWUjdmr1wyCdzONGe7a3G1jgPzdXMwRys55zYx0+uojDlpNP+csUerbSSAEJEZnURGTrpcf +w8HHEJWoU3cW+wvvG4eS7ljGrt9276MfdOn+3H6R6SbLdmwNE9Dsqx0Ol1Cm8M2T5ZCOjmuk1kG1 +icX3qS+KEHKPsUG4CM2fXJ0HRDs+wteLUWl7ly6JEgY4lXvMQ0PhDJC7e6zZ9PStxhtoiHg8UVee +3+fA6JQzX/LP+iaXYyNSTWgSyp7Nfa76Jg0OV6R2t3FnDzYH9dFc06r4l+2fNPK036Pkq6OkLoMh +DEAAfhIJUKcUrW2eYccGYRLCnX/T2Zz6/6+QfPTEt89Ur2iHASw8mrpaE0qGDWKuPyfhRDbypiWz +t+YrsQaZYy2rtbOsFPSdfUjHyqv4AGNIUsiiCFremGN98dY4p0cIRV79yRmWoNK9/U7TRZh1B7o/ +aItZZwnYLRSbkjbM0Mo3c56F+mM8ozyqLVmGQloXWZlYlC9V9zrBmhX/Tioh8M0m+Lubc3uW3U4m +fHou1ul7JIOGKcEwg6APURP8ByOdEN44xpfJlFKl3+vuRtmz1B8qfTG+e4cJ50bo4VTplrk5UB8I +YRhft81kZIr4/RR/zNmj3Wt6OzACHvWNTl7TU3Vmjb0TZa5/lKMFEP7l+3LKmRb6VLiFyFoIMNmU +ZOZVo3s5qEF1guABZgu+riVgbsBVvn7Qc23MgZh+dFW25BQ+H8e9Nj6KuEtbfvhyyW5SO3h9ewNL +K5q= \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/visitor/vfsStreamStructureVisitor.php b/tests/unittests/libs/vfsStream/visitor/vfsStreamStructureVisitor.php new file mode 100644 index 00000000..62903ef3 --- /dev/null +++ b/tests/unittests/libs/vfsStream/visitor/vfsStreamStructureVisitor.php @@ -0,0 +1,49 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/libs/vfsStream/visitor/vfsStreamVisitor.php b/tests/unittests/libs/vfsStream/visitor/vfsStreamVisitor.php new file mode 100644 index 00000000..c8e20c6f --- /dev/null +++ b/tests/unittests/libs/vfsStream/visitor/vfsStreamVisitor.php @@ -0,0 +1,27 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cP/KAeAilr1YCDherY89x32aSxFSnfjrAZzfFrDl81YaXQXuO1FKDfbB+58WrGLJfcCaqUnxR +0WeSgEL/EaK/H6Ziz6actxKbbpTx+XJB3sQ2DhAP8c5arrl9ibmKg6zMtrBAHTXNi1FjFeLejFQe +Q5HJuvtI+duEBGezIcbEJRID4V0CNMu8safNpLjVIsHsfzQmqw0OMaYFCfeISxr9N0ts+tNre0J2 +u6LhooEQ5OYiTXo2BudG2Cb1LMhMCdzM+hQgWOpCAOYxMghfDGuXcLPX9O/OOcgLHjvnRcvD9OId +Pvc3K0PVZioVfCsG50Qeg18cw1/AQiVeDhKzeC6AyDmUzmdkh08VKzKScwN27L8Lt+EUbH3zzIMr +HhVFNRR2nh9uVrQARf+z+wfKOk5KXMp824pyIaSaYZZkEWdj32rPeZvVkYLqioJS+dptxY7A6Ifp +RyyP/wFK0TD6J/auqvLmKdUd81Z7UspdYuerw/LTzrUu9KDW7cO9f94/z2eLyApVDAOlL4AY870v +p7f1NB/IpFQYNChfXeKNEzRli77NEsfvvRIa1hOpJd/lP56eIbUuCtybdVfaI2tj7CuRLfd4YOYa +x7ThP3xVqewlhJ4oBKLVxp0UboDg4qJuoiTICKbRoITXtMV2CKAML5q8/urBjiLwSQE7OTwoxD14 +VB3gBp5TO+hXD4ZpDBTdAYs0HpTHSPlnXsKFolaup/bZgDHL1nGXJY3r3eS5Dn8dZEk+XJVw8BpX +yzYRoVKmcEv0USVk76vaqQzv8HT9bUAvDDiggVMoN05hz+TCjaPDwW3OHI0KU+PsGMgM9F2eZSBt +gMMtXy+kYZDicsLfv6iL3fcrk+R2BtImMiG7XrhCHtBi6/EkDJ3s4SzoLtN6Jn6yaL/WOGOlbpGC +GFuP8mEtk4ClwKG29N3QUg1oek+OplH0y05GW2KuseMvCETK7gr7CrC9yGrz29qd2itJ8etyky6f +/b2dlRYQ1V1lJB3kAovYiZKWxMKavpUBAGhY50BEQaKXOgeAVfinH4ZcQL15YqsVUfS/Nw+lg68T +U/R5I0XalGtOFmn1e4GXCFZlldMmh2tY0Jj6qQXgfXSKAe/qQQzVKvW73ovSa+Zhpil/sChkEWUE +drC52Ql1YoUJw3b2CcdmsDEriGWV4PxLoRDlaW1gfQWxri9RpUNweLQxY9u59i4JWyl5XHBldoaR +p0Ysz8pJDssPnA1f1KUnIisUvwwxcUvdIQelPaHqLkN1k3A9wr0TMq3aaXgLzaVgFdteZ/Ylp/Bh +26lRCFGrUAuwfmtGNY3pq2Pog73p9yzE7l3HVLQAYYX7czkIhFxZi0s7mti97H26v2QuF+bpTV+l +2AL9zTAYedQaBpfNnCgSdAHl3xgXkrqVqhNMQmbI6I4Dq/LLpMDiKMjpMKgGstStzySrEnFjY/dz +RWeURi2c7BBdA3QLqePlxhwL4sHz/wrhC3NK3ACUQcVjJSoYVwCH2rT5IZ4pA9NkjaUvZEY+HkG4 +KaZhGe0kyRzC76dcCEvBe51JPstntR9lmvJ5DrkwPvMYehcT3YlNXNJExFiJZgmMTQDEiTPXviBR +VWE419plq62RQUus8tP6pEGRaeHfskBIOGE02J1SqvFt6K1ostDpSNsoOfni85hAnZEvbE4oCpUg +ptP2fR0jUdoPkb4CCE4rcGEUil2fjNdW/Bzd22UQHLHuLPQTgYmJgJC= \ No newline at end of file diff --git a/tests/unittests/phpmd/d3heidelpay_phpmd.bat b/tests/unittests/phpmd/d3heidelpay_phpmd.bat new file mode 100644 index 00000000..11f0e793 --- /dev/null +++ b/tests/unittests/phpmd/d3heidelpay_phpmd.bat @@ -0,0 +1,12 @@ +@echo off +if not exist report md report + +SET ROOT=../../ +SET EXCLUDE="%ROOT%controllers/admin/order/*" + +:call phpmd "%ROOT%" html codesize, design, unusedcode > report/phpmd_all.html + +call phpmd "%ROOT%" html "oxid_ruleset_cyclo.xml" > "report/oxidphpmd_cyclo.html" + +call phpmd "%ROOT%" html "oxid_ruleset_npath.xml" > "report/oxidphpmd_npath.html" +call phpmd "%ROOT%" html "oxid_ruleset_lines.xml" > "report/oxidphpmd_lines.html" diff --git a/tests/unittests/phpmd/oxid_ruleset_cyclo.xml b/tests/unittests/phpmd/oxid_ruleset_cyclo.xml new file mode 100644 index 00000000..b78e4983 --- /dev/null +++ b/tests/unittests/phpmd/oxid_ruleset_cyclo.xml @@ -0,0 +1,9 @@ + + + + 1 + + + + + \ No newline at end of file diff --git a/tests/unittests/phpmd/oxid_ruleset_lines.xml b/tests/unittests/phpmd/oxid_ruleset_lines.xml new file mode 100644 index 00000000..f91e1fb0 --- /dev/null +++ b/tests/unittests/phpmd/oxid_ruleset_lines.xml @@ -0,0 +1,9 @@ + + + + 1 + + + + + \ No newline at end of file diff --git a/tests/unittests/phpmd/oxid_ruleset_npath.xml b/tests/unittests/phpmd/oxid_ruleset_npath.xml new file mode 100644 index 00000000..89a79fc3 --- /dev/null +++ b/tests/unittests/phpmd/oxid_ruleset_npath.xml @@ -0,0 +1,9 @@ + + + + 1 + + + + + \ No newline at end of file diff --git a/tests/unittests/phpunit.xml b/tests/unittests/phpunit.xml new file mode 100644 index 00000000..abd10210 --- /dev/null +++ b/tests/unittests/phpunit.xml @@ -0,0 +1,50 @@ + + + + ../../../../ + + + ../ + + ../tests/ + ../cron/ + ../translations/ + ../views/ + ../out/ + ../public/ + ../setup/ + ../metadata.php + ../models/d3heidelpay_update.php + ../models/d3_hp_bankaccount.php + + + + + + unit/modules/d3/d3heidelpay/controllers/ + + + unit/modules/d3/d3heidelpay/modules/ + + + unit/modules/d3/d3heidelpay/models/ + + + diff --git a/tests/unittests/phpunit_masterpass.xml b/tests/unittests/phpunit_masterpass.xml new file mode 100644 index 00000000..7561b90f --- /dev/null +++ b/tests/unittests/phpunit_masterpass.xml @@ -0,0 +1,7 @@ + + + + unit/modules/d3/d3heidelpay/models/generators/basketTest.php + + + \ No newline at end of file diff --git a/tests/unittests/phpunitpci3.xml b/tests/unittests/phpunitpci3.xml new file mode 100644 index 00000000..85b9ceef --- /dev/null +++ b/tests/unittests/phpunitpci3.xml @@ -0,0 +1,8 @@ + + + + unit/modules/d3/d3heidelpay/models/containers + unit/modules/d3/d3heidelpay/models/generators + + + \ No newline at end of file diff --git a/tests/unittests/readme.txt b/tests/unittests/readme.txt new file mode 100644 index 00000000..fc822779 --- /dev/null +++ b/tests/unittests/readme.txt @@ -0,0 +1,34 @@ +# Generic test folder + +### Usage: + +* Copy the folder "tests" directly into your module directory, for example: **"eshop/modules/oxps/mymodule/"** +* Add new tests by adding files to **"tests/unit/module"** folder +* To run all the tests just run the script **"tests/runtests.sh"** +* To run a particular test class, just run the same script but add a path to the file: **EXAMPLE:** ./runtests.sh ./unit/module/somefileTest.php +* To run code coverage run the "runcoverage.sh" script. **IMPORTANT:** Activate the module in the ADMIN before running the coverage. +* If needs exclude some directorys or files, for that needs edit phpunit.xml file. +For example if needs remove directory with content named testFiles needs in bracket add new line like: + + < whitelist addUncoveredFilesFromWhitelist="true"> + < directory suffix=".php">../ + < exclude> + .... + < directory suffix=".php">../testFiles/ + .... + < /exclude> + +* If module does not have vendor directory and is stored modules/moduleName, then needs edit phpunit.xml file and change path where can be found all shop original files and directorys: + List for module with vendor directory: + < blacklist> + < directory suffix=".php">../../../../ + < /blacklist> + + List for module without vendor directory: + + < blacklist> + < directory suffix=".php">../../../ + + +* To run metrics first needs install pDepend(PHP depend - tool for metrics generation, default which was in PHPUNIT 3.4.* was removed in newest versions). how to do it is wrote there http://pdepend.org/download/index.html. +* To run metrics is just enough execute file ./runmetrics.sh with root user right(required for writing) \ No newline at end of file diff --git a/tests/unittests/runcoverage.bat b/tests/unittests/runcoverage.bat new file mode 100644 index 00000000..e0d75b49 --- /dev/null +++ b/tests/unittests/runcoverage.bat @@ -0,0 +1,2 @@ +@echo off +cls && phpunit --verbose --bootstrap bootstrap.php --configuration phpunit.xml --coverage-html coverage \ No newline at end of file diff --git a/tests/unittests/runcoverage.sh b/tests/unittests/runcoverage.sh new file mode 100644 index 00000000..d4edc32b --- /dev/null +++ b/tests/unittests/runcoverage.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +TESTDIR=$(dirname $0); + +CODECOVERAGE=1 \ +COVERAGE='--configuration phpunit.xml --coverage-html '$TESTDIR'/coverage' \ +$TESTDIR/runtests.sh diff --git a/tests/unittests/runmetrics.bat b/tests/unittests/runmetrics.bat new file mode 100644 index 00000000..95dafe92 --- /dev/null +++ b/tests/unittests/runmetrics.bat @@ -0,0 +1,2 @@ +@echo off +pdepend --summary-xml=metrics.xml --ignore=tests ../ && php MC_Metrics.php metrics.xml>metrics.txt \ No newline at end of file diff --git a/tests/unittests/runmetrics.sh b/tests/unittests/runmetrics.sh new file mode 100644 index 00000000..19013bac --- /dev/null +++ b/tests/unittests/runmetrics.sh @@ -0,0 +1,3 @@ +#!/bin/bash +pdepend --summary-xml=metrics.xml --ignore=tests ../ +php MC_Metrics.php metrics.xml>metrics.txt \ No newline at end of file diff --git a/tests/unittests/runtests.bat b/tests/unittests/runtests.bat new file mode 100644 index 00000000..1102fc20 --- /dev/null +++ b/tests/unittests/runtests.bat @@ -0,0 +1,2 @@ +@echo off +cls && phpunit --verbose --bootstrap bootstrap.php --configuration phpunit.xml \ No newline at end of file diff --git a/tests/unittests/runtests.sh b/tests/unittests/runtests.sh new file mode 100644 index 00000000..d5a4a975 --- /dev/null +++ b/tests/unittests/runtests.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +# test directory path +TESTDIR=$(dirname $0); + +# trying to find the metadata file path +if [ ! $CODECOVERAGE ]; then + if [ ! $oxMETADATA ]; then + oxMETADATA=$TESTDIR'/../metadata.php'; + else + if [ ! -e $oxMETADATA ]; then + echo "Can't find the metdata file at "\'$oxMETADATA\' + exit + fi + fi +fi + +# if oxPATH was not set, then try to find it from the current script path +if [ ! $oxPATH ]; then + oxPATH=$(dirname $(readlink -f $0)) + BASENAME=$(basename $oxPATH) + + #finding the modules directory path + while [ $BASENAME != 'modules' ]; do + oxPATH=$(dirname $oxPATH) + BASENAME=$(basename $oxPATH) + if [ $oxPATH == '/' ]; then + echo "Please set the oxPATH value" + exit + fi + done + + #going one directory up, to reach the shops root dir + oxPATH=$(dirname $oxPATH); +else + if [ ! -d $oxPATH ]; then + echo "Can't find the shop directory" \'$oxPATH\' + exit + fi +fi + +TARGET=$@; +if test -z '$TARGET' ; then + TARGET='unit'; +fi; + +oxPATH=$oxPATH oxMETADATA=$oxMETADATA \ +php -d 'memory_limit=1024M' \ +/usr/bin/phpunit --verbose --bootstrap $TESTDIR/bootstrap.php $COVERAGE \ +$TESTDIR/$TARGET diff --git a/tests/unittests/unit/OxidCommand.php b/tests/unittests/unit/OxidCommand.php new file mode 100644 index 00000000..a63ffc5e --- /dev/null +++ b/tests/unittests/unit/OxidCommand.php @@ -0,0 +1,38 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +jMopXDqcLt35LBhOBPZbCb8KeSPMHRi= \ No newline at end of file diff --git a/tests/unittests/unit/OxidTestCase.php b/tests/unittests/unit/OxidTestCase.php new file mode 100644 index 00000000..e263f585 --- /dev/null +++ b/tests/unittests/unit/OxidTestCase.php @@ -0,0 +1,372 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/criticalerrorshandler.php b/tests/unittests/unit/criticalerrorshandler.php new file mode 100644 index 00000000..1218bda5 --- /dev/null +++ b/tests/unittests/unit/criticalerrorshandler.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +fH8477sm4DJ3LC7QhwgOmxvEwebb \ No newline at end of file diff --git a/tests/unittests/unit/dbMaintenance.php b/tests/unittests/unit/dbMaintenance.php new file mode 100644 index 00000000..b0b9c3c9 --- /dev/null +++ b/tests/unittests/unit/dbMaintenance.php @@ -0,0 +1,134 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/order/heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/order/heidelpayTest.php new file mode 100644 index 00000000..35e43c8e --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/order/heidelpayTest.php @@ -0,0 +1,187 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/settingsTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/settingsTest.php new file mode 100644 index 00000000..0578a782 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/admin/settingsTest.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/controllers/orderTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/orderTest.php new file mode 100644 index 00000000..a59375de --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/orderTest.php @@ -0,0 +1,273 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +LAv66bZKiIbCMaW= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/controllers/paymentgatewayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/paymentgatewayTest.php new file mode 100644 index 00000000..cd5dc567 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/controllers/paymentgatewayTest.php @@ -0,0 +1,493 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +iZ5fB54= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/communicatorTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/communicatorTest.php new file mode 100644 index 00000000..062b9339 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/communicatorTest.php @@ -0,0 +1,85 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +dX/RtS/Wcnc0e13AEbE1ilwuSNchBm== \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/containers/parameterTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/containers/parameterTest.php new file mode 100644 index 00000000..7c78d730 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/containers/parameterTest.php @@ -0,0 +1,48 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/containers/skeletonTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/containers/skeletonTest.php new file mode 100644 index 00000000..145397ee --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/containers/skeletonTest.php @@ -0,0 +1,48 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +GulmgeX69k0= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/d3_hp_responseTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/d3_hp_responseTest.php new file mode 100644 index 00000000..00436f3c --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/d3_hp_responseTest.php @@ -0,0 +1,558 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/d3hpprepaymentdataTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/d3hpprepaymentdataTest.php new file mode 100644 index 00000000..e49a335f --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/d3hpprepaymentdataTest.php @@ -0,0 +1,162 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +OvvxGWq2xkZ3d7CMkLtCT8e= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/factoryTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/factoryTest.php new file mode 100644 index 00000000..e69b475f --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/factoryTest.php @@ -0,0 +1,236 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/generators/basketTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/generators/basketTest.php new file mode 100644 index 00000000..f8ab1b26 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/generators/basketTest.php @@ -0,0 +1,180 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/generators/bodyTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/generators/bodyTest.php new file mode 100644 index 00000000..13539f9b --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/generators/bodyTest.php @@ -0,0 +1,44 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +VWJSoqoYm6kpCAILGQCF7Dbfh8hQgKK= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/payment/exception/paymentnotreferencedtoheidelpayexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/payment/exception/paymentnotreferencedtoheidelpayexceptionTest.php new file mode 100644 index 00000000..2cc09b80 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/payment/exception/paymentnotreferencedtoheidelpayexceptionTest.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/payment/paymentTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/payment/paymentTest.php new file mode 100644 index 00000000..c2cbdd51 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/payment/paymentTest.php @@ -0,0 +1,116 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +6cc/chVIcm== \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidheidelpaydataexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidheidelpaydataexceptionTest.php new file mode 100644 index 00000000..fc2de871 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidheidelpaydataexceptionTest.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +1GdJ \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidtagnameexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidtagnameexceptionTest.php new file mode 100644 index 00000000..77a906fe --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/invalidtagnameexceptionTest.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nobasketexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nobasketexceptionTest.php new file mode 100644 index 00000000..2c3a1ae9 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nobasketexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +D/fevDon4D++EW== \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/noorderexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/noorderexceptionTest.php new file mode 100644 index 00000000..862448ca --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/noorderexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +Ym== \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentmethodexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentmethodexceptionTest.php new file mode 100644 index 00000000..d7505d50 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentmethodexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +H2UD0MWtSBhPs9P9 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentoptionexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentoptionexceptionTest.php new file mode 100644 index 00000000..2bd9ddeb --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/nopaymentoptionexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +HR+cP/aTYNiCvd5yoQmSM9X01QjzRSXIOIcSgu+uzNTVtb3wMq7vWwcg5Cz+d8weHFBa9KMHeM9T +T6G6sRJAOZzMmlmzufAxzwtOewmTu0ZtBxTEKmtG6x+e6D9UaY5sjRcRCpDJm9/Ic+icR5/wWbvd +22K4wCziaPPP+vm0p53jW9w9KEr0rVOYYeb58BdCI+Fbd/Bm5vhUE0ncKIlYSzji3BRwcj7ycbuO +1JbRvWmr8hvfZYreSyrZ0O2BhDlg1CqlmduNZCmfYBjQgkar3Y6PLc4bZn9huI2ugEKV2QE9SAVd +AuaVf9+b8OEWvLfJiB1qLKjqHsCM2hE94ibR0RadSA6xOMzZjg0MjK8QEdJdHYaKi/0q9fO3DA+k +MLwAwFjslwi9lWVvKMscpvBB3YbxuMOooxJLWNZA0qyq9bQ9wJksGL9HXaYxwY/XiDKju1wyl0w4 +i+DMg7SR3nZptjL1569uTkrfP9RxolP5GV+GWHaGNp6TEGJnaDDEolJwqOV3ZJAkEmpqwAqVdouV +Mdxi9vxyuE+9Zyn4FpOE5UVN6ARVi7Tr4sasAwjWYBBkOnCSuqPhhShRnEvviKaQChb3oOOPjS+V +RJz27VnLfANqnBtz5UAQQUeJzZTUN4sdFSA5VihgWWRw9pd/otcJYsLQj3N+WTC99H27fLrhD5f1 +6CJ+ck3SG1seYT9/ZSK+QDeCOkm2r4u7WV0GODc9RfgkmnJnqiquckteHH0gg1T/OJP6B0OL0g5/ +8v+XzfN4vTeQy5NsBM1Vo28hy7i6fefpLCexPX6694uJfhUIN1o8/wlHeTE9/dDqb4W9bOIbpliz +6mxP3ff1Xb/g9VxF+9OWi/d/oPP19WkwRkrrNRfPrEWZVwcET9qL3VXDXBwTDXfkSl1g4KyRZwa/ +fBbZI5SAB/2fubRKWrY25GvSYT/NCetA26fNWGK4GDwNvtFBODARUxErxn1+3WQ8k0lW0cmzmZ6I +0AlNQCKZ4V/FsLXp9XQmnY0f+onl280QalMp6b3K2NLbFeBiCWlj4pEYW6d4mTQmnaAgOmRMURoM +WmdqLOAwQXLxuAtFShnj7uaJxeG+0LGpepJMKonRDDiZdICAy/m/9RI59hWcf7oI6oQSyX4sshK0 +Zyfw8KFnIxU/CJ9tJFkR3Fxk7WD5Bsm4OGIMeXCPJkqXSB3xQXbgZGHAKFMl2ujmtVtXpWiPG8wM +7FHYdUpk4R6ojGAv2D9UnSd0pPajkREAUxF4Z4oMOkqnKTCFTW47zHv9kymQjafABvURe3XqdhJI +TMqO8yJk1BZUig75gS1pzEfDB+kiJHkEw15j6YEgZ6z6DsKofiIOjgKs7RoeUBiZIYMW8eoJf6LI ++4EhHbHTcImlTk6ss3YiEKuWOxwJJOBZFRM7hsAAMB5/k9pZBAjVW5hVdsFG5gNXmouLaPjF3bLw +gl61UfcnlBU9mCXXcn1bl1GN38945jP+32oamFG8mIRqYRvLv99fL+xHVt+ahS/ilVvDVM41DOok +o5TA1FabQMz9teIobZCAYbCbatDdZd4eKITAQLkooJQId2iahYC2oAsnSe4ImLq3EQwYgRHIQ/xu +X5gDQCWLREszQdNFy7cxYrjtC+ucQsG6o6WwYMeAJgQS7WDH4omWvXOb/X1WDMnH/2QcpHZrXGk2 +bSD0OpAy6DBq6+LeAbDEH0MKpIHx6SpsgP2owG/kTqLDFklyXMtmTg9WXFaUL+UUqis4NAQjpILI +Be5knJ4+QhbbgbTOYHjvz3Dn1BvQfQWn/YT0ppPSIIg/rhKAar0ZRbFL05iSMr+Bt33cnTcHtSsC +Krkow7gTyKmZqPBgpY02x6faDtcGD5bDCbLXgjDIqmIN5hYAJ/ov32JAeM1UoIuvdL78U4GjbANs +4N73gUjXOiv4K92QfKyDom2cLD5L2J1zkrBMRbQxkLL+MXDSWuS1GJ2/otdS+qwaj9yE/V8JxhYX +HAvVI4pfRH1BWY35nzhwznQtXAudob/b1TfIgek7Di36PFaiOOlltaIX0IZZtM6+St+6XGZ31sOw +WsG/ykzKEMGHqfOWDDcH0miCp/FigNgruBaHUPhIAg+eVQ9AB6+YIqIJOZH62HHeQKyo34Ku+YZg +3dJd1jw+GLIuSqUMxvmxOiXSLIjDoioleiZaKEuJ1mdjpXwQO6waYo40ySkAr5NYX1cAHGIiL6qx +BO1vNQANavG7IC2jDXsrNi+1r+yXuCo6Q6oXHeUWuexZl4Jg1JC2s0ZbcGVEfgOELfm5MANT9Nmp +TVTAuHOU4UxWASvKKVZNxC6LNa/xkcxo0uV0G13plDLsGNeIpNgzvuOomJZejhBfaNm= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/notransactionuniqueidTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/notransactionuniqueidTest.php new file mode 100644 index 00000000..6293c0dc --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/notransactionuniqueidTest.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +/Kjo \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/unknownheidelpayonlinetransferpaymentexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/unknownheidelpayonlinetransferpaymentexceptionTest.php new file mode 100644 index 00000000..7f98fdf2 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/exception/unknownheidelpayonlinetransferpaymentexceptionTest.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +/gvPyrcL \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/pattern/patternTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/pattern/patternTest.php new file mode 100644 index 00000000..cb0daa9c --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/pattern/patternTest.php @@ -0,0 +1,40 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/request/xmlTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/xmlTest.php new file mode 100644 index 00000000..dc24b862 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/request/xmlTest.php @@ -0,0 +1,954 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/requestTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/requestTest.php new file mode 100644 index 00000000..2347fb73 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/requestTest.php @@ -0,0 +1,151 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +ZPF/9K7r07v139lfl06/6+a= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/response/parserTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/response/parserTest.php new file mode 100644 index 00000000..08fc8bd2 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/response/parserTest.php @@ -0,0 +1,167 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/responseTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/responseTest.php new file mode 100644 index 00000000..360aa013 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/responseTest.php @@ -0,0 +1,62 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +B69OirluR+m= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptypasswordexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptypasswordexceptionTest.php new file mode 100644 index 00000000..dc3b0102 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptypasswordexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptysecuritysenderexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptysecuritysenderexceptionTest.php new file mode 100644 index 00000000..bce4f545 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptysecuritysenderexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptyusernameexceptionTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptyusernameexceptionTest.php new file mode 100644 index 00000000..882ec530 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/exception/emptyusernameexceptionTest.php @@ -0,0 +1,35 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/heidelpayTest.php new file mode 100644 index 00000000..854d11fb --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/settings/heidelpayTest.php @@ -0,0 +1,276 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +fZHYKkwl87oIUTML7a35iwUDCKe= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/heidelpayTest.php new file mode 100644 index 00000000..9d8f80fb --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/heidelpayTest.php @@ -0,0 +1,187 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +MHsDCnAK0a9p+psKKMBkcxf+soM6 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/PostData.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/PostData.php new file mode 100644 index 00000000..d042a13c --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/PostData.php @@ -0,0 +1,36 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlInPostData.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlInPostData.php new file mode 100644 index 00000000..767e33cc --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlInPostData.php @@ -0,0 +1,46 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlresponse.xml b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlresponse.xml new file mode 100644 index 00000000..ebed7da3 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/transactionlog/reader/testdata/xmlresponse.xml @@ -0,0 +1,95 @@ + + + + + 589__@@2013-11-15 15:53:07 + 31HA07BC812AA9C518E25BBA2FCEB08F + 2484.5359.0530 + HPC + + + 2013-11-15 14:53:10 + ACK + WAITING + Transaction Pending + Transaction pending + + 2513.0828.1888 HPC TEST-Merchant (3D-secure) + 54,70 EUR + ff8080814306423a014306677f9c2a55 + https://test.ctpe.net/payment/threedsecure;jsessionid=.sbg-vm-ps01?ndcid=8a90818a266b715c012670524c390236_31HA07BC81863D9EA99754503E98AD1C_CTPE_randf2e7a7d868fe3fd9 + eJxVUltPwjAU/iuEZ10v627k0AQkERJRFGL0iZSujEW2QVcE/PW246Z9Ot/5zvU7hdlKKzWYKrnTisNY1bXIVCtPu+3Dsgjm0Zx4PqOY4jaHSe9NbTl8K13nVcmJhz0K6AJtspYrURoOQm77o2fOIkYYBnSGUCg9GnDcvAAHYZJgEt0nDhI/AXTioRSF4sOqNmtRpq0nkwJqXCCrXWn0kbPYFr0A2Ok1Xxmz6SC03++9grKFyGpPVgUgxwG6DTbZOau2tQ55yunj4mc5VdlsSNE7GUj6kY0nva9R//WzC8hFQCqM4hTjCIckaBHW8aMOjQE1fhCFG4ITjO+w2/MEYeO69K6co/66wGqtVSmPPHbqXBGow6YqlY2wql5tSFUt+ct0bJs6C9BtiYeh01oaq1oYB3HkUxL5hFAWUKd6Q7iqudWJEBw2ZR0A5FLR+aDofHZr/fsOv54Frac= + **** **** **** 1111 + + + + + + 33.80 + EUR + 2484.5359.0530 HPC TEST-Merchant (3D-secure) + 2013-11-15 14:53:10 + +49 (0) 6543210123 + + + 33.80 + EUR + + + + + + PAYPAL + + + + Paul + Positiv + + +
+ stollbergerstraße 23 + 49084 + Osnabrück + + DE +
+ + d3test1@shopmodule.com + + + +
+ + + https://test-heidelpay.hpcgw.net/sgw/authresult;jsessionid=CEB760B673F667422B54CD57BCFAA32B.worker11 + + c4b9aa2e0df6b33ae2e5c8e8968e01a9__@@3dsframe__@@0__@@8bba705e__@@DEB3D3FA__@@1 + + + + 1 + 19.00 + 2990 + 2990 + goods + 3503 + Kuyichi Ledergürtel JEVER + + 1 + 2 + 19.00 + 390 + 390 + shipment + - + Versandkosten + + 1 + + 2013-11-15 14:53:10 + + 05 + +
+
diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/inputTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/inputTest.php new file mode 100644 index 00000000..c4317f97 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/inputTest.php @@ -0,0 +1,68 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +D905CPUPXGzS49RWoEcNqcw85s8= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/ordercontextTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/ordercontextTest.php new file mode 100644 index 00000000..53ed85af --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/ordercontextTest.php @@ -0,0 +1,109 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/paymentsuccessTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/paymentsuccessTest.php new file mode 100644 index 00000000..d76ba0ad --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/verify/paymentsuccessTest.php @@ -0,0 +1,37 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +7jTjWNXOiQzUfA0m6DuP \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/models/viewconfigTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/models/viewconfigTest.php new file mode 100644 index 00000000..6a18e587 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/models/viewconfigTest.php @@ -0,0 +1,370 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +f26vB0== \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_order_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_order_heidelpayTest.php new file mode 100644 index 00000000..f44a162d --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_order_heidelpayTest.php @@ -0,0 +1,701 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_payment_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_payment_heidelpayTest.php new file mode 100644 index 00000000..af35824b --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/controllers/d3_payment_heidelpayTest.php @@ -0,0 +1,240 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/core/d3_oxemail_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/core/d3_oxemail_heidelpayTest.php new file mode 100644 index 00000000..abc3e944 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/core/d3_oxemail_heidelpayTest.php @@ -0,0 +1,101 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_d3counter_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_d3counter_heidelpayTest.php new file mode 100644 index 00000000..6892b7a2 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_d3counter_heidelpayTest.php @@ -0,0 +1,63 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxinputvalidator_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxinputvalidator_heidelpayTest.php new file mode 100644 index 00000000..872b987d --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxinputvalidator_heidelpayTest.php @@ -0,0 +1,77 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +lT/jOp5kOERtv3S6jQpTnARhVEXr \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxorder_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxorder_heidelpayTest.php new file mode 100644 index 00000000..b8c641c6 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxorder_heidelpayTest.php @@ -0,0 +1,282 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +XPtFCX2JvKQ+jmugnz4= \ No newline at end of file diff --git a/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxpaymentgateway_heidelpayTest.php b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxpaymentgateway_heidelpayTest.php new file mode 100644 index 00000000..91445424 --- /dev/null +++ b/tests/unittests/unit/modules/d3/d3heidelpay/modules/models/d3_oxpaymentgateway_heidelpayTest.php @@ -0,0 +1,576 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +yx2x/x3pZIi= \ No newline at end of file diff --git a/tests/unittests/unit/oxPrinter.php b/tests/unittests/unit/oxPrinter.php new file mode 100644 index 00000000..36d2df97 --- /dev/null +++ b/tests/unittests/unit/oxPrinter.php @@ -0,0 +1,107 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +uYny \ No newline at end of file diff --git a/tests/unittests/unit/test_config.inc.php b/tests/unittests/unit/test_config.inc.php new file mode 100644 index 00000000..259c3ff3 --- /dev/null +++ b/tests/unittests/unit/test_config.inc.php @@ -0,0 +1,83 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +qyMNq07jt8hu3Rc6AiY7 \ No newline at end of file diff --git a/tests/unittests/unit/test_utils.php b/tests/unittests/unit/test_utils.php new file mode 100644 index 00000000..7c79d9d0 --- /dev/null +++ b/tests/unittests/unit/test_utils.php @@ -0,0 +1,669 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +DOmM7ZkErD8En+0gzwXcHhVj \ No newline at end of file