From 51d81d8ec6da8e859b7b167fce9981cf97c5104b Mon Sep 17 00:00:00 2001
From: Kevin Adametz
Date: Fri, 20 Aug 2021 18:22:21 +0200
Subject: [PATCH] Custom Price / Land / User Order Homeparty
---
app/Http/Controllers/Api/KasSLLController.php | 326 ++++++------
app/Http/Controllers/MembershipController.php | 9 +-
.../Controllers/PaymentMethodController.php | 4 +-
.../Controllers/Sys/AdminToolsController.php | 24 +-
.../Controllers/User/HomepartyController.php | 262 +++++++---
app/Http/Controllers/User/OrderController.php | 74 +--
app/Http/Controllers/UserDataController.php | 4 +-
.../Controllers/Web/HomepartyController.php | 2 +
app/Http/Controllers/Web/SiteController.php | 16 +-
app/Http/Controllers/WizardController.php | 26 +-
app/Http/Middleware/Checkout.php | 2 +-
app/Models/Homeparty.php | 47 +-
app/Models/HomepartyUserOrderItem.php | 24 +
app/Models/PaymentMethod.php | 22 +
app/Models/Product.php | 107 ++--
app/Models/ShippingCountry.php | 14 +
app/Models/ShippingPrice.php | 12 +-
app/Models/ShoppingOrderItem.php | 1 -
app/Repositories/ProductRepository.php | 2 +
app/Repositories/UserRepository.php | 6 +-
app/Services/HTMLHelper.php | 2 +
app/Services/HomepartyCart.php | 49 +-
app/Services/HomepartyUserCart.php | 27 +
app/Services/PriceService.php | 29 ++
app/Services/TaxPriceHelper.php | 13 +
app/Services/UserService.php | 82 +++
app/Services/Yard.php | 146 +++++-
...018_10_21_164001_create_products_table.php | 5 +-
...2_29_170559_create_user_accounts_table.php | 4 +
...25_131854_create_payment_methods_table.php | 1 +
..._10_15_151059_create_homeparties_table.php | 6 +-
public/images/logo_mivita.png | Bin 6874 -> 9194 bytes
resources/views/admin/country/form.blade.php | 36 +-
resources/views/admin/country/index.blade.php | 2 +-
.../admin/payment_method/index.blade.php | 20 +-
resources/views/admin/product/form.blade.php | 39 +-
resources/views/admin/product/index.blade.php | 4 +-
.../views/sys/admin/domain-ssl.blade.php | 57 +-
.../views/user/homeparty/_edit.blade.php | 28 +-
.../views/user/homeparty/detail.blade.php | 485 ++++++++++++++----
.../views/user/homeparty/guests.blade.php | 26 +-
.../views/user/homeparty/index.blade.php | 9 +-
.../homeparty/modal_show_products.blade.php | 15 +-
.../views/user/homeparty/order.blade.php | 40 +-
.../homeparty/self_guest_detail.blade.php | 2 +-
.../homeparty/show_calc_bonus_host.blade.php | 69 ++-
.../homeparty/show_products_order.blade.php | 64 ++-
.../user/homeparty/show_total_order.blade.php | 106 +++-
resources/views/user/order/delivery.blade.php | 14 +-
resources/views/user/order/list.blade.php | 81 ++-
.../views/user/order/shipping_me.blade.php | 23 +-
.../views/user/order/shipping_ot.blade.php | 15 +-
.../views/user/order/yard_view_form.blade.php | 55 +-
.../views/web/templates/checkout.blade.php | 88 +++-
routes/web.php | 6 +-
55 files changed, 1951 insertions(+), 681 deletions(-)
create mode 100644 app/Services/PriceService.php
create mode 100644 app/Services/TaxPriceHelper.php
diff --git a/app/Http/Controllers/Api/KasSLLController.php b/app/Http/Controllers/Api/KasSLLController.php
index e41b481..450a27e 100755
--- a/app/Http/Controllers/Api/KasSLLController.php
+++ b/app/Http/Controllers/Api/KasSLLController.php
@@ -55,81 +55,75 @@ diQ860kC4h++erAa8dvB1DUG5oldYYPiEKOyyyn+tNU298QcEkLrG1JcLuUXpfTg
8dPIr+VpGomsvpwGTfJFjlE=
-----END PRIVATE KEY-----";
private static $ssl_certificate_sni_crt = "-----BEGIN CERTIFICATE-----
-MIIHTTCCBjWgAwIBAgIQH4gEWhBDcY8AMLZ32r5QTzANBgkqhkiG9w0BAQsFADCB
-lTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
-A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQD
-EzRTZWN0aWdvIFJTQSBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2Vy
-dmVyIENBMB4XDTE5MDgwODAwMDAwMFoXDTIxMDgwODIzNTk1OVowgcsxCzAJBgNV
-BAYTAkRFMQ4wDAYDVQQREwU4Nzc1NTEPMA0GA1UECBMGQmF5ZXJuMRUwEwYDVQQH
-EwxLaXJjaGhhc2xhY2gxEzARBgNVBAkTCkxlaW5mZWxkIDIxFjAUBgNVBAoTDXJp
-d2EtdGVjIGUuSy4xITAfBgNVBAsTGEF1dGhvcml6ZWQgYnkgVW5pdGVkIFNTTDEc
-MBoGA1UECxMTUHJlbWl1bVNTTCBXaWxkY2FyZDEWMBQGA1UEAwwNKi5taXZpdGEu
-Y2FyZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJU6G05MkGflX1KY
-eaj8RrA2I7RXAc5Weet+do8PYDUN4qoeYB8xNrJsdoJ+L6a59Xy956Z9jWPqtert
-EVTjpIwFsWV9mopL/fNvZ3fJFPs4FTzc9Xk/wlceuoQCuWYqI5lw+iPzpNMBurnD
-DGMVeR4/MlJ051Q39nUTW0jyJ5RALjS2kyxG9/lc7NBmi6xcFPU/oX1DYVtQoR+I
-QEnTCOfPvhrvdTsN5u5gYQU9KNWOuRUHXX7nnLUwGTCD/okiuj4GVeitbpdqJ9vU
-8oVtMVCeULgEArI8fE0pZkJIeDD8LcDt8FAoczXBWFmjYFmu6Z0T5fUU5JxaU34z
-/5PJTJsCAwEAAaOCA18wggNbMB8GA1UdIwQYMBaAFBfZ1iUnZ/kxwklD2TA2RIxs
-qU/rMB0GA1UdDgQWBBQJLRjW/unX2Kw7txO4/dispWvY5zAOBgNVHQ8BAf8EBAMC
-BaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
-SgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwQwJTAjBggrBgEFBQcCARYXaHR0cHM6
-Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQICMFoGA1UdHwRTMFEwT6BNoEuGSWh0
-dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQU9yZ2FuaXphdGlvblZhbGlk
-YXRpb25TZWN1cmVTZXJ2ZXJDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEF
-BQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBT3JnYW5pemF0
-aW9uVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggrBgEFBQcwAYYXaHR0
-cDovL29jc3Auc2VjdGlnby5jb20wJQYDVR0RBB4wHIINKi5taXZpdGEuY2FyZYIL
-bWl2aXRhLmNhcmUwggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB1APZclC/RdzAi
-FFQYCDCUVo7jTRMZM7/fDC8gC8xO8WTjAAABbHE1WwgAAAQDAEYwRAIgJnc8PV0c
-fDxAikfdvJzFVOG26cUzmZDqaS79ZYEAXT8CIDzUJervlzJK3huunhkNWYe0ZdH6
-SOXrgCfNMErZgB2UAHYARJRlLrDuzq/EQAfYqP4owNrmgr7YyzG1P9MzlrW2gagA
-AAFscTVbKAAABAMARzBFAiEAmbmiqUZRcSU0G+cO2F3Vu9933x48ase0RTnzx6nv
-0UsCIF6PtjDj80Zp/fE/Da218Jl/Php06TJk488Y69yxyUE2AHcAVYHUwhaQNgFK
-6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAFscTVbVgAABAMASDBGAiEAmTjfVRbR
-K5UgRC1QHH5nGILAUIl9hWAn6/C0UE1QuQUCIQCxa6ezO4p4BpRM6SlLo4or/JXC
-lgdQ/TQEe/eD+rqjpTANBgkqhkiG9w0BAQsFAAOCAQEAiEJ+HAVU53CtOZw74kzV
-/elsY8a7eke2fUP1+dGuwx24iEefUDQJGkSSEMOub8DsBd9ZwFY6hAE1KCNAlZnT
-mhtwxTBjMPE3H1eE+1Ye00Wv323YcZgnqWYy7A36r5/RdupQRw3hs/w58BoJACDj
-sSmGvH9GkeohXgUwLL91mlNJ56vUX2nDCxylxqLyWTMjzsPFMc8Of8ek2QIobMNX
-KopeChQU9ACe/ZsdO2UClGVtuupjrhfkbKAeJCcEW+DonV1geTwuXuJjIwitTyXD
-K5RDtw2QPwFRVggqe7TrnGzKdNzxbKN6tRWKuCKdyKqczf6zn1gG+Z1emrwN+lBn
-xA==
+MIIGLzCCBRegAwIBAgIRAJ6HzyfKXWCtRn3q9gGkgYEwDQYJKoZIhvcNAQELBQAw
+gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
+BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE
+AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD
+QTAeFw0yMTA3MjIwMDAwMDBaFw0yMjA3MjIyMzU5NTlaMBgxFjAUBgNVBAMMDSou
+bWl2aXRhLmNhcmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVOhtO
+TJBn5V9SmHmo/EawNiO0VwHOVnnrfnaPD2A1DeKqHmAfMTaybHaCfi+mufV8veem
+fY1j6rXq7RFU46SMBbFlfZqKS/3zb2d3yRT7OBU83PV5P8JXHrqEArlmKiOZcPoj
+86TTAbq5wwxjFXkePzJSdOdUN/Z1E1tI8ieUQC40tpMsRvf5XOzQZousXBT1P6F9
+Q2FbUKEfiEBJ0wjnz74a73U7DebuYGEFPSjVjrkVB11+55y1MBkwg/6JIro+BlXo
+rW6Xaifb1PKFbTFQnlC4BAKyPHxNKWZCSHgw/C3A7fBQKHM1wVhZo2BZrumdE+X1
+FOScWlN+M/+TyUybAgMBAAGjggL6MIIC9jAfBgNVHSMEGDAWgBSNjF7EVK2K4Xfp
+m/mbBeG4AY1h4TAdBgNVHQ4EFgQUCS0Y1v7p19isO7cTuP3YrKVr2OcwDgYDVR0P
+AQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG
+AQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEFBQcCARYX
+aHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEFBQcBAQR4
+MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JT
+QURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUHMAGG
+F2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByCDSoubWl2aXRhLmNh
+cmWCC21pdml0YS5jYXJlMIIBfAYKKwYBBAHWeQIEAgSCAWwEggFoAWYAdQBGpVXr
+dfqRIDC1oolp9PN9ESxBdL79SbiFq/L8cP5tRwAAAXrNeYDBAAAEAwBGMEQCIFzd
++zLvEGolSmSaa7vaQxv63DuX5vHQggER6/Dh+jZGAiAcUn8AZjF7GQOd4LTzGMhU
+KsGNyn6d3n4cJ9fy9BzRxAB1AEHIyrHfIkZKEMahOglCh15OMYsbA+vrS8do8JBi
+lgb2AAABes15gIYAAAQDAEYwRAIgE0NFzvN7qEre8Bc1C8EsMHD+5PDyQHZRBJkN
+OdxsH9MCIDBSFFZTheD2+nzbHm5WLvAI75xyUvyBx/LEy3XBtjulAHYAKXm+8J45
+OSHwVnOfY6V35b5XfZxgCvj5TV0mXCVdx4QAAAF6zXmAWwAABAMARzBFAiAbRPVk
+w3AIzVF7gE0R3ZJgou7P4o9KL2yRgAaeGbbClgIhAPL86sD0GwPZ9ZsL31q07Y/S
+1kq5ohBt907fOisMwI0HMA0GCSqGSIb3DQEBCwUAA4IBAQAaYeV2NtUM2HkxWbfd
+3jVAs1PdBIYtktBpx7UwNphylqF4qlsZwV5XZxeD/K7mTW5tgNaHHrEjaOME/y1s
+rWTIt1D+UUmDdiSgKfVF5gfajPFVepOcb5OC+ielevvnVJn/6Tqa/RNz0GstwMnB
+3lBaoP7oGuBy2Ow3LG0+yO4Q0j82gIkOM15CsjY9ZK540HAXllxKGN29Yf+RDkqE
+zRk4TE12MEW+Ugw6RxDSUCfKmev4iUAT9vq790OESAfOKY1zg/6hIF3noH1IFt1d
+e0wVWz58KTXBqHsmxX3F1PUuT6NY+wRsVfnc8hR8mfJibJ0VL8wxjzScDXyHpZr/
+o3I7
-----END CERTIFICATE-----";
private static $ssl_certificate_sni_bundle = "-----BEGIN CERTIFICATE-----
-MIIGGTCCBAGgAwIBAgIQE31TnKp8MamkM3AZaIR6jTANBgkqhkiG9w0BAQwFADCB
+MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx
-MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBlTELMAkGA1UEBhMCR0IxGzAZBgNV
+MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE
-ChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQDEzRTZWN0aWdvIFJTQSBPcmdhbml6
-YXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAnJMCRkVKUkiS/FeN+S3qU76zLNXYqKXsW2kDwB0Q
-9lkz3v4HSKjojHpnSvH1jcM3ZtAykffEnQRgxLVK4oOLp64m1F06XvjRFnG7ir1x
-on3IzqJgJLBSoDpFUd54k2xiYPHkVpy3O/c8Vdjf1XoxfDV/ElFw4Sy+BKzL+k/h
-fGVqwECn2XylY4QZ4ffK76q06Fha2ZnjJt+OErK43DOyNtoUHZZYQkBuCyKFHFEi
-rsTIBkVtkuZntxkj5Ng2a4XQf8dS48+wdQHgibSov4o2TqPgbOuEQc6lL0giE5dQ
-YkUeCaXMn2xXcEAG2yDoG9bzk4unMp63RBUJ16/9fAEc2wIDAQABo4IBbjCCAWow
-HwYDVR0jBBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFBfZ1iUn
-Z/kxwklD2TA2RIxsqU/rMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/
-AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYG
-BFUdIAAwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl
-cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy
-bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy
-dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ
-aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAThNA
-lsnD5m5bwOO69Bfhrgkfyb/LDCUW8nNTs3Yat6tIBtbNAHwgRUNFbBZaGxNh10m6
-pAKkrOjOzi3JKnSj3N6uq9BoNviRrzwB93fVC8+Xq+uH5xWo+jBaYXEgscBDxLmP
-bYox6xU2JPti1Qucj+lmveZhUZeTth2HvbC1bP6mESkGYTQxMD0gJ3NR0N6Fg9N3
-OSBGltqnxloWJ4Wyz04PToxcvr44APhL+XJ71PJ616IphdAEutNCLFGIUi7RPSRn
-R+xVzBv0yjTqJsHe3cQhifa6ezIejpZehEU4z4CqN2mLYBd0FUiRnG3wTqN3yhsc
-SPr5z0noX0+FCuKPkBurcEya67emP7SsXaRfz+bYipaQ908mgWB2XQ8kd5GzKjGf
-FlqyXYwcKapInI5v03hAcNt37N3j0VcFcC3mSZiIBYRiBXBWdoY5TtMibx3+bfEO
-s2LEPMvAhblhHrrhFYBZlAyuBbuMf1a+HNJav5fyakywxnB2sJCNwQs2uRHY1ihc
-6k/+JLcYCpsM0MF8XPtpvcyiTcaQvKZN8rG61ppnW5YCUtCC+cQKXA0o4D/I+pWV
-idWkvklsQLI+qGu41SWyxP7x09fn1txDAXYw+zuLXfdKiXyaNb78yvBXAfCNP6CH
-MntHWpdLgtJmwsQt6j8k9Kf5qLnjatkYYaA7jBU=
+ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g
+VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
+AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N
+TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj
+eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E
+oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk
+Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY
+uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j
+BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb
++ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G
+A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw
+CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0
+LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr
+BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv
+bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov
+L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H
+ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH
+7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi
+H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx
+RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv
+xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38
+sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL
+l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq
+6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY
+LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5
+yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K
+00u/I5sUKUErmgQfky3xxzlIPK1aEn8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7
@@ -228,117 +222,111 @@ UrRHcP8347EOn9uLFjyZrPEQ773tUVaERAZDeO0nAoGAZXMhlmKmqTrM2jSb64ja\n
pEddcEW2LuTvwQueOKUuSSwmCydKXkcgrYZ4EHyOgvVN9JZ5ZfW6ZathFipVEKdy\n
diQ860kC4h++erAa8dvB1DUG5oldYYPiEKOyyyn+tNU298QcEkLrG1JcLuUXpfTg\n
8dPIr+VpGomsvpwGTfJFjlE=\n
------END PRIVATE KEY-----
+-----END PRIVATE KEY-----\n
",
"ssl_certificate_sni_crt" => "-----BEGIN CERTIFICATE-----\n
-MIIHTTCCBjWgAwIBAgIQH4gEWhBDcY8AMLZ32r5QTzANBgkqhkiG9w0BAQsFADCB\n
-lTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\n
-A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQD\n
-EzRTZWN0aWdvIFJTQSBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2Vy\n
-dmVyIENBMB4XDTE5MDgwODAwMDAwMFoXDTIxMDgwODIzNTk1OVowgcsxCzAJBgNV\n
-BAYTAkRFMQ4wDAYDVQQREwU4Nzc1NTEPMA0GA1UECBMGQmF5ZXJuMRUwEwYDVQQH\n
-EwxLaXJjaGhhc2xhY2gxEzARBgNVBAkTCkxlaW5mZWxkIDIxFjAUBgNVBAoTDXJp\n
-d2EtdGVjIGUuSy4xITAfBgNVBAsTGEF1dGhvcml6ZWQgYnkgVW5pdGVkIFNTTDEc\n
-MBoGA1UECxMTUHJlbWl1bVNTTCBXaWxkY2FyZDEWMBQGA1UEAwwNKi5taXZpdGEu\n
-Y2FyZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJU6G05MkGflX1KY\n
-eaj8RrA2I7RXAc5Weet+do8PYDUN4qoeYB8xNrJsdoJ+L6a59Xy956Z9jWPqtert\n
-EVTjpIwFsWV9mopL/fNvZ3fJFPs4FTzc9Xk/wlceuoQCuWYqI5lw+iPzpNMBurnD\n
-DGMVeR4/MlJ051Q39nUTW0jyJ5RALjS2kyxG9/lc7NBmi6xcFPU/oX1DYVtQoR+I\n
-QEnTCOfPvhrvdTsN5u5gYQU9KNWOuRUHXX7nnLUwGTCD/okiuj4GVeitbpdqJ9vU\n
-8oVtMVCeULgEArI8fE0pZkJIeDD8LcDt8FAoczXBWFmjYFmu6Z0T5fUU5JxaU34z\n
-/5PJTJsCAwEAAaOCA18wggNbMB8GA1UdIwQYMBaAFBfZ1iUnZ/kxwklD2TA2RIxs\n
-qU/rMB0GA1UdDgQWBBQJLRjW/unX2Kw7txO4/dispWvY5zAOBgNVHQ8BAf8EBAMC\n
-BaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw\n
-SgYDVR0gBEMwQTA1BgwrBgEEAbIxAQIBAwQwJTAjBggrBgEFBQcCARYXaHR0cHM6\n
-Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQICMFoGA1UdHwRTMFEwT6BNoEuGSWh0\n
-dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQU9yZ2FuaXphdGlvblZhbGlk\n
-YXRpb25TZWN1cmVTZXJ2ZXJDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEF\n
-BQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBT3JnYW5pemF0\n
-aW9uVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAjBggrBgEFBQcwAYYXaHR0\n
-cDovL29jc3Auc2VjdGlnby5jb20wJQYDVR0RBB4wHIINKi5taXZpdGEuY2FyZYIL\n
-bWl2aXRhLmNhcmUwggF+BgorBgEEAdZ5AgQCBIIBbgSCAWoBaAB1APZclC/RdzAi\n
-FFQYCDCUVo7jTRMZM7/fDC8gC8xO8WTjAAABbHE1WwgAAAQDAEYwRAIgJnc8PV0c\n
-fDxAikfdvJzFVOG26cUzmZDqaS79ZYEAXT8CIDzUJervlzJK3huunhkNWYe0ZdH6\n
-SOXrgCfNMErZgB2UAHYARJRlLrDuzq/EQAfYqP4owNrmgr7YyzG1P9MzlrW2gagA\n
-AAFscTVbKAAABAMARzBFAiEAmbmiqUZRcSU0G+cO2F3Vu9933x48ase0RTnzx6nv\n
-0UsCIF6PtjDj80Zp/fE/Da218Jl/Php06TJk488Y69yxyUE2AHcAVYHUwhaQNgFK\n
-6gubVzxT8MDkOHhwJQgXL6OqHQcT0wwAAAFscTVbVgAABAMASDBGAiEAmTjfVRbR\n
-K5UgRC1QHH5nGILAUIl9hWAn6/C0UE1QuQUCIQCxa6ezO4p4BpRM6SlLo4or/JXC\n
-lgdQ/TQEe/eD+rqjpTANBgkqhkiG9w0BAQsFAAOCAQEAiEJ+HAVU53CtOZw74kzV\n
-/elsY8a7eke2fUP1+dGuwx24iEefUDQJGkSSEMOub8DsBd9ZwFY6hAE1KCNAlZnT\n
-mhtwxTBjMPE3H1eE+1Ye00Wv323YcZgnqWYy7A36r5/RdupQRw3hs/w58BoJACDj\n
-sSmGvH9GkeohXgUwLL91mlNJ56vUX2nDCxylxqLyWTMjzsPFMc8Of8ek2QIobMNX\n
-KopeChQU9ACe/ZsdO2UClGVtuupjrhfkbKAeJCcEW+DonV1geTwuXuJjIwitTyXD\n
-K5RDtw2QPwFRVggqe7TrnGzKdNzxbKN6tRWKuCKdyKqczf6zn1gG+Z1emrwN+lBn\n
-xA==\n
+MIIGLzCCBRegAwIBAgIRAJ6HzyfKXWCtRn3q9gGkgYEwDQYJKoZIhvcNAQELBQAw\n
+gY8xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO\n
+BgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE3MDUGA1UE\n
+AxMuU2VjdGlnbyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD\n
+QTAeFw0yMTA3MjIwMDAwMDBaFw0yMjA3MjIyMzU5NTlaMBgxFjAUBgNVBAMMDSou\n
+bWl2aXRhLmNhcmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVOhtO\n
+TJBn5V9SmHmo/EawNiO0VwHOVnnrfnaPD2A1DeKqHmAfMTaybHaCfi+mufV8veem\n
+fY1j6rXq7RFU46SMBbFlfZqKS/3zb2d3yRT7OBU83PV5P8JXHrqEArlmKiOZcPoj\n
+86TTAbq5wwxjFXkePzJSdOdUN/Z1E1tI8ieUQC40tpMsRvf5XOzQZousXBT1P6F9\n
+Q2FbUKEfiEBJ0wjnz74a73U7DebuYGEFPSjVjrkVB11+55y1MBkwg/6JIro+BlXo\n
+rW6Xaifb1PKFbTFQnlC4BAKyPHxNKWZCSHgw/C3A7fBQKHM1wVhZo2BZrumdE+X1\n
+FOScWlN+M/+TyUybAgMBAAGjggL6MIIC9jAfBgNVHSMEGDAWgBSNjF7EVK2K4Xfp\n
+m/mbBeG4AY1h4TAdBgNVHQ4EFgQUCS0Y1v7p19isO7cTuP3YrKVr2OcwDgYDVR0P\n
+AQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG\n
+AQUFBwMCMEkGA1UdIARCMEAwNAYLKwYBBAGyMQECAgcwJTAjBggrBgEFBQcCARYX\n
+aHR0cHM6Ly9zZWN0aWdvLmNvbS9DUFMwCAYGZ4EMAQIBMIGEBggrBgEFBQcBAQR4\n
+MHYwTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JT\n
+QURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUHMAGG\n
+F2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByCDSoubWl2aXRhLmNh\n
+cmWCC21pdml0YS5jYXJlMIIBfAYKKwYBBAHWeQIEAgSCAWwEggFoAWYAdQBGpVXr\n
+dfqRIDC1oolp9PN9ESxBdL79SbiFq/L8cP5tRwAAAXrNeYDBAAAEAwBGMEQCIFzd\n
++zLvEGolSmSaa7vaQxv63DuX5vHQggER6/Dh+jZGAiAcUn8AZjF7GQOd4LTzGMhU\n
+KsGNyn6d3n4cJ9fy9BzRxAB1AEHIyrHfIkZKEMahOglCh15OMYsbA+vrS8do8JBi\n
+lgb2AAABes15gIYAAAQDAEYwRAIgE0NFzvN7qEre8Bc1C8EsMHD+5PDyQHZRBJkN\n
+OdxsH9MCIDBSFFZTheD2+nzbHm5WLvAI75xyUvyBx/LEy3XBtjulAHYAKXm+8J45\n
+OSHwVnOfY6V35b5XfZxgCvj5TV0mXCVdx4QAAAF6zXmAWwAABAMARzBFAiAbRPVk\n
+w3AIzVF7gE0R3ZJgou7P4o9KL2yRgAaeGbbClgIhAPL86sD0GwPZ9ZsL31q07Y/S\n
+1kq5ohBt907fOisMwI0HMA0GCSqGSIb3DQEBCwUAA4IBAQAaYeV2NtUM2HkxWbfd\n
+3jVAs1PdBIYtktBpx7UwNphylqF4qlsZwV5XZxeD/K7mTW5tgNaHHrEjaOME/y1s\n
+rWTIt1D+UUmDdiSgKfVF5gfajPFVepOcb5OC+ielevvnVJn/6Tqa/RNz0GstwMnB\n
+3lBaoP7oGuBy2Ow3LG0+yO4Q0j82gIkOM15CsjY9ZK540HAXllxKGN29Yf+RDkqE\n
+zRk4TE12MEW+Ugw6RxDSUCfKmev4iUAT9vq790OESAfOKY1zg/6hIF3noH1IFt1d\n
+e0wVWz58KTXBqHsmxX3F1PUuT6NY+wRsVfnc8hR8mfJibJ0VL8wxjzScDXyHpZr/\n
+o3I7\n
-----END CERTIFICATE-----
",
"ssl_certificate_sni_bundle" => "-----BEGIN CERTIFICATE-----\n
-MIIGGTCCBAGgAwIBAgIQE31TnKp8MamkM3AZaIR6jTANBgkqhkiG9w0BAQwFADCB\n
+MIIGEzCCA/ugAwIBAgIQfVtRJrR2uhHbdBYLvFMNpzANBgkqhkiG9w0BAQwFADCB\n
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl\n
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV\n
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx\n
-MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBlTELMAkGA1UEBhMCR0IxGzAZBgNV\n
+MTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBjzELMAkGA1UEBhMCR0IxGzAZBgNV\n
BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE\n
-ChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQDEzRTZWN0aWdvIFJTQSBPcmdhbml6\n
-YXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0B\n
-AQEFAAOCAQ8AMIIBCgKCAQEAnJMCRkVKUkiS/FeN+S3qU76zLNXYqKXsW2kDwB0Q\n
-9lkz3v4HSKjojHpnSvH1jcM3ZtAykffEnQRgxLVK4oOLp64m1F06XvjRFnG7ir1x\n
-on3IzqJgJLBSoDpFUd54k2xiYPHkVpy3O/c8Vdjf1XoxfDV/ElFw4Sy+BKzL+k/h\n
-fGVqwECn2XylY4QZ4ffK76q06Fha2ZnjJt+OErK43DOyNtoUHZZYQkBuCyKFHFEi\n
-rsTIBkVtkuZntxkj5Ng2a4XQf8dS48+wdQHgibSov4o2TqPgbOuEQc6lL0giE5dQ\n
-YkUeCaXMn2xXcEAG2yDoG9bzk4unMp63RBUJ16/9fAEc2wIDAQABo4IBbjCCAWow\n
-HwYDVR0jBBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFBfZ1iUn\n
-Z/kxwklD2TA2RIxsqU/rMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/\n
-AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYG\n
-BFUdIAAwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl\n
-cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy\n
-bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy\n
-dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ\n
-aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAThNA\n
-lsnD5m5bwOO69Bfhrgkfyb/LDCUW8nNTs3Yat6tIBtbNAHwgRUNFbBZaGxNh10m6\n
-pAKkrOjOzi3JKnSj3N6uq9BoNviRrzwB93fVC8+Xq+uH5xWo+jBaYXEgscBDxLmP\n
-bYox6xU2JPti1Qucj+lmveZhUZeTth2HvbC1bP6mESkGYTQxMD0gJ3NR0N6Fg9N3\n
-OSBGltqnxloWJ4Wyz04PToxcvr44APhL+XJ71PJ616IphdAEutNCLFGIUi7RPSRn\n
-R+xVzBv0yjTqJsHe3cQhifa6ezIejpZehEU4z4CqN2mLYBd0FUiRnG3wTqN3yhsc\n
-SPr5z0noX0+FCuKPkBurcEya67emP7SsXaRfz+bYipaQ908mgWB2XQ8kd5GzKjGf\n
-FlqyXYwcKapInI5v03hAcNt37N3j0VcFcC3mSZiIBYRiBXBWdoY5TtMibx3+bfEO\n
-s2LEPMvAhblhHrrhFYBZlAyuBbuMf1a+HNJav5fyakywxnB2sJCNwQs2uRHY1ihc\n
-6k/+JLcYCpsM0MF8XPtpvcyiTcaQvKZN8rG61ppnW5YCUtCC+cQKXA0o4D/I+pWV\n
-idWkvklsQLI+qGu41SWyxP7x09fn1txDAXYw+zuLXfdKiXyaNb78yvBXAfCNP6CH\n
-MntHWpdLgtJmwsQt6j8k9Kf5qLnjatkYYaA7jBU=\n
+ChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFJTQSBEb21haW4g\n
+VmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC\n
+AQ8AMIIBCgKCAQEA1nMz1tc8INAA0hdFuNY+B6I/x0HuMjDJsGz99J/LEpgPLT+N\n
+TQEMgg8Xf2Iu6bhIefsWg06t1zIlk7cHv7lQP6lMw0Aq6Tn/2YHKHxYyQdqAJrkj\n
+eocgHuP/IJo8lURvh3UGkEC0MpMWCRAIIz7S3YcPb11RFGoKacVPAXJpz9OTTG0E\n
+oKMbgn6xmrntxZ7FN3ifmgg0+1YuWMQJDgZkW7w33PGfKGioVrCSo1yfu4iYCBsk\n
+Haswha6vsC6eep3BwEIc4gLw6uBK0u+QDrTBQBbwb4VCSmT3pDCg/r8uoydajotY\n
+uK3DGReEY+1vVv2Dy2A0xHS+5p3b4eTlygxfFQIDAQABo4IBbjCCAWowHwYDVR0j\n
+BBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFI2MXsRUrYrhd+mb\n
++ZsF4bgBjWHhMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0G\n
+A1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYGBFUdIAAw\n
+CAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNlcnRydXN0\n
+LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2Bggr\n
+BgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNv\n
+bS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDov\n
+L29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAMr9hvQ5Iw0/H\n
+ukdN+Jx4GQHcEx2Ab/zDcLRSmjEzmldS+zGea6TvVKqJjUAXaPgREHzSyrHxVYbH\n
+7rM2kYb2OVG/Rr8PoLq0935JxCo2F57kaDl6r5ROVm+yezu/Coa9zcV3HAO4OLGi\n
+H19+24rcRki2aArPsrW04jTkZ6k4Zgle0rj8nSg6F0AnwnJOKf0hPHzPE/uWLMUx\n
+RP0T7dWbqWlod3zu4f+k+TY4CFM5ooQ0nBnzvg6s1SQ36yOoeNDT5++SR2RiOSLv\n
+xvcRviKFxmZEJCaOEDKNyJOuB56DPi/Z+fVGjmO+wea03KbNIaiGCpXZLoUmGv38\n
+sbZXQm2V0TP2ORQGgkE49Y9Y3IBbpNV9lXj9p5v//cWoaasm56ekBYdbqbe4oyAL\n
+l6lFhd2zi+WJN44pDfwGF/Y4QA5C5BIG+3vzxhFoYt/jmPQT2BVPi7Fp2RBgvGQq\n
+6jG35LWjOhSbJuMLe/0CjraZwTiXWTb2qHSihrZe68Zk6s+go/lunrotEbaGmAhY\n
+LcmsJWTyXnW0OMGuf1pGg+pRyrbxmRE1a6Vqe8YAsOf4vmSyrcjC8azjUeqkk+B5\n
+yOGBQMkKW+ESPMFgKuOXwIlCypTPRpgSabuY0MLTDXJLR27lk8QyKGOHQ+SwMj4K\n
+00u/I5sUKUErmgQfky3xxzlIPK1aEn8=\n
-----END CERTIFICATE-----\n
-----BEGIN CERTIFICATE-----\n
-MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv\n
-MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk\n
-ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF\n
-eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow\n
-gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK\n
-ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD\n
-VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN\n
-BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt\n
-UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC\n
-tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf\n
-jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM\n
-8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm\n
-AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV\n
-Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9\n
-N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF\n
-qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9\n
-HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ\n
-+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX\n
-HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv\n
-A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/\n
-BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud\n
-HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4\n
-dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0\n
-dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD\n
-lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn\n
-RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ\n
-YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8\n
-Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf\n
-Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p\n
-0fKtirOMxyHNwu8=\n
+MIIFgTCCBGmgAwIBAgIQOXJEOvkit1HX02wQ3TE1lTANBgkqhkiG9w0BAQwFADB7\n
+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD\n
+VQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UE\n
+AwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTE5MDMxMjAwMDAwMFoXDTI4\n
+MTIzMTIzNTk1OVowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5\n
+MRQwEgYDVQQHEwtKZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBO\n
+ZXR3b3JrMS4wLAYDVQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0\n
+aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sI\n
+s9CsVw127c0n00ytUINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnG\n
+vDoZtF+mvX2do2NCtnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQ\n
+Ijy8/hPwhxR79uQfjtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfb\n
+IWax1Jt4A8BQOujM8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0\n
+tyA9yn8iNK5+O2hmAUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97E\n
+xwzf4TKuzJM7UXiVZ4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNV\n
+icQNwZNUMBkTrNN9N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5\n
+D9kCnusSTJV882sFqV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJ\n
+WBp/kjbmUZIO8yZ9HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ\n
+5lhCLkMaTLTwJUdZ+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzG\n
+KAgEJTm4Diup8kyXHAc/DVL17e8vgg8CAwEAAaOB8jCB7zAfBgNVHSMEGDAWgBSg\n
+EQojPpbxB+zirynvgqV/0DCktDAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID\n
+ZsswDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAG\n
+BgRVHSAAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6Ly9jcmwuY29tb2RvY2EuY29t\n
+L0FBQUNlcnRpZmljYXRlU2VydmljZXMuY3JsMDQGCCsGAQUFBwEBBCgwJjAkBggr\n
+BgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUA\n
+A4IBAQAYh1HcdCE9nIrgJ7cz0C7M7PDmy14R3iJvm3WOnnL+5Nb+qh+cli3vA0p+\n
+rvSNb3I8QzvAP+u431yqqcau8vzY7qN7Q/aGNnwU4M309z/+3ri0ivCRlv79Q2R+\n
+/czSAaF9ffgZGclCKxO/WIu6pKJmBHaIkU4MiRTOok3JMrO66BQavHHxW/BBC5gA\n
+CiIDEOUMsfnNkjcZ7Tvx5Dq2+UUTJnWvu6rvP3t3O9LEApE9GQDTF1w52z97GA1F\n
+zZOFli9d31kWTz9RvdVFGD/tSo7oBmF0Ixa1DVBzJ0RHfxBdiSprhTEUxOipakyA\n
+vGp4z7h/jnZymQyd/teRCBaho1+V\n
-----END CERTIFICATE-----
",
"ssl_certificate_sni_chainfile" => null,
diff --git a/app/Http/Controllers/MembershipController.php b/app/Http/Controllers/MembershipController.php
index 65ca030..4308f61 100755
--- a/app/Http/Controllers/MembershipController.php
+++ b/app/Http/Controllers/MembershipController.php
@@ -43,11 +43,10 @@ class MembershipController extends Controller
$userHistoryUpgradeOrder = UserHistory::whereUserId($user->id)->whereAction('upgrade_order')->get()->last();
$userHistoryDeleteMembership = UserHistory::whereUserId($user->id)->whereAction('delete_membership')->whereStatus(50)->get()->last();
-
$data = [
'user' => $user,
- 'products' => Product::where('active', true)->where('show_at', '=', 3)->orderBy('pos', 'ASC')->get(),
- 'upgrade' => Product::where('active', true)->where('show_at', '=', 4)->where('identifier', 'upgrade')->get(),
+ 'products' => Product::where('active', true)->whereJsonContains('show_on', ['4', '5'])->orderBy('pos', 'ASC')->get(),
+ 'upgrade' => Product::where('active', true)->whereJsonContains('show_on', '5')->where('identifier', 'upgrade')->get(),
'diff_months' => $diff_months,
'userHistoryPaymentOrder' => $userHistoryPaymentOrder,
'userHistoryUpgradeOrder' => $userHistoryUpgradeOrder,
@@ -91,7 +90,7 @@ class MembershipController extends Controller
$user->abo_options = true;
$user->save();
}
- if($product && $product->active && $product->show_at >= 3){
+ if($product && $product->active){
$image = "";
if($product->images->count()){
$image = $product->images->first()->slug;
@@ -136,7 +135,7 @@ class MembershipController extends Controller
\Session()->flash('alert-success', "keine Änderung vorgenommen.");
return back();
}
- if($product && $product->active && $product->show_at >= 3){
+ if($product && $product->active){
$user->payment_order_id = $product->id;
$user->save();
UserHistory::create(['user_id' => $user->id, 'action'=>$action, 'status'=>10, 'product_id'=>$product->id]);
diff --git a/app/Http/Controllers/PaymentMethodController.php b/app/Http/Controllers/PaymentMethodController.php
index c85c494..fd965e7 100755
--- a/app/Http/Controllers/PaymentMethodController.php
+++ b/app/Http/Controllers/PaymentMethodController.php
@@ -35,7 +35,7 @@ class PaymentMethodController extends Controller
'name' => $data['name'],
'short' => $data['short'],
'pos' => $data['pos'],
- 'show_at' => $data['show_at'],
+ 'show_on' => isset($data['show_on']) ? $data['show_on'] : null,
'default' => isset($data['default']) ? true : false,
'active' => isset($data['active']) ? true : false,
]);
@@ -44,7 +44,7 @@ class PaymentMethodController extends Controller
$model->name = $data['name'];
$model->short = $data['short'];
$model->pos = $data['pos'];
- $model->show_at = $data['show_at'];
+ $model->show_on = isset($data['show_on']) ? $data['show_on'] : null;
$model->default = isset($data['default']) ? true : false;
$model->active = isset($data['active']) ? true : false;
$model->save();
diff --git a/app/Http/Controllers/Sys/AdminToolsController.php b/app/Http/Controllers/Sys/AdminToolsController.php
index 93257a4..bc26470 100755
--- a/app/Http/Controllers/Sys/AdminToolsController.php
+++ b/app/Http/Controllers/Sys/AdminToolsController.php
@@ -115,14 +115,21 @@ class AdminToolsController extends Controller
$user_shops = UserShop::all();
$text = "";
- $kas = new KasController();
+ /* $kas = new KasController();
$domain = 'mivita.care';
$ssl = KasSLLController::getApiSSLParameter();
$subdomains = $kas->action('get_subdomains');
foreach ($subdomains as $subdomain){
- $text .= $subdomain['subdomain_name']." - ".$subdomain['ssl_certificate_sni']."\n";
+ /*if($subdomain['subdomain_name'] === 'bio-aloe.mivita.care'){
+ dump($subdomain);
+ }
+ if($subdomain['subdomain_name'] === 'rockmyworld-by-conny.mivita.care'){
+ dd($subdomain);
+ }*/
+ /*
+ $text .= $subdomain['subdomain_name']." - ".$subdomain['ssl_certificate_sni']." - ";
if($subdomain['ssl_certificate_sni'] !== "Y"){
$pra = array(
@@ -130,9 +137,18 @@ class AdminToolsController extends Controller
);
$pra = array_merge($pra, $ssl);
$value = $kas->action('update_ssl', $pra);
- $text .= $value."\n";
+ $text .= $value;
+ }else{
+ if(isset($subdomain['ssl_certificate_sni_is_active'])){
+ $text .= $subdomain['ssl_certificate_sni_is_active'].'-is_active';
+ }else{
+ $text .= '-CHECK!';
+
+ }
}
- }
+
+ $text .= "\n";
+ }*/
$data = [
'values' => $user_shops,
'text' => $text,
diff --git a/app/Http/Controllers/User/HomepartyController.php b/app/Http/Controllers/User/HomepartyController.php
index 897dc57..ac2107d 100755
--- a/app/Http/Controllers/User/HomepartyController.php
+++ b/app/Http/Controllers/User/HomepartyController.php
@@ -2,25 +2,22 @@
namespace App\Http\Controllers\User;
-use App\Http\Controllers\Controller;
-use App\Models\Homeparty;
-use App\Models\HomepartyUser;
-use App\Models\HomepartyUserOrderItem;
-use App\Models\Product;
-use App\Models\ShippingCountry;
-use App\Models\ShoppingInstance;
-use App\Models\ShoppingOrder;
-use App\Models\ShoppingUser;
-use App\Models\UserHistory;
-use App\Models\UserShop;
-use App\Services\HomepartyCart;
-use App\Services\Payment;
-use App\Services\Util;
-use App\User;
use Auth;
-use Request;
-use Validator;
use Yard;
+use Request;
+use App\User;
+use Validator;
+use App\Services\Util;
+use App\Models\Product;
+use App\Models\Homeparty;
+use App\Models\UserHistory;
+use App\Models\HomepartyUser;
+use App\Services\UserService;
+use App\Models\ShippingCountry;
+use App\Services\HomepartyCart;
+use App\Models\ShoppingInstance;
+use App\Http\Controllers\Controller;
+use App\Models\HomepartyUserOrderItem;
class HomepartyController extends Controller
@@ -34,18 +31,28 @@ class HomepartyController extends Controller
public function index()
{
$data = [
- 'homepartys' => Homeparty::where('auth_user_id', '=', \Auth::user()->id)->get(),
+ 'homepartys' => Homeparty::where('auth_user_id', '=', \Auth::user()->id)->orderByDesc('id')->get(),
];
return view('user.homeparty.index', $data);
}
- public function detail($id)
+ public function detail($id, $step = false)
{
if($id === 'new'){
$homeparty = new Homeparty();
+ $homeparty->id = 0;
+ $step = 1;
$homeparty->description = "Willkommen zu unserer Auszeitparty rund um das Thema Bio Aloe Vera und Naturkosmetik. Wir informieren Dich darüber, was Premiumqualität bei Naturkosmetik wirklich ausmacht, zeigen Dir viele Anwendungsbeispiele bei Haut- und Darmproblemen und natürlich kannst Du unsere Produkte ausgiebig testen. Wir freuen uns auf Dich!";
}else{
$homeparty = $this->getHomparty($id);
+ if($homeparty->step < 10){
+ $step = $homeparty->step;
+ }else{
+ if(!$step){
+ $step = 10;
+ }
+ }
+
}
if($homeparty->homeparty_host){
$homeparty_user = $homeparty->homeparty_host;
@@ -61,22 +68,43 @@ class HomepartyController extends Controller
$data = [
'homeparty' => $homeparty,
'homeparty_user' => $homeparty_user,
+ 'step' => $step,
];
return view('user.homeparty.detail', $data);
}
- public function store($id = null)
+ public function store($id = null, $step = false)
{
$data = Request::all();
- if($data['action'] === 'homeparty-party-store'){
+ if($data['action'] === 'homeparty-party-store-detail'){
$rules = array(
'date' => 'required',
'name' => 'required',
- 'place' => 'required'
+ 'place' => 'required',
+ );
+ if(!$id){
+ $rules = array(
+ 'date' => 'required',
+ 'name' => 'required',
+ 'place' => 'required',
+ 'country_id' => 'required'
+ );
+ }
+ }
+ if($data['action'] === 'homeparty-party-store-address'){
+ $rules = array(
+ 'shipping_firstname' => 'required',
+ 'shipping_lastname' => 'required',
+ 'shipping_address' => 'required',
+ 'shipping_zipcode' => 'required',
+ 'shipping_city' => 'required',
+ 'shipping_salutation' => 'required',
+ 'shipping_country_id' => 'required'
);
}
- if($data['action'] === 'homeparty-user-store'){
+
+ if($data['action'] === 'homeparty-party-store-host'){
$rules = array(
'billing_salutation' => 'required',
'billing_firstname' => 'required',
@@ -86,25 +114,13 @@ class HomepartyController extends Controller
'billing_city' => 'required',
'billing_country_id' => 'required',
);
- if (!Request::get('same_as_billing')) {
- $rules = array_merge($rules, [
- 'shipping_firstname' => 'required',
- 'shipping_lastname' => 'required',
- 'shipping_address' => 'required',
- 'shipping_zipcode' => 'required',
- 'shipping_city' => 'required',
- 'shipping_salutation' => 'required',
- 'shipping_country_id' => 'required'
- ]);
- }
}
-
$validator = Validator::make(Request::all(), $rules);
if ($validator->fails()) {
return back()->withErrors($validator)->withInput(Request::all());
}
-
- if($data['action'] === 'homeparty-party-store'){
+
+ if($data['action'] === 'homeparty-party-store-detail'){
if(!$id){
//first save create and empty user/host
do {
@@ -112,29 +128,51 @@ class HomepartyController extends Controller
} while( Homeparty::where('token', $token)->count() );
$data['token'] = $token;
$data['auth_user_id'] = \Auth::user()->id;
+ $data['step'] = 2;
+ $step = 2;
$homeparty = Homeparty::create($data);
-
$homeparty_user = HomepartyUser::create([
'homeparty_id' => $homeparty->id,
'auth_user_id' => \Auth::user()->id,
+ 'shipping_country_id' => $homeparty->country_id,
+ 'billing_country_id' => $homeparty->country_id,
+ 'same_as_billing' => false,
'is_host' => true,
]);
}else {
$homeparty = $this->getHomparty($id);
$homeparty->fill($data)->save();
+ $step = 10;
+ }
+ }
+ if($data['action'] === 'homeparty-party-store-address'){
+ $homeparty = $this->getHomparty($id);
+ $homeparty_user = $homeparty->homeparty_host;
+ $homeparty_user->fill($data)->save();
+ if($homeparty->step === 2){
+ $homeparty->step = 3;
+ $homeparty->save();
+ $step = 3;
+ }else{
+ $step = 12;
}
}
- if($data['action'] === 'homeparty-user-store'){
+ if($data['action'] === 'homeparty-party-store-host'){
$homeparty = $this->getHomparty($id);
- $data['same_as_billing'] = isset($data['same_as_billing']) ? true : false;
- $data['shipping_country_id'] = isset($data['shipping_country_id']) ? $data['shipping_country_id'] : $data['billing_country_id'];
$homeparty_user = $homeparty->homeparty_host;
$homeparty_user->fill($data)->save();
+ if($homeparty->step === 3){
+ $homeparty->step = 10;
+ $homeparty->save();
+ $step = 10;
+ }else{
+ $step = 13;
+ }
}
\Session()->flash('alert-save', '1');
- return redirect(route('user_homeparty_detail', $homeparty->id));
+ return redirect(route('user_homeparty_detail', [$homeparty->id, $step]));
}
@@ -154,6 +192,8 @@ class HomepartyController extends Controller
if($gid === 'new'){
$homeparty_user = new HomepartyUser();
$homeparty_user->same_as_billing = true;
+ $homeparty_user->billing_country_id = $homeparty->country_id;
+ $homeparty_user->shipping_country_id = $homeparty->country_id;
}else{
$homeparty_user = HomepartyUser::findOrFail($gid);
if($homeparty->id !== $homeparty_user->homeparty_id){
@@ -222,9 +262,20 @@ class HomepartyController extends Controller
public function order($id = null)
{
$user = User::find(Auth::user()->id);
-
$homeparty = $this->getHomparty($id);
+ $shipping_country_id = $this->checkShoppingCountry($homeparty->country_id);
+ if(!$shipping_country_id){
+ \Session()->flash('custom-error', __('validation.custom.shipping_not_found'));
+ return redirect(route('user_homepartys'));
+ }
+ UserService::checkUserTaxShippingCountry($user, $shipping_country_id);
+ if($this->userChangeCountry($homeparty)){
+ \Session()->flash('custom-error', 'Das Rechnungsland wurde geändert und der Warenkrob zurückgesetzt.');
+ return redirect(route('user_homeparty_order', [$homeparty->id]));
+ }
HomepartyCart::calculateHomeparty($homeparty);
+ $homeparty->card_info = UserService::getYardInfo();
+ $homeparty->save();
$userHistoryPaymentOrder = UserHistory::whereUserId($user->id)->whereAction('payment_homeparty')->where('referenz', $homeparty->id)->get()->last();
$data = [
'homeparty' => $homeparty,
@@ -232,10 +283,34 @@ class HomepartyController extends Controller
];
return view('user.homeparty.order', $data);
}
+
+ private function userChangeCountry($homeparty){
+ if(isset($homeparty->card_info['user_country_id'])){
+ if($homeparty->card_info['user_country_id'] !== UserService::$user_country->id){
+ // es wurde schon eine order angelegt, aber das Rechungsland geändert
+ if($homeparty->homeparty_order_items->count()){
+ foreach($homeparty->homeparty_order_items as $homeparty_order_item){
+ $homeparty_order_item->delete();
+ }
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private function checkShoppingCountry($country_id){
+ if($country_id){
+ if($shipping_country = ShippingCountry::whereCountryId($country_id)->first()){
+ return $shipping_country->id;
+ }
+ }
+ return false;
+ }
+
//perform Request
public function orderStore($id = null)
{
-
$homeparty = $this->getHomparty($id);
if(Request::ajax()) {
@@ -257,20 +332,37 @@ class HomepartyController extends Controller
$HomepartyUserOrderItem->qty = $HomepartyUserOrderItem->qty+1;
$HomepartyUserOrderItem->save();
}else{
- $HomepartyUserOrderItem = HomepartyUserOrderItem::create([
- 'homeparty_id' => $homeparty->id,
- 'homeparty_user_id' => $homeparty_user->id,
- 'product_id' => $product->id,
- 'qty' => 1,
- 'price' => $product->price,
- 'price_net' => $product->getPriceWith(true, false),
- 'tax_rate' => $product->tax,
- 'points' => $product->points,
- 'margin' => $margin,
- 'ek-price' => $product->getPriceWith(false, true),
- 'ek-price_net' => $product->getPriceWith(true, true),
- 'slug' => $product->slug
- ]);
+ if($homeparty->getCardInfo('user_tax_free')){
+ $HomepartyUserOrderItem = HomepartyUserOrderItem::create([
+ 'homeparty_id' => $homeparty->id,
+ 'homeparty_user_id' => $homeparty_user->id,
+ 'product_id' => $product->id,
+ 'qty' => 1,
+ 'price' => $product->getPriceWith(true, false, $homeparty->getUserCountry()),
+ 'price_net' => $product->getPriceWith(true, false, $homeparty->getUserCountry()),
+ 'tax_rate' => 0,
+ 'points' => $product->points,
+ 'margin' => $margin,
+ 'ek-price' => $product->getPriceWith(true, true, $homeparty->getUserCountry()),
+ 'ek-price_net' => $product->getPriceWith(true, true, $homeparty->getUserCountry()),
+ 'slug' => $product->slug
+ ]);
+ }else{
+ $HomepartyUserOrderItem = HomepartyUserOrderItem::create([
+ 'homeparty_id' => $homeparty->id,
+ 'homeparty_user_id' => $homeparty_user->id,
+ 'product_id' => $product->id,
+ 'qty' => 1,
+ 'price' => $product->getPriceWith(false, false, $homeparty->getUserCountry()),
+ 'price_net' => $product->getPriceWith(true, false, $homeparty->getUserCountry()),
+ 'tax_rate' => $product->getTaxWith($homeparty->getUserCountry()),
+ 'points' => $product->points,
+ 'margin' => $margin,
+ 'ek-price' => $product->getPriceWith(false, true, $homeparty->getUserCountry()),
+ 'ek-price_net' => $product->getPriceWith(true, true, $homeparty->getUserCountry()),
+ 'slug' => $product->slug
+ ]);
+ }
}
}
@@ -280,7 +372,7 @@ class HomepartyController extends Controller
HomepartyCart::calculateHomeparty($homeparty);
$html_user_cart = view("user.homeparty.show_products_order", ['homeparty' => $homeparty, 'homeparty_guest' => $homeparty_user])->render();
$html_bonus = view("user.homeparty.show_bonus", ['homeparty' => $homeparty])->render();
- $html_host_bonus = view("user.homeparty.show_calc_bonus_host")->render();
+ $html_host_bonus = view("user.homeparty.show_calc_bonus_host", ['homeparty' => $homeparty])->render();
$html_total = view("user.homeparty.show_total_order", ['homeparty' => $homeparty])->render();
return response()->json(['response' => true, 'data'=>$data, 'html_user_cart'=>$html_user_cart, 'html_bonus'=>$html_bonus, 'html_host_bonus'=>$html_host_bonus, 'html_total'=>$html_total]);
}
@@ -458,18 +550,24 @@ class HomepartyController extends Controller
return $homeparty;
}
- public function datatable(){
- $query = Product::select('products.*')->where('active', true)->where(function ($q) {
- $q->where('show_at', '=', 0)
- ->orWhere('show_at', '=', 1);
- });
+ public function datatable($homeparty_id){
+
+ $query = Product::select('products.*')->where('active', true)->whereJsonContains('show_on', '3');
+ $homeparty = Homeparty::findOrFail($homeparty_id);
return \DataTables::eloquent($query)
- ->addColumn('add_card', function (Product $product) {
- return '';
+ ->addColumn('add_card', function (Product $product) use ($homeparty) {
+ if($homeparty->getCardInfo('user_tax_free')){
+ return '';
+ }else{
+ return '';
+ }
+
})
->addColumn('picture', function (Product $product) {
if(count($product->images)){
@@ -477,14 +575,28 @@ class HomepartyController extends Controller
}
return "";
})
- ->addColumn('price_net', function (Product $product) {
- return $product->getFormattedPriceWith(true, true). " €";
+ /*->addColumn('price_net', function (Product $product) use ($homeparty) {
+ return ''.$product->getFormattedPriceWith(true, true, $homeparty->getUserCountry()). " € ".
+ ''.$product->getFormattedPriceCurrencyWith(true, true, $homeparty->getUserCountry()).' ';
})
- ->addColumn('price_gross', function (Product $product) {
- return $product->getFormattedPriceWith(false, true). " €";
+ */
+ ->addColumn('price_gross', function (Product $product) use ($homeparty) {
+ if($homeparty->getCardInfo('user_tax_free')){
+ return ''.$product->getFormattedPriceWith(true, true, $homeparty->getUserCountry()). " € ".
+ ''.$product->getFormattedPriceCurrencyWith(true, true, $homeparty->getUserCountry()).' ';
+ }else{
+ return ''.$product->getFormattedPriceWith(false, true, $homeparty->getUserCountry()). " € ".
+ ''.$product->getFormattedPriceCurrencyWith(false, true, $homeparty->getUserCountry()).' ';
+ }
})
- ->addColumn('price_vk_gross', function (Product $product) {
- return $product->getFormattedPriceWith(false, false). " €";
+ ->addColumn('price_vk_gross', function (Product $product) use ($homeparty) {
+ if($homeparty->getCardInfo('user_tax_free')){
+ return ''.$product->getFormattedPriceWith(true, false, $homeparty->getUserCountry()). " € ".
+ ''.$product->getFormattedPriceCurrencyWith(true, false, $homeparty->getUserCountry()).' ';
+ }else{
+ return ''.$product->getFormattedPriceWith(false, false, $homeparty->getUserCountry()). " € ".
+ ''.$product->getFormattedPriceCurrencyWith(false, false, $homeparty->getUserCountry()).' ';
+ }
})
->addColumn('action', function (Product $product) {
return 'orderColumn('contents_total', 'contents_total $1')
->orderColumn('weight', 'weight $1')
- ->rawColumns(['add_card', 'product', 'quantity', 'picture', 'action'])
+ ->rawColumns(['add_card', 'product', 'quantity', 'picture', 'price_net', 'price_gross', 'price_vk_gross', 'action'])
->make(true);
}
diff --git a/app/Http/Controllers/User/OrderController.php b/app/Http/Controllers/User/OrderController.php
index 115411e..2b7cc18 100755
--- a/app/Http/Controllers/User/OrderController.php
+++ b/app/Http/Controllers/User/OrderController.php
@@ -11,6 +11,7 @@ use App\Models\ShoppingUser;
use App\Models\UserHistory;
use App\Models\UserShop;
use App\Services\Payment;
+use App\Services\UserService;
use App\Services\Util;
use App\User;
use Auth;
@@ -102,7 +103,6 @@ class OrderController extends Controller
public function delivery($for, $id=null)
{
$user = User::find(\Auth::user()->id);
-
$shopping_user = null;
$delivery_id = null;
if($for === 'ot'){
@@ -134,10 +134,10 @@ class OrderController extends Controller
public function list($for, $id=null)
{
+
$user = User::find(\Auth::user()->id);
$shopping_user = null;
$delivery_id = null;
-
if($for === 'ot'){
$shopping_user = $this->checkShoppingUser($id, $user);
$delivery_id = $shopping_user->id;
@@ -147,8 +147,10 @@ class OrderController extends Controller
\Session()->flash('custom-error', __('validation.custom.shipping_not_found'));
return redirect(route('user_order_my_delivery', [$for, $delivery_id]));
}
-
+ UserService::checkUserTaxShippingCountry($user, $shipping_country_id);
Yard::instance('shopping')->setShippingCountryWithPrice($shipping_country_id, $for);
+ Yard::instance('shopping')->setUserPriceInfos(UserService::getYardInfo());
+
$data = [
'shopping_user' => $shopping_user,
@@ -202,6 +204,7 @@ class OrderController extends Controller
$data['is_from'] = 'user_order';
$data['is_for'] = $for;
$data['shopping_user_id'] = $id;
+ $data['user_price_infos'] = Yard::instance('shopping')->getUserPriceInfos();
unset($data['quantity']);
unset($data['_token']);
@@ -232,7 +235,7 @@ class OrderController extends Controller
$country_id = null;
if($for === 'me'){
$user = User::find(\Auth::user()->id);
- if($user->same_as_billing){
+ if($user->account->same_as_billing){
$country_id = $user->account->country_id;
}else{
$country_id = $user->account->shipping_country_id;
@@ -246,7 +249,6 @@ class OrderController extends Controller
$country_id = $shopping_user->shipping_country_id;
}
}
-
if($country_id){
if($shipping_country = ShippingCountry::whereCountryId($country_id)->first()){
return $shipping_country->id;
@@ -272,50 +274,28 @@ class OrderController extends Controller
public function datatable(){
- $show_at = 1;
-
- // $user = User::find(\Auth::user()->id);
- ;
-
if(Request::get('shipping_is_for') === 'me'){
- $query = Product::select('products.*')->where('active', true)->where(function ($q) {
- $q->where('show_at', '=', 1)
- ->orWhere('show_at', '=', 2)
- ->orWhere('show_at', '=', 6);
-
- });
-
+ $query = Product::select('products.*')->where('active', true)->whereJsonContains('show_on', '2');
}else{
- $query = Product::select('products.*')->where('active', true)->where(function ($q) {
- $q->where('show_at', '=', 0)
- ->orWhere('show_at', '=', 1);
- });
-
+ $query = Product::select('products.*')->where('active', true)->whereJsonContains('show_on', '1');
}
-
-
- //Kunden und Berater
- //->orWhere('show_at', '=', 2); // Nur Berater
- //->orderBy('pos', 'DESC')
- //->orderBy('id', 'DESC');
-
return \DataTables::eloquent($query)
->addColumn('product', function (Product $product) {
-
$cartItem = Yard::instance('shopping')->getCartItemByProduct($product->id);
$qty = isset($cartItem->qty) ? $cartItem->qty : 0;
$rowId = isset($cartItem->rowId) ? $cartItem->rowId : '';
- return ''.$product->name.'
@@ -88,27 +92,27 @@
{!! Form::checkbox('switch', 1, $country->switch, ['class'=>'custom-control-input']) !!}
Land als Auswahl auf der Webseite anzeigen (Länderwechsel)
+ Hinweis: Die hier aktivierten Länder werden in auf der Shopseite zum Länderwächsel angezeigt, allerdings müssen auch die Versandkosten angelegt sein.
-
@@ -116,6 +120,10 @@
+ Abkürzung der Währung
+ {{ Form::text('currency_unit', $country->currency_unit, array('placeholder'=>__('CHF'), 'class'=>'form-control', 'id'=>'currency_unit')) }}
+
+ {{--
+
Hinweis: Ist für die Einstellungen bei den Produktenpreisen.
+
--}}
Faktor Währungen zum Euro (z.B. 1 Euro zu 1,07 CHF)
{{ Form::text('currency_faktor', formatNumber($country->currency_faktor, 4), array('placeholder'=>__('1,07'), 'class'=>'form-control', 'id'=>'currency_faktor')) }}
+ Hinweis: Der Preis berechnet sich automatisch nach dem Faktor.
+
-
+
+ Hinweis: Bei der Registierung eines Beraters gelten für dieses Land diese Pflichtfelder
diff --git a/resources/views/admin/country/index.blade.php b/resources/views/admin/country/index.blade.php
index 96ebe89..d9525d2 100644
--- a/resources/views/admin/country/index.blade.php
+++ b/resources/views/admin/country/index.blade.php
@@ -17,7 +17,7 @@
{{__('Status')}}
{{__('Reverse Charge')}}
{{__('Länderwechsel')}}
- {{__('Lieferland') }}
+ {{__('Drittland') }}
{{__('e. Preis')}}
{{__('e. Währung')}}
{{__('Kalkulation')}}
diff --git a/resources/views/admin/payment_method/index.blade.php b/resources/views/admin/payment_method/index.blade.php
index 1bd0ac7..249c8a2 100755
--- a/resources/views/admin/payment_method/index.blade.php
+++ b/resources/views/admin/payment_method/index.blade.php
@@ -26,7 +26,7 @@
data-pos="{{ $value->pos }}"
data-name="{{ $value->name }}"
data-short="{{ $value->short }}"
- data-show_at="{{ $value->show_at }}"
+ data-show_on="{{ json_encode($value->show_on) }}"
data-default="{{ $value->default }}"
data-active="{{ $value->active }}">
@@ -34,7 +34,7 @@
{{ $value->pos }}
{{ $value->name }} ({{ $value->short }})
- {{ $value->getShowAtType() }}
+ {!! implode($value->getShowOnTypes(), ' ') !!}
{!! get_active_badge($value->default) !!}
{!! get_active_badge($value->active) !!}
@@ -47,7 +47,7 @@
data-pos=""
data-name=""
data-short=""
- data-show_at="9"
+ data-show_on="[]"
data-default="1"
data-active="1"
>{{__('Neue Zahlungsart hinzufügen')}}
@@ -83,12 +83,14 @@
-
-
+
{{ __('Produktbeschreibung') }}
{{ Form::textarea('copy', $product->copy , array('placeholder'=>__('Produktbeschreibung'), 'class'=>'form-control summernote', 'id'=>'copy')) }}
@@ -80,7 +86,6 @@
@@ -119,17 +132,17 @@
{{ __('Preis VK in EUR Brutto') }}
- {{ Form::text('c_price['.$country->id.']', formatNumber($product->getCPrice($country->id)), array('placeholder'=>__('Preis VK in EUR Brutto'), 'class'=>'form-control', 'id'=>'c_price_'.$country->id)) }}
+ {{ Form::text('c_price['.$country->id.']', formatNumber($product->getCPrice($country)), array('placeholder'=>__('Preis VK in EUR Brutto'), 'class'=>'form-control', 'id'=>'c_price_'.$country->id)) }}
{{ __('MwSt in %') }}
- {{ Form::text('c_tax['.$country->id.']', formatNumber($product->getCTax($country->id)), array('placeholder'=>__('MwSt in %'), 'class'=>'form-control', 'id'=>'c_tax'.$country->id)) }}
+ {{ Form::text('c_tax['.$country->id.']', formatNumber($product->getCTax($country)), array('placeholder'=>__('MwSt in %'), 'class'=>'form-control', 'id'=>'c_tax'.$country->id)) }}
{{ __('Streichpreis (wenn > 0)') }}
- {{ Form::text('c_price_old['.$country->id.']', formatNumber($product->getCPriceOld($country->id)), array('placeholder'=>__('Streichpreis'), 'class'=>'form-control', 'id'=>'c_price_old'.$country->id)) }}
+ {{ Form::text('c_price_old['.$country->id.']', formatNumber($product->getCPriceOld($country)), array('placeholder'=>__('Streichpreis'), 'class'=>'form-control', 'id'=>'c_price_old'.$country->id)) }}
@@ -142,9 +155,9 @@
angegeben @endif
- @if($country->currency_calc)
- {{--
- NUR Anzeige vom automatisch berechneten Preis currency_faktor
+
+
+ {{-- NUR Anzeige vom automatisch berechneten Preis currency_faktor
Auf Basis vom price
Wenn own_eur auf basis vom own_eur price
--}}
@@ -153,19 +166,19 @@
{{ Form::text('c_currency['.$country->id.']', formatNumber($product->getRealPrice($country) * $country->currency_faktor), array('class'=>'form-control', 'readonly')) }}
- @else
- {{--
+ {{--@if($country->currency_calc)
+ @else
+
Eingabe
Währungs Namen aus currency_name
currency_faktor als Hinweis ausgeben
Auf Basis vom price
Wenn own_eur auf basis vom own_eur price
- --}}
{{__('Preis VK in ')}} {{ $country->currency_unit }} ({{formatNumber($product->getRealPrice($country) * $country->currency_faktor)}})
{{ Form::text('c_currency['.$country->id.']', formatNumber($product->getCCurrency($country->id)), array('placeholder'=>__('Preis VK in ').$country->currency_unit, 'class'=>'form-control')) }}
- @endif
+ @endif --}}
- @if(count($values)>0)
+ @if(count($values)>0)
-
- @foreach($values as $value)
-
{{$value}}
- @endforeach
+
+
+
+
+
+ ID
+ User-ID
+ {{__('Name')}}
+ {{__('seit')}}
+ Datum
+ Erreichbar
+ {{__('Status')}}
+
+
+
+ @foreach($values as $value)
+
+ {{ $value->id }}
+ {{ $value->user_id }}
+ {{ $value->name }}.mivita.care
+ {{ $value->getActiveDateFormatSmall() }}
+
+ @if($value->user && $value->user->payment_shop)
+ @if($value->user->isActiveShop())
+ {{ $value->user->getPaymentShopDateFormat() }}
+ @else
+ {{ $value->user->getPaymentShopDateFormat() }}
+ @endif
+ @else
+
+ @endif
+
+
+
+ @if($value->getSubdomainAvailable())
+ {{ __('available') }}
+ @if($value->getSubdomainSslSin()) HTTPS @else HTTP @endif
+
+ @else
+ {{ __('not available') }} HTTP
+ @endif
+
+ {!! get_active_badge($value->active) !!}
+
+ @endforeach
+
+
+
+
+
+
@endif
diff --git a/resources/views/user/homeparty/_edit.blade.php b/resources/views/user/homeparty/_edit.blade.php
index 2ddf253..f5f7dfa 100644
--- a/resources/views/user/homeparty/_edit.blade.php
+++ b/resources/views/user/homeparty/_edit.blade.php
@@ -81,16 +81,10 @@