-
Beginnen Sie mit dem Erstellen Ihrer Aufgabe auf der rechten Seite der Stamm-Seite. Vergeben Sie dem Job einen Namen. Diesen können Sie später jederzeit ändern.
+
Vergeben Sie dem Job einen Namen. Diesen können Sie später jederzeit ändern.
Das Reihenfolge -Feld erwartet eine Zahl von Ihnen. Anhand derer wird bei der Ausführung festgelegt, in welcher Reihenfolge Ihre Aufgaben ausgeführt werden. Kleine Zahlen werden vor Aufgaben mit großer Sortierzahl ausgeführt. Dies kann wichtig sein, wenn eine Aufgabe auf den Veränderungen einer anderen Aufgabe basiert.
Wählen Sie für Ihre Aufgabe nun noch einen Ordner. Dies dient der besseren Übersicht über Ihre Aufgaben. Die Ordner selbst können Sie in den Grundeinstellungen des Moduls
verwalten.
Darunter können Sie zusätzlich ablesen, wann diese Aufgabe das letzte Mal ausgeführt wurde. Bei der Neuanlage ist dieser Eintrag natürlich noch leer.
-
Nun widmen wir uns den Einstellungen auf der linken Seite:
-
Der Aktiv für automatische Ausführung -Haken definiert, ob diese Aufgabe über
-die Cronjobs ausgeführt werden darf.
-
Der Einstellung der Cronjob-ID widmet sich das Kapitel Cronjobs für unterschiedlich zu steuernde Aufgaben ausführlich.
-
Alle Aufgaben können auch manuell für jede Bestellung ausgeführt werden. Ob dies für die Aufgabe sinnvoll erscheint, können Sie mit dem Haken Aktiv für manuelle Ausführung an Bestellung festlegen. Haben Sie den Haken nicht gesetzt, wird diese Aufgabe an den Bestellungen nicht angezeigt. (siehe auch Aufgaben manuell ausführen ).
+
Nun widmen wir uns den Einstellungen auf der rechten Seite:
Mit Aufgabenausführung nur simulieren geben Sie an, ob diese Aufgabe Änderungen an Ihren Bestelldaten vornehmen darf. Ist der Haken gesetzt, sind alle Einstellungen ohne Auswirkungen.
Wünschen Sie nach der Bearbeitung dieser Aufgabe (egal ob live oder nur Simulation) eine Information per Mail, welche Bestellung mit welchen Aktionen behandelt wurden, wird mit Infomail an Shopbetreiber senden diese direkt nach Bearbeitung versendet.
Mit Bearbeitete Bestellungen nicht als erledigt markieren wird nach erfolgreichem Abschluss der Aufgabe diese auch für die nächste Ausführung erneut vorgemerkt. Verwenden Sie Ihre Aufgabe als Wiedervorlage, setzen Sie diesen Haken. Alle zutreffenden Bestellungen (auch die aktuell bearbeiteten) werden beim nächsten Aufruf erneut bearbeitet. Ansonsten werden die bearbeiteten Bestellungen mit dieser Aufgabe nicht noch einmal behandelt.
diff --git a/docs/html/manual/Aufgaben/Uebersicht.html b/docs/html/manual/Aufgaben/Uebersicht.html
index a226ebb2..fe6fee6f 100644
--- a/docs/html/manual/Aufgaben/Uebersicht.html
+++ b/docs/html/manual/Aufgaben/Uebersicht.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
@@ -82,7 +82,7 @@
+
diff --git a/docs/html/manual/Aufgaben/index.html b/docs/html/manual/Aufgaben/index.html
index f6313185..52195fd3 100644
--- a/docs/html/manual/Aufgaben/index.html
+++ b/docs/html/manual/Aufgaben/index.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Aufgaben_automatisch_ausfuehren.html b/docs/html/manual/Aufgaben_automatisch_ausfuehren.html
index 7c0ffd0b..e6a804d4 100644
--- a/docs/html/manual/Aufgaben_automatisch_ausfuehren.html
+++ b/docs/html/manual/Aufgaben_automatisch_ausfuehren.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Aufgaben_fuer_alle_relevanten_Bestellungen_manuell_ausfuehren.html b/docs/html/manual/Aufgaben_fuer_alle_relevanten_Bestellungen_manuell_ausfuehren.html
index 5025d930..4b78e7b1 100644
--- a/docs/html/manual/Aufgaben_fuer_alle_relevanten_Bestellungen_manuell_ausfuehren.html
+++ b/docs/html/manual/Aufgaben_fuer_alle_relevanten_Bestellungen_manuell_ausfuehren.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Aufgaben_fuer_einzelne_Bestellung_manuell_ausfuehren.html b/docs/html/manual/Aufgaben_fuer_einzelne_Bestellung_manuell_ausfuehren.html
index c1c79998..5c0b34a2 100644
--- a/docs/html/manual/Aufgaben_fuer_einzelne_Bestellung_manuell_ausfuehren.html
+++ b/docs/html/manual/Aufgaben_fuer_einzelne_Bestellung_manuell_ausfuehren.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Cronjobs_fuer_unterschiedlich_zu_steuernde_Aufgaben.html b/docs/html/manual/Cronjobs_fuer_unterschiedlich_zu_steuernde_Aufgaben.html
index c95159a1..b52eed10 100644
--- a/docs/html/manual/Cronjobs_fuer_unterschiedlich_zu_steuernde_Aufgaben.html
+++ b/docs/html/manual/Cronjobs_fuer_unterschiedlich_zu_steuernde_Aufgaben.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Einstellungen/Aufgabeneinstellungen.html b/docs/html/manual/Einstellungen/Aufgabeneinstellungen.html
index bdbf1626..5bf75952 100644
--- a/docs/html/manual/Einstellungen/Aufgabeneinstellungen.html
+++ b/docs/html/manual/Einstellungen/Aufgabeneinstellungen.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Einstellungen/Cronjobeinstellungen_fuer_Cronjob-ID.html b/docs/html/manual/Einstellungen/Cronjobeinstellungen_fuer_Cronjob-ID.html
index 38843ad1..1a774856 100644
--- a/docs/html/manual/Einstellungen/Cronjobeinstellungen_fuer_Cronjob-ID.html
+++ b/docs/html/manual/Einstellungen/Cronjobeinstellungen_fuer_Cronjob-ID.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Einstellungen/Grundeinstellungen.html b/docs/html/manual/Einstellungen/Grundeinstellungen.html
index f2d33a34..73b91dc8 100644
--- a/docs/html/manual/Einstellungen/Grundeinstellungen.html
+++ b/docs/html/manual/Einstellungen/Grundeinstellungen.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Einstellungen/allgemeine_Cronjobeinstellungen.html b/docs/html/manual/Einstellungen/allgemeine_Cronjobeinstellungen.html
index 7b32a74e..f4fbcc81 100644
--- a/docs/html/manual/Einstellungen/allgemeine_Cronjobeinstellungen.html
+++ b/docs/html/manual/Einstellungen/allgemeine_Cronjobeinstellungen.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Handbuch.html b/docs/html/manual/Handbuch.html
index c374b52f..f9971c31 100644
--- a/docs/html/manual/Handbuch.html
+++ b/docs/html/manual/Handbuch.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Logging.html b/docs/html/manual/Logging.html
index 9f312357..7642c7bb 100644
--- a/docs/html/manual/Logging.html
+++ b/docs/html/manual/Logging.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/manual/Weiterentwicklung.html b/docs/html/manual/Weiterentwicklung.html
index b64713db..23cad645 100644
--- a/docs/html/manual/Weiterentwicklung.html
+++ b/docs/html/manual/Weiterentwicklung.html
@@ -45,7 +45,7 @@
-
+
@@ -72,7 +72,7 @@
diff --git a/docs/html/support/Hilfe-und-Support.html b/docs/html/support/Hilfe-und-Support.html
index 1823c6bb..6db39b93 100644
--- a/docs/html/support/Hilfe-und-Support.html
+++ b/docs/html/support/Hilfe-und-Support.html
@@ -72,12 +72,12 @@
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 unserer Modul-FAQ zur Verfügung. Finden Sie darin die benötigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden Möglichkeiten:
+
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:
per E-Mail: support@shopmodule.com oder
über das Kontaktformular auf Oxidmodule.com oder
diff --git a/docs/html/tipuesearch/tipuesearch_content.json b/docs/html/tipuesearch/tipuesearch_content.json
index 20071520..163bdcab 100644
--- a/docs/html/tipuesearch/tipuesearch_content.json
+++ b/docs/html/tipuesearch/tipuesearch_content.json
@@ -1 +1 @@
-{"pages":[{"title":"<\/i> Auftragsmanager","text":"Weitere Informationen zum Modul Auftragsmanager finden Sie in unserem Shop: https:\/\/www.oxidmodule.com\/OXID-eShop\/Module\/Auftragsmanager-fuer-Oxid-PE.html","tags":"","url":"index.html"},{"title":"Changelog","text":"3.1.0.0 - (2019-07-08) Added neue Ausl\u00f6ser "onOrderSave" und "onOrderFinalize" alle Ausl\u00f6ser haben eine "pre execute script"- und "post execute script"-Option (nicht in allen Moduleditionen verf\u00fcgbar) Basisbeschreibung f\u00fcr jede Adminseite eingef\u00fcgt "verf\u00fcgbar f\u00fcr manuelle Ausf\u00fchrung" kann nun optional auch die erf\u00fcllten Bedingungen pr\u00fcfen - Aufgabe steht bei unpassenden Bedingungen dann nicht an Bestellung zur Verf\u00fcgung erg\u00e4nzende Tests hinzugef\u00fcgt Changed Adminbereich optimiert - alle Ausl\u00f6ser in eigenen Tab ausgelagert Bootstrap-Locator f\u00fcr zuk\u00fcnftige Verwendung des globalen bin-Verzeichnisses angepasst Fixed HTML-Struktur der Admin-Templates korrigiert zu wenig isoliert laufende Unit-Tests angepasst 3.0.2.0 - (2019-05-07) Added automatisierte Tests (Unit Tests, Integration Tests) integriert statt absoluter Instanzdefinition werden DIC Services verwendet 3.0.1.0 - (2019-02-27) Added beim Speichern der Aktionen wird auf unzureichend ausgef\u00fcllte Werte hingewiesen beim Speichern der Bedingungen wird auf unzureichend ausgef\u00fcllte Werte hingewiesen 3.0.0.0 - (2017-12-15) Minor version upgrade notice: there are some backward-incompatible changes to this release. Added Installation via Composer Changed f\u00fcr OXID6 umgearbeitet Dezimalangaben in Einstellungen werden auch mit Komma richtig verarbeitet Exporttemplates k\u00f6nnen aus einstellbaren Pfaden geholt werden 2.3.4.0 - (2017-05-19) Admin-Layout f\u00fcr Shopversion 4.10\/5.3 optimiert Men\u00fc-Icon hinzugef\u00fcgt Seitentitel optimiert Hintergrund-Logo entfernt Apache 2.4-Kompatibilit\u00e4t eingef\u00fcgt veraltetet Methodenaufrufe ersetzt changed_full-Inhalte entfernt 2.3.3.0 (2016-03-14) "gefundene Bestellungen ohne Bearbeitung als erledigt markieren"-Funktion eingef\u00fcgt Bedingungen "Pr\u00fcfung des Ausf\u00fchrungsstatus einer anderen Aufgabe" eingef\u00fcgt Installation konvertiert Beispiele nach UTF8 Zeitstempel-Ersetzung optimiert Dokumentation \u00fcberarbeitet Installationsscript verschoben 2.3.2.1 (2015-03-25) PDF-Generierung verwendet Sprachbausteine aus Adminbereich Performance: Statistikabfragen optimiert Performance: Statistikauswertungen k\u00f6nnen einzeln abgefragt werden Installation: nicht mehrsprachige Datenfelder werden bei Konvertierung von Alteintr\u00e4gen nur einsprachig \u00fcbertragen Rechnungsdatum wird nicht vordatiert Format des Rechnungsdatums angepasst E-Mail CMS Text wird in Sprache der Bestellung ausgeliefert 2.3.2.0 (2015-01-16) Maildaten werden aus Bestellung bezogen, wenn Kundenkonto nicht mehr verf\u00fcgbar ist Optimierung f\u00fcr Multilang-Tabellen integriert zu bearbeitende Bestellung wird separat (au\u00dferhalb der orderlist) geladen, sind sonst unvollst\u00e4ndig einzelne Modprofile-Felder von Multilang-Speicherung ausgeschlossen, da Aufgaben nicht sprachabh\u00e4ngig ausgef\u00fchrt werden k\u00f6nnen Artikelselektion nach Kategorie ist nun auch auf Variantenartikel anwendbar, die selbst keiner Kategorie zugeordnet sind Pr\u00fcfung auf unregistrierte Dateien eingef\u00fcgt 2.3.1.0 (2014-12-09) SH-Generator integriert fehlende Kompatibilit\u00e4t f\u00fcr OXID 4.7.x nachger\u00fcstet Cronjob-ID f\u00fcr Shellaufrufe nachgetragen Warenkorb-Handling f\u00fcr Mailversand optimiert 2.3.0.0 (2014-11-13) OXID 4.9 \/ 5.2 Installationsanweisungen eingef\u00fcgt Cronjob-ID f\u00fcr gezieltere Aufgabenaufrufe integriert Remark- und Info-Handling optimiert alternative From- und Reply-Adresse in Mailsendeaktion integriert Templatequelle f\u00fcr Mailsendeaktion kann nun auch ein Modulverzeichnis sein Templatestruktur bereinigt 2.1.1.0 (2014-07-23) bei nicht ausf\u00fchrbaren Bedingungen \/ Aktionen wird Protokoll-Eintrag geschrieben Performance-Verbesserungen integriert 1.5.0 (2014-07-09) 1.4.0 (2014-07-01) 2.1.0.1 (2014-05-21) "Auftrag manuell ausf\u00fchrbar"-Option korrigiert Cronjob-Hinweise werden zus\u00e4tzlich im Browser ausgegeben 2.1.0.0 (2014-05-06) Verwendung von allgemeinen Modulprofilen anstatt eigener Profile Listenexport eingef\u00fcgt Individualmethoden eingef\u00fcgt neues Lizenzschema umgesetzt 2.0.0.0 (2013-03-21) Minor version upgrade notice: there are some backward-incompatible changes to this release. Anpassung auf OXID 4.7.X \/ 5.0.X Generieren von PDF-Dateien 1.3.0 (2012-08-08) Mailsubject wird aus Template generiert Bestelldaten enthalten optional auch stornierte Artikel Pr\u00fcfung auf leere Bestelleintr\u00e4ge m\u00f6glich fehlende "isBundle"-Methode in alten Shopversionen ber\u00fccksichtigt Mailtemplates k\u00f6nnen aus Frontend- oder Backend-Theme geholt werden Benutzerinformationen werden aus Bestelldaten verwendet (nicht von User-Daten) 1.2.0 (2012-06-22) EE-Multishop-Funktionalit\u00e4t Cronjob verwendet "Aktiv"-Flag Hook f\u00fcr Mailprogrammierungen eingef\u00fcgt Smarty-Variablen f\u00fcr Verwendung der originalen Bestellbest\u00e4tigungsmails vervollst\u00e4ndigt 1.1.0 (2012-03-19) Mailvariablen hingef\u00fcgt Templates auf 4.5.11 gepr\u00fcft 1.1.0 (2012-01-29)","tags":"","url":"changelog\/Changelog.html"},{"title":"Editionen","text":"Das Modul Auftragsmanager erhalten Sie in verschiedenen Editionen mit unterschiedlichem Funktionsumfang. Die hier nicht genannten Modulfunktionen sind in allen Editionen gleich. Funktionsumfang Free-Edition Standard-Edition Premium-Edition Anzahl m\u00f6glicher Aufgaben 5 25 beliebig vor-Ausf\u00fchrung-Script m\u00f6glich X nach-Ausf\u00fchrung-Script m\u00f6glich X Aufgabenausl\u00f6ser Free-Edition Standard-Edition Premium-Edition periodischer Start per Cronjob X X X manueller Start direkt an den Bestellungen X X X beim Bestellabschluss durch den Kunden X X X beim Speichern der Bestellung X X X Bedingungen Free-Edition Standard-Edition Premium-Edition ab (inklusive) Bestellnummer X X X bis (inklusive) Bestellnummer X X X Zeitraum (1) X X X Zeitraum (2) X X X nicht gesetztes... X X X aus diesen Wochentagen X X X bei diesen Zahlarten X X X bei diesen Versandarten X X X bei gesetztem Trackingcode X X X bei stornierter Bestellung X X X bei nicht stornierter Bestellung X X X bei stornierten Artikeln innerhalb der Bestellung X X X Bestellsumme X X X hat Rechnungsnummer erhalten X X X Transaktionsstatus X X X bei verwendeter W\u00e4hrung X X X bei verwendeter Sprache X X X in einem der Ordner X X X nicht in einem der Ordner X X X enth\u00e4lt selektierte Artikel (1) X X X enth\u00e4lt selektierte Artikel (2) X X X enth\u00e4lt nicht selektierte Artikel (1) X X X enth\u00e4lt nicht selektierte Artikel (2) X X X Suchmuster zur Filterung der Mailadresse X X X Liefer- bzw. Rechnungsadresse aus Land X X X Kunde ist in Gruppe X X X Kunde ist nicht in Gruppe X X X Methode des Auftragslistenobjekts ausf\u00fchren X Bestellungsfeld auf Wert pr\u00fcfen X andere Aufgabe X Aktionen Free-Edition Standard-Edition Premium-Edition E-Mail senden X X X Auftr\u00e4ge in Ordner verschieben X X X Auftr\u00e4ge stornieren X X Versendet-am Datum setzen X X Bezahlt-am Datum setzen X X Versandkosten \u00e4ndern X X Rabatte \u00e4ndern X X PDF generieren X X Feld mit Wert f\u00fcllen X Kundengruppe zuordnen \/ entfernen X X Export in Liste X X Individualaktionen \/ -bedingungen definieren X","tags":"","url":"editions\/Editionen.html"},{"title":"Installation \/ Update \/ Deinstallation","text":"Anforderungen Neuinstallation Update Deinstallation 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 genannten Kontaktdaten Bescheid.","tags":"","url":"installation\/Installation.html"},{"title":"Systemanforderungen","text":"PHP Version 5.6.x bis 7.2.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 Modul-Connector (kostenfrei bei D3 erh\u00e4ltlich) ab Version 5.2.0.0 Installation via Composer mindestens ein freier Cronjob zur automatischen Ausf\u00fchrung angelegter Aufgaben Beachten Sie, dass die Ihnen vorliegende Modulversion entsprechend f\u00fcr PHP 5.6, PHP 7.0, PHP 7.1 oder PHP 7.2 sowie dem auf Ihrem Server vorhandenen Decoder (ionCube Loader) kompatibel ist. Im Zweifelsfall kontaktieren Sie uns und nennen den f\u00fcr Ihren Shop genutzten Decoder und die PHP-Version. Kontrollieren Sie bitte auch, ob diese Modulversion f\u00fcr die von Ihnen eingesetzte Shopedition (Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE)) ausgelegt ist.","tags":"","url":"installation\/Anforderungen\/Systemanforderungen.html"},{"title":"Kompatibilit\u00e4t mit anderen Modulen","text":"Der Auftragsmanager integriert auch die Erweiterung \u201eInvoice PDF\u201c von OXID eSales AG, sofern diese im Shop installiert wurde. Diese Integration wurde f\u00fcr die Version 2.0.0 des \u201eInvoice PDF\u201c-Moduls entwickelt. Der Auftragsmanager ist nat\u00fcrlich auch ohne das "Invoice PDF"-Modul einsetzbar, kann jedoch dann keine PDF-Exporte verwenden.","tags":"","url":"installation\/Anforderungen\/Kompatibilitaet_mit_anderen_Modulen.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module -> Modul-Connector, k\u00f6nnen 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\u00e4hlen dort das f\u00fcr Ihre Installation passende Paket.","tags":"","url":"installation\/Anforderungen\/Vorbereitungen.html"},{"title":"Neuinstallation","text":"Schnellstart per Composer php composer require d3\/ordermanager \u2013-update-no-dev Detailliertere Angaben zur Installation entnehmen Sie bitte den folgenden Seiten.","tags":"","url":"installation\/Neuinstallation\/index.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module -> Modul-Connector, k\u00f6nnen Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der Modul-Connector Dokumentation.","tags":"","url":"installation\/Neuinstallation\/Vorbereitung.html"},{"title":"Modul zur Installation hinzuf\u00fcgen","text":"F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um das Modul Auftragsmanager zur Installation hinzuzuf\u00fcgen: php composer require d3\/ordermanager --update-no-dev Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Neuinstallation\/Modul_hinzufuegen.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Ob Ihr Anbieter spezielle Anforderungen stellt und wie diese aussehen, kontrollieren Sie bitte in unserer FAQ.","tags":"","url":"installation\/Neuinstallation\/Providerspezifische_Installation.html"},{"title":"Modul im Shop aktivieren","text":"Aktivieren Sie das Modul \u00fcber den Shopadmin unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager 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.","tags":"","url":"installation\/Neuinstallation\/Modul_im_Shop_aktivieren.html"},{"title":"Shopanpassungen installieren","text":"Direkt nach der Modulaktivierung startet der Assistent, der Sie durch die Shopanpassung f\u00fchrt. Darin k\u00f6nnen Sie verschiedene Optionen der Installation w\u00e4hlen. Den Installationsassistenten finden Sie auch unter den Men\u00fcpunkten Admin -> Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation. Bei tiefgreifenden \u00c4nderungen an Ihrem Shop (z.B. Hinzuf\u00fcgen weiterer Sprachen oder Mandanten) rufen Sie den Installationsassistenten bitte erneut auf, um dann eventuell notwendige Nacharbeiten f\u00fcr das Modul ausf\u00fchren zu lassen. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen.","tags":"","url":"installation\/Neuinstallation\/Shopanpassungen_installieren.html"},{"title":"TMP-Ordner leeren","text":"Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus.","tags":"","url":"installation\/Neuinstallation\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel eintragen","text":"Das Modul verwendet Lizenzschl\u00fcssel, um die Lizenzverwaltung f\u00fcr Sie und auch f\u00fcr uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz f\u00fcr den Einsatz im Livebetrieb. Speziell der Auftragsmanager wird in unterschiedlichen (teilweise kostenfreien) Editionen f\u00fcr den Livebetrieb angeboten. Besuchen Sie unseren Moduleshop, um mehr dar\u00fcber zu erfahren. Rufen Sie zum Anfordern des Lizenzschl\u00fcssels die Modulverwaltung im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung auf. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, k\u00f6nnen Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert.","tags":"","url":"installation\/Neuinstallation\/Lizenz_eintragen.html"},{"title":"Cronjob einrichten","text":"Legen Sie den Cronjob f\u00fcr die automatische Bearbeitung der eingerichteten Auftr\u00e4ge an. Die f\u00fcr die Anlage ben\u00f6tigten Daten finden Sie im Adminbereich des Moduls unter Module -> Auftragsmanager -> Einstellungen -> Grundeinstellungen. Weitere Informationen zum Anlegen von Cronjobs finden Sie in unserer FAQ. Sie sollten unbedingt den Aufruf von .sh-Dateien via Browser verhindern, so dass kein Unbefugter die Datei von au\u00dfen aufrufen kann. Dazu k\u00f6nnen Sie z.B. die .htaccess-Datei des Shops um folgende Zeilen erweitern: <Files *.sh> Require all denied <\/Files>","tags":"","url":"installation\/Neuinstallation\/Cronjob_einrichten.html"},{"title":"Updatef\u00e4higkeit","text":"Bei individuellen \u00c4nderungen von Moduldateien empfehlen wir, jeweils die \u00dcberladungsm\u00f6glichkeiten des Shops daf\u00fcr zu verwenden. So brauchen Sie die originalen Moduldateien nicht ver\u00e4ndern und erhalten sich so die Updatef\u00e4higkeit des Shops und des Moduls. Beachten Sie, dass Moduldateien bei Updateinstallationen \u00fcberschrieben werden. Weitere Informationen zu den \u00dcberladungsm\u00f6glichkeiten verschiedener Dateien finden Sie in unserer FAQ.","tags":"","url":"installation\/Neuinstallation\/Updatefaehigkeit.html"},{"title":"Wann kann ein Update ausgef\u00fchrt werden?","text":"Die Updatenaweisungen k\u00f6nnen verwendet werden, wenn dieses Modul schon fr\u00fcher mit Hilfe von Composer installiert wurde. Wurde die Installation bisher noch nicht durchgef\u00fchrt oder die Installation wurde nicht \u00fcber Composer durchgef\u00fchrt (weil das Modul dies z.B. fr\u00fcher nicht unterst\u00fctzte), verwenden Sie bitte die Beschreibung unter Neuinstallation.","tags":"","url":"installation\/Update\/Updatedefinition.html"},{"title":"Modul deaktivieren","text":"Deaktivieren Sie das Modul \u00fcber den Shopadmin unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager auf den Button Deaktivieren.","tags":"","url":"installation\/Update\/Modul_deaktivieren.html"},{"title":"Paketquelle entfernen","text":"Durch einen Wechsel der Paketquelle ist die veraltete Angabe nicht mehr erforderlich. Um Konflikte zu vermeiden, sollte die alte Paketquelle entfernt werden. Haben Sie diese schon fr\u00fcher entfernt, k\u00f6nnen Sie diesen Schritt \u00fcberspringen. Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). Senden Sie dort diesen Befehl ab: php composer config --unset repositories.d3 php composer config --unset repositories.D3modules Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Update\/Paketquelle_entfernen.html"},{"title":"Dateien erneuern","text":"Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie dort diesen Befehl aus: php composer update d3\/ordermanager --no-dev Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Update\/Dateien_erneuern.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Ob Ihr Anbieter spezielle Anforderungen stellt und wie diese aussehen, kontrollieren Sie bitte in unserer FAQ.","tags":"","url":"installation\/Update\/Providerspezifische_Installation.html"},{"title":"Modulinformationen aktualisieren","text":"Wechseln Sie im Adminbereich zu Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager auf den Button Aktivieren.","tags":"","url":"installation\/Update\/Modulinformationen_aktualisieren.html"},{"title":"Shopanpassungen installierren","text":"Ob Shopanpassungen notwendig sind, ist von der Versions\u00e4nderung des Moduls abh\u00e4ngig. M\u00f6glicherweise sehen Sie nach dem Neuaktivieren des Moduls den Installationsassistent, der Sie durch die \u00c4nderungen f\u00fchrt. Folgen Sie dann den einzelnen Schritten. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen. Wird der Assistent nicht gezeigt (Sie sehen wieder die Modul\u00fcbersicht), waren keine Anpassungen am Shop notwendig. Ob erforderliche Updates ausgef\u00fchrt werden sollen, k\u00f6nnen Sie jederzeit im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation pr\u00fcfen.","tags":"","url":"installation\/Update\/Shopanpassungen_installieren.html"},{"title":"TMP-Ordner leeren","text":"Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus.","tags":"","url":"installation\/Update\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel aktualisieren","text":"Wird f\u00fcr die neue Modulversion ein aktualisierter Lizenzschl\u00fcssel ben\u00f6tigt, tragen Sie diesen im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung ein. Klappen Sie dazu den Eintrag des jeweiligen Moduls aus und starten den Lizenzassistent.","tags":"","url":"installation\/Update\/Lizenzschluessel_aktualisieren.html"},{"title":"Erweiterungen anpassen","text":"Haben Sie f\u00fcr dieses Modul eigene Erweiterung entwickelt, gleichen Sie dies bitte mit der neuen Fassung des Moduls ab.","tags":"","url":"installation\/Update\/Erweiterungen_anpassen.html"},{"title":"Installationspr\u00fcfung","text":"Um die erfolgreiche Installation zu pr\u00fcfen, k\u00f6nnen Sie die folgende(n) Checkliste(n) verwenden: Einstellungsunabh\u00e4ngige Pr\u00fcfungen Backend Modul ist unter Erweiterungen -> Module aktiv geschaltet Modul ist unter Module -> Modul-Connector -> Modulverwaltung aktiv geschaltet Modul zeigt unter Module -> Auftragsmanager einen eigenen Bereich f\u00fcr Einstellungen Modul zeigt unter Bestellungen verwalten -> Bestellungen -> Auftragsmanager einen eigenen Bereich","tags":"","url":"installation\/Installationspruefung.html"},{"title":"Schnellstart","text":"Das Modul Auftragsmanager bringt einen umfangreichen Adminbereich mit, in dem Sie die Konfigurationseinstellungen des Moduls setzen k\u00f6nnen. \u00dcber das Men\u00fc Module -> Auftragsmanager -> Einstellungen 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 \u00f6ffnet sich der Hinweistext. Richten Sie nun die Aufgaben ein, die der \u201eAuftragsmanager\u201c f\u00fcr Sie durchf\u00fchren soll. In der Standardinstallation finden Sie einige Aufgaben als Beispiel vorbereitet. Darin k\u00f6nnen Sie sich die m\u00f6glichen Konfigurationen ansehen, diese auf Ihre Bed\u00fcrfnisse anpassen und auch neue Aufgaben anlegen. Testen Sie die Aufgaben mit dem modulweiten Debug-Schalter ( Module -> Auftragsmanager -> Einstellungen) und \/ oder der Mailsende-Option an jeder Aufgabe ( Module -> Auftragsmanager -> Aufgaben -> Stamm). Diese Optionen sind genauer im jeweils dahinter stehenden Fragezeichenfeld erkl\u00e4rt. Aktivieren Sie die Ausf\u00fchrung der Aufgaben bitte erst, wenn Sie sicher sind, dass alle Optionen richtig sind. Wir \u00fcbernehmen keine Gew\u00e4hrleistung f\u00fcr evtl. falsche oder verlorene Daten bei fehlerhaft eingestellten Aufgaben. Weitere Details zur Einrichtung des \u201eAuftragsmanagers\u201c entnehmen Sie bitte dessen Handbuch zum Modul.","tags":"","url":"installation\/Schnellstart.html"},{"title":"Modulerweiterungen deaktivieren und entfernen","text":"Deaktivieren Sie alle vorhandenen Erweiterungen, die auf dem Modul Auftragsmanager aufbauen und l\u00f6schen bitte alle Dateien dieser Erweiterungen. Entfernen Sie ebenfalls alle individuellen Templateanpassungen f\u00fcr dieses Modul.","tags":"","url":"installation\/Deinstallation\/Modulerweiterungen_deaktivieren_und_entfernen.html"},{"title":"Modul deaktivieren","text":"Deaktivieren Sie das Modul Auftragsmanager \u00fcber den Shopadmin Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager auf den Button Deaktivieren.","tags":"","url":"installation\/Deinstallation\/Modul_deaktivieren.html"},{"title":"Modul aus der Installation entfernen","text":"Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie Sie dort diesen Befehl aus: php composer remove d3\/ordermanager --no-update Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Deinstallation\/Modul_aus_der_Installation_entfernen.html"},{"title":"Dateien l\u00f6schen","text":"L\u00f6schen Sie den Ordner ordermanager und seine enthaltenen Elemente aus dem Verzeichnis source\/modules\/d3 Ihres Shops. Best\u00e4tigen Sie anschlie\u00dfend im Shopadmin unter Erweiterungen -> Module -> Installierte Shop-Module die Nachricht: Es gibt registrierte Erweiterungen im eShop, deren Verzeichnis nicht vorhanden ist. M\u00f6chten Sie alle Modulinformationen einschlie\u00dflich Konfigurationseinstellungen und Blockinformationen f\u00fcr Templates l\u00f6schen?","tags":"","url":"installation\/Deinstallation\/Dateien_loeschen.html"},{"title":"Datenbank bereinigen","text":"Das Modul legt Informationen in der Datenbank ab. Sofern diese Daten nicht mehr ben\u00f6tigt werden, k\u00f6nnen diese gel\u00f6scht werden. Legen Sie sich vorab bitte unbedingt eine Sicherung an, um die Daten im Zweifelsfall wiederherstellen zu k\u00f6nnen. F\u00fcr das Modul Auftragsmanager sind dies die folgende Tabellen und Felder: die komplette Tabelle d3order2ordermanager und diese Felder in bestehenden Tabellen: in Tabelle d3modprofile: das Feld D3_OM_EXECMANUALLY das Feld D3_OM_MARKORDER das Feld D3_OM_ORDERSAVETRIGGERED das Feld D3_OM_ORDERFINISHTRIGGERED sowie diese Eintr\u00e4ge in bestehenden Tabellen: in Tabelle d3_cfg_mod: den Eintrag oxmodid = "d3_ordermanager" **) **) Diesen Eintrag gibt es ggf. f\u00fcr jeden Subshop. Entfernen Sie diesen nur f\u00fcr die Mandanten, in denen das Modul nicht mehr installiert ist.","tags":"","url":"installation\/Deinstallation\/Datenbank_bereinigen.html"},{"title":"TMP-Ordner leeren","text":"Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus.","tags":"","url":"installation\/Deinstallation\/TMP-Ordner_leeren.html"},{"title":"Handbuch","text":"Der Auftragsmanager ist daf\u00fcr erstellt, Ihnen m\u00f6glicherweise l\u00e4stige, jedoch immer wiederkehrende Aufgaben in Ihrem OXID-Shop abzunehmen. Die Aufgabenliste arbeitet anhand der Liste aller Bestellungen die eingestellten Aufgaben entweder manuell oder sogar automatisch ab. Bevor Sie den Auftragsmanager nutzen k\u00f6nnen, f\u00fchren Sie bitte dessen Installation durch. Die erforderlichen Schritte werden ausf\u00fchrlich in der Installationsanleitung beschrieben. Die Einstellungen des Moduls setzen Sie im Adminbereich Ihres OXID-Shops. W\u00e4hlen Sie dazu im linken Men\u00fc den Bereich Module -> Auftragsmanager.","tags":"","url":"manual\/Handbuch.html"},{"title":"Grundeinstellungen","text":"Hier setzen Sie alle Einstellungen, die unabh\u00e4ngig von Ihren gesetzten Aufgaben f\u00fcr die Ausf\u00fchrung des Auftragsmanagers notwendig sind: Setzen Sie das Modul aktiv: Ohne den Aktiv-Haken k\u00f6nnen Sie das Modul zwar einrichten, jedoch wird keine der angelegten Aufgaben ausgef\u00fchrt. \u00dcber Debug aktiv lassen sich Informationen w\u00e4hrend der Ausf\u00fchrung des Moduls ausgeben, die Ihnen und uns n\u00fctzliche Hinweise zu einer m\u00f6glichen Fehlersuche geben. Im Normalbetrieb sollte dieser Haken nicht gesetzt sein, da sonst die Aktionen nicht ausgef\u00fchrt werden. In der Logging-Auswahl stellen Sie ein, ob und wie viele Protokollinformationen der Auftragsmanager mitschreiben soll. Die Daten helfen uns bei einer m\u00f6glichen Ursachensuche, wenn die Auftragsabarbeitung doch einmal nicht wie gew\u00fcnscht arbeiten sollte. Die Protokolleintr\u00e4ge werden ausschlie\u00dflich in Ihrer Installation abgelegt. Treffen Sie bei der Entscheidung den Kompromiss zwischen einem ausreichenden Protokoll und dem Speicherplatzbedarf. Im Regelfall ist die Einstellung \u201eFehler mitschreiben\u201c ausreichend.","tags":"","url":"manual\/Einstellungen\/Grundeinstellungen.html"},{"title":"Aufgabeneinstellungen -> Ordner","text":"Der Auftragsmanager l\u00e4sst aus technischer Sicht beliebig viele Aufgaben zu. Um diese besser verwalten und wiederfinden zu k\u00f6nnen, legen Sie die Aufgaben in virtuelle Ordner. Eben diese Ordner k\u00f6nnen Sie hier verwalten. Jede Zeile im Eingabebereich stellt einen Ordner dar. M\u00f6chten Sie einen neuen Ordner hinzuf\u00fcgen, f\u00fcgen Sie eine neue Zeile ein. Zum L\u00f6schen eines Ordners entfernen Sie die betreffende Zeile. Den Namen des Ordners k\u00f6nnen Sie im Eingabefeld im Klartext eingeben. Alternativ (speziell f\u00fcr mehrsprachige Shops) k\u00f6nnen Sie stattdessen auch einen Multilang-Baustein eintragen, den Sie in den admineigenen \u00dcbersetzungsdateien hinterlegen. Es empfiehlt sich, die Ordner inhaltsbezogen zu den Aufgaben anzulegen. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Einstellungen\/Aufgabeneinstellungen.html"},{"title":"allgemeine Cronjobeinstellungen","text":"Neben der manuell gestarteten Aufgabenausf\u00fchrung k\u00f6nnen diese auch automatisch \u00fcber einen oder mehrere Cronjobs gestartet werden. Cronjobs werden auf dem Server eingerichtet und starten die Skriptausf\u00fchrung auch ohne Ihr Zutun. Setzen Sie hier die Cronjob-Ausf\u00fchrung aktiv, wenn Sie die automatische Abarbeitung nutzen m\u00f6chten. Tragen Sie auch die Anzahl der Bestellungen ein, die pro Cronjob-Aufruf abgearbeitet werden d\u00fcrfen. Die Menge ist begrenzt, da auch ein Cronjob nur eine vom Server vorgegebene Zeit zur Abarbeitung hat. Jede Bestellung ben\u00f6tigt ebenfalls etwas Zeit. Je nach Anzahl der aufgelaufenen Bestellungen und der auszuf\u00fchrenden Aufgaben sollte diese Anzahl justiert werden. Reicht die maximal nutzbare Anzahl der Bestellungen nicht aus, lassen Sie den Cronjob einfach mehrmals laufen (z.B. alle 2 Stunden). Das Cronjob-Skript k\u00f6nnen Sie (und jeder Andere auch) zur Einrichtung oder zur Kontrolle im Browser aufrufen. Neben den serverseitigen Sicherheitsma\u00dfnahmen sollten Sie hier ein Passwort vergeben, mit dem das Skript ausschlie\u00dflich gestartet werden kann. Ohne das Passwort verweigert der Auftragsmanager seine Arbeit. So stellen Sie sicher, dass kein Unbefugter diese Ausf\u00fchrung startet.","tags":"","url":"manual\/Einstellungen\/allgemeine_Cronjobeinstellungen.html"},{"title":"Cronjobeinstellungen f\u00fcr Cronjob-ID \"X\"","text":"Der Auftragsmanager stellt verschiedene Cronjobs zur Verf\u00fcgung. Je nach Einrichtung der Aufgaben kann die Anzahl variieren. Details zur Verwendung der Cronjob-IDs finden Sie im Abschnitt Aufgaben automatisch ausf\u00fchren. F\u00fcr jeden verf\u00fcgbaren Cronjob sehen Sie in den Einstellungen die f\u00fcr Einrichtung ben\u00f6tigten Informationen: Den Link mit allen erforderlichen Parametern f\u00fcr den manuellen Aufruf des Bearbeitungsskripts finden Sie in der Zeile \u201eexterner Link\u201c. \u00dcber den blauen Button k\u00f6nnen Sie die Ausf\u00fchrung in einem neuen Browser-Tab sofort starten. Direkt darunter finden Sie den Link, den Sie f\u00fcr die Einrichtung des Cronjobs ben\u00f6tigen. Dort ist das Passwort nicht n\u00f6tigt, da Ihr Server die Identifizierung selbst durchf\u00fchren kann. Nachfolgend wird ebenfalls die Zeit gezeigt, zu der dieser Cronjob das letzte Mal erfolgreich gestartet wurde. Haben Sie Zweifel an der Cronjob-Einrichtung bei Ihrem Provider, k\u00f6nnen Sie dies hier kontrollieren. Speichern Sie gesetzte Einstellungen ab. Enterprise Editon mit mehr als einem Shopmandanten: Beachten Sie, dass f\u00fcr jeden Shopmandanten ein eigener Link zum Aufruf des Cronjobs existiert. Legen Sie sich f\u00fcr jeden Subshop daher einen eigenen Cronjob an. Es empfiehlt sich, diese zeitversetzt zu planen.","tags":"","url":"manual\/Einstellungen\/Cronjobeinstellungen_fuer_Cronjob-ID.html"},{"title":"Aufgaben","text":"Dem Modul haben wir in der Standardinstallation schon einige Aufgaben als Beispiele mitgeliefert. Daran k\u00f6nnen Sie sich die Einrichtungsm\u00f6glichkeiten f\u00fcr verschiedenste Anwendungsf\u00e4lle ansehen. Lassen Sie sich jedoch bitte nicht von den Beispielen einschr\u00e4nken. Wir sind gespannt, welche Aufgabenkombinationen Sie mit dem Auftragsmanager umsetzen. Zum Ausw\u00e4hlen einer Aufgabe klicken Sie diese in der oben gezeigten Liste an. Die jeweilige Zeile wird farbig hinterlegt. Im unteren Bereich der Anzeige sehen Sie nun die Details zur Aufgabe. Die Aufgabenliste bietet Ihnen au\u00dferdem die M\u00f6glichkeit, die angezeigten Aufgaben zu filtern. \u00dcber die Eingabe- und Dropdown-Felder k\u00f6nnen Sie zum Beispiel die weiter oben angesprochenen Ordner zur Filterung verwenden oder nach dem Namen einer Aufgabe suchen. M\u00f6chten Sie stattdessen eine v\u00f6llig neue Aufgabe anlegen, klicken Sie im unteren Bereich der Anzeige auf den entsprechend benannten Link. Das Eingabeformular leert sich und Sie k\u00f6nnen mit der Eingabe beginnen.","tags":"","url":"manual\/Aufgaben\/index.html"},{"title":"Stamm","text":"Beginnen Sie mit dem Erstellen Ihrer Aufgabe auf der rechten Seite der Stamm-Seite. Vergeben Sie dem Job einen Namen. Diesen k\u00f6nnen Sie sp\u00e4ter jederzeit \u00e4ndern. Das Reihenfolge-Feld erwartet eine Zahl von Ihnen. Anhand derer wird bei der Ausf\u00fchrung festgelegt, in welcher Reihenfolge Ihre Aufgaben ausgef\u00fchrt werden. Kleine Zahlen werden vor Aufgaben mit gro\u00dfer Sortierzahl ausgef\u00fchrt. Dies kann wichtig sein, wenn eine Aufgabe auf den Ver\u00e4nderungen einer anderen Aufgabe basiert. W\u00e4hlen Sie f\u00fcr Ihre Aufgabe nun noch einen Ordner. Dies dient der besseren \u00dcbersicht \u00fcber Ihre Aufgaben. Die Ordner selbst k\u00f6nnen Sie in den Grundeinstellungen des Moduls verwalten. Darunter k\u00f6nnen Sie zus\u00e4tzlich ablesen, wann diese Aufgabe das letzte Mal ausgef\u00fchrt wurde. Bei der Neuanlage ist dieser Eintrag nat\u00fcrlich noch leer. Nun widmen wir uns den Einstellungen auf der linken Seite: Der Aktiv f\u00fcr automatische Ausf\u00fchrung-Haken definiert, ob diese Aufgabe \u00fcber die Cronjobs ausgef\u00fchrt werden darf. Der Einstellung der Cronjob-ID widmet sich das Kapitel Cronjobs f\u00fcr unterschiedlich zu steuernde Aufgaben ausf\u00fchrlich. Alle Aufgaben k\u00f6nnen auch manuell f\u00fcr jede Bestellung ausgef\u00fchrt werden. Ob dies f\u00fcr die Aufgabe sinnvoll erscheint, k\u00f6nnen Sie mit dem Haken Aktiv f\u00fcr manuelle Ausf\u00fchrung an Bestellung festlegen. Haben Sie den Haken nicht gesetzt, wird diese Aufgabe an den Bestellungen nicht angezeigt. (siehe auch Aufgaben manuell ausf\u00fchren). Mit Aufgabenausf\u00fchrung nur simulieren geben Sie an, ob diese Aufgabe \u00c4nderungen an Ihren Bestelldaten vornehmen darf. Ist der Haken gesetzt, sind alle Einstellungen ohne Auswirkungen. W\u00fcnschen Sie nach der Bearbeitung dieser Aufgabe (egal ob live oder nur Simulation) eine Information per Mail, welche Bestellung mit welchen Aktionen behandelt wurden, wird mit Infomail an Shopbetreiber senden diese direkt nach Bearbeitung versendet. Mit Bearbeitete Bestellungen nicht als erledigt markieren wird nach erfolgreichem Abschluss der Aufgabe diese auch f\u00fcr die n\u00e4chste Ausf\u00fchrung erneut vorgemerkt. Verwenden Sie Ihre Aufgabe als Wiedervorlage, setzen Sie diesen Haken. Alle zutreffenden Bestellungen (auch die aktuell bearbeiteten) werden beim n\u00e4chsten Aufruf erneut bearbeitet. Ansonsten werden die bearbeiteten Bestellungen mit dieser Aufgabe nicht noch einmal behandelt. Speziell f\u00fcr die Aufgaben ohne Bearbeitungsmarkierung kann der regelm\u00e4\u00dfige (z.B. t\u00e4gliche) Aufruf zu h\u00e4ufig sein. Stellen Sie dann den Wiedervorlagezeitraum ein, wann die Aufgabe erneut ausgef\u00fchrt werden soll. Beachten Sie bitte: Die Aufgaben k\u00f6nnen unabh\u00e4ngig des eingestellten Zeitraums nur ausgef\u00fchrt werden, wenn auch das Cronjob-Skript gestartet wird. Ansonsten bleibt die Aufgabe bis zum n\u00e4chsten Cronjob unbearbeitet liegen. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Aufgaben\/Stamm.html"},{"title":"Mall","text":"F\u00fcr Nutzer der OXID eShop Enterprise Edition gibt es hier die M\u00f6glichkeit, die Aufgaben neben dem Hauptmandanten auch weiteren Shopmandanten zuzuweisen. Somit ersparen Sie sich das Anlegen und Pflegen identischer Aufgaben. Beachten Sie jedoch, dass f\u00fcr jeden Mandanten unabh\u00e4ngig dieser Zuweisung separate Cronjobaufrufe notwendig sind. (siehe Cronjobeinstellungen).","tags":"","url":"manual\/Aufgaben\/Mall.html"},{"title":"\u00dcbersicht","text":"Hier erhalten Sie eine \u00dcbersicht \u00fcber schon bearbeitete und zuk\u00fcnftige Bestellungen dieser Aufgabe. Anhand der noch zu bearbeitenden Bestellungen k\u00f6nnen Sie die Bedingungseinstellungen pr\u00fcfen, die diese Zahl direkt manipulieren. F\u00fcr die einfache \u00dcbersicht \u00fcber eingestellte Bedingungen und Aktionen werden diese hier ebenfalls aufgelistet.","tags":"","url":"manual\/Aufgaben\/Uebersicht.html"},{"title":"Bedingungen","text":"Hier legen Sie mit einfachen M\u00f6glichkeiten fest, welche Bestellungen \u00fcberhaupt von Ihrer Aufgabe betroffen sind. L\u00e4sst sich Ihre Aufgabe nicht eindeutig diesen Bedingungen zuordnen, legen Sie im Anschluss besser eine zweite (identische) Aufgabe an und variieren Sie die Bedingungen entsprechend. Jede Bedingung hat einen Aktiv-Haken. Nur wenn dieser gesetzt ist, werden auch alle weiteren Einstellungen der jeweiligen Bedingung ber\u00fccksichtigt. Alle Bedingungen sind miteinander kombinierbar. W\u00e4hlen Sie mehrere Bedingungen aus, m\u00fcssen die Bestellungen Ihres Shops auch allen gew\u00e4hlten Bedingungen entsprechen (UND-Verkn\u00fcpfung). F\u00fcr alternative Bedingungen (ODER-Verkn\u00fcpfung) legen Sie sich bitte entsprechend viele \u00e4hnlich gestaltete Aufgaben an. Die Bedingungen sind selbsterkl\u00e4rend, weshalb das Handbuch nur auf Besonderheiten eingehen wird. Weitere Hilfetexte finden Sie an den Fragezeichenfeldern direkt an jeder Bedingung: Eine Spanne in den vorliegenden Bestellungen k\u00f6nnen Sie mit der Kombination aus ab Bestellnummer und bis Bestellnummer erstellen. Geben Sie hier die kleinste und die gr\u00f6\u00dfte Bestellnummer an. Bei Auswahlfeldern mit mehreren Eintr\u00e4gen k\u00f6nnen Sie auch mehrfache Eintr\u00e4ge selektieren. Halten Sie dazu w\u00e4hrend der Auswahl die -Taste gedr\u00fcckt oder verwenden die Eingabehilfe, um alle bzw. keine Eintr\u00e4ge zu markieren. Alle Bedingungen, die sich auf W\u00e4hrungsmengen (z.B. Bestellsummen) beziehen, verwenden die Angabe immer in der Shop-Hauptw\u00e4hrung. Rechnen Sie Angaben in Fremdw\u00e4hrung f\u00fcr die Bedingungen daher bitte immer um. Geben Sie bei Pr\u00fcfung eines Freitextfeldes als Feldname immer das Stammfeld an. Die Angabe des sprachabh\u00e4ngigen Suffix (z.B. ..._1) wird vom Modul bei Bedarf selbst vorgenommen. Bei der Bedingung, nur Bestellungen mit Artikeln aus bestimmten Kategorien zu bearbeiten, w\u00e4hlen Sie das Suchmuster f\u00fcr die Kategorie-ID. Hierbei ist die eindeutige, interne ID der aktuell zugewiesenen Kategorie Ihres Shops gemeint. Da Kategorien nicht an den Bestellungen gespeichert werden, wird die Zuordnung zur Kategorie aus dem aktuell vorliegenden Datenbestand des Shops ermittelt. Beachten Sie, dass daf\u00fcr der bestellte Artikel noch im Shop vorhanden und zur gew\u00fcnschten Kategorie zugeordnet sein muss. \u00c4ndern sich zwischen der Bestellung und dem Ausf\u00fchren Ihrer Aufgabe die Kategorienzuordnungen, wirkt sich dies auch auf die aktuelle Filterung aus. Details zu den jeweiligen Eingabefeldern der Bedingungen finden Sie im Admin im Hilfefeld hinter der entsprechenden Eingabe. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Aufgaben\/Bedingungen.html"},{"title":"Aktionen","text":"Haben Sie die Bedingungen gesetzt, setzen Sie nun die Aktionen, die ausschlie\u00dflich auf die gefundenen Bestellungen angewendet werden. Auch hier verzichten wir in diesem Handbuch auf die Auflistung der Aktionen, da diese normalerweise selbsterkl\u00e4rend sind. Im Folgenden sind nun Besonderheiten aufgef\u00fchrt, auf die Sie speziell achten sollten: Beachten Sie, dass die Aktion \u201eL\u00f6schen von Bestellungen\u201c nicht r\u00fcckg\u00e4ngig gemacht werden kann. Lassen Sie bei solchen Aktionen erst w\u00e4hrend eines Testzeitraums die Infomails zusenden, mit denen Sie pr\u00fcfen k\u00f6nnen, ob die L\u00f6schaktionen auch die richtigen Bestellungen betreffen. Wir \u00fcbernehmen keine Gew\u00e4hrleistung bei Datenverlust auf Grund von unzureichend gepr\u00fcften Aufgaben. Alle Aktionen, die sich auf W\u00e4hrungsmengen beziehen (z.B. Versandkosten oder Rabatte), verwenden die Angabe immer in der Shop-Hauptw\u00e4hrung. Rechnen Sie Angaben in Fremdw\u00e4hrung f\u00fcr die Aktionen daher bitte immer um. Geben Sie bei Ver\u00e4nderung eines Freitextfeldes als Feldname immer das Stammfeld an. Die Angabe des sprachabh\u00e4ngigen Suffix (z.B. ..._1) wird vom Modul bei Bedarf selbst vorgenommen. Beim Versand von Mails k\u00f6nnen Sie als Quelle Ihres Mailinhalts CMS-Bausteine aus Ihrem Shop oder komplette Templatedateien verwenden. In beiden M\u00f6glichkeiten haben Sie die folgenden Variablen zur Verf\u00fcgung, um die Mail zu individualisieren: Variable Inhalt $oShop enth\u00e4lt das Shop-Objekt und alle seine M\u00f6glichkeiten $shop enth\u00e4lt das Shop-Objekt und alle seine M\u00f6glichkeiten $oViewConf enth\u00e4lt das Shop-Objekt und alle seine M\u00f6glichkeiten $oOrder enth\u00e4lt das Bestellungen-Objekt und alle seine M\u00f6glichkeiten $order enth\u00e4lt das Bestellungen-Objekt und alle seine M\u00f6glichkeiten $oUser enth\u00e4lt das Benutzer-Objekt und alle seine M\u00f6glichkeiten $user enth\u00e4lt das Benutzer-Objekt und alle seine M\u00f6glichkeiten $shopTemplateDir enth\u00e4lt das Verzeichnis zum Template $charset enth\u00e4lt den Zeichensatz f\u00fcr die Mail $basket enth\u00e4lt das Warenkorb-Objekt und alle seine M\u00f6glichkeiten (erfordert, dass alle Artikel noch im Stamm vorhanden sind) $payment enth\u00e4lt das Bezahlarten-Objekt und alle seine M\u00f6glichkeiten $oDelSet enth\u00e4lt das Versandarten-Objekt und alle seine M\u00f6glichkeiten $currency enth\u00e4lt das W\u00e4hrungs-Objekt und alle seine M\u00f6glichkeiten Legen Sie die Templatedateien im auszuw\u00e4hlenden Ordner ab.","tags":"","url":"manual\/Aufgaben\/Aktionen.html"},{"title":"Logging","text":"Alle Protokolleintr\u00e4ge, die f\u00fcr dieses Modul aufgezeichnet werden, finden Sie in dieser \u00dcbersicht.","tags":"","url":"manual\/Logging.html"},{"title":"Aufgaben automatisch ausf\u00fchren","text":"Richten Sie sich auf Ihrem Server einen oder mehrere Cronjobs ein, der den Link aus dem Einstellungsdialog enth\u00e4lt. Der Cronjob kann je nach Erfordernissen auch mehrfach am Tag ausgef\u00fchrt werden. Dies ist haupts\u00e4chlich vom Bestellungsaufkommen und den angelegten Aufgaben Ihres Shops abh\u00e4ngig. Sofern bei Ihrem Provider notwendig, binden Sie statt der PHP-Datei die gleichnamige SH- Datei als Cronjob-Skript ein. \u00c4ndern Sie den Inhalt der SH-Datei zuvor auf Ihre Servereinstellungen. Sie sollten unbedingt den Aufruf von .sh-Dateien per Browser verhindern, so dass kein Unbefugter diese Datei von au\u00dfen aufrufen kann. Dazu erweitern Sie z.B. die .htaccess- Datei des Shops um folgende Zeilen: <Files *.sh> order allow,deny deny from all <\/Files>","tags":"","url":"manual\/Aufgaben_automatisch_ausfuehren.html"},{"title":"Cronjobs f\u00fcr unterschiedlich zu steuernde Aufgaben","text":"Neu angelegte Aufgaben oder Aufgaben, denen Sie keine spezielle Cronjob-ID zugewiesen haben, erhalten standardm\u00e4\u00dfig immer die Cronjob-ID \u201e0\u201c (Null). Noch nicht zugeordnete oder neu angelegte Aufgaben k\u00f6nnen Sie gesamt \u00fcber diese Cronjob-ID steuern. Hierf\u00fcr k\u00f6nnen Sie mit den in den Modul-Grundeinstellungen angezeigten Daten einen Cronjob einrichten, der diese Aufgaben automatisch ausf\u00fchrt. H\u00e4ufig ist es jedoch der Fall, dass bestimmte Aufgaben nur zu besonderen Zeiten gestartet werden sollen. Beispiele sind: Erstellen von Auswertungen nur einmal im Quartal oder Marketingaktionen immer zu Beginn eines jeden Monats oder Geburtstagsgl\u00fcckw\u00fcnsche immer vormittags statt nachts Weisen Sie dann diesen speziellen Aufgaben jeweils eine eigene Cronjob-ID zu. Diese kann eine beliebige Zahl zwischen 1 und 99 sein. Verwenden mehrere Aufgaben dieselben Ausf\u00fchrungszeiten und Intervalle, k\u00f6nnen Sie diese durch Vergabe der gleichen Cronjob-ID auch zu einer Ausf\u00fchrungsgruppe zusammenfassen. F\u00fcr diese Gruppe brauchen Sie nur einen gemeinsamen Cronjob einrichten. Sobald Sie die Cronjob-ID an der Aufgabe gespeichert haben, werden Ihnen in den Grundeinstellungen des Moduls alle Informationen gezeigt, die Sie f\u00fcr die Einrichtung dieses zus\u00e4tzlichen Cronjobs ben\u00f6tigen. An diesem Cronjob k\u00f6nnen Sie nun auch die neuen Ausf\u00fchrungszeiten direkt einstellen. Sofern Ihr Provider dies erfordert, legen Sie f\u00fcr jeden Cronjob eine separate .sh-Datei an (siehe Aufgaben automatisch ausf\u00fchren). Vorherige Modulversionen verwendeten noch keine Cronjob-ID. Wird der Cronjob ohne ID aufgerufen, verwendet dieser automatisch die ID \u201e0\u201c (Null). Eine Umarbeitung der bisherigen Einstellungen ist nicht n\u00f6tig.","tags":"","url":"manual\/Cronjobs_fuer_unterschiedlich_zu_steuernde_Aufgaben.html"},{"title":"Aufgaben f\u00fcr alle relevanten Bestellungen manuell ausf\u00fchren","text":"Die Adressen f\u00fcr einen manuellen Start der Aufgaben finden Sie in den Einstellungen des Auftragsmanager (Klappmen\u00fc Cronjobeinstellungen f\u00fcr...). Die Adresse unter externer Link kann zum manuellen Starten verwendet werden. Die Links sind immer f\u00fcr eine spezielle "Cronjob-ID" g\u00fcltig. Alle Aufgaben mit dieser ID werden dann gleichzeitig gestartet. M\u00f6chten Sie nur eine spezielle Aufgabe starten, vergeben Sie dieser eine eindeutige Cronjob-ID. Sie erhalten dann in den Einstellungen einen speziellen Link nur f\u00fcr diese ID. Weitere Informationen zur Verwendung der Cronjob-IDs sind im Kapitel Cronjobeinstellungen f\u00fcr Cronjob-ID X beschrieben. Beachten Sie bitte, dass die Aufgaben in einem Durchlauf bearbeitet werden. Cronjobs haben im Regelfall mehr Ressourcen (Laufzeit, Speicher, ...) zur Verf\u00fcgung, als Browseraufrufe. Sind die auszuf\u00fchrenden Aufgaben sehr umfangreich, kann es beim manuellen Aufruf unter Umst\u00e4nden zu Abbr\u00fcchen f\u00fchren, wo der Cronjob sauber durchlaufen w\u00fcrde.","tags":"","url":"manual\/Aufgaben_fuer_alle_relevanten_Bestellungen_manuell_ausfuehren.html"},{"title":"Aufgaben f\u00fcr einzelne Bestellung manuell ausf\u00fchren","text":"Je nach Einstellung an den Aufgaben k\u00f6nnen Sie diese f\u00fcr alle Bestellungen zur manuellen Ausf\u00fchrung bereitstellen. Diese Einstellung setzen Sie an der jeweiligen Aufgabe im Tab Stamm. W\u00e4hlen Sie f\u00fcr den manuellen Aufruf im Adminbereich Ihres Shops den Abschnitt Bestellungen, w\u00e4hlen die entsprechende Bestellung und wechseln dann auf den Tab Auftragsmanager. Hier sehen Sie die freigegebenen Aufgaben und deren Status. Mit Hilfe des Ordner-Auswahlfeldes k\u00f6nnen Sie die angezeigten Aufgaben auch filtern. Hier k\u00f6nnen Sie Aufgaben nun ausf\u00fchren, auch wenn deren Bedingungen f\u00fcr die gew\u00e4hlte Bestellung eigentlich nicht g\u00fcltig sind. Eine Pr\u00fcfung erfolgt nicht. Bei mehrfach ausf\u00fchrbaren Aufgaben steht Ihnen auch nach der ersten Ausf\u00fchrung die erneute Ausf\u00fchrung der Aufgabe jederzeit zur Verf\u00fcgung. Wurde eine Aufgabe schon abschlie\u00dfend f\u00fcr die Bestellung ausgef\u00fchrt, k\u00f6nnen Sie diese Markierung hier auch wieder entfernen. Ein erneutes Ausf\u00fchren (manuell \u00fcber diese Seite oder auch automatisch \u00fcber den Cronjob) ist dann wieder m\u00f6glich. Zus\u00e4tzlich erlaubt Ihnen die manuelle Ausf\u00fchrung auch das Bearbeiten von Mails. So k\u00f6nnen Sie ohne Ver\u00e4nderung der Mailvorlagen Ihrem Kunden auch noch individuelle Anpassungen der Mails zukommen lassen.","tags":"","url":"manual\/Aufgaben_fuer_einzelne_Bestellung_manuell_ausfuehren.html"},{"title":"Anzeige der gefundenen Bestellungen als Liste","text":"Eine direkte Anzeigem\u00f6glichkeit gibt es im Modul nicht, da die Listen sehr lang werden k\u00f6nnen. Ben\u00f6tigen Sie die Liste vorab, kopieren Sie bitte die Aufgabe und \u00e4ndern in der Kopie die Aktionen auf "Export in Liste" um. Ben\u00f6tigen Sie stattdessen ein Bearbeitungsprotokoll, k\u00f6nnen Sie den Listenexport auch in der bestehenden Aufgabe zus\u00e4tzlich zu den bestehenden Aktionen dazu konfigurieren. Aktivieren Sie in beiden F\u00e4llen im Tab "Aktion" im Aufklappmen\u00fc "Export" die folgenden Einstellungen: W\u00e4hlen Sie die gew\u00fcnschten Felder aus der Feldliste. Als Generierungstemplate w\u00e4hlen Sie d3ordermanager\/CSV-Vorlage.tpl. Damit k\u00f6nnen Sie sich eine CSV-Liste erzeugen. F\u00fcr andere Formate ist eine entsprechende Vorlage zu erstellen. Nach dem Ausf\u00fchren dieser Aufgabe k\u00f6nnen Sie den Export unter dem angezeigten Pfad laden. Wenn Sie eine separate Kopie der Aufgabe f\u00fcr die Listen verwenden: Beachten Sie bitte, dass diese beiden Aufgaben (das Original und auch die Listen-Kopie) jeweils eigene erledigt-Haken an der Bestellung setzen. Die beiden Aufgaben haben damit voneinander getrennte Bearbeitungsst\u00e4nde.","tags":"","url":"manual\/Anzeige_der_gefundenen_Bestellungen_als_Liste.html"},{"title":"Weiterentwicklung","text":"Fehlen Ihnen unter den Bedingungen oder den Aktionen der Aufgaben noch Eintr\u00e4ge, um die von Ihnen ben\u00f6tigte Aufgabe anlegen zu k\u00f6nnen, fragen Sie einfach bei uns nach. Haben Sie neben den Beispielen weitere Einsatzm\u00f6glichkeiten gefunden, freuen wir uns \u00fcber Ihre R\u00fcckmeldung.","tags":"","url":"manual\/Weiterentwicklung.html"},{"title":"Hilfe und Support","text":"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 unserer Modul-FAQ zur Verf\u00fcgung. Finden Sie darin die ben\u00f6tigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden M\u00f6glichkeiten: per E-Mail: support@shopmodule.com oder \u00fcber das Kontaktformular auf Oxidmodule.com oder per Telefon: (+49) 37 21 \/ 26 80 90 zu unseren B\u00fcrozeiten Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen k\u00f6nnen. Sind Ihre Fragen shopspezifisch, ben\u00f6tigen wir m\u00f6glicherweise Zugangsdaten zum betreffenden Shop. Wir w\u00fcnschen Ihnen mit Ihrem Shop und dem Modul viel Erfolg! Ihr D\u00b3-Team.","tags":"","url":"support\/Hilfe-und-Support.html"}]}
\ No newline at end of file
+{"pages":[{"title":"<\/i> Auftragsmanager","text":"Weitere Informationen zum Modul Auftragsmanager finden Sie in unserem Shop: https:\/\/www.oxidmodule.com\/OXID-eShop\/Module\/Auftragsmanager-fuer-Oxid-PE.html","tags":"","url":"index.html"},{"title":"Changelog","text":"3.1.1.0 - (2019-10-21) Added Trigger-Dokumentation erg\u00e4nzt neue Templatebl\u00f6cke f\u00fcr die Templates der Bedingungen und Aktionen eingef\u00fcgt PDF-Typen und PDF-Aktionen als Konstanten definiert UnitTests erg\u00e4nzt Changed HelpCenter Link aktualisiert d3modprofile::oxupdate als Nicht-Multilang-Feld definiert 3.1.0.0 - (2019-07-08) Added neue Ausl\u00f6ser "onOrderSave" und "onOrderFinalize" alle Ausl\u00f6ser haben eine "pre execute script"- und "post execute script"-Option (nicht in allen Moduleditionen verf\u00fcgbar) Basisbeschreibung f\u00fcr jede Adminseite eingef\u00fcgt "verf\u00fcgbar f\u00fcr manuelle Ausf\u00fchrung" kann nun optional auch die erf\u00fcllten Bedingungen pr\u00fcfen - Aufgabe steht bei unpassenden Bedingungen dann nicht an Bestellung zur Verf\u00fcgung erg\u00e4nzende Tests hinzugef\u00fcgt Changed Adminbereich optimiert - alle Ausl\u00f6ser in eigenen Tab ausgelagert Bootstrap-Locator f\u00fcr zuk\u00fcnftige Verwendung des globalen bin-Verzeichnisses angepasst Fixed HTML-Struktur der Admin-Templates korrigiert zu wenig isoliert laufende Unit-Tests angepasst 3.0.2.0 - (2019-05-07) Added automatisierte Tests (Unit Tests, Integration Tests) integriert statt absoluter Instanzdefinition werden DIC Services verwendet 3.0.1.0 - (2019-02-27) Added beim Speichern der Aktionen wird auf unzureichend ausgef\u00fcllte Werte hingewiesen beim Speichern der Bedingungen wird auf unzureichend ausgef\u00fcllte Werte hingewiesen 3.0.0.0 - (2017-12-15) Minor version upgrade notice: there are some backward-incompatible changes to this release. Added Installation via Composer Changed f\u00fcr OXID6 umgearbeitet Dezimalangaben in Einstellungen werden auch mit Komma richtig verarbeitet Exporttemplates k\u00f6nnen aus einstellbaren Pfaden geholt werden 2.3.4.0 - (2017-05-19) Admin-Layout f\u00fcr Shopversion 4.10\/5.3 optimiert Men\u00fc-Icon hinzugef\u00fcgt Seitentitel optimiert Hintergrund-Logo entfernt Apache 2.4-Kompatibilit\u00e4t eingef\u00fcgt veraltetet Methodenaufrufe ersetzt changed_full-Inhalte entfernt 2.3.3.0 (2016-03-14) "gefundene Bestellungen ohne Bearbeitung als erledigt markieren"-Funktion eingef\u00fcgt Bedingungen "Pr\u00fcfung des Ausf\u00fchrungsstatus einer anderen Aufgabe" eingef\u00fcgt Installation konvertiert Beispiele nach UTF8 Zeitstempel-Ersetzung optimiert Dokumentation \u00fcberarbeitet Installationsscript verschoben 2.3.2.1 (2015-03-25) PDF-Generierung verwendet Sprachbausteine aus Adminbereich Performance: Statistikabfragen optimiert Performance: Statistikauswertungen k\u00f6nnen einzeln abgefragt werden Installation: nicht mehrsprachige Datenfelder werden bei Konvertierung von Alteintr\u00e4gen nur einsprachig \u00fcbertragen Rechnungsdatum wird nicht vordatiert Format des Rechnungsdatums angepasst E-Mail CMS Text wird in Sprache der Bestellung ausgeliefert 2.3.2.0 (2015-01-16) Maildaten werden aus Bestellung bezogen, wenn Kundenkonto nicht mehr verf\u00fcgbar ist Optimierung f\u00fcr Multilang-Tabellen integriert zu bearbeitende Bestellung wird separat (au\u00dferhalb der orderlist) geladen, sind sonst unvollst\u00e4ndig einzelne Modprofile-Felder von Multilang-Speicherung ausgeschlossen, da Aufgaben nicht sprachabh\u00e4ngig ausgef\u00fchrt werden k\u00f6nnen Artikelselektion nach Kategorie ist nun auch auf Variantenartikel anwendbar, die selbst keiner Kategorie zugeordnet sind Pr\u00fcfung auf unregistrierte Dateien eingef\u00fcgt 2.3.1.0 (2014-12-09) SH-Generator integriert fehlende Kompatibilit\u00e4t f\u00fcr OXID 4.7.x nachger\u00fcstet Cronjob-ID f\u00fcr Shellaufrufe nachgetragen Warenkorb-Handling f\u00fcr Mailversand optimiert 2.3.0.0 (2014-11-13) OXID 4.9 \/ 5.2 Installationsanweisungen eingef\u00fcgt Cronjob-ID f\u00fcr gezieltere Aufgabenaufrufe integriert Remark- und Info-Handling optimiert alternative From- und Reply-Adresse in Mailsendeaktion integriert Templatequelle f\u00fcr Mailsendeaktion kann nun auch ein Modulverzeichnis sein Templatestruktur bereinigt 2.1.1.0 (2014-07-23) bei nicht ausf\u00fchrbaren Bedingungen \/ Aktionen wird Protokoll-Eintrag geschrieben Performance-Verbesserungen integriert 1.5.0 (2014-07-09) 1.4.0 (2014-07-01) 2.1.0.1 (2014-05-21) "Auftrag manuell ausf\u00fchrbar"-Option korrigiert Cronjob-Hinweise werden zus\u00e4tzlich im Browser ausgegeben 2.1.0.0 (2014-05-06) Verwendung von allgemeinen Modulprofilen anstatt eigener Profile Listenexport eingef\u00fcgt Individualmethoden eingef\u00fcgt neues Lizenzschema umgesetzt 2.0.0.0 (2013-03-21) Minor version upgrade notice: there are some backward-incompatible changes to this release. Anpassung auf OXID 4.7.X \/ 5.0.X Generieren von PDF-Dateien 1.3.0 (2012-08-08) Mailsubject wird aus Template generiert Bestelldaten enthalten optional auch stornierte Artikel Pr\u00fcfung auf leere Bestelleintr\u00e4ge m\u00f6glich fehlende "isBundle"-Methode in alten Shopversionen ber\u00fccksichtigt Mailtemplates k\u00f6nnen aus Frontend- oder Backend-Theme geholt werden Benutzerinformationen werden aus Bestelldaten verwendet (nicht von User-Daten) 1.2.0 (2012-06-22) EE-Multishop-Funktionalit\u00e4t Cronjob verwendet "Aktiv"-Flag Hook f\u00fcr Mailprogrammierungen eingef\u00fcgt Smarty-Variablen f\u00fcr Verwendung der originalen Bestellbest\u00e4tigungsmails vervollst\u00e4ndigt 1.1.0 (2012-03-19) Mailvariablen hingef\u00fcgt Templates auf 4.5.11 gepr\u00fcft 1.1.0 (2012-01-29)","tags":"","url":"changelog\/Changelog.html"},{"title":"Editionen","text":"Das Modul Auftragsmanager erhalten Sie in verschiedenen Editionen mit unterschiedlichem Funktionsumfang. Die hier nicht genannten Modulfunktionen sind in allen Editionen gleich. Funktionsumfang Free-Edition Standard-Edition Premium-Edition Anzahl m\u00f6glicher Aufgaben 5 25 beliebig vor-Ausf\u00fchrung-Script m\u00f6glich X nach-Ausf\u00fchrung-Script m\u00f6glich X Aufgabenausl\u00f6ser Free-Edition Standard-Edition Premium-Edition periodischer Start per Cronjob X X X manueller Start direkt an den Bestellungen X X X beim Bestellabschluss durch den Kunden X X beim Speichern der Bestellung X X Bedingungen Free-Edition Standard-Edition Premium-Edition ab (inklusive) Bestellnummer X X X bis (inklusive) Bestellnummer X X X Zeitraum (1) X X X Zeitraum (2) X X X nicht gesetztes... X X X aus diesen Wochentagen X X X bei diesen Zahlarten X X X bei diesen Versandarten X X X bei gesetztem Trackingcode X X X bei stornierter Bestellung X X X bei nicht stornierter Bestellung X X X bei stornierten Artikeln innerhalb der Bestellung X X X Bestellsumme X X X hat Rechnungsnummer erhalten X X X Transaktionsstatus X X X bei verwendeter W\u00e4hrung X X X bei verwendeter Sprache X X X in einem der Ordner X X X nicht in einem der Ordner X X X enth\u00e4lt selektierte Artikel (1) X X X enth\u00e4lt selektierte Artikel (2) X X X enth\u00e4lt nicht selektierte Artikel (1) X X X enth\u00e4lt nicht selektierte Artikel (2) X X X Suchmuster zur Filterung der Mailadresse X X X Liefer- bzw. Rechnungsadresse aus Land X X X Kunde ist in Gruppe X X X Kunde ist nicht in Gruppe X X X Methode des Auftragslistenobjekts ausf\u00fchren X Bestellungsfeld auf Wert pr\u00fcfen X andere Aufgabe X Aktionen Free-Edition Standard-Edition Premium-Edition E-Mail senden X X X Auftr\u00e4ge in Ordner verschieben X X X Auftr\u00e4ge stornieren X X Versendet-am Datum setzen X X Bezahlt-am Datum setzen X X Versandkosten \u00e4ndern X X Rabatte \u00e4ndern X X PDF generieren X X Feld mit Wert f\u00fcllen X Kundengruppe zuordnen \/ entfernen X X Export in Liste X X Individualaktionen \/ -bedingungen definieren X","tags":"","url":"editions\/Editionen.html"},{"title":"Installation \/ Update \/ Deinstallation","text":"Anforderungen Neuinstallation Update Deinstallation 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 genannten Kontaktdaten Bescheid.","tags":"","url":"installation\/Installation.html"},{"title":"Systemanforderungen","text":"PHP Version 5.6.x bis 7.2.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 <<<<<<< HEAD Modul-Connector (kostenfrei bei D3 erh\u00e4ltlich) ab Version 5.2.0.0 3d421be6ae2e5ed2dc562094070e3639b301b6a2 Installation via Composer mindestens ein freier Cronjob zur automatischen Ausf\u00fchrung angelegter Aufgaben Beachten Sie, dass die Ihnen vorliegende Modulversion entsprechend f\u00fcr PHP 5.6, PHP 7.0, PHP 7.1 oder PHP 7.2 sowie dem auf Ihrem Server vorhandenen Decoder (ionCube Loader) kompatibel ist. Im Zweifelsfall kontaktieren Sie uns und nennen den f\u00fcr Ihren Shop genutzten Decoder und die PHP-Version. Kontrollieren Sie bitte auch, ob diese Modulversion f\u00fcr die von Ihnen eingesetzte Shopedition (Community Edition (CE), Professional Edition (PE) oder Enterprise Edition (EE)) ausgelegt ist.","tags":"","url":"installation\/Anforderungen\/Systemanforderungen.html"},{"title":"Kompatibilit\u00e4t mit anderen Modulen","text":"Der Auftragsmanager integriert auch die Erweiterung \u201eInvoice PDF\u201c von OXID eSales AG, sofern diese im Shop installiert wurde. Diese Integration wurde f\u00fcr die Version 2.0.0 des \u201eInvoice PDF\u201c-Moduls entwickelt. Der Auftragsmanager ist nat\u00fcrlich auch ohne das "Invoice PDF"-Modul einsetzbar, kann jedoch dann keine PDF-Exporte verwenden.","tags":"","url":"installation\/Anforderungen\/Kompatibilitaet_mit_anderen_Modulen.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module -> Modul-Connector, k\u00f6nnen 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\u00e4hlen dort das f\u00fcr Ihre Installation passende Paket.","tags":"","url":"installation\/Anforderungen\/Vorbereitungen.html"},{"title":"Neuinstallation","text":"Schnellstart per Composer php composer require d3\/ordermanager \u2013-update-no-dev Detailliertere Angaben zur Installation entnehmen Sie bitte den folgenden Seiten.","tags":"","url":"installation\/Neuinstallation\/index.html"},{"title":"Vorbereitungen","text":"Installieren Sie bitte zuerst unseren Modul-Connector in der erforderlichen Version. Ob dies evtl. schon geschehen ist, k\u00f6nnen Sie im Adminbereich Ihres Shops pr\u00fcfen. Existiert der Punkt Module -> Modul-Connector, k\u00f6nnen Sie die installierte Version unter Bibliotheksverwaltung ablesen. Fehlt dieser Eintrag, installieren Sie den Modul-Connector bitte vorab. Hinweise zu dessen Installation finden Sie in der Modul-Connector Dokumentation.","tags":"","url":"installation\/Neuinstallation\/Vorbereitung.html"},{"title":"Modul zur Installation hinzuf\u00fcgen","text":"F\u00fchren Sie in der Konsole im Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses) diesen Befehl aus, um das Modul Auftragsmanager zur Installation hinzuzuf\u00fcgen: php composer require d3\/ordermanager --update-no-dev Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Neuinstallation\/Modul_hinzufuegen.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterst\u00fctzung ben\u00f6tigen, kontaktieren Sie uns bitte f\u00fcr weiteren Support.","tags":"","url":"installation\/Neuinstallation\/Providerspezifische_Installation.html"},{"title":"Modul im Shop aktivieren","text":"Aktivieren Sie das Modul \u00fcber den Shopadmin unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager 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.","tags":"","url":"installation\/Neuinstallation\/Modul_im_Shop_aktivieren.html"},{"title":"Shopanpassungen installieren","text":"Direkt nach der Modulaktivierung startet der Assistent, der Sie durch die Shopanpassung f\u00fchrt. Darin k\u00f6nnen Sie verschiedene Optionen der Installation w\u00e4hlen. Den Installationsassistenten finden Sie auch unter den Men\u00fcpunkten Admin -> Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation. Bei tiefgreifenden \u00c4nderungen an Ihrem Shop (z.B. Hinzuf\u00fcgen weiterer Sprachen oder Mandanten) rufen Sie den Installationsassistenten bitte erneut auf, um dann eventuell notwendige Nacharbeiten f\u00fcr das Modul ausf\u00fchren zu lassen. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen.","tags":"","url":"installation\/Neuinstallation\/Shopanpassungen_installieren.html"},{"title":"TMP-Ordner leeren","text":"Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus.","tags":"","url":"installation\/Neuinstallation\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel eintragen","text":"Das Modul verwendet Lizenzschl\u00fcssel, um die Lizenzverwaltung f\u00fcr Sie und auch f\u00fcr uns einfacher zu gestalten. Hierbei haben Sie je nach Modul die Wahl zwischen einer kostenfreien Testlizenz und einer Lizenz f\u00fcr den Einsatz im Livebetrieb. Speziell der Auftragsmanager wird in unterschiedlichen (teilweise kostenfreien) Editionen f\u00fcr den Livebetrieb angeboten. Besuchen Sie unseren Moduleshop, um mehr dar\u00fcber zu erfahren. Rufen Sie zum Anfordern des Lizenzschl\u00fcssels die Modulverwaltung im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung auf. Klappen Sie den Eintrag des jeweiligen Moduls aus. Sofern erforderlich, k\u00f6nnen Sie hier den Lizenzassistenten starten, der schnell und einfach ihr Modul aktiviert.","tags":"","url":"installation\/Neuinstallation\/Lizenz_eintragen.html"},{"title":"Cronjob einrichten","text":"Legen Sie den Cronjob f\u00fcr die automatische Bearbeitung der eingerichteten Auftr\u00e4ge an. Die f\u00fcr die Anlage ben\u00f6tigten Daten finden Sie im Adminbereich des Moduls unter Module -> Auftragsmanager -> Einstellungen -> Grundeinstellungen. Weitere Informationen zum Anlegen von Cronjobs finden Sie in unserer FAQ. Sie sollten unbedingt den Aufruf von .sh-Dateien via Browser verhindern, so dass kein Unbefugter die Datei von au\u00dfen aufrufen kann. Dazu k\u00f6nnen Sie z.B. die .htaccess-Datei des Shops um folgende Zeilen erweitern: <Files *.sh> Require all denied <\/Files>","tags":"","url":"installation\/Neuinstallation\/Cronjob_einrichten.html"},{"title":"Updatef\u00e4higkeit","text":"Bei individuellen \u00c4nderungen von Moduldateien empfehlen wir, jeweils die \u00dcberladungsm\u00f6glichkeiten des Shops daf\u00fcr zu verwenden. So brauchen Sie die originalen Moduldateien nicht ver\u00e4ndern und erhalten sich so die Updatef\u00e4higkeit des Shops und des Moduls. Beachten Sie, dass Moduldateien bei Updateinstallationen \u00fcberschrieben werden. Weitere Informationen zu den \u00dcberladungsm\u00f6glichkeiten verschiedener Dateien finden Sie in unserer FAQ.","tags":"","url":"installation\/Neuinstallation\/Updatefaehigkeit.html"},{"title":"Wann kann ein Update ausgef\u00fchrt werden?","text":"Die Updatenaweisungen k\u00f6nnen verwendet werden, wenn dieses Modul schon fr\u00fcher mit Hilfe von Composer installiert wurde. Wurde die Installation bisher noch nicht durchgef\u00fchrt oder die Installation wurde nicht \u00fcber Composer durchgef\u00fchrt (weil das Modul dies z.B. fr\u00fcher nicht unterst\u00fctzte), verwenden Sie bitte die Beschreibung unter Neuinstallation.","tags":"","url":"installation\/Update\/Updatedefinition.html"},{"title":"Modul deaktivieren","text":"Deaktivieren Sie das Modul \u00fcber den Shopadmin unter Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager auf den Button Deaktivieren.","tags":"","url":"installation\/Update\/Modul_deaktivieren.html"},{"title":"Paketquelle entfernen","text":"Durch einen Wechsel der Paketquelle ist die veraltete Angabe nicht mehr erforderlich. Um Konflikte zu vermeiden, sollte die alte Paketquelle entfernt werden. Haben Sie diese schon fr\u00fcher entfernt, k\u00f6nnen Sie diesen Schritt \u00fcberspringen. Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). Senden Sie dort diesen Befehl ab: php composer config --unset repositories.d3 php composer config --unset repositories.D3modules Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Update\/Paketquelle_entfernen.html"},{"title":"Dateien erneuern","text":"Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie dort diesen Befehl aus: php composer update d3\/ordermanager --no-dev Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Update\/Dateien_erneuern.html"},{"title":"Providerspezifische Installation","text":"Manche Provider erfordern besondere Einstellungen f\u00fcr installierte Module. Treffen Sie bei der Installation auf spezielle Anforderungen, zu denen Sie Unterst\u00fctzung ben\u00f6tigen, kontaktieren Sie uns bitte f\u00fcr weiteren Support.","tags":"","url":"installation\/Update\/Providerspezifische_Installation.html"},{"title":"Modulinformationen aktualisieren","text":"Wechseln Sie im Adminbereich zu Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager auf den Button Aktivieren.","tags":"","url":"installation\/Update\/Modulinformationen_aktualisieren.html"},{"title":"Shopanpassungen installierren","text":"Ob Shopanpassungen notwendig sind, ist von der Versions\u00e4nderung des Moduls abh\u00e4ngig. M\u00f6glicherweise sehen Sie nach dem Neuaktivieren des Moduls den Installationsassistent, der Sie durch die \u00c4nderungen f\u00fchrt. Folgen Sie dann den einzelnen Schritten. M\u00f6chten Sie die \u00c4nderungen manuell installieren, k\u00f6nnen Sie sich \u00fcber diesen Assistenten ebenfalls eine Checkliste erstellen. Wird der Assistent nicht gezeigt (Sie sehen wieder die Modul\u00fcbersicht), waren keine Anpassungen am Shop notwendig. Ob erforderliche Updates ausgef\u00fchrt werden sollen, k\u00f6nnen Sie jederzeit im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung -> Modulinstallation pr\u00fcfen.","tags":"","url":"installation\/Update\/Shopanpassungen_installieren.html"},{"title":"TMP-Ordner leeren","text":"Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus.","tags":"","url":"installation\/Update\/TMP-Ordner_leeren.html"},{"title":"Lizenzschl\u00fcssel aktualisieren","text":"Wird f\u00fcr die neue Modulversion ein aktualisierter Lizenzschl\u00fcssel ben\u00f6tigt, tragen Sie diesen im Adminbereich unter Module -> Modul-Connector -> Modulverwaltung ein. Klappen Sie dazu den Eintrag des jeweiligen Moduls aus und starten den Lizenzassistent.","tags":"","url":"installation\/Update\/Lizenzschluessel_aktualisieren.html"},{"title":"Erweiterungen anpassen","text":"Haben Sie f\u00fcr dieses Modul eigene Erweiterung entwickelt, gleichen Sie dies bitte mit der neuen Fassung des Moduls ab.","tags":"","url":"installation\/Update\/Erweiterungen_anpassen.html"},{"title":"Installationspr\u00fcfung","text":"Um die erfolgreiche Installation zu pr\u00fcfen, k\u00f6nnen Sie die folgende(n) Checkliste(n) verwenden: Einstellungsunabh\u00e4ngige Pr\u00fcfungen Backend Modul ist unter Erweiterungen -> Module aktiv geschaltet Modul ist unter Module -> Modul-Connector -> Modulverwaltung aktiv geschaltet Modul zeigt unter Module -> Auftragsmanager einen eigenen Bereich f\u00fcr Einstellungen Modul zeigt unter Bestellungen verwalten -> Bestellungen -> Auftragsmanager einen eigenen Bereich","tags":"","url":"installation\/Installationspruefung.html"},{"title":"Schnellstart","text":"Das Modul Auftragsmanager bringt einen umfangreichen Adminbereich mit, in dem Sie die Konfigurationseinstellungen des Moduls setzen k\u00f6nnen. \u00dcber das Men\u00fc Module -> Auftragsmanager -> Einstellungen 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 \u00f6ffnet sich der Hinweistext. Richten Sie nun die Aufgaben ein, die der \u201eAuftragsmanager\u201c f\u00fcr Sie durchf\u00fchren soll. In der Standardinstallation finden Sie einige Aufgaben als Beispiel vorbereitet. Darin k\u00f6nnen Sie sich die m\u00f6glichen Konfigurationen ansehen, diese auf Ihre Bed\u00fcrfnisse anpassen und auch neue Aufgaben anlegen. Testen Sie die Aufgaben mit dem modulweiten Debug-Schalter ( Module -> Auftragsmanager -> Einstellungen) und \/ oder der Mailsende-Option an jeder Aufgabe ( Module -> Auftragsmanager -> Aufgaben -> Stamm). Diese Optionen sind genauer im jeweils dahinter stehenden Fragezeichenfeld erkl\u00e4rt. Aktivieren Sie die Ausf\u00fchrung der Aufgaben bitte erst, wenn Sie sicher sind, dass alle Optionen richtig sind. Wir \u00fcbernehmen keine Gew\u00e4hrleistung f\u00fcr evtl. falsche oder verlorene Daten bei fehlerhaft eingestellten Aufgaben. Weitere Details zur Einrichtung des \u201eAuftragsmanagers\u201c entnehmen Sie bitte dessen Handbuch zum Modul.","tags":"","url":"installation\/Schnellstart.html"},{"title":"Modulerweiterungen deaktivieren und entfernen","text":"Deaktivieren Sie alle vorhandenen Erweiterungen, die auf dem Modul Auftragsmanager aufbauen und l\u00f6schen bitte alle Dateien dieser Erweiterungen. Entfernen Sie ebenfalls alle individuellen Templateanpassungen f\u00fcr dieses Modul.","tags":"","url":"installation\/Deinstallation\/Modulerweiterungen_deaktivieren_und_entfernen.html"},{"title":"Modul deaktivieren","text":"Deaktivieren Sie das Modul Auftragsmanager \u00fcber den Shopadmin Erweiterungen -> Module. Klicken Sie nach Auswahl von Auftragsmanager auf den Button Deaktivieren.","tags":"","url":"installation\/Deinstallation\/Modul_deaktivieren.html"},{"title":"Modul aus der Installation entfernen","text":"Starten Sie die Konsole Ihres Webservers und wechseln in das Hauptverzeichnis Ihres Shops (oberhalb des source- und vendor-Verzeichnisses). F\u00fchren Sie Sie dort diesen Befehl aus: php composer remove d3\/ordermanager --no-update Achten Sie darauf, dass die Installation \u00fcber Composer mit derselben PHP-Version erfolgt, in der auch Ihr Shop installiert ist. Sie erhalten sonst unpassende Modulpakete. Ben\u00f6tigt Ihre Installation einen anderen Aufruf von Composer, \u00e4ndern Sie den Befehl bitte entsprechend ab. F\u00fcr weitere Optionen dieses Befehls lesen Sie bitte die Dokumentation von Composer.","tags":"","url":"installation\/Deinstallation\/Modul_aus_der_Installation_entfernen.html"},{"title":"Dateien l\u00f6schen","text":"L\u00f6schen Sie den Ordner ordermanager und seine enthaltenen Elemente aus dem Verzeichnis source\/modules\/d3 Ihres Shops. Best\u00e4tigen Sie anschlie\u00dfend im Shopadmin unter Erweiterungen -> Module -> Installierte Shop-Module die Nachricht: Es gibt registrierte Erweiterungen im eShop, deren Verzeichnis nicht vorhanden ist. M\u00f6chten Sie alle Modulinformationen einschlie\u00dflich Konfigurationseinstellungen und Blockinformationen f\u00fcr Templates l\u00f6schen?","tags":"","url":"installation\/Deinstallation\/Dateien_loeschen.html"},{"title":"Datenbank bereinigen","text":"Das Modul legt Informationen in der Datenbank ab. Sofern diese Daten nicht mehr ben\u00f6tigt werden, k\u00f6nnen diese gel\u00f6scht werden. Legen Sie sich vorab bitte unbedingt eine Sicherung an, um die Daten im Zweifelsfall wiederherstellen zu k\u00f6nnen. F\u00fcr das Modul Auftragsmanager sind dies die folgende Tabellen und Felder: die komplette Tabelle d3order2ordermanager und diese Felder in bestehenden Tabellen: in Tabelle d3modprofile: das Feld D3_OM_EXECMANUALLY das Feld D3_OM_MARKORDER das Feld D3_OM_ORDERSAVETRIGGERED das Feld D3_OM_ORDERFINISHTRIGGERED sowie diese Eintr\u00e4ge in bestehenden Tabellen: in Tabelle d3_cfg_mod: den Eintrag oxmodid = "d3_ordermanager" **) **) Diesen Eintrag gibt es ggf. f\u00fcr jeden Subshop. Entfernen Sie diesen nur f\u00fcr die Mandanten, in denen das Modul nicht mehr installiert ist.","tags":"","url":"installation\/Deinstallation\/Datenbank_bereinigen.html"},{"title":"TMP-Ordner leeren","text":"Leeren Sie das Verzeichnis tmp \u00fcber Admin -> Module -> Modul-Connector -> TMP leeren. Markieren Sie komplett leeren und klicken auf TMP leeren. Sofern die Views nicht automatisch aktualisiert werden, f\u00fchren Sie dies noch durch. Erfordert Ihre Installation eine andere Vorgehensweise zum Leeren des Caches oder zum Aktualisieren der Datenbank-Viewtabellen, f\u00fchren Sie diese bitte aus.","tags":"","url":"installation\/Deinstallation\/TMP-Ordner_leeren.html"},{"title":"Handbuch","text":"Der Auftragsmanager ist daf\u00fcr erstellt, Ihnen m\u00f6glicherweise l\u00e4stige, jedoch immer wiederkehrende Aufgaben in Ihrem OXID-Shop abzunehmen. Die Aufgabenliste arbeitet anhand der Liste aller Bestellungen die eingestellten Aufgaben entweder manuell oder sogar automatisch ab. Bevor Sie den Auftragsmanager nutzen k\u00f6nnen, f\u00fchren Sie bitte dessen Installation durch. Die erforderlichen Schritte werden ausf\u00fchrlich in der Installationsanleitung beschrieben. Die Einstellungen des Moduls setzen Sie im Adminbereich Ihres OXID-Shops. W\u00e4hlen Sie dazu im linken Men\u00fc den Bereich Module -> Auftragsmanager.","tags":"","url":"manual\/Handbuch.html"},{"title":"Grundeinstellungen","text":"Hier setzen Sie alle Einstellungen, die unabh\u00e4ngig von Ihren gesetzten Aufgaben f\u00fcr die Ausf\u00fchrung des Auftragsmanagers notwendig sind: Setzen Sie das Modul aktiv: Ohne den Aktiv-Haken k\u00f6nnen Sie das Modul zwar einrichten, jedoch wird keine der angelegten Aufgaben ausgef\u00fchrt. \u00dcber Debug aktiv lassen sich Informationen w\u00e4hrend der Ausf\u00fchrung des Moduls ausgeben, die Ihnen und uns n\u00fctzliche Hinweise zu einer m\u00f6glichen Fehlersuche geben. Im Normalbetrieb sollte dieser Haken nicht gesetzt sein, da sonst die Aktionen nicht ausgef\u00fchrt werden. In der Logging-Auswahl stellen Sie ein, ob und wie viele Protokollinformationen der Auftragsmanager mitschreiben soll. Die Daten helfen uns bei einer m\u00f6glichen Ursachensuche, wenn die Auftragsabarbeitung doch einmal nicht wie gew\u00fcnscht arbeiten sollte. Die Protokolleintr\u00e4ge werden ausschlie\u00dflich in Ihrer Installation abgelegt. Treffen Sie bei der Entscheidung den Kompromiss zwischen einem ausreichenden Protokoll und dem Speicherplatzbedarf. Im Regelfall ist die Einstellung \u201eFehler mitschreiben\u201c ausreichend.","tags":"","url":"manual\/Einstellungen\/Grundeinstellungen.html"},{"title":"Aufgabeneinstellungen -> Ordner","text":"Der Auftragsmanager l\u00e4sst aus technischer Sicht beliebig viele Aufgaben zu. Um diese besser verwalten und wiederfinden zu k\u00f6nnen, legen Sie die Aufgaben in virtuelle Ordner. Eben diese Ordner k\u00f6nnen Sie hier verwalten. Jede Zeile im Eingabebereich stellt einen Ordner dar. M\u00f6chten Sie einen neuen Ordner hinzuf\u00fcgen, f\u00fcgen Sie eine neue Zeile ein. Zum L\u00f6schen eines Ordners entfernen Sie die betreffende Zeile. Den Namen des Ordners k\u00f6nnen Sie im Eingabefeld im Klartext eingeben. Alternativ (speziell f\u00fcr mehrsprachige Shops) k\u00f6nnen Sie stattdessen auch einen Multilang-Baustein eintragen, den Sie in den admineigenen \u00dcbersetzungsdateien hinterlegen. Es empfiehlt sich, die Ordner inhaltsbezogen zu den Aufgaben anzulegen. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Einstellungen\/Aufgabeneinstellungen.html"},{"title":"allgemeine Cronjobeinstellungen","text":"Neben der manuell gestarteten Aufgabenausf\u00fchrung k\u00f6nnen diese auch automatisch \u00fcber einen oder mehrere Cronjobs gestartet werden. Cronjobs werden auf dem Server eingerichtet und starten die Skriptausf\u00fchrung auch ohne Ihr Zutun. Setzen Sie hier die Cronjob-Ausf\u00fchrung aktiv, wenn Sie die automatische Abarbeitung nutzen m\u00f6chten. Tragen Sie auch die Anzahl der Bestellungen ein, die pro Cronjob-Aufruf abgearbeitet werden d\u00fcrfen. Die Menge ist begrenzt, da auch ein Cronjob nur eine vom Server vorgegebene Zeit zur Abarbeitung hat. Jede Bestellung ben\u00f6tigt ebenfalls etwas Zeit. Je nach Anzahl der aufgelaufenen Bestellungen und der auszuf\u00fchrenden Aufgaben sollte diese Anzahl justiert werden. Reicht die maximal nutzbare Anzahl der Bestellungen nicht aus, lassen Sie den Cronjob einfach mehrmals laufen (z.B. alle 2 Stunden). Das Cronjob-Skript k\u00f6nnen Sie (und jeder Andere auch) zur Einrichtung oder zur Kontrolle im Browser aufrufen. Neben den serverseitigen Sicherheitsma\u00dfnahmen sollten Sie hier ein Passwort vergeben, mit dem das Skript ausschlie\u00dflich gestartet werden kann. Ohne das Passwort verweigert der Auftragsmanager seine Arbeit. So stellen Sie sicher, dass kein Unbefugter diese Ausf\u00fchrung startet.","tags":"","url":"manual\/Einstellungen\/allgemeine_Cronjobeinstellungen.html"},{"title":"Cronjobeinstellungen f\u00fcr Cronjob-ID \"X\"","text":"Der Auftragsmanager stellt verschiedene Cronjobs zur Verf\u00fcgung. Je nach Einrichtung der Aufgaben kann die Anzahl variieren. Details zur Verwendung der Cronjob-IDs finden Sie im Abschnitt Aufgaben automatisch ausf\u00fchren. F\u00fcr jeden verf\u00fcgbaren Cronjob sehen Sie in den Einstellungen die f\u00fcr Einrichtung ben\u00f6tigten Informationen: Den Link mit allen erforderlichen Parametern f\u00fcr den manuellen Aufruf des Bearbeitungsskripts finden Sie in der Zeile \u201eexterner Link\u201c. \u00dcber den blauen Button k\u00f6nnen Sie die Ausf\u00fchrung in einem neuen Browser-Tab sofort starten. Direkt darunter finden Sie den Link, den Sie f\u00fcr die Einrichtung des Cronjobs ben\u00f6tigen. Dort ist das Passwort nicht n\u00f6tigt, da Ihr Server die Identifizierung selbst durchf\u00fchren kann. Nachfolgend wird ebenfalls die Zeit gezeigt, zu der dieser Cronjob das letzte Mal erfolgreich gestartet wurde. Haben Sie Zweifel an der Cronjob-Einrichtung bei Ihrem Provider, k\u00f6nnen Sie dies hier kontrollieren. Speichern Sie gesetzte Einstellungen ab. Enterprise Editon mit mehr als einem Shopmandanten: Beachten Sie, dass f\u00fcr jeden Shopmandanten ein eigener Link zum Aufruf des Cronjobs existiert. Legen Sie sich f\u00fcr jeden Subshop daher einen eigenen Cronjob an. Es empfiehlt sich, diese zeitversetzt zu planen.","tags":"","url":"manual\/Einstellungen\/Cronjobeinstellungen_fuer_Cronjob-ID.html"},{"title":"Aufgaben","text":"Dem Modul haben wir in der Standardinstallation schon einige Aufgaben als Beispiele mitgeliefert. Daran k\u00f6nnen Sie sich die Einrichtungsm\u00f6glichkeiten f\u00fcr verschiedenste Anwendungsf\u00e4lle ansehen. Lassen Sie sich jedoch bitte nicht von den Beispielen einschr\u00e4nken. Wir sind gespannt, welche Aufgabenkombinationen Sie mit dem Auftragsmanager umsetzen. Zum Ausw\u00e4hlen einer Aufgabe klicken Sie diese in der oben gezeigten Liste an. Die jeweilige Zeile wird farbig hinterlegt. Im unteren Bereich der Anzeige sehen Sie nun die Details zur Aufgabe. Die Aufgabenliste bietet Ihnen au\u00dferdem die M\u00f6glichkeit, die angezeigten Aufgaben zu filtern. \u00dcber die Eingabe- und Dropdown-Felder k\u00f6nnen Sie zum Beispiel die weiter oben angesprochenen Ordner zur Filterung verwenden oder nach dem Namen einer Aufgabe suchen. M\u00f6chten Sie stattdessen eine v\u00f6llig neue Aufgabe anlegen, klicken Sie im unteren Bereich der Anzeige auf den entsprechend benannten Link. Das Eingabeformular leert sich und Sie k\u00f6nnen mit der Eingabe beginnen.","tags":"","url":"manual\/Aufgaben\/index.html"},{"title":"Stamm","text":"Vergeben Sie dem Job einen Namen. Diesen k\u00f6nnen Sie sp\u00e4ter jederzeit \u00e4ndern. Das Reihenfolge-Feld erwartet eine Zahl von Ihnen. Anhand derer wird bei der Ausf\u00fchrung festgelegt, in welcher Reihenfolge Ihre Aufgaben ausgef\u00fchrt werden. Kleine Zahlen werden vor Aufgaben mit gro\u00dfer Sortierzahl ausgef\u00fchrt. Dies kann wichtig sein, wenn eine Aufgabe auf den Ver\u00e4nderungen einer anderen Aufgabe basiert. W\u00e4hlen Sie f\u00fcr Ihre Aufgabe nun noch einen Ordner. Dies dient der besseren \u00dcbersicht \u00fcber Ihre Aufgaben. Die Ordner selbst k\u00f6nnen Sie in den Grundeinstellungen des Moduls verwalten. Darunter k\u00f6nnen Sie zus\u00e4tzlich ablesen, wann diese Aufgabe das letzte Mal ausgef\u00fchrt wurde. Bei der Neuanlage ist dieser Eintrag nat\u00fcrlich noch leer. Nun widmen wir uns den Einstellungen auf der rechten Seite: Mit Aufgabenausf\u00fchrung nur simulieren geben Sie an, ob diese Aufgabe \u00c4nderungen an Ihren Bestelldaten vornehmen darf. Ist der Haken gesetzt, sind alle Einstellungen ohne Auswirkungen. W\u00fcnschen Sie nach der Bearbeitung dieser Aufgabe (egal ob live oder nur Simulation) eine Information per Mail, welche Bestellung mit welchen Aktionen behandelt wurden, wird mit Infomail an Shopbetreiber senden diese direkt nach Bearbeitung versendet. Mit Bearbeitete Bestellungen nicht als erledigt markieren wird nach erfolgreichem Abschluss der Aufgabe diese auch f\u00fcr die n\u00e4chste Ausf\u00fchrung erneut vorgemerkt. Verwenden Sie Ihre Aufgabe als Wiedervorlage, setzen Sie diesen Haken. Alle zutreffenden Bestellungen (auch die aktuell bearbeiteten) werden beim n\u00e4chsten Aufruf erneut bearbeitet. Ansonsten werden die bearbeiteten Bestellungen mit dieser Aufgabe nicht noch einmal behandelt. Speziell f\u00fcr die Aufgaben ohne Bearbeitungsmarkierung kann der regelm\u00e4\u00dfige (z.B. t\u00e4gliche) Aufruf zu h\u00e4ufig sein. Stellen Sie dann den Wiedervorlagezeitraum ein, wann die Aufgabe erneut ausgef\u00fchrt werden soll. Beachten Sie bitte: Die Aufgaben k\u00f6nnen unabh\u00e4ngig des eingestellten Zeitraums nur ausgef\u00fchrt werden, wenn auch das Cronjob-Skript gestartet wird. Ansonsten bleibt die Aufgabe bis zum n\u00e4chsten Cronjob unbearbeitet liegen. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Aufgaben\/Stamm.html"},{"title":"Mall","text":"F\u00fcr Nutzer der OXID eShop Enterprise Edition gibt es hier die M\u00f6glichkeit, die Aufgaben neben dem Hauptmandanten auch weiteren Shopmandanten zuzuweisen. Somit ersparen Sie sich das Anlegen und Pflegen identischer Aufgaben. Beachten Sie jedoch, dass f\u00fcr jeden Mandanten unabh\u00e4ngig dieser Zuweisung separate Cronjobaufrufe notwendig sind. (siehe Cronjobeinstellungen).","tags":"","url":"manual\/Aufgaben\/Mall.html"},{"title":"\u00dcbersicht","text":"Hier erhalten Sie eine \u00dcbersicht \u00fcber schon bearbeitete und zuk\u00fcnftige Bestellungen dieser Aufgabe. Anhand der noch zu bearbeitenden Bestellungen k\u00f6nnen Sie die Bedingungseinstellungen pr\u00fcfen, die diese Zahl direkt manipulieren. F\u00fcr die einfache \u00dcbersicht \u00fcber eingestellte Bedingungen und Aktionen werden diese hier ebenfalls aufgelistet.","tags":"","url":"manual\/Aufgaben\/Uebersicht.html"},{"title":"Ausl\u00f6ser","text":"Hier stellen Sie ein, wann und wie die Augabe gestartet werden kann. Sie haben die Wahl zwischen: zeitgesteuerter Cronjob Lassen Sie die Aufgabe immer zu vorab festgelegten Zeiten starten. Sie m\u00fcssen sich dann um die Ausf\u00fchrung nicht k\u00fcmmern. Der automatische Auf\u00fchrung \u00fcber Cronjob m\u00f6glich-Haken definiert, ob diese Aufgabe \u00fcber die Cronjobs ausgef\u00fchrt werden darf. Der Einstellung der Cronjob-ID widmet sich das Kapitel Cronjobs f\u00fcr unterschiedlich zu steuernde Aufgaben ausf\u00fchrlich. Beachten Sie bitte, das zus\u00e4tzlich zu diesen Einstellungen ein passender Cronjob auf Ihrem Server eingerichtet sein muss. Der Ablauf der Einrichtung ist von Ihrem Provider abh\u00e4ngig. Bei Fragen kontaktieren Sie bitte uns oder Ihren Provider. manuelle Ausf\u00fchrung Alle Aufgaben k\u00f6nnen auch manuell f\u00fcr jede Bestellung ausgef\u00fchrt werden. Ob dies f\u00fcr die Aufgabe sinnvoll erscheint, k\u00f6nnen Sie mit dem Haken manuelle Ausf\u00fchrung an Bestellung m\u00f6glich festlegen. Haben Sie den Haken gesetzt, wird diese Aufgabe an den Bestellungen (im Admin unter Bestellungen verwalten -> Bestellungen -> D3 Auftragsmanager) angezeigt. (siehe auch Aufgaben manuell ausf\u00fchren). Mit "Aufgabe wird nur bei Bestellungen angeboten, bei denen die eingestellten Bedingungen erf\u00fcllt sind" k\u00f6nnen Sie entscheiden, ob die Aufgabe an jeder Bestellung angezeigt werden soll oder nur an Bestellungen, die die eingestellten Bedingungen erf\u00fcllen. nach dem Abschluss der Bestellung durch den Kunden Die Aufgabe wird dann ausgef\u00fchrt, wenn der Kunde seine Bestellung im Bestellschritt 4 abgesendet hat und diese vom angelegt wurde. Die Aufgabe f\u00fchrt dann nur diese eine Bestellung aus, wenn diese die eingestellten Bedingungen erf\u00fcllt. Technisch gesehen erfolgt die Bearbeitung der Bestellung nach Ausf\u00fchrung von \\OxidEsales\\Eshop\\Application\\Model\\Order::finalizeOrder() nach jedem Speichern der Bestellung Die Ausf\u00fchrung der Aufgabe erfolgt immer dann, wenn eine Bestellung gespeichert wird. Je nachdem, ob die bearbeitet Bestellung als "erledigt" markiert wird, erfolgt (k)eine erneute Bearbeitung beim n\u00e4chsten Speichern. Dieser Ausl\u00f6ser und der Ausl\u00f6ser "nach dem Abschluss der Bestellung durch den Kunden" \u00fcberschneiden sich thematisch, da beim Abschluss der Bestellung diese ebenfalls gespeichert wird. Eine gleichzeitige Aktivierung dieser beiden Ausl\u00f6ser ergibt i.d.R. keinen Sinn. Technisch gesehen erfolgt die Bearbeitung der Bestellung nach Ausf\u00fchrung von \\OxidEsales\\Eshop\\Application\\Model\\Order::save() Aktive Ausl\u00f6ser werden f\u00fcr die schnelle \u00dcbersicht mit einen gr\u00fcnen H\u00e4kchen markiert. An jedem Ausl\u00f6ser k\u00f6nnen Sie die Ausf\u00fchrung einer Vorabsriptes und \/ oder eines Danachscriptes einstellen, welches vorbereitende oder nachbereitende Arbeiten ausf\u00fchrt (nur verf\u00fcgbar in der Premium-Edition. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Aufgaben\/Ausloeser.html"},{"title":"Bedingungen","text":"Hier legen Sie mit einfachen M\u00f6glichkeiten fest, welche Bestellungen \u00fcberhaupt von Ihrer Aufgabe betroffen sind. L\u00e4sst sich Ihre Aufgabe nicht eindeutig diesen Bedingungen zuordnen, legen Sie im Anschluss besser eine zweite (identische) Aufgabe an und variieren Sie die Bedingungen entsprechend. Jede Bedingung hat einen Aktiv-Haken. Nur wenn dieser gesetzt ist, werden auch alle weiteren Einstellungen der jeweiligen Bedingung ber\u00fccksichtigt. Alle Bedingungen sind miteinander kombinierbar. W\u00e4hlen Sie mehrere Bedingungen aus, m\u00fcssen die Bestellungen Ihres Shops auch allen gew\u00e4hlten Bedingungen entsprechen (UND-Verkn\u00fcpfung). F\u00fcr alternative Bedingungen (ODER-Verkn\u00fcpfung) legen Sie sich bitte entsprechend viele \u00e4hnlich gestaltete Aufgaben an. Die Bedingungen sind selbsterkl\u00e4rend, weshalb das Handbuch nur auf Besonderheiten eingehen wird. Weitere Hilfetexte finden Sie an den Fragezeichenfeldern direkt an jeder Bedingung: Eine Spanne in den vorliegenden Bestellungen k\u00f6nnen Sie mit der Kombination aus ab Bestellnummer und bis Bestellnummer erstellen. Geben Sie hier die kleinste und die gr\u00f6\u00dfte Bestellnummer an. Bei Auswahlfeldern mit mehreren Eintr\u00e4gen k\u00f6nnen Sie auch mehrfache Eintr\u00e4ge selektieren. Halten Sie dazu w\u00e4hrend der Auswahl die -Taste gedr\u00fcckt oder verwenden die Eingabehilfe, um alle bzw. keine Eintr\u00e4ge zu markieren. Alle Bedingungen, die sich auf W\u00e4hrungsmengen (z.B. Bestellsummen) beziehen, verwenden die Angabe immer in der Shop-Hauptw\u00e4hrung. Rechnen Sie Angaben in Fremdw\u00e4hrung f\u00fcr die Bedingungen daher bitte immer um. Geben Sie bei Pr\u00fcfung eines Freitextfeldes als Feldname immer das Stammfeld an. Die Angabe des sprachabh\u00e4ngigen Suffix (z.B. ..._1) wird vom Modul bei Bedarf selbst vorgenommen. Bei der Bedingung, nur Bestellungen mit Artikeln aus bestimmten Kategorien zu bearbeiten, w\u00e4hlen Sie das Suchmuster f\u00fcr die Kategorie-ID. Hierbei ist die eindeutige, interne ID der aktuell zugewiesenen Kategorie Ihres Shops gemeint. Da Kategorien nicht an den Bestellungen gespeichert werden, wird die Zuordnung zur Kategorie aus dem aktuell vorliegenden Datenbestand des Shops ermittelt. Beachten Sie, dass daf\u00fcr der bestellte Artikel noch im Shop vorhanden und zur gew\u00fcnschten Kategorie zugeordnet sein muss. \u00c4ndern sich zwischen der Bestellung und dem Ausf\u00fchren Ihrer Aufgabe die Kategorienzuordnungen, wirkt sich dies auch auf die aktuelle Filterung aus. Details zu den jeweiligen Eingabefeldern der Bedingungen finden Sie im Admin im Hilfefeld hinter der entsprechenden Eingabe. Speichern Sie gesetzte Einstellungen ab.","tags":"","url":"manual\/Aufgaben\/Bedingungen.html"},{"title":"Aktionen","text":"Haben Sie die Bedingungen gesetzt, setzen Sie nun die Aktionen, die ausschlie\u00dflich auf die gefundenen Bestellungen angewendet werden. Auch hier verzichten wir in diesem Handbuch auf die Auflistung der Aktionen, da diese normalerweise selbsterkl\u00e4rend sind. Im Folgenden sind nun Besonderheiten aufgef\u00fchrt, auf die Sie speziell achten sollten: Beachten Sie, dass die Aktion \u201eL\u00f6schen von Bestellungen\u201c nicht r\u00fcckg\u00e4ngig gemacht werden kann. Lassen Sie bei solchen Aktionen erst w\u00e4hrend eines Testzeitraums die Infomails zusenden, mit denen Sie pr\u00fcfen k\u00f6nnen, ob die L\u00f6schaktionen auch die richtigen Bestellungen betreffen. Wir \u00fcbernehmen keine Gew\u00e4hrleistung bei Datenverlust auf Grund von unzureichend gepr\u00fcften Aufgaben. Alle Aktionen, die sich auf W\u00e4hrungsmengen beziehen (z.B. Versandkosten oder Rabatte), verwenden die Angabe immer in der Shop-Hauptw\u00e4hrung. Rechnen Sie Angaben in Fremdw\u00e4hrung f\u00fcr die Aktionen daher bitte immer um. Geben Sie bei Ver\u00e4nderung eines Freitextfeldes als Feldname immer das Stammfeld an. Die Angabe des sprachabh\u00e4ngigen Suffix (z.B. ..._1) wird vom Modul bei Bedarf selbst vorgenommen. Beim Versand von Mails k\u00f6nnen Sie als Quelle Ihres Mailinhalts CMS-Bausteine aus Ihrem Shop oder komplette Templatedateien verwenden. In beiden M\u00f6glichkeiten haben Sie die folgenden Variablen zur Verf\u00fcgung, um die Mail zu individualisieren: Variable Inhalt $oShop enth\u00e4lt das Shop-Objekt und alle seine M\u00f6glichkeiten $shop enth\u00e4lt das Shop-Objekt und alle seine M\u00f6glichkeiten $oViewConf enth\u00e4lt das Shop-Objekt und alle seine M\u00f6glichkeiten $oOrder enth\u00e4lt das Bestellungen-Objekt und alle seine M\u00f6glichkeiten $order enth\u00e4lt das Bestellungen-Objekt und alle seine M\u00f6glichkeiten $oUser enth\u00e4lt das Benutzer-Objekt und alle seine M\u00f6glichkeiten $user enth\u00e4lt das Benutzer-Objekt und alle seine M\u00f6glichkeiten $shopTemplateDir enth\u00e4lt das Verzeichnis zum Template $charset enth\u00e4lt den Zeichensatz f\u00fcr die Mail $basket enth\u00e4lt das Warenkorb-Objekt und alle seine M\u00f6glichkeiten (erfordert, dass alle Artikel noch im Stamm vorhanden sind) $payment enth\u00e4lt das Bezahlarten-Objekt und alle seine M\u00f6glichkeiten $oDelSet enth\u00e4lt das Versandarten-Objekt und alle seine M\u00f6glichkeiten $currency enth\u00e4lt das W\u00e4hrungs-Objekt und alle seine M\u00f6glichkeiten Legen Sie die Templatedateien im auszuw\u00e4hlenden Ordner ab.","tags":"","url":"manual\/Aufgaben\/Aktionen.html"},{"title":"Logging","text":"Alle Protokolleintr\u00e4ge, die f\u00fcr dieses Modul aufgezeichnet werden, finden Sie in dieser \u00dcbersicht.","tags":"","url":"manual\/Logging.html"},{"title":"Aufgaben automatisch ausf\u00fchren","text":"Richten Sie sich auf Ihrem Server einen oder mehrere Cronjobs ein, der den Link aus dem Einstellungsdialog enth\u00e4lt. Der Cronjob kann je nach Erfordernissen auch mehrfach am Tag ausgef\u00fchrt werden. Dies ist haupts\u00e4chlich vom Bestellungsaufkommen und den angelegten Aufgaben Ihres Shops abh\u00e4ngig. Sofern bei Ihrem Provider notwendig, binden Sie statt der PHP-Datei die gleichnamige SH- Datei als Cronjob-Skript ein. \u00c4ndern Sie den Inhalt der SH-Datei zuvor auf Ihre Servereinstellungen. Sie sollten unbedingt den Aufruf von .sh-Dateien per Browser verhindern, so dass kein Unbefugter diese Datei von au\u00dfen aufrufen kann. Dazu erweitern Sie z.B. die .htaccess- Datei des Shops um folgende Zeilen: <Files *.sh> order allow,deny deny from all <\/Files>","tags":"","url":"manual\/Aufgaben_automatisch_ausfuehren.html"},{"title":"Cronjobs f\u00fcr unterschiedlich zu steuernde Aufgaben","text":"Neu angelegte Aufgaben oder Aufgaben, denen Sie keine spezielle Cronjob-ID zugewiesen haben, erhalten standardm\u00e4\u00dfig immer die Cronjob-ID \u201e0\u201c (Null). Noch nicht zugeordnete oder neu angelegte Aufgaben k\u00f6nnen Sie gesamt \u00fcber diese Cronjob-ID steuern. Hierf\u00fcr k\u00f6nnen Sie mit den in den Modul-Grundeinstellungen angezeigten Daten einen Cronjob einrichten, der diese Aufgaben automatisch ausf\u00fchrt. H\u00e4ufig ist es jedoch der Fall, dass bestimmte Aufgaben nur zu besonderen Zeiten gestartet werden sollen. Beispiele sind: Erstellen von Auswertungen nur einmal im Quartal oder Marketingaktionen immer zu Beginn eines jeden Monats oder Geburtstagsgl\u00fcckw\u00fcnsche immer vormittags statt nachts Weisen Sie dann diesen speziellen Aufgaben jeweils eine eigene Cronjob-ID zu. Diese kann eine beliebige Zahl zwischen 1 und 99 sein. Verwenden mehrere Aufgaben dieselben Ausf\u00fchrungszeiten und Intervalle, k\u00f6nnen Sie diese durch Vergabe der gleichen Cronjob-ID auch zu einer Ausf\u00fchrungsgruppe zusammenfassen. F\u00fcr diese Gruppe brauchen Sie nur einen gemeinsamen Cronjob einrichten. Sobald Sie die Cronjob-ID an der Aufgabe gespeichert haben, werden Ihnen in den Grundeinstellungen des Moduls alle Informationen gezeigt, die Sie f\u00fcr die Einrichtung dieses zus\u00e4tzlichen Cronjobs ben\u00f6tigen. An diesem Cronjob k\u00f6nnen Sie nun auch die neuen Ausf\u00fchrungszeiten direkt einstellen. Sofern Ihr Provider dies erfordert, legen Sie f\u00fcr jeden Cronjob eine separate .sh-Datei an (siehe Aufgaben automatisch ausf\u00fchren). Vorherige Modulversionen verwendeten noch keine Cronjob-ID. Wird der Cronjob ohne ID aufgerufen, verwendet dieser automatisch die ID \u201e0\u201c (Null). Eine Umarbeitung der bisherigen Einstellungen ist nicht n\u00f6tig.","tags":"","url":"manual\/Cronjobs_fuer_unterschiedlich_zu_steuernde_Aufgaben.html"},{"title":"Aufgaben f\u00fcr alle relevanten Bestellungen manuell ausf\u00fchren","text":"Die Adressen f\u00fcr einen manuellen Start der Aufgaben finden Sie in den Einstellungen des Auftragsmanager (Klappmen\u00fc Cronjobeinstellungen f\u00fcr...). Die Adresse unter externer Link kann zum manuellen Starten verwendet werden. Die Links sind immer f\u00fcr eine spezielle "Cronjob-ID" g\u00fcltig. Alle Aufgaben mit dieser ID werden dann gleichzeitig gestartet. M\u00f6chten Sie nur eine spezielle Aufgabe starten, vergeben Sie dieser eine eindeutige Cronjob-ID. Sie erhalten dann in den Einstellungen einen speziellen Link nur f\u00fcr diese ID. Weitere Informationen zur Verwendung der Cronjob-IDs sind im Kapitel Cronjobeinstellungen f\u00fcr Cronjob-ID X beschrieben. Beachten Sie bitte, dass die Aufgaben in einem Durchlauf bearbeitet werden. Cronjobs haben im Regelfall mehr Ressourcen (Laufzeit, Speicher, ...) zur Verf\u00fcgung, als Browseraufrufe. Sind die auszuf\u00fchrenden Aufgaben sehr umfangreich, kann es beim manuellen Aufruf unter Umst\u00e4nden zu Abbr\u00fcchen f\u00fchren, wo der Cronjob sauber durchlaufen w\u00fcrde.","tags":"","url":"manual\/Aufgaben_fuer_alle_relevanten_Bestellungen_manuell_ausfuehren.html"},{"title":"Aufgaben f\u00fcr einzelne Bestellung manuell ausf\u00fchren","text":"Je nach Einstellung an den Aufgaben k\u00f6nnen Sie diese f\u00fcr alle Bestellungen zur manuellen Ausf\u00fchrung bereitstellen. Diese Einstellung setzen Sie an der jeweiligen Aufgabe im Tab Stamm. W\u00e4hlen Sie f\u00fcr den manuellen Aufruf im Adminbereich Ihres Shops den Abschnitt Bestellungen, w\u00e4hlen die entsprechende Bestellung und wechseln dann auf den Tab Auftragsmanager. Hier sehen Sie die freigegebenen Aufgaben und deren Status. Mit Hilfe des Ordner-Auswahlfeldes k\u00f6nnen Sie die angezeigten Aufgaben auch filtern. Hier k\u00f6nnen Sie Aufgaben nun ausf\u00fchren, auch wenn deren Bedingungen f\u00fcr die gew\u00e4hlte Bestellung eigentlich nicht g\u00fcltig sind. Eine Pr\u00fcfung erfolgt nicht. Bei mehrfach ausf\u00fchrbaren Aufgaben steht Ihnen auch nach der ersten Ausf\u00fchrung die erneute Ausf\u00fchrung der Aufgabe jederzeit zur Verf\u00fcgung. Wurde eine Aufgabe schon abschlie\u00dfend f\u00fcr die Bestellung ausgef\u00fchrt, k\u00f6nnen Sie diese Markierung hier auch wieder entfernen. Ein erneutes Ausf\u00fchren (manuell \u00fcber diese Seite oder auch automatisch \u00fcber den Cronjob) ist dann wieder m\u00f6glich. Zus\u00e4tzlich erlaubt Ihnen die manuelle Ausf\u00fchrung auch das Bearbeiten von Mails. So k\u00f6nnen Sie ohne Ver\u00e4nderung der Mailvorlagen Ihrem Kunden auch noch individuelle Anpassungen der Mails zukommen lassen.","tags":"","url":"manual\/Aufgaben_fuer_einzelne_Bestellung_manuell_ausfuehren.html"},{"title":"Anzeige der gefundenen Bestellungen als Liste","text":"Eine direkte Anzeigem\u00f6glichkeit gibt es im Modul nicht, da die Listen sehr lang werden k\u00f6nnen. Ben\u00f6tigen Sie die Liste vorab, kopieren Sie bitte die Aufgabe und \u00e4ndern in der Kopie die Aktionen auf "Export in Liste" um. Ben\u00f6tigen Sie stattdessen ein Bearbeitungsprotokoll, k\u00f6nnen Sie den Listenexport auch in der bestehenden Aufgabe zus\u00e4tzlich zu den bestehenden Aktionen dazu konfigurieren. Aktivieren Sie in beiden F\u00e4llen im Tab "Aktion" im Aufklappmen\u00fc "Export" die folgenden Einstellungen: W\u00e4hlen Sie die gew\u00fcnschten Felder aus der Feldliste. Als Generierungstemplate w\u00e4hlen Sie d3ordermanager\/CSV-Vorlage.tpl. Damit k\u00f6nnen Sie sich eine CSV-Liste erzeugen. F\u00fcr andere Formate ist eine entsprechende Vorlage zu erstellen. Nach dem Ausf\u00fchren dieser Aufgabe k\u00f6nnen Sie den Export unter dem angezeigten Pfad laden. Wenn Sie eine separate Kopie der Aufgabe f\u00fcr die Listen verwenden: Beachten Sie bitte, dass diese beiden Aufgaben (das Original und auch die Listen-Kopie) jeweils eigene erledigt-Haken an der Bestellung setzen. Die beiden Aufgaben haben damit voneinander getrennte Bearbeitungsst\u00e4nde.","tags":"","url":"manual\/Anzeige_der_gefundenen_Bestellungen_als_Liste.html"},{"title":"Weiterentwicklung","text":"Fehlen Ihnen unter den Bedingungen oder den Aktionen der Aufgaben noch Eintr\u00e4ge, um die von Ihnen ben\u00f6tigte Aufgabe anlegen zu k\u00f6nnen, fragen Sie einfach bei uns nach. Haben Sie neben den Beispielen weitere Einsatzm\u00f6glichkeiten gefunden, freuen wir uns \u00fcber Ihre R\u00fcckmeldung.","tags":"","url":"manual\/Weiterentwicklung.html"},{"title":"Hilfe und Support","text":"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\u00fcgung. Finden Sie darin die ben\u00f6tigten Antworten nicht, kontaktieren Sie uns bitte unter den folgenden M\u00f6glichkeiten: per E-Mail: support@shopmodule.com oder \u00fcber das Kontaktformular auf Oxidmodule.com oder per Telefon: (+49) 37 21 \/ 26 80 90 zu unseren B\u00fcrozeiten Geben Sie bitte an, wo und wie wir gegebenenfalls vorhandene Schwierigkeiten nachvollziehen k\u00f6nnen. Sind Ihre Fragen shopspezifisch, ben\u00f6tigen wir m\u00f6glicherweise Zugangsdaten zum betreffenden Shop. Wir w\u00fcnschen Ihnen mit Ihrem Shop und dem Modul viel Erfolg! Ihr D\u00b3-Team.","tags":"","url":"support\/Hilfe-und-Support.html"}]}
\ No newline at end of file
diff --git a/src/Application/Controller/Admin/d3_cfg_ordermanageritem_trigger.php b/src/Application/Controller/Admin/d3_cfg_ordermanageritem_trigger.php
index 3a0bfdc9..d680ce70 100644
--- a/src/Application/Controller/Admin/d3_cfg_ordermanageritem_trigger.php
+++ b/src/Application/Controller/Admin/d3_cfg_ordermanageritem_trigger.php
@@ -102,7 +102,25 @@ class d3_cfg_ordermanageritem_trigger extends d3_cfg_mod_main
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
*/
- public function isAllowed()
+ public function triggersAreAllowed()
+ {
+ return $this->d3GetSet()->isDemo() ||
+ in_array(
+ true,
+ array_map(array($this->d3GetSet(),'getLicenseConfigData'),array(d3ordermanager_conf::SERIAL_BIT_STANDARD_EDITION))
+ );
+ }
+
+ /**
+ * @return bool
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ */
+ public function scriptsAreAllowed()
{
return $this->d3GetSet()->isDemo() ||
in_array(
diff --git a/src/Application/Model/Actions/d3ordermanager_action_abstract.php b/src/Application/Model/Actions/d3ordermanager_action_abstract.php
index 71cf6132..0604fd59 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_abstract.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_abstract.php
@@ -1,62 +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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
\ No newline at end of file
+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
+NIWX/DKogYxFo0a=
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_changedelcosts.php b/src/Application/Model/Actions/d3ordermanager_action_changedelcosts.php
index 062f5a26..9f0cc92b 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_changedelcosts.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_changedelcosts.php
@@ -1,99 +1,99 @@
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
+HR+cPoOCq/GKnYVxuSn6r/piLwDUExCZfhS80u2uFGruwn2rmicgUxaORKPvhRSL+gAym1iS8faX
+gF+1urmr4d3G54y+oo9fir2wYyUThG0fKHYffLSJDLAbW4E5y62lGiKW4T6hMftFHZgjxDujPfeh
+Kyqbzy+OlUsIM/GWETEPAj7SdfDSbZW7SeNm729KZCyQAdy/6iUu+i05alraRDVcfUhtgVgIH1EQ
+I5xYLsrZNdwb5o7TdpGQNJSeNdNqkyb/aGwvC7uq9EDBiwjz4xzclKadUsbdDG2lAeuVA3nxiAuD
+Rs4EEpxG7YzGVShSiXch4az4lvQrmEiHDy1PjG8DsI4Bt+diz4Wmh8+ynPLF/CDHwvvTFdTZRCVT
+wY9rdgOBVm7mdqfPmlqrOcNxhej6n8BPJj8kleJi7qZsWTG0uoz8nSlNz87UdlKddg6bKEC5oVTy
+e6glQQf4Qc6ONsxkbBGvx1NLeqKXxmTa4VojmZYogABpgmRs641/i80FHgzi4pq68FK5ZL5WNEVr
+/OwvbeOEpeecGizne5bCLNsT2f5f6pHX1C7CC0LOaDgzJLwwE8rzQNxoi1xoTUczEV6BRkaEPo8b
+yLeja2ncFP6pjicWkwkbL68Lu3aqSGAx24CkrejfbwDhTekSDV+9VeeHaQmjrdvjGx/PqxTlXTeI
+r+jVf0xx0zAlH9OV5E62x8Nb/qLH72N5K/IlXNEfOH5X+xpFV1VZvowmAE+Ntgkk7PmMjm0Xd/gX
+xvV9iRQRqWFFwtFMgFYmPvUdGM735eCc/8qnrzYwIThU6LH48eRK4oNEavu/YeBjSfivHQmQg3w9
+H2MD5fWaeWyM9yaiPk0ApphBAMLYdTMNUXi+mDw/DSmmEIdOJ7nyqSRgKPkwE4oN8xyQiWRh7dXB
+TxNwyll2QOGYZFUOByEDK+vOd5bZp0+qjlQ9NFRTZh6cJMqMnQL932RSd/9tYE0BHRZzf66HB2KR
+XTgjsIaXWfGD/p6Z7MehVdP/crCpw08JUbrF6Q8U+5Fo9BiQhwhZ0p5aoxwk/X6NocL6CqATpM3U
+GU1Hv7sOMIWeRrBc0s9aNaeqroBOr4NMY9r2c9BiLMHNlfbXlZQhbowELyfnHE17HLz+pZJ0T4jK
+gHNeMEKkRgtAx3FqM7UzcVqM3bl/ZZtCOt27w+563MIP0qHTTaYNeTlP3V+9AVo/cOXPJyVL/3sY
+7LaIX7DKlc4j0Qg0rXm0tXT1ehvZuEFvp1ITJGi+VrdAPTpLjilPQbDNI/AxQnip+r6ZpPP48Ink
+LqcE8MvKcuCNmA3un36aa8nEZwkPn2VrpBCscRZ8JGpndU4bWr7/lbY1H1VBuxIWzQIhy/By7ZQI
+95XvVIvfO5Agn6dbdg7CLti32n82Bt2/ZJSiXY/HrLwmmFDmMA3EkWCp9R+ndth2s5arPuxP3lut
+NQM/sZqh2t58NcJYcNQvQFqD7KMOki42roElyUqKYuyokRNAjaZj/dMav8SLtZ/S/+W6t+P+aAGR
+D6BkTfAfNDNnD6tDyazgtiXiPe/3v1Nb6sGhgqijyu5jKeNleLwdtvY4rYFTDFwaWIc9Sa87w4dn
+cG1/a5glLQtldPml4HRvm04SUIQ33QHlr/ioLpX3GGcHrrm30ThTI+gAfBbuk5Zv3gf5bWgK8HgL
+4+jTQI0hKHpyLl/K1EKMshn0/1g0VD128ImDu6Mr0JM6q1N002PLYj7klKra5k3UlsczpnMdGUmA
+2FTHaiKH64PeFfTQHhN7i4l2E1dVRzAcdOHYdaCqaeDvg3E1Dzio34tstam4jQkHVVBH4Uo52zTc
+XxJdJl1fSURv5x5sMMvbGcK9tnpvHGmTkhDU6kvAw3hOaV/pcmb+5REifPqq4FgMAoekymWz3iUD
+4fg51mlrNT9bwiDUZ6I4G+uM8pGzT61aPtB3Ew+lea23b+dYQmmNp+gnQyahn0Xxf2G/NOR3I+Gf
+lgBTYuIVGnSrOw21kMhgLCyUdNRQLL15zVarzoexQGmAxqRfX2eN7G4N2tFI0W3Jga6lALko0/CN
+/Eep0eS1u9q6Kn1bbzPnuOJFCYLodGBlauSsqg7gmL2SIN1bXzjXzbGTmUUW/ERNbD8b1k0p017U
+OieqxXJZdVFO9Zxj+LXjPKvKpz77GkuduuHygBTukoCLnFTo9T7/zl/63W63yyoCscKl30bxNUOZ
+QVpa0vqZwKhWY0LxuerX36P54mOEgOEMwueUFqfHq80sn26G6n7Y/QxdGSeERP+/N3XO9zDG+AH8
+/W+cmw76Qt5JVNu+FtytoVaiyCbz1uaT74KV+wKYuWKMh2RhGPv3Id1qUIZ1aT57JSQZQZkUnV2B
+U+tyiegBcNCkHLZ4CtKmoRpnJ53C3CwWoXRuPE6J0RJasBpddqJqxfuIB4c0c4VHAlPzfNZxkH2D
+K9jgPJYXbJjGpfIREg8q3bSkGxFzQQwsx5UmQUuu2lqabFPUkImMJl/wsvsZe+VUTisyggIzStDH
+5LpMTWS7tAYEI5q9hAfe1IoabziZ1XlKFHU+lD+vKq0oZEMetmteCEyrW3dprooe14DJfsYhBDkX
+tgz0KkowQVe4V7jS+N2sGh9seZFvXwqTA9QH30NM07tKUKMUA32qlB2OoNN3PrGLd98sT+9GzMeh
+NylCdWdXCOhCbLBhs4FduwhHXWyts74Nxw36Tys1gbRnb7UjkYr5HMlD4En7EtOCRBVdkaKZ5YUY
+eFojjJ+aPacVU87zdq49a6YQWS2H+AsdzdJ5U7jUeMPkAVbflvYFjF4bG3BXfakZ9K4+TiQSAG8c
+D7Va3nnCDWG6Rx/HScw+/VV+ZzXrlV6/Xlko5Yrr5CLbhBeWY4kIGYS1+c4ANgv4t28Qc/S1Y6V2
+Prla/YxZVLKfpzDnAmfD72jfBVyw4xd3/Vv/9h06znk5/J2upAefUz/dSEc0ul+ayKtNctJt6BYZ
+J1pi/7VDQf8bvDXLGR9+yQbkI3srO33Bfl6d3AboTIrzbUn6v0bRiskxjM3PqLsFQ43mY29DKKnm
+WranFnDAIs49ae6h+b6FWQkhfoaS/t5gNBg+/kGVWZkLm+0sIh/jaK4sEqMmIiyQNTKf2V9owi0a
+hQ/pa8W465jLX8r9Wv0GYvqSnL/23hRgy2XUUZrCiM+0Zi1gdjmXYweR1VwScQifNAhnFhJ4dXMN
+a1AWGOpYQ3ReO5XHtqlnobd4pwh+0CPpbfLkVktdZ6bOXhGYoVnMrNcpC7EJENSoiT3zWr2sz4Hx
+FhDMcoOjv+St6N87qvIQjzOe9HFFZGEtPFcS2fTGFYAwKqk2qHyK5LjHVZTM6j8zEB6pyWmJ4C0d
+pTAc51+i6FyZeuW+1nfyrgWR1lTG5VxYiFJu/6YWhbmohGb4jm5SAfKRHjEWXZUzsdmxhPRsdRMS
+iykU/34GnH0rf3SoCywV+XPOfxR51RUMb/57HpidfD/i2kukfVXmh1Skzkpg6PIsm2YedOwSAY4O
+z9wph4v7cDJqTyGM9fuHu/lkUML8fZx+WUS7gjn9h211pnMWFcVLxn8Fg6G/KVaZeIvGXGN8f2+x
++t9z0otqo1LZUsfp76aJHtGc/eqc3aNkX5rFYiYe+CCvsq+BdWXsDVrQhhg/fC+gX0dJekp1USlC
+XVwVgR9647mLV0fD/xoAXDRqUwl+/4EfI+UHwIcGdtrINT/coUQmROQwUQVMmq0zIQabumRCCO16
+OITsOLtRTxatIE4STaM8cRycUWZk30Q3A8rKFWT/5ZEwGO3wdYbvz/IfocPC61eCnMEbNT6DNqHU
+6a2ZkNVcJCOd6iGT7bduKL8u/46EKKwm2PL6SWsrsrPfFnCHRziq0mvHRsBTgJihAgIpdIiQh20z
+7UioI28ANJycovBIGu2OuWwKWXpSophz6iwMzPsHMhs+z1R4EbMZ+a7nn8ki3bOHhe5US6YkaRbK
+yKQl+bQ/orm/nB+wdcIdBWd0mqBk1pcIOnFZcrc0SY48+5Z8ApTn91CiRiSu+DembKjSW/EiWLem
+mQ8NWAyFi4HxNipVMadANrAmAdIn03A6Poq74k1bBAA+0wAtyt3zrdK512HfczRGngSa95C5cxXP
+pRmMHcRpHK42GV+zurkKViAFcXmjEiTs1XF7Z7K4DQ1Jf0ojT4A37RccNef+hUyxgm6BUJMV4MGM
+xoBL8FZA/NPQAaunctNoamYMvd61qEaZTEbqcSpVH9PuahwKhn7W99rkaxm13RBxINoA7mRxqEBd
+nfj3eH9Ogl/gxc6FP+YSVYqXG5FkVI3+RPyZAIEPnoQOQB1d07xH6/Hhj5q+I/SMAUzlAaqmBdaP
+1808WBfMV5dLTKHrYZu9L2w1/rY3imApSIwk3aJAPHoA0TaqaIOpDk1EfGVOR/bShpPOBDchE+68
+szchDmDcvDqfoRWAmwDF4uEZvvH++hQteChBPO+aseuqa5HO71mZ5rLxBWvIHQQgm636b30L6Qq2
+60pn/WV5X2nJ0bNyylLzTpYSD4igqnEBhX+3x/+MN8t596446Aoz5GbprS9evb3J+Ad8tvMEWwqx
+cEkLeCCMYs4MYg5XlO22QOfUw2F8hmy1KzXHFfzhs51lgyFt0wIw4wn613IrlI0LB1ugdtx5EQOX
+XDdQPxVdxOqINqXx5nJl0fV5+DRSf9mit7k86mc5jvo+QMmJJJ3ADZsE7P2FYxjI/4gb9PQmgPu3
+brw/PEzp1bCSZVvOvDhWUkg4mFWLD4M9e1drHbcPQ50a49Pq9oLlVDjShcIYLBmWtQf7ltleGmf8
+cTVgTGsCuqENb4+8FmdFATRtYI17/iSmCN52TD4kgLpNqQ3tiX5ZDKdW5YKjogRL4A/fj1828LNS
+HH0w+2KKtyv+gxG9+ZtXhQdmVo3Cj8/rNOIG2fKcidxFIRK5kJeqI8S7RVnuNz8dkqj7zpq/xiEm
+NMzWROwJokJKZCd7Gc7nUxRQHX6K5bqv7Tyceqr9PUIjSW+ZXIIxxf1hzGmDHnWXTHiZi/GrwnpT
+k6gC7TknAmlSYIV22o31r/GIckTnRjlstWZ2Aenw8Ba3SQV02ZfadMdyKDWZ4Pyp+DpqrbyEEGVN
+1Go5QWSb37sXqryHQuE6d7FyMAzswR1YT5xR6CfCtSJ54ihfLggv8AZ6mBqDd9u2M/zeynC3pF57
+h1iJxyNAL0BXImOJJ06rVXYAca4Gh8/x2AX3H1wLvqHFXwQVUA/lxxrS1hS6Mxc0ilEjet7y8v4T
+ogPJrBGYKyHWfndIx3kSA1bOSMM3JMH05j/PxVrKk9n/e40D1tV0Mo9hvs85AH2xk3QLisiDNooN
+TQSIfCSOltRG9ZtalE6N/AMVgf5Bvu4dcPqlVCL1BeA5wFjGpiPJ85gLAoyUSwp1JmyqpLz7Afu/
+fOMAhSoxhYMY6hBBCtG3wW8hKvK3AMAVLlq+2eKQAktoSJTCvNsbUBJw6ouT+l9Z8uuqFKGmRWpc
+ss/5X+qbssYclltEa2l+Qqkbos8L0vH8nPMsOljAd5z8n1/EpY8rYPAPS9mV6XKfVrDPhpbjnkms
+WxcTCss8diXEgVtVmSVm8pAeMNdeMMbqyk+Fw3FpELj83tOtXIze/227hXob4/c6xUdgvcIrKMi/
+mgS5/zouUXJ5q/PG78Vhm6UT9sDpWiIAdSfFyG8kw7syWHJun0HQ3Rrg1YUMBqm9HbGHD8lMcsfn
+oZLHhrhpRIVMNsqWutKcVafXyLjoCud/zndtLAMQ6nijoXkrjhlimD4m+JGspAiNwsHot3CRb7LE
+CGbT3yjD8z/ZrXcRg7jI4HHurEBdSqD4tPxYW5jhTz303j+ZeCrh31TQH9Qf9hxbsd7Nkot/hWpn
+lJs2DWrwpLC0ChB5H/7Ij7z8S7hRMgExZoDbd5/ZlRtSCSh2kkrDb9mP6OPiQk8iIp2urXZbfJLQ
+qu1BmV6GTDBIDHrQX0kcouyvJnMSOfrg+XlbnnrUBjzP5836GY9bk2hPgQb7SprrK/R3BVGpe8Fp
+ZMGgIHGNib8x85x8Xoe13rAql7Y6FKlpujvyJTamsQa7L5w/teR5ZiQvSzRGiP9u8QTtP12QG++b
+HQyXNVsPPgm8vffWIeU0+0+hqAiQQgTPzSjif7Jp1+sgNcDzhFvOfik+AO59Os0rhL2X1/4wRJdl
+Wtg4I1Ql0wLls66lYdfPXvEuI3AivzEkBU6jboGFtKCn0Jjc9MCwWDwDyzdGelAiKORuwSL9Oj4D
+YKvqEv/LqD17lkNcIs7yjXJf3zmATiMudcJQVZTzVbq7uDiETa47wck6QqllynxJ2oGPIn9lbnPc
+IafIYPGxIoJImPj9c5MdRoTrkVcuP/ssWTNilIqUMG/aE4Yrmu9wc5T9yxM8tNn2ua47qr4xMOot
+tsFwUy2vMUL7rkuhgA7xamuQift3JM7TML0rSORJ8FtJq/6JGr0fe/qpGuWtuOleYGX5J22/0f5L
+WxxzlH485+Av5xH03RRuom9KSqNc/IoDAXST28L8Xy1Fn+u4ftjPZ78w/HKozMYo755bmhcIfz5Y
+M/4JaMUu56O95rba+QhhiSQLWdWc+lprzOausQWd8x9V/FtwVnAZlQ94AdV0s51M4rE13nhy42rm
+g7PlDxw5EfGc+Bka5yFKLyXxXYm4Bv5L1mTxEnIXhZMh7Ec2K1MZKEXb1psPBXYmuqAGqH/MPRXq
+WWLM4IsVmRWJu92p9JIcZf1KYxdtSdl+umVE0DsK/Ekx7yvI8kilAMZvA/fSSMjf5LHVwXHLjPkS
+n/B8Yo5vDrdR7sTvyykA2FrtEp8Wj8M9yYy2eoFdDrp12L5hPjlLiYZsl9IVNq42lP9iFHrVp0da
+geJGCyvhW0FFEB4n/b3gLITAdPANWaDsmQqvzmaNvcVLVY3E/xWr48UmjRqdeNzMvJ8c4Dmj600U
+XCHfKSUVMKX/XT3S16biG0DorTlHBhojs4OJNtZW3SxSAgSHsUOee3anMDbPXO3vqJ2KbUBgA95P
+b7u1Mj76ONNeyf4YyFhACO06diGfO/tKe+RMrfcz24JzgD6u9JTDRqeRgp8/ptgCbdzmAPr98qyP
+OJ0HROje4WRxngP/ADX9LF/+kweGZjC2yNsW5jAAZy8Go77909B6wUENet3ibwedB7gbbSiU+gqs
+z9vftrt5yDj+HhWvpECgRAuiiZO0eoK=
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_changediscount.php b/src/Application/Model/Actions/d3ordermanager_action_changediscount.php
index 97d386ca..e420d2cc 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_changediscount.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_changediscount.php
@@ -1,103 +1,102 @@
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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
-Sgz8AnTPKAAUWjq2
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_custaddtogroup.php b/src/Application/Model/Actions/d3ordermanager_action_custaddtogroup.php
index 76e526ff..0c9581c1 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_custaddtogroup.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_custaddtogroup.php
@@ -1,116 +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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
-pBfrnxW016j9lC+KiMZK1PK=
\ No newline at end of file
+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
+tyx+GzgjVF1UIG==
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_custdelfromgroup.php b/src/Application/Model/Actions/d3ordermanager_action_custdelfromgroup.php
index a439d65c..5a472716 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_custdelfromgroup.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_custdelfromgroup.php
@@ -1,118 +1,118 @@
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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
-hhop+1hpzG==
\ No newline at end of file
+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
+8e7RQgOAClL5
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_deleteorder.php b/src/Application/Model/Actions/d3ordermanager_action_deleteorder.php
index 36f6f94d..c3554ef0 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_deleteorder.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_deleteorder.php
@@ -1,76 +1,75 @@
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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
-eRLqgvi=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_executemethod.php b/src/Application/Model/Actions/d3ordermanager_action_executemethod.php
index a8e8df9c..bcc27ba0 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_executemethod.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_executemethod.php
@@ -1,88 +1,88 @@
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
+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
+wQAsItGWHEbHoh1W9pY7FnQxDjTAfW==
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_exportlist.php b/src/Application/Model/Actions/d3ordermanager_action_exportlist.php
index 946b0914..dada6be8 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_exportlist.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_exportlist.php
@@ -1,100 +1,100 @@
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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
-idSFu0n76d+VZVutcGWdUnLViepiAaO=
\ No newline at end of file
+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
+EO0=
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_generatepdf.php b/src/Application/Model/Actions/d3ordermanager_action_generatepdf.php
index cc3367f1..49d0a0b3 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_generatepdf.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_generatepdf.php
@@ -1,114 +1,121 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_interface.php b/src/Application/Model/Actions/d3ordermanager_action_interface.php
index fd1f590e..a4423012 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_interface.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_interface.php
@@ -1,20 +1,20 @@
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+cPpZGrsHlE2nBTcP2Hu1B4s5V9aTXNG/7rS83skjmtW9NP/Sg/P/55EyWyaZDsbMGZJkr2AqW
-ynykJMpyHJUvrAkSUhek9hrolBKE2PDdsMzKbO3d6FSTL/AHD7w1oHYwJqTeZydbHcK8PqWUBQU6
-NrhNKfpcB6c2zfGJbW740txiBUAu4oqBWKY/qmG9R5w/yDdiCD1XjaG2a3ZBV6vwdW1TRciH3E6l
-vEvZkjDQAhCM32pKrmDn6Pe9fT5ALoph0SsT5FhKl2sx1inHrs+zajPLhLMAJmvZV6NSawz6Cehy
-3XQVuVFjW5fro7QCkoRIq9CFoLLRUg0aKodXdL4oLEVTmMZbJo+ISv2OHRMt4W3gfu3PW5MIzTl7
-j5GGMBgzgVZsCjeX5zah4+Ri3bhclnLWJ2pf4vrfmwdbJXBZYqesNnKa/kZpPZY+Zrr2/QCSppw1
-2SmrJHeOwHbhIoPvcceVYGQi67aPbIduFpZ/tRWcvCKamJ7B4XwVVQR3UcvSlk6Dj6JerKyqSbr0
-bNdyNUXn3KvDe0rj0TTAd92ffVr5CbIAzGnqZYqDMd+a+Gi36TSrFh/yQ2BMn5KmY92b7++amfCY
-5d6Wqc3iEo8UC0fgis2rCc8dcmUfrbrXpkAOjB+OAy8bjxJZQMcRNZkcHNc5es8SG3sCdJfCDPBm
-sngK5swybAyXhPNiv/CnRvOvHLj6CeOI0V3T4awp51Zr1BaSeWhaE1Y6qvu664ETJeLSlqxC2cP2
-GqC5AeeWknfkfAlA5+zRgxmUqaZX8EqalA4U4N5b3NvXZ97O87IJPNH8Rnp191AU0IIMLleIKum9
-c3T8Vr+/wgo8AfuOQTqc613EakF692x40VhGuWYHpxnrqSw6ykoFuYcPtefBvJ9cKOUyJMk73MWg
-NXq8t7fk7EFI/K0B2lKhsH/zoaz7li5uhW2MM0w2noTrjSX5wIrdA5w2bj/soKAxmmIF48KI7R7q
-GPF7Ltakv6xRdjI5vZzm6BnhVxmDqgL343tZzIi1tmY0SiHSvLPg8L5gjavi9vShvbC+GzgVn+Y6
-GbGcdgFpwdRiN4Xe2ERJ5q8ijQxxEB9RdgTY3+CaHmeRVeXdocI9fciZx2Hr2zBhM9i/nPrwEwHU
-tDVm7z3JKWVSERuKsfuBsNqS2AZ2uO0PVFTMUWB1N7oZNpSl1G==
\ No newline at end of file
+HR+cPzw3u87vQTcsX3LrejrliP6RLdLhPwM+PwkuVpaO0RoQ8/KcSqI+vg0CaFboPIju1OPdNOlM
+UhnVBQPwPjdsQ1KPYSVdw/QTWJUH7znoFj8Xm+eencleBztl+2kBp8JnLGFoYm2mX0B+8u7hBr2e
+JyIvLAcgfEuCZTMSOY2gVyoRW886mWvBLSYT8yzHZ1aj0kmw06qPMsTIg6EayOtTs067ekhHEy+X
+DDmJ0Q3iyPOCAWUcVsUp2q46a4w21VMbW+llC7uq9EDBiwjz4xzclKadUnrg6pz/dGnEZ7RuZgwD
+Sc4O5gn31U18tRx62R/3Ad1D25q/vjxeyXMOKdK8XxVct3bvDoELQqpVMFMQt6egz3W1GWrXm50n
+0Z7E8TDK05XKAcAkuSl6SQtNGXE2dTrBrzX7RmBPI7gpq4YJTjEGrkBInEtmFgu93L8m+r/AjDKf
+Jth7Zz3C+jYoo53IRbZoys68CtYZbraYvlaZe4z5n+qDoAr3JxDQ97uPC1df7qAHXA3bNTu5ZPXd
+FgXz7nUs6Ux5mw1f+JP1wfIUms/SUDhculi1L+1I+y3dV2QWyO4U6NTHyfAn05/2wM5MJVSqcwZ5
+EBC6bBkf0NXwd6bV8bn0XEE4isw52IELX4dYxRYGtX5W8ccbRJgZPUHU293BGxKFHiowqFhzxdbt
+X7ud5hJ9y+NBPyPs6xuMQy0PJB9wYh9dYYwuQXoMy58dM1OSVIiVzBjCI/b94xCPkIcTVMrj8Riq
+eiW3dau0vpxMHaHknMmFRBbbFUtD83e5dRJHhe0+Hmu7FQfq/bF0aDCSgQfHk1B2Az7cNMaYehBQ
+6eOPs1pOrNld4bTpSxQ49sXb+XiZc6bgyU4DlU628ve3GrlJXmlBLzqWPbwzJYw3L4lbOdqV54qO
+YFlrm/ATqPQ/i+mca2pNTORHTSDochNBC+8UL1itFsMKIyN1zYpyq+qBslcq3ofSLJ6h4GkScf+J
+jBIjzmOTnoWoMP8Z4dZW7YzUIxSHra3R3zCqUgQ82uLoi0bvU3M058zgR2JcXllGSIOSh1k69DsX
+kbNlroSKpV1viCuqW5eQiDvYGN8N1liYIMBmWE5tcAnMhUEIULdnLCoEgzqGHoD0+AUH7QoAClpf
+4EtJfZ3a+7d0CM8W5GOvodsGC+YdoK39jm==
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_moveordertofolder.php b/src/Application/Model/Actions/d3ordermanager_action_moveordertofolder.php
index a964cc9d..237bbcec 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_moveordertofolder.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_moveordertofolder.php
@@ -1,122 +1,121 @@
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
+HR+cPrreLk7BwQhMahN3mbWX6rm2IfEvMi8aTFePwRa+CH6Ox7H+JKmLxK3t659yDNUDASQqMggU
+V0pRr8U8Q9/w3KSJ2xmkrgWUSISZvQp3nM07coj9Ka4MUrw2+7Dz/f4Sh7MDtkKfa6qZ8/00Y/2n
+5ZW1YgwAOOqiDnKZ4xy+4yegRvDeNdPlEC1ZiF8sOwQfjS8GqaieCVeEn/iAxgPOraKChaSXwFIq
+Ixp39fD9M24nu6gmIbXWmCdDhdt9j8WfWFedtp1+D2JZIxEhVHE/Phr99tkWPAkaFJWUP9JCUeMk
+ZNTX9lQ4ikDDPEBLP5AfTP3vLrqtM2EitukXkYCB/wWkRm2xBiix1a8SINk2Mz9fNB5lri7xPJup
+ix7Z46LR2EP4N5jgT4bhkqV3yg4jCHIQTMazBlXYExtz9usxUbFUQEaPFWLrf1LyTOxTjVxbvAwT
+YS4j8RPuc9y7vetB+0iZk9Uqd2nfP/UppE/QUq4qXRIPcwu8iAFXv3SLNjohg6t4LDbUbx3S7FZr
+1ukR7efMV6gjTf6DTVtek2gqVvMnOWe7xpfMn4xltd7ZrXHKkWYQDUqjygYf22NSnf7lym6OKxKg
+3QQGo0N26Elkz7y+W/77tUXMPwrg8Vg6I388G975YmGxjsH9sR9ldXud3GmzmvOpQImTDpb8IlMz
+Jow2eHhKeLV1bLSOY/XglAq+wvgErrbVg9U4Hi1OzQpfWjZMhXXC1R/EALEbUj5RJqW28WgB68G+
+TpvMYA8H7IFYSj63hHaOGTzA/G7F8OQUAyVqbFyN/4tBy9PHb4MnS/JRCHBIQWahIhM9MFZBeV4n
+Kswp6QXbXlBmLnAttg71ipFZYxmLgqIYwG5FoR86ZCfGiJKHZxIBEDnQIhlSHxuPO8/4rb9IHX7C
+W7sJeao0duM6u+05kdcHb+D6h3TQyatmXsg9XJyENO1FE0t3totALYHA1aoVaYGMO0NWj2u1IN8Y
+qExbuHumM4HPGIuCuWd/bh5dBJUB5p9FeJy89FNKKNoHNpN7E7np/qScaVvBiFS6A/RVmebg+chZ
+GnJGbkuZZSJ/5eJ2sgf13Du07yKF6kcsmYXjmGAs/S/iAtCLFt3Ocgy49nT/r4WZqLCWFMvRwnSU
+gnkULShaxs1OWORsIDLI7kHhTIhM+MCUibs08kbo8mKP4dDGeZKHMTpsgPGWQlKB0z+VuggE3WKW
+m3YHi+oZNTRV6Xt/N6KYCfTwZh+vTJWb/ACG4todyP0qvWO95WiROPpT8KENQRnB9JYGMlHMcJ/f
+RDYv5gRWqgZNlzKTzFsDJ0peBJrIVAFw7BXOFs9ZdKp2wOh3jZ4BX7DBP49B0SrH5TdPbLQsEtHJ
+LlVA1iu9Y1i1Ed3/j5cCn6aUSLYBrNUxV7J7KS+NoliDLDvEp9uDIwrY/xR9mbId1QLaf/k4B3Wt
+itJJE7YnUy7mgDIU4gGIjyKDwM/yGBbVxhb9COJFAXNsjwOFhD7FHuwhpgLzrDEpXhVVAoqa9fZG
+QOGfp77zN86DgD+UShLDlGoSb71PxwipjArJ/AjrJCQRW+m0IHS7KrENxlp3qpc8txO6RhUbDX5C
+RalQwdEpt6+3DW73j2+21xZrkLV3aM/R3Qb71R6vpFCsYliYPa7+hp5ieUQOUpYWHlk2kPJKOe2s
+MCkfoTTntZMkcLcH5AXwSFZbdebQ/q+2nQxrxdkchGWEvuAyKd3iHPongKXf/6QoMFUnWx+6RYPd
+uL7UQZMTDOZUqyxlGHI0zCS0q6yWgAWsAkEXn5Rf2lhf7oJFIrbmmgm0V0IKx68sKtHxCy7ALIJ/
+eH97gda33UP8ZvDz6ttdwV/NiGvLPLEfyJurQlzI70xTXHXZ7xK91akpAVEJrcg7EGEld584dpDb
+cgEgI9jvhFuNMGLbLA+1sNgQe9ROHyUBa8XOV9Dd2xrQt/fHvstWvdM1U4ERu5I7W9C01mclVipG
+5vKPalEpP8Lr3EUvgGZT/PW2jMIe3WzEY/BZoWmUflgxnAJKSlp4nxw5v+WjCqB47nLUAPOKqlKz
+/BAoZvfSViERN0KlM4tDmnDDbU0SXYj1oMZhdFc8uqnLCcBX6S1Y6xaMtW5d9RhB4LcnwQKhQHhX
+iyEfqVMW239VlW6qY13zSSAqYv9gJaDAMUw86nG/UfKHC7LGJfo4XHxNjGsy6OqHEuG+IVNGdzNn
+ojMNXdeMEePYjaLH0TzlXvdD5JCP03H7JXf1WsX1DDJy3i3voeQX4v9yWIckAfngZtpGpXdzQioh
+zEB6Q7LiqJfPIiHn5ReZm9oQ7YOF9mvY09pJG6n+37s/tBeoIH2GbWOgimfu2WAHDtQxH1D4VJCn
+eOX0ag7OHkaoPf3nwApvL07r257upyOzYODwJV4TVIh9OM9FP3rMT0WR5DDnuiA8D3HtT22pp8/e
+KRDhGRAVhmuEQRBq/7TIJoWBDb7sJjTUJhWIH8IoVzsGFYMr7wBbLmNU5fRrlF9BCwkMm1LwhZMk
+lgf2a4oq0LkZUk4whc9nKgnR9jKHMjaXg6QYpSRBpk5MLn9RRIFo9sodz250TzFdhA+2pFCo9uad
+anBUCFmavqdmnNuEEHJ9ntgpyHNxpp9gbySv1YGUIFQxZIWwUHz8zeNgRcirOvHDUdavOXnUXIxy
+piZQPF1CxWC4nfPPFQVeG13oLxR66FuOIhac8XdJTBYPUz0qwHrUggZJZLic3G3KkezbAjjZez+3
+wXHT/oUI5DDRasuIa0S8LAFmQH3MIRX3WnkbhLa8/m4JAfwlLacf6n9u0qj7x2hyTcGQo7W/GuUp
+W3lSeUePcqHSV2Qrgw70IOnVYYzRmUkjrZQ1SRd1x/RNWbIK8p/6aQlsOdvwFjuwbyCcy+NcQzWE
+tjZ7Uj3/5ZGad4ncO6e+O1KF2+pUhfg9VTu3bNRrdKL8Z4OmC+aF6Y0AR++SBFbt0D1vrkYnhfsk
+pPY4G0GfFb6NxTUn8XfGzMc63pz5TbfxG4ZC64aN2sUsItdOTHib7QLH51STi4zrdak4f9DzlXzI
+wsOogD8wyOTAWvXc9AvVf8hp996a0ZUaNx3pyif0CLlfOI993G030UMWS6RY05X0feOaSIaNyQr2
+8Zb0hirH37+gJ7W1A4tVdlRvya+RTmZ8ig6zypyrA+8SuXS3xjJTj//vYue9UPMSvocERblUIEHO
+QWOBRJgIm5PoSY8/UCeJd8xz28SrrCW21tpATdIccjL4YoF9tFD/3MOoWO4ZU2itWS5POm3ryerq
+KNKkoWxE2oh94GxKfnJ7FiEEgIl05F2FkTPsua0dVZtgiNlkmjik9644Ft4fI5/W0p+r8D6O+TXE
+m9jOzhqn1XOGJNbrCRTD76U8ct02U1wG4Iy271jJVrbb5sbopAwRacCLi0909lKXXHwNu/DsUXr5
+2me3secw3GRIHCN5bE6DfcmlNYnYdi5IH+AlBFFtAMPBjLy3N693dubIhS65K9s/rMX3XtPCXw9C
+5GHT8Ku8OI6Cv3r+CC4IgxmVpFtOn2VXkvJv1ET7QnG5zILNX/44kM5FNJCs8upnfsUm/QQQdvau
+00BENyrvc3OTVhOXAQlCKk1Xeab+I/dfLV1xWSUZJz8fOhsbQOxJs+ghSOP+NvOjumM9VwPF9Dg9
+hipQ+kDmvPvEzoltS+Y7nfEOL6hx7VcwdMvSETX1EZcQBeQVy2HLTZ8wcNPbcIsv7ra8uKwPyd/W
+ODsm1b7Sebd2LNELlgCithDtXlD1+SLoZsE9/Pml5W+XeVfXJF/eY8It80sZuEuR2B5249BoG2Ze
+cyGeeKrGLw0Xb6KRGDzCxZySsmWjlNgqr3kPl7y/uu+3eMeL73JAY7JiXEompJ14Q3URivE7mXcC
+N0pWARJSyMF7DAY087l1I6lZDHbWokOhHsTcz753lMwP5ucz+zjaF+ZhQDztRjXsr8lzeOneOyF6
+sHpsApdnL/vCEcclgKRI42e43i5aAdqflshbxvrOYtjwE62eSB/XzMK0OMusxdeu4q17Y6jWA/XQ
+2Dj5ylHWrSfZBnipV/IG4cTbXlPS4dTQIGQotCMRA+Sr3wJBe9ZvuNo0dq0eZZrWSwDttr6gyEkr
++/p+oUCQsATv4h3W7tEfu84idyEHhp0AqK6yfMF/8AEwf180i3jDx+PfDae1SqXdN8zwS7QPNg4J
+28yT2ksHpnVJSkT7fBhts6tancfN6XsOchaH/JuF5jRVroGtYjSnOzJQqs6fka00jni7bOvkq2/W
+R5lV0BKmnXzRo2MTUwkVtKKJheOe+WF+juXlLUVvL0j+ySe84cik0gjVy1z8x0f+eAQR40QpB2we
+SFdw8XEmh9NKrS1Ye4qAkxTYszEJ231uOhdGR6Erwu628Nj5dfedA8bCcKsVbExtTFbtfLUydWPo
+moHz5LBSv+1VBzRb1aYw9seGKrrhDp15WUxsfU5fD1Dfy3Utet7a1II+TLDJRE3L23Wiuf04j59h
+OVz/CwFWHvjuyNOxjv0ugpgYkHx1QIz8g7Ff/ElJPN8/j7MSl5pKB8kijOXjRY93S+c+sdZiDo/r
+DsS9iX8tQTpljEYXYtRrVuc/tanulu2LUJif3wYJ1WO/7a7XlEzP3T5EGXvVNI1tfpj6J70vk3wL
+2E/1a+jAEfhEaOwVGFZQ/DTZp9yRTcbhFuQgtGN4f8U8vBSSdl15jesrGcAVMuKpUAWtf+F5JSSs
+lNk/lENbJO5Fb30OP3jzxNmTOLk6Z0jrMOmX2iGL2zFhRDdjY/Sv/Py9s+WGNAsBJu2pHkNakkj7
+drX8emWK3g/hqLtgddDizoQp+lxdIym6dWitaqLZliJMs3zPMUNzZuwhiWS2Y53NRu4E5VODgokJ
+ZXfuyLZpw7JltBSdaSH6c8aMZRMsfjhVeE1wxVbOjj4NqHokpJq6sN1aHifQduhbBiPLffOWHfvS
+5GyU7JLEvPFqjYX22I/tfmke5qQCM5gY7PcZ9nV03QqQvb5sBU86sBBmKAJR5ur32+Bd88PgbCf2
+TClfoffkCtVclP2p1+knUG7VBpSCqVI3aKoBZKu6EWWoRf7dfYDK2wG6CdMlsl4oneY3LtX0dmF5
+5RM/q6wLjr1e9oE+Pv0JWFgmBH1GJCS2QAnFZ9eu10jsftbDGQtGgpV1lFw2yNq904eQM7sjonLO
+Czkzoat/dMp4+yi2c1GQJsbbB1Un2io/ffIxWvuL/vSUmCBlG72+IcsAVnX7XaYwnF1KWuxooliG
+fMBMcTUhbo/j+QskiiGRnvDvY92OVtj2ileYYDv8RRnHQ6KJ/39GEAqwa0xn9Ek7V39pfsGds7Ra
+IZVoLwsw8X4MZ7SttjfAfNHD0BP9PnwqOMbCZQr3TEo7Wf+71jD1+Z6vC5AS7wbgswrUHlkgdPX+
+NfxGhbP/Oq+gFQdXRkr5yX7JaHGpyO6rvCOlOjl6ns1Yl/DO83iGmkZaJ2bL0lshbID7mIvlJQwd
+qJ5tY16up2rWKsTPTg53sQmAJjxkKA0zjkGDCotfYI/GQF/Me9sJxXbtLqfZNNgFg9NVIMjczSDx
+gcLBXjzxEy2TqRu6bp5Q52QGydJQe0etECogSWiHolkySub6zz5UzxpdPgoqTtwgVd47VMy0MmL9
+5jdrGJNfAvcUwjf94VEL0BW+8u7NL1qxSrca4GIqI9PmTTrEr+C7C4zKEEG+FaTV8bZDwRTHNP79
+P+AbH8wa5qM56Gki8q0Ey7X07YVCsVw1XjxZy6QwyFeU4uDBiQ2cdiiFPUgJjkjdiy9SMk1gD5wW
+56TESsyfnAf3h3r1VFMpgTyaoGWNx+0RbTGYZPIMY8fp0EGw97AHiUCJdKlGG5yhj+nhreJ/MEB+
+oGPBeOK2S5RtpD+n3yqRkeERT/ZyTsnXW5KFiMuo31Vj9UxEJ5uPmq+KJclB3WcZavEEY8O4tGUB
+SXor1tXxPdZgZsSIL+ys2YNYXS93/VCahIfwqXqmgbUgyBZ8g/wV/ayKMi59lIrZ53y595vYhfwD
+Yrgl+Xs20n2EyXfZJjd/OV+F+3NfTxZKsJ4tnzvGmovOnkieM34low2uTcc7V0zTd9VB7CnEHvhY
+ZuCxbgSX4s9ybDk6UucHNiwi+8Um7p/M3HqVJdo/iRW3sdXXaTfDN5alws8ADHvNEBZomwMw7aDd
+0rT0FVFEd2cxd4rQQvMXuZ1sfG27cy94JpYzgxV9wTLAcQ5Ica//4D7ahBz1BMcPEdZooqy7mMsf
+rF3jYz1IjpuPFxNVDXQ5Z+9xaVQDTrpp2SqRnk+ucI7cWdeVSyvJlEke39mTRiy4OGO5k8ALjguN
+5Gmp3D+qQbNPzEDX31s6Y10Q20G/5Z+/hsdkhupfSSBia2qQuAb+cszMUMKW/9wQr3CRcf7G/Pp6
+p8mXb5JUNlT2UKWi0BmX8aqvnssAjnKjTct7pQtwije6rQzvFzZdXqirAKvDizO0nhSZm4ue8sYk
+GD9qd79y/3cHEd8jg3MEv5YdyKgkCxgaMwbjYhpDEZUuSFUZl0klRqD9P5BfdXMVyhNo7vC/CL8k
+H80wwuh6QxLDR//5L8XT4R8VhrPSpmGQJoEVg8YGmVpBtNnIxcYCgC7mFpf9IMwFTL1SdnpsNuKL
+1GEG23BQsDx3s7JMUPpMnGYzgd4wV0/OUevOfMBPWyPPDW5XjRce/Zb+TXMK76iJbY+xG88pLjYy
+aAaI2beRKq76xgJV/q2wG9oYAuJE2Jy8D5hfy6Yg78Tyk/OB7MQaD6VYyPF4WDOSUrYt+rQ+TsAn
+ES1jGDklZ4Z3Pwpcga6U1BAYhzg8fCI/DSF5p5xvBFjsC43nBBIYHjH18o36vlokRi00FReWrDVm
+aZg8EZJueqbUJ/SeSSLWjRlEBH2CqkI0Or9P1OCGRKSPRoicDCmapTSYb6kn8xtgdyeXRcOrdOSL
+QIlRJ9iTul7jyX10ItAoI4/bjc/ARpxT47pzeUK36h66niIdFk9FgXF7Q4RhWfjCUXDCTjss/cw9
+bDGe6Q/MDxRrlqqcPdOpbFjdW9B1J81JvOud3hcZtWP9jwo2+eWVUdi1vtQ8FrrA+St3BO5nY3gt
+/g0T4xNBUnuYVmLyIG56fyafOQO9xq3i9a3tJ8UkC3NDCaP3KWBxMkGSAbi/5uUGp2pvG3boNK1J
+ulCYTIrKNAVjGjGVxOT07Wc4CqSnA2qQKUhfvN6noohuGBgW1/PP2Gi9JSZsBEE9M8sT516ar3qB
+brNJxvZSDHm1rERHhKp/9E5fDhqEgisfHHig/+HPXkvU9+xEi7tczcaHSROIu3cWSH0Xb3g0ro1W
+cSk7PbAnL+wY43SZzotVqsBPjQgcwFwtsteY43v6lLZdmASPBHCW97qmyPFRhslHv4/C1DFC5kOo
+drSQwRp/SjAAKK3YzmAWEJ1cPSrHj3AekFWM+fe2kt0bPmcdsckjBlTeOfH4sNYhLBOkDZYAJDWM
+xRl0v4XZ3Gz8THRCs4NZE4ox7JEYS/0Az7/GzpPm8gmrMmw10ZB74TT9HCxBtg3NpBvMTq9X7LX2
+HO/ih/T5qzsJIm1Mi1Zi/MDdaEvNklm1m5/2PjfGIb35dDWfstxoAaG63V/wklz2+7U9yfJqfPD1
+q2bO6cxXQAqDD8Nk+VM1RG7RIBZOqrXU73yiD2wiDgmv0wpGyKYspcp8GlkxypYtzYV7xm8ceLaR
+uKSoNnzfjQ82dz76j1xO2n6H5NeReStVnxAio3W65jtI1+UFpUmd8Fjxasjg9Zv06oRmz0aEG+ON
+LyP5YKsiIcuMixtiAJGw3bpQFz1mziFKzgjKl8PykX6C5FEOg52OraYfQIFwyQbLNhj4mkxLmoVi
+1y2Yc1z1qDg9jJQTGehipQwKAxyjYijCZ9iN1cW4wr/RhOzAG9NOqciP2dZ3aR6zl64FE/POWZ4D
+WCjbxw0Q+Q9D3wnRWMOo/xhLl/h/5OHhOc+2WXiXmwpA9WUakjN6YcwMSi7rzTsMKTvb3NFVkPlN
+eUGW9LEhTvPCbuHX/XP72/PkMbGFfLkeYDOU1TQqpB2QciPEtddqv11W776q0FLQg0RsAD7p+uam
+df7pAY1+6pjU+4NTkUI068RWyOPCq8Vbz7TN64tZvcpAI6pl83NGaSN7a///EQI7ddgKb8fM9QbK
+YVlv20HThpQIpKCqfQFhqHv9hCohYNVWGQndFW4mM7Iu6A6Dj0zsoMY0/IqCaQena5IjRFDUkQTz
+xqOO1jlOErQuMw6XjCV2WZd/VCD/ID4WtmImIZffDVPa/wtRTJAeJlD37Wx/Velq6AjwKHV2wEyH
+xHxXqugvOsz53IrHiW2kk0WL6ylWOgFbGxxUA8HgaRgN4BqBal5hsy156bVKSVdSDDf+4y2pjFRt
+eFN31usLsLdH4k1R+eB0KgI/O9u90TdknXjUHGr6vwq7gd6P5E/iEIH241LLruKk62PmuN9RmPn8
+XRkMYAOeUeT6gu0mKRYun1xTEfUfoYsRNCn+UPsKac/bP3gEeYubuTnjqEQTPTbzULm3pkOG4fHP
+Yr5FIs7d9m5lzvZcjuvCyKgU1GON50PHPICvhkKEo8a1gFvK+X4dc3Dm7b3pCYaPAgeu41GOIzY1
+Qgw+XgyGDkp4o8vYtD400xwEty26/JHpViSHnudisznQzbyuWwcM1bG8IdX/PBdSPwPD96/idWWD
+8ji3zr1bQsNishQK769IO5GOLtvaTOMv6SwYYHgnsxwOho2iCLIirIOkZdX9qLHBKBdpwnrdmel4
+5m9dcibUwQ6OdPn59VSPkasx2XCMNmfe93+26vSrcIODzPr7SLDjRV9/BUjI1/93QTQKT61GNWme
+O2T7y9LHq4v8YU9lSIxJh58PfsN3EZaOIFoWDWMKKmfyLiU7gDPlDsm=
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_sendmail.php b/src/Application/Model/Actions/d3ordermanager_action_sendmail.php
index b0663331..955776a9 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_sendmail.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_sendmail.php
@@ -1,116 +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
+HR+cPsQNfGP+JXuf1rGm9UnFgjJ76fa/dgUnJO6uC7v26H4WM0N5ZMzk6jdh0FL5rEOCbItJ5noD
+PbhX1k5pskD9y4fyq77Sk3cFxxpIhhqtgW92YcRpLOHBxHoXTN8zN44CMMVMFVliPTcDe0Qc+Vdp
+MheBLYf0zGiMV+ATg+7GqThO1133tkQagz2JbYIXI1rO25xB88/EDUJqnSuBWpXa/EI2Qu07X+BD
+Asji0HZWfPZLYcrGKbcUny2hY1k3Fm3aYCOHC7uq9EDBiwjz4xzclKadUvTd2FudDfMTrcRPUwwD
+TM4B0G+BN5XvRQ3ETNqof/yfDr1Y3UBt/afcrSdUfmC8YG2iLsLXF/5gOK1OsTAof6UVoxhzoXkv
+Pc8eyIagWwLOsA5q71m6rvGBQG4U+QCdwpX4uZt5UNK+ZfvteJWVtTM623TOtVUvz6z2HSHFMn2e
+WF6w5pGKNpSMvxjRD+KwFPWx5eC7OkFCLPY5GWIYtcgJxU6T2NcSxuc5VXuQdDC3rBpH07UH5RHK
+3O/NITRsZli8/ypmyRYW+N3yiJSXYElHxa73Pi/MkBFC1VuDCHwrYT6mp7pbhRqeVIhY8w1yEI75
+JZRPo7KKaTZ+Eb5ct7k1/zSXZQ2fhOVM/SHz/Q0fQCbXCpLCq7R/Ywb5kOaHztP8aQA2j4Y6sxWI
+rTm6uQqL5EvsvB19JkT9kVMYDIL/AvJ04wFI3GVmoyJhYHCgsG5WGxxJPoSph97W/vnqhug24iSt
+TPn5QhA6TS41hNRgdxkSwahnbM0qHowIjuXJrKsLp7ZNe8M7GpIAoLMOkC/oT6wRZBGwR8vK2UV4
+1C5rsNYor0nt6FqOJJqHFxftauM/4T4bihBVNuq4Sd6LsosSBBf9WR/RI4K2/s06RMZZo/v+6OLd
+6ZS6zRLC1CDTI/WDBh63wJIPyZUXe/YtdL+hEZ9khqZ3th+UFdiHCMdciQQmmb6xWFttVd8KB+Nu
+fBGNyphkdumZ7/+xIl3CkK7CV7vhSLD+z0upS4tMIckTlm5xg+toCht+o2F4fQ2Vfh6p7C+0Gb2b
+QGE76/u3+HXlkTE7INN6zSbRBazfXUwkv87IzPqb3bnGqTD9wHkpSJ79ddVsxvaIsiV4POhCbGIx
+1BqkdXyXN+/UV27xmzA0VTRRLkNWW75c4cG3u/im3PPPNTf2QOkkiP7D6BvYUtvx+cQ6CQafhbu7
+vswyOqUAm6OwUyWVh1EepKjawmcKbqdmzSqwaHXI+lObg3SfZ2ybrLLs0Fs4zGrTS/pccEdH+6KK
+1TFCvoWRTA25onupHI/4s4V7XUWLeRX8crIKcK0oG8/DX25ZBHPqhZGQ5xwnZLWe0YHpcgQ3r/Mj
+EzCu5jioQNSP4Stjub8YUx7VBnAeWneJPHjjCI7uAfJHDRty6xsr0AC/gdUloq+u/8gSNXEiJhik
+0UIDpQb7dGlQsRDVBCX/RQ8gQllPmi+EI/jBRmwLNdOgipyKXeAPGJVTZQ/tWfrEsEdAATJgD4QM
+S/A2Vsreie+CiqqiPO+5rnge5P/xrv/JcSbK4oOWW95eQjJMIryunY9X5PIS2L2Ha+/LPVP8CF9A
+mE+P6LHc6iqNkReeWjFJrulBoT9byVmiJUFbzLswW/rmHYKupN3+/CVXcruzqrOXW6kDq4Gpeag3
+L4W+p7mn5UFUE5huoqBmxfa2DkvK0/k+4/ANaBGwEqI7tWLfm4hy9icdrY0rjl9btC6+vgUFZxfj
+KyMVj0l+6CybI8us9D93hx2eQEGvATFVvOgqmPQsH6TdyoQwwJAQZvPQFdijd2z/BeL7PIXcrkYD
+y0tltB19wqda5ZlS/89/9IdOWrKCjraZ/z+TO33ESDe0gg6uYJHHNqkghKkhBPlEQxGifoTBt9d0
+1dUSRYZZUoT7/d1cXN+sZQd5TGcwpxoaydr0Iwdt3c6WgSFizstqVeStovISUsbXRWOKkboi1RAI
+2MDqImCsGnSDM2CUPMqSJf2WKYnZYmwxNFmsWbTd3h+9oatGvsb9PREONn8nJENP/fLUZjn/CHc/
+HMbs0I3JfG2jqajSDKjGw41w6ZMe75pBHDar0pEeYP99b0mkQEvAs07jsxKTBnrTiCm96aqaOE+n
+U30RFUk2e+gCjbfadKI9jT1cgjJQRrsJ3o8l/2mbd09deur+Qn8Gpl7337EUmrmo1ZvZtPf9WVee
+ojKIa8esmJFOb4yf3/VuAYIHEW8cBhH83+1xsGz5SaCJ7xCAL9ndaUIAlTjRrt0Q005iz310thUF
+uv787icqe1LNp7SdYSbDINQ8LOsZOQDa/LRL9Qf2WwZHmbnWz+zMfIDLtis76kFMZ1Ww6N9SH8p2
+NhpNG/8jSbQpqnOwcTL+Noasw2irRLuk+bJ1WmVA1UCkW47YlTgHaFrXKAcoXeFEtKvKF/y0lQ5M
+fjo57Napml+PgCPD6PvP8/wH+253az2nvjovdX6HHia3plYesFhw5uFA4Vv0zQYQuYO/54A/wopo
+9p6wH0lHahpbVz2CdSZAVfwLAagHrKAo3GFNFpde9WPv6q3WKAHZpUIwtXw6nWP9+3U5z2L7B69x
+cMWfomLNjYNlpOF2LTo/NvpcBw/KozD6vSu09hOsJ4Le4bCqSf7FGXHL2XAqh11e64s+oLKsEA3F
+QaPV2+5QmFVGzwoEx8HhVXLv8cqVOkQ7FUgHtOM31nV9Y1R6TC/vmTWT0x1smuQ0cY8G1od/1x15
+bHxMzXocjp6yf7SengipZDlp+NZeChRPFtr2iQTUP2UItCTMBJMTBqLyhOewLjdw9gZzHdS0nII6
+QHfef+QlnbW9YKyJDcIB5xWnk3s+9w677wYfTsmQtGCxuJREaDcyJEX124HiAxS6tIF58FMuUUcj
+AZAz7Y7vpiW9LeBDCa9Mp3B4r/C9WqXofYdaVMxEYpVpm/lvWjUr/Tp7opjn+tuPjH0FcY/0Fp6P
+3u7KpQv3yAvyPpKOJEViq9bQ6GfkCp7x/aN1pWodLTg3QntRm0ZZLOvekjiCd8iDImM6KNpc619U
+Q2xZvXoOM8BE3LowZRjZdSahTWJe/kE4ElzJgJ51Mdr/HMsryjDtEUPiiFD8dZU8Qro87y54z6Fr
+qEuaDniHsBuMspQ5kZgeMOeeV6LF+xR8SdBgRyQCN4GGiGoQNOlyg9uQcX0pfU/oZkVYXfDCnrZv
+kHz65nKt6XilQaMIq2f8iiQz7KANUsvb3t1f1F3UAOt8Kc2NsVM+3w9TVhqge59UHZWFecQQTtxb
+OGTaTH65nChrMbq1HsZGEChlj82XL4VKdpLxdHtf5ErCz+WVFbOx4v9ksfYTZfWr79Dt6/x+5dwU
+/OQ4lzcq1FqGD+SqNJPEyIM1FMkDWTjWfxrg+lYfBdrhL+Xg7rHlVfUx4k1KvQibd/oGCg4dqU+7
+8d7zH0kcli/GMx4o4HbEr/o5r51tMqZ5roK16ySdDiGiA6YQhl8+bmjq6zHnGgfeKrRQgLM7ZmVt
+5mLF1rw9RF82uVGXRENU+d2YrQqXlkLg0hvxzY22HZB5fbaEradQoX/deF715COdJMp2k7O4JU6d
+maB0Sg2FWKywTc45Nc+s4B8/MjHzj7zwmLJc6iFOTwJHTKcZqe/Ns8KA97z8Mtaq9mekMxoUWZKZ
+/9ek/BpXUkk17WCfEI1+yO090eu92Qo7SJ2xHBcyVe8qkHOIXofr68hUo8n6ZIfYs3aPpyqJ/2GP
+QRp2nZfs09MJ9HIdEWV6YWG1lpP/LUEkYNn80bLAV5p/csr/ww5JA1BHUOqhXytThrIeESuJFL+W
+k8vk/i1YnoxjdYqIGAZrglJBTfhbpbkZ6nxsUvtkn328CkzrD21JprLWNJ3+MRKRwgXqyaoXYzTl
+zvcMs9dme37dxBdGdrpPbgUZrahOqWJWi7jJCKpSC0WngdNFrP0Nz0FQ4AVotr2uvmPBQ3PafMC9
+V+rFp+wpj3YtwTKKyGmmsVEJUVB3y5CAzx/xVyK5YQry7otoRGdQeCDIgDtUkUw8DK/3dKtduWce
+EG/U6GlhCjNcbZzQKZMcEciqVACAmR34nkSfZpARkJ5j4BM64k1aCJvpqE3y4m9e+jGpQBGO3wsK
+ZeHDGVy9hMBQ2zCwQZ/1ihSUl1taN5pYxTC98U6xHSuK2JvaIj5FMwGi7OikIK6m1aN00XrNAHDR
+98ok+tCTgCQ+iwVFKrkynLA7VIil8rWI4Gz3dY9nuJkCrRlLa0N0SiKdbjHXQbXj2wZRPMYDAUwK
+WoymMh7TBkByjXQX4hTCg0YnLgt/v7JIKnU18kMSefZkvTJKzhHO4dJPQb0nNdIF36VUHjOiDcqG
+ngTS5emPPPZz3ZUHDvqjIxyZzav8SYjYf0Y2xeFWqG/Z8K/DWpejeL1L1etC0SyQhmYv5EctiPta
+V2OcoGsXgtnYRLOrygr5NxJuv4l1pQ1hKNqiPJh+oxiq/m5MBYLb1+D0AQVJUwHfa2u1IwrNMy95
+SCRVBlyjBgjw09nic7XuqHi+iaqsc6vtqndydrl8+T8Z3/sDn6SbjizZOsdy5ZeErMzYoeTT+ySY
+jt0Z9jIvqZ3XOrEC+t4lLuonTH2iGF4P8MpHNh6mweim4Pgt7ARdDpxJDMA6L3a4nNanos//JfZa
+1Z2pqeXbrxBE6QRFck+PVVHdTDD1IX24s/IafVSbUkcnAbbrvk8gxyAyO+U+N98nwgU8roEU/u/h
+NKEeOirrWcKx+TLGmF5ypmmF1uMAsAhrnYeCfhPfsBoFijrT3rRAfuHM1X6+IrILaU+L5VZXNAWs
+l28DDLF/AJEjTh2nUlgr1WZnCCGKGMC/4Q7CbEo2Iy1dPeGsUUYXHwimjH32to6ReB6Hf7HJEDbi
+XhHWUZj0/r9jAx8UzwpwlqwtObo5NVy4qYi6AB6g/r5+7s/UES0Oq2u6GsUR06DoA8Hb4Czuf4Zz
+/HSala38XylT6cxi3tAVIkO0X8YW1cSVuZBm3CZTuiXYKc6OvcOpBpEY8GjnegpgizhgR5cMij9r
+RcTOIrDA/6Z8I99rq0bXmbDHGpOD9MdtC9WYCpgUZBhsvbh7Jf5oXtnTjid3+yUNQnOc4pUq4qY9
+TZcUQmO34VSMosb+JCmZ1dHakTuo7llZdTBZI0gdBYiH8FyTjgX2O804SeHbEGpjw034+wT0DGtO
+vuWXzaI/D5QRcmx4zdd9G+IL4McgHjeNghLYwyR69xQgOvEUBFbufmQt9lL5GBN4IT864Bjq1oJw
+czcTHXkYyg2kn3cSlKJlbr+DR3IoE477adUy4fHgylMfsO7zGMIv0Hz5EAS4DyLJtRpTOytstglM
+KplIynAiodj6/FkbcFOrf+yxzFYobH081D5qdfuq90XArWeJWWFuc37f9o0h6mU+LaMm6fOgMOHo
+AMRF0Y33eYo2h3TXz4WVdKKMjo+3X1obgZqxf8pWJPpAaZ/pGf3ya8cqXKn2iifNP2fSKnDs1QOC
+YZ6cEezsHDQhigDmovT8aSDuUqkfpfpuCwrNQ6r5OXhjiI3vGU125ZYNbszYlvEPMKFU1m24B4wq
+60Bbvg3mjN7Nyli2IN67fZdmbijwBYpK6Yp8LhXiCC5+/XsIE5uihoFdvt32wfWOfm9YOtNVwBTg
+Sk+Qh+rzV18TlnsQCbXR/z/kow+76LG2ckxRDxld0E3AthU3j23mbhK80p/2HGldxL181zFlYLzP
+V8gzgzWMKZsIb4Z6Pcb1zTsb/Rj3aHCGhX8up9fHud3ZxtMwwIrxJN7ZTbZiNJWWafZGBIzdNZuw
+2r09qbvePkqD9QxkpswH5LkyyEby+DJgsWtg6JtKXa2BMwYhSEQmY1kXzYx/mJdOOreXsoE0JOk7
+bmnkFS3AXZVcaygAaHD148xAMi3xquJgPOr4X7GC0BVw3SdX3tbQ5fFuNCy7pX0BMEBpRGqOQFqJ
+tcBOuxClTS5cHa6B5Z0wLqZNEN7kmu//rKivz/tFDZq8oib5Ej2xVVfMlUmBU12kojK1KGnk4Umq
+LIaiMZOj5u1IVks8hIvF1Iy05ZV2/kzLT3bBlZaup8x1TC0c2Nq6zk1HQI6aAQK3mC3mrX2Pe0j5
+zjKl+Rth2HXRvQhyOtB2R9amdmdYfs5ZWEJdQU6P28rVnXsXHJ8DkaLX0+Y+23JFEHyT4lpNl4QN
+hYI8YRh5BUUR3sm+1EEnNVyrf7+2xjdF7BR72XHgr2FXtaK9t85R165ntEF+eBaDqpaxwKN0raEI
+64zgPD4SXRD6wwu3U8XNdxDuw2pVSfwvQLs5QDtU7wByHd5nXYDBq0HcBOobRNf9aKEjOy/QKUO2
+4cXbuGfudV055l+lElnACQB69UzGP9OJLogjmnmkNhUeHTMsg0xXzBlKeQTQon6Q3g/cYt4+VchJ
+oIFyA6Op7ajQyfXlZ0JmPWbkXrBW0bz1OqWWte8GU+3miCO6/0DcWsKl66IlbaDO8A2pYUYh2i/P
+5CP6/0FuzgKYVNVyYLckGUh57KhFShP/ilbt5yD258DoDlENVpimuC17szua/xbsGD3NCd0Bi9Oe
+HvX8XhNGzlbuqcQkm0AkFHasxv0ce4EFY60XDBqR6FF8NjHaYhU8RmFv6MXTFKG1mLaSqNAsXi/Q
+gbfxTVr9JGTCXAYoGJTxrbv88+Mu48u0hv9ET4JAjnNXgHk/4cIrvlE5Nz05WOn7YM3h9XOuJGgx
+sP2mww0Ksee85FvcBrfs9bdLbxScrYxsY69+GBPX5G5S5o6JvBAQzann3DcsCq5fn+yEuxoJLPtV
+4U4f2bxifkqEdWGgA1VtLImZDTAwyIZWDGJXN4tOoSSMsJGg1C5d6iL0qpFRH8bFrGNp1p+rI+rq
++KgGs8PBz5f50WSZgYIvdY3/ZwoXnxPbRfLfdj5Qn15BTlSw1hUEc02GVauRwdG5RMVIO9tu9ZUu
+ReYWyOJj/Q5t+sDqReezxg1X/Kg7Z/6Sd08aDj9dr9QfarKud4t13iUILfxE3BpmMffrwXeqoW0+
+y/bKwNUu2CkMNpbZJKO7kPGFh5lQ3Qzy3zHioi2QA36qnWWjh0pOQh1Q7o9QrrJhFYH6Yn4Al1Tl
+au3lHDZz/vc1SIuelZAuiRbmtnkHj1Brmryb0Sbnu2cIZaFgy0aHkk4cR5oCUG/8S6tjAdICNVsd
+TLOjwTw/AWON1hA9tDyMkYlYapscWnfGSSJTp/jp9qYqPci1ggQaaghT/8ZgQVjFOPQMlOJYx08t
+zr20NX87Oa7+eLSGBUEMiS4rMjM1r/2zfx2Pj3YBBNK88ug+7cecQizsccASRIhl9MqX7v1CAb5b
+Hh7wDEjq9kNFSSZTsR8ldN612fVU+An/gErx5nbpqNBy362pq/UhIVyorWm1pEzZQ1nxEn5tXxu2
+DZLTjQ7QfleQ+10ir8ALYxluJ5x+3oKfizkjmn2QXLs89vmwFKbPlQiJYN4PjonDcSYpv4+CdrvO
+A+f8oGNm2EQBFNCd5j7WRMtkRalHHENItkPqXLR5ZFQxfPSYJibX5sHQBWtrCLKW++5RRVLS5mv/
+bO3fzn8vmxvQWra0sOcKJGF2l6DgdmMqk6bowxUwxkmw6BBuDFmxHSCQJWwPxnTxvF5FwkhDC3Bq
+jN3rM5MQlia3d7mSsZkS0IhLIzzATdHV6cllOksIgy02rZ+R5yHL4SGL+eLu9XGMkoLHp5EhKtij
+PYZtW8GNUNex/Xo+RpheN/CW2WiaSzew2jZizBX8N4hSINL/XAoBB24gI1FO6MBhWkgR6GixenaR
+QMfh/QsBybtFgeeX2bzmch8ahMP3JebGf0XRfH+37zK9WWCVIOMgTE4wd+KdbXFO4RYHeE10q09D
+ufZjjvW8t1IP9JRLx1/NrH69U3TkHHIe6C8q+1pNU/inBbTCMbH6f/1WzAKdpyy1x6gXOMVOPQ48
+d4+JWW5mYavp3WLgr8JuVg017AXd5Sgmi9GdASb/RBSY1Sfok3tpYoYbWHoJ6o/2BzSapcQOTsRO
+UblfrEBsZGbnr4izjLoJjrcLWf9kSaeQxTafRUh6dvahRECAOFg6DzDw1yHmHD9Mya0P4q6Vx4wy
+22bfw/3dFVXhoZypOlzmYsWSq7Jn57uxdPqLmNyAzcucB4dTyZEqqTF+G2uzO+FVNKlwSWxmuetB
+vH6PES2Lj8fs012890eAMDSB60VJ/rvp8QaB5bof/XcFe69IKqEXL19/Xr9K9lhxMCkG6R65/kee
+pszKmn+KRtOdN+hS5E6aUSzpVYil6qMzVxqD2dqveMwDrjluCE2qq/npHY1xvybVc25BSWAvC4TH
+2tXr89xQ/O83bjWS42WVmYUGuyzd5a5Tjkoj4yF4zxcobpwiJR5gLSbimFFakjc5Furtru+5fk/B
+n47pSX99f9ncWRohPwRJ+ZMz/Pi13g1f8SpXk9/YScbZSJ+wkVu5fBbaqknx
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_setfieldvalue.php b/src/Application/Model/Actions/d3ordermanager_action_setfieldvalue.php
index 0a9fbfba..7490b4f5 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_setfieldvalue.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_setfieldvalue.php
@@ -1,86 +1,86 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_setpaiddate.php b/src/Application/Model/Actions/d3ordermanager_action_setpaiddate.php
index 783ccfe0..f2fbafca 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_setpaiddate.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_setpaiddate.php
@@ -1,74 +1,74 @@
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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
-gJFWZHa4vxESCBQ6
\ No newline at end of file
+HR+cPqtwXP0HOdwdx30GivQCmRB1w3vqLQUxkSLfSWK/kALYp4UNKmAk6Se6cbmvRmDBtrQeSQTc
+XTH0z0a23TOXGle3rJLPStng2e/K2z+iQ8P+W9dwmXA4wrGu9dzF+xduos4pp+x7v4jE3BL81Ly9
+vQ1f9n0YsX310huUnr1QZdTFnjqbYau7+754iIVGTRwalm3KrNcPfX/lJqetVBFPkCfWHhKkK4lS
+I+zFhU+UzxLJADGUMRFWYbBlJELsofu1kLXafp1+D2JZIxEhVHE/Phr99tl0P/6PRIDn/KuER9wk
+ZN9XUfB90nFHrLJ0kTAgHKWhQCEUwERN1HvmEw1Nv6wt6HmxhuTEJ3zp67P3HWUqx2hBCx6yJ68T
+u4zbFjhll+qmvWjsXBaXl4R5GXpoV94JsLGB4A2B864vi2T1n996Cshd8z1bWmZaw2WFKZKSzdA5
+yJ/2NH16dRKT2G9h52TV7xx/mGVoXF3T18WJngo+Q+as5Ne0e9f5HspV7L8rx7thL3lHk84v6yoz
+xnNIoSeYijMTWXVQcoZMhZWB56BlNLZaCNitcvT0wqngv9XI+xRVuYg3/ancJ7Le7TmhbKQf9D6+
+2hiIjtXsUwdDSW9Hz53/CjyAlE9Uw0H9Y2Cb8IIGRiSbO8PeAzHnBN7sCzDmJaVMI1KFLsx4erly
+BNV3TboF/4AGeQlmT30LhZtecjRZsE68QcGj69uXvXYc7vu3wgO1hZUrfhWumN/aKzrTyrDtHcqT
+YIlW99Q5spJZh9Lj8CTeX8OefGxhcoe6uZMJYqlZLOvPQ2esXytcbK5zXERtSI0cTK0a3VNBsSzh
+GCAJ+vJ3lLVmi52a+STeWZu7dUUzAK0oqpXT0aiEE0imP+k5fSSnegmfCvSOJkKPY+G85bJXnDYT
+M+XEGbleAlORMgtuxQrKAPkzNJNoT8IFWSRm7bSxGUKPjO1Q/VdpJxW0Gmpcq4uA03IJdza6Qix+
+a2yMPJD0WZIvnnZ41Zh/3GQT2taYUpgyNYJZRdeTD423b1mGRbgLVCXegQb7iwPi40lsvgXVGPYY
+hKEqkgMT0rDPHNQ/e5a4uo/GncLBQw20sO0KPw+1GgdPKDN/yIz2PZFevJbRhSv1eFEE/9+CH2Q/
+ks983nIg7S0i66WZFH3m8SWVlWxaXJKRNxOF4dNEzUqH1uOWx9o16UFm9DC7PjExX9LgrarK9K5D
+tlqToy8X1e0zbvQJJfmeSWit86nGR4IWUTyBeP3yhnr19b1HzTJQwv9fGNn5xIMSyQtwzjn3zjYs
+gljNnfvgqvyNgDIG3yo3wowutjXSvPPRD8BSB7TMXWMlzbsSa65gyFu+7Vy+tjaF2DsXM524c/Up
+evXvOxQLc+fJ2AENMvpoqNBwAy0sERh9pZRg7W9widfZiwyDmoYcl/d//fDIykV7DL1anL9QD7KB
+J6aEKp2/HjRm+9EcanZNj6xvTf0na9JcguHdljpNQBG/bTlqAk5j3BLhPNj1Wzw0DH6pmepYSdcz
++QojJw1GJrJvhOZmhoooQL4XQ7Vho9N2il3lJa1P5Z/bkc4+XLmIzXoWawah/qyjmMshDiAdBg1f
+zmagEu/EszC8tmWVXsjZBhL7wj3i5/WCFJ6+tErmyC3lQhNM+MA0fjC+ZTBfjbbtIq7lHhQ2J0Ov
+HYJdeD4flEMSp+HJdgH8RsKOYbfQ5ZBb0033c1Nocquvf9yYH8gMLVJyBMbo/9a1iUoj9s14DnJ9
+OCLde3tU+ay3SKGSEG5brYfGxJW3MQxX8FRwJYEx5I7oK63J5kKH7EaTSIeayXxSVuZy8BdhLr48
+2C1gj9DaPsxOiKqQDeYFNuyTdigd7TdTrZ2dHcQNuCBVnNI0D+dDfE0GAlDW8A8b0J/C9rcIzXmj
+z9Lev0sk2Llo4DM8+M2uw2NRJzGDwjM/jQfoIr3sC4jPe6mxPe/a799HBQN3PAZI0IS25Y+H6b7h
+XWbma5a/qunw6rSYb6PG5ym52U7T748DRr0XEikWQTEk6xJjMtYUxkL5eqkaGdaeWnBZCfjL9ufl
+HVFwLoD7+ncDbHK4wqtdPLJcU4u8SncWHVRNPXKLL9cS0B6vxYxQ8IxmMwhZt2IByDICVcw31yvh
+SoD/LUA0SDe5Uu94c8vu2SttG7o5PPo1MCdkeNSH7jSGnCCju54lYZxekyoi8ToieN90W/80pnhv
+R4VPoTnLApy9yLj8WSgHTEk9fdzjE8Jrc9GHa/kDtVBaRhbP3orLw3LvaZguEhuFqAfY6zkbkQYW
+J7poo9kHFaZNwdWcgk5CJy3j+hcP07/LpJRa94jlvZRhxqLxz24S/7Y0KK0a2maYoNCoVXWvQvF9
+OSfD4OXwO2znM5+8x3jps99YuRpy72PKFV+apXHMDSqgZJ36XJrdrsQRHpktI8oMAb4enIPyzwky
+oPrkr5qzoYzY47LdjK4VesyxbLWiiQ4ihM22tDmvAeAoxM62xvgPdjJGqPzDvQcLjfsMki02bW3J
+awXPGd0DvgySnADY3jpc5LWCNwGC1X6W08QvL1xAf5EKe+FHYnLImVfKEOpx1BKjS5nk+WzTuAEw
+86QVGmfh++GY236zzsACzU2+ljClfUlazOgt968gRKDgLUvAtcbvOZxuu00OS87KhRZuFjyzsDp2
+VG+V01F/jew5Zn1Gd22iGqH9QI71gPnfeEgbtqET8zBtSf+KWNBxIGX7hF53uRQhwZ7pwKX4/wSv
+tILkEEULs0OAacLEtjrX4uDEZ3/4SX0VguE4Q+Ey2JBzwzCgbIki/ekT0BnmBjDNQXX92Tq1GS0+
+84WREAodFUyXE03PEnQuok8AKu0BIgZBDpJ7Uwuh3PQo/NlB+qDDO/ILWSd6Cc9RZfTCC4haC9on
+j5I1+7xt/KkIIj1vPw8gi0330UOhA/S6dCD8ZBNkE32y7/aNNtXFQFtaMkMDamGiOrmmgk2TeVRq
+wTjuOJkK0f0zYoZf4fZklVAFbnU3EaoBBKbagq7ZV8LKti/Cek2g/UGWggmFg8c9bUQ+NDQq7uPL
+KhIjVIQxrTCSLhScLuqb83aNXxoyNua3wrp/hZxHQOckyh7Osglvqk23+aI6rD8pBiLklWHdSZ3j
+S5I7ijZr3I80xqWXxPgh07LPtikyRS62wzO9pY5zHgvGynMOnviCftzPCZRpMOcSvFz2JxBymcdq
+ltgs6gQhDxfrAHF+6RlTPwDN+MpmPuy7V6m504CYSgZ6Bojt2ICDuPRu0CwK4U3jR9MLQWxa8bYk
+n4Xkm/lNYMCcfwZ5VmU03s8EAHLCL7ZbFMgOdxic1XrQdz7/epGovENSNO1r3wxReqSuvDSqXCpX
+HYTr9K5J6jcYxQNpj//u2ZqGrfRf+bmiWYkEGRrUFsngcfxwm/AuAyBYEzlk3EcYK4ZKzCmU07iO
+geWoLTMBpK1aEQIFBUV5iXMFf06g68aUz3kzoimjdfUxREskp+PiAttpOuZ6wJSzCyb9/2EOxDc9
+oogRPCa+h6LLJjUrIge55v0qIvM8/snyc/knwq9/dswFzQsEoRS19Pk4quJX/iNllUkWBPaXwyPo
+vC0cwT6/lSU0E5baRgUluyQh7ZdU6mXqAq4u4WLph9ZLFPdIlClE4Fn3snLIIBEuCHz/pWJ4cxU/
+zuWUzEurvB3U/0npG3Y1BI38bkUA9AMr8catV4dZY8JqLzfDCfA3MrKT6gbZPsoDx8NGCPyZw9dM
+NHvqw3TonIzFVwbbmd521jt/V2FBB7VUFVMQxzisLHujZ/pGqaYIIYeEa2U6sdC7UJC1TwDDUDEJ
+JpxOVztb26Q1f2DM0n7jSSH+rfyXbGCK6/PsKNNv4bOuQB1P9DjBX1h/v9KHZF1gjtjBvfIeOIyj
+oyoVlP2gFeZpxI41YX8wD9v7Va1Yr6PAEnVd1gE0Z5TMnDSqtMXm/hcQ3Vig1Jv4R/oosw1EYX+h
+cFgnFSscZJ1CRqv5M7Ok7CRjx595cru7LuL6vVoUx1WZJnsny/t6funLgWVbPksm57q+cvdDy7S+
+IiYyZ8Pee/AgUADkVaEt5vnHPHaNggvwMdQyR5PE4TAOkGGncQb34K7TWzweSg7l8HKQHGaOhQ9J
+7zlVEhCq1nJ/tWLyTT3qKU/dCA+o4cR07gWRnS5KSddprHiIxo6EEbhTaEmfHO7UiRKqrYifoQk2
+nkj2hVgh6UlUOW59VooRx3Kaf73W8h3EvQ6m0wRxGlSOj20z7/wkGp6Bj21NBiRFTO5pR3RGSIIc
+iUiAs6h21Db43I6KRwG9tIk4zfA/Hjm+bMHlKlsVvDjL60lABaDf+/ph0bSMPp5Fsh3lE2D1c3Jo
+SCcXO+BaUXlWvwghb78xD/804Z8bt0G+IeOZ7tUlaYYZGmpTlJgWPCCfZZgrN5dPYtEbqdYMx+R1
+aR6fRT4gd+VoYyavl40fm7MInPsq0Or8GrjJr3ew8hoEBBl87ZLxZTiADDrkD3lMK1vHuGXS8dE+
+JuNSy62FIMeWK3Pl3MV48YsEH0nATbxSyyZXrbnD+thFRvxu2PwSMDIepPt6KOYjJHqik+7h7mnR
+aUqZ425bSZu5Pv/zKImqLPSgBbO6o6tPRkJExtqoqIskg2LescltWaV0Va7uf+wmhSapPrWupi5R
+xXmJIBeksvigWZNQMfAiYuZ7x2XzjHHGJTFZXcJN1TNaWpfzkU7945M5zdRKLZVtf1UgoFIY9WaA
+Ynn5QWxn3U3ddA7tGQaQgyQpk9iLw/OBKecLBofc9NHukoxgxglXWB2z6dQBHK5IqRygmALiz2BF
+v3sEnX7GWPR1lew15IWN/p15XdzK15ES96PXyaJV8Qh2KdMZfl3mSD/4FUB2xAms+pfDGykKY7pX
+NHjDcDpcUKM9R/w3ZxXtBlMY046pMgvyaJYrW3Itr2jx4XmFPygRfjc5EMBPzA7tUjh7nCxTqy4l
+1CcNa5AR1hrhNBOkkJQROc5P3SnR0zNKzXMdJFZSpFV+0DTjCVh7qIy0h5HQwsoer2xMSJllVaZn
+CQNmMzS8UaZau0zJNHvjULjtLfKzlW46QQbkLwnj3r4FbN+J9t/IxjPwNmWJN5mtWELt7KMOn1zM
+qLXrZWylsuSpM3Kgl6nKursA2qzK337o5LDUaQZQra4iaO75ROIIHm0sb11EBE+gJccmajilbtJ8
+nRFcCp/B/CRye/xqzOUzu4N/BluvAAz+zfrDrtPdyGHcsO2XV6UOLzzxLvRuM6ycmXnXhzC8VBms
+9wsL/nMN7WxGezz4POO=
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_setsendednowdate.php b/src/Application/Model/Actions/d3ordermanager_action_setsendednowdate.php
index 1a5b44ad..c1b20e72 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_setsendednowdate.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_setsendednowdate.php
@@ -1,74 +1,74 @@
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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
-IxuSiI6qhZqkzIEKYMqZwH0SkBOf4KS=
\ No newline at end of file
+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
+xyhwiXaHYuO=
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_action_stornoorder.php b/src/Application/Model/Actions/d3ordermanager_action_stornoorder.php
index 5368b000..268aa159 100644
--- a/src/Application/Model/Actions/d3ordermanager_action_stornoorder.php
+++ b/src/Application/Model/Actions/d3ordermanager_action_stornoorder.php
@@ -1,69 +1,69 @@
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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
-/5VP24Fj6LFyhnUWJXUiH7kVcQxoymYb79iwv0==
\ No newline at end of file
+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
+DV3KoWUkSw2IG140d8xzH8gKSrQvnPSsiW==
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_actiongrouplist.php b/src/Application/Model/Actions/d3ordermanager_actiongrouplist.php
index 3680b50d..ea9bee4e 100644
--- a/src/Application/Model/Actions/d3ordermanager_actiongrouplist.php
+++ b/src/Application/Model/Actions/d3ordermanager_actiongrouplist.php
@@ -1,40 +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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Actions/d3ordermanager_actionlist.php b/src/Application/Model/Actions/d3ordermanager_actionlist.php
index fc68971e..659eaf5a 100644
--- a/src/Application/Model/Actions/d3ordermanager_actionlist.php
+++ b/src/Application/Model/Actions/d3ordermanager_actionlist.php
@@ -1,70 +1,70 @@
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
+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
+z1wZMG/sDHQSZqsnDy7SW0==
\ No newline at end of file
diff --git a/src/Application/Model/Exceptions/d3ordermanager_cronunavailableexception.php b/src/Application/Model/Exceptions/d3ordermanager_cronunavailableexception.php
index c441b9bb..deed6b1d 100644
--- a/src/Application/Model/Exceptions/d3ordermanager_cronunavailableexception.php
+++ b/src/Application/Model/Exceptions/d3ordermanager_cronunavailableexception.php
@@ -1,43 +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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
\ No newline at end of file
+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
+Y0==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_abstract.php b/src/Application/Model/Requirements/d3ordermanager_requirement_abstract.php
index 9a68d5e8..1c4f914a 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_abstract.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_abstract.php
@@ -1,131 +1,131 @@
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
+HR+cPzJzRbMSVrERMIBxTXYbvJ5ODOHIYan9SFC7HgdEr9t/GVWFjIOHJ7W2NHIIjJZJyV/8/qsO
+j4TBllgGOQCj3R4SxYo6K4ROOu7NVgjkBUjlyT7oNzfqI49Gl+mu4XXo5jPPimlCE8lb2BOO0GKL
+uPnrPxgbrVXpMO3QIOsY/gQtaPLIhzQZJY2z6CSKUYIkFX+YCb3MXhy+WjThPj9wNt+exT4DkMcm
+0cWb6etIk0a6ZkF8qSxlqcbothwKZ6aANtpWRsBJC7uq9EDBiwjz4xzclKadU//hQzNQVUlUhZbn
+qQuDV65dY8tTIfScuxndFGGggcYNtCUzWPxELOsRHn0NOLzBWOkhCNlTeJBBkeCNfwE2H0b1nMhK
+4/YQdDnONyfL6+XsC7qd/eq5qiaBGSJPJHxbA2Ofp1EoNLSOEhPQBuyna3yDjcnEBzZdhrG7TbR8
+qrG+GYAd0gb/cCN9eqwFULXclakvy+5VpZAbYw+704fsPO7NPWEXwqTRz9EuSuTDqk6375tN1UAl
+jCL0qXv8THIcentUW2qYHJkyt8w7Q9x094OYRaZn1Z+nszr3APEMIilvSNfx/E6vZNnNX3zu+B5p
+lVpwIqBiO+q7AaokyRhxl3LzLFqm2hS+E8r0SNlFp3qlR1jkc0I/JH64L3jCtg2IDoSAnQMMgH7Z
+0b9vml5n112QFPqbijkzbmXE57JXB1dZq7wZxAvjRWaFjg6vS8TWYVbxwNA06Y7RS5ksDmnee126
+1GGQ0LD46Oi9Rbuf5ohGPpIjRcLc3zusMGqfnyQDMfBpHuF6/j8QbWn8isN8pCxuorVKT3kaAD75
+kb+s9kwdJucr8gNVxVBa4SL8zbkhYFyvCF/2dlM7jd/LwPrcrFUyClXTSOc7/kNvsXhFZoUZ10O0
+k0A4CnS/fdcjKLZ7+ZkXeP7WIiAjuSbypu3jm6DoYZsYBTm1uTMiMmS+HQ/vNcBoWQuZmB4URKUC
+Dna53Y+KNji587DeB4MjW1eK11F7YuNEl7AEs/MMEeo3ekwsNKqijq2VXo4s5Vebb1+gilfp8CTH
+1WCuNXW7am2Ieuss/hueFtE3bOJvjJrpwjkCQLSSNyZ8CdktZxqkCaRPoKDff8pKnavveIkNOCWo
+ivUbIvoi5ZQccXDC6pYTneYe/zwbVxd86Ut2U5OwhqseWd3UZN7aM087t0VPtl+fvd0hGiMd+iVt
+R/6BbuR8LzFX3IGRU3xFzrKD13qVoIiqjUxAgiWN7Mv+jUOUd7HCWDipxDSpv8PtqUQdUZhr8lzt
+Tw5q9JJzdloyD+fX9AsY9AWdbKPNAb4/ZkucLGpF0T3rAmxzME1CyXpPoq/zy8bNJfkXIFXEfTvY
+hWAcT68uifP7HM1eSgyJlsVjWDe/PQ1V+Hcd8NYj5I+d1wLAegHxJdM+oQTQhzmcfZZvjoUqHON5
+VjgIsSYBWWdHGLB5DfUPMB0BSp4EfwzaUtv42WVljnDB1X9UFxmUMn07ktxFeP61ndFUCphIt7n4
+rVjhe7Cqwn8qNAX95VwT7w1qSLujp+/ogpQG7R9ApBltiVXy4GcF8+5uWgl/9DJhOba0qDmtTydW
+P9bt+PmimIjk2d1hBKDfdaRpazmbFdeA5kylEMgQCnu4UgicrxPfY/5D5iDtTab8HkRrOr9f1QKQ
+Lj+IEe1Eq95upQQ4XRKJKDa50ka9N3iTXrzNq1caoPJ/444AQAAFK2m5/WZ14M7qXvr6qDoRC0Tm
+wrjedom6nsP9zozrJ1hqWNzedHbF8SF3c+MN+4by3mg8iMHJ8Xghjcs4lUAPKAuTgnkC2Om93++J
+jFXLpBjLQ6BczAyeljXuswpYAkYAfKOJO4n3AESBN1gHMpHsIwyazym8mmlP+NHobSU5zUu7IeTv
+472Rp4bgiDJ394PsETPi8PfnzmNBhKoOSoqwCbMcJtWJz0/9FUWgETiAa3e0Wak3MhkJECzOQ23w
+4K7Lm0b9bPHK7yxvMwi9hgv/8jE7cqm8a48P3iqsH5ATCh2Gd4TCsntEhLtEZ3z/kHNIdl8xURUq
+Ksb23owysHKutS4umuRx6nh2I7xqOLVJAP1RAM8iZqjTdOQFyPd4C+ngeF3KApkRC77abyAx7bqD
+HYKumD2fdDMUKw/sHEBAdsX62SCmPm7XpIC98MGipbMSfriOhr8YO7cZhJj6G6B+GecJYIsL/wth
+dwffVmKCwjddKO6aiwOT2/L20pvYx2eNImIuzsoXIxeikRfww/n+QscNJLHPTUkub7iIiBMQVnqV
+RXSnnLC8/di05VYpkWgESQ7Z2NHFwyJFIFYj6SA9Z79QiRLxC3F45EVnYLaPZ73Af4Jdz5CVOu1A
+ojOgnKgF+XbiNdBr1clPOYuvqWomGbZlHu8qTkAOAnS5/uLLZOZZYMnUqoG0GDCcCBLWaSh2NNri
+u2Drt+KuXLp+4iRP71r8CHxotMGX20rMPAnOGONeXzD+JBfd8IRAIeDD2SBtnvR/jMHZLZ4jAemL
+IJxXGSI54jBtLVx1GxVuxy2oqU/Z84UpO92KRu7YYLKRjTGAc7TlvV3etDstKnw7XTJ3Y14hDPr6
+oLSJ3IfCyWAGaGMAQMxqEycexDmYkTQH6AOYSmVNTyEFSFrezA2jIc8VqtOuzcVoAydExudZGJIJ
+wN2g/PA35SLtlIWsTQ1gbIjyEUNXgofhu+p+gRjo/aX1e7HT0xqxMQajHsMGzzsIRwqSeRLfTGgN
+w3FpkNIe0s6O8izCPalvBH2+FfZb7cChbBkX51bd0n/F8/ET1dFcbWVGkA+Ngn0NMNiuwGarbLis
+fvOQYEW0ysEBM/0KoXS5+qUDxf+L/nUyOksGZARKD5XG5x9zbZAS299BTzQiYWbUMI6M8KxM07hP
+Ro8nC1zJSw3D+AOI7wXYErOMyisrkp8VlBe0PFQ6SxOsd+EtHMW0qyjNca98ROpoAMuWxiUY48x9
+I8t9b8CkLhvsABbwwoVCQnhYOvXPlO5G4HrmFJAkwgGJ9vqT11cP3CKCJpQMjadSvS/yEjTUAgN5
+smIsa6+9PUKnW+rBlTE1ftZX+DT9gs6KiaPDsomqPbOm/7YCGtO4PW5RESV6KvVzBs697X0oHVSL
+d85mUD1wYcRt7iK9GXKbPahqjMo0oQikgb3jinIbjy9q47hj9HI1tCyEu8m1tRVN6LYiDDSrUlCu
+4y0zVsWZ+6lJetYMfM5WEeN2zZr3fHHOGqEq1dmI5ixgQ7draCCuCgknWybyY4HzAdyMYGZXxAnc
+WfJrod6IqAmeo07uT5lCYZFV99UUj1TumYiKI2zszu4iLXYQUXl2+IzR0zqTzGeFHlTeCQ2xqxoe
+0HgvtCCB8ISoMWrdD5zjhwg8PDXKcZhIsP1eA0ydjKSimNUbdEY1+bHkLxfpSSyAkATnYktUmGIC
+K9icvRV7mpw2zyfbijkrmx5gYgvxRBBGZY4t2SVrrElvpUkvn/auYY8YCyDnh2ZGXhF6X0BqEnb1
+agBRQQGofKCwDZr1WJdd662a6UZoFOVzqsRozDSDaO4ghNLBBIlnIyhi5T3ftfQNyEItjWLh8X68
+ujC4pltbviMNKMEhCnp3QYWlZwy8HIX5oBw40ecz1S3rMWwDYW5SBOsLPHyQmUUmnso3JPZFDuY1
+7yH5bb92ddxgPo8VAgGQGc1T6Lo5CsDCvn3sENa9+OcE3QT27QmBSdbXtHK/kyHJ3DY5aBT71NXQ
+Es6/1aKAdlq7slaI8pIvqKSeez1OaoavWaSX/lJ/ZI8+VXeeYpkuAfX5aZwn7f9CA+lXxhxOlOKz
+uYQFPbdwEEiYHNFiuurjSIVMJBOeVMwjpYI+HLGa/e8kwyMWpJwATP9mCyGRd+VnC5+f/TmFzB8A
+/o4qO9RagSvIquOh1XMwvPm+cLX2ck96VuaEn+DtzUi0yehbV/JwM64l+FRwGdCaHgQjlJBFYiJT
+mrCCWCLxOcOjMQbqMRopDkZVIHzOT4O6X0MBE4BwQ/3HWAO6maeitu3b9fhMhz1FCCofdYmYJK45
+dEPuPIThrCQ8WQeH+okeMct3FbVYOOtxh8xm0gqLObWoQ8Dgr4uqHKgldbRVnztv6NZF1Je6mjyT
+oG3AApgsEzKBtxim+tKi/KVIHDG+lm2d3Fz88oarmVqQcYzWi4cYrbD/kizuIPW3+Qy6Y9O9SL2t
+cTTRiErjlv0x/n82fXqX1EDYQuu5TNUvnIoa/QAsuh54yBMDBKEPnptXHg6iHlamyE7DOCmP3Fer
+EGk1eLM9XlFuyfNyRnw8GTk2sk7AlrblchjJR/n/942mzS9vi4Qu6IVpzj0JYNhMMdCXsVYFhDoY
+ad4x5SSn7Mfc1tDsnaMWEdfks3Yhnq8eNGTg7TX11lmTgPVjy3/To/MQ2CurW6dXSBO7O4xkb6Tr
+XH2kaeI1V2fjkrO1fIefAbFkw0vn0VEsDXBIRDl2xyUpKGzRu3eU6+3Vb0jn+qO8Mrb4rKWUGlA9
+zfy+8aHka1exsEGQ7VRlUDZaFVLnXPpi84VsW+/7RhBWH5U/f0GdIWYvQ1b8DW4fCER4vcy0Zmzx
+RFhpEzqQBRG1bxAsgmt60sGbXK00MmWFfdCjcKMOs/feLn4978mJxqH4xszKUv+qrEsQKLb3QglD
+9v+nbbzCCV3PA6bYMD7zBRbXkQNroxZdVhP7OmIYwBcAG08+FHh8rlV5vUcPhfV6i1OnwkEadXxE
+EpJcGJdBV0PMTxQt+XdwIpudYOntWfyQvv4QfGEnnP+SfvRjbeIF8IbJQmUTIwmKR0egV3CdBpig
+5ilydWOBnI4hQPVHuu/w0s62tPf/eHD6XIZ/0mgbOMgW+zDWOG6spIabdaHjX7GDthTWPB5YP20k
+h9AJNGHm+k/qJWtCWSR26eUxviTCTvs10BcknM9MNOCPTXeRc4/Ti9cplQ830nnwyBhjn5UVwxJo
+62pL0nRg3xjhVhfn9ix+5rRBOugDCRO55dhaTHEiDWA3oxW2Pa4kGOYn7M28RoOKRUUfJMxb17k6
+7fz/hk4QY5QxZUKuNkpLm/b28ptGtlAUT7EvR6CJbDLGqIEBe4jw5PQNoWB87gUdmkGd+yBwKjBc
+eJU6m8jyGxJYl8ikJ6aHzpVo1ZL6/BUg27xV6fjADX10SMZhWlHi6FKmle8YDJLSm6tfYFAU5qEa
+BjcdT7H31i2s3kHEHJsSqSAO6+5pfHSJ53dRJtPGv5FmR6a+5rI7jaWvaAV5fOpkEUDmVPUyfkSI
+QNJaLB9CHKGebvfL8ibojZK2QBgd615Hom8DMOwNoagDpTzfVy97MExpjursxNQL6a2ODKNWYOSk
+z9SKRVTWr8ioKnUgOb3TPsRS9OPJd0/zYSLr/1iAGnq0KD+/HvpCmb4lIE8WWjz90PGKyPtNlMJy
+DB8jStVyBxLN3zdnbdxGnKaUDdPc8PRTTt26T2wwtTS5m752Kz6l6nClFkJkERUHhott56bkR8sg
+gZ+VrjYV8wc7EDmMB0yiyKzvqVBkmB9Bun1KPfAs/S0Q69mtRPb0BxKgs6C8OwScl9xcZXIp2mH/
+Jfg89kRZinxF+nsuSWFlpZ4wYcrLiYkstcfv4J3MoYsoKfXeUclyinREy2p877XjmakpRYSjSW2W
+vQcbBsI5ueCNOy5EKHnEgRnq+E5NBNGDN7OieQYmGUs6OKsncxiepGaMaN+UYnBWU7cHr85vLEKE
+jcBX/V2+qs5S+YB2COWDq8kQw3YIk1DrIhTTVVxXhPSesgV0Sl+KWPTfzTC3LitPCXE1LRc14DHy
+LSPPKOl7M6D2I+iExmeW/dxXqSnWFnxyBBSrxOkuWK18+b+vjqTvIWDEm1hlZglWP/nofwXNEDb2
+ZY65wXhrbZt/VVy0Lvu4+DmqOeZNSi4INlCqD3aRZT3nRfDpkLdEHwL0Q6OjQNGBs1mYK9wcdEIj
+lRgn8zYtershHIylbCQifBQ6h5znv1ZgyEGAEqazv464vFKm+TlTyBVUu3sSt9y3n3K896FpBaAv
+5Hsg0tw0XM3cQ0y3yC2kYcEIw1qGt21VYgeKsJOZ0B0TKqFgsR83cV+8kOxtlFGonQsP4TMpNMHb
+A2TZDPRf2qmt5LaMXdJlFQlusE0wNssHoZSVk4o8S4443esvx99k3EuPQawSwZTyNaJbKVd9ASpS
+icMLvOIBcAauQT8R1C9xQcuGc8sKB/Z/OlBicyS1zXocR/lx6F+JIn3xN4TxzZdK0AJCv6Xjjsqp
+hrCrsw95xAmCYUlEGXzYasmD7Mc14b0vTFlWtMRxJ18/V6Y4f37dnp+bCSKQLsb2wS0p6VFws7GP
+rhSvUXsMvWYReE5Pj7cO2xLYKajN7F8b0zwNzuSsUVT3h+bWJHWB/EfJf8xncgs1jZcOscR8MeWb
+7MxON6MAIZYJ1xsY++Qyg5ZkMeUga6GCvuFHo4QY+FNUet2oozCX96o1yAt7ScNhbXYtRnlhH+Fg
+MIMoVoF/9oTils0tpy0GdGFuvtw8g0JR5f7p0Hwbm7/oK2L+L4FD+zdJkp7Cqpivxy8+f2k4Yqbr
+yLa6TczUWMHkVDy/PYhzmqEF1X1RUwcNyxsqgH14dWY8in85yAoLL5nW6ZXkORX/dXfEU3BPMgGG
+FpgLcSdKrRu9xGwKgyJB7MKOcP/G75ZtkYqTDeML6vbEOLNS5WRvcunTXXfctb86E2Vg2PcCa8+K
+jmyeleBRHSKVDoAcQ6VWlvgCydQE5t0E6g1USyh0Xbp/l7ZcX1YGJYzpsINYxkGZ1fMRTMrUY7NX
+Jr1DVRW1D905nSQrJYcesSyZiOGllo+hkOs4jNe3yNmDQ61CBnx1X4gcE8sGjBYtVsF7EOXYPIAj
+JjWJBV8q7Fe7pFr8w/cu5/Pa6RMwspVDsh/NlS9/4jmefmSTrtIZaglv8sl/Wth+0cVjjXULeQat
+B94K91LHtOAtCIgQWYOOflwVVt9C9WduWYE+dBjuUDsS+I+jgAyuL5cJm7gLcs3Dlzln2ODMiANW
+Z0o4Oh8xPMffqZCRX5q8/PDIdwm/y2DssC0KSdi+Asaq3IogcMVw8VQUB28NuGavG+BkDcpSWDUS
+nepMcH7w1ihw7G71SrZwpha8GDdVKNe76T+oN+ly8VyZVL3LZGN6IhkKXhTA7eWdDsarl6tuKtLb
+EW6Xmezmd0nAv0B2offcuem5I1E8/w7BctE07K2m1J6tSGOGyAktXyHApsfc05cv61DTu21gVvfE
+5WshXc4+Y50eb8R/+FOZGM3TKedMCMQLmXNW/LXyW9b0hRM3tTGhgVRDTd5NZwjWb0x/FU60d3WM
+6VEokHs3hAi4Ul4CJeOVgNZVg9gHw6I36s8Mc6BPKBT2XgInAq5CPU6VJ748SSdkH7ix2rzXJeM1
+wNjFK5WJjE2nzFm21rVsMjg5y3P8jUstNjR5Sia8I5sd+/9xXpt2zQIphWcFCRqpEAS7oNOjKPVf
+IyBwM2asY3AGdVVE/EK5w/1D1o3rz7UVi9imB4wemF7o6vS92RZ+MmmeI5MmanpKdkPk/UvMVW0J
+9QzWcvm8NXfG52htoyfuDDZjDYoyLv7AFJF/mNWpksKUzLUYb/vYanQF8cqHYW0vAx1LaPByuvHY
+iB75ZcbVmC8vcTE/uqa6wK53ck2Mt4vQDeaifrN8D/ul3OAwew7CNI3xbEBGiBc2NKslkttXJiet
+ako6BnkHqBMHdqNKS4b+luvZazDKJXEn40RxxzvGEm8idb74f08Wu0o2C0t0V89hgGdurrbaINFN
+B4YhCddCIJMjN1aXzjGcvQ3f0f4lM0TPo9oLgNXj76bzW9nFGY9wND/B00qYQe69RhpPIXCzDrEs
+drE5noAFS8O1dkT+6SsnuJ9pA9FMWi3xHvGvfFkSRtBXeY6N6hjsC0C9YmvMHkEbB5bgDwJ4SgJV
+2IIbSTZIXuwKKInL8klFLw5dB8apEwuWQ4zz0bCfatf8CmZbjhOxPF5dV/kCnbs213/uaRzby5sj
+3xR2/YxvKgiWMwzpsdj1vtFipySw1goYq9VUfZreUMZQvspD9zBMbGaZUn4U9rv5H5/34f1hBUn+
+DQYsu4BckYWDtJJCxh4w491ui4nV/8U3SZDbMjMh4STbJkqUicMFYW21/ZiShP7hSEiHEhvAeazg
+zfizb8b6z4lOLxfRTIuzsL40QXVWA91VjjxzsM6X37/XeL410I43orYscCRKViDUSRMmN2cQti0I
+UQSAvNqqf+24O68m+gNdUq9bMEJdpaWVGHX3InDlfnsaB0DE3AZr1AxYa7frUwqcV7rGGbBH+5FX
+QnA3eTtqVIryWK9irdOheeCcqiAB3M4+PZrfkNaOaBIkj0jCj75JR2Ygws/D1gD7fHGF4AAh1+Zz
+ZuF9d4xwB//cJVMM/kXCBX3ntSl8ZrufidASdPA1fmwjgiopEU3k6IjHIMep54M5IeGrb+xEnVKS
+cX5va6Iyte1CGbzcxSHjVantfrXYN9yPgWjRxaw72pjZanfO7J7GPoWQODsEonEi8341f6q1+h83
+uAnZhigosLb2h89ihxhBoyGqfV1Aq/6HdB1LleMp2PjKsoIwoTVRb57lxRHjdHA6Xu1npPlNKW+j
+hGukXdylZOTKkQR5dFcSkctEqLcxxZqCw8DIooquWggBOBiL1dUo8/HxgfMaLGUeY76HuS2cbLeQ
+KzxdSje8g8NgsuKbXpB5xVUi6UDj9zEU7DPuNjTsyWETdXGYx6+urRdUo8wbUbZ3oNMRYqG5TZAb
+c6M+fre7KS8VeBLoWzzAsTA69S1xs3E9ORLGcgKTd6IdHsjSt4Vp1j7qPjTz2js5KJVRsCXMXfIX
+WCyQ/wYFjv0u+zTgYRXxEYdjAh1Cuet3KofYSfSnp4IV5FRHbQL7G7gho67ztY1qDXYmm9kSClki
+I8pWlCHoM+3sfIN6Lh2vCBtJ74QcYyx8UI+LIvO97anPhVJzpr0/QrRAMrMJmIZaseKv9aMt2wts
+/1dQp1Q55yE1ysjpAWRM20Wxj1HkXWTrQAG2g7//6jJbt4T1sh9naKhMprEiI+lJyqW6KGRyolMn
+JAzTyYKNgHS7X1/o6q0HHUye4/HU0KsUn3/2z1XrSOeTtpk6uXtXEFfXMVb7FlizBg10mwmZqwL0
+d3Es8Yca596wlTrk3pjSFx2oQnX9hPsIBbnKzDeNWozLbuTFMKXVw9e1aru0yCSl1KTDTg4WjfHe
+ef/g3x7WwqY4YQ/dxtSXr+12uYDk9ae2RuOVYaKr/K8F37Nqfi4a6Lfyd8vJGfTlojR4dFNXjRaQ
+4T6xsmFyA9mZdaCrro12ClB0jmVLdfQFg9BgFTmC8Nnd4bsGi4SEJmxzQsqBB7jQYWm2t59lxCp5
+/pZmcD7MwYGqZPZEfuHD1UOZGEwy6gMV8kxRUjcndE3Yp5G7nCYZKEwiVMoUPHwjmHRju8DY6PA7
+SETE0u3zFqr0u7vNMToqal4ZZuUJvWqONFmkqJ9NTrrGdIgPHvUdnkkM5SFxPedi9wh/XXJ8FZMW
+yWJBLp5WlDgCUX1pTw2CEzh30bAgmVmeEliXgp+PEtKIlpzqNduY33eOkIBjlWar0an4JbXHXqkn
+Z5vBozK86SZeRJL9z7wtvKP08Xx0UM/A87qA656TluwYweowDbiZjAOE++AXkeM2kG==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent1.php b/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent1.php
index 34cba8e9..38c1b388 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent1.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent1.php
@@ -1,17 +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+cPmTrqw93qYUL6i16WUsGDk3Nqay02XgD+F6I8MBFkD71fIM7nkaMeNMfX3zRRIsPxRzA3V5O
-2D7DkiLYSn8e+3f7zHRN1Od0PN/wwhVpZal3bYcggoTEIq3NYivA+nY7EZQmEN1AnO6OWe9Mz6o2
-0/Y6a1dj6qjDd06ZsBoGGypoYzGbyHHrR6/exS/PUs7WP5xU7DZf/9oxrq5Gcg7Lx/ZbPmXtOsn6
-6vUPKHE79Lu+vl2Q7VdH73z2+VRk/0dS+D9Obxi6p57NRxsIrbMjLOfF3cCKS26eRoRFHfDo34RX
-y/E0CV/StEp97x/9HFuHhfAIUqd9//PSmW/yxoOsG+8O926uFdAFZuis0x+uI4zm9fjLfZ/Lc2ju
-PFXOVsmoVfQ/7uhg/Y6qTgcnLLkEov9XY+MR+ROHM4ovUPiuX0A7JcZLK1UyPqUslzdNErNpaZ2l
-AoeHLm8n2yQE6u/I07Z0sWZnq+CgC3VNFKJCVL/yi+wo5EIEsZ2+UEpOrNUXN+L5wFXR6GX3PMzp
-HOQKq+hzbUx6Or3BW9LSs694x9cFbED4+XQgIZ3OF+1lKFOHIylzMP4RjsWQaGkhecmvDfpazA9g
-Sztw2ADSCPLKsodLL8qRzVr+aoNmh/nyNrfCzXMJWsvaXfx5Zs+lw1HlwZKWXw4w99DVlIROxwfi
-HjphvHF+MfWMjA+y090bG+iCsHkCCCnaMo7rtYWdBf/WHjE/vEmIu6wSFo2T4EXap/AAgNBRsoAf
-Bau1fAdmU/4/3yzYP12Ntm9R9KGJzCV7pbWDCHraE7apR/aeGkk2uTtpB+PMUWjL5bSN197BX4Sx
-DWFdGIn+89JRsUOvhF7mujaQ4rp5QZvtHw95NmbRo9Kacz8UUI0J5LkAUWWEJ1yhQ5M2WutoAwrQ
-uTPT
\ No newline at end of file
+HR+cPpMkBrIATfIRKnkwTv8J66LTdOS5/UJsM8cuXoCRvVVF3iJ8DlfDsom+rLm6ki2NOHf6qTpU
+cva2Jq5xj5ylbhgsLxSF/94VvX6toIPQBi2Bl9HIR5InFtpHKaWZyvCfcgkP+bJSxdd0sPDrIEoS
+smXSPP+MECKG75auJ2BATuJmsbmKjx29E73KnLNuHNhK8yV9ch83mO0sMVWHhyYaKSsAcMbXnMK6
+d4v1swjmIym99ERf0n5HdFSSvz67HZgPPEcoC7uq9EDBiwjz4xzclKadUpffLstntenMIgyeoAwD
+U65V++yKe+mJrHd18FJ3KfhL+wdLs3lCx6xyf111brD9GJy63Kr89ErO09fzz+3hKMtQK/D8MAdW
+lqyk4bGPKlftLQAQpIOT6DtzLAeqgZ89rFENAB10exCFKbFviKwnHuCbnNwQuLCPyNispte8uiMC
+bAFat6RLQWkPJj4KRrTSwYyxO93fYP8uafhgu0ebxZykayQr+GbSGKWrgoU8IdPQTU6HsjVWBAZ0
+OXV5LPB4nW7RoF4pLQ/i7kuEkdvxSkBrfTq/7OWnVP0q8XTMBGHe4xSc/Ul4aj5xQ4XAKYUw7lb0
+Rd3ykEDAzIgJczrpSoVwdAnrA4Mc/MUQdyq1dzbW0sHXlb+pl57m5G0v+qDoro0LlcR3cjogASy3
+iF6eGOxkcwRLWhF3BK+Azwaejzb2/qwW1OyOg7DlXEW1YUTAteB7QcigX5Q35VybwGcBPTM0Z+y6
+TecrURMNISIxr8E0zQXTbm8bhEr34CuAeFS+UETAX6CU7eSL9NIDk50AGtnTnD2dnc8mCRIhewvJ
+zyB2rR2+ZJLraOeFrOk3R6frCcZHT3aBQ2zKdQ/+O4XTWxVJRCcc5O5SXCkjh+2cf0==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent2.php b/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent2.php
index 95064ae3..62c8b243 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent2.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent2.php
@@ -1,16 +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+cPz+qw/oWdT3plG5+tqcNhVZqHvRXgAlSeUa2gOEVjL+A9CjEsA4fBoniJjGhdkG+UcYZXg62
-vK4r+nhygvjqkCbjr5rIsA/rWtY6lhdVBhJOh8pp0sZIy7GzcxvzPn2JWbNQ5ZbDtEFSb06cISpe
-fEOwheZpbY/Ac7V4Z6yrHMnkBPRMJQjtBYNhaFNZiQT1mdvDM723AUlaPCuoJYdaZsSnet+u2X4U
-JBGWPLuMeZRJGmbAxYPW7H9pB7PkHCOYdxGFFhi6p57NRxsIrbMjLOfF3cDJRcypx2uhcapjKAFX
-S+c07TlPxRRefih6LaoLlRobuc0lDh3BTYOV9oKpPrtciX0aiqFtc+upWquoNXt0MUpPS41xcLMu
-cjK6a6ZdP7nfrXPyUkUdXwUKKw0Un+PXVPsqzuJUSrNlmpqi4iILRWk5iWEympVxjQsvroumxkky
-yFmIyRvI1CGsk8GaY+wCbkY3YZICmwMW+7f/C7fjaLBuDjeuYBRd1o+iitHfEnAmXVZCiTGSJ7ZJ
-7XHoVIP6pXYYGCWnpKR+SDFIm8JLjxnBwXtaqgVxzEbTTcWMe0rwIOlovT9ID+FS2bg19tETbqyZ
-c1qY8Jl377SlhaCEyV2BNZy7ONMQvpYLM0uTEQinefq2FHvyjh3+EMTMdyZ+SypBnOYPBdQR38jJ
-AuwK+ZHYHD5zTsqgc8idhlLD/xjJB/rF7sft0MFUzK35bn7M2x1s5aNsf8xF2jMqLXeSsLb0UhAW
-APmtzryomBkikT5Dn/J0PEusPzAhextWSKZJ5Eqm+qT+brYqVyKjSo21ElFIK2LOnsxH2cTRpIIq
-6j0NiorbBmEFHzTWPRH6R/TNrqY37S57JTZ4zA5fyU0K7j46ozhAyqQjb9azfRk0gzZadjC=
\ No newline at end of file
+HR+cPrlfIhmZDa+qEbpVdmT2o/FVPeHclVClwewuVd/73NDZ6k4xsxBgRoAx9Ech7EkBUGaZv8JW
+HWdBYquGZgKZCoKQTItQQUW/ZuqojFhIom+Co8qBaU7DYKAjicuFUyCk6FehzjMrmMeIP6pJssLD
+Cl8AUg5qUpRirDyOP4HfB1bqqJROa5nsPXzkha9fLyVprnu5YjoZ5owIhkroozT//tUBqpPvGRHn
+srI5bOVG/AEUt/S08YLGSSneu1d7qIS0auXOC7uq9EDBiwjz4xzclKadUrLfWhD0hqm5cr5mKguD
+Rc4t7rj2YAribMNzVYyBO3tcE76UfAUEjfb7YyFM0SY7KG+NY6MaisOBIctbEmhzR8STWVvkr4Hi
+pt8CXyqImmJ/NaNI2eJGSIJVdvChVNGxJt3E7dMXeHgI8jdeAPd4+qWaPPDIddwKVnRWfqGAlyox
+bqHkR2deuOpnyQrQixV0QbalWv5N9hl/fttnxkEk+/WgcItOyh7+bqYfY+tevXYJXhCuDxXRUeYW
+SYjcp38HKQozUUCSSaJ6UtBsktrlInsS0JQjyZLkczQ5a0WwqyJp3Z0XV7spKz/GeY1qlD4chPVV
+4d9sdduakurUkQicxai0BTw9c25ShPYRNOl/HAW4pJvhQFg9SWotHLX3KT4OVMs0qzVkAORfRTso
+o8iORkOFPZF0nPzqgCm0Ja4bogQr8Jskprvi3f+1VT7aZhvPIDQjIXIpvrrmsyAqNxYrnoJoGhkg
+KYA3Rsn7OJDe/XSi2ynngxxIXlN7XKNyeHeWBP5uYNDEK51asuSYwnH58P43/Ni0YtvBr3RL2UAY
+80Xh5SyB2pBLJtniisiJJkZ9aNxm2PWDsXkv79W8XFTBxxGou8zB8r0LgYFmC6TVJs68lORU+78=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent_abstract.php b/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent_abstract.php
index 488231e3..bd07622e 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent_abstract.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_articlecontent_abstract.php
@@ -1,141 +1,140 @@
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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
-cba=
\ No newline at end of file
+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
+Iqt7uf1O+Bf7EvOaqBsmwRzsd4rx
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_articlestorno.php b/src/Application/Model/Requirements/d3ordermanager_requirement_articlestorno.php
index af5b799a..c3a2856b 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_articlestorno.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_articlestorno.php
@@ -1,61 +1,61 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_countryfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_countryfilter.php
index 2255d924..7c5ceba2 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_countryfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_countryfilter.php
@@ -1,90 +1,90 @@
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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
-oUIEraXK/CDeHXgtl1tvFG==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_currencyfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_currencyfilter.php
index bb9b24aa..54b32470 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_currencyfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_currencyfilter.php
@@ -1,74 +1,74 @@
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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
-2OsmqZbmbm==
\ No newline at end of file
+HR+cPnVc55c3OUsUMYo1UXqzFmk5K6tEtk9N2OQuPuRec6zWeftYkHD1Sh9VdbAUXqfFEm8HKMVb
+osTtGNbtGkoBgczhnoRMtPPYErADyiKbnm+L+2a/wZXuXgAYBDRgOM7ZxM7robt8TwGaU8idSxi8
+6vPNkgcwxyS7v3ZE97py+UO178S80fZGawoSRupy1/U8bGxOBagwu+QyuDvQcMSYuNs15O56Kio3
+BlY31GRy1jY4ZTAY3rWkGNutxAB0FseRqncBC7uq9EDBiwjz4xzclKadUyndFiJmFiHm/HUO5wuD
+UM4C539+SKJrv0XpndK9tpk06o2DQ/1SZ4f+wZw0GoWuNARMW+YCBU+iWgGcOnldwWDnQyFgH2hs
+wo86a/GTqr2EdqsNql9Gi3kTslByrYPflckeC6lg/8Elv4J3Z7pw8mw5DStGtpgoE4cajDeTDiyo
+ko6z7e88pd1oref83euvuI4J3cIMwmgZDrGgvuarTj/VjZullCM15H+PUFWKjTgYN1NqzzvYVFPI
+VlxzhUbiGPmIBA0ZEbRTmbP654rSOHJkbi8JZBJ1MAGVtoLrsuxQKCKbD/Bt9YpJt1d1JtH9YL/U
+VQysR0xy9Tbgbhg1cNPA6WVlWNmP1ywHnELBlMbdkLNmaYN/qRqbKpVJd935jropgdhRGR6YKIly
++6iN7k+OsDcS73zf3IaifzPBRu7N+IPmxZ611Xh2zHcCEoPUgTakmlWbKzG6i94Plclb0+pzkDET
+iEH6hM6lThI09555GYJh/jYIjQoGAjvZXRZtIxklp3hh6bpApJxX/9pDSHhm/s2MOBqdyJvY4kyP
+39AJNfyfvkZApuqW24TkvPxHKH4iNzC3IBdpkzNUwPnovpVrwKWQ9tpi0fvphytOpavMG8jqrjlE
+rxRKlAqlPvXgXQH5FMG5ESX9LY5eYhHVEyI44Ox9Om0zHnbC6KzUOu7shy+k3doStVrP23VeHfEa
+Q4yqBsu77d6fwe+xiHPB3+QNUArmSlBW6f3yWYpWxw2mt48gWbyDAoeqBU3wpPxuhFqLBbW/XXtC
+qkl7PoqCUzRfSmx/sKiHbvg4S/Gh9cYA3fj6Q8mkf8s3pJyHOVjjiBpxEj4sjPpvUolyURinoTUe
+Hnz1kyOhyfwaNOsqcCZXfyD8nkPaAkAGb0YZDyQEabWGyqaJzfjCEFleHK1bKXAR006s6zmDKt72
+OycXE0796tkN5rbu9mFg/BetZ4GiVzPN6VaTqjvC3tvpv6lPGFVsv1exwIqUZAdajPBlHohqjIJq
+p3rkAPQ31jwQdDNTk/9SJtBRiyV+co8V5oF4jqRvVWs0TVckzpis5HbAH9TfGubQTU1UGzfHOQWv
+Msku1PQd4LS5B2yW0gG8jZL2Q40rhJepx9qMHS/JwCYTQeVlSx6WjVD1ZBafdLISPwlOxF2Xicax
+nBIAek++AG15EXQLedgDOaZvKTactTebXNqstn0rKAA3h5f/6sMH1aYHWt8qa3YFlYu7T0o4pHjd
+sY9up8Q9Dy2KhGgcRoWKB2AE7DgQXyvEhyLL3ffNZnGNd7hYcKLvSUopQagy0wXt0xUYrtYZpUNt
+NLzjyPAuHLCO95G1XtfH3mLlTEsBB5Q5Ir6JbTKSUbylooqdP8xdaPoDP4mTRiLBMhzLKNz+K2GK
+oXyX2/YcoJkcyWmMuH7N3soGO8/G2jGQdSj8FpabUl7AGcMTtphAAhsLzR+4Cn0EGYa1/W7fg8vj
+gctOucT6h4s4CWmbe/AcjXAlx5VXOoJ3K8cKIfPmGZhAZ6wK8AyOtmC0xIu42Q/WvZW9bEkAeDbh
+VbkMi06obTigGHOgTVm6pIkKsgQIIbmun9i97CR2ISrIrkuDpV6MdOyap3LHM7HAZ0ThRgaup6Rn
+tLqirFdF07A8LGA70LKdw98n9aVRRRwXsN8hWePaJaEA8LHGid4G1tD4Lh0FJslEc7GD3xMnRPS9
+XUD5MQ5wSENnZrE52syrowaaabs3+OWER5gfNw14/CBA1ngHMwhQ4UdNAKiN9XwMU901i/OYYQVm
+85Yj93XysNR4q6YUmp68gTs5tjS0yhI4uNuX90kdNjZMjeJDXGJ84XzcqnUiS/7thX3z3aGsxc0O
+e9EpS/oj7v/P2l/Wkc/wCbsk3A5uq0MgUNs9rn1lw2c03SR7I0j1s2BTBz6wD6GfIUOTgVa/8oyv
+eXxZzPduPqIETMnpEV7jBPeS4gN/YmoOaIrkeJghGhQFjE8puUst1i0/hNUBaSJETYnLuro6jj9i
+rCv5wCTAP42zhqC7Cizi+tTi21DkATdbP1Hnmpet5ohJ07RYvaA/5gSzkhWf1ndj6WCGlSY8WmbY
+Gklq6kYdysU3GpaQnOTYPfTybeEE57uP7hlSmcQXxSuWpcQ7BvVpgDZVtdDcPa25eZAcTKFEbvdR
+BWPTTiAZD6kE8JCxW6MT8T6WbeHNBtGcfmtap1pEn1D0k4H+bX8JVz6h2SMfNUgLwHKFgk7kur1F
+9HqSScCQX2U+U31eh1cJ2a2TpA7UUFGSmjDyuup/2f9nLbCrl/JtZsMnlSQHS//vs+5YQwS4JqQU
+A47e18hATunogzI3+5u+8Q1yiZ4gyath2Cg66gNmJNC4Cj6sriIz87kKVm3Zz0WkVc91lzc4SR2I
+7slSe6zZghHm1GhEkzJkpkJZfNQU2nooV9HTYhGTn93gRFvIJyeIeCNLpdUEJGkFsPw0UdENRs+m
+yIPcgnB/gfkaX4P4PKuZmabd8eQXUCytdy1PL5nEUagqG0WtkOCiHv/QXEoPHrHYxeAQvm2kPCTZ
+QntjhG9CfEqVAsQ1AZV9SM0JjeWb3Ox5BT0lI7FuY6lCLEiKVZe5BcvxT1fWk1jAI8d3BG234WyI
+iUDaJovFEShoOmBxX6W/VjDzlbaeYUQncAi7uCcoToUx3jnMaUDiI8xQZVDpw6BxadGJRO/MdUXR
+uTXFFQ3TL5kRtDctYrEg3VIwRLLKyz4oHKIpRn1R8Aqvnqk90dtCUnW/XvtcFkLP86gfyPrVXusY
+y5dRUKyatNNzSmW4yUlNxKOCiOzR2kjPsXYtIWN7AeYNSFywTD2YLBvFqI8T+nPi3fo8d6NxE/bS
+nLYgNiVuJmTphad6oOKEtJam+w9x84qNjE0q2Q3fMnXt4FoYvJfZ6Spa7ZCoK7/Xfk12E0Tu9+Sg
+NJiMXNQsV/vytL4SVk016F/7z6GEJK7/wmSwXdb8klhQOPWsVMpV/zTKyV4BK28xMHeiSXT2w3cr
+wP09op2ijBn8b2fYDrrqL5EHuxNmGjDUGU3lsbY+KdUkU2dHWv5VPeDLaRjWwAjrreVQCJ750U9Z
+BSH77dI+IGhCw5rLow4e3BxgXL3EomTb/QHbRgMA8eH7cm7hJOz0zlg+pe1bZa9CmLkDs50NgxL7
+ce4eRQOm/unj3usFpai7jSDKVls+xsZULbyN5pksfv8/lmkAzjYOEXtEPKEeQgk+hY9JU6ZkcRQ2
+qbIz++vHD4B5mvCo4bsDDUG/BOivOp2mqgvArYFr1EkDb19cOkqwv8NVyJvjT6a+tF4dsX7DYtjK
+IlcBkahxF+f0Au5v19D+5ZUqZcoI7gI43EICkkqz2LL7iwTDtsW9AIQ88+Tn46NXKpDmEg2YZCgM
+Mlltid3OkxxR+//VMXJaCeb41Nnkw0RBBtcuXpYbHBRGYFfuHlnKQ1ZHASzm/npG0j/VExOllrrf
+v2cUnIziA2q8UDIybOzzew0HurS9CKQnWmJCeEeLmwotTN4lKihOcLXkkj7USsOmL5NUoAtW0OhM
+GmmdvZx7MT/bjYxdV4qAEybcMsCQFmdJb+sHn7AHmAZleXlvsrY/5U9Ne8T0nL1e71ZVmyWr1S/h
+fDcnEuhlgqPtbZDUd57SUcZiw61RMvKPC4SO5IwnUA57BvuRCUXNFO70oOP3/UzyeYR//wCgk864
+ORdQDJZKaatUYMcsh6J8AkqTE2dm3CcM2RtyGf+YC7cVA+Nul5gDNL7kcN5zaFKpL1jX4E8L5/6H
+HG5SIf9oRZteT7AY03+n4mxxIlkP9jYq7e3xP1zcjyCL/uTHUbq4VTRj0tRV5pguCBYYda0BSMfn
++nCbyd11ORt0SRvDMpSi5aKuO45DZH6CqKAgeXuI2ZIVSBKF0Kt7dCeBqxMafK8NJmhL8Z8BcTAf
+5XVakKSEe6y/7nNrcp1fnthMfI+w8yIQclydOF2hNROogMd1ZnbM4zntPbM98NQMr3GqSCFHuMMn
+225gb9WHOZzk1f2hvSxYlRZlx+rmenaY2+r3cA7oTUtAysxNInjrhPPu3TGz6ItDCWP+6ahuUsJG
+A7Dyj7cMDlGn+tieAo6x6NJRb+hEtlTq3/XYktEfrsk7sIkqMsercJbChhsUhGGK5dm/rBrNeWT2
+O3tWrcyW8ytcUmnod1shzkDoKwrWDK/820SQJ3MEXRIMaG9SVqwxm1u/8wT1/yDHEyvpArlev+ME
+xKoHDav+7zWsmR6eTBzVljdJp35vKl5Tuf8d/EedpAJoonZGzSlrocTRYZIY1F5aGs3TQWl9oz2H
+cXTZq0tRH7N7FpS5saCZIhiZplQPPf7doPfBePrI1bVRco5xZQlAU6VrmPRq4qj7NLGGe5cx/FBw
+kt/Jrz1XdSEY5U9KfnrMeiorCxz2XkESQQzlfX+YSdwMvk2rD4/TKER1xaJC3Sj2i//LuZjdImKU
+DRoeE0Bri4IKtpWD9y+Gt/DYYJsXi7F+nLTomSe3EYUywDo4bnNflQ8F2M4ZfXUczpY0G0bIsWmt
+Vgw3rQD3QbWhiglpXuKGroWT9QbXYdJgXgfJwlu+dZJeBxe1FQDJ6IeLhqulluc8g6HFRZ029O/C
+DpQhpeiCkG7qbZ6fXPUgGv1CrupngFkWSDGRAL/UVisG4wOo87cfueKMIgw4DGABBJ3mUiP4FTMH
+GKP6HlsayOGFDNcHNZ5obeICD2Wxt15B2eTajy7TWWWEQ6nYTOnMULY1LEaYSupqJWOINpTumnfn
+uRXKb660OHnd8ftexkPe0WtQzvSbweIthaXM4BwG2TyKJtv/KLcIeOPeKV0L/e14TN4YW9vSPc6T
+ZuNY0tKwclIS2fPGyKD5M0C3BIXaLS6ypWxJY2ZMTIKa+1uULZwc8hzVGhkKnr8rGHkt7ZJ0mNP0
+vRmMyS/4BVFu3JDPIX1Lh+A6Z68LOy90oiU6phQyaQlqTEBYYahY8z5xqUR52AZzHMkVFmBx+jou
+aPK4LJYf9vOWQ1BnqUqOaSvPYSD66bT+KvC/LjMp4pO/4W==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_datenotset.php b/src/Application/Model/Requirements/d3ordermanager_requirement_datenotset.php
index efb0e2a2..45198ab4 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_datenotset.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_datenotset.php
@@ -1,74 +1,74 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_deliveryfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_deliveryfilter.php
index 24b44f42..2cb6041a 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_deliveryfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_deliveryfilter.php
@@ -1,72 +1,72 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_executemethodfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_executemethodfilter.php
index 0d612660..e88ff4a9 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_executemethodfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_executemethodfilter.php
@@ -1,80 +1,81 @@
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
+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
+2AzvOs2zxBs4/GtR0RVdxS+z
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_folderfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_folderfilter.php
index ab64d115..704b8aef 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_folderfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_folderfilter.php
@@ -1,72 +1,72 @@
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
+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
+9K33OEAEpGinhIpzS9u=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_fromordernr.php b/src/Application/Model/Requirements/d3ordermanager_requirement_fromordernr.php
index 1f42b853..5d96fb4c 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_fromordernr.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_fromordernr.php
@@ -1,73 +1,74 @@
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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
-S5RMnaL/LZ32Knh+fA8APioD0x1yCzO9
\ No newline at end of file
+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
+pBoq1oTuJW==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_ingroupfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_ingroupfilter.php
index 09331b0d..3525c9a4 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_ingroupfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_ingroupfilter.php
@@ -1,72 +1,72 @@
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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
-IsELyj7Z54n4PH9m5RTS6RN+
\ No newline at end of file
+HR+cPm3lZuK+UNIgnoKQfdzcxBk2avPzXL1JVi8I5yF86pYOkLRW99FYw0s55Hp3u8/Z9DLJeL4c
+e6rekZgGLAS45yqU//9223tDPHJ+xqAA00KfMva0wVegDxwTEsxyILPXyUaPrUoP91p8e7DAgeyV
+dI3ssxHzQmq2SGI8NNxxf7llaZTCSUpTKk8Ijqx83BiMecEBCksHqkFL7F5QnrVAPHuRhrf6Yjxy
+3D7l5tP2ifDfc3SnLZWRbNSbfHb7Zw0LDoqClN4mVZGauqkpgtqJlsQzIITxcMJPjEZF0IuL5EAU
+hervOLSZ1tYeGAahAYa524PCvwD4cy8xo2Gr+JTPeygXKJA6v58ottUN23Ud90mdBPSR3WOW22Hd
+/EhxiMYGAkMs68MzPm73jho2lnhy5Q3ZCiVyZGVDCFqAmPTFUbstvaIgH/6LjicC+XTuvhZju3vn
+Mk9QXptuX5c9YQNq3aJ/KGDpAIBGD/SvyjoW4vO6/KhquB0uO856grUcjIlN5R4ghC7mnPBhpdUh
+nQbuGkeLDca7qjR2uOSs0g5I5yYvJRZo41YmUCmJjRCa9rJVge8CSQgNsmOp7DK39r4RSlWLP1Le
+/41aPySoBFAelbvTCP2+8bbkmMfJNb3wmtqZjf0vqnulD0MxIhPMWv4V/kEm3QZKo6d8gPoeNenR
+HYlct2vp7UVQJxf9nuh4kjZEQK0FwQV4xUaz9qQJEEoNREB4fw8BDSCJ0iyhm2OzM/TPfzQdWaZF
+iYbvD0A25aWuqSSDuR4oHgiTeNbMB9yMVp8x0UYWA6DXqWXkujIcGOSnoN7XT2s6B0cGDiuWkbBF
+Y1vGDwP44ZKrIstqY2JZwBFiCsKfYUV+Oz/CBg15UQRllIy8k8xuLihFLfqlanKvEPZ60rDSZUl0
+cv+tso7yoV36zNgbHISV1DMI4L2DFoKBh5je5j9Oupy6Rh4fMhWJEbgjYAptcKNydE93fVon7CnC
+9FS4aByQ3+IHScgLFVyjv2lHLpvq0Hda3ItS6HwBqIsSSe5vvCqKRiXgsVQ6ZH1MHFSCZlPTvKOe
+S4XJ84g674qVnC9fY1yfVgdpxujvB/WUtiRNA7f+m1Mec6i8kHjZjXuGb7605vJwSCxqAOtO5NEh
+mwQ1jvkMYVJXNTF0jwL4dbgqGAVI+WkvIVGntDg7YjZEczEhyEFfXfJnt9MLhSEsUlpczcgMSL3x
+u2ojNQbqg1+UTYfijU2k6c2bc2wkUN+0gUZWxHLKoZ8WTLmvuaxfaYt9PwydUgLqHO4n6zqiMGAb
+iwXuB+2gbYbTDMkeODdL3u0A+vRLNruOl2+f5/4tNE/2MsR7TXxcB+aTIYWgNLPqrgfVr/ef/aQ+
+aT6UkEHNLA+OeGeMGigzhaHYqPMY4sozRymUHR8bafsBjN/N/GIy3KB+MXXBdyT/KP3U13ZshIw0
+Waj4dKWij14UH0kiPoHhBMMuq66hgPv+rV7LS+yXE9dmu2RfMUWiwdk8n4iqu8fcof43g3jCA7sW
+7Cv6aKL/ZCm4zn6VfXZmfmK1Z2D7pKaVl4+dJyxuucNRwwezDohM0GCmSvJNH4lO5StzZK5rQ6fo
+SJkDuSZiR3xuLkO0H1DnWV0IaES+5onkURRRTSRQYhP9KIqXIhaVeyfr3fKqny4rK/Lfuj3136kC
+eFo6H40meJ1CLdr3U0v29Ze4rEEJz9f5SVTHtj+oPEbh3junsAdg3aOBrQm/mJGvURY0DkHgTI3b
+iru16SPlMTCLyND+nP2lITof/eUklWB97Em5DgxXtcCBwweQcAin3bwPhsIpjPGcfr9cO9ptfPxj
+X+Wdai2Wg2qW3/8ToJMXWwMBYG3NAtczapqW6x4STkUkQu9qkzArdECYWglNYy1aPCnRT8/COZaX
+aLdN8ehHsp6GK2k+MBqaf3S97r4pAMSlhUwhSatR2sAumbeKxuKQwC8c7lWEYS4PraADwZHTM1l1
+KZQKti/j37tJjaxJ5l2wyVqm4B6+0UoGz5i/i0/Y+FTp8XujIz2qL/WnDLluaUm90f7GNF+h0bK+
+TXYjr2/UmBakzdpWHpOFg0N/Q+PYp30nBRWiRJM6wUOOHKAgizqEPZvd0GvZcy/uVUCUK0AXlDGe
+7yvWtw6VaUMvcgrCXK5uCGSb8uARioBGKU3xfoozsuTM+PzUpqGVCQ3eyrj0a+PBCSeh9phtVSHA
+N1+bd/iY1DBfzJbdiRczMIHlgH/G15hBpyr7bai3pshxaRK0k/y3J+KC9Rlfl2mVrZ3MmFpj5/F+
++Q19VSKtNta4Qsa2SZk5jb9Pz2BPfF5+TSyvspE0OTOsQ0/BgIhAU52yHcI6sUHZkFz+MlBuM5HQ
+2NH9OCeW+GuDxN8fkONuzm6P1/h9ABHCIEMiYhEBzm9PngnV2Wew6MLJznBUWSqBhC6cU7coDaYJ
+XBstu1KS/ofnOb/oNKcnm8TZ+ttdpvl1qV3MEoIysjEHFdwCTXD5UeoJ8ROGAHmaC8veUXSQ0lC/
+lZWBDO0obcYdKOKxGUIMYFXNMp/rxd1uBZQb+Lu29q6w0I1iXyqnCv06qz4oyVDgslCxBdeXmwMr
+bpEYYTYweOhDvo1y2MZ+ilJeYUnayKbmy08kRkFSigQHqbfLitF3S5o3BMxH0oXAAmGkR9nbPCPw
+Du+9q91IdW7Wpibxy4/uGeFIfGSfQ1/62jH3DMZ0mx36obWNK7f4myq/kQZZei8na4EO4UQrWMh/
+ZwmS/+CL0qcHkfOurSG1MwMv7ZtVyU7aIl8eWUESUlICshsuw91arPP1hvaoNLrxkpOC4SZ5eC1y
+T9Ghxcn1frdKa+ZgRwFYV9thQ+Pvc7rNtfSN/2upZxkr76riovop0TPy/mFnBtp8emjhcMPnY5te
+G+F5ajNRwMD8Wol0nTx+zgBx/qCacS7yjwj0/C16Kel6eGJzJkY8xYWQt1vJA8qgr/NWCP86vIQJ
+6p4KurvtCrgwJGkX/343s2oGGMzw1ZxNLRkLv+Axeg+nLarOMo7FAufO0oIvlOODaR3BoHKZpaXf
+htAO69WQV9qY4M+nns9ltJ9RVwBGx8aBtL1SVl+OzAJIwiKFy6UU5sLjwUPDCnDQAlUwKHmP1cbn
+spInmh0YxpuYDTVg3oON0kFjxvc5UH8GvXWonBHNcqCpB1X7B3kKTItvOi7R8ag1KX1ZuxuO1imA
+TzOkd0k1zc/VT2NyN3jS9ihbXQsAQi8c6d3L4DJ5XIjIm4ZYaz2QXYCqGsNWDcvCcmyHn7zqGP97
+i8bBAuOV/AbtdixtuxL/5aO90xbqtitSoOYEUQhnhn//AM2d7eDGxTw80A5V9JNKxpGx+DNiUU4q
+sP/NSI7Uu2ZwPiMgQEr+AOCAytSZvYJy/5w9nFdT3NfLPZqF14HHcnVf5C+pAd5pUBa3LXDTrB5e
+DrevME7/o2+PocPSGQ9rRqtE2txFnMs02PEMzIse/XARuMZSqCAeowwNurKc+D+Gre1yFUQ4bwA8
+FrCdv61cjXH4hmWZfpr//p0jl+Ev6CJVJVNIWVG1ibEu+u/0eT6mAemCasHfdsTJ+GBYkLoDAqHC
+WNbXqhbVU+fPbgFfbZNQY1GU98HAb316jWoo9pjeuhEpxH8pfhUfvVwTWV8g8WRkCkY7GL/A+jgg
+xqlI1vuO1K5nXO+S3BHTQAman0gp/d973q1dJQfCQ3AasDbj27BCIDQqoAHWQnMaUDy1Fxz41+cE
+yEjgxBDcNpd4SVPGqH3S37UjhkJ+frEBGqa4wVAKqjPzRml/wfUNDy3NYde9YMVXwJ8U4cK51E4o
+b/Q2iEZ7pP5fM1EL0dYpMK8ocpzv1lkZ9+ZLB48bLaViDk6KOOvLRnLAJUGKWUFatnw675E2BuNC
+O9E6aFF4tz9MeOWiXkWfQ9ZZiq+wKhYy4hDdcVdPEjrlmIHxmT0UAuWYgCXECNAWazXERuZ9YOnA
+irGLEXM9NtLNRy7d+p8iSxQoKQYZJENJUzK9IczpApizP6yAqhMvTum7DgTlDBO8DNHapfi8hOGl
+h8kztsn4tw/0TtJTC7quIn3kxbubRBS9pDIU4JdI2getSStB8kLTJVuYhxxgmYmdRZK5vZkHrBcG
+/PyJEahKUlz1yUXlpw1t9sYQ6dAbP4g2jfyi1jN9IXO4gdYBcd01m+3C574ADFOgVljeEqif+8Db
+B5oBQn2H47XbkFlPmlPD3L13wQlCVO+BsUMjUH0ZtRWGMWMlJtIyBcRgM18lr19ULwGENbm6kJGi
+zlEQNMJIViKjcHu3MZigx2ONLurj4ysUg1ekoEjyGJt4JIcL167t00HKfHxWFlEAVMbT6N4mRx9T
+ij/yUSUeu63FW0zy8+BB5qe+vOQnJXYAfSfqQSmlKeeqEt0num6MO+azi87ehmS7Cf3DNTfuOrNa
+X705o/oBWaWFs7WhPBwEhcACj/GUO5Uimp6vlSzXhwBmoDL9/t5cXSRfNqGvVajdZzachr/b5rWV
+U08kVfqXgGq6yZMBJRbOpmPzdDle+DY0FjWXxbE/AYz6Eeg51iS9ttboxU2RHzGmk3jqYCF10EIq
+vKS4dHqLCuJ75E5KtvSa9cVFLOssUMUFzi1gKHPz0mc21cZm/LjLm08rqcB85XrsB76SdLgKrE/x
+MyVnDEYj+MqGGQ4xEMSBWLn2VrTDULvQ7LMet9D1rhgXXC5PXK4LCy77AvB69cetG8jveyQsFOQv
+OPJfJUJh0EyvrnMQj2QF/vWUD16pzh9sQr768T9YG5+ql+ZUpyKJeK4e+29G/vG5eYQ90H8Wa9eX
+UTo2eionP3tmlsslEu/O0uSkB2CLb8ZzDHxOYEX65+NVjbtL3qk7zpTtQKcFTOzvlUHFf8Y3JWFK
+CoSCu/Dc8UsYTzLBfKXwHkfwqAGim5VoBckVZKge7Ca9cV+dFRX78PHndKY3E56UTxmFHDhRTSZu
+8oBf8djW6MdcqOOntxyJMnkpTduXOV8AHC8HhaSj2dO3S5p/VxOjoLXRhgkf9gW6ezpjkemjhJsr
+LtlG40XN58H8UadwzeSVwqK+XbgQ/aRoiGCSvrcQo5VfcrdVYUOw77Oq9IVtSqQ3ckpSuvv60bWe
+7YegSBamgYQhyp/0gYopW3IcrIZzlYa7u54=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_interface.php b/src/Application/Model/Requirements/d3ordermanager_requirement_interface.php
index 30695da0..c8aad7e7 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_interface.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_interface.php
@@ -1,21 +1,22 @@
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+cPt8/l1PZ1GLPUeafDO3Zz3euBzj8DpQYQzD82jNfI8T8JtOBhug9yDgmiTmnHWzjwrnMO7Kd
-OoBN8uveJxXY98BKjrKwsxiUbj3go8B8iPPMjVeB8IwkUdbVzwyEXo4+peK3bsyZH4wQBT7VVRh5
-gSJPEPAqMlS0VfL/ZpR0ImtLiNrALs0kUiGdByq/YEvJWFaU/g3RFGuRv8cb8vpNFSCvjxO29r8m
-ESsarNuQV70uwWPYnuIE+oBPIEu7KR+D1xz4wBi6p57NRxsIrbMjLOfF3cE8PUavpcyMbTNSeOxX
-S/Y0KFzLwI3H/4qvrtYz7EtvBPj0JLEJsBc9z2AjkwhsW5UI5HXXAbBcx4pgbWDzO1TMdBCe7XWD
-TGdtfzKtnNydBd57ImaFoslSsoSI+lqT35giLnoVX7aHL/0IGkYDZe81CqWG6TOvK+GpulE1JNe9
-ZMo+AkneH1yjQU1xsq5mzMogDZ8RY5vlOfvD6b1dPRRglcvMbLvZ73lOPit+MhIUydIsWHLq2GSI
-DKLRrXmn6OIkeQ5gRjVO8bBiranQIdr5na2QXFFSnldqHdu3PNi6yVN8E2VyDZ/YmdTwTo5PgYBH
-5kfJIWmPpm0Cb4hi0Cwlc/dEqL6pYUJqANazb1TErY87/+o4NAu052SGKCH25ruLE6GtbGRHKRrV
-eozHpazQpmFQ4tCUtPk60yktoErssifOEsUaglv8Ctv33MjEhARHUWiZM2M4XGkIdGMfHEE0Llvo
-d3WQc1e2bKniybKYhqaa1OelBPzmBxycURGwmq8MzeyWOnLPfkrlFo9Sg1YjgtU3CmtIpWQ1lGR8
-EjcSpWKHZMo3RUBEe89vji0v+MUx2arofCa63jeTl/2WYdL2AxbVf/xFNx1yy/mjWRFKXJIvFbXZ
-QgPJD4YxlAxYdwYIkOCXrm62o9u8WlL348k87/qd/yL8vofDQ8aAfxrwLDREa1n2+3hPuFLzZmkm
-6jzcSbJIsxk1QdQWcSuJsWElooy7PQIYWsASmqGq/HLJttriguYoGFJXrPzr4SOAc31bFY49jho1
-gAOkRJGcIsjHP42CB7pOo5V18DidszCCOl23+oGZ+ll5hVhojnmJk3iHWqF9v0f3jAMwZkoIAd6v
-31RKqb3wLEFeGI9ngQk98ocK4s3kNrRMiBmXQu/1FQ879diwUP01bxGXv1cnBbG8sjf/tYhXKbtE
-Gk4t4+mMw/zKcMsRUGN3dhlWCsIU0M9ZkHy77vHJTKaSA2LhbG9V2R/+IJvmlZ5P1mS=
\ No newline at end of file
+HR+cPmMWskOgY3/9CnPFnPh6oCUIG+SWFlpcwyiW8Y1ZdM0Q8RlRIefxGFblmEyPaIKLjMgyBzwv
+GrebVlpHDEG9WSsNiZ0VSXICJd0o12iuq01Tfx+Uz+oJP45DDCn9jgbvZ5SM8iwLZ2J4c18xaigE
+VNQpOb8e51G3evVa5fI4uRnndg/9udN2WcpPBg48kSjNqMJCDW1TlSjQZRQFe+Pwu3SWJVI1xift
+YvSt82ZJAXtbWKduVEPAPyNQWn9EGaEDCYWWjSemVZGauqkpgtqJlsQzIITxzsPj8JzSz1U8U0tp
+hWrzOMTQvCeOY5KJcZwA9aGaaQrseQS5vUmhImBNmIxEi/p32HXq8l8Fnv800zqVRQBmwOodQqwm
+45j23qSKxEI5Sgk7EczHRf4PcjjWjf/CYy0EnbnD9sMo1GcPJWw/Xyu05SL9GojgvIsYULmxmFOz
+NT3z3OFzpe1u666Lf/Awk2p4IM17tZq8JbshE7bhWe4tgUTOcvZOvRkKeqjaj2VBioAPJlh7uFw/
+HSR+nxsuTXDhNvrHSqtw87XQFmEoKJ6t+J41vijMNGkFlrRfkvi/voxtEjKqpNjI0tXGc3Kc6kEY
+CIr6Xcl5NN98jNjTV5ve/4f4Krknu+NRXayF0ToF63KFbDPECxa9JhqkELcAP9wq7prGhiymXOQC
+c3sfM4toh6N0sA5LJ2+4mj1dlBPZngNRvY7dYlUQvpPGs0pLr9D+5kj6Dm8r+mEMsUF8o7QYdtrV
+AxfPwFMIShVhpfCg9/ueNueSLWzFODVYszHbmvuj1qVbxHNdDgYR6EW8xqYVvdMLyDSTB4nfdGqH
+Hz7CVQMoebDC0maTfTQZYtfUHtW5h1nCEUJJX8Zz2i9oH0/CfercgowMj+i6P5oBX+gI7vud2M6N
+24Yw6lO0zTlVNliV0nVlLMffNkzJxMDw+ngexWLOyR0ksjfJyMdJkvkvMo6Lm25BxaK7WgJ4phCg
+o9Rpmj7HC7Bey4n55Y4l2KNWGYAYkiBdw+yfpZF+T0KpT8Q+Y1/4hwO82gRVk+O0i7c8E73cev+J
+hW90YH84fvda61cUjpXCmKpTR0ctu0B0WVoit35ExPw0uMRnWEVLvORBaNfQ5LBS7eaYrT2Gbl2p
+ptlB0djpA7/WE/ZRLfnsQvL4d/gVRsVxBam/sIKGQLhyf1SgCg9E1cXfqE9OVO1Wrznh7wIPBIB+
+E4E5EX78ynAdadVREA5/bE56rPWueDWWOEWLrFZGYJIDGyEUfyCUTQwfORvw9al8PYcHl6GlZe+a
++9vKzOqwernryP0=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_invoiceno.php b/src/Application/Model/Requirements/d3ordermanager_requirement_invoiceno.php
index 2f1fff8b..edce5a08 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_invoiceno.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_invoiceno.php
@@ -1,61 +1,61 @@
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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
-K0zcLa2JtPnY1PFnQVZpBYcZoRSH+G==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_languagefilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_languagefilter.php
index ad152175..ca084c52 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_languagefilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_languagefilter.php
@@ -1,72 +1,72 @@
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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
-8i1U+w4p3860DKtP6AGL0Wqm
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_mailregexpfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_mailregexpfilter.php
index 66f189bc..47a6ca51 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_mailregexpfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_mailregexpfilter.php
@@ -1,74 +1,74 @@
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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
-Ptq=
\ No newline at end of file
+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
+NX31CK0FNfxgLDy4v7z0FhdxZqTv6AnvD4mE
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent1.php b/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent1.php
index 1436754d..e0978af4 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent1.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent1.php
@@ -1,16 +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+cPvqx5kdX0ElE/8w3oZPfPd0pzjLJEXl4O+9fn98hGLAfV9vDalp7NhhxENXgz9YMn9CtoHRp
-UqL/p7kc4mEEL5eL6njq7LsUYz1Kpo2Zs4kZs5MpoCfSQAauU4ugo3AXo9RlDu0BQkrnUpDcFVre
-YEd6YNkoj49nS62UPARjw58CH1m/Z4wtjcSAgWzWTUDsttkrv0DzzVRebBjxwayD2AsR7LVdnX9D
-TCCd3Ma/yrTORtEeOzWxUw+W8Mn/kcuo5VPpQhi6p57NRxsIrbMjLOfF3cEqQTM9wgi/GrFmL+NX
-y+Y02//pTH+fWLDIvC0xjdzaPqV57XX7/LqM9v+61UUA3qHsM3EzIe5k2uJ76+RWXz9pqX1b1HqP
-GmH9dvcKPdicQmj2lDMxnVO0+l0+I1NoziXotff0BTtrlergM5gDdIH/rEKz0MeVZAihuoVLVS0d
-TBkkCTbj4aHRCSoMgFJGE/2aKmLjoj1lb6OuRaiJiuGxJlvCH8yLX+XzHt2QixUExNF6oAKwqsIb
-hJZsywgAqAXFwK2wBlvPlU0fXbnetuW9nVdwlLdbW0qsI8t7kYoDCH6s46C75eNp5emfNjGtNT0+
-xHyvBCcdbCAUm3/sOOH5QZdagV7VdpdiGfyEYIFroQCilD+ZKWSQoJ9QX8LhqZrSe20NW4CiHZk+
-psNCiAL7b7pM2kd6esrUhVArItnpePYKcQZAEvf8fMcU1kqolRYZ6ou/xZRfrbC1Drh5IP9fQU/f
-4HtCIDqxhK9cHbLmRFV/JgDPVhRQLm8k2SDN+x5cym0ffMpQ3q33UcSxjjKQCSXa1SPkbNKLLUeG
-pv9ybUCIXkaVKHiYnjOB+ZQ6KtyBSsDc///9TjiY7rWUmlb/1pQYGWHcAMg0QLR9J7KBhs7QDy8=
\ No newline at end of file
+HR+cPrenv20z7jqNE8Hn0vFOV9AUYegQ5XS1Qzw1Lq0ExxKTID+Sdke1fMNTt7A7YT/v1HDoLGWm
+O0L4mFrK4J/4oG7FPhFNSrsUfcgp0KICqZ4mc7yTE2+FdLESnFgTRONuYFtxKRF/8B4ut3tkrYrt
+oGmCzxcDmqlcJbpy/WLgOrPx4+a6aPS6PIclhY3YGCZ1o7ykpj976CmC4oYXe3RTW0EWZfLPLEQ+
+ml6R4nafxlY1xHi5VD6b1pxrib+4g4pHFIDJbZ1+D2JZIxEhVHE/Phr99tlSPKt26M5jAnCqUyEk
+ZMrX9l/1fIbLNOFmF+1m01aPwtMWln4trVT9/pSiPES1rLs/WNCfC3qjknb+Nzj6iYtx21U33ZMz
+fzvkQT5urfh5X4fKJvSg1XLEzgZFkzbJ59+zENhTlg1Qw7/4iYyGkr91fukbd3uwdf0V1F+Jr9Kv
+LxqzwA/GlORAHx602J/kpSMuSyDtLJP0jJ+oCOhnUbJktho6nK0PPObVHqAyc2/cI0vRhz8nw3AU
+dV5BX3g/RBsUDlnvZtAgdBcP79XPEk8g1S8mEHYtEYKic9u7JD3fSjDw5d0JarV6NggZ4WcVvA+V
+ss4fME9yopvNb79EGL3XE9/MtSlruimN9ZIWeFDNJPe3kHGQUy2XTfHL1StAwTzDabH9oGYVMyqv
+ZP7AdPE2Aym0Sc3MJGLSuxdP4Tw47KJFHCujnkjy5CHe7VipSaDyjkDuGgIaLS+8LEdhD93ya7NN
+NI2Yjf80rtqGhnTT43qbsDOVesQnAYLVbi2v0il27xyLvAHHy0MOClTEtoSsWrHPr83ZmEkbPuNP
+dgsVqvvNHaw8mJRR3/2+Ex/XZVUePvB/sneLiMhwVMheXGGDRdProiTj6H4LVtuXkI7UVO0=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent2.php b/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent2.php
index 9d796fd6..9fc830b0 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent2.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent2.php
@@ -1,17 +1,17 @@
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+cPq4KenwS/1THMQ4sFHozGUL+05RHV/s28hguKTz8JQ99BZAU3/kKQBX/np1t8/4qAEvR/Qcx
-x0jyfvwiuBQIbgMEePbKVdEtoyQvwbg2REf6zGlNCgbU3J6d6mamjdxnvOGTvvrudqji1aY2ahg4
-vGXaXaqxAMo5km1SRmPHuQsvbv2d+f4MRk5DjkTkS9CWSJsjAYpdki8CJCpllMq0pIy4Y8Ubx/wf
-8sM0KK7rYFtNZNeL/SRkym5NiIFKFJTVlm3PkmRCKTTllPBMLQrLYayEOyjf1HkY9r1RTGMFDU5p
-ye19/zcLPelNA7DtgO0R9Hb8+nbbL545GMHiQDpIHuNji1AgqwQd0fK8oQoCg/zPRwFWqf3SLleP
-IWQLLG5akqvCO2Jl7NVBgjTUp+OUMCu53jNW+H8fsvuN99uvnil2Yvpm1jseuZju9F4TEpG7c0TP
-+VYJhCD164VDLFw+6m2t0SisOg52HenEaeHXCkdiQ2AxsPKQQPip4idAIRhmOTH6OIAEBBFPzgkP
-HsRYPQJhXJf0CQG0AQovh8PGN1yaYG0QBQ5zUSI/qfuGY/cj6IIUOWWixu8muhqrwrx2OkIeP5R7
-918eTy6+guQPmSauKTu/AnRUoZiM02csCxn2f9FVxMoyW4i0bQsUbnceUGv6IrJ0f1dFcThL69bX
-DAmeym2zsfCgCSlQ2gu/2ai7CqouPSMvHtdEj6S0Pl4cwKGxrxfSEQ3BSPRQqq5ra+JeSu5krCJv
-iue56dt7nU0R4hmhxNDNlxb/hg06tDb2S0gOp5PVm1iU+stpyz4XJpccZPcq62cI7Ddxyvkxua3n
-0gKGGflypszr4c+jRdgYhZ7JkHXAdJ9lVhLUux6MVSdEV5lO2fv3dbZLu+Wh74AzxuQCQry4mrCD
-KBZDuUtQ
\ No newline at end of file
+HR+cPqAQhBA5OXM5K2yvaOWfW00unrPI2MKJGTHIvsWeFwVaBs2Bm9+oQ08pZTp79Z5yMr+jaYTk
+gLkISvz6Nxl/aYM3S20YCjhaB8/uPvRFn3jo7aQe5P7kIT4zGT58bSXWtx5YPnSxSXmgkloUPPDb
+qixRdBGuzZ+QlzGekEmKYlz08/dYfHkuaCm4dEOdYCXNJtvb0dIBL/UEIvJklfmt+eCZZ6Fq3lNB
+sjanCdWz9qzi15eAK7pnWROjuo5lksOqYAjJ3J1+D2JZIxEhVHE/Phr99tlMP30rnZlF6Su71NIk
+3NTXA5tgs6ba9zVa1kxdP441zeSYGfs4fKrf+vgPc0PNMOjWsfOUmsgwWNg9Fh5myTCuYapqD771
+v4twZDIqR9Ty67x7AmjdSNesYETDWrSxWMSWOGZmAAo3nNIA8HySRgE80LXciSNNg+LlDRYS4CPe
+6j2RAyzEyGKxKtbdiMsB1Xr6iMz3tUB2NHjZBDYsdZsTY3Yky9zNW7kMIoulWR5J9MImVI2ari6L
+ePVw5Glzf0LGAbDIgH816h2XJmI4+B9vHSO5oaWOQy88c8bxEcpZJt9NWyXehLakwIwE0+B6lVYC
+yFTky8lRUZ4qPKrbt75x1O/2FprqXGm7+nLPKFsSLmL6U6St5/OF2bN3hQL1f/WW0+sFeMEr+JOY
+ruYkdIBkNjy5gn2PJSCeQjwoaHE8qesIyb2OShBg/RCtOZ9z/tUz6SmbS4GGYbNoi83dzPrZTlH/
+qRiMMkePb1Q04HHepqxevKPRow2Ks2z60sym0jsQO6pNCrsDXpg7xjQeHsOm4pErAEKhqZJ/SE41
+fKuGbseXmE1tkmo4Eg9UpCWJh5W4OCtxJ+7FCqL5CdeQ+/PuqPwItOX8VwmWA3KNLrqT+ljoNTkH
+QrYJf1sdXQ9Qtmgn
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent_abstract.php b/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent_abstract.php
index 77c095a5..39a48429 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent_abstract.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_noarticlecontent_abstract.php
@@ -1,117 +1,117 @@
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+cPvN2S+6FSqZNLXxcmi0lPYbDcoxPqyWqpibMK84MHjOcUCr3l/nbZ++hedC+sgJpyfGnFtYo
-SaCZ1bMVVB2hYD6m7H+bfSvlXA5HE/89HRc99nVOQjLYsrIaPuVJgfwPbEcsMzjjln+E/0pf8O7w
-7wozOJjmmKG3YZ2RFaCT/zJCeVbeIzS/afea2ZrDGq4eQAWS5EHMP4n0aIM6AkmF+Lb9h9x1X0PN
-vrCgVM9mXNdLa/83krWH7xhro1KSPqoHsVXqlRi6p57NRxsIrbMjLOfF3cC/QHIq7S1jt/+UNWdX
-Ssk6JdSbGllv/wSTa9TEilb8RrI+c7eMe9cDdfk6Yj8/9sS8fIJw+0Ju0tFsUJtMLAMjUduZB7YT
-vGxINoYODtH+pQz+q3Ev6aR0mH0dOhEzWH1VSFMxmfuilTvFy8ioMT1yPFnq1tbx5Bq1lCQMUhHi
-aPi5CWlHNGmKO8xCUuSi6fCT73W0hHF/mLUQQ+kyPAhyOCwTfqKJxjaDI7820uJ9P59tyuvdZkhd
-hefi82CUhWrdiyKHUU4PreHVpf1P8zbjQPzCOmEF2PPPbM1KotKd1yes9R7074jixEx3e65hc0Ft
-V71390XfKtcq2F8JAmHS36OW6NE4PEx84okDmzhHBC7k8ojPdFCZikG3GuARoMKntGeOjRfxGo0e
-dKLNU8EKt5XkjPiAhVpvJtCTej0eJ2AhudJuvYq7AxNQQGfNz7w6lQxiEFPvoJGq2zxjZ4FxSK+E
-j44+OCUswT6D7JELlR5soI5O63IKoLhzoxyODxP3Wc/GLHCQIBWsGZUcbmZpQFbwe95qlLnFckEw
-8FyDjKU+EVqB/8gCQrUryn/V3BwLovd5OMBC0foTJ1LZfZ36D+VSstlSNa0/tC3qLvj2seLPoC90
-WGgZTF1rPT0WIuk29gwtpgQUms9QBB0UyxoGhBntk3K3aNn2dtc6qgPaGH7xLN9bIu1DCmnDjjFn
-J4V0yr6hTSBnfb+3f3fsQAGcFfRAmhpCvWCLH2IccV0ETyw9yTyH+4UpmgdWPu0H4PJqJjCsqJ5B
-rYV0WylQ1tEtnDrpP8MzyTws2Dh79NsbX2S2Df+2hWHZsPNcezo1yDLbaX2XpSecaWRj7j2/c+bm
-T+qOg0PSSGs3FyJDomm1nfTAvkBxl6akAP4DgMIVNb1ga8Z6SlQmS6efAxwCPIJAjm/ii5PyorW/
-HFN7UtpComZC2EWcN1iJCXk0BE/v95k87t7d9Umfod/ONLdXDFqoFvYWY7I+Yb9j81YYl+D9lE9f
-g+aKmv9H99vwsMGSLNhr7GDSGkyYva4uEf2nK10k/u/1pkv7meLUgBB74PPb0FzgK/ifJIgn0CZO
-QV/K4aTSqsTtazA3//owTfySqkZMWNkU+HAN4nVGk0tDeQKN40ifnn1gHLXSYMJKceYVFPWOOC4N
-BexD7AyE7UJdxT3sE/EhI4BXnLgrYs0aLBuG4pv5IepO6+dKXlSspUTO670AwqvuEftqtqur2UTF
-ywwA3Lkc+YPPIDYIuCTJB8msdzXfDb6ePIGT9i32gyWKlfNLX/+7DkC5WGFS0lK/Ntgy0YSBCKVH
-VlHCOcszlRi2q7od9AYKhPkQDlky3BW0jwWTG38Va9bWoE9+gBmLPWxXoHOx35F11kUxHznnFVai
-GvLLEAtaDW4xdqPo8LBkaE9CM9YYylKm9cCJjfrItdUwGPl0wuRJBsVQSpqgC+F1S19dxE/i9oDR
-4KQNGXrJhjUNezs/fLw439jbpMffSYoEa9ft073DFGc4Idu4IGLD4q1pJA7QeZ+lg06CB4LTI0xA
-9Wji7KGTlgEQXKp5UHPFLwkWxA4Al0eSLwaXi/11a7DXfe4/kSe8gSi1ksg/J9i+OUOBIhIIGZrj
-8lg1sEQMj04o1ak1nIUf2KSPl52KNPPptimJh8hk8IPtXHm/IBXmRtHjCQMN+Wl/NUIWDTeKQug3
-+7kytOZR9fPI9vRTzwnqbJgEHjOu12zrdSXa1rpU0oYb4d/jSdweyF/cQN2UE/nQOE0K0nh/M+x4
-4Ikcxytk7PS8n+WDBy4NLtd4R4nmxbj4Koa3I9XkWqQfnVGd/ZtVJ5ap8MwjV84EUs/a/zDvFiiI
-KzBaZhyMiHA/kqqDkTLBQjL6xz6StCQSCMxIwySPd2StjTFR39ipDlmT9z+Klooa4pamzCpSxT6C
-uv8pjDtsolAHE7UIVfuCGUxQrt+fOlW/HSqYZENMEFeIi+0cIizHrZx0sBeWvL152/h26Z74APGq
-EX0CJ6/5nmar3RWmcxibL+2ErYe0EPdH1TFLWJWY/BHXKaZtwqsysUbUZ0DsdHQKr4SuPSpJJNA/
-f2pOIz9FMmsibxCxOB+9OVl2sUk1k91u4hkORbKbqDhBvGqQYfbwYvwXQLJ51KnhtONn6X3CYmmV
-whDPO/TqsV/SBIFyovrc+upUgc7YvozuHPxZ72FmoxSHH+3MheOb863eQMDSWruDclATKU1JEGZp
-ZkRXhuE+OEr80P5XogoszuMymHsklU59gl/VZuYxFTPaEX2e+C82lgKEdMIcphRW3dn52VP3KFb+
-+zEPt/9BDAR3lygvHGUC3tTIgWBzZSS0LH4z1RqD4nwsK4i94jnJrdyOabTr2/hcWKv7xfXmMX0q
-bJ1JD/Sq98hgPMxswzpfQnf7qUfG5/iQKOAeaHblcsaRh79KVQQ4XmP6jBksfMjh/sA4PRBqNaOQ
-ig4K/oAUbBdbNYn6yaHPYQ52FrhzbI9dw7D5eDd3TlpfTsVlAWJci1lH32cI4qF2cseZP7am/OJS
-L0L1L1wG862Yn/nA4egk998jyv1V58mb1B7/tm5hBL3wu3wHK0eJXpMjJY5Ll2OL03PfMD3YxN3f
-CQOqBOjdEJ5ddA3Ug5YUC0thT8dIMJQREGnPvnL+Gs38mieiHeTvaMV6O7z/06FpVla6hc9FJXxw
-MpUl+jLdlNo34MZX5yQQ1fcW1VLTtYKuBqHowIA/ZlcCbygeXPzoIE7nGlaQ08U/3QGNiLzXKZ35
-UAbVgAkV5Ht8dWv+u9trQJClpo+8yxaIYMlW0p8tLsCg/HzkUG5qPZ1q/eS8GMmCLGv1racrdY8/
-FYw71WHKhQdGtVJrNBlkQzQ1Wqy2r0rzQgV+lBJE3m0CgjFU6RatGTb9/pT+0aHRZyT6V5GzIxmk
-sblULSTmnnecVvyRzYSQtFtVQJv3PXMingL7ZolX6LKObi1WcZdEc0RVeE9RL3aOsvaeFmew5Hei
-MyoyOD7NEM4FReiN2JDDvaSgRoBl7o3F2Piz9lfxgzSH3sqLZVLKAosOpfW0Qfh2l90ZJ+gsugO2
-KYLDdtmK5o6XpUzb++mQbXQupSRtf2yQzPLrECV8RZ4fVPeIhqWg6XP0SR+H5F+/RMOrNh7ZnJv7
-mpzK8KlvEnc0IP7RopQPKP8RdUKUghUlVSjfQkWnscx9com0vOVEMhNvnkISDU7KJ+z2SNiR4sOR
-K29aATY4Oam7u2TB+p01bib0dLTi16mL7oOtV8o1wPfvlUJXdQvDhwDmCS5nEUtTX1Yd2xBkDi2A
-Fl6HgjGbNUbL/IkF/kJLU5YTqqjQGYc1aPMpS4bmxVu2qAduuBCMyS9PqSzQPsvR3VQVHnhLYzKn
-FmTISbBUeTJdQojnSXPQjmXq4x248Ej6kVrDjxhZ1dLlhWJBQaPzNAKrDFHm+X7SvfRe60aGdL3l
-aHbHOjCWTJHKzibMR844EKe4ANv12JfkZjVfMImW7d5pNz7USTjIYlQy5+Q4XNVp0KZjj1jtk8UP
-v5YA6ngB4ODQ97MK+U3Ig9wLVDDK+Jj4JhGdT5Tb04o1oC4/4Pgu8F0HREGhvayZyDNLgkUyFyPI
-8ZhY87CPU9AgUZiPtUe1Wgz9virGWfbck5zVwap20SDGX+fsG2z4qlUEKXgBMgVBTqx6j8OcNArK
-voerQ9kJx9AsCaKNV7H2UJHWS3y30hqRKadBq8PMEUc1EljTnnWv/+4t1yXSjerNzECH4/ICKAjh
-OV/8Vltnxe0DSDy+WrO/PMrx1KNKpPQIcHubltgL4FMTxpuzrVy4SftOB1Vp0sQFpEDWCHIm4pcW
-7104BQHATvxXMWY9Nsyd+V5p13ORJAo3Skb3LrMNuQoBm7gyIm6zkMtFG9vopfL+bgONuwUUIl+d
-E/WhckEv7Hiwquqo+Y97Y5wdOdRTiaBjnGwT+QxRL9ESd6JkI08EBLu6DIpDk99z+zzXrKhQD7ce
-ksRlRmmPV1ZFbm+KBVQNafv70rlL+ytMG7xw0LlfpesRll3n+9hY+AOD+wZzkg9M8L7f5rWCpVtL
-GURhnkqFOp9Ysuc0aEu0rDoHa/ExkN9g/Y5kCHpeS1Z1Cun5Pojn0gNfllU4LUHDlOTXcPnCfW+g
-Sr3nTsUYt1yWb+z/JYwrtZNUvnhlthjoUZ1NqkV4lD+1265iBoiVK+jwPcoLbGf5kQRzBV/6LP6+
-4wKplktruyn+ditkYrBNZV/Ul4FV5TewiFSM8CtbJeP/K6BRNihjGl/YHcoLbB1zDEirFwZxeAvB
-YM9bZ24S9Ysil64rFSfGkKzbcXx8FItvti6HA5PBQgRswZKtPquRxrp8P+tlpt36WutTvGb+bGAX
-a+tLBvpLNkxriuR0ntpbpwxJ532ue02w+qIUBhgjezDHTnSKbHh9hVN9hIe6236Y1rrXB7OeAq7H
-hr9fc3AddcynSqYJy245SkA8Jcxf1xvOPH42jyWfs/kWf9tqTKZSySQGI5sBZ3J8K4yGpP4UnPip
-0BDI7pRJ+sJb9ELQJzrd/Vhl4STMmT86tLBQI9Aj0kgoR0Dm05UTkOBpkSIOZalk/5Ik0FEclM9/
-QUwBD/AsZ0IoOG+tzZbPEwyHzsUkC0DoZKIFX+BLL6iesBlIT0f0UkgDQUx1Jq6LwO6j9EeBYz/E
-Olju7ydvwlXECsjXNELXcs3Md9vrCsJU/418JCFgqlPQgkb3WoDAzixspYQ355xM8GaRvCRoNsPJ
-KdT0xMfBI0R/Qzc4Re46Ot+hlNjFpmvGYqydJK7rMIXuoPjL/Z+KW583zmFzeMFmFlQ+Z//WLd1/
-L2UHpZi7t4N0sHPs5PEUNcfIXlro8L7RTj5pIouKgE2NYMpZEW71T7UmA18Fr+TIAH1XUIm8J44S
-K2tZ0LR/1HQZyDRqEwLD1lCS4QZMMq1k5U59+u5l33wqU/D+MWc9c8ADI4fRjDcSd514CgUdwcrS
-eb3xO2jeTrJaorxUDMQn3qk/kc4H3J9gSKzG3z2ckygmm3XQIOmlGeM8y++mDAXYL6L9K6zX306M
-kx1K2ZHOKnXYok9JLGKAd6MeamcL1Q9CnhITI9kz4bi8XdqiFsqRHNMtJ/09od7ezO9gqwH/M+B0
-RJaBvOEAleVH/d1dXUFhwZA+y8QAR1qHHISj6MbhbguRTYJPBmcqCAwquoJa4sH9gFLUkg5F+Dza
-MfeXWdqS7PQRoAfQy+i4oG6qpcmmZ9HVfDFl/UnwsG+8ZoitCF/1Vv8pbYg3lmIhSvsyBED97CqZ
-s9G8ZjpZcA6NlxCvg63rx1AnRQ6yNSDFGkr1NUgNkGamJUbETvoGYKIhwSiBZtQn0n39dWegVbZA
-drugSK+5PAdCQcZJakgJPBxd0yMlMPeXR6E4fl5GUtpxg+eosWZ4VaKXNzr6gCAQ9wAEwGpb3Lmf
-k7QGRz8e3l7znlvW+rGCjZ1Z/W1K3SWmJvukglgix4fkqBzpy5B9agFvhPffQwv0jlaJ4dlJzpQ1
-JO+skZgCdrjcYSTWUkEjptQA5Kl36+GCR4BOh+D4PCZqKhLsKTsJO+5HN+/Mkxg5Fk/WxwSQrYvS
-fc6I+/+nv0vXupZQUn0gZC2Cwdvo+pzwd9RWBN1+WsHHVxz1Uns4Aina2C1TlcI0BMNOImfGt9OL
-ZjJgfciOTVFLI6wePP34RftA6okzjog012IpEDI/1V6i9lV6BWwlvH6tD4H+YVNhrhTlxkh4rQav
-Asw2mYijbADrs8dANDlHEH3jpbOm8P/r+bqq3qqWc2wd6Xj4FawOvljaUkAmCY3kDEU0exod2sgZ
-NBY0sNzf7apFHqYjpdpYf+Y2ZG1HtP2jwvBg3h/WFJaFa1OT0AItDz7Mxt4vwSfIqxDkwybQ+x4x
-DwJI44na7enQWUig6wt3VAiSaJeaUHg87amUHFmwocWj6HTDYWVYJJr6/mM25HAWHTV+Jz/DVrTU
-uOg0kNAVMrO8QR6wziKAxtKePHtSn5X2jdoXuXjLkloPSuJ3qjb8SKQ3qzIBt/fX7O3JBqHGKvtT
-BpS/2Ow3mdlAG22CntXAaeZDYTOhY2W+emhQGGpTvJu97nvuzw/XJaQVqYDEbNyUJRcAoH6nWaOS
-ZtP6W37XpkpX5d14dwVzSwGJey/voUt/OUOK1i7VpVfYOW2RdolP0UZuvRT/YCdYoqoOT2l6WUHK
-u4TS9P9j5PjzCUWw3d0ob/Fn9eaget1Z91K0nYTZu7rgJieq5L6zMpYunWtqQ0+Bzl53R8hjshP/
-Z+c7InXayn9/EfN6+3xpLx62VtKoM+f7r7oN5r3lkEVtuLcuMz0XToG0mG+V61G9TeqzmwMW+dNU
-Kapdf5n+B8MlAt2bbnKpoLntDVgN4zpzPSj/xylA0l/VoMAAZBC9ydCCx2ySC8/ifmOT9qXg/OuK
-NLOUOIrQ9G0k7YPzftQX64NYv6t1pakVP2PmPQ6WWhqYUh0R5pG/Jm7m/2TDYYtvzPiG8kcjABSK
-xBMzvufeJauDcBBpfAtpGwIgq+LPVYgKkFnEfJEM1jf6zchnNrnRCxMf054jCb+iocfXBY0FCC4R
-VVzsjhijeMX65h/1AQwx+h3iaWj143WDkuP8SXX3YSpC+pa/lhHWzQR1zegmellSZMZJJiea/O5V
-+zVLqsbZ4/jCCBHc+c07Ci8llNIHhOHqqgRENI3gV53neysB0U0HS6+EfM6ni0t2dt/XVo+pbOj7
-sMv0DGpwMLT3zlouffHv6Bx0odJ1uGK1/XNfcjROzJG5vvhTbFLp4aXzrqbEiQhEGMUD0zS5+/Eq
-airkMn6P8fyS58s+tZFh9kLbdsnciN4oWiZfJHwL4+9BnN2BDOYZLDF87DStpWsL+ZOpd8dtnbhA
-8XztR3UAkBp6PMVc9NBYWEws6xlYGZ9h/avuJC7idrONlxyS/69K9dTByqLXkSXWEbYM9IcJTWW2
-+ET1xhnr96/aPb9XIpAPxcRfj2OQi1+4Pd0157F/JnG3X4mVtei8r+UdsN0UiX+rzxAlbHIBj9uk
-tQVcYgg7qzGYksjRaEK29YXJdjoWnIDxlBlw9WlwUfpSOs6v0OOgvikeTyTqk8mvVt84xqg7Gp4p
-Jmhoi7AeFYCuiTLDqm0BzNMJwnswrGG8Crk8hEYJTkYMVBxB6a6Drq395LDq4VSfIQlvXtY32RRo
-GHruC7xbyTGRxybM/F4YxVymH2Rgrnhsi6h3lAiLFX0bMdsXPtWbN/psW0sM0k/MqYgeis1Zjw3z
-lL60qQdDidlrXiwQaGS73D3icLaeFxsm2ySNpgKSM0DjQb4J1/9ANYqzm0cJtuOfpXhlYcj8V4e2
-26tSWPL3PL7ic2mAbsJB9m8Zb+WBU/iYfv3FC3P38EQo3KsxqTKckv1V896G1R+JhRNLyBAEgRfu
-xHY2uqsxnvqAQ4F5x96LVREkmEW+5eTE5+QgLMLpuw+WUbOkIZPLCffwaBDxdqbcGbjVhqP/Y9r+
-aKYfJZ6dtX5v2W4aZIlCb5azn/nZYoSSEHOtNaHJg1yKvMHIvXbkcutU1lpGXp2E5Os8DyWIOARR
-iLH8I11nyijx+QyqJZrIWtly51DJw9k+lS0SY6G8PIHmyAdsP05CuLzrWRYeLlCVMBh5w/wF9/r1
-yMDT3RLh09BKJZu6Ys8Eb6T4Ax8o4ulZfJlnfVKGtyS4/njwavKZu8m4LGyLhjJPVyWzstExMZWn
-nh2bzqDj0NAjRNxJ+Nk/bDyQhehQFWK2jHkREv+YKiP/ayzX05eaFjxUJfnynBMZd8lxD6JHDEsQ
-EQI5NFu81E7DJKG1qQ0kVKQhi2mUUqh2Ans+EGM90qOiDy/gd/+ihmxoNnIoLaw1LCfY2e4b2vR4
-Ynt+7ktZMD8U0b2urRpKZ0W7YaOvxfFY5T75nwf3tbj2HNOVdWL//GFWRMpqzPuRWaMdLbh6WI1e
-l1/qB29dCEmPrN4u32zVmZF471oiag1enC/8GUnp9W5A0huxYQsfn4FWk9QJd97rVBu9kr2b6W65
-toH3bYGIdxq+BuMY2gb5ZDH8l6xcW+pRX3KPK5ndD7ePBlK7S+DWwVkTXnehEgIImSAW8pKUG6bV
-pQbZ3kXRMLOeaBcvHU8bWzxkCI0/HMftFqYQrSqzfbxgGooh6Kw9fYwsZ1mq/f3V7QSrcVLxJakK
-PI/lO+Mc2UCaNltsKjN490JQl02IxOpU1viBFzaMPgl/uc/bWUCPx74kT5aDplX+wCiQKxXRGf2Q
-rH+IZamTHoQAzo6Va/BlB8jzUwRx/2Z/k0==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_notinfolderfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_notinfolderfilter.php
index 3f65299d..3fde6005 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_notinfolderfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_notinfolderfilter.php
@@ -1,73 +1,73 @@
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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
-CcIgy32wEG==
\ No newline at end of file
+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
+kHuTTG==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_notingroupfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_notingroupfilter.php
index 9813c65f..07b7847c 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_notingroupfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_notingroupfilter.php
@@ -1,88 +1,89 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_orderfield.php b/src/Application/Model/Requirements/d3ordermanager_requirement_orderfield.php
index d77a09ba..5da471eb 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_orderfield.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_orderfield.php
@@ -1,98 +1,97 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_ordernonstorno.php b/src/Application/Model/Requirements/d3ordermanager_requirement_ordernonstorno.php
index e86ab482..8453e1cb 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_ordernonstorno.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_ordernonstorno.php
@@ -1,60 +1,61 @@
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+cPwyg29BWkV2b/UMTiGyA3z4w9DRPIG9MByMdFhUjN19Ke640ns9r7Iv4LU9vLsQ0ARkj/y0G
-TU5BXTjDvqVYn9k47t20hi3KVaDTDiwhN8wy7zboukl6i5V1L+jfxbfT4hgCIfsiMrL53SHv9L2q
-e/0LOETrenHJTkmq7yCHgAiciCUj2zh849/SC9vrpqzB7DDAbF/2MnlEU+x7ZDFSdNpaf93LnZQZ
-2yh6hp+f1XdvqPZXTfjql7xEhwlczI7cAl6A4Bi6p57NRxsIrbMjLOfF3cF6RaorFufkcUoO2wVX
-S/A06/z7DtPcQRZDL7FNEPLwLoo/8kARskBZqyqVtcU6yrLZHsyfFOUlM3IkgkzqC8EEPyuDBvJx
-rdA8X+MHZwsFBR3Xw5+Y/MJnQSZ56+381xDOuwDEKe7uI0ax9fPxNwITpkvkfJCUvQDrM1p/wcMU
-J+e0PuWVNXRkY/5gfnC6tAjYSR2r4MhkhPNnRsQ75GpOeTiBsBWZPrUTGHXDeDxyUV9GzOeikaq7
-aBuY0D0edcJVDTDt0DVu4EhR7xhLPvABX3xW6Kgw+9G+5aK7hGRwj5oIE2Zn5eXiI6NJL2jhm7Tu
-Qa49fEJY/4JDMkmk1vL6q5GqiqE73vjObnny1kuGckvo7a6yqEirAM8tWONFwOF01NaByG6ksvoN
-lUo6LA43nP9jMk0VuOYpmqR+VncV3SLJOrz8eXb5rDpibVBa0mak7LZfizsgHus59bTj76nGbCBB
-TFJvSyV0uTIBPlnYVkS/xZuCjMO6Svqr6EYUsjGt/QKRBqAmVS1nCv5ip1vTVtmrI27UpUTU/OZd
-UI94kqLUdQGudsC/mIQB+WOsXkbblpLx3ycUCMeoY52BKb7i6F5iApXErr9JHLUeTrGv5CuIuRxq
-Nmkh87BcjKxUk/1fgHZj3GthRzXqVuXmt5MBtKQNkIX68cRwBh+0HscS7qS2QQNxcpLehMpQvzp1
-4FEHUYXR2ZR/0x5fj7bbNDiFuhrRRJ+5UEImxg2QMvJ45dcPrGPOVqaP5FSqYlTZ8Dhl6KQ/sH5Z
-iFpiWYud3JXPwfGWtgBlYKxbGzE2oS1XE9z6szJh8AA1chSo1laRAXttTgXimvlPUGr2p8nzuPNg
-U+H/HmXWgimeei7jWZNUpVJkz1jHzcngmTDy4iAxfGCZtrS3wLAeT6yhLHlp/YjjMVmx6W9vzgOh
-2rQudFMwwI2Ka9SBaDbxgnZ1rUo6HSC1CGY2ExPXZTFR8C7N3ksE6GaViNwMSszFj0BICkdmlT6D
-RL/+aKOEh9hBOCRyk1rECU//PMDObLKFz8IDgh7B/p2xyE57DbL/Ofy+6WF7/LB6bUO3UlXmL8Ce
-0f3ARowA2YK1eLkO968fklsCdknf29g/9RQ9xbOHKM7mGb/deqZX6dnnVYKiSDnfc1YcUmiQ0saT
-UAvduT4qq6bwbYzNgTcAo9z5dbY+HBQcd8zGfqli7L1hBcja/IFCerkzQgXi6nRIOPEjKpIJ5tSo
-mcYy0pZ1nmJbp8h2gefpHCSuyeIJviou4aYOqsc0giu1TRMcu0H2NpEXsX3j2W9Pej/ipHjcKvSe
-JDka0uuHAHWxQG4iiLrR8dHEaExeZ0jFDkmozPhpOuPD4aT6iGtdBPxkSyDsgzfx+DYZ8CK3/3l3
-+AeCriW0Z2YTjbn3/+PA5qG8UdLOhjk0wFqI2dLPdyh4oTFM/s3mopVIEN32Ay3Jup003YindFK4
-D94ivTGei72YjSHjRiaDswPAbc1N/C0WOSNBAul09T+wxvb3wlC2ZbEoWs4PGJvofXpQ+etpOtWo
-HWctpOLtdf2DxjYP/yygG/N/ThRyBOOF5N1KVDWvW32k6o5nEqJdNfXm8wL6tlmn5XEQ6YMb91Rf
-sWlv+50mhzY5XGdnmaenuF2Cv1bum0/4ODD1kVfbEj3GOldvZ4R7YwqpvEItiyBP8Tz8Fne+swDk
-sDiGi2JaV2KPpBoWqgt+Pi8/PORCYpxfSbpZFJADru0hw/fPN4j8aNF/HYbhYoe3p4jlCtk2tdUT
-d63TYJ2eKkn4JiWEzLjYHz/0NIggbbh5LAEG/KsJ06OIqTproAeFmjZCCQA6TtHyhVsBMO2kD3fz
-JBh9Js/3XDwYMoTpk4XvdLcHSkd3WSKAk0JSdWgKO3gvUENYaubNCG+uQS/9JlzJI83RAYQ5UNoQ
-SuS0NKB5YhW84pJ14ly+7qW6to4oI+FFsjIQIQMnJTiIFGHahGZT1cPUIp2VfNTZ5llyS2fVmhgw
-ofD1BEvPzeruO1zoeZblu0f99P11RHttd8jAToss+rCKXXuN/rtfDOfJOzz74O6jh5EW3u5ERwDs
-76nHHFwdkK+LBCecI97K9i683xf8EYVuYsPYJTW5NZADT/nOoZW5jMD5XTSvsTUrlRbUIenHkCLo
-sbafmJN0oH0/HriWlLgspFJzhyXE7I+eO7HlXzMcnb/+1nZqwTGPRHwN33cWhFdVkCCo3hs170D4
-OTGDZk67w8CXn2s1RNNzSxODPIkXFYKSGB3Hf84ZxFTS/Gfsgqa9/5MRedeNYFzTRHQgHbCFSdBk
-9JlKp74xRXvUxzZZPAcn/Tc4OYfcUzpyYbm1qghg7sWNg76b1zHH1hHKYKKRnuCpha1TWno+9vAU
-VSuNx+gt1sVc89VY4ThH1uJafhp6DVe8xl4RsRHHLLndOJ8r0CresWjey5S1QqDleCF2go96upiI
-umn/h8rrkpztjZDZUyKLWMKWKWQQrQXEoYnU6S/W+Fh+LASNUcfGlWhTjpt8jeAfjGbkyDFip0IO
-PQYp7XyYPGH8uqVrtllshLtahKGeHC5zacd6ZUHuPHRXxgGc4IhXWTLv3W5+FSkOh43qXQBOB9Aj
-cHGpX0aP0biGAWPSxjhUVxobEUQrMR5a+bBOU5ijnQ7hK3O6r0zJsTLK4ApGd4hmy+jqEnf4lxYt
-SKSebgKhRqLFGDCPjTo0mbn5JtXLdiLcd1wRNR9F21/NKK3DdwN81mrBznyx3W/QXndOgfYnHdhq
-PzAooSLF+T25wlhZ3xbscUU3EpXZZNZ/imTkJmhY99sJOyVP/N5wv5lo07IkpkF8BsRINrEW52hT
-HUsyTCud4taJsFmZIfiYtzH0ctrgvenvNfCg9g4aI+5SYm+xgpj4zSV8aM96VYZjNPItZpGVJB0x
-a2SHktHrbS6ncUOWXIQBK4xC93xun8KsLFQXEbz2bU5DZVIVq1Le037bXPBKmDQgU5IpQdtgTsLW
-wtOirl2MczMiSTZgKDOMekHU+1yu+vvgvYoAI5vhUN4Sx8fTpFk+DNg20nkcGVrMIaMzVDL7Z0Oi
-LClWDCl74618vqtNDdkyAgA7NFUqjl0w0kiVDNlGzLlvw1rMA7z+M9tc6Yd9ES0cP/HSCV/ErXUw
-/Q0nXAHgqZRjJu4nVbQE0lPfnAV66WRbiIudht3kk504enE9wOD2yTqGww0SnvX+NAp6M3Dd4Om/
-ABsf/mWHVtXniqK5TWpbbTA88cRKGQQsIJU525G4t2NZEmyhXOw8THHeYbGG2zBo306rIeoXqhAX
-j8UdRQenwBK4FRMX9Hfz6mBZfP9G3/O1cflezOVGf2pHa71kiDg/mKBaiC3oM5f0JQFOE/Ccd8eD
-UwyjCRk2vaPlWzitWDhP5YwwQU9bnKtzbgvhZE3NmKYlDROhOGSoDxLi9/0H2mLD8TVKWtXoX9Vo
-5GIA69Zvf2WxaElCISzjrPoNGO1/EAGW/zljlhAqNebtJ2kvv1mJgR11KEoE0Y/mFZW+0SdCqBl5
-jXBMqsIj1fKufMlRP80bS39mDCXtPFKfYXS33f5f41DA1oCCbdU7VXLmtBrv/m9RZ8B5Q3xjX2mA
-09IWeP5p+RrHgl67JOPVHqzBJSJJnLmLWxxwdxClEDObh8V0svl+kgM8mNRkH6sgR4aIiCgwtc0O
-P1nK7IknRhrj+e5tuZ2+vrat0l5IEXMJoW8gAnao47vLG8kc8C21EPpYIt33h+ofXjBBcxs5Jup+
-eO9h+oOa4nITyy7xirtDnkz4rbVFVvsJRjC9JmFMDKagaMJ6MlEeQuVH7wwh8BUnk7JmFp1mti89
-m6lOQkRbd7f7rkocGt4ggossher1IEHax+epXa9TgKHshd1b8ocg9IDYLzRf3OjIiEMs3v9Yxbfk
-3Ag1OET2vTsmZ9iOvnGDvaVe6fMWIew8jbN07jpDEu/NWFonjYddkQ6hdCty5t2mfdW04AHcpJyb
+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
+dAo6xym5J00mP4fB3dpCWKqZRr2OUS+ZkCfMl0==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_orderstorno.php b/src/Application/Model/Requirements/d3ordermanager_requirement_orderstorno.php
index ffbb28ad..04d032bc 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_orderstorno.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_orderstorno.php
@@ -1,61 +1,61 @@
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
+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
+xd/N1yx2pIunJGkbTR1MR0==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_ordersum.php b/src/Application/Model/Requirements/d3ordermanager_requirement_ordersum.php
index c4298cc6..c11593f6 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_ordersum.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_ordersum.php
@@ -1,105 +1,106 @@
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
+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
+jFtZIJO=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_otherjob.php b/src/Application/Model/Requirements/d3ordermanager_requirement_otherjob.php
index 76477807..99e723f9 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_otherjob.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_otherjob.php
@@ -1,93 +1,93 @@
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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
-hEvN2zE4P64CwREnLniV
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_paymentfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_paymentfilter.php
index b7acd6a5..19876919 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_paymentfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_paymentfilter.php
@@ -1,72 +1,72 @@
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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
-uPZSYhWbYV56rtKXJgVD7QRkztf5
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter1.php b/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter1.php
index 07605c3f..62110541 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter1.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter1.php
@@ -1,17 +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+cPqiA4JE5qka4KB+44Ee6soFl6gNwJHVOUDY619S2apt/lzwoXDDaGs+BqIbzUQ+fZzd3SlEB
-2tniu8s2ASZE3adVKXsZXX1p3hEVcPlA0b4IrcX9zXwXdBecmG9mSzKabAbMlSHTz/3pAVkNhOiU
-cww40tjYlMBd63REpS3HEk3LAoPPxj4/MZCTh40aVcIoy2D8Zkx8UArClKvbJSy32i6rCNAe+sGw
-LiulBszn0apzYhh2kml9QzCzkj45s7+BtLLsfhi6p57NRxsIrbMjLOfF3cCpQfsxc/702fH282JX
-Ssg6RnM5RWdS6c2p6a3ePnAADS8UipLWtIUFqqZfEQmctJl4/EdYMylpfSlK0tObfIehJaWzXxnW
-5LcmBSjC8qrVTcvqSlSN6S4+4YYc4pILj4l3Bz7DzhpzclCzPyfwR4z0y6NbtYvqd0H7GtWDWb3G
-RFq1MGOi7kKht57oT59FbGIgoGd/jehDq2YlOMvyMXpShSeGcRDQ9Nzj+kwAm3QwtZJAA6E3CUdX
-N8ORSO2nrQ/hKm+u5shLlpzZCCQaOeBC8uc2SwTes/l/paYpVhRQt7se/hbGMbSztCgfAOekJSbD
-jQfvga9Qc3OWiOavEoPbrT6+Ab86dGCFOkC94/QAbDDBk1vyRvUktFKG+Il6WHQ2yOqHRG8NpEwR
-uOn1RRFE5UiBt8pjeR63/285Nluemf4LV/mKJHMkl9iPweOmySUtNFQlYxu3q4OP9qtXCYau/FZa
-TUdxx9zsqNq7yFD7v2qL8YDxRLoRZr00hNC/p4sNuUBFLPo59KoJTS73ih7NVj0THYlemgHL7Y4V
-ezv4XXl15kz9EqyszSCsGLOTB871XVwgCRtr4+9HbjFiXTk6k/BNsZKmRPiAkr4i7t3LmxaTdn6p
-eklZeE0=
\ No newline at end of file
+HR+cPu98f1aKaHnUuVqnEcApFdhckMbchIFeuTaJ/46PyYSciSsdnwWnpckiDTjPeg6ap8PUYAym
+Gzwix/bXRy6lk2vOKSEDzdJZfD31IETM9mi2ICx4NG1AwPIY8cZS7+piwRCeG8tfO5r+1HDsDsQ9
+ztjTRQkPeyLhWz9z9Mk6MMIoHEYL2IUin+wJuedVjBZZ3O8kG3f1Sx8Ycod2pAGP7kqPbMW0ftlF
+CSmVdIrttV5GNTwpgd7cIxjMtSgG8To/L2qKVZ1+D2JZIxEhVHE/Phr99tiUR92m5JiozXQzCyYk
+3GzfI/+gRMK/UUvU2UZVB2JTtIHNp7Uvl0/I+iUpbhi1A+wMiixXqXQorDYtJKKUXezrFyibg5NN
+De2A0879vmml6uB9V+KOj6uFzpZgup8GhLu3bFgCQG00h7Ecj16ufl/tPeJRGFFDw137hDDzOdHt
+dVVa00eJ6lkB+YWCT09b1NkAlPZtRjmwHTm/8csbcQx2Kbp/JtQ7EMebPZGBEe82jpDWqwrUx09s
+Yo7KSD9zTYtD6r3SjSkPP8eT0Pb0dn1SxvQE4maC35mAfbhDolPuh/4PlnjaowMxi/OqNMEx5X1Q
+XYHaEL+nQ7f/FhqJiTgRMDQ0XOp4stID3sWIRiTKK9vQOVZHvm1d9UsmmB9zgNNFNS0cHzoaRV32
+tRS7cMh2yu/qt7XGen+kSsC4gjB8NlYMwHJU9fKQKOkH0FZJukIppHD9DAae68C6EHhAsGFU2y+2
+PYdBeHwtCaw+JVb5NMJZdQsQynfLklO/7zoeoj/Iwf+Cvby/T9wJM7KKVz74wBBo9RpM9PbS1qTn
+fJ2or608/MT3ubZHLi7Z1IvAmUttfwOaKQE9mUvzaWa2CzVK5aHI6cSnYp1PEtn9lQw0uAWJ
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter2.php b/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter2.php
index b73ec784..98fbae74 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter2.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter2.php
@@ -1,16 +1,17 @@
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+cPqbrAmCiqgyqAS2+86MSRlYHAB0A8btNeEkBOVVMe+LGV2ZHtPFqMg9SR1TtsAdXYk+LxIzB
-eDkcej349a9w9KaPWg3xQ0PgKdKYPir4pZOkH9RLw2TyRBy0No++YXVsgao526C/sC+ui7yvxNJd
-0oTFpg68xR4qsp+Hk1NWgohJhZHr1xXMg66yg9umbJHMGDU6dq36q6p4SjncGveiFkH89Mb6aSe9
-ZzsjwvjEmxg5c28pCPfZWp7D7Bx5t6SWImYdCNYx1inHrs+zajPLhLMAJmvZUMd5NHVV86AzRQkL
-uVDeXWl/RRK27bQLc1CezMoHtwdRP+Qve3A8+ecV74aMB5ZbiDKH6I9QCtKSaj2Qm/VQYGjLsXnX
-B+vkaKIcAjdnhWz3/c7fLe5msGhEBzIQ5aX3JxZY7UReOaxrKyt6atImVaBg/0Rb1gF4qA7NnJ9Q
-VnEJw9NqU22YqcUSJKh1nclcShwQ98rCA5OlkiJRA8vflIMAJUivZ1YyeamJpjV3UDykVMudQwnI
-/kOilQeQLvfzrVw1iI1QZuglwWBzkj8b79AzBxVtxqlJ7aKwGm8p3ndhN5WOZ7IZbCTcW5GIhBB+
-7tBvraC7psyjJpGVTQ5X4f1xgIP3A/E4SDlHwdiDmliR1x3QKIOnO5V/fiG0L5++ir5QwbQkBAFu
-GntnwKsCIcRJtM3khCpCBl78Z1MxT4HvncUUd0c1dBtVEiF3xXoDeKdsoCxYCdLP0UKf10M6UOZQ
-h/V7mPChJ+u/mNTHjVIna0V9IpXeL/NXEc4qI074Ps19vQMlolc/0Ar5OlYA1amVdRVmEQBwofuN
-O1v1fLQFXKifsytBIQvviHTRUYExxQnFDAQy8u0hMbubixAwfkfjceShDWPSS/T+XTwXX+9+Mm==
\ No newline at end of file
+HR+cPsHsiuXztmUlUCCcgoLC2n+B/i6R8hpnM/UJP/ZLIRw6LRRr+8/+K1gCN5X/JbmCuZBroH3I
+XFO5yHLwpPfVorDwgn3wsGkwNCTdpPIP3iJP910FH5pA9pfaama0kafTFc1GTcvuyxyXpDZZbLtd
+0KItpNOmVEg+02UvzPkcxjssm8Q4Bz61fEFG/L/HMrBe8PZMO0QzirPI5tkJWRET3MtQVFYVu2s/
+iDsKi2TZZ2HL+l0sTV3bLvjkCCgIm+vpxigCoZ1+D2JZIxEhVHE/Phr99tktR/pCAuiWDb7N69Ek
+ZGrfKBacEs3kmXGxiB3GJOBWAKUNC7+tcsSom2D0Rnu1LkqdBPJANH43Sc4Eca43u3qKD0GgI+3Z
+LNftmlwvyWnEU4DfYCrf/2fAcIw/uy21OIbDqArgqPz8k9PgZzfFM6i905aL/ynj+R67e6q7wTAR
+JswnPVIWLefu+uO4bphcPkeWIrDim5VzLD3MpCypy/Cuiz0Nu4cWtu/t+3NV58ddeWAseSKLOxKv
+lPjZZ+WBL8kMT5zAH4GER5Hulf29PqMY3EdeZOONhK/ywyDHeP7zvvjvLlu92xKqw0vXTFRlZG7M
+stJvz1kc2XiLFylI+IROB3ypY7P110f35+/g0Kn+xncKJjDu0+WlRfX2VAhawvF5yIU0rJZ/SCIG
++ou90QfmMliSI+PgUlW+sFc3xeWtQq3LvTRx4Ns04txh5/cdJfp0STwPvY7my1FpYlSsmp/rgvxA
+g+90S5uLMXbN0ZO/P9jUSZc2f/chy/YDv0Pg0EN46PqE7f2C1YXOwLpmXGz/td/6tvoRxaBveT+b
+ZhDzek+O4lWbVs9N4khfkkVHC1UzzRXDQTwWgpxA2FIp3diVlZ7ek+qUnPnMNmU6Q5MoYe+nfP7d
+MMG=
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter_abstract.php b/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter_abstract.php
index 406abde1..2a320432 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter_abstract.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_timespanfilter_abstract.php
@@ -1,112 +1,112 @@
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
+HR+cPyNx4mGPLUWhv3c69nvN0WPe0zj74c4gq8AuWEUXl2ad6ZFh1zhyhrKX9KB7OKE6IbYErMpX
+bLhyNzvx8aOjGLfmogjqsqAeBmonZghLHCHRVhS6jyQsBWu0nf8z3WZETJ1P6JBoyhETt1DyRB9T
+fPiW0Rkn/pI2qQ+hp1WYmB9rBTNNqXkCjKmmbA/iK9KQ6Uv+gs/ueoi7buQz8z605A58nKZAFgBn
+GB07BzgOUE+aue2xY1f86ZvofnddDLGuL/ogC7uq9EDBiwjz4xzclKadUo5ZyV24MZYB7H+PAgwD
+56bkR61ImaHBOY+MrRuJrKvW5Yqsm7ci8OO8/5bN+pLCk5rYNYp/qrc0ZznF/jmZ4a0tEh9khFHg
+5/m0BBiwfD44OZwPUZdKEeNL+4s60mOGbovIpNFxcVkpZ6ibmjtfMjwWdRDmv+XKaEnMjCw6T8wy
+72rd0IllahrXJCJSQqhmGS3M085+hUQBJ9N0prbMlO2J/bX1YKM1cz/qsb58mHcScqvaeP/wC6D6
+KwNiC6DyJCENQsyr5Ck98Az6yYk1TNyphCMsB2/ZFicJnj2Vcu+cje3eu4E1DAofpnTUUt6D4lvu
+lj+ZzKpVHC0XAtoowNTSQrEkUXPj15AnHz9gyIy4RnTRLt309s1eJjzM+dbOxu8rUWGPMsEGZ7n6
+toWeLzRIwP8UvRyrBMuCPMVNiPRe9Y+sJYFaEQn2x40XpbwIxWSgYG/a2RMKhFZqdPKRtUz4V7AN
+MB8Zxnsvi5vEtOhwPd/R9BDvd87X62Cb4lL7zzA0wYDG5wp+9bTZzi+sGOdG7W7ogDvsPpOXhJQi
+jFl+9RoDwT2aD1gZr7e1YGx8Xb7PlNWwpXLtbf26AGF+Y/hq2OFitgqZ+bXxnlQ4gced3pqdnig3
+tab5geuubYRJMkUMaCvDf+CSsc5TlLa4WGi2hk/vwNNL99RMQ6FHOmJbBMAqVFN4pVDvn/+xwNr/
+E13x9JdAOUwMHeCQ+RMwD//gYByPCkW5UyS2AWANoutI7gnYNEHzxDptoL/XOPm7mQczbZF/9SSc
+h0S09xxgzHB62DMQFLjuMPyzkxEPLbQrTpdaaPERySX4q4EQ3hn3XeBm2fsUpll8otc4uVJvtkR3
+dXQbhTaJ+/BJHljM4AcnUdo1IqzYVJP0nXrRlgd0yi3nsgtIDXKe0HcO1F6PI2D7bb1sSk6XzPkC
+lFuFeueptL7Beh0tOa3Q8o2pPf3bTMUy/ZBQrVp6yhQzxSst7LvklCl+vBRCKkpnfsqURklghXuu
+hECJCnAKRatg/1W+MkaLYkZcb6I/07vW4NWeVzFvGz6zSPOQ4I8ft/37worp//krvSpMCrWOLt/A
+ZeZbMVj1H6MAXVOaEi7gAMpV0a45dqzAxxo/oSNEYqBjD/OcqsFQst+9OhDgkGjNJENFGKfjNq23
+xpVixU4hqxPXKx1Hcbiu0YzqLcs2mbhvTTh42YS+pKV9ex7CLF2FGnlPhphH0YhNY1sxGbOIIXhw
+cNCVCniAHTtw/Nv/BxOjNozVEE5JqE7mVZgNB6On3svGoAng9GJjcSN8veEsIJH3+ADkRDELxF60
+vzR2b3PURyJ+239VJ99VuUaZXyV0FZRc9JO3XE4ube32Mkc/2GTo5QW+v1dUMjbkv5zuoucqZgsZ
+Mjc+EM9+7XfasveAJzvUr0//qCWEdrN5oQlWGeC9JQ92rHJn/p8zSsTX+WS56C/dJgSL0E5mw4br
+Bp09U5lsO7JSWKHn9QBUbQdLNfVx0lX6yYOKJunQOUgb24BoPQAxYFTx9QUzf9NBATvL7dc5bNRg
+ZS5vmxHTzjBr2XCMa3UzuYxyGvWLxv6E6SKOXTvRHfPsdgdxwkEbYPkSY3DyBMbaDz7XIv6jMbsG
+/nZ1BIPWMGG7oZC1Pg8ubiy7L33jUFa1ehclAkyTO43LrpF+un7su8C6TDed91b7iCkCq0YnUclB
+nyshKHgNiP+KmLeDQw5b5MFrrRmnzwR/8pVIPD87wjliuRDPMmo5TZr7vFc2IXD9LHkRox/ZfAi5
+DhDBLcnRSDcVYX9fwpsk3ZtW5ZRFX1mFTkxYfPrN/zIzEEVTwj1P5EJDriNDKX65mvbXxxODFNV1
+lwkElEKcauC/pXuxHA+67RLNVYt8H6YaM0THJ+E+ZURY+rttKvz5LlqQc/ewa4GjpHNppVo6k3KE
+1dbA1zkmbeW2rO6BktoJ8udI5pkxFqk92lp/b+l2+lSPNmM20l74z/F/b0mEFQDFyRIfe9+4BWZB
+j+RHicpiypBPri5xOpk2xQCoH49qofYgoAdx/3U779SAnzQ52tN5RlSH5NgoLzTbJpUamTglWjUf
+QB4HTy6lhC0UwlIS497SSDWEpay4glRW0q1G9HioIa2vul6FYnYdWfIGsfwMxtI66c/mAtGkNcXC
+kscV8QZO4hh1UkdPDPq4KS9YX+gZmZl+Hism7LQF8W8GIV0Tx7Q5bVc3n2E8hbvh4L5XH4blNqN0
+vEcmARGU0as94Bt/oPZdGcXZTGBzCuUru1fjS7s2vhKoVRSzdLHmO42Ksrw2Lj8C6ZzSz5ilCKBG
+Qbz29IWCj3DZzn13xdKHcSphrLquX24kL3sjZ0U0NzIsk8lu1bsszEd8qBaFeT2r1VMyrWqjkDWV
+jZj2EX+oX66t9PSJTA1FeEzFrse9zn8UAoXVqoUFo8lImEhaIv/AK093eHWkupq5D7pYMM8R+MLQ
+Kub+1UUmwM9agzVWNyMNsix/KkL6kuMjWXTmL6Ns2JAO0dXWjgSv5vNyzzlUoazju+V+7C2QoNl6
+jrziuxNJncrPAf4RIkuh6nQ7/qbG9ZyTMtPxYXlFOSLnSGd12EU5UMvoREPlSoUEkMIx6orl0P3t
+3Ou9nlRSffjzxBtMxhXi7al/OhlkWfGHO0JWxJgShRCSeo3sbMZaNIiRxS1iaeXGiODjVqpg/sB/
+gSkCbRf1Ej1AJRtn0BbV2GJdMi4TaQ60yaoljtdUVorYrBNbXSiVGQ72xMYLXYjzOHw7DgMO8ejg
+qk+utGqGzIYk9sv3YTacC1vNfA1f8nWoLiVAg77xSlyDmicjlsrllH04t5vtjbU0Ax0ZynlhZUOI
+oed2Fo7TcLe7H3Q2eNNoEDCtgpls8a2d/QDl6dr0Xyen7a4fd/c/7oUmq915/gSfb1JmrhY/w4Yt
+r+tfQYSTk0W5SDIhBtLwXBfktmEc6z+aBXbcExM+Mxj01MQe+6JS7kWCJhhxmOa7zvP+ia4kXYFQ
+/M/sZEgP41EBeiHhTfwaAT6rSERuM42RYZ5USwsFD4YbwmSJC1MvImLMqBT3wHpa7kqD0duRnnFv
+diEU8xPq9zcHHH4LP4CBi1UeSGK7Yu14V9jR/kQQx75aH6INIupys9vTiTsah7m+8DZqC9/gNjUz
+Tuy4g/YX4jBDIbU11L9GbFHYCHJcQlRuU07OvqEDD59Fl5Kro1NWRAOV0UaAaryTt2pK5fj1YOZs
+7LvNdU2kYXlB6cBgh+qD+Qzo/vx5DpJlkKrZLwNLTuh7poVItn3A+fKppEda6KvLfMhoVmIcuLPN
+QjgYnuFl+WxYg5JWPAJaqyO6zjUb8RcOYchU+/Vw8pUKZ8DHQ2tvY5/5jKZvcq+Q19MxhD8Q5ScN
++SVwSeI8ArDbkbcPHSgoVJrxubxMZ/9v/VC0GrwjXvJhbY09NLPoOlzh9FmahNcBwidoecgrnHUa
+xueNivVzefdPan+yMQOd/DVjtw+oiel1ng4s7fmbHW+KFKN/gVdI7R3CbuC+s1LdQCIMw02XBWJb
+fwdxYxxIW2cZY3Vrwv0uIa9SxXjC97XLlpPBCTcc/TXh9pE4DwbJAq/cu3JmzUFXaLJq6emCeG7q
+elehnlHJgIIFBE7ROGkxxydq/xdFm81I4o7ZIG48Q3YprZQGus3U8Uav863lnO5eg79L7WvTekTV
+MHB5BFWhhIy7uNNLxWTGslHN4Kufkw7lWKcD7vwjPzKz7Kcz9aMNz74f3xoDDmllkjMwjXMXMj5I
+83LqNN2rL8Z0GDcqWMTln7JF09CYQOITfmRcSG4bgPu8j0NPkVabxCDjJzVGUPYTO6g8AA5D0Yx5
+Sk86OcWuCLkvLLYGOT4saKbRbZi/aGhVyZaTIKWgP5nwMwZW7OCKIQZNjwX/Iz0hr3JxluoI5T45
+zNTQdssl2QVqnEZIcPqr6R6+QRbC8lKDe1BlRDdquXDhQ/ejJ+wrmoFLaHrDennhV/fCb26IjgSS
+w3r5QA2VW/YeYCNrw/pOD6HuuEW+Sp6GB+9kmC6lAU7tuScK3UXYHUUOAqwqlTTCrhlYScIHbMHa
+DOB7D+HtYj85vdjHnY307xozVRC/TrJ7gLwyeLsn3mLCSxG5IS0M5Hae5gsv1wRCzXCQ4TrpBjpZ
+oHX9tKpVqpjeUOBXDBnNWBvzOOE7koznUCa/t87shC/vyLcOSUK+10Fg2D6U6YtggAuI0SbszoGB
+VHmeJ6ufz2O4XWZFjqm3BDXxBeAMLyQ1KoXY5JZ5NCFy9GhywRkEKI8WywPsZxmN8LEQ9Sx83eqO
+swk6vEqWanWYyvU6zWO5UQQcMtuv2gauQ5v9pjCilp0zgmTMcOzPuyQFZXoKal0CrGrkjumprs6e
+j1i+T7tKWFzleBqBcATp+sShBR8/N7aLFJtx0aJDzoJgsqX5rNAFepJVYNVEqJimh8iMtpb5SoKP
+5Hr88VXIlfe6/SQp8TTCnV+QI3UoPPJQNWHslsP7V1oU6H+MpG8UOfrjVeKZql2ydKcaazw3ZNb+
+3sv39fBVzOAlDmOkpeUSt37WXGJjTF/a5MjGzkynN/dGOGdO52hWGXYTPNgjFHhKvmeEPnqsiYuI
+ICPaQ8nuNILdXp6AdZ6AaxAuKenTLPofu51dD8ikc9gKOkM2aUpS2F9Uw6lXw9fdwhJHQ/kX7Qk+
+WvnYRz5Ng3q+giVWgqGB4WwrgWb1kfN8HwuXwSm5aiVnUYENKWAm4FE4sjaQ4+T+q2RjNkJyDJ25
+wEubxDHMtgZeFewcERpMYAi+zT2HsDJPNPxF/XLEsvia2Q1hXARmHs+mCbBHgk90mKvZBTdPtYdH
+Zd+BWXitkq0q6gWijNYHSoKUfwi3ggcmH/EhCzcny7gEyMCCJjwt7ni+SadwhzXAMYQBvtDu+fVX
+BYIRG/jHcFSetTx4H68MFXsdmDue5Vxoypqq5zO8ifgyESN/r0hGi1UXRghBQDYIhmQQMGcx6NO1
+9RZ0VAIzfmjF+HK0jLEV1oLV3DjKeld8MDFeaVMs8WMxVYiVNmzElLh/+AhM5cndfekKoZMIcGDs
+tRP9MaGweihyv0BBxy5eP72enjzIhjv60nczSdIlRZNqShC92i2H/dg9+qERTzDxvPKqVF/PWgK+
+RHL/gRcwxnev3DZG1w6ma8DTcRBck0Fa5tZhqS3wi1ZWaP0BlpcJOGa//Hm4HV/YQn62HgG5a8uO
+s4qDHPdLG1AAFjnM45+ANSp6/bre5PTkyi0V96CBCkbM0CQEyuw51N4GhzH5yiMMiYjW+yEnwQ25
+Zy6A+hIzJfz/MDfRwgsovvt3d42btkY29xLJVSIqXRytOPtz4rRUMHnsh33cK8b2q9McmcoxPrni
+fk8x7Iqbr7f5visEHpHYvNSu63TsRH2aabHvVGqNkT0VYN9AcM4iGyY1SuJQmF0kvXCm9sTqL7Sm
+GVxaXTJT9VL2EzqkON+hPHJ1igmAMEb0Xq3ZP0m4vhb1hzO3ac6YAnRdySaPdDvjidD2sC+WG6hX
+ohXHCsXUSMa7y4u16z4TgdCaEoksJtJ7J4HJXyB/1hqFT7scb9/DNeR6hOD8potL2BPyxw905rFM
+LZt/EMlIC3Poad1j1ljXP3Bch3J4dMG0x7+TWWDNyxrbryDJa/L1U5cSwtjU22L0mr/vkEv4gjsg
+5hgLZHpZTsQki73ScsfwldZoXmK8DI28qME2vkMrukTnu+45r7Cp2oH7LqPXso0mQjy41jQbDxi2
+s0Jh79Dyj7uC4JQ+T2gkUabBD9wAJTDuEsGE2vrMWU+qTYIXrRCZp68O5DQ9VuaKyzj6swL9G5OX
+kcBiceyK1VXwijVQGhrbpUSVgl6Y91/YnNAhpoHrTxl4AVVAjy4fsHPWQpQxGcNbWmspNWgGo6FI
+w6LBUHKA422V1kwYmgiEHqlN9g07raQhdPhri/ODNl+wrrSSNh1Fc2eJY4wlgNKWnQ1jJ3Z9tKAf
+86tI4r9k2z9ZwzYVF//da/Jx5x7vRSmCcxA+S3VOBN0xKZ27KlBGvqRiuznRS5yf5Oo4Ch8t1VCH
+LpyZ9jdu0ncEZQgqUwTa5MPFVYdUQrVbVTiWdjCGb2Qhv0TBjfbq0fu7g9VlgiyH7W28ROKRYw4e
+1iNR/wM8jENacO7TUeSMJI0o2uxwkINu+kyWJf91spKJaBQyw8/Lk7rbkvPgVXCIQOzFl8cYUgC2
+ITv8xYOXLif6lR/kXP5YRa/95383w+U3cpQqdpPGczOLaKVpd48fxUnIYcjW/Aj+MhzOO6ZSraiR
+fKKNveJkzHqPxu/gKbTpYHyOzp/hlOwRv4DBUKGcC9ZqHen5HE150WUQNeQ4LszNM1XxNNrlLoJE
+TFBquiTfzM31l8g5OeLdo2YW5eVd9WX7bLM21uvVdqgy+O2gHIbkWF6q9aPKO0Dg8+EDWAiIUBnp
+4XwjCBtd/50PMm4mK9rmS74WX+6PocpGl2LMJ7KIqNxjPeVrCaBKKSNq+CMbZan3Cs5vX65Qrk4R
+Q17znr5kHxxCN+tcONLsL5oJ9TZTPFnGSgI6frEl1vXtusEbaWO6NRO/Oc4LtqHP7bBBj8ZxucIO
+EaTTQt2+bwi42dikRM3Kylp/NP+4RJiDmSxMoOoPbHODJejbeW0KXJx4x6QA/ZJwMsHHfozbgFtX
+OJs0qWfi0xZEVN+5FM5daxKSdIc4+erbCQqAHmWGbYvnNx36KMU0nIcJvRcOdcw0QmNNCHDZyVb9
+KW+s0h9AEVOeD0mB+6oJRyD4znl7hlAeEKfbHWlAkfMMA69FDwne8RVy/2KpB9F0R/x17+9iUS2X
+YXXL0kEjbTfUIcqZj2QqKorTVi7dd0s+oE+bIXWO749hzLiJboMGOLHCzFIB02l+uQttmJWrMMxj
+KSlFCbVHhJly0HicshACbQhWS9zDOybYr+Dydh8AByiTONHefCA7kBDrbS8gIO3NVMEH1PAiu7VB
+YkinEeUIc8swoIo8H57/LyhRs0rXMmVL6Fr65ggScynePvmjmmHKAJVP//7YKwX2veLiNtDi3gC3
+EortHdahLy8K1Drpkqcd72hCOz9oEqo3pelSNH7tEmIPjRvYi/852Vt34B5hFeXFO3J/jozKE/MA
+X2kONkoq1WqYc+iopnR38XvtkD6VVlE8ItugdFiESNPJarLMhItD4Eo1/z5dW7KjBwi9DeHA+Eog
+tLY+ShdcejNGLqaPddO8P6e2nqEqLECXtdaUi08JUAtLpAgBQwCLCXel9NsGleXZxLJyj89dT0yJ
+Oz/eBau07kKgWm4YgXn2syMtYKHJT+D2sIL5FuxTeLfT5+xLMxd7nnzioOhLxUFo7T0Jwy6xE1fq
+Q88YMLOUZlzMSMWPY8b066ov/bMfi35UcQEvsb22kLifi/9t3EKF5LNg37uC/Gd5gJT2PeZYI0PD
+MrGHHBiZUwjLtYKBJYenA1jnNHrESVmmaupGJL8gvXTbwlxZWlDAfK++ivmEu7tmIwaqwgI9hm72
+H3SloKdbb4OcgYU+hPQsd7VYxTRwb+yp2eKv+lTjDnbDHXb7PiEuC7tIEM2LBFEIY+bgigYZTT6/
+hnD1xBqGawg75P9HswBOREIc1QydRb/UOc2sFqmkN0qEZOY+sMJ3LYAIedtyJFh0y7kyGS3uQYCv
+u11jhpf9ntkvpLD21zlrAoM3Yfh4/TKMiOcs/S07W4uhwbK8S5MKa4lDSssLkdwECAzQK/NC1W9Y
+HBrDt+js0pGcUx2mYyMrKeuc9ZQEcZb6RXntsxPUAxXNMXR93FoiB7D8C+LVE8/mdVUfeXAeJyTE
+1On5Jy9wnkk5y7qpMKJNwyDEwliqHM+QQ39JPespUR2W5vwJEnvF/DK45USSbPiTACVvSawYni/8
+9Utm9amQH68r2MhkjeS5lTtaRBScesn+
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_toordernr.php b/src/Application/Model/Requirements/d3ordermanager_requirement_toordernr.php
index be302203..8a8bfdb5 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_toordernr.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_toordernr.php
@@ -1,74 +1,74 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_trackcodefilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_trackcodefilter.php
index 6c096474..7f2216e7 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_trackcodefilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_trackcodefilter.php
@@ -1,61 +1,61 @@
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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
-o7XDLvOi6oaVIzx+vCFa5Wi1s9KjBSccbBkkDW==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_transactionfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_transactionfilter.php
index d96f7dc0..af2c3a6a 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_transactionfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_transactionfilter.php
@@ -1,84 +1,84 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirement_weekdayfilter.php b/src/Application/Model/Requirements/d3ordermanager_requirement_weekdayfilter.php
index 6a10e267..c66e5671 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirement_weekdayfilter.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirement_weekdayfilter.php
@@ -1,87 +1,87 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirementgrouplist.php b/src/Application/Model/Requirements/d3ordermanager_requirementgrouplist.php
index b0c56d98..ca6f5e72 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirementgrouplist.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirementgrouplist.php
@@ -1,41 +1,41 @@
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+cPnhURYiP8LCDv6tx2FGN182I0Ej5WMEiWCiA7P0lojA/g30dLuQjQimVcqxpFrOBZBkCegrL
-PxfkSDobe0w3hWXkzHD/kwCuzEk2ioffNefPcS2x8UpblzxKSFWD7wSXVRLr5R3jmgdh4hkKsk/0
-iudKixCrWQsdkcwriiVsQrCzrYHHWXZ8d8vXTJ6Tip8NBK8KwoFp0u08sioFW2EkXP+rdk2pZIKV
-gC5pr+6iWx8m7vJddYh0Wd/HqYdcXkj6rttFnBi6p57NRxsIrbMjLOfF3cF4RNloBE3hbv250KlX
-Ss+6SF+zu60iO1loRTk0G79bgHbpbMPT5Y0XTwV/Fh4+MPUmR9p+MtW2t/exUxQ63IGQa0KfiBqF
-5Xhe42WJQk5uHAMJuueTNcMeIFSQ8GNBwF9ej4qjZk0N0oYmrkvLMf9qjo3rmHKCsG3c5+g28iGh
-UslUDbnBqMjTKGPkfIvdL9qlS4tHVo1KObVLx/Hrb3Y3W4OOoeM25+l8X36gMOTwyEUxGJO2+8TI
-pK7zz2Gkd17E+zFLo6AIL4m2xCpXJ1d694ySomkLhweaghdCALcwjiHNNM/NKXXeHu0kJXGL8cng
-s7laOX2PBmbAPS9dsYVTneqefTq8WZigXRcf7hewoZ1ghKdEDb55+ADZXTIkuUIjlFOM5nLCd6h4
-sjE3cInHEP59qnepzcEsemeOsRta1L03gOAmEg+9cnMbGn5PBDMwAs6m2q8rpaRCsB7DNB7wFj9I
-NWiV/V/vFXPwpm5X2dpPx1cr1o04aL43Zvl2zB4SvO77Tag8ZvHMGIyMHmPSDpyMAtyqsXcPe22e
-nxpb4bl2ivAZbZbOPiunWKcP/7fBxT4v8nQnKPQxHvik3PbrYWDt49rsrl60Da2a8oDnE5/O5WcN
-J4X0Pqua27V63g+vIZIOub2Xajm1aHF4PFjK9Og/+imuctkke7WtNiNhb67mrx/VwBPfV14IN+qL
-zSemDsuEbGGIbId/HBAQDtXwAacRaPWoDUoY9FTy8l2AhSvwAPtfp9T98T1kxd4r622qFo8NAjmM
-ZgLlfN5JY8jeA5Ku8YEMU7mKKEZbIIYN2dzA4AoD1zLtSnHlXtBNY0DHj/3pE6WFueaJPEW9iuWC
-qhu45Ul6IywHqGqJo4ZZwt8P96yosoj3jZs6i8hhMeKpe+BMw7CwBkFmuvVr9h6fG3MRJTpI6r+f
-RlGpzkkTwId8mVzkToEnopDsNfYAYfjOYdLHjINRJd1wYVLBbMCJJ/Tt4YYTRw9CgxZ0l0FoAZ0j
-9gWOuYR0u1eQHiZouEe+X1q5J29loA3RxjVKrwMaRq5O+m7dbMwb90VhiN7rp/IEXBG7pWCAa/fV
-wnBOwW67VMOLhOLST2pMYHpUwK7GaozS63+zAto0V6WEU7Wzgq21j+mU146lnTAtqTjars/5sV56
-3fhCTUb5WR2Quy0xMMimoLimif+VkPlk5ENTaCSNDZWJrJuksrHYov/ovdEJpy7uu6gvo1m+ifEG
-agbzpK8YRlOjURnXeJgCnGyOpPYNCn5aBX+nv2PkIQ8SqR0FM/346JknuRi+opeIqzQhSa6Eyr0U
-GVKLjgOxofB9kgdq2HBneXJ5l6egSSbH6u4qft3rXzLxA3/AW/D4G2v452Ss+iJQ4/e2AhsVa0GU
-MqEzC43b6x+hLhbuG56Yz+So5cvtCfwzth4k7gxKwvWaggBxSwVS2i+Ie0xe6LA8V09YnZU8URRf
-koev3wwpvYfvMly4fw1iA/cQzg4GBM3LsKXlrb3Di7CYK9uDyoaFia+1rV4DZWkxWnrN6CgyhL/E
-Zw1y379/Wijn1EAXDSEhhufxnOSxvuiO5cs6yxb5pmsvhx5qbtXjwBBwg2htYOqaRAUMagEuc8RL
-aEJgfjZFsJHAZeGQwkavUIOLLYaKyFrOPFynnFj/psW9lDZ7frvMORnleZNZoR3zcfrAy5XKSrSn
-2EYVTLkqU9YJR3g2vfgVv2emTM965ZCvytpg9U4Y4o2N/YEIH6vjQV3InV1IYQyCX17/eX38A9lJ
-3E5fPqnWl+a5Uk0Ott5mLwo7yqVp66l4XokIc8cjLK7mCkobbBiPztN/UoIwHU40rKhYHzvcPsZS
-yYNV39a9IgPNVSmmeAWb6gdpeIl06xb6QNusQs9WqbAE/MG8a2H00KfAcIp2YUX9v2EEWcFrz1v6
-WQuWoSK0ntEd/sYoupAaEpZ5FWMr15JZwQOuEMtwguDnpVPukotVryur4/1SwP8CUnNdkRB/+Cho
-XCU7qLVI/Ny3UAtn0tZ31c+KGJC3PrKbqRNex/azExLabY430xq5909Rzje4AZPDVDdO1Oyzr4sG
-YBqFpa3JTIwyXYo/ihEAR061Z7L76HWJY/OkUOkz1Me0tWFHtm/HhUtG95LSX9IPzHhceJu/UHjg
-IBmcNAix9IgWdbWr/ovNb4hreLihrRjEcnAfWU4dHb1eUIH+2wmkCYs9Qui/xzpFNM3bEtOxl0G3
-9dnOxmBj8bxDfIi4eYHZ5rILWsAkkQB3Uwd+v0+ZuSq/XTvUlXqsTb2VdrR3Wi7IWVG1egkTe72Q
-+wvqC1vrJyeHWbQ68cfYcJAqAXUDZfbbBoPNbTsedUDpa7P5HukYsBgFTpvtFeepTENPy8stRBgO
-hEYQYHCTu97qngnIkmSqFhCYrWViKs1vMNW0AkshFSogUcKBWfol5sy90NB+HMykIqXQCi451PXG
-W9Klk5vzRtC=
\ No newline at end of file
+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
+ax9+i3wko83ABG==
\ No newline at end of file
diff --git a/src/Application/Model/Requirements/d3ordermanager_requirementlist.php b/src/Application/Model/Requirements/d3ordermanager_requirementlist.php
index 751f55a3..41c692a4 100644
--- a/src/Application/Model/Requirements/d3ordermanager_requirementlist.php
+++ b/src/Application/Model/Requirements/d3ordermanager_requirementlist.php
@@ -1,117 +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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
-9xNEkqnJ
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager.php b/src/Application/Model/d3ordermanager.php
index 389037eb..1679f5df 100644
--- a/src/Application/Model/d3ordermanager.php
+++ b/src/Application/Model/d3ordermanager.php
@@ -1,411 +1,410 @@
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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
-Jmp3
\ No newline at end of file
+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
+sF3kT7xT2fcQkVndTBi=
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_conf.php b/src/Application/Model/d3ordermanager_conf.php
index a0db3934..5269c7b0 100644
--- a/src/Application/Model/d3ordermanager_conf.php
+++ b/src/Application/Model/d3ordermanager_conf.php
@@ -1,50 +1,52 @@
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
+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
diff --git a/src/Application/Model/d3ordermanager_execute.php b/src/Application/Model/d3ordermanager_execute.php
index d9993f2f..6a4f3625 100644
--- a/src/Application/Model/d3ordermanager_execute.php
+++ b/src/Application/Model/d3ordermanager_execute.php
@@ -1,325 +1,327 @@
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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
-SXN9PG==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_export.php b/src/Application/Model/d3ordermanager_export.php
index bfab4d0b..f5ff8a41 100644
--- a/src/Application/Model/d3ordermanager_export.php
+++ b/src/Application/Model/d3ordermanager_export.php
@@ -1,159 +1,159 @@
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
+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
+MEQow6gI/w376Ltm1FrK9vwWf/Enmb0=
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_listgenerator.php b/src/Application/Model/d3ordermanager_listgenerator.php
index 70d260fd..809045fb 100644
--- a/src/Application/Model/d3ordermanager_listgenerator.php
+++ b/src/Application/Model/d3ordermanager_listgenerator.php
@@ -1,273 +1,272 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_partgrouplist_abstract.php b/src/Application/Model/d3ordermanager_partgrouplist_abstract.php
index 40bc2dea..f763ee2a 100644
--- a/src/Application/Model/d3ordermanager_partgrouplist_abstract.php
+++ b/src/Application/Model/d3ordermanager_partgrouplist_abstract.php
@@ -1,47 +1,47 @@
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
+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
+ko/Yf59WK8funAzpMzDtvxD8NWoKjwMsGJ7q
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_partgrouplist_interface.php b/src/Application/Model/d3ordermanager_partgrouplist_interface.php
index 0632a0f8..e0514547 100644
--- a/src/Application/Model/d3ordermanager_partgrouplist_interface.php
+++ b/src/Application/Model/d3ordermanager_partgrouplist_interface.php
@@ -1,27 +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+cPtfkRncki5DVjzxwEk8KP8kfYDEjtdMRoFem29qLztooCwKpUv94Czg5EsIOzTifgFQM6YSW
-JRajOWcKg8/Rq+JNDyaNiBQc8iFLtXVQqpjB1bDO51dNp6hE2iqtrg8GOYJvJRrl6b170pDb3tO9
-Z4ZwleGZYpGZtGljDfG8wPY72+vuDa7tvdC5dfJgiVA31WW8tHMybUCXXBP6A/5BS0c5CgaZIEXA
-WLUKYdV1W2sA5z+hvCb2MKwbr6D/Wbo1DJMFKt2x1inHrs+zajPLhLMAJmvZKsRaWr1KeaKOy+4x
-MLnXZn2isfYc90WXcyxD1aQ+29SOVdXViIGr9NYER/Q7GzDQTObVnbIUOIeDnHbC6b2fzcNGdUtv
-x+MtgM6I+T8JHLM7cEf01lXzooVSwQ+k/Z4tm+eJv1oW0m1Kg3cWTAcsiNjE/mP6YDkIiLP8I7vB
-Y+QfX5OZKnuD14Gx3eoGlaeHqHrjJTTUMhhy0CJLeg1ynvSLw1c7xCVI4NzeiDNlqAX/2TVc0KXf
-a2UFRO/Yyf23P5A7YllxQnXQMyWX1aEWuWzhskvoiFIW/n25DC6kcBg2kYkTCBVekuYgNKo+fIIL
-+6rNCLh7pAbse2BfwByUGmk0+IyY/zwu/SD8vsBf8/Y6DTtfCuXU8wLDhRbs6qh6l5mbUAdUcsA8
-wavedzAabgBRhoul27xo6UB5ZirewQRb4gOlBYcnSJQ2j9Y2ceLaWt8x+NAcbCnDcZcrn9HCLvGK
-sSLVIUzIeBAGMVfviWexnhUpjvWALhZss0wYQSOev8GC5WPW1Y5NC+JLfghY+3hXdMA2zzfxDYKd
-2zEmaun0TkAhKJ+nOPL/IzBiqdE4flJrRny31Q3HuFpWlhPNgcps70Ou1W/j2/Nmi/Ft0ZWYtXp5
-GC8FDG342edNI2w4IuzJU4owMgOr2ETIoLT3ds8twsR4TtsO9sihmRYmKenTESYIBfDSWmR/sT/V
-XcB3pEw0xUM9Md1K/n7w2dpnukod8JZvRlT7oanCZwumy+9q8LTBMcBou6kKgdfxRoNOuZ2SLzaJ
-8YUhfx69k0/PYrlhNgXy8Q1OqzWhM6o5E4p57xjb4f+cAd148k3idO0uRV9xifY0vigzkO9vHOlV
-i1JmMwVnrNcGN42V0i2AnWHphuOxm0CF/l8K8m8P4pBykWsmS09tvfftZ5lj5CADJN3r8HyDwBz1
-DozAtEFsH1pKg/lvEcIlh/OMAQ9GmcrEupsKr/x8tixxpZxNWPmwjJug4lQGeJ8mIvFU8Di52By9
-YkE6/9yzDP/XOcjSBWEEMopDRASxWflOs9Iqwgop/ZkBcKtnZ1liz5Z/rWHo8+Xb5oERpYRIOUGf
-f9+2XlPhk+QdDWvWnuQNlLbMa+8tkZ2zCPIYiOpTR/TalX227aAlOWrJ2fmneMXY6eN6Fc8kg2Vq
-nFGmTL0u4fAdw2fM7vMelYRpBXeA3GmViRpVf5dmT+Wt3H1rkgKf4X5g1Z7GMNPKcxYGu9UpMSea
-95TTKuepe/WKpbykjWom70/OlJ8fdCapWiOFUCR8aN8pIQ75aguveS0WE/5qvKmAgmegnlI1hoHb
-FTD3j8cb91OsBLcC/C307zCPDCDlhWV6hSJ7m3w+LftZFaaWSeqZ3ROul9DhhpW9c7otOAiK7+Yr
-+IEoQ2TzQfxHrIpZUGPqx9SqDrQgAGuNp0==
\ No newline at end of file
+HR+cPziOaLH8+ccR5QW4TtKITDx4vHlDMgnAchguFRV6Zf7spC7yljeUUGLvOp5YgQB0Uc83VnOL
+NfLpxk+3g21RmVEzcFTvPQ5YwcFxxfJERq1ls5A4krb3Y/m1nH0KEsDiKNikg4SJBRR1cF6yNvj+
+P2WTeSmEOTsiGMTHUteHYauKO3afJdN0yDJ4LnwrirJCo4NnHaCE6do4LigWbIXLbKIJ80Ts6FFY
+hX/dmbE70c7FCUDGr/ytK7jh/UAIQqNzib4VC7uq9EDBiwjz4xzclKadUwjdmiBJ32oHkMR9HAuD
+xsyEKOmhbX/DcmXS4SZoWIyjbBh+AbCdDYltK4zMFaqnz7lMEu8PC+SnmcWgSGtfmBxQ7b8sSmwt
+JE0FNUAgPq54b3XTNMmNJrgyE2PHojUiRvqeMOxT9YuuWRybSc5T030fduM1y186tXd++4nIvGMl
+wM4GxIeFl7/kALqxuek7cZKAsnGmXiPM7bQyTkisZocOif6R95NLHsrghH1YRtKY1fdWETrbA9Q2
+P5/nS5AmGLW10fTvH0TzA6xY/6+19cSFwlPzFb/FDt54t9bSv2rz94MnV4V7pnVNnBIr14D14ZxC
+LvGruuJdrDCeuzMTbMh7HLuVboGpcalDiOQy13D6JA0pxbPE5dje4dlWlpwNtpj8Nld2xlW9iec7
+Zh5USFVFsh6CsHVYVW4U0bNq2L12K91x+Rc1WcaRMR8JWUUuyS4YS7KpBRvQ8KD7ul3GXbGJIJkq
+QFKUr+u6WZZfoEGNCTqfK9SG0yszk6A1AWq18c3yLIbyTXv6kNLSsOihnKXRJuEfAJQVc6RuMXPK
+1Q5Jgt0ePFcZwlwwcYztzDhlvW4irDHunfiEbGd81Y5KSrxer1Dne2wE+1IEAN+OdPqX4Weo78N8
+IutgwtUAEUorNU1T4cNOlR4El33VMHaRQDelpBNr6Sd7TaleIasRmsqD9l2cX9boCFn6DixI78rM
+QH2gYK8TKDUnTVf1wMTqeiRXRyrkcGCe889MD1TdlsBLJEPhsuhz9H2rrkooBLN7XOSdEAq/1YK1
+LoIhQghe+lyAvD6s04/KBGpHPO0wVss9L7f9O34sE6lSD1gHnykFaEQPvrGwv2zn/jYDGDGhMtnX
+3VFgeUt6zSki9RtgyY082TJG0g1oBZu0h6j0EcmTYGw9mTqzq9dqtmeSdLRnEoCAXpe0FVuEs75M
+ORm31tlaZygQVWZ9R6BFy7OwWj6l+jJvsQcYFiiN7DO513JXpCqfdbx2j4sRNjhN8SNfncscZ+eB
+CTleuhcP3mKqfVgEaAulmdZFlPLtCrg2RMAT3+pdKCPi/slfq1/JvVKDWHoQuEH0pDKr/xzqrseW
+dMadd8PSez57SZgSTkNYqsiFlR+pf6gvsdE49a+6gVWkHSAly0SjeAY3+LujVUb1psxDd97LHqDK
+BokcxxvqmD28z7q7zdAA8J3QVqpi4M6VWstrp9pUGcJGJv7sJTD8gtOZ9RHowElHw2aBPFm1WFbH
+BC7oFRzMChfqjsaKk67sKoB6xKTuD0fvjSllmMZtCRkIfXbLBl4+AA8CLxPjiUkxGedaiLzZ1V5r
+WAm7CJ2eeX8x/knRvis7Pf4wx8hG+iikP23c/L2BRNFrVL/5z8NBOq6qkZ/Lou7E+Q7kmUoxsYof
+qUWpcCjgBIz2QuJIPeOWfohowmNjyW==
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_pdfhandler.php b/src/Application/Model/d3ordermanager_pdfhandler.php
index a48af3d0..41960cfc 100644
--- a/src/Application/Model/d3ordermanager_pdfhandler.php
+++ b/src/Application/Model/d3ordermanager_pdfhandler.php
@@ -1,98 +1,105 @@
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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
-SS0OQQitr/zvUm==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_remark.php b/src/Application/Model/d3ordermanager_remark.php
index ab9fd8b3..50d75b7e 100644
--- a/src/Application/Model/d3ordermanager_remark.php
+++ b/src/Application/Model/d3ordermanager_remark.php
@@ -1,176 +1,176 @@
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
+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
+MWzhw95vycY7usWB+F621O+gbMarXYsp4fWJSW==
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanager_toorderassignment.php b/src/Application/Model/d3ordermanager_toorderassignment.php
index c95825e0..41d383ee 100644
--- a/src/Application/Model/d3ordermanager_toorderassignment.php
+++ b/src/Application/Model/d3ordermanager_toorderassignment.php
@@ -1,80 +1,80 @@
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
+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
\ No newline at end of file
diff --git a/src/Application/Model/d3ordermanagerlist.php b/src/Application/Model/d3ordermanagerlist.php
index 52c8d2b1..69f0a109 100644
--- a/src/Application/Model/d3ordermanagerlist.php
+++ b/src/Application/Model/d3ordermanagerlist.php
@@ -17,6 +17,7 @@
namespace D3\Ordermanager\Application\Model;
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
use D3\ModCfg\Application\Model\Configuration\d3modprofilelist;
use D3\ModCfg\Application\Model\d3utils;
use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
@@ -84,21 +85,28 @@ class d3ordermanagerlist extends d3modprofilelist
*/
public function d3GetOrderSaveTriggeredManagerTasks()
{
- /** @var d3ordermanager $oListObject */
- $oListObject = $this->getBaseObject();
- $sFieldList = $oListObject->getSelectFields();
- $sQ = "select $sFieldList from " . $oListObject->getViewName();
+ if ($this->d3GetSet()->isDemo() ||
+ in_array(
+ true,
+ array_map(array($this->d3GetSet(),'getLicenseConfigData'),array(d3ordermanager_conf::SERIAL_BIT_STANDARD_EDITION))
+ )
+ ) {
+ /** @var d3ordermanager $oListObject */
+ $oListObject = $this->getBaseObject();
+ $sFieldList = $oListObject->getSelectFields();
+ $sQ = "select $sFieldList from " . $oListObject->getViewName();
- $sQ .= " where ";
- $sQ = $this->d3AddActiveSnippet($oListObject, $sQ, true, false);
- $sQ .= ' AND '.$oListObject->getViewName().'.D3_OM_ORDERSAVETRIGGERED = 1';
- $sQ .= " ORDER BY ".$oListObject->getViewName().".oxsort ASC, ".$oListObject->getViewName().".oxfolder ASC";
- $this->selectString($sQ);
+ $sQ .= " where ";
+ $sQ = $this->d3AddActiveSnippet($oListObject, $sQ, true, false);
+ $sQ .= ' AND ' . $oListObject->getViewName() . '.D3_OM_ORDERSAVETRIGGERED = 1';
+ $sQ .= " ORDER BY " . $oListObject->getViewName() . ".oxsort ASC, " . $oListObject->getViewName() . ".oxfolder ASC";
+ $this->selectString($sQ);
- /** @var $oManager d3ordermanager */
- foreach ($this->getArray() as $sKey => $oManager) {
- if (false == $oManager->getLicenseActive()) {
- $this->offsetUnset($sKey);
+ /** @var $oManager d3ordermanager */
+ foreach ($this->getArray() as $sKey => $oManager) {
+ if (false == $oManager->getLicenseActive()) {
+ $this->offsetUnset($sKey);
+ }
}
}
@@ -113,24 +121,32 @@ class d3ordermanagerlist extends d3modprofilelist
* @throws StandardException
* @throws d3ShopCompatibilityAdapterException
* @throws d3_cfg_mod_exception
+ * @throws Exception
*/
public function d3GetOrderFinishTriggeredManagerTasks()
{
- /** @var d3ordermanager $oListObject */
- $oListObject = $this->getBaseObject();
- $sFieldList = $oListObject->getSelectFields();
- $sQ = "select $sFieldList from " . $oListObject->getViewName();
+ if ($this->d3GetSet()->isDemo() ||
+ in_array(
+ true,
+ array_map(array($this->d3GetSet(),'getLicenseConfigData'),array(d3ordermanager_conf::SERIAL_BIT_STANDARD_EDITION))
+ )
+ ) {
+ /** @var d3ordermanager $oListObject */
+ $oListObject = $this->getBaseObject();
+ $sFieldList = $oListObject->getSelectFields();
+ $sQ = "select $sFieldList from " . $oListObject->getViewName();
- $sQ .= " where ";
- $sQ = $this->d3AddActiveSnippet($oListObject, $sQ, true, false);
- $sQ .= ' AND '.$oListObject->getViewName().'.D3_OM_ORDERFINISHTRIGGERED = 1';
- $sQ .= " ORDER BY ".$oListObject->getViewName().".oxsort ASC, ".$oListObject->getViewName().".oxfolder ASC";
- $this->selectString($sQ);
+ $sQ .= " where ";
+ $sQ = $this->d3AddActiveSnippet($oListObject, $sQ, true, false);
+ $sQ .= ' AND ' . $oListObject->getViewName() . '.D3_OM_ORDERFINISHTRIGGERED = 1';
+ $sQ .= " ORDER BY " . $oListObject->getViewName() . ".oxsort ASC, " . $oListObject->getViewName() . ".oxfolder ASC";
+ $this->selectString($sQ);
- /** @var $oManager d3ordermanager */
- foreach ($this->getArray() as $sKey => $oManager) {
- if (false == $oManager->getLicenseActive()) {
- $this->offsetUnset($sKey);
+ /** @var $oManager d3ordermanager */
+ foreach ($this->getArray() as $sKey => $oManager) {
+ if (false == $oManager->getLicenseActive()) {
+ $this->offsetUnset($sKey);
+ }
}
}
@@ -225,4 +241,13 @@ class d3ordermanagerlist extends d3modprofilelist
$oBaseObject = $this->getBaseObject();
$oBaseObject->setCronJobIdFilter($iCronJobId);
}
+
+ /**
+ * @return d3_cfg_mod
+ * @throws \Exception
+ */
+ public function d3GetSet()
+ {
+ return d3GetModCfgDIC()->get('d3.ordermanager.modcfg');
+ }
}
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changedelcosts.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changedelcosts.tpl
index 56aa45ed..30544da2 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changedelcosts.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changedelcosts.tpl
@@ -1,16 +1,22 @@
-
-
-
- getValue('blActionOrderChangeDeliveryCost_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDELCOSTS"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
- [{else}]
- [{if $edit->getValue('sActionChangeDelCostValue')}][{$edit->getValue('sActionChangeDelCostValue')}][{else}]0.00[{/if}] [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDELCOSTS_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_changedelcost"}]
+
+
+
+ getValue('blActionOrderChangeDeliveryCost_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDELCOSTS"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_changedelcost_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_changedelcost_viewer"}]
+ [{if $edit->getValue('sActionChangeDelCostValue')}][{$edit->getValue('sActionChangeDelCostValue')}][{else}]0.00[{/if}] [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDELCOSTS_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changediscount.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changediscount.tpl
index 08098fc7..77e5ca70 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changediscount.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_changediscount.tpl
@@ -1,16 +1,22 @@
-
-
-
- getValue('blActionOrderChangeDiscount_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDISCOUNT"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
- [{else}]
- [{if $edit->getValue('sActionChangeDiscountValue')}][{$edit->getValue('sActionChangeDiscountValue')}][{else}]0.00[{/if}] [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDISCOUNT_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_changediscount"}]
+
+
+
+ getValue('blActionOrderChangeDiscount_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDISCOUNT"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_changediscount_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_changediscount_viewer"}]
+ [{if $edit->getValue('sActionChangeDiscountValue')}][{$edit->getValue('sActionChangeDiscountValue')}][{else}]0.00[{/if}] [{oxmultilang ident="D3_ORDERMANAGER_ACTION_GENERALORDERCURR"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERCHANGEDISCOUNT_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custaddtogroup.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custaddtogroup.tpl
index 7220dcec..f055d473 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custaddtogroup.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custaddtogroup.tpl
@@ -1,34 +1,40 @@
-
-
-
- getValue('blActionCust2Group_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_CUSTOMERADD2GROUP"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sCustAddGroup"}]
-
- [{foreach from=$oView->getGroupsList() item="oGroup"}]
- getValue('sCustAddGroup')) && in_array($oGroup->getId(), $edit->getValue('sCustAddGroup'))}]selected[{/if}]>[{$oGroup->getFieldData('oxtitle')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
- [{if !$blActionRestriction}]
-
- [{/if}]
- [{else}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_CUSTOMERADD2GROUP_DESC"}]
-
-
-
\ No newline at end of file
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_custaddtogroup_viewer"}]
+
+ [{foreach from=$oView->getGroupsList() item="oGroup"}]
+ [{if is_array($edit->getValue('sCustAddGroup')) && in_array($oGroup->getId(), $edit->getValue('sCustAddGroup'))}]
+
+ [{$oGroup->getFieldData('oxtitle')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_CUSTOMERADD2GROUP_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custdelfromgroup.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custdelfromgroup.tpl
index b49ac804..02e5e16f 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custdelfromgroup.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_custdelfromgroup.tpl
@@ -1,34 +1,40 @@
-
-
-
- getValue('blActionCustFromGroup_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_CUSTOMERREMOVEFROMGROUP"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sCustRemoveGroup"}]
-
- [{foreach from=$oView->getGroupsList() item="oGroup"}]
- getValue('sCustRemoveGroup')) && in_array($oGroup->getId(), $edit->getValue('sCustRemoveGroup'))}]selected[{/if}]>[{$oGroup->getFieldData('oxtitle')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
- [{if !$blActionRestriction}]
-
- [{/if}]
- [{else}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_CUSTOMERREMOVEFROMGROUP_DESC"}]
-
-
-
\ No newline at end of file
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_custdelfromgroup_viewer"}]
+
+ [{foreach from=$oView->getGroupsList() item="oGroup"}]
+ [{if is_array($edit->getValue('sCustRemoveGroup')) && in_array($oGroup->getId(), $edit->getValue('sCustRemoveGroup'))}]
+
+ [{$oGroup->getFieldData('oxtitle')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_CUSTOMERREMOVEFROMGROUP_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_deleteorder.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_deleteorder.tpl
index 86b11862..7702ea0f 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_deleteorder.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_deleteorder.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blActionOrderDelete_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERDELETE"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERDELETE_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_deleteorder"}]
+
+
+
+ getValue('blActionOrderDelete_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERDELETE"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_deleteorder_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_deleteorder_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERDELETE_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_executemethod.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_executemethod.tpl
index e23bca41..ff5832ea 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_executemethod.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_executemethod.tpl
@@ -1,16 +1,23 @@
-
-
-
- getValue('blActionOrderExecuteMethod_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD_NAME"}]
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD_NAME"}] [{$edit->getValue('sActionExecuteMethod_name')}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_executemethod"}]
+
+
+
+ getValue('blActionOrderExecuteMethod_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_executemethod_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD_NAME"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_executemethod_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD_NAME"}] [{$edit->getValue('sActionExecuteMethod_name')}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDEREXECUTEMETHOD_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_exportlist.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_exportlist.tpl
index adc638be..afb17c3a 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_exportlist.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_exportlist.tpl
@@ -1,63 +1,69 @@
-
-
-
- getValue('blActionExport_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORT"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTCONTAINS"}]
-
-
- [{foreach from=$oView->getItemFieldNames() item="sFieldName"}]
- getValue('aExportFieldList')) && in_array($sFieldName, $edit->getValue('aExportFieldList'))}]selected[{/if}]>[{$oView->getFieldNameDescription($sFieldName)}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
- [{if !$blActionRestriction}]
-
- [{/if}]
-
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE_DESC"}]
-
-
- getValue('sExportListFromTheme') == 'admin'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
- getValue('sExportListFromTheme') == 'frontend'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_FRONTEND"}] ([{$oView->getManagerTemplateDirs(0)}])
- getValue('sExportListFromTheme') == 'module'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_MODULE"}]
- [{oxmultilang ident="FromModuleId"}]
-
- [{foreach from=$oView->getModulePathList() key="sId" item="sModulePath"}]
- getValue('sExportListFromModulePath') == $sId}]selected[{/if}]>[{$sModulePath}]
- [{/foreach}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_DESC"}]
-
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION_DESC"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTLOCATION"}][{$oView->getExportExamplePath()}]
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTCONTAINS"}]
-
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE"}] [{$edit->getValue('sExportTemplatename')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION"}] [{$edit->getValue('sExportExtension')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTLOCATION"}][{$oView->getExportExamplePath()}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORT_DESC"}]
-
-
-
\ No newline at end of file
+
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE_DESC"}]
+
+
+ getValue('sExportListFromTheme') == 'admin'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
+ getValue('sExportListFromTheme') == 'frontend'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_FRONTEND"}] ([{$oView->getManagerTemplateDirs(0)}])
+ getValue('sExportListFromTheme') == 'module'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_MODULE"}]
+ [{oxmultilang ident="FromModuleId"}]
+
+ [{foreach from=$oView->getModulePathList() key="sId" item="sModulePath"}]
+ getValue('sExportListFromModulePath') == $sId}]selected[{/if}]>[{$sModulePath}]
+ [{/foreach}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_DESC"}]
+
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION_DESC"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTLOCATION"}][{$oView->getExportExamplePath()}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_exportlist_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTCONTAINS"}]
+
+ [{foreach from=$oView->getItemFieldNames() item="sFieldName"}]
+ [{if is_array($edit->getValue('aExportFieldList')) && in_array($sFieldName, $edit->getValue('aExportFieldList'))}]
+
+ [{$oView->getFieldNameDescription($sFieldName)}]
+
+ [{/if}]
+ [{/foreach}]
+
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE"}] [{$edit->getValue('sExportTemplatename')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTTEMPLATE_DESC"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION"}] [{$edit->getValue('sExportExtension')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORTEXTENSION_DESC"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_EXPORTLOCATION"}][{$oView->getExportExamplePath()}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_EXPORT_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_generatepdf.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_generatepdf.tpl
index 0b802620..125cf7a0 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_generatepdf.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_generatepdf.tpl
@@ -4,31 +4,63 @@
[{assign var="blNoPdf" value=""}]
[{/if}]
-
-
-
- getValue('blActionOrderGeneratePdf_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDF"}][{if !$oView->canGeneratePdf()}] [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDF_NOPDF"}] [{/if}]
-
-
- [{if $oView->isEditMode()}]
-
- getValue('blActionOrderPdfTypeInvoice') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>[{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFINVOICE"}]
-
- getValue('blActionOrderPdfTypeDelnote') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>[{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFDELNOTE"}]
-
-
- getValue('blActionOrderPdfSendAttach') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>[{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH_DESC"}]
-
- getValue('blActionOrderPdfSendSave') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>[{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFFILESAVE"}] [{$edit->getShopDir()}][{oxmultilang ident="sActionOrderPdfSaveDir"}]
- [{else}]
- [{if $edit->getValue('blActionOrderPdfTypeInvoice') == 1}][{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFINVOICE"}] [{/if}]
- [{if $edit->getValue('blActionOrderPdfTypeDelnote') == 1}][{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFDELNOTE"}] [{/if}]
-
- [{if $edit->getValue('blActionOrderPdfSendAttach') == 1}][{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH_DESC"}] [{/if}]
- [{if $edit->getValue('blActionOrderPdfSendSave') == 1}][{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFFILESAVE"}] [{$edit->getShopDir()}][{$edit->getValue('sActionOrderPdfSaveDir')}][{/if}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDF_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_generatepdf"}]
+
+
+
+ getValue('blActionOrderGeneratePdf_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDF"}][{if !$oView->canGeneratePdf()}] [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDF_NOPDF"}] [{/if}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_generatepdf_editor"}]
+ [{block name="ordermanager_admin_action_generatepdf_editor_type"}]
+
+ getValue('blActionOrderPdfTypeInvoice') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFINVOICE"}]
+
+ getValue('blActionOrderPdfTypeDelnote') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFDELNOTE"}]
+ [{/block}]
+
+ [{block name="ordermanager_admin_action_generatepdf_editor_send"}]
+
+ getValue('blActionOrderPdfSendAttach') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH_DESC"}]
+
+ getValue('blActionOrderPdfSendSave') == 1}]checked[{/if}] [{$blActionRestriction}] [{$blNoPdf}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFFILESAVE"}] [{$edit->getShopDir()}][{oxmultilang ident="sActionOrderPdfSaveDir"}]
+
+ [{/block}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_generatepdf_viewer"}]
+ [{block name="ordermanager_admin_action_generatepdf_viewer_type"}]
+ [{if $edit->getValue('blActionOrderPdfTypeInvoice') == 1}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFINVOICE"}]
+ [{/if}]
+ [{if $edit->getValue('blActionOrderPdfTypeDelnote') == 1}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFDELNOTE"}]
+ [{/if}]
+ [{/block}]
+
+ [{block name="ordermanager_admin_action_generatepdf_viewer_send"}]
+ [{if $edit->getValue('blActionOrderPdfSendAttach') == 1}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFATTACH_DESC"}]
+ [{/if}]
+ [{if $edit->getValue('blActionOrderPdfSendSave') == 1}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDFFILESAVE"}]
+ [{$edit->getShopDir()}][{$edit->getValue('sActionOrderPdfSaveDir')}]
+ [{/if}]
+ [{/block}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERGENERATEPDF_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_moveordertofolder.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_moveordertofolder.tpl
index 157330fa..d8099423 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_moveordertofolder.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_moveordertofolder.tpl
@@ -1,29 +1,35 @@
-
-
-
- getValue('blActionOrder2Folder_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERMOVE2FOLDER"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sOrderFolder"}]
-
- [{foreach from=$oView->getItemFolders() key="field" item="color"}]
- getValue('sOrderFolder') == $field}]selected[{/if}] style="color: [{$color}];">[{oxmultilang ident=$field noerror=true}]
- [{/foreach}]
-
- [{else}]
-
- [{foreach from=$oView->getItemFolders() key="field" item="color"}]
- [{if $edit->getValue('sOrderFolder') == $field}]
-
- [{oxmultilang ident=$field noerror=true}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERMOVE2FOLDER_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_moveordertofolder"}]
+
+
+
+ getValue('blActionOrder2Folder_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERMOVE2FOLDER"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_moveordertofolder_editor"}]
+ [{oxmultilang ident="sOrderFolder"}]
+
+ [{foreach from=$oView->getItemFolders() key="field" item="color"}]
+ getValue('sOrderFolder') == $field}]selected[{/if}] style="color: [{$color}];">[{oxmultilang ident=$field noerror=true}]
+ [{/foreach}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_moveordertofolder_viewer"}]
+
+ [{foreach from=$oView->getItemFolders() key="field" item="color"}]
+ [{if $edit->getValue('sOrderFolder') == $field}]
+
+ [{oxmultilang ident=$field noerror=true}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERMOVE2FOLDER_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_sendmail.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_sendmail.tpl
index e3965d57..cc4182f6 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_sendmail.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_sendmail.tpl
@@ -1,132 +1,138 @@
-
-
-
- getValue('blActionMailsend_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_DESC"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROM1"}]
- getValue('sSendMailFromSource') == 'template'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMSUBJECT"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_HTML"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_PLAIN"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
- getValue('sSendMailFromTheme') == 'admin'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
- getValue('sSendMailFromTheme') == 'frontend'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_FRONTEND"}] ([{$oView->getManagerTemplateDirs(0)}])
- getValue('sSendMailFromTheme') == 'module'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_MODULE"}]
- [{oxmultilang ident="FromModuleId"}]
-
- [{foreach from=$oView->getModulePathList() key="sId" item="sModulePath"}]
- getValue('sSendMailFromModulePath') == $sId}]selected[{/if}]>[{$sModulePath}]
- [{/foreach}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_DESC"}]
-
- getValue('sSendMailFromSource') == 'cms'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_SUBJECT"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_HTML"}]
-
- [{foreach from=$oView->getContentList() item="oContent"}]
- getValue('sSendMailFromContentname') == $oContent->getId()}]selected[{/if}]>[{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
- [{/foreach}]
-
+[{block name="ordermanager_admin_action_sendmail"}]
+
+
+
+ getValue('blActionMailsend_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_DESC"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_sendmail_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROM1"}]
+ getValue('sSendMailFromSource') == 'template'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMSUBJECT"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_HTML"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_PLAIN"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
+ getValue('sSendMailFromTheme') == 'admin'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
+ getValue('sSendMailFromTheme') == 'frontend'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_FRONTEND"}] ([{$oView->getManagerTemplateDirs(0)}])
+ getValue('sSendMailFromTheme') == 'module'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_MODULE"}]
+ [{oxmultilang ident="FromModuleId"}]
+
+ [{foreach from=$oView->getModulePathList() key="sId" item="sModulePath"}]
+ getValue('sSendMailFromModulePath') == $sId}]selected[{/if}]>[{$sModulePath}]
+ [{/foreach}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_DESC"}]
+
+ getValue('sSendMailFromSource') == 'cms'}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]> [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_SUBJECT"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_HTML"}]
+
+ [{foreach from=$oView->getContentList() item="oContent"}]
+ getValue('sSendMailFromContentname') == $oContent->getId()}]selected[{/if}]>[{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
+ [{/foreach}]
+
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_PLAIN"}]
-
- [{foreach from=$oView->getContentList() item="oContent"}]
- getValue('sSendMailFromContentnamePlain') == $oContent->getId()}]selected[{/if}]>[{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
- [{/foreach}]
-
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROM2"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_PLAIN"}]
+
+ [{foreach from=$oView->getContentList() item="oContent"}]
+ getValue('sSendMailFromContentnamePlain') == $oContent->getId()}]selected[{/if}]>[{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
+ [{/foreach}]
+
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROM2"}]
-
- getValue('blSendMailToCustomer') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER_DESC"}]
-
- getValue('blSendMailToOwner') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER_DESC"}]
-
- getValue('blSendMailToCustom') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL"}]
- [{oxmultilang ident="ToMailInput"}]
-
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL_DESC"}]
+
+ getValue('blSendMailToCustomer') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER_DESC"}]
+
+ getValue('blSendMailToOwner') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER_DESC"}]
+
+ getValue('blSendMailToCustom') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL"}]
+ [{oxmultilang ident="ToMailInput"}]
+
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL_DESC"}]
-
-
- getValue('blGetStornoArticles') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES_DESC"}]
+
+
+ getValue('blGetStornoArticles') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR"}]
-
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR_DESC"}]
- [{else}]
- [{if $edit->getValue('sSendMailFromSource') == 'template'}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMSUBJECT"}] [{$edit->getValue('sSendMailFromSubject')}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_HTML"}] [{$edit->getValue('sSendMailFromTemplatename')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_PLAIN"}] [{$edit->getValue('sSendMailFromTemplatenamePlain')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
- [{if $edit->getValue('sSendMailFromTheme') == 'admin'}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
- [{elseif $edit->getValue('sSendMailFromTheme') == 'frontend'}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_FRONTEND"}] ([{$oView->getManagerTemplateDirs(0)}])
- [{elseif $edit->getValue('sSendMailFromTheme') == 'module'}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_MODULE"}] [{$edit->getValue('sSendMailFromModulePath')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_DESC"}]
- [{/if}]
- [{elseif $edit->getValue('sSendMailFromSource') == 'cms'}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_SUBJECT"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_HTML"}]
- [{foreach from=$oView->getContentList() item="oContent"}]
- [{if $edit->getValue('sSendMailFromContentname') == $oContent->getId()}]
- [{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR"}]
+
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR_DESC"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_sendmail_viewer"}]
+ [{if $edit->getValue('sSendMailFromSource') == 'template'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMSUBJECT"}] [{$edit->getValue('sSendMailFromSubject')}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_HTML"}] [{$edit->getValue('sSendMailFromTemplatename')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_PLAIN"}] [{$edit->getValue('sSendMailFromTemplatenamePlain')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTEMPLATE_DESC"}]
+ [{if $edit->getValue('sSendMailFromTheme') == 'admin'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_ADMIN"}] ([{$oView->getManagerTemplateDirs(1)}])
+ [{elseif $edit->getValue('sSendMailFromTheme') == 'frontend'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_FRONTEND"}] ([{$oView->getManagerTemplateDirs(0)}])
+ [{elseif $edit->getValue('sSendMailFromTheme') == 'module'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_MODULE"}] [{$edit->getValue('sSendMailFromModulePath')}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMTPL_DESC"}]
+ [{/if}]
+ [{elseif $edit->getValue('sSendMailFromSource') == 'cms'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_SUBJECT"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_HTML"}]
+ [{foreach from=$oView->getContentList() item="oContent"}]
+ [{if $edit->getValue('sSendMailFromContentname') == $oContent->getId()}]
+ [{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
+ [{/if}]
+ [{/foreach}]
+
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_PLAIN"}]
+ [{foreach from=$oView->getContentList() item="oContent"}]
+ [{if $edit->getValue('sSendMailFromContentnamePlain') == $oContent->getId()}]
+ [{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
+ [{/if}]
+ [{/foreach}]
[{/if}]
- [{/foreach}]
-
+
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROM2"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROMCMS_PLAIN"}]
- [{foreach from=$oView->getContentList() item="oContent"}]
- [{if $edit->getValue('sSendMailFromContentnamePlain') == $oContent->getId()}]
- [{$oContent->getFieldData('oxtitle')}] ([{$oContent->getFieldData('oxloadid')}])
+ [{if $edit->getValue('blSendMailToCustomer') == 1}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER_DESC"}],
+ [{/if}]
+ [{if $edit->getValue('blSendMailToOwner') == 1}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER_DESC"}],
+ [{/if}]
+ [{if $edit->getValue('blSendMailToCustom') == 1}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL"}]
+ "[{$edit->getValue('sSendMailToCustomAddress')}]"
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL_DESC"}]
[{/if}]
- [{/foreach}]
- [{/if}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_FROM2"}]
- [{if $edit->getValue('blSendMailToCustomer') == 1}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOCUSTOMER_DESC"}],
- [{/if}]
- [{if $edit->getValue('blSendMailToOwner') == 1}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER"}] [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOOWNER_DESC"}],
- [{/if}]
- [{if $edit->getValue('blSendMailToCustom') == 1}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL"}]
- "[{$edit->getValue('sSendMailToCustomAddress')}]"
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_TOMAIL_DESC"}]
- [{/if}]
+
+ [{if $edit->getValue('blGetStornoArticles') == 1}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES_DESC"}]
+ [{/if}]
-
- [{if $edit->getValue('blGetStornoArticles') == 1}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USESTORNOARTICLES_DESC"}]
+ [{if $edit->getValue('sSendMailReplyAddress')}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR"}] [{$edit->getValue('sSendMailReplyAddress')}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR_DESC"}]
+ [{/if}]
+ [{/block}]
[{/if}]
-
- [{if $edit->getValue('sSendMailReplyAddress')}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR"}] [{$edit->getValue('sSendMailReplyAddress')}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_MAILSEND_USEALTREPLYADR_DESC"}]
- [{/if}]
- [{/if}]
-
-
-
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setfieldvalue.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setfieldvalue.tpl
index a428e462..20d56953 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setfieldvalue.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setfieldvalue.tpl
@@ -1,19 +1,25 @@
-
-
-
- getValue('blActionOrderAddFieldValue_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_FIELD"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_FIELD_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_VALUE"}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_DESC"}]
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_FIELD"}] [{$edit->getValue('sActionAddField_field')}]
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_VALUE"}] [{$edit->getValue('sActionAddField_value')}]
- [{/if}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_setfieldvalue"}]
+
+
+
+ getValue('blActionOrderAddFieldValue_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_setfieldvalue_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_FIELD"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_FIELD_DESC"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_VALUE"}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_DESC"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_setfieldvalue_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_FIELD"}] [{$edit->getValue('sActionAddField_field')}]
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERADDFIELDVALUE_VALUE"}] [{$edit->getValue('sActionAddField_value')}]
+ [{/block}]
+ [{/if}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setpaiddate.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setpaiddate.tpl
index fc2fef5b..b55c87c9 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setpaiddate.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setpaiddate.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blActionOrderSetPaidNow_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERSETPAIDNOW"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERSETPAIDNOW_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_setpaiddate"}]
+
+
+
+ getValue('blActionOrderSetPaidNow_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERSETPAIDNOW"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_setpaiddate_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_setpaiddate_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERSETPAIDNOW_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setsendednowdate.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setsendednowdate.tpl
index 62fcfbb8..dbd6dbde 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setsendednowdate.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_setsendednowdate.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blActionOrderSetSendedNow_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERSETSENDEDNOW"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERSETSENDEDNOW_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_setsendednowdate"}]
+
+
+
+ getValue('blActionOrderSetSendedNow_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERSETSENDEDNOW"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_setsendednowdate_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_setsendednowdate_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERSETSENDEDNOW_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_stornoorder.tpl b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_stornoorder.tpl
index d089c9eb..8998c115 100644
--- a/src/Application/views/admin/tpl/Actions/d3ordermanager_action_stornoorder.tpl
+++ b/src/Application/views/admin/tpl/Actions/d3ordermanager_action_stornoorder.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blActionOrderStorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERSTORNO"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERSTORNO_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_action_stornoorder"}]
+
+
+
+ getValue('blActionOrderStorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_ACTION_ORDERSTORNO"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_action_stornoorder_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_action_stornoorder_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_ACTION_ORDERSTORNO_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlecontent.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlecontent.tpl
index 1aff7a62..23237df1 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlecontent.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlecontent.tpl
@@ -1,49 +1,55 @@
-
-
-
- [{assign var="sStatusVarName" value="blCheckOrderArticle"|cat:$oRequ->getSlotId()|cat:"_status"}]
- getValue($sStatusVarName) == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT"}] ([{$oRequ->getSlotId()}])
-
-
- [{assign var="sRegExpVarName" value="sArticleContent"|cat:$oRequ->getSlotId()|cat:"RegExp"}]
- [{assign var="sTypeVarName" value="sArticleContent"|cat:$oRequ->getSlotId()|cat:"Type"}]
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
-
- getValue($sTypeVarName) == 'oxartnum'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
- getValue($sTypeVarName) == 'oxtitle'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
- getValue($sTypeVarName) == 'oxshortdesc'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
- getValue($sTypeVarName) == 'oxselvariant'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
- getValue($sTypeVarName) == 'oxpersparam'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
- getValue($sTypeVarName) == 'oxcatid'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
- :
+[{block name="ordermanager_admin_requ_articlecontent"}]
+
+
+
+ [{assign var="sStatusVarName" value="blCheckOrderArticle"|cat:$oRequ->getSlotId()|cat:"_status"}]
+ getValue($sStatusVarName) == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT"}] ([{$oRequ->getSlotId()}])
+
+
+ [{assign var="sRegExpVarName" value="sArticleContent"|cat:$oRequ->getSlotId()|cat:"RegExp"}]
+ [{assign var="sTypeVarName" value="sArticleContent"|cat:$oRequ->getSlotId()|cat:"Type"}]
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_articlecontent_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
+
+ getValue($sTypeVarName) == 'oxartnum'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
+ getValue($sTypeVarName) == 'oxtitle'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
+ getValue($sTypeVarName) == 'oxshortdesc'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
+ getValue($sTypeVarName) == 'oxselvariant'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
+ getValue($sTypeVarName) == 'oxpersparam'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
+ getValue($sTypeVarName) == 'oxcatid'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
+ :
- [{oxmultilang ident="sArticleContentRegExp"}]
-
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
- [{if $edit->getValue($sTypeVarName) == 'oxartnum'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
+ [{oxmultilang ident="sArticleContentRegExp"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_articlecontent_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
+ [{if $edit->getValue($sTypeVarName) == 'oxartnum'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxtitle'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxshortdesc'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxselvariant'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxpersparam'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxcatid'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
+ [{/if}]
+ : [{$edit->getValue($sRegExpVarName)}]
+ [{/block}]
[{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxtitle'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxshortdesc'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxselvariant'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxpersparam'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxcatid'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
- [{/if}]
- : [{$edit->getValue($sRegExpVarName)}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlestorno.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlestorno.tpl
index 328c0ce4..41b71b35 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlestorno.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_articlestorno.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blCheckArticlestorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLESTORNO"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLESTORNO_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_articlestorno"}]
+
+
+
+ getValue('blCheckArticlestorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLESTORNO"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_articlestorno_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_articlestorno_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLESTORNO_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_countryfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_countryfilter.tpl
index 4bba4723..ff6b2bd7 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_countryfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_countryfilter.tpl
@@ -1,34 +1,40 @@
-
-
-
- getValue('blCheckCountry_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_COUNTRY"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sCustCountryId"}]
-
- [{foreach from=$oView->getCountryList() item="oCountry"}]
- getValue('sCustCountryId')) && in_array($oCountry->getId(), $edit->getValue('sCustCountryId'))}]selected[{/if}]>[{$oCountry->getFieldData('oxtitle')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
- [{strip}]
-
- [{foreach from=$oView->getCountryList() item="oCountry"}]
- [{if is_array($edit->getValue('sCustCountryId')) && in_array($oCountry->getId(), $edit->getValue('sCustCountryId'))}]
-
- [{$oCountry->getFieldData('oxtitle')}]
-
- [{/if}]
- [{/foreach}]
-
- [{/strip}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_COUNTRY_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_countryfilter"}]
+
+
+
+ getValue('blCheckCountry_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_COUNTRY"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_countryfilter_editor"}]
+
+ [{oxmultilang ident="sCustCountryId"}]
+
+ [{foreach from=$oView->getCountryList() item="oCountry"}]
+ getValue('sCustCountryId')) && in_array($oCountry->getId(), $edit->getValue('sCustCountryId'))}]selected[{/if}]>[{$oCountry->getFieldData('oxtitle')}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_countryfilter_viewer"}]
+ [{strip}]
+
+ [{foreach from=$oView->getCountryList() item="oCountry"}]
+ [{if is_array($edit->getValue('sCustCountryId')) && in_array($oCountry->getId(), $edit->getValue('sCustCountryId'))}]
+
+ [{$oCountry->getFieldData('oxtitle')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/strip}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_COUNTRY_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_currencyfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_currencyfilter.tpl
index ffdbcfff..b2aceb5e 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_currencyfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_currencyfilter.tpl
@@ -1,17 +1,23 @@
-
-
-
- getValue('blCheckCurrency_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_CURRENCY"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sCurrencyISOValue"}]
-
- [{else}]
- [{$edit->getValue('sCurrencyISOValue')}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_CURRENCY_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_currencyfilter"}]
+
+
+
+ getValue('blCheckCurrency_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_CURRENCY"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_currencyfilter_editor"}]
+ [{oxmultilang ident="sCurrencyISOValue"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_currencyfilter_viewer"}]
+ [{$edit->getValue('sCurrencyISOValue')}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_CURRENCY_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_datenotset.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_datenotset.tpl
index eb7a2f2c..23011ce5 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_datenotset.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_datenotset.tpl
@@ -1,24 +1,30 @@
-
-
-
- getValue('blCheckNotSetDate_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="RequNotSetDateType"}]
-
- getValue('sNotSetDateType') == 'deldate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_DELDATE"}]
- getValue('sNotSetDateType') == 'paiddate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_PAIDDATE"}]
-
- [{else}]
- [{if $edit->getValue('sNotSetDateType') == 'deldate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_DELDATE"}]
- [{elseif $edit->getValue('sNotSetDateType') == 'paiddate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_PAIDDATE"}]
+[{block name="ordermanager_admin_requ_datenotset"}]
+
+
+
+ getValue('blCheckNotSetDate_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_datenotset_editor"}]
+ [{oxmultilang ident="RequNotSetDateType"}]
+
+ getValue('sNotSetDateType') == 'deldate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_DELDATE"}]
+ getValue('sNotSetDateType') == 'paiddate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_PAIDDATE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_datenotset_viewer"}]
+ [{if $edit->getValue('sNotSetDateType') == 'deldate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_DELDATE"}]
+ [{elseif $edit->getValue('sNotSetDateType') == 'paiddate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTSETDATE_PAIDDATE"}]
+ [{/if}]
+ [{/block}]
[{/if}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_NOTSETDATE_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_NOTSETDATE_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_deliveryfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_deliveryfilter.tpl
index 52069c58..6b373422 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_deliveryfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_deliveryfilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckDelivery_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_DELIVERY"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sDeliveryId"}]
-
- [{foreach from=$oView->getDeliveryList() item="oDelivery"}]
- getValue('sDeliveryId')) && in_array($oDelivery->getId(), $edit->getValue('sDeliveryId'))}]selected[{/if}]>[{$oDelivery->getFieldData('oxtitle')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getDeliveryList() item="oDelivery"}]
- [{if is_array($edit->getValue('sDeliveryId')) && in_array($oDelivery->getId(), $edit->getValue('sDeliveryId'))}]
-
- [{$oDelivery->getFieldData('oxtitle')}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_DELIVERY_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_deliveryfilter"}]
+
+
+
+ getValue('blCheckDelivery_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_DELIVERY"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_deliveryfilter_editor"}]
+
+ [{oxmultilang ident="sDeliveryId"}]
+
+ [{foreach from=$oView->getDeliveryList() item="oDelivery"}]
+ getValue('sDeliveryId')) && in_array($oDelivery->getId(), $edit->getValue('sDeliveryId'))}]selected[{/if}]>[{$oDelivery->getFieldData('oxtitle')}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_deliveryfilter_viewer"}]
+
+ [{foreach from=$oView->getDeliveryList() item="oDelivery"}]
+ [{if is_array($edit->getValue('sDeliveryId')) && in_array($oDelivery->getId(), $edit->getValue('sDeliveryId'))}]
+
+ [{$oDelivery->getFieldData('oxtitle')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_DELIVERY_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_executemethodfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_executemethodfilter.tpl
index c820ad84..503a5a58 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_executemethodfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_executemethodfilter.tpl
@@ -1,16 +1,22 @@
-
-
-
- getValue('blCheckExecuteMethod_status') == 1}]checked[{/if}] [{$readonly}] [{$blActionRestriction}] [{$blActionRestriction}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD_NAME"}]
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD_NAME"}] [{$edit->getValue('sRequirementExecuteMethod_name')}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_executemethodfilter"}]
+
+
+
+ getValue('blCheckExecuteMethod_status') == 1}]checked[{/if}] [{$readonly}] [{$blActionRestriction}] [{$blActionRestriction}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_executemethodfilter_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD_NAME"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_executemethodfilter_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD_NAME"}] [{$edit->getValue('sRequirementExecuteMethod_name')}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDEREXECUTEMETHOD_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_folderfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_folderfilter.tpl
index 73569297..c72c36a2 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_folderfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_folderfilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckInFolder_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_INFOLDER"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sInFolderId"}]
-
- [{foreach from=$oView->getItemFolders() key="field" item="color"}]
- getValue('sInFolderId')) && in_array($field, $edit->getValue('sInFolderId'))}]selected[{/if}] style="color: [{$color}];">[{oxmultilang ident=$field noerror=true}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getItemFolders() key="field" item="color"}]
- [{if is_array($edit->getValue('sInFolderId')) && in_array($field, $edit->getValue('sInFolderId'))}]
-
- [{oxmultilang ident=$field noerror=true}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_INFOLDER_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_folderfilter"}]
+
+
+
+ getValue('blCheckInFolder_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_INFOLDER"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_folderfilter_editor"}]
+
+ [{oxmultilang ident="sInFolderId"}]
+
+ [{foreach from=$oView->getItemFolders() key="field" item="color"}]
+ getValue('sInFolderId')) && in_array($field, $edit->getValue('sInFolderId'))}]selected[{/if}] style="color: [{$color}];">[{oxmultilang ident=$field noerror=true}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_folderfilter_viewer"}]
+
+ [{foreach from=$oView->getItemFolders() key="field" item="color"}]
+ [{if is_array($edit->getValue('sInFolderId')) && in_array($field, $edit->getValue('sInFolderId'))}]
+
+ [{oxmultilang ident=$field noerror=true}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_INFOLDER_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_fromordernr.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_fromordernr.tpl
index fdbb07b6..b7319da7 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_fromordernr.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_fromordernr.tpl
@@ -1,17 +1,23 @@
-
-
-
- getValue('blCheckFromOrderNr_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_FROMORDERNR"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sFromOrderNrValue"}]
-
- [{else}]
- [{$edit->getValue('sFromOrderNrValue')}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_FROMORDERNR_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_fromordernr"}]
+
+
+
+ getValue('blCheckFromOrderNr_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_FROMORDERNR"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_fromordernr_editor"}]
+ [{oxmultilang ident="sFromOrderNrValue"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_fromordernr_viewer"}]
+ [{$edit->getValue('sFromOrderNrValue')}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_FROMORDERNR_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ingroupfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ingroupfilter.tpl
index 4013fde5..0104b8bf 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ingroupfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ingroupfilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckInGroup_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_INGROUP"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sCustInGroupId"}]
-
- [{foreach from=$oView->getGroupsList() item="oGroup"}]
- getValue('sCustInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustInGroupId'))}]selected[{/if}]>[{$oGroup->getFieldData('oxtitle')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getGroupsList() item="oGroup"}]
- [{if is_array($edit->getValue('sCustInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustInGroupId'))}]
-
- [{$oGroup->getFieldData('oxtitle')}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_INGROUP_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_ingroupfilter"}]
+
+
+
+ getValue('blCheckInGroup_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_INGROUP"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_ingroupfilter_editor"}]
+
+ [{oxmultilang ident="sCustInGroupId"}]
+
+ [{foreach from=$oView->getGroupsList() item="oGroup"}]
+ getValue('sCustInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustInGroupId'))}]selected[{/if}]>[{$oGroup->getFieldData('oxtitle')}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_ingroupfilter_viewer"}]
+
+ [{foreach from=$oView->getGroupsList() item="oGroup"}]
+ [{if is_array($edit->getValue('sCustInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustInGroupId'))}]
+
+ [{$oGroup->getFieldData('oxtitle')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_INGROUP_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_invoiceno.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_invoiceno.tpl
index e9159bca..553be2fe 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_invoiceno.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_invoiceno.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blCheckInvoiceNum_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_INVOICENUM"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_INVOICENUM_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_invoiceno"}]
+
+
+
+ getValue('blCheckInvoiceNum_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_INVOICENUM"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_invoiceno_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_invoiceno_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_INVOICENUM_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_languagefilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_languagefilter.tpl
index 74232aeb..263756f1 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_languagefilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_languagefilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckLanguage_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_LANGUAGE"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sInLanguageId"}]
-
- [{foreach from=$oView->getLanguageList() item="oLang"}]
- getValue('sInLanguageId')) && in_array($oLang->id, $edit->getValue('sInLanguageId'))}]selected[{/if}]>[{$oLang->name}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getLanguageList() item="oLang"}]
- [{if is_array($edit->getValue('sInLanguageId')) && in_array($oLang->id, $edit->getValue('sInLanguageId'))}]
-
- [{$oLang->name}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_LANGUAGE_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_languagefilter"}]
+
+
+
+ getValue('blCheckLanguage_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_LANGUAGE"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_languagefilter_editor"}]
+
+ [{oxmultilang ident="sInLanguageId"}]
+
+ [{foreach from=$oView->getLanguageList() item="oLang"}]
+ getValue('sInLanguageId')) && in_array($oLang->id, $edit->getValue('sInLanguageId'))}]selected[{/if}]>[{$oLang->name}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_languagefilter_viewer"}]
+
+ [{foreach from=$oView->getLanguageList() item="oLang"}]
+ [{if is_array($edit->getValue('sInLanguageId')) && in_array($oLang->id, $edit->getValue('sInLanguageId'))}]
+
+ [{$oLang->name}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_LANGUAGE_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_mailregexpfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_mailregexpfilter.tpl
index fd3f06f1..bdb74e25 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_mailregexpfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_mailregexpfilter.tpl
@@ -1,16 +1,22 @@
-
-
-
- getValue('blCheckMail_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MAILREGEXP"}]
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sMailValue"}]
- getValue('sMailValue')}][{/if}]' [{$blActionRestriction}] [{$readonly}]>
- [{else}]
- [{$edit->getValue('sMailValue')}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_MAILREGEXP_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_mailregexpfilter"}]
+
+
+
+ getValue('blCheckMail_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MAILREGEXP"}]
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_mailregexpfilter_editor"}]
+ [{oxmultilang ident="sMailValue"}]
+ getValue('sMailValue')}][{/if}]' [{$blActionRestriction}] [{$readonly}]>
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_mailregexpfilter_viewer"}]
+ [{$edit->getValue('sMailValue')}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_MAILREGEXP_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_noarticlecontent.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_noarticlecontent.tpl
index 3a03d6eb..ad19e403 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_noarticlecontent.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_noarticlecontent.tpl
@@ -1,49 +1,55 @@
-
-
-
- [{assign var="sStatusVarName" value="blCheckNoOrderArticle"|cat:$oRequ->getSlotId()|cat:"_status"}]
- getValue($sStatusVarName) == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOARTICLECONTENT"}] ([{$oRequ->getSlotId()}])
-
-
- [{assign var="sRegExpVarName" value="sNoArticleContent"|cat:$oRequ->getSlotId()|cat:"RegExp"}]
- [{assign var="sTypeVarName" value="sNoArticleContent"|cat:$oRequ->getSlotId()|cat:"Type"}]
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
-
- getValue($sTypeVarName) == 'oxartnum'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
- getValue($sTypeVarName) == 'oxtitle'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
- getValue($sTypeVarName) == 'oxshortdesc'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
- getValue($sTypeVarName) == 'oxselvariant'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
- getValue($sTypeVarName) == 'oxpersparam'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
- getValue($sTypeVarName) == 'oxcatid'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
- :
+[{block name="ordermanager_admin_requ_noarticlecontent"}]
+
+
+
+ [{assign var="sStatusVarName" value="blCheckNoOrderArticle"|cat:$oRequ->getSlotId()|cat:"_status"}]
+ getValue($sStatusVarName) == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOARTICLECONTENT"}] ([{$oRequ->getSlotId()}])
+
+
+ [{assign var="sRegExpVarName" value="sNoArticleContent"|cat:$oRequ->getSlotId()|cat:"RegExp"}]
+ [{assign var="sTypeVarName" value="sNoArticleContent"|cat:$oRequ->getSlotId()|cat:"Type"}]
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_noarticlecontent_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
+
+ getValue($sTypeVarName) == 'oxartnum'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
+ getValue($sTypeVarName) == 'oxtitle'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
+ getValue($sTypeVarName) == 'oxshortdesc'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
+ getValue($sTypeVarName) == 'oxselvariant'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
+ getValue($sTypeVarName) == 'oxpersparam'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
+ getValue($sTypeVarName) == 'oxcatid'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
+ :
- [{oxmultilang ident="sNoArticleContentRegexp"}]
-
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
- [{if $edit->getValue($sTypeVarName) == 'oxartnum'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
+ [{oxmultilang ident="sNoArticleContentRegexp"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_noarticlecontent_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2"}]
+ [{if $edit->getValue($sTypeVarName) == 'oxartnum'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_ARTNUM"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxtitle'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxshortdesc'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxselvariant'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxpersparam'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
+ [{/if}]
+ [{if $edit->getValue($sTypeVarName) == 'oxcatid'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
+ [{/if}]
+ : [{$edit->getValue($sRegExpVarName)}]
+ [{/block}]
[{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxtitle'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_TITLE"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxshortdesc'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SHORTDESC"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxselvariant'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_SELVARIANT"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxpersparam'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_PERSPARAM"}]
- [{/if}]
- [{if $edit->getValue($sTypeVarName) == 'oxcatid'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ARTCONTENTTYPE_CATID"}]
- [{/if}]
- : [{$edit->getValue($sRegExpVarName)}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notinfolderfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notinfolderfilter.tpl
index 2d4ea82c..9d7ac2a8 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notinfolderfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notinfolderfilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckNotInFolder_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTINFOLDER"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sNotInFolderId"}]
-
- [{foreach from=$oView->getItemFolders() key="field" item="color"}]
- getValue('sNotInFolderId')) && in_array($field, $edit->getValue('sNotInFolderId'))}]selected[{/if}] style="color: [{$color}];">[{oxmultilang ident=$field noerror=true}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getItemFolders() key="field" item="color"}]
- [{if is_array($edit->getValue('sNotInFolderId')) && in_array($field, $edit->getValue('sNotInFolderId'))}]
-
- [{oxmultilang ident=$field noerror=true}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_NOTINFOLDER_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_notinfolder"}]
+
+
+
+ getValue('blCheckNotInFolder_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTINFOLDER"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_notinfolder_editor"}]
+
+ [{oxmultilang ident="sNotInFolderId"}]
+
+ [{foreach from=$oView->getItemFolders() key="field" item="color"}]
+ getValue('sNotInFolderId')) && in_array($field, $edit->getValue('sNotInFolderId'))}]selected[{/if}] style="color: [{$color}];">[{oxmultilang ident=$field noerror=true}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_notinfolder_viewer"}]
+
+ [{foreach from=$oView->getItemFolders() key="field" item="color"}]
+ [{if is_array($edit->getValue('sNotInFolderId')) && in_array($field, $edit->getValue('sNotInFolderId'))}]
+
+ [{oxmultilang ident=$field noerror=true}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_NOTINFOLDER_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notingroupfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notingroupfilter.tpl
index 46d7cf08..bafb854b 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notingroupfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_notingroupfilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckNotInGroup_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTINGROUP"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sCustNotInGroupId"}]
-
- [{foreach from=$oView->getGroupsList() item="oGroup"}]
- getValue('sCustNotInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustNotInGroupId'))}]selected[{/if}]>[{$oGroup->getFieldData('oxtitle')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getGroupsList() item="oGroup"}]
- [{if is_array($edit->getValue('sCustNotInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustNotInGroupId'))}]
-
- [{$oGroup->getFieldData('oxtitle')}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_NOTINGROUP_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_notingroup"}]
+
+
+
+ getValue('blCheckNotInGroup_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_NOTINGROUP"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_notingroup_editor"}]
+
+ [{oxmultilang ident="sCustNotInGroupId"}]
+
+ [{foreach from=$oView->getGroupsList() item="oGroup"}]
+ getValue('sCustNotInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustNotInGroupId'))}]selected[{/if}]>[{$oGroup->getFieldData('oxtitle')}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_notingroup_viewer"}]
+
+ [{foreach from=$oView->getGroupsList() item="oGroup"}]
+ [{if is_array($edit->getValue('sCustNotInGroupId')) && in_array($oGroup->getId(), $edit->getValue('sCustNotInGroupId'))}]
+
+ [{$oGroup->getFieldData('oxtitle')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_NOTINGROUP_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderfield.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderfield.tpl
index 88b3d476..fb31ec1d 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderfield.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderfield.tpl
@@ -1,38 +1,44 @@
-
-
-
- getValue('blCheckOrderField_status') == 1}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE"}]
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_FIELD"}]
-
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_FIELD_DESC"}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_VALUE"}]
- getValue('sCheckOrderFieldType') == 'content' || $edit->getValue('sCheckOrderFieldType') == ''}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_CONTENT"}]
- [{oxmultilang ident="sOrderFieldValue"}]
-
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
- getValue('sCheckOrderFieldType') == 'empty'}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_EMPTY"}]
- getValue('sCheckOrderFieldType') == 'notempty'}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_NOTEMPTY"}]
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_FIELD"}] [{$edit->getValue('sOrderField_FieldName')}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_VALUE"}]
- [{if $edit->getValue('sCheckOrderFieldType') == 'content' || $edit->getValue('sCheckOrderFieldType') == ''}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_CONTENT"}] [{$edit->getValue('sOrderField_FieldValue')}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
+[{block name="ordermanager_admin_requ_orderfield"}]
+
+
+
+ getValue('blCheckOrderField_status') == 1}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE"}]
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_orderfield_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_FIELD"}]
+
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_FIELD_DESC"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_VALUE"}]
+ getValue('sCheckOrderFieldType') == 'content' || $edit->getValue('sCheckOrderFieldType') == ''}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_CONTENT"}]
+ [{oxmultilang ident="sOrderFieldValue"}]
+
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
+ getValue('sCheckOrderFieldType') == 'empty'}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_EMPTY"}]
+ getValue('sCheckOrderFieldType') == 'notempty'}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_NOTEMPTY"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_orderfield_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_FIELD"}] [{$edit->getValue('sOrderField_FieldName')}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUE_VALUE"}]
+ [{if $edit->getValue('sCheckOrderFieldType') == 'content' || $edit->getValue('sCheckOrderFieldType') == ''}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_CONTENT"}] [{$edit->getValue('sOrderField_FieldValue')}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ARTICLECONTENT2_DESC"}]
+ [{/if}]
+ [{if $edit->getValue('sCheckOrderFieldType') == 'empty'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_EMPTY"}]
+ [{/if}]
+ [{if $edit->getValue('sCheckOrderFieldType') == 'notempty'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_NOTEMPTY"}]
+ [{/if}]
+ [{/block}]
[{/if}]
- [{if $edit->getValue('sCheckOrderFieldType') == 'empty'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_EMPTY"}]
- [{/if}]
- [{if $edit->getValue('sCheckOrderFieldType') == 'notempty'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERFIELDVALUETYPE_NOTEMPTY"}]
- [{/if}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERFIELD_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERFIELD_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordernonstorno.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordernonstorno.tpl
index 96d7a013..34ab0bd0 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordernonstorno.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordernonstorno.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blCheckOrderNostorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERNOSTORNO"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERNOSTORNO_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_ordernonstorno"}]
+
+
+
+ getValue('blCheckOrderNostorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERNOSTORNO"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_ordernonstorno_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_ordernonstorno_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERNOSTORNO_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderstorno.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderstorno.tpl
index e2015e67..25f8a78b 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderstorno.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_orderstorno.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blCheckOrderstorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSTORNO"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERSTORNO_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_orderstorno"}]
+
+
+
+ getValue('blCheckOrderstorno_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSTORNO"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_orderstorno_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_orderstorno_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERSTORNO_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordersum.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordersum.tpl
index 78fcbf77..aa7cdb4b 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordersum.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_ordersum.tpl
@@ -1,44 +1,50 @@
-
-
-
- getValue('blCheckOrderSum_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUM"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sOrderSumType"}]
-
- getValue('sOrderSumType') == 'total'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_TOTAL"}]
- getValue('sOrderSumType') == 'article'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_ARTICLE"}]
-
+[{block name="ordermanager_admin_requ_ordersum"}]
+
+
+
+ getValue('blCheckOrderSum_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUM"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_ordersum_editor"}]
+ [{oxmultilang ident="sOrderSumType"}]
+
+ getValue('sOrderSumType') == 'total'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_TOTAL"}]
+ getValue('sOrderSumType') == 'article'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_ARTICLE"}]
+
- [{oxmultilang ident="sOrderSumRelation"}]
-
- getValue('sOrderSumRelation') == 'higher'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_HIGHER"}]
- getValue('sOrderSumRelation') == 'lower'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_LOWER"}]
-
+ [{oxmultilang ident="sOrderSumRelation"}]
+
+ getValue('sOrderSumRelation') == 'higher'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_HIGHER"}]
+ getValue('sOrderSumRelation') == 'lower'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_LOWER"}]
+
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUM_DEFCUR"}]
- [{else}]
- [{if $edit->getValue('sOrderSumType') == 'total'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_TOTAL"}]
- [{/if}]
- [{if $edit->getValue('sOrderSumType') == 'article'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_ARTICLE"}]
- [{/if}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUM_DEFCUR"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_ordersum_viewer"}]
+ [{if $edit->getValue('sOrderSumType') == 'total'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_TOTAL"}]
+ [{/if}]
+ [{if $edit->getValue('sOrderSumType') == 'article'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMTYPE_ARTICLE"}]
+ [{/if}]
- [{if $edit->getValue('sOrderSumRelation') == 'higher'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_HIGHER"}]
- [{/if}]
- [{if $edit->getValue('sOrderSumRelation') == 'lower'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_LOWER"}]
- [{/if}]
+ [{if $edit->getValue('sOrderSumRelation') == 'higher'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_HIGHER"}]
+ [{/if}]
+ [{if $edit->getValue('sOrderSumRelation') == 'lower'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUMREL_LOWER"}]
+ [{/if}]
- [{if $edit->getValue('sOrderSumValue')}][{$edit->getValue('sOrderSumValue')}][{else}]0.00[{/if}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUM_DEFCUR"}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERSUM_DESC"}]
-
-
-
\ No newline at end of file
+ [{if $edit->getValue('sOrderSumValue')}][{$edit->getValue('sOrderSumValue')}][{else}]0.00[{/if}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_ORDERSUM_DEFCUR"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_ORDERSUM_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_otherjob.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_otherjob.tpl
index c7b61184..6949ad8c 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_otherjob.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_otherjob.tpl
@@ -1,40 +1,46 @@
-
-
-
- getValue('blCheckOtherJob_status') == 1}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB"}]
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NAME"}]
-
- [{assign var="blUnknownJobId" value=true}]
- [{foreach from=$oView->getJobList() item="oJob"}]
- [{if $oJob->getId() == $edit->getValue('sOtherJob_ID')}]
- [{assign var="blSelected" value=true}]
- [{assign var="blUnknownJobId" value=false}]
- [{else}]
- [{assign var="blSelected" value=false}]
+[{block name="ordermanager_admin_requ_otherjob"}]
+
+
+
+ getValue('blCheckOtherJob_status') == 1}]checked[{/if}] [{$readonly}] [{$blActionRestriction}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB"}]
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_otherjob_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NAME"}]
+
+ [{assign var="blUnknownJobId" value=true}]
+ [{foreach from=$oView->getJobList() item="oJob"}]
+ [{if $oJob->getId() == $edit->getValue('sOtherJob_ID')}]
+ [{assign var="blSelected" value=true}]
+ [{assign var="blUnknownJobId" value=false}]
+ [{else}]
+ [{assign var="blSelected" value=false}]
+ [{/if}]
+ [{$oJob->getFieldData('oxtitle')}]
+ [{/foreach}]
+ [{if $edit->getValue('sOtherJob_ID') && $blUnknownJobId}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_UNKNOWNJOBID"}] "[{$edit->getValue('sOtherJob_ID')}]"
+ [{/if}]
+
+ [{oxmultilang ident="RequOtherJobType"}]
+
+ getValue('sOtherJob_Type')}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_EXECUTED"}]
+ getValue('sOtherJob_Type')}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NOTEXECUTED"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_otherjob_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NAME"}] "[{$oView->getManagerTitle($edit->getValue('sOtherJob_ID'))}]"
+ [{if $edit->getValue('sOtherJob_Type') == 'exec' || $edit->getValue('sOtherJob_Type') == ''}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_EXECUTED"}]
+ [{elseif $edit->getValue('sOtherJob_Type') == 'notexec'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NOTEXECUTED"}]
[{/if}]
- [{$oJob->getFieldData('oxtitle')}]
- [{/foreach}]
- [{if $edit->getValue('sOtherJob_ID') && $blUnknownJobId}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_UNKNOWNJOBID"}] "[{$edit->getValue('sOtherJob_ID')}]"
- [{/if}]
-
- [{oxmultilang ident="RequOtherJobType"}]
-
- getValue('sOtherJob_Type')}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_EXECUTED"}]
- getValue('sOtherJob_Type')}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NOTEXECUTED"}]
-
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NAME"}] "[{$oView->getManagerTitle($edit->getValue('sOtherJob_ID'))}]"
- [{if $edit->getValue('sOtherJob_Type') == 'exec' || $edit->getValue('sOtherJob_Type') == ''}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_EXECUTED"}]
- [{elseif $edit->getValue('sOtherJob_Type') == 'notexec'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_OTHERJOB_NOTEXECUTED"}]
+ [{/block}]
[{/if}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_OTHERJOB_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_OTHERJOB_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_paymentfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_paymentfilter.tpl
index 5eb16743..fcaec39f 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_paymentfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_paymentfilter.tpl
@@ -1,32 +1,38 @@
-
-
-
- getValue('blCheckPayment_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_PAYMENT"}]
-
-
- [{if $oView->isEditMode()}]
-
- [{oxmultilang ident="sPaymentId"}]
-
- [{foreach from=$oView->getPaymentList() item="oPayment"}]
- getValue('sPaymentId')) && in_array($oPayment->getId(), $edit->getValue('sPaymentId'))}]selected[{/if}]>[{$oPayment->getFieldData('oxdesc')}]
- [{/foreach}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
-
- [{foreach from=$oView->getPaymentList() item="oPayment"}]
- [{if is_array($edit->getValue('sPaymentId')) && in_array($oPayment->getId(), $edit->getValue('sPaymentId'))}]
-
- [{$oPayment->getFieldData('oxdesc')}]
-
- [{/if}]
- [{/foreach}]
-
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_PAYMENT_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_paymentfilter"}]
+
+
+
+ getValue('blCheckPayment_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_PAYMENT"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_paymentfilter_editor"}]
+
+ [{oxmultilang ident="sPaymentId"}]
+
+ [{foreach from=$oView->getPaymentList() item="oPayment"}]
+ getValue('sPaymentId')) && in_array($oPayment->getId(), $edit->getValue('sPaymentId'))}]selected[{/if}]>[{$oPayment->getFieldData('oxdesc')}]
+ [{/foreach}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_paymentfilter_viewer"}]
+
+ [{foreach from=$oView->getPaymentList() item="oPayment"}]
+ [{if is_array($edit->getValue('sPaymentId')) && in_array($oPayment->getId(), $edit->getValue('sPaymentId'))}]
+
+ [{$oPayment->getFieldData('oxdesc')}]
+
+ [{/if}]
+ [{/foreach}]
+
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_PAYMENT_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_timespanfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_timespanfilter.tpl
index 61c823ef..dcad67ba 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_timespanfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_timespanfilter.tpl
@@ -1,49 +1,55 @@
-
-
-
- [{assign var="sStatusVarName" value="blCheckTimespan"|cat:$oRequ->getSlotId()|cat:"_status"}]
- getValue($sStatusVarName) == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN"}] ([{$oRequ->getSlotId()}])
-
-
- [{assign var="sValueVarName" value="sTimespan"|cat:$oRequ->getSlotId()|cat:"Value"}]
- [{assign var="sUnitVarName" value="sTimespan"|cat:$oRequ->getSlotId()|cat:"Unit"}]
- [{assign var="sTypeVarName" value="sTimespan"|cat:$oRequ->getSlotId()|cat:"Type"}]
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINIMUM"}]
-
- [{oxmultilang ident="RequTimespanUnit"}]
-
- getValue($sUnitVarName) == 'minute'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINUTE"}]
- getValue($sUnitVarName) == 'hour'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_HOUR"}]
- getValue($sUnitVarName) == 'day'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DAY"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_AFTER"}]
-
- getValue($sTypeVarName) == 'orderdate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_ORDERDATE"}]
- getValue($sTypeVarName) == 'deldate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DELDATE"}]
- getValue($sTypeVarName) == 'paiddate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_PAIDDATE"}]
-
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINIMUM"}]
- [{$edit->getValue($sValueVarName)}]
- [{if $edit->getValue($sUnitVarName) == 'minute'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINUTE"}]
- [{elseif $edit->getValue($sUnitVarName) == 'hour'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_HOUR"}]
- [{elseif $edit->getValue($sUnitVarName) == 'day'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DAY"}]
+[{block name="ordermanager_admin_requ_timespanfilter"}]
+
+
+
+ [{assign var="sStatusVarName" value="blCheckTimespan"|cat:$oRequ->getSlotId()|cat:"_status"}]
+ getValue($sStatusVarName) == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN"}] ([{$oRequ->getSlotId()}])
+
+
+ [{assign var="sValueVarName" value="sTimespan"|cat:$oRequ->getSlotId()|cat:"Value"}]
+ [{assign var="sUnitVarName" value="sTimespan"|cat:$oRequ->getSlotId()|cat:"Unit"}]
+ [{assign var="sTypeVarName" value="sTimespan"|cat:$oRequ->getSlotId()|cat:"Type"}]
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_timespanfilter_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINIMUM"}]
+
+ [{oxmultilang ident="RequTimespanUnit"}]
+
+ getValue($sUnitVarName) == 'minute'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINUTE"}]
+ getValue($sUnitVarName) == 'hour'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_HOUR"}]
+ getValue($sUnitVarName) == 'day'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DAY"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_AFTER"}]
+
+ getValue($sTypeVarName) == 'orderdate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_ORDERDATE"}]
+ getValue($sTypeVarName) == 'deldate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DELDATE"}]
+ getValue($sTypeVarName) == 'paiddate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_PAIDDATE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_timespanfilter_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINIMUM"}]
+ [{$edit->getValue($sValueVarName)}]
+ [{if $edit->getValue($sUnitVarName) == 'minute'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_MINUTE"}]
+ [{elseif $edit->getValue($sUnitVarName) == 'hour'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_HOUR"}]
+ [{elseif $edit->getValue($sUnitVarName) == 'day'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DAY"}]
+ [{/if}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_AFTER"}]
+ [{if $edit->getValue($sTypeVarName) == 'orderdate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_ORDERDATE"}]
+ [{elseif $edit->getValue($sTypeVarName) == 'deldate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DELDATE"}]
+ [{elseif $edit->getValue($sTypeVarName) == 'paiddate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_PAIDDATE"}]
+ [{/if}]
+ [{/block}]
[{/if}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_AFTER"}]
- [{if $edit->getValue($sTypeVarName) == 'orderdate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_ORDERDATE"}]
- [{elseif $edit->getValue($sTypeVarName) == 'deldate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_DELDATE"}]
- [{elseif $edit->getValue($sTypeVarName) == 'paiddate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TIMESPAN_PAIDDATE"}]
- [{/if}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TIMESPAN_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TIMESPAN_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_toordernr.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_toordernr.tpl
index dfc1d24d..ef25ef7b 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_toordernr.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_toordernr.tpl
@@ -1,17 +1,23 @@
-
-
-
- getValue('blCheckToOrderNr_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TOORDERNR"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sToOrderNrValue"}]
-
- [{else}]
- [{$edit->getValue('sToOrderNrValue')}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TOORDERNR_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_toordernr"}]
+
+
+
+ getValue('blCheckToOrderNr_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TOORDERNR"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_toordernr_editor"}]
+ [{oxmultilang ident="sToOrderNrValue"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_toordernr_viewer"}]
+ [{$edit->getValue('sToOrderNrValue')}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TOORDERNR_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_trackcodefilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_trackcodefilter.tpl
index c6a1a62c..b6fbfcce 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_trackcodefilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_trackcodefilter.tpl
@@ -1,14 +1,20 @@
-
-
-
- getValue('blCheckTrackcode_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TRACKCODE"}]
-
-
- [{if $oView->isEditMode()}]
- [{else}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TRACKCODE_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_trackcodefilter"}]
+
+
+
+ getValue('blCheckTrackcode_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TRACKCODE"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_trackcodefilter_editor"}]
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_trackcodefilter_viewer"}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TRACKCODE_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_transactionfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_transactionfilter.tpl
index 5f2d3bd5..8637f663 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_transactionfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_transactionfilter.tpl
@@ -1,29 +1,35 @@
-
-
-
- getValue('blCheckTransaction_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_TRANSACTION"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="sOrderTransStatus"}]
-
- [{foreach from=$oView->getTransStatusList() item="sStatus"}]
- getValue('sOrderTransStatus') == $sStatus}]selected[{/if}]>
- [{assign var="sStatusMLIdent" value="D3_ORDERMANAGER_REQU_ORDERTRANSSTATUS_"|cat:$sStatus}]
- [{oxmultilang ident=$sStatusMLIdent}]
-
- [{/foreach}]
-
- [{else}]
- [{foreach from=$oView->getTransStatusList() item="sStatus"}]
- [{if $edit->getValue('sOrderTransStatus') == $sStatus}]
- [{assign var="sStatusMLIdent" value="D3_ORDERMANAGER_REQU_ORDERTRANSSTATUS_"|cat:$sStatus}]
- [{oxmultilang ident=$sStatusMLIdent}],
- [{/if}]
- [{/foreach}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TRANSACTION_DESC"}]
-
-
-
\ No newline at end of file
+[{block name="ordermanager_admin_requ_transactionfilter"}]
+
+
+
+ getValue('blCheckTransaction_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_TRANSACTION"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_transactionfilter_editor"}]
+ [{oxmultilang ident="sOrderTransStatus"}]
+
+ [{foreach from=$oView->getTransStatusList() item="sStatus"}]
+ getValue('sOrderTransStatus') == $sStatus}]selected[{/if}]>
+ [{assign var="sStatusMLIdent" value="D3_ORDERMANAGER_REQU_ORDERTRANSSTATUS_"|cat:$sStatus}]
+ [{oxmultilang ident=$sStatusMLIdent}]
+
+ [{/foreach}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_transactionfilter_viewer"}]
+ [{foreach from=$oView->getTransStatusList() item="sStatus"}]
+ [{if $edit->getValue('sOrderTransStatus') == $sStatus}]
+ [{assign var="sStatusMLIdent" value="D3_ORDERMANAGER_REQU_ORDERTRANSSTATUS_"|cat:$sStatus}]
+ [{oxmultilang ident=$sStatusMLIdent}],
+ [{/if}]
+ [{/foreach}]
+ [{/block}]
+ [{/if}]
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_TRANSACTION_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_weekdayfilter.tpl b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_weekdayfilter.tpl
index 0bba04b8..ee956bc7 100644
--- a/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_weekdayfilter.tpl
+++ b/src/Application/views/admin/tpl/Requirements/d3ordermanager_requ_weekdayfilter.tpl
@@ -1,67 +1,73 @@
-
-
-
- getValue('blCheckWeekdays_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS"}]
-
-
- [{if $oView->isEditMode()}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF1"}]
-
- getValue('sWeekdaysType') == 'orderdate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_ORDERDATE"}]
- getValue('sWeekdaysType') == 'deldate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_DELDATE"}]
- getValue('sWeekdaysType') == 'paiddate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_PAIDDATE"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF2"}]
-
-
- getValue('sWeekdayDays')) && in_array('Mon', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_MONDAY"}]
- getValue('sWeekdayDays')) && in_array('Tue', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_TUESDAY"}]
- getValue('sWeekdayDays')) && in_array('Wed', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_WEDNESDAY"}]
- getValue('sWeekdayDays')) && in_array('Thu', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_THURSDAY"}]
- getValue('sWeekdayDays')) && in_array('Fri', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_FRIDAY"}]
- getValue('sWeekdayDays')) && in_array('Sat', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SATURDAY"}]
- getValue('sWeekdayDays')) && in_array('Sun', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SUNDAY"}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF3"}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
-
- [{else}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF1"}]
- [{if $edit->getValue('sWeekdaysType') == 'orderdate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_ORDERDATE"}]
- [{elseif $edit->getValue('sWeekdaysType') == 'deldate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_DELDATE"}]
- [{elseif $edit->getValue('sWeekdaysType') == 'paiddate'}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_PAIDDATE"}]
+[{block name="ordermanager_admin_requ_weekdayfilter"}]
+
+
+
+ getValue('blCheckWeekdays_status') == 1}]checked[{/if}] [{$blActionRestriction}] [{$readonly}]>
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS"}]
+
+
+ [{if $oView->isEditMode()}]
+ [{block name="ordermanager_admin_requ_weekdayfilter_editor"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF1"}]
+
+ getValue('sWeekdaysType') == 'orderdate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_ORDERDATE"}]
+ getValue('sWeekdaysType') == 'deldate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_DELDATE"}]
+ getValue('sWeekdaysType') == 'paiddate'}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_PAIDDATE"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF2"}]
+
+
+ getValue('sWeekdayDays')) && in_array('Mon', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_MONDAY"}]
+ getValue('sWeekdayDays')) && in_array('Tue', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_TUESDAY"}]
+ getValue('sWeekdayDays')) && in_array('Wed', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_WEDNESDAY"}]
+ getValue('sWeekdayDays')) && in_array('Thu', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_THURSDAY"}]
+ getValue('sWeekdayDays')) && in_array('Fri', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_FRIDAY"}]
+ getValue('sWeekdayDays')) && in_array('Sat', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SATURDAY"}]
+ getValue('sWeekdayDays')) && in_array('Sun', $edit->getValue('sWeekdayDays'))}]selected[{/if}]>[{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SUNDAY"}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF3"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_MULTIPLE"}]
+
+ [{/block}]
+ [{else}]
+ [{block name="ordermanager_admin_requ_weekdayfilter_viewer"}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF1"}]
+ [{if $edit->getValue('sWeekdaysType') == 'orderdate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_ORDERDATE"}]
+ [{elseif $edit->getValue('sWeekdaysType') == 'deldate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_DELDATE"}]
+ [{elseif $edit->getValue('sWeekdaysType') == 'paiddate'}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_PAIDDATE"}]
+ [{/if}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF2"}]
+
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Mon', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_MONDAY"}]
+ [{/if}]
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Tue', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_TUESDAY"}]
+ [{/if}]
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Wed', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_WEDNESDAY"}]
+ [{/if}]
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Thu', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_THURSDAY"}]
+ [{/if}]
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Fri', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_FRIDAY"}]
+ [{/if}]
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Sat', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SATURDAY"}]
+ [{/if}]
+ [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Sun', $edit->getValue('sWeekdayDays'))}]
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SUNDAY"}]
+ [{/if}]
+
+ [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF3"}]
+ [{/block}]
[{/if}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF2"}]
-
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Mon', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_MONDAY"}]
- [{/if}]
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Tue', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_TUESDAY"}]
- [{/if}]
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Wed', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_WEDNESDAY"}]
- [{/if}]
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Thu', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_THURSDAY"}]
- [{/if}]
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Fri', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_FRIDAY"}]
- [{/if}]
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Sat', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SATURDAY"}]
- [{/if}]
- [{if is_array($edit->getValue('sWeekdayDays')) && in_array('Sun', $edit->getValue('sWeekdayDays'))}]
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_SUNDAY"}]
- [{/if}]
-
- [{oxmultilang ident="D3_ORDERMANAGER_REQU_WEEKDAYS_IF3"}]
- [{/if}]
- [{oxinputhelp ident="D3_ORDERMANAGER_REQU_WEEKDAYS_DESC"}]
-
-
-
\ No newline at end of file
+ [{oxinputhelp ident="D3_ORDERMANAGER_REQU_WEEKDAYS_DESC"}]
+
+
+
+[{/block}]
\ No newline at end of file
diff --git a/src/Application/views/admin/tpl/d3_cfg_ordermanageritem_trigger.tpl b/src/Application/views/admin/tpl/d3_cfg_ordermanageritem_trigger.tpl
index a98f8957..bff5cd5c 100644
--- a/src/Application/views/admin/tpl/d3_cfg_ordermanageritem_trigger.tpl
+++ b/src/Application/views/admin/tpl/d3_cfg_ordermanageritem_trigger.tpl
@@ -137,10 +137,17 @@
[{/if}]
- [{if $oView->isAllowed()}]
- [{assign var="blActionRestriction" value=""}]
+ [{if $oView->triggersAreAllowed()}]
+ [{assign var="blActionTriggersRestriction" value=""}]
[{else}]
- [{assign var="blActionRestriction" value="readonly disabled"}]
+ [{assign var="blActionTriggersRestriction" value="readonly disabled"}]
+ [{assign var="blRestricted" value=true}]
+ [{/if}]
+
+ [{if $oView->scriptsAreAllowed()}]
+ [{assign var="blActionScriptsRestriction" value=""}]
+ [{else}]
+ [{assign var="blActionScriptsRestriction" value="readonly disabled"}]
[{assign var="blRestricted" value=true}]
[{/if}]
@@ -162,7 +169,7 @@
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_ACTIVE"}]
@@ -177,7 +184,7 @@
[{if $blUseTimeCheck}]
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_ACTIVFROMTILL"}]
@@ -191,7 +198,7 @@
[{/if}]
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_CRONJOBID"}]
@@ -205,12 +212,12 @@
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_POSTEXECUTESCRIPT"}]
-
+
[{oxinputhelp ident="D3_ORDERMANAGER_MAIN_POSTEXECUTESCRIPT_DESC"}]
@@ -243,7 +250,7 @@
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_EXECMANUALLY"}]
@@ -257,12 +264,12 @@
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_EXECMANUALLYMEETCONDITION"}]
@@ -309,13 +316,13 @@
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_POSTEXECUTESCRIPT"}]
-
+
[{oxinputhelp ident="D3_ORDERMANAGER_MAIN_POSTEXECUTESCRIPT_DESC"}]
@@ -361,13 +368,13 @@
-
+
[{oxmultilang ident="D3_ORDERMANAGER_MAIN_POSTEXECUTESCRIPT"}]
-
+
[{oxinputhelp ident="D3_ORDERMANAGER_MAIN_POSTEXECUTESCRIPT_DESC"}]
diff --git a/src/Modules/Application/Model/d3_oxemail_ordermanager.php b/src/Modules/Application/Model/d3_oxemail_ordermanager.php
index c10eb7f9..d96c7156 100644
--- a/src/Modules/Application/Model/d3_oxemail_ordermanager.php
+++ b/src/Modules/Application/Model/d3_oxemail_ordermanager.php
@@ -22,6 +22,7 @@ use D3\ModCfg\Application\Model\Exception\d3ParameterNotFoundException;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\ModCfg\Application\Model\Log\d3LogInterface;
use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
use D3\Ordermanager\Application\Model\d3ordermanager_pdfhandler;
use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
use D3\ModCfg\Application\Model\Shopcompatibility\d3ShopCompatibilityAdapterHandler;
@@ -669,16 +670,16 @@ class d3_oxemail_ordermanager extends d3_oxemail_ordermanager_parent
&& $oPDFHandler->canGeneratePdf()
) {
if ($oOrderManager->getValue('blActionOrderPdfTypeInvoice')) {
- $oPDFHandler->createPdf('invoice', 'attach');
- $sFileName = $oPDFHandler->getPdfFileName('invoice');
- $sFilePath = $oPDFHandler->getPdfSaveDir('attach') . $sFileName;
+ $oPDFHandler->createPdf(d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE, d3ordermanager_conf::D3_ORDERMANAGER_PDFSENDTYPE_ATTACH);
+ $sFileName = $oPDFHandler->getPdfFileName(d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE);
+ $sFilePath = $oPDFHandler->getPdfSaveDir(d3ordermanager_conf::D3_ORDERMANAGER_PDFSENDTYPE_ATTACH) . $sFileName;
$this->addAttachment($sFilePath, $sFileName, 'base64', 'application/pdf');
}
if ($oOrderManager->getValue('blActionOrderPdfTypeDelnote')) {
- $oPDFHandler->createPdf('dnote', 'attach');
- $sFileName = $oPDFHandler->getPdfFileName('dnote');
- $sFilePath = $oPDFHandler->getPdfSaveDir('attach') . $sFileName;
+ $oPDFHandler->createPdf(d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE, d3ordermanager_conf::D3_ORDERMANAGER_PDFSENDTYPE_ATTACH);
+ $sFileName = $oPDFHandler->getPdfFileName(d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE);
+ $sFilePath = $oPDFHandler->getPdfSaveDir(d3ordermanager_conf::D3_ORDERMANAGER_PDFSENDTYPE_ATTACH) . $sFileName;
$this->addAttachment($sFilePath, $sFileName, 'base64', 'application/pdf');
}
}
diff --git a/src/Modules/Application/Model/d3_oxorder_ordermanager.php b/src/Modules/Application/Model/d3_oxorder_ordermanager.php
index bea4a624..04fa0306 100644
--- a/src/Modules/Application/Model/d3_oxorder_ordermanager.php
+++ b/src/Modules/Application/Model/d3_oxorder_ordermanager.php
@@ -21,6 +21,7 @@ use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
use D3\ModCfg\Application\Model\Exception\d3ParameterNotFoundException;
use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
use D3\Ordermanager\Application\Model\d3ordermanager_execute;
use D3\Ordermanager\Application\Model\d3ordermanager_pdfhandler;
use D3\Ordermanager\Application\Model\d3ordermanagerlist;
@@ -186,7 +187,7 @@ class d3_oxorder_ordermanager extends d3_oxorder_ordermanager_parent
* @return null|string
* @throws Exception
*/
- public function d3generatePdf($sFilename, $iSelLang = 0, $sDocType = 'invoice', $sDestination = 'S')
+ public function d3generatePdf($sFilename, $iSelLang = 0, $sDocType = d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE, $sDestination = 'S')
{
// setting pdf language
$this->_iSelectedLang = $iSelLang;
@@ -207,16 +208,7 @@ class d3_oxorder_ordermanager extends d3_oxorder_ordermanager_parent
// adding header
$this->pdfHeader($oPdf);
-
- // adding info data
- switch ($sDocType) {
- case 'dnote':
- $this->exportDeliveryNote($oPdf);
- break;
- default:
- $this->exportStandart($oPdf);
- }
-
+ $this->d3generatePdfBody( $sDocType, $oPdf );
// adding footer
$this->pdfFooter($oPdf);
@@ -251,7 +243,7 @@ class d3_oxorder_ordermanager extends d3_oxorder_ordermanager_parent
/** @var d3ordermanager_execute $oManagerExecute */
$oManagerExecute = $this->getManagerExecute($oManager);
if ($oManagerExecute->orderMeetsConditions($this->getId())) {
- $oManagerExecute->exec4order($this->getId(), d3ordermanager_execute::EXECTYPE_ORDERFINISHTRIGGERED);
+ $oManagerExecute->exec4order($this->getId(), d3ordermanager_conf::EXECTYPE_ORDERFINISHTRIGGERED);
}
};
@@ -279,7 +271,7 @@ class d3_oxorder_ordermanager extends d3_oxorder_ordermanager_parent
/** @var d3ordermanager_execute $oManagerExecute */
$oManagerExecute = $this->getManagerExecute($oManager);
if ($oManagerExecute->orderMeetsConditions($this->getId())) {
- $oManagerExecute->exec4order($this->getId(), d3ordermanager_execute::EXECTYPE_ORDERSAVETRIGGERED);
+ $oManagerExecute->exec4order($this->getId(), d3ordermanager_conf::EXECTYPE_ORDERSAVETRIGGERED);
}
};
@@ -300,4 +292,19 @@ class d3_oxorder_ordermanager extends d3_oxorder_ordermanager_parent
return d3GetModCfgDIC()->get(d3ordermanager_execute::class);
}
+
+ /**
+ * @param $sDocType
+ * @param InvoicepdfPDF $oPdf
+ */
+ public function d3generatePdfBody( $sDocType, InvoicepdfPDF $oPdf )
+ {
+ switch ( $sDocType ) {
+ case d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE:
+ $this->exportDeliveryNote( $oPdf );
+ break;
+ case d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE:
+ $this->exportStandart( $oPdf );
+ }
+ }
}
diff --git a/src/Setup/d3ordermanager_update.php b/src/Setup/d3ordermanager_update.php
index 5b86a06e..0ffcee75 100644
--- a/src/Setup/d3ordermanager_update.php
+++ b/src/Setup/d3ordermanager_update.php
@@ -41,15 +41,15 @@ class d3ordermanager_update extends d3install_updatebase
{
public $sModKey = 'd3_ordermanager';
public $sModName = 'Auftragsmanager';
- public $sModVersion = '3.1.0.0';
- public $sModRevision = '3100';
+ public $sModVersion = '3.1.1.0';
+ public $sModRevision = '3110';
public $sBaseConf =
- 'nsSv2==NTFhS2VYN3pLL2lLbEU5WHJ2Zkd1NUpFd1hpdi9OV000UERKb0twaHl3QTNqOUNyazIzQUl1M
-FdPZXp5bFF2Wll4eElEbVBUUkhHRThrZWpPZmxTZUZQem8yWFArR1VTRHBkMlRiVFQ4YUhPYWZ0aXZlK
-1F3Skd6UVZSTEZxckdVbjJLQjFjN1RQRDRjMlg3UEhpUFkwWWFScjk0cHRMQnhkUlJpOWxFZ2poQm80b
-2NDb2RUWmJ6c1lERG9NT1lrTHdhTnl1dG16dTZtOEZyODBKUUhRR09VWGdJRXhWRk5NZUJDQVVXVUtlU
-ExZVFNrb0VjSitwdVFzTDZ1enY0QnZHYm94ZDg3R01aeE9GaG91K3pNYWpGWVBJQUhFNHpWSFhzT1d1e
-lZVQnI4UmRESHFtdTBFUHpFMmI3LzN5N0pqNGNHS3ljSTVuN3JyWm9VTGR0VHl3PT0=';
+ 'JiOv2==YkQxQjkzUjIrQkE1Q0c5SklQS0N6dm1QREsyQi9haHE3eFNTV200R1hZKzNZUHpVd1FUZVkyM
+mVnS0Q5MFRmRjhaZlNsY2ViUVpVZGVEK01KMlVYd0cxU0dETTlSRWFnR1cvbHpzQm1BUkZKTUNYY0N4V
+jQrRDA2WGNaSU03dDVFZ1dhQUhqQVUzZ2s5YUhiRzhQRnF5STkxYlozMnY0N1ZqbzE2UTV0MTRSNy9xZ
+lVEaDVRLzk0RklNZ2NSSFhHK0w3WDFsb2tXZzVzcG1jVmdnZ3lwV1Y4TVZEb2srVTNYZy9XQWFNZDJUb
+nR1V25hNEZHWUI1S1RzYVg2VGJTQnV1VjZlR2lHU0grV0pGTTNHbDAybEdJeFdPTENrY0pwempqSEk1c
+Uk5TWkyeVFQalJ5Y0psNFpFTE83ZnBIT3VGcmNJRDRDQzA1R2h0R2ZlYTYrbElnPT0=';
public $sRequirements = '';
public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTQlM0ElN0JzJTNBMjMlM0ElMjJkM19jZmdfbW9kX19hRm9sZGVyTGlzdCUyMiUzQmElM0E1JTNBJTdCaSUzQTAlM0JzJTNBMjUlM0ElMjJEM19PUkRFUk1BTkFHRVJfT1JERVJfTkVXJTIyJTNCaSUzQTElM0JzJTNBMzIlM0ElMjJEM19PUkRFUk1BTkFHRVJfT1JERVJfUEFZQURWQU5DRSUyMiUzQmklM0EyJTNCcyUzQTM2JTNBJTIyRDNfT1JERVJNQU5BR0VSX09SREVSX1BBWVNUQVRVU0NIRUNLJTIyJTNCaSUzQTMlM0JzJTNBMzYlM0ElMjJEM19PUkRFUk1BTkFHRVJfT1JERVJfREVMSVZFUllTVEFUVVMlMjIlM0JpJTNBNCUzQnMlM0EzNyUzQSUyMkQzX09SREVSTUFOQUdFUl9PUkRFUl9PUkRFUlBST0NFU1NJTkclMjIlM0IlN0RzJTNBMjQlM0ElMjJkM19jZmdfbW9kX19ibENyb25BY3RpdmUlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMjQlM0ElMjJkM19jZmdfbW9kX19pTWF4T3JkZXJDbnQlMjIlM0JzJTNBMiUzQSUyMjUwJTIyJTNCcyUzQTI1JTNBJTIyZDNfY2ZnX21vZF9fc0Nyb25QYXNzd29yZCUyMiUzQnMlM0E4JTNBJTIyNW5kYnJCM1IlMjIlM0IlN0Q=';
diff --git a/src/metadata.php b/src/metadata.php
index a378e20c..addb2846 100644
--- a/src/metadata.php
+++ b/src/metadata.php
@@ -27,7 +27,7 @@ $aModule = array(
'de' => 'Bearbeitet frei definierbare Aufträge auf Basis von einstellbaren Bestellungslisten.',
'en' => ''),
'thumbnail' => 'picture.png',
- 'version' => '3.1.0.0',
+ 'version' => '3.1.1.0',
'author' => 'D³ Data Development (Inh.: Thomas Dartsch)',
'email' => 'support@shopmodule.com',
'url' => 'http://www.oxidmodule.com/',
diff --git a/src/tests/additional.inc.php b/src/tests/additional.inc.php
index 9bd1355b..b78c8d4c 100644
--- a/src/tests/additional.inc.php
+++ b/src/tests/additional.inc.php
@@ -1,30 +1,30 @@
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+MknDxqS3qHWHvH/O6BsRxsGqBiHTnbR8suI7/OZHv6MLX19HkHYFf3vFbS4tnfzWize1Ji
-q4lhYnbtT484oJu3Gn31hEPkX5hKoGuYGa+HNrCnlTsRou2H4B6D011T7vCLSXBegxtJAwpGgZ2R
-aVdRDN2xRv8nG/v16XwbpDDQmI3X5oLk//kPAMZqNAVVkr1pANdNi58n9Ywue4iIOCDtQLovGGRD
-5jrlvXMyjIMNUei+/EvYAQa+0PZHlVfO5JRckmRCKTTllPBMLQrLYayEOnrdbCZbMDWEsHNpZrdS
-sJ4z/vwkQwb4S+25wyW879voS/OJ46a35wX0DtxyjUtTj0UwFldZjNhNz4GSR1KtM2Yb8tGL1NFw
-XDCIEL77Gh1N1yN+j6ZXRszhtF/tGhGJHzZ6MyKX9z6eUZjhcEAng4o1GVmL5wtLgXzhDx+ur0a3
-u4ALGWowTDKc6jKtSImXi61uW/VfCxWrPCj9xsV9lPDYOYMlTFpz+BzmeSDii6pv/erIbb7Xkkj4
-WJNJybMoPy/uPEjaFJqkT5kZlSmSoWyB3SXHxll1wZMEA3OCg8dTCTj7qeCA18WdMPp/xNrmSY6k
-Gy2u4B/AZmHFlUOsw+P7N776Wsvq+j+48nwsYX+CZYX/4hCDbXpry4mVX60FFyXjooXVqeoe9Fhq
-ZiTdU2CAw0IP/cwOMcmNbXNpespZ8J29YSsZbrIASy0jZnLHrmatFYHBlf8eHlHChJEC5ZLKc8m2
-nITYfenGB+VOdfV+NIJcJchNiNDbuPgKQQ6+549J/88420ErPE36yfeN40zrt8YK6t/SOlA8w/2J
-pxP9zb8ocL5fjhyXgmTcl9vDkyqJ4fTqPA3R+0Ihbl1rZzhQOWpBJ/RC0in9bjoLsJBsSYqQ0fmW
-kofRsSWlyrYAPWuGrSiu3MiRYqIVGGLM3R+W+zO2oOrXafDdwJ95J1nK3EQSmrNliFzFO5Fng4Ow
-sNr9O5KoUrzqF+Vc11AQUD5kgYveLYaZlISpSBTodNNNiHMkPy3j6rP2oQksDZx2kuLAmO7VzFLK
-fyPkrqQyRQ3gY/2JiWnv47AFCG247NxEAAmI694M2yoDRt8BeDltHkPG5gagYvlADG7nbUi/dJlK
-7GIsOzy6tYHCideLab361p98oaO7z0n0CPI57/p+l4UOSxfbc2c2cal+fcFxaC3QGkr/y1NRM0E1
-Og8ngoQSbnu4fa+kHxOaN1+yBTYDoKF5/hnu5LpRWRuFm1Y+EAO4rteJDMZ97VvAgM1EvMVmoCtA
-0kTWLgSF0s2Kfn34DrxmgubG3tYuqv0+6Hiw35uAJuwVNIfdrG3VXhXN5x1dZIMZHg7XiwWrsa26
-++20rTDGKOfNbquNXyW27bBliHT3wUPw4n9BKWBl8JAyTBH4uSY2BxRD1n2z2AUi0bi3jmWr0Pfh
-s+1XTYYrHwd0xGW+8POeEqChNeF+q/bBE106kijcP9/DWyGjOpNEjJA1oyGTj9FKimsz1K5jlQWz
-MfSG5c4Ci5B+eH/q137O4XHqtry29MOuzGqFEjtk1haJxPU2FrzJ9wUhL8Y2BNHx3D19ln83qZcE
-1z70KNqKVN7qrBPyxe0PGn0v2qddJDeFq/m/slMod/5AkHuYcl2jkkZKp8r1I0CAlO2ATtXOh4LM
-tVE9rIj4JSltt11o3/jkmBsd5dnDbA4Zu+uBkDF9Mj6oWy6tV1UlPIq2KtQBca3QJkJ38z62yaeY
-2Ygnz16NTqAciFr9PibcJuZinyYUl/PUeEimvWbnluMl4jeGIDmmRWASan5L4mPweBNFHhRx8wfj
-ON015eW+9oc3j54CNNYhNmMgMCHupDtkeelOtcvUuiaDck9HD3sKDmVjjEOoFtFwSzRKOTfTOKWL
-ErEP6096MECqUA80CFRhUB65Jixq
\ No newline at end of file
+HR+cP/rP6yFCfVyUz8dfZk2jRy8h4iRkOsa5HQEu5z50ThIWh3/F9hGNj89qhSMXgR59qXu2p/IZ
+6I5aMXBMrvHBbTKo/LPq2iwunZKumz/GhV70EsFqQdzKtdMEtCPbKn+b+ZWFUu0uGqBqOZ+xk703
+7Ng7P1sGA4O3UubFPv+FdAvYa8weZ53uRPQYcF/TZfiZ6yi5MbHAs7WOYfzCpXIwkVdHFWX4Wfjz
+MFRtFy3GXygGVpyqI1RlyTQVLmQvUif9zIbTC7uq9EDBiwjz4xzclKadU+TgLYvsCf0zL/zPIAwD
+xm5rCizMoCkqfr5gncCIUain08l50OXHyCWQvY+GUF4djLfjqbD5tXeMOX93FTikp9UlCOL/bHCM
+p529jCJB73sE4dFf8PZn+Jvb1LacANGZYAXab9SvZRFf/a5kwR2TuMqq8CNrre7OJcaCv22CYRnT
+WaoqjmWxSa2AIEXdPIWQaK+YzgGjtqdYOYGtjECeLGeX+ZCKWYWg70hmobDV3rOvq448P0uAszFT
+R7FSqgj1SeA8V/ZOZMUIRd47JDgJDn7+tQpOfreYnwEmYMiIfPGO2hTvpc41pgybM47ohp9ArOOK
+Q0AbQIHEq9uGIZM3yGOmHFocmHmznwv/z/FX2EaVP+V0uH4WS2i403cpKF/Pq2Nk55MmMYEwdfSG
+AfSjsMijGvavEhAHZNRUjXE9CVhyWxYuolawsHLVhrOXkHCnqCtUysIBkgT8rYl8HaEciiSSMHrR
+zOYF3MnArVt2rFCRnoktEvr1VFM3oKj2btpXu/I97pTxCd+BHu3fG0HaS9uwBaKbLoil85sR6lRt
+euA405+pZm/Lczp1JR6UwDijPZ3B45seSsLBll1eb+EKp3fwL9HvdbjUupkIfp/HIaItHsPVuJYV
+dQomPN5iKgAU7NAJZ0oo8voblt/pGeui2kvtC6xQh5ZU30pym4rMhofn7W5P2XTUS/0wQRhwWTH5
+APSNOBuJp+Gr4Fz4zZYkkZ9GgcGSn9B7+RqexBb9MrECQt1zE/ndK0T2vWy8r2Hd3xNZ4f877wjX
+4s3E5tphD0JGWVvgWtro+QDEe5cQ0aD2ulWmAifUwzldCfyhAPsM5k8qSX1no9j6mxwtSsurljPz
+ri/wmW9cwPuqro2EMLJSq+9yiuF9x/VnxcTJDfZFrvGM2r5sA4iqbRwvP4pR58kyEEdLH5CRfsDG
+9K3vf9oCRANS4ZFKuX14craw4cXPmnrS3Xe1P39ff7Kb6fzMe5uWmoztgu4bBfmjoxyopgpDkMtV
+zePklQtB27M6stFQDFVtMfaZUiDz9rb8GjXE8HrBwglR312ronz7Cne0hqQJXJwZ35kRDxI7B8TG
+QLSBzyHrTtZiZ0cwhxoQFXncWPUXGTXSrzk7p5VQZFd/MOU0DCkh2FI3mk9/81cJ5aS3C76wCLk5
+YdYhITDmYfYBnO2ViB9ZcBDGk+kb3d1yggK+HFg4kZVHbnG5+/7ZkoJer1ORRcDrsKNzX2YkakeG
+RJM1oNexaDeoi/Cei83tjWk8LkmBrIf4SlUqUiZCTJFT41O3TsxxPnk3mRO09e2ROqT1nS9FGSAh
+dCPN166zS71Aj4b4RTM6hJ4vhm1/M4oYh/Oe25c1G1qMrXqnUC5AG4RzWDHFo8LUUphb3MbTeMvs
+lZdaUMX3gSL0Nu/97n47dI28bhY4U96aKP7qLj4VNZlPTSIb88VxgwtU40CVtTeaFMgzZnciOLSq
+Ac41iKiFxoNzjmSEfQwqdjVWxNfBkpcz8Rj1gio/jGTPasWO513H7wCLEvu6m9SDDM+HV9RFZ1f+
+kGiKYC0dHbbrdToCeufjVFUJOEx2VQXMdqqx5pLsTrRZnPuYgK14Zbhb8DwAP22nlJq0RCeHvxzp
+eV90ve4=
\ No newline at end of file
diff --git a/src/tests/d3ordermanager_config.php b/src/tests/d3ordermanager_config.php
index 12ac6cc2..c14dd2df 100644
--- a/src/tests/d3ordermanager_config.php
+++ b/src/tests/d3ordermanager_config.php
@@ -1,13 +1,13 @@
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+cPzDcZNpdp7Lp/j8ONpYG3lD8OYXZFkeCVlDqdKrNs2fzAL1jgiJBsq3V1zowst/gnYfZL2z8
-HDPjuQHBzIbpyWVwqkAowQuCDVJDHFCLX1TcOSSF/nLI16zkzVOLj0hXIiahTjWSdMOOtyhHFNcV
-Ye5wfK24yFw57ptwT7XtwadEo8I4pTt/mrXpy+CwmywtGpIJmKSisANE4TmmFLkfgmZjsf7HGQ3S
-3EYIpRBfEyPudat6TI48Wn326dWxsJUGXhl0sxi6p57NRxsIrbMjLOfF3cCoSAfUzArbJ7hF4yLP
-tDCnRshYqhVJHPIXlWMPO6HXzmfo8VdRZaO4DmOjH8tIkrnsYkcmyVdsrmQf9ueete6SVd6HRsCN
-leW5Y3lc3hJ5koJYw2ryEPhRlLZM4tu8WtiYQOUtjxyj9HFepb3qnA0oGzktOUl+cQD03Q4QZybS
-6vIpHl5MYunuh5lXEuz1jVUOrpYpimQk8QYAf9pWDXH2fGxEhAkyh4HpfLFS4EA/dQuJePPdR4pB
-59lKOQfOlN1M6eAQ4cBBB867oW6Mw9DtaRdPu6uoomW+0NbRzcZaPTDNr5svAFQ91hQAIuqKTtuS
-dd6yCL6dEH5sbZUPlbtvCY08jkrvSLy=
\ No newline at end of file
+HR+cPzxo2R0UMFA7vqQSanfV4kjYexQxPzIGcCC51XAtq8NN5EwpcLSG7r9eOqXwjD/eSZc8QF28
+i9t94LFdpLe71oVi2qhbAsR8YZe5PVzwQolB4T7eyPM0ei19DynpbpDcDQmLKFCk+yaa91uSO4y8
+igjNfqd15cYhlKlL6bHCj4QF9B9dV2eDjdEZfazOQh010dD44E4DU4MyaBcEhvsRTRrtMGLEashV
+IAMphp5ZZz9gZw/uXkORjYO8un83ntG+nkBC2VamVZGauqkpgtqJlsQzIITx5sLAjHyTeynvTTnK
+hWtvRmFaqWysUPJ0SJDtoEeHcy8IR3W0oWsdZUDhDXXEZ6kzObgjzo1m8O/qBJMPO/pyO7I8RaZ/
+CzEF5rpLCXdDXW8JU/DVsoDBsHk+PaG6atyXuqkfE2mlWeVBJHjJGi7AWSKwBEsdGFi9rIuxNJPZ
+uLiL5zgSYfYmdkGK4fgcqW1O/PbQcaNGwvJMpRv1lGsBOWUpzbuXji7+7jpsjsahmvjcXZ7hLPke
+X2R7q6HJbMh2p2QXdYg5fo7XmajrlqWB5Nly+SN1vh4Et4nD8NZNwtz9vv7Fn/U28k4vDXTaJ0uE
+wf86+hFHkoboaxu=
\ No newline at end of file
diff --git a/src/tests/integration/Actions/actionChangeDelCostsTest.php b/src/tests/integration/Actions/actionChangeDelCostsTest.php
index 3dcb6981..fcd2a2a1 100644
--- a/src/tests/integration/Actions/actionChangeDelCostsTest.php
+++ b/src/tests/integration/Actions/actionChangeDelCostsTest.php
@@ -1,141 +1,279 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionChangeDelCostsTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aArticleIdList = array(
+ 'articleTestIdNo1',
+ 'articleTestIdNo2',
+ );
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ public $dCurrentValue = 1.23;
+ public $dExpectedValue = 2.34;
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createArticle(
+ $this->aArticleIdList[0],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxdelcost' => $this->dCurrentValue,
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxartnum' => 'expArtNum1',
+ 'oxtitle' => 'expTitle1',
+ 'oxshortdesc' => 'expShortDesc1',
+ 'oxselvariant' => 'expSelVariant1',
+ 'oxpersparam' => 'expPersParam1',
+ 'oxstorno' => '0',
+ 'oxartid' => $this->aArticleIdList[0],
+ ),
+ )
+ );
+
+ $this->createArticle(
+ $this->aArticleIdList[1],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxdelcost' => $this->dCurrentValue,
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxartnum' => 'expArtNum2',
+ 'oxtitle' => 'expTitle2',
+ 'oxshortdesc' => 'expShortDesc2',
+ 'oxselvariant' => 'expSelVariant2',
+ 'oxpersparam' => 'expPersParam2',
+ 'oxstorno' => '0',
+ 'oxartid' => $this->aArticleIdList[1],
+ ),
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ $this->deleteArticle($this->aArticleIdList[0]);
+ $this->deleteArticle($this->aArticleIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerDot()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDeliveryCost_status', true);
+ $oManager->setValue('sActionChangeDelCostValue', $this->dExpectedValue);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerComma()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDeliveryCost_status', true);
+ $oManager->setValue('sActionChangeDelCostValue', str_replace('.', ',', $this->dExpectedValue));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerUnvalid()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDeliveryCost_status', true);
+ $oManager->setValue('sActionChangeDelCostValue', 'unvalid');
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderDotPrice()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerDot());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dExpectedValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderCommaPrice()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerComma());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dExpectedValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderUnvalid()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerUnvalid());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionChangeDiscountTest.php b/src/tests/integration/Actions/actionChangeDiscountTest.php
index 01084370..171c5770 100644
--- a/src/tests/integration/Actions/actionChangeDiscountTest.php
+++ b/src/tests/integration/Actions/actionChangeDiscountTest.php
@@ -1,126 +1,255 @@
-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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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionChangeDiscountTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ public $dCurrentValue = 1.23;
+ public $dExpectedValue = 2.34;
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxdiscount' => $this->dCurrentValue,
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxartnum' => 'expArtNum1',
+ 'oxtitle' => 'expTitle1',
+ 'oxshortdesc' => 'expShortDesc1',
+ 'oxselvariant' => 'expSelVariant1',
+ 'oxpersparam' => 'expPersParam1',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo1',
+ ),
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxdiscount' => $this->dCurrentValue,
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxartnum' => 'expArtNum1',
+ 'oxtitle' => 'expTitle1',
+ 'oxshortdesc' => 'expShortDesc1',
+ 'oxselvariant' => 'expSelVariant1',
+ 'oxpersparam' => 'expPersParam1',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo1',
+ ),
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerDot()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDiscount_status', true);
+ $oManager->setValue('sActionChangeDiscountValue', $this->dExpectedValue);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerComma()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDiscount_status', true);
+ $oManager->setValue('sActionChangeDiscountValue', str_replace('.', ',', $this->dExpectedValue));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerUnvalid()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDiscount_status', true);
+ $oManager->setValue('sActionChangeDiscountValue', 'unvalid');
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderDotPrice()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerDot());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dExpectedValue * 100),
+ round((float) $oOrder->getFieldData('oxdiscount') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdiscount') * 100)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderCommaPrice()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerComma());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dExpectedValue * 100),
+ round((float) $oOrder->getFieldData('oxdiscount') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdiscount') * 100)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderUnvalid()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerUnvalid());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdiscount') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdiscount') * 100)
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionCustAddToGroupTest.php b/src/tests/integration/Actions/actionCustAddToGroupTest.php
index 23a284bd..287ada5c 100644
--- a/src/tests/integration/Actions/actionCustAddToGroupTest.php
+++ b/src/tests/integration/Actions/actionCustAddToGroupTest.php
@@ -1,192 +1,331 @@
-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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
-7msEZjCJ+tqUwlrojKXUuam=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Object2Group;
+use OxidEsales\Eshop\Core\DatabaseProvider;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionCustAddToGroupTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ );
+ public $aUserIdList = array(
+ 'orderUserTestIdNo1',
+ );
+ public $aO2GroupIdList = array(
+ 'o2groupTestIdNo1',
+ );
+ public $aGroupsIdList = array(
+ 'groupTestIdNo1',
+ 'groupTestIdNo2',
+ );
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createGroup($this->aGroupsIdList[0]);
+ $this->createGroup($this->aGroupsIdList[1]);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxuserid' => $this->aUserIdList[0],
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createUser($this->aUserIdList[0]);
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteUser($this->aUserIdList[0]);
+ $this->deleteObject('d3ox.ordermanager.'.Object2Group::class, $this->aO2GroupIdList[0]);
+
+ $aQueries = [
+ "DELETE FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid = '{$this->aGroupsIdList[0]}'",
+ "DELETE FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid = '{$this->aGroupsIdList[1]}'",
+ ];
+ foreach ($aQueries as $sQuery) {
+ DatabaseProvider::getDb()->execute($sQuery);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingleGroupsExists()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCust2Group_status', true);
+ $oManager->setValue('sCustAddGroup', array($this->aGroupsIdList[0]));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMultiGroupsExists()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCust2Group_status', true);
+ $oManager->setValue('sCustAddGroup', array($this->aGroupsIdList[0], $this->aGroupsIdList[1]));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingleGroupsNotExistsNotAssigned()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCust2Group_status', true);
+ $oManager->setValue('sCustAddGroup', array('unknownGroupId'));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNoGroups()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCust2Group_status', true);
+ $oManager->setValue('sCustAddGroup', array());
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderSingleGroupsExistsNotAssigned()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerSingleGroupsExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid NOT IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid != '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderMultiGroupsExistsNotAssigned()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerMultiGroupsExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 2,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid NOT IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid != '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderSingleGroupsExistsAlreadyAssigned()
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[0],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerSingleGroupsExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid NOT IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid != '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderSingleGroupsNotExistsNotAssigned()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerSingleGroupsNotExistsNotAssigned());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('unknownGroupId')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid NOT IN ('unknownGroupId')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid != '{$this->aUserIdList[0]}' AND oxgroupsid IN ('unknownGroupId')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderNoGroups()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerNoGroups());
+ $oExecute->startJobItemExecution();
+
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}'";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionCustDelFromGroupTest.php b/src/tests/integration/Actions/actionCustDelFromGroupTest.php
index 4ac25eb3..ffa2b2e2 100644
--- a/src/tests/integration/Actions/actionCustDelFromGroupTest.php
+++ b/src/tests/integration/Actions/actionCustDelFromGroupTest.php
@@ -1,224 +1,476 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Object2Group;
+use OxidEsales\Eshop\Core\DatabaseProvider;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionCustDelFromGroupTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aUserIdList = array(
+ 'orderUserTestIdNo1',
+ 'orderUserTestIdNo2',
+ );
+ public $aO2GroupIdList = array(
+ 'o2groupTestIdNo1',
+ 'o2groupTestIdNo2',
+ 'o2groupTestIdNo3',
+ );
+ public $aGroupsIdList = array(
+ 'groupTestIdNo1',
+ 'groupTestIdNo2',
+ );
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createGroup($this->aGroupsIdList[0]);
+ $this->createGroup($this->aGroupsIdList[1]);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxuserid' => $this->aUserIdList[0],
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createUser($this->aUserIdList[0]);
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxuserid' => $this->aUserIdList[1],
+ 'oxcurrate' => 1,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createUser($this->aUserIdList[1]);
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ $this->deleteUser($this->aUserIdList[0]);
+ $this->deleteUser($this->aUserIdList[1]);
+ $this->deleteObject('d3ox.ordermanager.'.Object2Group::class, $this->aO2GroupIdList[0]);
+
+ $aQueries = [
+ "DELETE FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}'",
+ "DELETE FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[1]}'",
+ ];
+ foreach ($aQueries as $sQuery) {
+ DatabaseProvider::getDb()->execute($sQuery);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingleGroupsExists()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCustFromGroup_status', true);
+ $oManager->setValue('sCustRemoveGroup', array($this->aGroupsIdList[0]));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMultiGroupsExists()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCustFromGroup_status', true);
+ $oManager->setValue('sCustRemoveGroup', array($this->aGroupsIdList[0], $this->aGroupsIdList[1]));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingleGroupsNotExists()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCustFromGroup_status', true);
+ $oManager->setValue('sCustRemoveGroup', array('unknownGroupId'));
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNoGroups()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionCustFromGroup_status', true);
+ $oManager->setValue('sCustRemoveGroup', array());
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderSingleGroupsExistsAssigned()
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[0],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[1],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[1],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[3],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[1],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerSingleGroupsExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[1]}') AND oxgroupsid NOT IN ('{$this->aGroupsIdList[0]}')";
+
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[1]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderMultiGroupsExistsAssigned()
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[0],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[1],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[1],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[2],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[1],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerMultiGroupsExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[1]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderSingleGroupsExistsNotAssigned()
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[0],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[1],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[1],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[1],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerSingleGroupsExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[1]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderSingleGroupsNotExistsNotAssigned()
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[0],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[1],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[1],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[2],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[1],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerSingleGroupsNotExists());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 2,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ // check other assignments
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('unknownGroupId')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid != '{$this->aUserIdList[0]}' AND oxgroupsid IN ('unknownGroupId')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[1]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderNoGroups()
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[0],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[1],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[0],
+ 'oxgroupsid' => $this->aGroupsIdList[1],
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Group::class,
+ $this->aO2GroupIdList[2],
+ array(
+ 'oxshopid' => 1,
+ 'oxobjectid' => $this->aUserIdList[1],
+ 'oxgroupsid' => $this->aGroupsIdList[0],
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerNoGroups());
+ $oExecute->startJobItemExecution();
+
+ // check assignment pass
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[0]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}', '{$this->aGroupsIdList[1]}')";
+ $this->assertSame(
+ 2,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ $sSelect = "SELECT count(*) FROM oxobject2group WHERE oxobjectid = '{$this->aUserIdList[1]}' AND oxgroupsid IN ('{$this->aGroupsIdList[0]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionDeleteOrderTest.php b/src/tests/integration/Actions/actionDeleteOrderTest.php
index 1f78d7a6..b06cc1ad 100644
--- a/src/tests/integration/Actions/actionDeleteOrderTest.php
+++ b/src/tests/integration/Actions/actionDeleteOrderTest.php
@@ -1,80 +1,168 @@
-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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
-kD5SCW==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\DatabaseProvider;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionDeleteOrderTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aArticleIdList = array(
+ 'articleTestIdNo1',
+ 'articleTestIdNo2',
+ );
+
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createArticle(
+ $this->aArticleIdList[0],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxparentid' => '',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ 'oxartid' => $this->aArticleIdList[0],
+ ),
+ )
+ );
+
+ $this->createArticle(
+ $this->aArticleIdList[1],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxparentid' => '',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ 'oxartid' => $this->aArticleIdList[1],
+ ),
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ $this->deleteArticle($this->aArticleIdList[0]);
+ $this->deleteArticle($this->aArticleIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderDelete_status', true);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrder()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManager());
+ $oExecute->startJobItemExecution();
+
+ $sSelect = "SELECT count(*) FROM oxorder WHERE oxid IN ('{$this->aOrderIdList[0]}')";
+ $this->assertSame(
+ 0,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ $sSelect = "SELECT count(*) FROM oxorder WHERE oxid IN ('{$this->aOrderIdList[1]}')";
+ $this->assertSame(
+ 1,
+ (int) DatabaseProvider::getDb()->getOne($sSelect)
+ );
+
+ }
+}
diff --git a/src/tests/integration/Actions/actionExecuteMethodTest.php b/src/tests/integration/Actions/actionExecuteMethodTest.php
index d7b11c0a..d6945021 100644
--- a/src/tests/integration/Actions/actionExecuteMethodTest.php
+++ b/src/tests/integration/Actions/actionExecuteMethodTest.php
@@ -1,83 +1,172 @@
-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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
-/wI4TG==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionExecuteMethodTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aArticleIdList = array(
+ 'articleTestIdNo1',
+ 'articleTestIdNo2',
+ );
+
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createArticle(
+ $this->aArticleIdList[0],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxparentid' => '',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ 'oxartid' => $this->aArticleIdList[0],
+ ),
+ )
+ );
+
+ $this->createArticle(
+ $this->aArticleIdList[1],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxparentid' => '',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ 'oxartid' => $this->aArticleIdList[1],
+ ),
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ $this->deleteArticle($this->aArticleIdList[0]);
+ $this->deleteArticle($this->aArticleIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderExecuteMethod_status', true);
+ $oManager->setValue('sActionExecuteMethod_name', 'cancelOrder');
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrder()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManager());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertEquals(
+ 1,
+ $oOrder->getFieldData('oxstorno')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertEquals(
+ 0,
+ $oOrder->getFieldData('oxstorno')
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionMoveOrderToFolderTest.php b/src/tests/integration/Actions/actionMoveOrderToFolderTest.php
index c1f42e6b..14e00a23 100644
--- a/src/tests/integration/Actions/actionMoveOrderToFolderTest.php
+++ b/src/tests/integration/Actions/actionMoveOrderToFolderTest.php
@@ -1,105 +1,200 @@
-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+cPx/Q6v95T+2b41kEiLukE207nN9HpxyxtQAuRxooiZUWGw+86ja3ET2mqWhzZzjWjQxBep/M
-JmAuxM5q/gK6Q7dJEwDYaGKHLZl0gg6G7e49NkFSVjRRoqUSNgm9b1hPAOc0nWTusCyN6uSkU4ff
-G00edlThln1qlRffi0eXrAn7jCeA2/u6uIM0fLHUUm9f4oXCxB6Eb7uw9k5MmJxFEPZQdQjGhOLg
-CFGqsE34Wl9CsOUVEtyopI2o9Z+uqegMqhgJkmRCKTTllPBMLQrLYayEO/bdRfCMrHRdR19W45dS
-OuzZ0+/zM8DuEGCGYeAPVpaEB1G3YQ1x8EArTdOsxNoP2L+F4G/VKltPEABfIwjXRHO1457kko3e
-0GIrnbyJZ98zwpB8u5gg5pji+ACJ3EOG4nyVE+VVFILktg5xKPL7LO+PKqPVZxPpkwgnWeVO7Bha
-MI9XvHv6N66UfsuS9PlgBsw7Ijjb4o/7OSiUC2+pkTjc/unHFLXi51GuW9VtN54VEPBL5p0lJHJK
-HgTx4WPVVfMVfNr2/vKWa0nYJ3F+ub1x9l0qtI4Ls/oP4UEw4nYaaswSnxV5wfIHO3VIpkxkof22
-iEOATnDar2RCsih7zE0kjLRWVl0QdMfg5P9+1O4sdIYTWFb+C6EpuySW8ZN/zX1lEGTas/bwMtq/
-nUXY+cRW5P40yJ0K5nb2U1SlFuIQzuzvFVT4JWIGsfBoDBIbezARghY+iiGL8hV0d/HzOg61sDE7
-KDf3ePr7UnL5DGoChUn7eqN7Y3uPgyQcndOtkVBigy4INNFsbbAGaHQ+0AEja1vZ34o4mteO3U+Q
-Qwb2L8F4PuBRc5waDMbsk64jEzRu8r/LA3cIGxDXaKWQpk1B+WlxoOMVeEzA6aYRPoBfmxdUREHn
-P2LGRS7oLFn4OGMx1YA5LNYBINrxx3RSOS17rqvAzyrJoMxRvMa4A/qeE63zjMM+vAPIm6nKSfCp
-P4FUActam2MUiQaKkjbuZIi3p+vEUTaEAF/rjJ3ZBUsgIjH5LXAQVcOJI9zt02fOiShlm8qV57Rg
-GV387/78ERVmBdsLRjE2BVqqz3Xe4ha+2B9NR3Bt7u7Mh8JRX0d6axB+deU02wpxO2AEVdho4qYR
-lDeC4Uxpi70eEtPZeW9YVb9WmSNaX5cqmQl0GzpwxCO4GKLM9W9vXjzhRnj05ks5W0woYZ9Ot68r
-xuKBOPVUMnPB3fv7a9OEnYK2C/b4BbRlZOOL+LjaRR0LY+GvvrJvM37sptZWPDL0EkTuaZ4nPmiB
-wDUf5W5q6MH1UYg7m3VyMl54CMDGayN9yIvHd8iHRckWh6kefOmlbLUr6b51QAlwDLNdg952/wcf
-BPK27J+iu/42N1UnbFBXpCCpMlz/uUG7ty0HUmheaEt1iGiUiAicfH+hxWg+gTCXIJ/FkO4ZI0mN
-yQL0Bi2eSXYolrgBktFIn4VPbPxK72H1EqBWBpRxYSh9lYhHZbO5PtWVyhx680zQKE408/q0Sw6s
-2bIw/5YDaCYSyH8dDLUL4EYuLweohJYT1UcWKJZ0v9U31ebrNcoybyckfERY/kq9TREFeInvmMza
-kA1lhEjbuXSkoRzTUdsOHfvtCWiQpXexZFjDSpElh/tZXYQ2LpdUkozTuHP1EaQcJUIfjfgXJsFi
-dKv5TD8o1SFqEDy04PHJcTmV1gvLvRLiirM3P3hFepgLYKmxsu3ygNGCOgtMh23oB/cxT2yQHJrZ
-Hs0NMoXwNLvH8+4m0D7kYRd6MLLo+E1qsDc/zzIAN7G+XRDRxG1zwndZGdAPfRLKGMSVoo73IYsO
-XoFgan/drG9jhU+eDxHH40Y3WS3wpxfDbW5lFjMuPF07xBd8Yisy1hvoM2UL/0jxae1tojoqvc7T
-kAZ8vKlcGXBWmssJghjNQYmx3823AW3Wqp0onQWUmvSJ+UFZp4pipiRdqN3Wwh4VQJNUsyHDKSeQ
-x4dqx+2DJsWni4CqwgGWWl3zzpW2c9RSoaicEzjUL2fLWSkR+64XaUse07fZS45/Mk03XTGDmeTV
-HGMsTQdX6eLnV9x8tu4vMJl0ZQAZlew6Nnf8Gd++ivOuMYri6JcsMN8pdLUNsPZ/TkLPvWtmLsMj
-Ap7SnCFOjAVnoRz6QTg9MPFgrI3wZI7XBSkeKh8Wv39v41G0V9m6KaEHllhVczUa7FDaS5mnrRgB
-igcGC12feZX+fcnxr8BGXmcjHFnOQjHhVHya4THwUizXxItOjPWzNyXu7Qm8jIr7iIuxkAefWfnR
-P3HuAiEcDe/yFnAdJbMWTF+ULCSEpq+njoEenW6l5J2PC0Z/DhYcnCpTHngA3P1TpY9zknFtX1v9
-9Jjj0n+zKGL3g2+W82nELzlRY2uY5N8Ez57R+GntYQxu/4JCxGju0KcOFZadTUnjXOdRyBHuHgoT
-94neh+kkMXjhfSo21JrSK0wnlQbX0pDhaLJncKXerTZCkUniIDUN6WNtvxlFGUkyt7sCaReICbcE
-vqEFBjqejXoFEVDMaBrJuQgWLm6gDuUdJ7L3/lh8Af9EaGpJ248LwknHvpgwnmHDPI9f7ytFPeRd
-9OdfqodhMR8d/oGQupqwnq/UzrEa0lLC4CjLGyjK8saX5wCI1wf+AxDyX16wjAYogzw5m/gTnIrL
-UbRmkso4qB+A37YvT2q7JH/PU3lGEfA77vrGiJEFnZghzWj4A4lmt6B11vIAc3L3Nz05wM66mKKC
-j0QOgwqZHEMw90j+VQ5JaWvHpGoMKT5BIRyBdo+PJuoKYxsCh8QxnkXt6e0Ot3Fi7ZvuRW8HuOno
-LbCBpgnHdZ8qH1NqGs0n2aaNgXsJb9Kv3MLxvf0pOtPYRv+FG4EldJ14ZieDPqqPjMz46GtFD734
-VA3OgB8iXJg6FkeIpTARL2l2GeffdmKFbIqTbXebr6c7tMByaLWJR7QQHZRQ4XO3Pb2M/bHYxfxo
-OLZuR+eNT6WTed6nw/I/6HXwcZs6Zv0alpzTTERtHaxZI/6DssH5XVYIAt3IiUNm4w+CX6E75nOj
-Z5Z6CQtoL1vz0AjvsUy+QV3tXWzo2A65sRMyJvf9tmTzDSVP01mmz+pBdU/zBluzygx7S9fvYN1F
-3CwbeEJqg6ZiTnlIvqU/qb4Ptg1FUlfmOC07oDCG3qKfggYR1KFQQHhQZn2Z1UGErkWWj3diLjw1
-62/7fVs6laOkzdheELvHSaRkDKfZ1mSW33bKEsUwp0D//7VSLagbUr7tDwUfpZrOjcfwOkJ4Xug8
-1+NiZX43DHkCdNhyiVT6KGb9CjEEweRdUmPwwp0iVzNcN/oHaC9K4Of55wQjEBp1Bx+Kb80NR8HY
-bA0jKZ1TJKn0aJE2cA6dPbdcP6Vcpn6WvhP1o2iBlqnZRNoMnK/N5E/OYekYAqpIUjlc5WWLVWpB
-SSf+hCPb5sxjpYylLailPdsjcUVZbeI2DC7wFwLrbTG9svQOIlD+RF1FO0tLdJHlg3hE4Ncg91RH
-4ZPXzplX9TDDFkO65LUJWGmR0WKHm60U2DbMw7D0/5ENfENHIZsux/gW+wyFKJ02MqvINpxQ2WtZ
-jnp9us2z7WyYNsgzkQvhpAaxhG3NPtBi0EM0A8e85K0a0qJA04VERQRy9S4mi1Z8wub+G1tnq8rN
-T27yKtaN/juUbIXHQVI8r0foB3wz1avRzB1GoCVjFfrNhlOgCa11WUZpCzc3AEaAakhMKJLADLQw
-y5Lu3lHPIzP/6JQtDHuRMBFLYxu464p9cTV7Tgcobg0hSSUaH4rE/MEYpXoTk1Gjci9yGk7+8BZy
-rj4iu4TMmlSqyDKENVMEhs0jv+k9tFjG8doctZLl01WsWA4Co2ijAtXPa/msfre9obf2qiC6Hdob
-Z6qpnhL+wRO8fZQWPcoJJ3PQUJ16Gl0jTOa3P1gvOp8t1u27jN2eNZGYv4/i+P9IRikHZLH+f0Zf
-EEyUJwP5jC37wPRvz3xKlOe4I0CgiUZx7qplNAR8UAKX2JwfIaHs1IplsWu4oWtqvFqpG2oaNVwa
-dJgX04cFiA8Q+M2HAdqqIfOnK+bZaP5tCagNdtFw3IbXJLXuXaN9xJslKm7ZL1Mh/ABe86bwAXOj
-U6ylp7ERsMjjPfdLxzqvYv8ZAakUmQUE38GqbJ/dLB4md7plVVyfRYOL3J0cdVpOwZJ84CHLS8g0
-kZXK3CxCQtuSflgI6I/Ya2psOQEAkVPdiVKWOiOCGepBU+9d5P11iWwn+qAEzydTaBNdfmrUn3E7
-nlY+amgizifpHghoj3iUW8JWGGWcklJv/NhVGrnS3Fn7gseEW3W+b4OMBIkPiGDMVbRqkk8bzmfZ
-H9chkQNctfmpvdxSj6MtPle1PyPvpogGzE8JiNrFbd3y0RA8VEmOFU8OXphYIF0+SJg6U/tv4L3J
-dNFwwIm/7pqFP3cd6z66A8zVT1SKQGjefEEALmegXvUm6cKAw2YWmsnUdjsmhybNQjEPnHJRuInW
-1knUPmVXo6LV7WF8GjJNcGhGaLMeLOj0/qA5GXsFqn1bp1R7Pwt8Jv+EVE3VN9mYn7LJ8Otuavm7
-M8O3cMuqKBsUTE7X9qRqjtEpEmbqNywpHwMma8oM4XiTDyh8Qvw4Gf3vOSybIaUckcFhtaW2PXDO
-Xi3z/t1m4ewZv/OuRBa2p5HYH0FXXyGk975XV55NPY/OX3YOwbv49Kw8uTHPLvHkREch9ewSPCDQ
-uUq/dJG3nfDjx7ewanJ6BrPUbX9VDrOP57mYMX8U3jkHxJ6Bs2es3rOZQwYfmArtaKGPLnO+3+2j
-rzFDdNRThiZMWuuTw4EW/CULWLXjlucM3bvklQt1KHO0IXEBuBmY31IPKzpPRJf3K8fuQv/aE4xD
-MutuS6VKowkMbrjJ8lS3KtWrkXr/58LyvpwhQO/v0XXOytKl1ajveIEZokT1bJa1Px+bPyF78HM9
-bzqaSDG6IiSVWMuiA4PfX54RnR0K7v6JndwzpCmQvjCOqarqY4KpiJymjX8+ZzzIkvgJXfOBp7yr
-PVeiQW+ZCN9nb8A+Bdux8Ne4hPKUc3lbb64iPPLwsvGzfoSnjCH5shbD+PNiRo53z7BYuvqXoMaP
-1HTQAh5dai+HVuUZUrmz0Lclu2fxxGtuje4WvquBtG7t+1gRn93yyREN97ADN3T6Ut7aQkqvNiSb
-eWT2eDsw0ehCgPe5tBcG1l+2Rbc6EOPItYI22Vxt6plhyU4E3FmPMw9iRXbaBQ2Ut4E3qUlA71uW
-jbH5PtqpYwcOTP0KlsPOQK5k11XVxlZSyuy+hL/vJA2plAX5cksBcl5QRpbIshxFbn3oH1XF5FJ0
-dg0YOGcr0i0kIsKZoy7BNlwlG4j9tzajVfyW+cuG8mB4kCNY1P3kWkMgK1PMG0c6W6z3O1Od53wu
-oV0FjlYiIY5lGzb7K2jObzxrwrUzpf2pf8kkZ1Mmi2Wh2t7x++XeQxGUpo4wAYHzuXm9mTgZlJRA
-ec7zvBe361jnDGyAc7S5kwCqT8x6uSBdtgUXyR6UGtHChndJCEqSDcSCfxb/3UjTD2KM8ONL+p/G
-J+AVB710YFbitKSXQ5vMWBSKh9bnH3ywP5zyEK6UPDgU+tnsGpgNHRBIarxh0XFmyUqTjMNCjF5d
-zScsABYvUcCA21Jtc91hOMmLBB4Su4y4Rb5DUctynXJHKHnDqK7LjHZ4Au/SoaEXjBXCs0lpSRPX
-NGr3m2Yob6iP+RyBx+Rp0F5Quv8vs5QbnGYQZxxste2zhgt82nI7pnfG+otg9jzr2uXy7BZwD71o
-+pWHFoHCPXn06iY1zLf3TpdRPXMxKC5ChGisoQzSRBWWbbZdKCBeewkuSCHtqU3vYc8O46pVmQxs
-l4lNwSrnM/V5q9IFVZ02wih88QJ1CJwrYZJ/cy67gMMAWuYktyOo2gXtGZYaQd2s/Q8i31SsctEF
-CLQqCecRxN403G9RiWzdBkIBQ59jISr92KFWoPTKH/6F2GMYExd8SoF+NMHvmYMu9FOtwiy4ohJI
-tDA1VyjvR7oRxO8z9RLLc2/cgwZ2++IZE7mx6z5rbzTJ2o3K+btpKKouj85tkd9J3cse3quOToAS
-/ioqiGzqeYrXsG2MuDoQR15HSm2YHXkbsrgOp5L6FjAeZ2Ma+0iCGYtVZvOTCxyTP2noUgFbhVgd
-/PtIqaCHCEnwJleVSXixPUtbVWUZbfLFcOVlcGjPoax59/8zuUnBkFRmpN2m9DBiGmhlIcrHGnUH
-pwAtGajop27YhBKFYpwnoswF1ITwsOCCLUVcqDivvGwWT5NF+z724jIP71iq7rnb5XcI4gY2pwGC
-WKw5qymApbI/RUP8FYuA7+JZCy4kmnJUfScZ3xS2PUAYGCi36TkBuNFt1mRBdbBqKZ598sX4V/jd
-Rt7oaTJQmrUvIp0O5pfqaY7JnL6hqfE5sEq7CV9Lwi+Ql5IXn1X2kMhqGFPYocqqgilYpNGlv+ys
-nwxuS/WiROhAL91DowfHe8IWZ8fmWflbUhpXaSt1AdJjlEC0DITWH7ETtFA8ohfWqNHxyN8Lb9SM
-9VvcXIpjNSaDxfmBgMPAfHp48srkdne5wqqVEMG+/wqOZrWnp19jfDfHsTo/oDGoY6JraLUa4BVe
-7Q/Y2f6DmlvanPTl7W1z60ohLpOOnDEUNACbOvIdUfqDTNDp14KrrqfR3YOPyjHVly77pLpDDLmq
-exygXH4Vx4wTCmxzRRXiMqjsCjbkVhnN8o/k+bjVR19dPDnHz9mrIYtiVoQeRUNEw4gQk6HN+Z7i
-/zhgcHLdkYmmNzaIo3yARQp4Dxs+wxonngHAUH8e+nmjAUvMOoPNvUtxGNf4r8ujhydljWVaNSQS
-/G9ZsXDcFlD3ZY6b+axGhM1LaOULAdc4BgKo5AQyJD1f+wjoK901m2OXs36iHofodtCQSC4ZKtGT
-9nnCbtFxPasaf3y4GcHwVMR6EvRcBsMP8berBSn6Q24ITCkh8aRCIEYev1AMdg8Pb1d0JhPqvmou
-ymWTWESFXxP0yHKAeW6Kgg8Csd4VgPpyPBAjZ6Oit9Kab7I5ae42XliHN0HcfWjLiLHx8EYdXeik
-oFrbd1u96+W3KfmaVuy/xBioYvFX2divTCuBsrMM4WDwfXE6lQ/04mmCu9ijYHspZpSLl6x1Ed3Q
-Ri/+40slogW9GO0BjeUDdR36CH2u92KlPcHtCGVOrwKTfS9bfkd7T13iEGlWp+Y5NJbvsZtW2X5j
-Xe91ICcmFdyzoHj5OHyFLPaT0lrcPq66ocgVPGcWvRWJEF/ZvpdJ1fqFsCNBJ6XjIVMKwUDF280w
-RsHN6EmjjugN9nV6mV3YRPo0KaLPoPLxkNykEqSGZTdTevYKEccRWjgnoiZsqQWITtPtt85ngBc3
-XHC7L/ADPWrknLiQLt4HqB4C0iGGy+aqg87yB++Ri/8zLp+N+T5gEey14jMjCQ8Hp9w1jthFe5xZ
-LKNtMo6JhbNuNzqif+QdH+bjO4eA8oexVd1lOZR/PhHEr4AuCc41cmeLyHx4JB86Y52ORKqcJ/bD
-RNA0kX7SwPNg+xVh4+OWvGb13aEc40j/To9Kgjzy0mReWhoOQRgaDhoW8o0Oeer7eUl3xufPwh+d
-XoqjGsrP3ElwFQCwHDXGwRr3ABl/ROQ6cW==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Config;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionMoveOrderToFolderTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+
+ public $sCurrentValue = 'currentFolder';
+ public $sExpectedValue = 'newFolder';
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxfolder' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxfolder' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerExistingFolder()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrder2Folder_status', true);
+ $oManager->setValue('sOrderFolder', $this->sExpectedValue);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotExistingFolder()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrder2Folder_status', true);
+ $oManager->setValue('sOrderFolder', 'notExistingFolder');
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderExistingFolder()
+ {
+ /** @var Config $config */
+ $config = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Config::class);
+ $config->setConfigParam(
+ 'aOrderfolder',
+ array(
+ $this->sCurrentValue => '#FF0000',
+ $this->sExpectedValue => '#FF0000',
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerExistingFolder());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ $this->sExpectedValue,
+ $oOrder->getFieldData('oxfolder')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ $this->sCurrentValue,
+ $oOrder->getFieldData('oxfolder')
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderNotExistingFolder()
+ {
+ /** @var Config $config */
+ $config = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Config::class);
+ $config->setConfigParam(
+ 'aOrderfolder',
+ array(
+ $this->sCurrentValue => '#FF0000',
+ )
+ );
+
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerNotExistingFolder());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ $this->sCurrentValue,
+ $oOrder->getFieldData('oxfolder')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ $this->sCurrentValue,
+ $oOrder->getFieldData('oxfolder')
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionSetFieldValueTest.php b/src/tests/integration/Actions/actionSetFieldValueTest.php
index 362f5035..f8f3a79e 100644
--- a/src/tests/integration/Actions/actionSetFieldValueTest.php
+++ b/src/tests/integration/Actions/actionSetFieldValueTest.php
@@ -1,110 +1,226 @@
-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+cPyggGwYhEhYFicZMYvEsZoqV/dSEKKM0b/rIFe3D9CkHsngnfyz1Pw+xEqGIlOpkYPQ7HSyr
-I3P3ydxsTVZX4oBUGyQHTKreSqDPGhSkY1VXrSq/WTM58EGxP3rYTHuYNDT+b7vO+bJT+TxWRTCv
-eJcmnbu+LqM8UYnrKg47KqvEEMxrKasVOKq+vIBUNd7eZhiKX0zPE6Fhy0CspnAh7xEdvc6s0GCS
-aIju3DM8UXXkZqY9k9M+tBKnysN3NJCSi3xxef+x1inHrs+zajPLhLMAJmvZ2cYb76UsKtJu7MQc
-MTnrZWx/dgDrMCna8kzr7D4A/eEkSDIVIY2MWZ6xJXVF/zAr5HllT8yMCVLbC56qekMbiXm0Dakh
-sIyEKQqPNhmdQEYri/2Zen8c4D4LnUIdhtUZpjDr7GyKkI/wWcYdNYyTz+jTaG1yaO59Ue1orft/
-XpXC/0ijX3WzK0LEtmmxCB5b9NeRHKV/DkB28qMLLBnSHl7hRPwQeKqRl8yw14UyElczvBPW8I2Z
-YQcchKpSBy1pkpIA4UxFkJYV1pfOcm1ha+fIojVlyZQwGdILBgzLb/QuPnm6vax46JKi2bRyT273
-c45wOetk1oLpbG1YebH5v9ypKuHOOc54oe35AjJ8qjrRRvr7nJbf8OlDX+PAuw1mz901s7ow2Lon
-X0dqfI+4SkxOM9bFa1VD3SVhe7gx4BEJA7bZH7aGIh+4kGqEXbosM35OkFv8N8Wt0fzFd2xUNxG/
-009tAJaLXGlv7LcVuDogv+aOTJVPn+g25t8pNfEHOQZim9zJIZ2Wvt+GzvYDbPHAplpXM/DKETXt
-ytSV1NnWHy4zNz4SxAbmZGEk788gZp0SOR8Q/2Rxln0EPRXHc/BZMPiZvFah7DbqObAr5/LHZJvq
-zBuTACNeCJwgrdWiCiqv0A2JEU7zefJ/eLuQsTdqUHDjdRCqsGV6B3sB1VL4Qtv24cFqqTHHB+At
-gnDuZ2aNGDWB/z6F2rGKOYfbe9gQ/U1LB61ncmJomrK9V6pjacBZlOXmqytdNGp1rKVbrE2Hr8SB
-mctAPokk+GVfuvZLdxuIAZlavbsGiZbzzBeYhvqaElelqdzltMqIrIK1Hd7XaWmDo6JJQxsrx5Sz
-QEfP4B5Hn7NSCPrgR8I3TZMq+nOhVaBwAhz+hQe12m8IiSUce5baN7kcNkduIO8PeLytzlW8y+aD
-K+c869ULVHu6eaomi1db0XjYe2rvhe8vmoES4SiQeOaglOfFbSQy4buTifGm9GvqmVLUCvEMlBtd
-QAoBdbq5Ghlz4uBDclshXZQmSNnjRc8D4zc2gQsr+LV/WRAiR0//8UcbDvN+1sjMLTDCJqLuKouA
-RtJWVmGcAFCG9uyFr5WSa5X/gibMTpHHJvvd5EqxtbeD8/yS3somicJ0qeqNK2QshTAj1XOftb2x
-VxtEcwNOLkT9XUL5FiUDqvo/mhaXpZWBHIRnD9TFY+mMx1gNjX2C2JDoaDeh6/6yYt3Gf49uKvFX
-OqJZoaXuewy+TRaxhuaUUHgC2w8j1O2a4CuQZ7y3IE6MoAse5W2LY9u3IS6Ke3HKhCjwuep/2yJA
-ahsl+fgY+9cm4Kl1Wn8ONvdEYPlLCHQI7/2ZXDDDRtQ7kL76tt4bqcGj4U9LMegxpUSdkZhSqzja
-rGziZKpjdBlwUoa0bzqlnX0CpcWw6zWXBy+eOrhmT7FnwPuBA5252xAFrjJtz9FLs2dhKPi6QGy+
-Iuu4EGZRbsz+e9B7FpY9FZv6jrBxksLRhQGc/qVU1JicqJjNqkftbbZmAToyY/EuGZCO4MJfV5wV
-qrkg5nIjl30PPnHDleEwvHGuwCz22LKXZUkxzh9DNPxDB7vJH8m7CZaHJTrqxaVfGhyT2yWHZowX
-JW7e8ZtiMfvfAS+wJsixZ71uczWTYCk5SYAkIh7pWtppUbhyTLl6MhE7+ouwQh0DOwpt8FJ+lUyx
-SRTc1mlFQ8DKyTYdhsCGHUb1Bb1ExO1KoZjEU01SdBfzjwIWzqlEh+LrKMuSJaGKg4XN2AbRRPrA
-q2WB9T4Ohdtz72pNkUQ+AhwBSn0DLBXQK/Junfa1KQ9sYqALQsSOx8vzXCXrT4K1zT/7TSgY8lXq
-x+LMbIKKrglrGz16SO6uq8RJ5zT2GT/5u6QNVBPGh1QzdNNvJ7fnYh3AtUW5RnRz0Os9pt7tk3i0
-x/C63VtuF+9Nep6QkmDaPr0BzciEDjyPd/bS69dSrmkGt0eOaBToBgJ9d74UU9H4VKb/fWUdh/8i
-AFD5hmCZJkA/wwnGxiDRL30/9zKNpPvO6NVZefzHVYVw7ktrbwMqP5SRWydcvIf795BanncGjobj
-DMqkXfH+BlIHdNXz34d+IMX2ApvZ96PBXsJIVUo/sunv5FPmOXIF/CHoNOtIOZkMq2Mja78hLPtK
-X1tz9A2zdUcvPskHtn2TmXbZvmUZQb+oz+BpYV1MuacMziKHZzXLaZzzY5ctI2BVoFDaAom/WVqb
-4wUTS/aFxATgZtBdiEOu1G2ZfCXQgF3hJQfhShwzbuZaaycMRANAWi7d01xXTkxwpIySZ8WN8U2M
-vEsNCPQOhnd9meCubOGCfq/GJgo2WZ8NpYan6nUW16P4iYWl1pd2R423H00PZIH7fVx1/7YUc8yx
-G8dln4fp42kOX6LWB4oJRi42crMvkL4ltv/Iqs8pbGlTeHZRKzK3ntbYEbhJww6N60iX9Wik7D+V
-Qhwxvr/3x1ka6bElNCiE4GMLa5OMWCUhwAIqGdEcog9amjADWjcibBpgIWkSsto7WsQdc1v8mU6R
-sUdl4s0ensROgZxJQiZ7a44jGbdWy+VpJPrKVYuY7GbUFZVlHNqP+YDJFSLlfkhThQyfSvr2FLcu
-Gvdp6wtOfzqXGN9DQbn3u3Tg/+syTts2Y8lLXql+Bx/mVxM2ZlJpSR8JQuJJx/7szcPGNhXHY223
-xikrghL4eyvnTqjUYExadyOx2S6QYcnBG8562WQKCvM8UbuPPQXoizmdRzk8/yYIIHkEeMADQy/0
-k7Ch8g5lew+sCOIhJREBIWk0Hv8uIgszCpPA8CFDtmeZ25CougMUMA66W/uWRCsNLgylenZoAtse
-DBR/kQooBIlyh1Fcae1ZokIg8KntSnkTPkjQ98ttx1LqSwjeNqwIoDXs5zQIQ7hNvb8hAuoGZOUY
-ynbv68whvNBmanunQEFVZCBejsoMVlQLNrDX/06FYXqSWAbRFxJR3u3w28dSnwV4B0TFkNoiKkeT
-yUImBNrp3pvevz2ECs2uxIsR+Csf0sFLRbdr+kGtf+X6Phwx9Hi9I95PmO7fqEF0PDv59gvNsHBH
-UexZA3HSBWBvm6PkN8jclhP2tkq9RL3GMFxQRWZlDZbNE2I2pNO7rYtVxoqaKtUQz3NWcwr11ePg
-4euK88vrxLOVydj+wXKfPAMH4NBCakkRxDgpRflDOOBxshP68BVofqDFsiZO4sDCHOfO3REmU9eu
-N7HFR0aVbaUFDN22Xxz/2+bRMOm+JZDTKCg4lgbZ4irP2kv/Ibozfv7dXirFP1iHwlhLm3FpsFfo
-mgiCbNRf6aRBp3dwLA1IDJPqB1k/5M1ucxidWAlzDwssujY853u+QFBRUlhgZYa2BKo/ZEQhP6Oh
-Qv8lvKujLtkERVWXnuRt0MNPAjvChfcG2QNQGqBSNe8rhdAEAU5aP+BNXWfny3bUcTBE4lHSYSf0
-2Y5d16+eKbNoOjodCw2Bx4RzYE7yFNb9n2PIJ6zIRcBFsRNkq3+udg2QPuuNQsij835Neo40nnXs
-Rstjx2sF1MyC1Pl/aa/NT/TqTza614VRohxMtkYjkeGaoOl8W0NwTV+I0Hr1jNaZz1e7imgLMdjO
-524KdhUX5kpkHtgJ0UnoJV7GMWQF22jp1P49ewRSIMdmLPY+ocgdI+9tBYAAFs39kp3Bzn1Kj7ix
-1nNkG5bz9soN0CNcO88DXxCvHK93ZOxQMRb2gHzz4JZqrj14f2cemM6Ib1KRsIfzGGUO0gfh5Exc
-e1zgTuA129iU/GpABTX3Tj4/+5D+KyF61+rcs25xj9dzRIgJKHpxhH+s02YF/SFN4QMfJqDeXN7R
-8jvRNJym6tPU64dYtkrLR/w1mlGf3nLnFweK0MlNvLmrHQfMROcOMc+oi7+/nRcQwIRTOlfAOnhx
-1z0/+1EevLy/MAre13kqFQkepI+TWXbetqW9hYI1lu+aKWFTiJ8OVTdfe3sJVxez1cBZjPaCowOA
-2Ksl1zonfN4v4oAMEbIjPYKQNV7Eu+oidcXAd9CtZgPg5PVnLiUQ+sT/oRMnjLq+shDOD8LwFunG
-ljmhTgcKiO9DCy7ouslhpmCVR5OCd1RHEwgUYcKr94Q5CxbsbDtCow0xdxmhLqtVqN6JkOS1WlXB
-ACrUxj3Z/eWByKZdVS8vB3v3YXYIUZi3seJkVgFz/iwnw0wl/E8XPWBPO6aJYuvheOEvOq1nRmUl
-6HNser8R71kaHXbKt/2K0lZwn8FtrG7WhsSvseUjaTtnA3Cm9MlR9ezsngjT50TRkNokxIzxUixv
-V9iVdKdidkeIrEdvZhI6msYkQqn+p/jnGYCbeoab9G7fwSL1xN95nrlLxzrYvcbzQGTFea0z+JrU
-5j1zz4jg3LrAWqmZnfQsDj5suc+P7J5ZTCeJttN3+KYGOxN8R9/u3QoyXbPZNCv/JDgn4CdTAQDt
-PDrwg8S/Sa/bs8I1rTXdDWG/xEFE7JGjtwZ2wIiVrJW+72gm9RCorlm9v4uf94roZscjQgvIpI6u
-bENo/KPKYzj+cyDBXlQ/Hrr2kYtZZM7H+uLSCZcIJlzzpCYthEPfb4fOc5VwrD3UmqteKWYPLZ4H
-7AgrQAg/elOUTdIDhkJmX0XHdbgfQvFo2GrM5HK+QI1Rs42YZwXXnMeJLgMHQHOZSGzvS79qmQ8D
-BGplZFpxH0WPrhtnYE6rAmAZ5K0Lotu05qD3/RFAy0gf9513A3BHhdZkCsQ/JUDneRzMsoAs7erO
-Ys3zMG09zcV6mr6JjJWby1KNCrv53mHuOSN0IOJ9HxKFkkzx3jxSKRd1xm5Lka6F8eV74TtXoLqk
-L6LlJLJjMFISR4wDBRW9BhgBxWAIrzcIFo1+EgDRPIPde8taeVsGsUQPdIzXgQ+6UbcX3dADvJ03
-x6DYThjy1605aIEABh1huUboi1BzrVxFIc6akQUVFYNS6VNqT2BLL/vcLfXc4Kmdqa1K3XUe2APO
-7G4/kqEyC9COqFr/3BBaepJretPFICBqXpK1hQqQj+4VwKh0AwxnBth1b2HzS5TudoddcVnufqBV
-trGT25vbVYc2eW9mirI2MESPC42nXGK61bF/Da+CuteLNx+BNlgHMrvWbDJ4rKNeZ6DkdD+PHkvu
-uahALPbHE4TP+9hwxbZUaZuT6sao9Xfem/nLNm5YapNVMMEU0V9vrAqSQqpOSNe+3TSRXlSfO1G7
-RVHu0aSnkeiQSOAFBnS+YMnIPqFwgstrIXozUs64U6MDge15XGZ/ySIxe85CPmBttZPVH+9WI4mJ
-NgV6Y2+znKFdiNeoFftqjFiOmG09WDQJJwrUonR2W66TOsiO1ydvkPdIKCPThGO/RKJqGcJ6QfU/
-R/Za8M/XsPXI/TgqE52kmeOBGcNnqOUzK9qUJRt/bJruZgYYhMr7egttn9k3cUBtFOBZHPYiq/cm
-DC3I77nx76+x3799sbzFg2CcrTxoHBFs3q5ziyVGwiK3Ux8XcHV7NYLtWJrrSvnZMAYQ3J2NWY11
-G6uYvVGozMuJ5IeZZMEJR4NDU69qpu5em4hMLOE2wV+Za7kVJKga5SqWcR8+qsGA1Uipd8mTKCY9
-N1IYt7bKkc2wM/ynTTtkQbqoWRNz2r91z5gfEL4RoHx0HXj7iJXeO/PY/INnx4cNjzA4xl/mx2QW
-EHbfmv+raycaK7XWvF9DQVuij1mZWjJWpS1AUQ81S8bBw0CYiEvzOrjMEuYiCy4jEL0ESgY65kfn
-x93MINWEGbMBLISnS4qzvh5ughmTPcHk1oMqfCWkW9iu+UMzNZtddtL0bP8/X9dZHuXQT93qyRhw
-8xs46ujygFGrPsgFCihRJF8JTLYrm7v/Sjn1qCcViBbudsr3miPX4eRVTSiBv1YE1xi7cZaeulBe
-tf5mJXyQ2TIB3UAh8xipAuH9HM0NknhZPC7DzO6Px9MkjBupI7CGy2pweDclnWhJdwVPU5CmC4JR
-KOxNTbv+0d6MlWhm2F07iXYFbLjdRUTb9/df+R1Sc58XU5ZwANx5wOa08X194JRsDOSdsGhLakUc
-JA2I9MI/gz+JoLwNxiO+pG6RIglYCvaCwkLJnWHtYSbNBvnC9wlgxFzzk5I1y8WfMTbjluzZkvmv
-KFvjqcaSNw56bovZRLKut68DDqnHmzK6OvNYxXWFd27y0d9c/oHmFbX8dbNZLVi6hMY4TL+92sMu
-5n6cq5pe813mfBIn1qLY9/mrUb68ENh9XpsmoqwaZ6H4n7g5g1Lmsafxu0h2s9svt1dd6v2VFmvj
-iyk8fILAr94bTtpRAmm3/VOYZFXT+mBAb51RpVVPelMDTsWZQnSaAdOUaT+bJJPIcGNdwpICqKFi
-j2zOMkM5+1dvbmgW629CzyHT2NFpzwSHAHihNixb/zmtd/PmmlGbIIGK7QqnBO6PO75FUu1rdezZ
-jud7qcPbRnRcEKsTofk1L+KhC4nsWsVawAJpdCLHpd4JtqaQ5ROxoGQUe0EN0PtMevPLN9i9kDJ9
-zeKNKbScVoN0zam5xe4jNhNFw88ua9YItnN7bGMkqTViGkwZkQO7lb7e8X+5/vsbdsvuhMtjXilT
-lr1PrJLUA4QmxBofo14gYtL2CuXAIG3hWJBG7OdmO0lARKno4Xl98/ElvapCAoh9Ev3IpE1+qraj
-y8xcgpQo69yA31nXTvBRHZ360LxpCjLmqQX77w0xU6YB+p+Oetzgf0skOoErnZKYC9ds8q81wS+2
-yZQAwXOznFK6h6QlDj2Y+zBLWI5dUKqVkg0iMZ3Bb1p1cyNwhJq+IpjE4dNOtnHY1Qx+EwJSXPRt
-/wrmFJOh3Zcwu/Hcw26Pea6Wow6kXNi7SCN/SO6z/F5JmadD/CvH76zPUYZpfu1ErTteoLTxab9h
-AG+GcHlJUUPUfJv9rtae2KIVmnSxxRfqcwp5C3HX6jIajRMWYLoyHW6yyXrljYA6711E0LpkTtcc
-lKbEnWb4juwMdMUClbJOZpM1gN76Jojx/z3RIiZWE2IPthdnbuYOKxRkHxM+KMT38h1zBAGpgiBR
-ym5l+j8NxfIGcuPXSQGFUT23+++zJI/XAl0tXus5c9Q0KhynHsbFAoeh+Ju/N0/jqHk93m2haQLu
-h1vUzGj82aI+RJOXzYxxVJvsRhkoKl7zg2jD/EOsjDL1P6JmOKGu6+Qd23NdHPc7IMF9KvjAYzkY
-pWg32+qNIt8GvN/752mXlVmj5sQ+LzTMGRuPdK+DwmvLEYiCeCYkHnXFRjiO7j445peiAWX66NTT
-BVlhzpP3129WVU+G15lFLQ+yu3PBSGR5lZHO4zs+B7TWZ//X5VQ0iSTvBCjnY55m6UPJ/3wRlHQu
-qa+llklRdQOAYwBXJkUtzERZpMI1bQBuy1KefwJ8Kk1QSqf0Bee4GdtAHEULhU4wTTAcqcdexr3n
-rtuePIEzYq8w+vqVQaPRP/VT2HQkSfs7OMTQqEqt/rHj7AIOo+alnIvMirxyVskFA/Z8QMKXAs13
-U12iFin6cV2z//S0EGIW5SvVn9UviSF7RsQIDdQnQvilh/OpT5wUlMLH44CYKfvfJ8sa/5mISlUv
-l2H1Y4OsrCrJoahfmrACMKBnffYBard+JZlWZTxMhrPe1+9aW+2dBDIN7vlVPwZBThMG8+2Q/YpP
-7qzP5t0DmHWTXKeq4J10X7gFcUTlSNPBNPBvTY8U1qLVSKlahcf8PRLlyeu3TXhdJwYx8cIhLKdL
-mK/P1pZtlhbgTC1Sgp2c77CH+D7Tk/NJmlME2Ep0lWf8pW5ZQtnz0Az80cUctaXDt0==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionSetFieldValueTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+
+ public $sCurrentValue = 'currentBillFName';
+ public $sExpectedValue = 'newBillFName';
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillfname' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillfname' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerExistingSingleLangField()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderAddFieldValue_status', true);
+ $oManager->setValue('sActionAddField_field', 'oxbillfname');
+ $oManager->setValue('sActionAddField_value', $this->sExpectedValue);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotExistingSingleLangField()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrder2Folder_status', true);
+ $oManager->setValue('sActionAddField_field', 'd3TestField');
+ $oManager->setValue('sActionAddField_value', $this->sExpectedValue);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotExistingMultiLangField()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrder2Folder_status', true);
+ $oManager->setValue('sActionAddField_field', 'd3TestField_1');
+ $oManager->setValue('sActionAddField_value', $this->sExpectedValue);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderExistingSingleLangField()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerExistingSingleLangField());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ $this->sExpectedValue,
+ $oOrder->getFieldData('oxbillfname')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ $this->sCurrentValue,
+ $oOrder->getFieldData('oxbillfname')
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderNotExistingSingleLangField()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerNotExistingSingleLangField());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertNull(
+ $oOrder->getFieldData('d3TestField')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertNull(
+ $oOrder->getFieldData('d3TestField')
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrderNotExistingMultiLangField()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManagerNotExistingMultiLangField());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertNull(
+ $oOrder->getFieldData('d3TestField_1')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertNull(
+ $oOrder->getFieldData('d3TestField_1')
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionSetPaidDateTest.php b/src/tests/integration/Actions/actionSetPaidDateTest.php
index 3e2d28b7..79468611 100644
--- a/src/tests/integration/Actions/actionSetPaidDateTest.php
+++ b/src/tests/integration/Actions/actionSetPaidDateTest.php
@@ -1,77 +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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionSetPaidDateTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+
+ public $sCurrentValue = '2018-01-01 05:30:16';
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxpaid' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxpaid' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderSetPaidNow_status', true);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrder()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManager());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $current = strtotime($oOrder->getFieldData('oxpaid'));
+ // accepts 10 seconds delay
+ $min = time() - 10;
+ $max = time();
+ $this->assertTrue(
+ ($min <= $current) && ($current <= $max)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ $this->sCurrentValue,
+ date('Y-m-d H:i:s', strtotime($oOrder->getFieldData('oxpaid')))
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionSetSendedNowDateTest.php b/src/tests/integration/Actions/actionSetSendedNowDateTest.php
index 5145edc8..efafa9a6 100644
--- a/src/tests/integration/Actions/actionSetSendedNowDateTest.php
+++ b/src/tests/integration/Actions/actionSetSendedNowDateTest.php
@@ -1,78 +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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
-MvvwFQYe4IBKVIgT1QUJqB+iJwpP1G==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+
+class actionSetSendedNowDateTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+
+ public $sCurrentValue = '2018-01-01 05:30:16';
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxsenddate' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxsenddate' => $this->sCurrentValue,
+ 'oxbillcompany' => __CLASS__,
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderSetSendedNow_status', true);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrder()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManager());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $current = strtotime($oOrder->getFieldData('oxsenddate'));
+ // accepts 10 seconds delay
+ $min = time() - 10;
+ $max = time();
+ $this->assertTrue(
+ ($min <= $current) && ($current <= $max)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ $this->sCurrentValue,
+ date('Y-m-d H:i:s', strtotime($oOrder->getFieldData('oxsenddate')))
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/actionStornoOrderTest.php b/src/tests/integration/Actions/actionStornoOrderTest.php
index 20345afa..c489bf8c 100644
--- a/src/tests/integration/Actions/actionStornoOrderTest.php
+++ b/src/tests/integration/Actions/actionStornoOrderTest.php
@@ -1,95 +1,194 @@
-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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
-eegO4WBbb9acIWAh5OFoNhpkX5pS
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Application\Model\OrderArticle;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+use PHPUnit_Framework_MockObject_Matcher_InvokedCount;
+
+class actionStornoOrderTest extends d3OrdermanagerActionIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+
+ public $aArticleIdList = array(
+ 'articleTestIdNo1',
+ 'articleTestIdNo2',
+ );
+
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /** @var PHPUnit_Framework_MockObject_Matcher_InvokedCount */
+ public $oCustomMethodSpy;
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager($this->sManagerId);
+
+ $this->createArticle(
+ $this->aArticleIdList[0],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxstorno' => '0',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __METHOD__,
+ 'oxstorno' => '0',
+ 'oxartid' => $this->aArticleIdList[0],
+ ),
+ )
+ );
+
+ $this->createArticle(
+ $this->aArticleIdList[1],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxstorno' => '0',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __METHOD__,
+ 'oxstorno' => '0',
+ 'oxartid' => $this->aArticleIdList[1],
+ ),
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ $this->deleteArticle($this->aArticleIdList[0]);
+ $this->deleteArticle($this->aArticleIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderStorno_status', true);
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getFilledResultList()
+ {
+ return $this->getResultList(array($this->aOrderIdList[0]));
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function actionChangeConcernedOrder()
+ {
+ $oExecute = $this->getExecuteMock($this->getConfiguredManager());
+ $oExecute->startJobItemExecution();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ '1',
+ $oOrder->getFieldData('oxstorno')
+ );
+
+ /** @var Order $oOrderArticle */
+ $oOrderArticle = d3GetModCfgDIC()->get('d3ox.ordermanager.'.OrderArticle::class);
+ $oOrderArticle->load($this->aOrderArticleIdList[0]);
+ $this->assertSame(
+ '1',
+ $oOrderArticle->getFieldData('oxstorno')
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ '0',
+ $oOrder->getFieldData('oxstorno')
+ );
+
+ /** @var Order $oOrderArticle */
+ $oOrderArticle = d3GetModCfgDIC()->get('d3ox.ordermanager.'.OrderArticle::class);
+ $oOrderArticle->load($this->aOrderArticleIdList[1]);
+ $this->assertSame(
+ '0',
+ $oOrderArticle->getFieldData('oxstorno')
+ );
+ }
+}
diff --git a/src/tests/integration/Actions/d3OrdermanagerActionIntegrationTestCase.php b/src/tests/integration/Actions/d3OrdermanagerActionIntegrationTestCase.php
index ea4a2855..39ed8ad2 100644
--- a/src/tests/integration/Actions/d3OrdermanagerActionIntegrationTestCase.php
+++ b/src/tests/integration/Actions/d3OrdermanagerActionIntegrationTestCase.php
@@ -1,59 +1,97 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Actions;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_execute;
+use D3\Ordermanager\Application\Model\d3ordermanager_listgenerator;
+use D3\Ordermanager\Application\Model\d3ordermanager_toorderassignment;
+use D3\Ordermanager\tests\integration\d3OrdermanagerIntegrationTestCase;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Model\ListModel;
+use PHPUnit_Framework_MockObject_MockObject;
+
+abstract class d3OrdermanagerActionIntegrationTestCase extends d3OrdermanagerIntegrationTestCase
+{
+ /**
+ * @param array $aOrderIdList
+ * @return ListModel
+ * @throws Exception
+ */
+ public function getResultList($aOrderIdList = array())
+ {
+ /** @var ListModel $oList */
+ $oList = d3GetModCfgDIC()->get('d3ox.ordermanager.'.ListModel::class);;
+ $oList->init(Order::class);
+
+ foreach ($aOrderIdList as $sId) {
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($sId);
+ $oList->offsetSet($oOrder->getId(), $oOrder);
+ }
+
+ return $oList;
+ }
+
+ /**
+ * @param d3ordermanager $oManager
+ * @return d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject
+ */
+ public function getListGenerator(d3ordermanager $oManager)
+ {
+ /** @var d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject $oListGeneratorMock */
+ $oListGeneratorMock = $this->getMock(d3ordermanager_listgenerator::class, array(
+ 'getConcernedOrders',
+ ), array($oManager));
+ $oListGeneratorMock->method('getConcernedOrders')->willReturn($this->getFilledResultList());
+
+ return $oListGeneratorMock;
+ }
+
+ abstract public function getFilledResultList();
+
+ /**
+ * @param d3ordermanager $oManager
+ * @return PHPUnit_Framework_MockObject_MockObject
+ */
+ public function getManagerAssignmentMock(d3ordermanager $oManager)
+ {
+ $oAssignmentMock = $this->getMock(d3ordermanager_toorderassignment::class, array(
+ 'setAssignment'
+ ), array($oManager));
+ $oAssignmentMock->method('setAssignment')->willReturn(true);
+
+ return $oAssignmentMock;
+ }
+
+ /**
+ * @param d3ordermanager $oConfiguredManager
+ * @return d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject
+ */
+ public function getExecuteMock(d3ordermanager $oConfiguredManager)
+ {
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oExecute */
+ $oExecute = $this->getMock(d3ordermanager_execute::class, array(
+ 'getManagerAssignmentInstance',
+ ), array($oConfiguredManager));
+ $oExecute->method('getManagerAssignmentInstance')->willReturn($this->getManagerAssignmentMock($oExecute->getManager()));
+
+ return $oExecute;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/integration/Requirements/d3OrdermanagerRequirementIntegrationTestCase.php b/src/tests/integration/Requirements/d3OrdermanagerRequirementIntegrationTestCase.php
index 334a2d36..ac5fc5ef 100644
--- a/src/tests/integration/Requirements/d3OrdermanagerRequirementIntegrationTestCase.php
+++ b/src/tests/integration/Requirements/d3OrdermanagerRequirementIntegrationTestCase.php
@@ -1,31 +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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\integration\d3OrdermanagerIntegrationTestCase;
+use Doctrine\DBAL\DBALException;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use PHPUnit_Framework_MockObject_MockObject;
+
+abstract class d3OrdermanagerRequirementIntegrationTestCase extends d3OrdermanagerIntegrationTestCase
+{
+ /**
+ * @param $sManagerId
+ * @return d3ordermanager|PHPUnit_Framework_MockObject_MockObject
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function getManagerMock($sManagerId)
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManager */
+ $oManager = $this->getMock(d3ordermanager::class, array(
+ 'd3getLog',
+ ));
+ $oManager->method('d3getLog')->willReturn($this->getD3LogMock());
+ $oManager->load($sManagerId);
+
+ $oManager->d3getModCfg()->setValue('iMaxOrderCnt', 2000);
+
+ return $oManager;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/integration/Requirements/requirementArticleContentTest.php b/src/tests/integration/Requirements/requirementArticleContentTest.php
index 30deaf43..15442862 100644
--- a/src/tests/integration/Requirements/requirementArticleContentTest.php
+++ b/src/tests/integration/Requirements/requirementArticleContentTest.php
@@ -1,167 +1,412 @@
-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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
-o0eX2uAYreJ5YG==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Object2Category;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementArticleContentTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ 'orderTestIdNo4',
+ 'orderTestIdNo5',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ 'orderTestIdNo4Article1',
+ 'orderTestIdNo5Article1',
+ );
+ public $aArt2CatIdList = array(
+ 'a2cTestIdNo1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxartnum' => 'expArtNum1',
+ 'oxtitle' => 'expTitle1',
+ 'oxshortdesc' => 'expShortDesc1',
+ 'oxselvariant' => 'expSelVariant1',
+ 'oxpersparam' => 'expPersParam1',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo1',
+ )
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Category::class,
+ $this->aArt2CatIdList[0],
+ array(
+ 'oxshopid' => '1',
+ 'oxobjectid' => 'artIdTestNo1',
+ 'oxcatnid' => 'catTestId',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxartnum' => 'expArtNum2',
+ 'oxtitle' => 'expTitle2',
+ 'oxshortdesc' => 'expShortDesc2',
+ 'oxselvariant' => 'expSelVariant2',
+ 'oxpersparam' => 'expPersParam2',
+ 'oxstorno' => '0',
+ 'oxorderid' => $this->aOrderIdList[1],
+ 'oxartid' => 'artIdTestNo2',
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxartnum' => 'expArtNum3',
+ 'oxtitle' => 'expTitle3',
+ 'oxshortdesc' => 'expShortDesc3',
+ 'oxselvariant' => 'expSelVariant3',
+ 'oxpersparam' => 'expPersParam3',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo3',
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[3],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[3] => array(
+ 'oxartnum' => 'expArtNum4',
+ 'oxtitle' => 'expTitle4',
+ 'oxshortdesc' => 'expShortDesc4',
+ 'oxselvariant' => 'expSelVariant4',
+ 'oxpersparam' => 'expPersParam4',
+ 'oxstorno' => '0',
+ 'oxorderid' => $this->aOrderIdList[3],
+ 'oxartid' => 'artIdTestNo4',
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[4],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[4] => array(
+ 'oxartnum' => 'expArtNum5',
+ 'oxtitle' => 'expTitle5',
+ 'oxshortdesc' => 'expShortDesc5',
+ 'oxselvariant' => 'expSelVariant5',
+ 'oxpersparam' => 'expPersParam5',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo5',
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+
+ $this->deleteObject('d3ox.ordermanager.'.Object2Category::class, $this->aArt2CatIdList[0]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerArtnumAndCatId()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderArticle1_status', true);
+ $oManager->setValue('sArticleContent1Type', 'oxartnum');
+ $oManager->setValue('sArticleContent1RegExp', 'expArtNum1');
+
+ $oManager->setValue('blCheckOrderArticle2_status', true);
+ $oManager->setValue('sArticleContent2Type', 'oxcatid');
+ $oManager->setValue('sArticleContent2RegExp', 'catTestId');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArtnumAndCatId()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerArtnumAndCatId());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerTitle()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderArticle1_status', true);
+ $oManager->setValue('sArticleContent1Type', 'oxtitle');
+ $oManager->setValue('sArticleContent1RegExp', 'expTitle2');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersTitle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerTitle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerShortDesc()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderArticle1_status', true);
+ $oManager->setValue('sArticleContent1Type', 'oxshortdesc');
+ $oManager->setValue('sArticleContent1RegExp', 'expShortDesc3');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersShortDesc()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerShortDesc());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSelVariant()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderArticle1_status', true);
+ $oManager->setValue('sArticleContent1Type', 'oxselvariant');
+ $oManager->setValue('sArticleContent1RegExp', 'expSelVariant4');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSelVariant()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSelVariant());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[3])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerPersParams()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderArticle1_status', true);
+ $oManager->setValue('sArticleContent1Type', 'oxpersparam');
+ $oManager->setValue('sArticleContent1RegExp', 'expPersParam5');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersPersParams()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerPersParams());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[4])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementArticleStornoTest.php b/src/tests/integration/Requirements/requirementArticleStornoTest.php
index 975be2f5..73abd63e 100644
--- a/src/tests/integration/Requirements/requirementArticleStornoTest.php
+++ b/src/tests/integration/Requirements/requirementArticleStornoTest.php
@@ -1,64 +1,148 @@
-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+cPnbCWLRS7dgPcOGKTOjdN7Jp6fBsbFQBLOIuo6WPb6qj67gyo6+Tbktb6+Nq5eMzhxm1ZwvY
-XCZzOo/NUdQZHzzMk2Agjp6TmmFW7IhWqqES2cUGWHbCrnZKTeAAqyFS+qZ65drqx9u5Z6vm5opv
-tt72zwf/Qvffz0s93E/nvrPA0B9PYVuHpKi7nmLu40tGgWT2R89jc2M6tWAEzMWVRbJ/WALxSHsq
-6i/fvuaZ0LvVAXowoVY8fkBM7IGGOVHc7L+AkmRCKTTllPBMLQrLYayEO/LenWgfjM2yWFV7iLdS
-OezrHe14nQtn6s9tGM5/HiV4QN/UdsUJ6OufoYwLqlECQU2UcJiSMuxXT6ng5PYTu5XqqPUpn9Ht
-JEsaFLSmHO+R4BBzsqZOys2Ln3wuST/Xa3uMZ0Qd2otsSBrToN5khyru9SIS9bTt/7SmvKxPj3rO
-ROCdYKXgKe/nubeHxNgjGdcV5LITmqk5vzcDifL67/YNnPQ0LuL30j+nM/jl64G7R3zHCDxPhdlN
-NrcbZS68Ce5WJXlPknIjPnffRfgCT52dhKEhPb4vACy3eki5YGyPrZZYryEnk038MHYHB35m93hJ
-wSam88eEYCDPY/7rNUCWJBu1NucGUegJOHbbAMItNuxSGs3/9i27v/mCCIxMKrwbl5mkKy6ZWIhA
-eisNP8LoejHt7RI6NDASx3PPy4h8wUSDeZRZu4TKTyB4d4ZJsSP0L3+xcqxbbJ9yoFZBlKsKMBqW
-gn53EuhAtkgBVgcqxDIwhMAHNQdcq8MC08xuN+7qLcbkQc+EBqb1tzI0twz3BZZOHZN1rPjiscs7
-XHM93ngS1YSvYgLNqdqANgELrpeeDoP8XCEZXDuaGOBa/DmBZoMSYZyGnhwqudkQr5rUk4HKX7KI
-4EdSZRYxd+wghWhAPMCCrv2+gX1/Knk4z38F6nX/EJ4+SQPwIe7Z1PqLAyN1fhdLOqDX4R/fyXxS
-HCjQLrn0UlzOP7g9y/47h8YcL4hyPoYVLCrBHG+Ohlqt7Ojff9z29D0vEf2/DsP6jI7P7Nh1ixoY
-+0Rp+502pBlZYjluOEok5aYK+GKuE5kcCrkYLDQZ5ND27bs/BRq9W3OJJixjahbbStLctr0R8u8u
-eouFVryqfYf5ldZoY7vPW5vEWZ77C7tYrHscfKzGtxCmlpihAl1QGUwMKWpbnTytHA+W2I52Lj1x
-rH2gNPgScdb6Dmfq9z5IwTPvRGA2V2KV5P6n3mtxI0l257cQAYF/4OcarYRscGOgux7QKHqwoMdc
-WIDcXnw3aYemdvnVnXeB3uvDqnsbtR2/qBiEueWmBbwF3pOa/slkrCaLMH+qjmB58eeX0+XFDz/x
-60yWRZ/59q/qTUD2/qVzsZXma0WvvAfDR48D900jeWATkwnw30LwmG52yS8KoRRo7Woj4aAgzhCJ
-vII5i4Q68Ks2uP+F9aNjFr0ft9a+/ryYcbMBXkthX2uv0EYSfzyliBe1XGiVeoooy19EWAanobs8
-SzgfGoTFDsAvKLo2o74k4V7w9wwFCNzbVqTlV4EcdcTJaXdTMQNdDSU9Vnv7+VMnCOi7MIU5KFlC
-pw7Zf8a6b9JZjKf5Ukzi11tL/pJRdVmtas4D2Yf9y4ckKFhp636VBVdgjFGqt/13y0UKYFXH+BU0
-ycvjIB9Z20GoZwTLYnwZAd+76SE7qZw2KXQyoa3mmwhCSdd4uFcUSTGAgzNhcBV/KP11HHtAFoCr
-ARs4v4bzyScSjDdc+IldSEqJr1cAwEEQ406hnS6o2WUTIZ9RxSIz27iZkR+IQOqZZTbodMIxGu8Z
-goGR7+QJEwkT/W4Vr33Zwom7y8S8wD1xkaa/PZqw/nCdOKdlkBdywdqd9i9PqqrrNaX0/JvTftPA
-bOdhfgzJ9qcxVfW9TWHXoHw9uXXEjc2OruPdVsJzcE30rNC40i8R1SX78fBFyN/TM35xyjUkP3PS
-wxYUZkWztJUyE2AxDYRc8Zrm4U+djbGD4vwVtVxaQbIMsaNYiKsVdJWzGRcpfPh1ZAoyPjFMVgwf
-ESTRoN0CXpZtrsrMQAvHOfZhHWYeJR+EsbNDckCedXeeT8ZYWg84WMGOSLTBIdZ1GamVpP1fNSLU
-potlmfmAT2CKBzArxfXP6UTmHrLzp69c1iWa0f9/hGGHcrifY8acfAoWOOVI5+WUms3mOB5GFRu5
-bcKo46UwSN3twAw8P6I0hAFp2w3GdfV7dj6/iPAvI3vT9tnG4O+R/xcP0QjkGedvwrkU6zdfJL4B
-I84MEKKRAF5NrpM7FaQtLVbLlrxoI1apj8APy1MztHPZSUcLy6V1hn6YHS3rqQ5mfM0ip/C7U7OW
-1iXKs+ZUdPZSEdPcMgSjgIPG1uYdoLJjTDMGpXTy1RKBTGw+OWhXQM0s6SZVgQqbCXUU2uVWsqib
-zK/pubF+u5G7bikkplhBI25g0vNPrCXYmhMlysFQT888+GU5bbxx+Gxs9VNQVjUDEmdpSAHU8X+z
-BC6v12jCDdSa3ryoXa9wZKx55y2C+0KoIL5FraPfzPRZ4oNBu08w5fS0HteJxWMIdvQnB4M093Fm
-kFdsUCLHOWfpFMf8PZLtr9aMmPlz2TpTGysQiKC5FdVNgKiIBgOgH4lyVU32C6+k99uaI+YdU6Dy
-mCG1nXslHIeli8QqSCqCAINvZBoCkjrb9Qh3psK3kmKsZSnn+Pp9Q4tyl6jQBlGcFa+TlL/5L2gu
-daeKtyb8/jLa2DOvIhOWtD8GHqNzeyt4KRUDthZWaJXdggtmkWynsPNZDfe5zhoWeeKRtRfcf088
-mk2hLssLaRg1sX7a3feD9OvYjTZyN9aOo3JOVPrnHsihQS9JgaAiDoKqnG/sQhpssyTgJvu1xHHc
-VYkvcRIE0zL8rY3sDHSkzQX41YL/FJO6ODMdM7vYNZ6XLZEnBJ4HBfUUeOpv/KteIKWYUe4AEO6O
-4+NZPPDsY0FkfZJ11xh2RkqRCYvMtcUVN4Wv2xclYRKN0oeWbv5TZH9mOGEbhnxfgNpdkxvZ3A1r
-YY9m9pHVDdYDO43o22nWmiNqkvzbnXBfpkMd2rpgetFFcfZ5+4IRn29AOVmZN/tO7TdO3jD0g2zN
-w372z1lFAUIPFH2qqgwAhS7bAu2DpjnhoMKK/qg0m0WCPHm5f0d8k34dei9UT/BTEVPOr7wmA4Wn
-TgarRs2FhOk70A852Av08s1TH01nLm8An9JysSmAevx8S1AlYIhemKpuxcHHA4CafENfns2W/Lj5
-ZWCkGLUmwcUQBrwznZcTKm8XYAmweed2PnTbPxwJVaP71xAoQ1sahA4FGjTZVDUvvzby3WZj3ol6
-sxw0Uy78pMfvXdGrQsL1ZE4pJuNlM0WStcRWmBijDLyLHkz8E9Ega6TNGauVQsTWClmYFTSsFPll
-/d8wx5Et7ltcj4lJ88/RfRa1DK8vKgD1vIn8FbL0mU23WraaVk0fhHAzJCnrAbIK63XsOPnk2Qqr
-k2iG9l+zFbBLbxPNTQp8zDIIRkOnZgHdxP4dKBP9zPGRHEeClJIJ5w9dcRuh0jaFhte3VCjJKjTc
-vsHjCUnoWLuPYYfLhhnPZiycLP5jaMEtQ8MvXgejPARGwkE29KAQoexcBOOIwTHYkisSAfWokLgH
-Wdx3aKwsyb17ob3aDKo59IQPXB9S7sjxseiFEhAKAvPe0XLeirKF44c/Utkm8PEOlMHPJZFhy51J
-6PxUW6TIMxym/zOUcaSk4Zj8XMvLoAkygPjFvvtuV749SXfKLtdBd1a9L0B8leRB4iG3UpRaYPKo
-BTQK4n9RWdl7PW/SCL49WBSnYi+N9hco36xTgIMChCoZ4mutxMvD4/23E4p2CnMHraZa79DpBHse
-w1d8tJvxch1lgj/rnxSuqJCCsRSzSu5u+IB823/q9skMrsBu14/sEUiAz3BGD2ddjevFHhAIds4/
-hV/6AsPGzlBo8J85LvKB89RKo+OrvAlpk4TVk4tome+LQkr0go2O7psgNi6K1G5G80rk4zKK+O6H
-VktrZpyuiAOYcpbPam/Hw5f3wa1lOOoF5LuWThqgUr1MOV7ImnHlp69BtRwXwAdmdnbR8La3SliH
-6i962604Z0NzE0jWXu4X/+gFp2Bvy9YFKyTOs21L2Vc1Z73EBxikIZMoDRUlndpjGUj40qycAxNd
-uXaYYtDwJ27wcsNSxsFc8cC7KXVzim13TMbBjyhiUYnhjT9T9x+y48fqVTRvHZGg34pOvvhuS873
-SloLFKuOM23jRcLqe+e7ALaF7mR9q7WNwJZa34uNkrZqwCH7B5pdpNvYlH1IAMBoWUVJVzoSGahz
-06JiNHKdudmQVXKDvLrGEgsp6CKcCE0VAALJvZ/OiyYjFUjP2keRCPo7Nqp637rWgzjVajHqaqaY
-AuJkJqvcg1ZQeCxqmSXi1qectMgkHzyWyFY8ra5nXAK8GNIeQGMxO+XTXj8UBR1l9AM7fc5g2diE
-F+6Z04q0mt8fd55zYVzMt18p2UFWHtjIJ0MfAT0wLETf6x7S2hwY
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementArticleStornoTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxstorno' => '1',
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxstorno' => '0',
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerArticleStorno()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckArticlestorno_status', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleStorno()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerArticleStorno());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementCountryFilterTest.php b/src/tests/integration/Requirements/requirementCountryFilterTest.php
index 3ebadcf0..623637de 100644
--- a/src/tests/integration/Requirements/requirementCountryFilterTest.php
+++ b/src/tests/integration/Requirements/requirementCountryFilterTest.php
@@ -1,118 +1,301 @@
-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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
-wEy3IW==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementCountryFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ 'orderTestIdNo4',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ 'orderTestIdNo4Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillcountryid' => 'testCountryId1Pass',
+ 'oxdelcountryid' => '',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillcountryid' => 'testCountryIdDontPass',
+ 'oxdelcountryid' => 'testCountryId2Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillcountryid' => 'testCountryId3Pass',
+ 'oxdelcountryid' => 'testCountryId3Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[3],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillcountryid' => 'testCountryIdDontPass',
+ 'oxdelcountryid' => 'testCountryIdDontPass',
+ ),
+ array(
+ $this->aOrderArticleIdList[3] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerCountryBillSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckCountry_status', true);
+ $oManager->setValue('sCustCountryId', array('testCountryId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleCountryBillSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerCountryBillSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerCountryDelSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckCountry_status', true);
+ $oManager->setValue('sCustCountryId', array('testCountryId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleCountryDelSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerCountryDelSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerCountryBillDelSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckCountry_status', true);
+ $oManager->setValue('sCustCountryId', array('testCountryId3Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleCountryBillDelSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerCountryBillDelSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerCountryMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckCountry_status', true);
+ $oManager->setValue('sCustCountryId', array('testCountryId1Pass', 'testCountryId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleCountryMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerCountryMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementCurrencyFilterTest.php b/src/tests/integration/Requirements/requirementCurrencyFilterTest.php
index 79cf0b32..6921fbd6 100644
--- a/src/tests/integration/Requirements/requirementCurrencyFilterTest.php
+++ b/src/tests/integration/Requirements/requirementCurrencyFilterTest.php
@@ -1,65 +1,149 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementCurrencyFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxcurrency' => 'ABC',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxcurrency' => 'USD',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckCurrency_status', true);
+ $oManager->setValue('sCurrencyISOValue', 'ABC');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementDateNotSetTest.php b/src/tests/integration/Requirements/requirementDateNotSetTest.php
index 75b3212a..d4a43568 100644
--- a/src/tests/integration/Requirements/requirementDateNotSetTest.php
+++ b/src/tests/integration/Requirements/requirementDateNotSetTest.php
@@ -1,88 +1,225 @@
-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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
-Y6WB0PNZUmOu6ognv1+yChfmvm==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementDateNotSetTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ 'orderTestIdNo4',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ 'orderTestIdNo4Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '0000-00-00 00:00:00',
+ 'oxpaid' => '0000-00-00 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '2018-01-01 00:00:00',
+ 'oxpaid' => '0000-00-00 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '0000-00-00 00:00:00',
+ 'oxpaid' => '2018-01-01 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[3],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '2018-01-01 00:00:00',
+ 'oxpaid' => '2018-01-01 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[3] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotSetDelDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNotSetDate_status', true);
+ $oManager->setValue('sNotSetDateType', 'deldate');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotSetPaidDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNotSetDate_status', true);
+ $oManager->setValue('sNotSetDateType', 'paiddate');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersNotSetDelDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerNotSetDelDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersNotSetPaidDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerNotSetPaidDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementDeliveryFilterTest.php b/src/tests/integration/Requirements/requirementDeliveryFilterTest.php
index 0d81d24d..c79eddf6 100644
--- a/src/tests/integration/Requirements/requirementDeliveryFilterTest.php
+++ b/src/tests/integration/Requirements/requirementDeliveryFilterTest.php
@@ -1,83 +1,203 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementDeliveryFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxdeltype' => 'sDelId1Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxdeltype' => 'sDelId2Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxdeltype' => 'sDelId3Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckDelivery_status', true);
+ $oManager->setValue('sDeliveryId', array('sDelId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckDelivery_status', true);
+ $oManager->setValue('sDeliveryId', array('sDelId1Pass', 'sDelId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementExecuteMethodFilterTest.php b/src/tests/integration/Requirements/requirementExecuteMethodFilterTest.php
index 36e717cc..e0a3ce2a 100644
--- a/src/tests/integration/Requirements/requirementExecuteMethodFilterTest.php
+++ b/src/tests/integration/Requirements/requirementExecuteMethodFilterTest.php
@@ -1,76 +1,158 @@
-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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
-fHeSaHpYe6M2pG8=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use OxidEsales\Eshop\Core\Model\ListModel;
+use PHPUnit_Framework_MockObject_MockObject;
+
+class requirementExecuteMethodFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillnr' => 'TestBillNo1',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillnr' => '0',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blItemExecute', true);
+ $oManager->setValue('blCheckExecuteMethod_status', true);
+ $oManager->setValue('sRequirementExecuteMethod_name', 'testChangeOrderList');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oListMock */
+ $oListMock = $this->getMock(ListModel::class, array('testChangeOrderList'));
+ $oListMock->expects($this->once())->method('testChangeOrderList')->willReturn(null);
+ d3GetModCfgDIC()->set('d3ox.ordermanager.'.ListModel::class, $oListMock);
+
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementFolderFilterTest.php b/src/tests/integration/Requirements/requirementFolderFilterTest.php
index 2f9991bc..15f45e57 100644
--- a/src/tests/integration/Requirements/requirementFolderFilterTest.php
+++ b/src/tests/integration/Requirements/requirementFolderFilterTest.php
@@ -1,83 +1,203 @@
-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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
-Mm57/oK7EK+H4LHMX7Ft5Qlo5ykpdsOZeSTGSJG=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementFolderFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxfolder' => 'sFolderId1Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxfolder' => 'sFolderId2Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxfolder' => 'sFolderId3Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckInFolder_status', true);
+ $oManager->setValue('sInFolderId', array('sFolderId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckInFolder_status', true);
+ $oManager->setValue('sInFolderId', array('sFolderId1Pass', 'sFolderId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementFromOrderNrTest.php b/src/tests/integration/Requirements/requirementFromOrderNrTest.php
index 6af0570a..f51d538a 100644
--- a/src/tests/integration/Requirements/requirementFromOrderNrTest.php
+++ b/src/tests/integration/Requirements/requirementFromOrderNrTest.php
@@ -1,70 +1,166 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementFromOrderNrTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxordernr' => '5432',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxordernr' => '5433',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxordernr' => '5431',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckFromOrderNr_status', true);
+ $oManager->setValue('sFromOrderNrValue', '5432');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementInGroupFilterTest.php b/src/tests/integration/Requirements/requirementInGroupFilterTest.php
index 1a5d4ebf..a90c8027 100644
--- a/src/tests/integration/Requirements/requirementInGroupFilterTest.php
+++ b/src/tests/integration/Requirements/requirementInGroupFilterTest.php
@@ -1,95 +1,239 @@
-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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
-nW5IjLqSbkChbFLd7JrZCGuiGAdAzwgPdeFY
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementInGroupFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+ public $aGroupAssignIdList = array(
+ 'groupAssignIdNo1',
+ 'groupAssignIdNo2',
+ 'groupAssignIdNo3',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxuserid' => 'sUserIdNo1',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'oxobject2group',
+ $this->aGroupAssignIdList[0],
+ array(
+ 'oxobjectid' => 'sUserIdNo1',
+ 'oxgroupsid' => 'sGroupId1Pass',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxuserid' => 'sUserIdNo2',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'oxobject2group',
+ $this->aGroupAssignIdList[1],
+ array(
+ 'oxobjectid' => 'sUserIdNo2',
+ 'oxgroupsid' => 'sGroupId2Pass',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxuserid' => 'sUserIdNo3',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'oxobject2group',
+ $this->aGroupAssignIdList[2],
+ array(
+ 'oxobjectid' => 'sUserIdNo3',
+ 'oxgroupsid' => 'sGroupId3Pass',
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+
+ foreach ($this->aGroupAssignIdList as $sGroupAssignId) {
+ $this->deleteBaseModelObject('oxobject2group', $sGroupAssignId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckInGroup_status', true);
+ $oManager->setValue('sCustInGroupId', array('sGroupId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckInGroup_status', true);
+ $oManager->setValue('sCustInGroupId', array('sGroupId1Pass', 'sGroupId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementInvoiceNoTest.php b/src/tests/integration/Requirements/requirementInvoiceNoTest.php
index bafb878d..091cb928 100644
--- a/src/tests/integration/Requirements/requirementInvoiceNoTest.php
+++ b/src/tests/integration/Requirements/requirementInvoiceNoTest.php
@@ -1,63 +1,148 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementInvoiceNoTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillnr' => 'TestBillNo1',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillnr' => '0',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckInvoiceNum_status', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementLanguageFilterTest.php b/src/tests/integration/Requirements/requirementLanguageFilterTest.php
index c51f064d..04e4ba30 100644
--- a/src/tests/integration/Requirements/requirementLanguageFilterTest.php
+++ b/src/tests/integration/Requirements/requirementLanguageFilterTest.php
@@ -1,84 +1,203 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementLanguageFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxlang' => '12',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxlang' => '23',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxlang' => '34',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckLanguage_status', true);
+ $oManager->setValue('sInLanguageId', array('12'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckLanguage_status', true);
+ $oManager->setValue('sInLanguageId', array('12', '23'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementMailRegexpFilterTest.php b/src/tests/integration/Requirements/requirementMailRegexpFilterTest.php
index ffab81ba..6216a6d7 100644
--- a/src/tests/integration/Requirements/requirementMailRegexpFilterTest.php
+++ b/src/tests/integration/Requirements/requirementMailRegexpFilterTest.php
@@ -1,65 +1,149 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementMailRegexpFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillemail' => 'integrationpassedtest',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxbillemail' => 'integrationfailedtest',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckMail_status', true);
+ $oManager->setValue('sMailValue', "integra%passed_est");
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementNoArticleContentTest.php b/src/tests/integration/Requirements/requirementNoArticleContentTest.php
index d00cee86..f546f259 100644
--- a/src/tests/integration/Requirements/requirementNoArticleContentTest.php
+++ b/src/tests/integration/Requirements/requirementNoArticleContentTest.php
@@ -1,166 +1,412 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Object2Category;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementNoArticleContentTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ 'orderTestIdNo4',
+ 'orderTestIdNo5',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ 'orderTestIdNo4Article1',
+ 'orderTestIdNo5Article1',
+ );
+ public $aArt2CatIdList = array(
+ 'a2cTestIdNo1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxartnum' => 'expArtNum1',
+ 'oxtitle' => 'expTitle1',
+ 'oxshortdesc' => 'expShortDesc1',
+ 'oxselvariant' => 'expSelVariant1',
+ 'oxpersparam' => 'expPersParam1',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo1',
+ )
+ )
+ );
+
+ $this->createObject(
+ 'd3ox.ordermanager.'.Object2Category::class,
+ $this->aArt2CatIdList[0],
+ array(
+ 'oxshopid' => '1',
+ 'oxobjectid' => 'artIdTestNo1',
+ 'oxcatnid' => 'catTestId',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxartnum' => 'expArtNum2',
+ 'oxtitle' => 'expTitle2',
+ 'oxshortdesc' => 'expShortDesc2',
+ 'oxselvariant' => 'expSelVariant2',
+ 'oxpersparam' => 'expPersParam2',
+ 'oxstorno' => '0',
+ 'oxorderid' => $this->aOrderIdList[1],
+ 'oxartid' => 'artIdTestNo2',
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxartnum' => 'expArtNum3',
+ 'oxtitle' => 'expTitle3',
+ 'oxshortdesc' => 'expShortDesc3',
+ 'oxselvariant' => 'expSelVariant3',
+ 'oxpersparam' => 'expPersParam3',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo3',
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[3],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[3] => array(
+ 'oxartnum' => 'expArtNum4',
+ 'oxtitle' => 'expTitle4',
+ 'oxshortdesc' => 'expShortDesc4',
+ 'oxselvariant' => 'expSelVariant4',
+ 'oxpersparam' => 'expPersParam4',
+ 'oxstorno' => '0',
+ 'oxorderid' => $this->aOrderIdList[3],
+ 'oxartid' => 'artIdTestNo4',
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[4],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[4] => array(
+ 'oxartnum' => 'expArtNum5',
+ 'oxtitle' => 'expTitle5',
+ 'oxshortdesc' => 'expShortDesc5',
+ 'oxselvariant' => 'expSelVariant5',
+ 'oxpersparam' => 'expPersParam5',
+ 'oxstorno' => '0',
+ 'oxartid' => 'artIdTestNo5',
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+
+ $this->deleteObject('d3ox.ordermanager.'.Object2Category::class, $this->aArt2CatIdList[0]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerArtnumAndCatId()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNoOrderArticle1_status', true);
+ $oManager->setValue('sNoArticleContent1Type', 'oxartnum');
+ $oManager->setValue('sNoArticleContent1RegExp', 'expArtNum1');
+
+ $oManager->setValue('blCheckNoOrderArticle2_status', true);
+ $oManager->setValue('sNoArticleContent2Type', 'oxcatid');
+ $oManager->setValue('sNoArticleContent2RegExp', 'catTestId');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArtnumAndCatId()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerArtnumAndCatId());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 4
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && $oOrderList->offsetExists($this->aOrderIdList[3])
+ && $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerTitle()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckNoOrderArticle1_status', true);
+ $oManager->setValue('sNoArticleContent1Type', 'oxtitle');
+ $oManager->setValue('sNoArticleContent1RegExp', 'expTitle2');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersTitle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerTitle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 4
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && $oOrderList->offsetExists($this->aOrderIdList[3])
+ && $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerShortDesc()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckNoOrderArticle1_status', true);
+ $oManager->setValue('sNoArticleContent1Type', 'oxshortdesc');
+ $oManager->setValue('sNoArticleContent1RegExp', 'expShortDesc3');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersShortDesc()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerShortDesc());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 4
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[3])
+ && $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSelVariant()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckNoOrderArticle1_status', true);
+ $oManager->setValue('sNoArticleContent1Type', 'oxselvariant');
+ $oManager->setValue('sNoArticleContent1RegExp', 'expSelVariant4');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSelVariant()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSelVariant());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 4
+ && false == $oOrderList->offsetExists($this->aOrderIdList[3])
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && $oOrderList->offsetExists($this->aOrderIdList[4])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerPersParams()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->load($this->sManagerId);
+
+ $oManager->setValue('blCheckNoOrderArticle1_status', true);
+ $oManager->setValue('sNoArticleContent1Type', 'oxpersparam');
+ $oManager->setValue('sNoArticleContent1RegExp', 'expPersParam5');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersPersParams()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerPersParams());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 4
+ && false == $oOrderList->offsetExists($this->aOrderIdList[4])
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && $oOrderList->offsetExists($this->aOrderIdList[3])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementNotInFolderFilterTest.php b/src/tests/integration/Requirements/requirementNotInFolderFilterTest.php
index d8d24690..6b4f3631 100644
--- a/src/tests/integration/Requirements/requirementNotInFolderFilterTest.php
+++ b/src/tests/integration/Requirements/requirementNotInFolderFilterTest.php
@@ -1,84 +1,203 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementNotInFolderFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxfolder' => 'sFolderId3Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxfolder' => 'sFolderId2Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxfolder' => 'sFolderId1Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNotInFolder_status', true);
+ $oManager->setValue('sNotInFolderId', array('sFolderId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNotInFolder_status', true);
+ $oManager->setValue('sNotInFolderId', array('sFolderId1Pass', 'sFolderId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementNotInGroupFilterTest.php b/src/tests/integration/Requirements/requirementNotInGroupFilterTest.php
index c5a58325..df741475 100644
--- a/src/tests/integration/Requirements/requirementNotInGroupFilterTest.php
+++ b/src/tests/integration/Requirements/requirementNotInGroupFilterTest.php
@@ -1,95 +1,239 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementNotInGroupFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+ public $aGroupAssignIdList = array(
+ 'groupAssignIdNo1',
+ 'groupAssignIdNo2',
+ 'groupAssignIdNo3',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxuserid' => 'sUserIdNo1',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'oxobject2group',
+ $this->aGroupAssignIdList[0],
+ array(
+ 'oxobjectid' => 'sUserIdNo1',
+ 'oxgroupsid' => 'sGroupId3Pass',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxuserid' => 'sUserIdNo2',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'oxobject2group',
+ $this->aGroupAssignIdList[1],
+ array(
+ 'oxobjectid' => 'sUserIdNo2',
+ 'oxgroupsid' => 'sGroupId2Pass',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxuserid' => 'sUserIdNo3',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'oxobject2group',
+ $this->aGroupAssignIdList[2],
+ array(
+ 'oxobjectid' => 'sUserIdNo3',
+ 'oxgroupsid' => 'sGroupId1Pass',
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+
+ foreach ($this->aGroupAssignIdList as $sGroupAssignId) {
+ $this->deleteBaseModelObject('oxobject2group', $sGroupAssignId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNotInGroup_status', true);
+ $oManager->setValue('sCustNotInGroupId', array('sGroupId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckNotInGroup_status', true);
+ $oManager->setValue('sCustNotInGroupId', array('sGroupId1Pass', 'sGroupId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementOrderFieldTest.php b/src/tests/integration/Requirements/requirementOrderFieldTest.php
index d7bc2701..f16c30b9 100644
--- a/src/tests/integration/Requirements/requirementOrderFieldTest.php
+++ b/src/tests/integration/Requirements/requirementOrderFieldTest.php
@@ -1,93 +1,227 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementOrderFieldTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxcardid' => 'testContent',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxcardid' => null,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerContent()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderField_status', true);
+ $oManager->setValue('sOrderField_FieldName', ' oxcardid');
+ $oManager->setValue('sCheckOrderFieldType', 'content');
+ $oManager->setValue('sOrderField_FieldValue', 'testContent');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersContent()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerContent());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotEmpty()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderField_status', true);
+ $oManager->setValue('sOrderField_FieldName', ' oxcardid');
+ $oManager->setValue('sCheckOrderFieldType', 'notempty');
+ $oManager->setValue('sOrderField_FieldValue', '');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleCountryDelSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerNotEmpty());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerEmpty()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderField_status', true);
+ $oManager->setValue('sOrderField_FieldName', ' oxcardid');
+ $oManager->setValue('sCheckOrderFieldType', 'empty');
+ $oManager->setValue('sOrderField_FieldValue', '');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersEmpty()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerEmpty());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementOrderNoStornoTest.php b/src/tests/integration/Requirements/requirementOrderNoStornoTest.php
index bcac169d..f28cd8ec 100644
--- a/src/tests/integration/Requirements/requirementOrderNoStornoTest.php
+++ b/src/tests/integration/Requirements/requirementOrderNoStornoTest.php
@@ -1,64 +1,148 @@
-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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
-BEeWLRXduL+0nvzF64FBqD5BP+aUVYsyIHVCqm==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementOrderNoStornoTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxstorno' => '0',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxstorno' => '1',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderNostorno_status', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementOrderStornoTest.php b/src/tests/integration/Requirements/requirementOrderStornoTest.php
index 1f4636c7..4f2a6931 100644
--- a/src/tests/integration/Requirements/requirementOrderStornoTest.php
+++ b/src/tests/integration/Requirements/requirementOrderStornoTest.php
@@ -1,64 +1,148 @@
-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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
-QW==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementOrderStornoTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxstorno' => '1',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxstorno' => '0',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderstorno_status', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementOrderSumTest.php b/src/tests/integration/Requirements/requirementOrderSumTest.php
index e7dcdd77..a24744d7 100644
--- a/src/tests/integration/Requirements/requirementOrderSumTest.php
+++ b/src/tests/integration/Requirements/requirementOrderSumTest.php
@@ -1,106 +1,269 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementOrderSumTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtotalordersum' => 600.20,
+ 'oxtotalbrutsum' => 400.20,
+ 'oxcurrate' => 1,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtotalordersum' => 400.20,
+ 'oxtotalbrutsum' => 600.20,
+ 'oxcurrate' => 1,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerTotalHigher()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderSum_status', true);
+ $oManager->setValue('sOrderSumType', 'total');
+ $oManager->setValue('sOrderSumRelation', 'higher');
+ $oManager->setValue('sOrderSumValue', '510.30');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersTotalHigher()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerTotalHigher());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerTotalLower()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderSum_status', true);
+ $oManager->setValue('sOrderSumType', 'total');
+ $oManager->setValue('sOrderSumRelation', 'lower');
+ $oManager->setValue('sOrderSumValue', '510,20');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersTotalLower()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerTotalLower());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerArticleHigher()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderSum_status', true);
+ $oManager->setValue('sOrderSumType', 'article');
+ $oManager->setValue('sOrderSumRelation', 'higher');
+ $oManager->setValue('sOrderSumValue', '510,30');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleHigher()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerArticleHigher());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerArticleLower()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOrderSum_status', true);
+ $oManager->setValue('sOrderSumType', 'article');
+ $oManager->setValue('sOrderSumRelation', 'lower');
+ $oManager->setValue('sOrderSumValue', '510.20');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersArticleLower()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerArticleLower());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementOtherJobTest.php b/src/tests/integration/Requirements/requirementOtherJobTest.php
index e747cc54..57b30f36 100644
--- a/src/tests/integration/Requirements/requirementOtherJobTest.php
+++ b/src/tests/integration/Requirements/requirementOtherJobTest.php
@@ -1,102 +1,226 @@
-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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
-icfiuPBiC1SBVrNmKfTNfKZfSp6oDQpeKdv4
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementOtherJobTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+ public $aAssignIdList = array(
+ 'toOrderManagerAssignIdNo1',
+ 'toOrderManagerAssignIdNo2',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'd3order2ordermanager',
+ $this->aAssignIdList[0],
+ array(
+ 'oxorderid' => $this->aOrderIdList[0],
+ 'oxordermanagerid' => 'TestJobIdPass',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createBaseModelObject(
+ 'd3order2ordermanager',
+ $this->aAssignIdList[1],
+ array(
+ 'oxorderid' => $this->aOrderIdList[1],
+ 'oxordermanagerid' => 'TestJobIdNotPass',
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+
+ foreach ($this->aAssignIdList as $sAssignId) {
+ $this->deleteBaseModelObject('d3order2ordermanager', $sAssignId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotExec()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOtherJob_status', true);
+ $oManager->setValue('sOtherJob_Type', 'notexec');
+ $oManager->setValue('sOtherJob_ID', 'TestJobIdPass');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersNotExec()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerNotExec());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerExec()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckOtherJob_status', true);
+ $oManager->setValue('sOtherJob_Type', 'exec');
+ $oManager->setValue('sOtherJob_ID', 'TestJobIdPass');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersExec()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerExec());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue($oOrderList->count() >= 1);
+ $this->assertTrue($oOrderList->offsetExists($this->aOrderIdList[0]));
+ $this->assertFalse($oOrderList->offsetExists($this->aOrderIdList[1]));
+ $this->assertFalse($oOrderList->offsetExists($this->aOrderIdList[2]));
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementPaymentFilterTest.php b/src/tests/integration/Requirements/requirementPaymentFilterTest.php
index 4e5c1fdb..d64a6f76 100644
--- a/src/tests/integration/Requirements/requirementPaymentFilterTest.php
+++ b/src/tests/integration/Requirements/requirementPaymentFilterTest.php
@@ -1,83 +1,203 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementPaymentFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxpaymenttype' => 'sPayId1Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxpaymenttype' => 'sPayId2Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxpaymenttype' => 'sPayId3Pass',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingle()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckPayment_status', true);
+ $oManager->setValue('sPaymentId', array('sPayId1Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMulti()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckPayment_status', true);
+ $oManager->setValue('sPaymentId', array('sPayId1Pass', 'sPayId2Pass'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingle()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingle());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() === 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMulti()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMulti());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementTimespanFilterTest.php b/src/tests/integration/Requirements/requirementTimespanFilterTest.php
index 161d8a47..1e0d81c9 100644
--- a/src/tests/integration/Requirements/requirementTimespanFilterTest.php
+++ b/src/tests/integration/Requirements/requirementTimespanFilterTest.php
@@ -1,238 +1,598 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementTimespanFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ */
+ public function tearDown()
+ {
+ //$this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => date("Y-m-d H:i:s", strtotime('-25 minutes')),
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => date("Y-m-d H:i:s", strtotime('-4 days')),
+ 'oxpaid' => date("Y-m-d H:i:s", strtotime('-6 hours')),
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => date("Y-m-d H:i:s", strtotime('-6 hours')),
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => date("Y-m-d H:i:s", strtotime('-25 minutes')),
+ 'oxpaid' => date("Y-m-d H:i:s", strtotime('-4 days')),
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => date("Y-m-d H:i:s", strtotime('-4 days')),
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => date("Y-m-d H:i:s", strtotime('-6 hours')),
+ 'oxpaid' => date("Y-m-d H:i:s", strtotime('-25 minutes')),
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerOrderDateMinute()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'orderdate');
+ $oManager->setValue('sTimespan1Value', '20');
+ $oManager->setValue('sTimespan1Unit', 'minute');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerOrderDateHour()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'orderdate');
+ $oManager->setValue('sTimespan1Value', '5');
+ $oManager->setValue('sTimespan1Unit', 'hour');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerOrderDateDay()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'orderdate');
+ $oManager->setValue('sTimespan1Value', '3');
+ $oManager->setValue('sTimespan1Unit', 'day');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerOrderDateDontPass()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'orderdate');
+ $oManager->setValue('sTimespan1Value', '20');
+ $oManager->setValue('sTimespan1Unit', 'day');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersOrderDateMinute()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerOrderDateMinute());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 3
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersOrderDateHour()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerOrderDateHour());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersOrderDateDay()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerOrderDateDay());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersOrderDateDontPass()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerOrderDateDontPass());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 0
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerDelDateMinute()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'deldate');
+ $oManager->setValue('sTimespan1Value', '20');
+ $oManager->setValue('sTimespan1Unit', 'minute');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerDelDateHour()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'deldate');
+ $oManager->setValue('sTimespan1Value', '5');
+ $oManager->setValue('sTimespan1Unit', 'hour');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerDelDateDay()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'deldate');
+ $oManager->setValue('sTimespan1Value', '3');
+ $oManager->setValue('sTimespan1Unit', 'day');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerDelDateDontPass()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'deldate');
+ $oManager->setValue('sTimespan1Value', '20');
+ $oManager->setValue('sTimespan1Unit', 'day');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersDelDateMinute()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerDelDateMinute());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 3
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersDelDateHour()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerDelDateHour());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersDelDateDay()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerDelDateDay());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersDelDateDontPass()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerDelDateDontPass());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 0
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerPaidDateMinute()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'paiddate');
+ $oManager->setValue('sTimespan1Value', '20');
+ $oManager->setValue('sTimespan1Unit', 'minute');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerPaidDateHour()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'paiddate');
+ $oManager->setValue('sTimespan1Value', '5');
+ $oManager->setValue('sTimespan1Unit', 'hour');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerPaidDateDay()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'paiddate');
+ $oManager->setValue('sTimespan1Value', '3');
+ $oManager->setValue('sTimespan1Unit', 'day');
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerPaidDateDontPass()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTimespan1_status', true);
+ $oManager->setValue('sTimespan1Type', 'paiddate');
+ $oManager->setValue('sTimespan1Value', '20');
+ $oManager->setValue('sTimespan1Unit', 'day');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersPaidDateMinute()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerPaidDateMinute());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 3
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersPaidDateHour()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerPaidDateHour());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersPaidDateDay()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerPaidDateDay());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersPaidDateDontPass()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerPaidDateDontPass());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 0
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementToOrderNrTest.php b/src/tests/integration/Requirements/requirementToOrderNrTest.php
index 498072fe..42b85909 100644
--- a/src/tests/integration/Requirements/requirementToOrderNrTest.php
+++ b/src/tests/integration/Requirements/requirementToOrderNrTest.php
@@ -1,83 +1,203 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementToOrderNrTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxordernr' => '5432',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxordernr' => '5433',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxordernr' => '5431',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckToOrderNr_status', true);
+ $oManager->setValue('sToOrderNrValue', '5432');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNoValidConfig()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckToOrderNr_status', true);
+ $oManager->setValue('sToOrderNrValue', ' ');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersNoValidConfig()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerNoValidConfig());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 3
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementTrackCodeFilterTest.php b/src/tests/integration/Requirements/requirementTrackCodeFilterTest.php
index a44efcc4..23c48d6c 100644
--- a/src/tests/integration/Requirements/requirementTrackCodeFilterTest.php
+++ b/src/tests/integration/Requirements/requirementTrackCodeFilterTest.php
@@ -1,64 +1,148 @@
-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+cPw/yQligRc/zCpJ/LzZPWZ9ZakhIqgfqeuUuHB2KvccaudpHZK3RJelm41AakoeUJlCUGP+g
-5L4P/QBFKQ4wO2/BuIGrq/Bia4HCIOtz6+g7pNassuG1p28LAGMbu/c75Wtw9Z1zCSHBOM7ZmiKh
-QzV0+H/zdPIW6Wrai2pOuIc1s8lVEAXxXB4aTXYix855rr7Xhkka5WnRLDqT1rscsQzyEzycekjq
-pZv7Ktsa6B0h/cJXqNISZUY+fEwzN7r9pK/9kmRCKTTllPBMLQrLYayEOrLkq+6wFrYzOW0jObbS
-U8O7h+bS0FGFe5yxjNY9JBqUr5Z3qCr2qCCW5EIQZLCoVyzkCf0QCi57LFXf8xkFwXWMzFPQYQUs
-cHfm8nMzLdNpwDznTl4ffSKG8rY79ePbqk79i8uZvj5X/0JxumoU18d0TpwQCAYr0Nrg2jXN7Vwy
-GfHu1rV34ExQIQ5FQeU2ZZd0lxjHtm0TxlkzAlzfK2iBNxP0Q7/V2lEXs+6zOCnh8XghknRoctC3
-4cucT3TuHPU7740Bi6WB3EiboOXH/Sk0dLr3UN3Xy46HMmSfQgrdQKEYDthJ8xc4lUupW7KSXdML
-jDL0DfEwjriVnQ7aRtOXaHTN1XrzLksUctL+zO+bEojS05Gr3JCvY4c/x3AiL/uzRjxsjyuinesQ
-SSATbFnhaTVaZnvL0Ye9Hnu6kzKdNcD3IQcHhQEQbux8VcT1hRwBaw8tnG2J7pgqJXSe0xV5jTJg
-Qf1qpXhL2EC3oPHvfIiXlMzu2Dhlyh7zCpA/XRSdvwXZJhVLkt10RlMoa3N+fHSOpyA23amlgSr8
-tLIxjrZh2KIFv6P0BDUjDNsK1GPCQ6w3RaqRxFX52BNSrOvw828JbtvhzceUD5pQEs3ulR3GFSoW
-i02G3vmxQGLExMgOW/QHIWJhyGE/pNRAD1NdpCLcREQErR/sGKYRTEtWG31w1UbD+4wqjdVdUP5+
-9q66EPygJ+FJ78PEGtC7b36yxFCrJCPL4clHgzg5QCRiOvUFv+kpzBeCMy4AtHMfHzGamBy32sTR
-Bxyk2bzdWrPIxOBWC2eEwkR9HcQblXnJCqQ1aQZUi5ihTDq3R6rImk3bVVunKSjRfLrn2MoV7vE3
-QHVavsTo2VBis/QOg41CWnDMY/5FqX8uUtQKeNjNCmZa3ZMa9/u+Ujo4AYQe+MGnVkYHDcep2WBU
-o7v/rPECNdFFLMbkDSszpfI/+Xuv/an+x+nDzTTdRowGqXEK4w6jemHwPuujsuow94CNkRSSCNfm
-VAUN9TKIHY3oosTn8FXGqwO2ex3Y7wWRePGCiJEOdSApdMAURNo6eJEWp08Z/ujpb1eCSdgeOuMz
-DhWI70hJY1LkmcYNbq4GfZAnDrXLfeIucNtdQs/Wb1N0+/bcr5UV/vy9ep6M7EFdzEhcPG6qYtWS
-PX/yV6o22CNizFgVW9/gkk2EsrJtJEWfQNJwEptdgm63LFyxoUe1xCeAjcIjmp7w0oEQcWfn9TfJ
-y75tURRAKQOe00GsORrgPewFSi8+TlqXB9EFoWo/TLeILAdTPjL1DiZfWbo1yYVXujT1edvQq33M
-qhHmIaqdx//1i3Y8rAKeRQLMhABsd0bFPBAsEYNlnaQrFuwFtynnBqaCq09h5QVr9M4PRz3kyLUB
-x4fzGDuqKnKJGwflDdqNi4s6JAUbjjyDiDReegEWSXxTFeWG42CU/j49QCN+EF/1bzsWzmehKvuX
-0lHLUzJlJQS7jJIS1ZGQlFc//xQAtRbj8qRcDLBrSIx5X5UcmK6/fb+FoM/poetkSQfDK7VSufjB
-L2DK7cOVnXmM9wq0tPsoK8baLV9RRURdXF1lCofVh75c9pi5M7QDXqDujfugdEzVQA4FCe+1oj2O
-2wki3T1lwa+ekMkGerMQbYAz4xYQJQr2jKnPDBRupzaNLvWmqaOBJEQybkAzeE6kojwonKMCOXAu
-BdPQ4mUsKfBznGzGtFOcPVEU06PONYkolABIXUjKZ2wLoS1UAmkrDS95RGE8bsJt0VyYYuwNY5M8
-56wMgQaMOEEzwrAc6mNzwuZKS+H3CUWAVF/XacUQWfemvEGFIp8jQR8IW2/Rgv/yEVhgb8keBy0U
-kMplkkldIOuf0HVDNXd6XxNA4CC/R0v4G8ASFH9ZLZ6Bc0SJKgQeKYD2n4u7FgiGHi1+sRFUDM96
-Fnrc3XyOhF80YDwDEczpt4duFlyhBnCBAbTRhJwvEwm0jr5s1F6XqRqha/TKAxvpjs3QQqZ+sQw7
-eTtyDdiZpyC/QvgPGuGhEVzEIwwwl2NbN6CDN+xDZigOGwhg8cvtdw5kSJuFsuMIH/QnWhiCQu3a
-w+rvPrq5HxGQecvpKzcwwRymlza1C29u9J8aRAVecw9Sdmdu53erBVcDBLY0xY13QYY6lO/9fe/u
-0FJ0baq6IaA87v4GFu4F2QQV+ddsazGI1aHajkRzzfMTtCXw6y46K7AkuLi77t4iseIw1HYpFoHH
-Uv216ZQLKO52KOxf/MDDSlDp0RmGrXrd4284661qB5HOZ4x0Y5zJgcvUNn0le2c7jQEoROSos7eW
-SDTk0nDbNX8x3ZFYI7h9Oa5kqa4NFcGpsLfqayG/gPVcp8Hbm30wZCzgd2LPuV/iYRuASNPiscqZ
-uSaoIEsM77BdeCZ6YLHX9mW+JLKHgc9uNo/R6Bxn4yo3p9ieHpvkbZyeUou1/A7NNQm8trPfz4ax
-hP+p41Cm/v82s/i05c8Hhyk3C1z++7YLj/tRqTrLnUv01/Nm9je2mIPlzG4j1kAMyCJ7FUuVQ9Zp
-xqOO0SYOnM/26p8k7SDnU3QhL8o8UGACWSClKVkTVn8L7wNVV1MQgS6PX1yq3qc9AnmfYeNcmIIY
-wJ5QzRYeH3dge2gCPokRExBqJpToO2owDX2Fv4Z4aMgPVoUhFMqmesUNb0v9guBAj51XP3ZpsQd6
-sehXJYr5KbdN1a1yLbLisDc0xYlXBfmXHSZmjrN384+sllyGyJlpV5QfJZ/5Ngt9i9HcoAhcYuh7
-1EBr3pyO9Eue1ezsnTq8+m91trSv9zaCtDPb7Iao14C6oHoS75t193vSn60xPIsHaiJPqwUFefCV
-mqh65aDkhFJCKEa94KsSW3szuSBXlGFVtf8BbGS1L479gftIsjwXFWx9WlfPsPNxq+/BWuI6unnC
-U1FFA4PZdilJKB0NL5+l6Fdq+wkX3R5pIi8J4Ll225VXibOLKrRH0DCKBaq7DLDi9umtZgTbkvu0
-hQHLvTmh3rxPfcufUriphH6sOrhmtN58LbN2AZXQTeZrRfGaAvbfCCsxAROq4GGqeLm3y0ptRSFk
-x2xUxKDpEuPv8JKkxyLyVeKDgAauKBKb+NtKGHqopHLHyN4vwGRuyYEkddNhLg+bxqJTcDETf8GT
-6v1FTgkekmWMJFRwLKSLRVav8FOutRTOtgmgafLNHuZtVEY8jcwcq1Jp9OpPeh8YwopkPvNFNAh7
-LXigKnKUSJbvpX24B+Ux1GSqm8mvr2pgoi5evu0wjgy7UOsHBnykPq+QLZU70Ux5SqMh2VZuX8RI
-VJKurjFa9Vkt/MTMNWqdlzrUnfwgC2PYL2ci2HUTBojIulacsd13SW2YsDBQG4tVMbPE2trTnPjj
-BfiVLd1QtIDwrC45YBkpsVDP4L2LhUgeh2js8suARd3/TaDmRUzatK3EctB/ZirOR7kD2eu4FRr8
-EMDRiElK5KnChdyx3M3Kz/c7clS5WxpIwuFRPK4xby7S6YLIXfE3AV+uyC7Z65JkT/PD4pk3opTS
-Q0O3L/42FLFbEUhRz+YEg40/fMC7oAflllfWucLeCYI9HGxnGnU37Ncwx5Y4mEkKtNLRRYeEifTu
-cZABoio7t32WenYElvCjtloykNGc7wgps7VZcVbIdwhcKtrBGXEmhWHea/hifYnaNhk9nkhHKZdR
-gtJHaG1ixQ3o0z0XEPxuyVMGnHvi+1HU/y1rjXPxKpHMP5rCBD4OELzj6tPdBEIuz3ZAxFkyUIbA
-3W08hhosOuXADstHangviR0cxj8hXndtUlJ7DwWti4qD8l9RhHAUwr4mzNpAbNdPYMOWKUUPq27/
-KV0KftaKA7wmNsDb/q3zQVLxWAEM4DSLrhwNxA9KVoxdOd1LKTju/WW4YQVwuarHwE2iZkBmNziE
-Rf4fXeihA/7Q5jL1dBBGiL0J4V+Xtb+/qtrBAZ7yZIv6O2Ncc+dh0E7tXmewNROWFpg+Mifst7dn
-6LLB6f85/4wfFcv1zLtW2iXVUWQnTEQrJHK2bdulLF+JO3dMHG/cPGXYlGJSmgB9KX/TA/egENiJ
-r89KECFEDdXXiZaUo8dl+B/Qw5zgtMz2aSyQk+LLtWyBt5dtJncJyT53ibT+tUrsN5fZeu9RanUF
-uoO/FlMtxVqJR0+wst0Uzji/70xRS9DpWOazRSYOVLHwtQB+xCjTdLKLe48CxkloRP1pjJZJ2rhr
-2cfaCYGmjOiGAgm=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementTrackCodeTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtrackcode' => 'testTrackCode',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtrackcode' => '',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTrackcode_status', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrders()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManager());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementTransactionFilterTest.php b/src/tests/integration/Requirements/requirementTransactionFilterTest.php
index 7dd263c7..b901b478 100644
--- a/src/tests/integration/Requirements/requirementTransactionFilterTest.php
+++ b/src/tests/integration/Requirements/requirementTransactionFilterTest.php
@@ -1,84 +1,203 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementTransactionFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtransstatus' => 'OK',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtransstatus' => 'TestTransStatus',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxtransstatus' => '',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerNotOk()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTransaction_status', true);
+ $oManager->setValue('sOrderTransStatus', 'NOT_OK');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersNotOk()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerNotOk());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerOk()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckTransaction_status', true);
+ $oManager->setValue('sOrderTransStatus', 'TestTransStatus');
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersOk()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerOk());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/Requirements/requirementWeekdayFilterTest.php b/src/tests/integration/Requirements/requirementWeekdayFilterTest.php
index 807817e4..bf679924 100644
--- a/src/tests/integration/Requirements/requirementWeekdayFilterTest.php
+++ b/src/tests/integration/Requirements/requirementWeekdayFilterTest.php
@@ -1,134 +1,360 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration\Requirements;
+
+use D3\ModCfg\Application\Model\Exception\d3_cfg_mod_exception;
+use D3\ModCfg\Application\Model\Exception\d3ShopCompatibilityAdapterException;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+
+class requirementWeekdayFilterTest extends d3OrdermanagerRequirementIntegrationTestCase
+{
+ public $sManagerId = 'managerTestId';
+ public $aOrderIdList = array(
+ 'orderTestIdNo1',
+ 'orderTestIdNo2',
+ 'orderTestIdNo3',
+ );
+ public $aOrderArticleIdList = array(
+ 'orderTestIdNo1Article1',
+ 'orderTestIdNo2Article1',
+ 'orderTestIdNo3Article1',
+ );
+
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function createTestData()
+ {
+ $this->createManager(
+ $this->sManagerId
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '2018-01-04 00:00:00',
+ 'oxpaid' => '2018-01-07 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-02 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '2018-01-05 00:00:00',
+ 'oxpaid' => '2018-01-08 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[2],
+ array(
+ 'oxorderdate' => '2018-01-03 00:00:00',
+ 'oxbillcompany' => __CLASS__,
+ 'oxsenddate' => '2018-01-06 00:00:00',
+ 'oxpaid' => '2018-01-09 00:00:00',
+ ),
+ array(
+ $this->aOrderArticleIdList[2] => array(
+ 'oxtitle' => __CLASS__,
+ )
+ )
+ );
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+
+ foreach ($this->aOrderIdList as $sOrderId) {
+ $this->deleteOrder($sOrderId);
+ }
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingleOrderDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckWeekdays_status', true);
+ $oManager->setValue('sWeekdaysType', 'orderdate');
+ $oManager->setValue('sWeekdayDays', array('Mon'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMultiOrderDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckWeekdays_status', true);
+ $oManager->setValue('sWeekdaysType', 'orderdate');
+ $oManager->setValue('sWeekdayDays', array('Tue', 'Wed'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSingleDelDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckWeekdays_status', true);
+ $oManager->setValue('sWeekdaysType', 'deldate');
+ $oManager->setValue('sWeekdayDays', array('Fri'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMultiDelDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckWeekdays_status', true);
+ $oManager->setValue('sWeekdaysType', 'deldate');
+ $oManager->setValue('sWeekdayDays', array('Thu', 'Sat'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerSinglePaidDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckWeekdays_status', true);
+ $oManager->setValue('sWeekdaysType', 'paiddate');
+ $oManager->setValue('sWeekdayDays', array('Tue'));
+
+ return $oManager;
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManagerMultiPaidDate()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blCheckWeekdays_status', true);
+ $oManager->setValue('sWeekdaysType', 'paiddate');
+ $oManager->setValue('sWeekdayDays', array('Sun', 'Mon'));
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingleOrderDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingleOrderDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMultiOrderDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMultiOrderDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSingleDelDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSingleDelDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMultiDelDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMultiDelDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersSinglePaidDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerSinglePaidDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 1
+ && false == $oOrderList->offsetExists($this->aOrderIdList[0])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[1])
+ && $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function requirementsSelectsRightOrdersMultiPaidDate()
+ {
+ $oListGenerator = $this->getListGenerator($this->getConfiguredManagerMultiPaidDate());
+ $oOrderList = $oListGenerator->getConcernedOrders();
+
+ $this->assertTrue(
+ $oOrderList->count() >= 2
+ && $oOrderList->offsetExists($this->aOrderIdList[0])
+ && $oOrderList->offsetExists($this->aOrderIdList[1])
+ && false == $oOrderList->offsetExists($this->aOrderIdList[2])
+ );
+ }
+}
diff --git a/src/tests/integration/d3OrdermanagerIntegrationTestCase.php b/src/tests/integration/d3OrdermanagerIntegrationTestCase.php
index 6d9f12b3..f28c7cb1 100644
--- a/src/tests/integration/d3OrdermanagerIntegrationTestCase.php
+++ b/src/tests/integration/d3OrdermanagerIntegrationTestCase.php
@@ -1,144 +1,291 @@
-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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
+
+ * @link http://www.oxidmodule.com
+ */
+namespace D3\Ordermanager\tests\integration;
+
+use D3\ModCfg\Application\Model\Log\d3log;
+use D3\ModCfg\Tests\unit\d3ModCfgUnitTestCase;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_listgenerator;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Article;
+use OxidEsales\Eshop\Application\Model\Groups;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Application\Model\OrderArticle;
+use OxidEsales\Eshop\Application\Model\User;
+use OxidEsales\Eshop\Core\DatabaseProvider;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Model\BaseModel;
+use PHPUnit_Framework_MockObject_MockObject;
+
+abstract class d3OrdermanagerIntegrationTestCase extends d3ModCfgUnitTestCase
+{
+ /**
+ * Set up fixture.
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->createTestData();
+ }
+
+ /**
+ * Tear down fixture.
+ */
+ public function tearDown()
+ {
+ $this->cleanTestData();
+
+ parent::tearDown();
+ }
+
+ abstract public function createTestData();
+
+ abstract public function cleanTestData();
+
+ /**
+ * @param $sClass
+ * @param $sId
+ * @param array $aFields
+ * @throws Exception
+ */
+ public function createObject($sClass, $sId, $aFields = array())
+ {
+ /** @var BaseModel $oOrder */
+ $oOrder = d3GetModCfgDIC()->get($sClass);
+ $oOrder->setId($sId);
+ $oOrder->assign($aFields);
+ $oOrder->save();
+ }
+
+ /**
+ * @param $sTableName
+ * @param $sId
+ * @param array $aFields
+ * @throws Exception
+ */
+ public function createBaseModelObject($sTableName, $sId, $aFields = array())
+ {
+ /** @var BaseModel $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.BaseModel::class);
+ $oOrder->init($sTableName);
+ $oOrder->setId($sId);
+ $oOrder->assign($aFields);
+ $oOrder->save();
+ }
+
+ /**
+ * @param $sId
+ * @param array $aFields
+ * @throws Exception
+ */
+ public function createArticle($sId, $aFields = array())
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.Article::class,
+ $sId,
+ array_merge(
+ array('oxprice' => 0),
+ $aFields
+ )
+ );
+ }
+
+ /**
+ * @param $sId
+ * @throws Exception
+ */
+ public function createManager($sId)
+ {
+ $this->createObject(
+ d3ordermanager::class,
+ $sId,
+ array(
+ 'OXSHOPID' => 1,
+ 'OXACTIVE' => true,
+ 'OXMODID' => 'd3_ordermanager',
+ 'D3_OM_MARKORDER' => false,
+ )
+ );
+ }
+
+ /**
+ * @param $sId
+ * @param array $aFields
+ * @param array $aOrderArticles
+ * @throws Exception
+ */
+ public function createOrder($sId, $aFields = array(), $aOrderArticles = array())
+ {
+ $this->createObject('d3ox.ordermanager.'.Order::class, $sId, $aFields);
+
+ if (is_array($aOrderArticles) && count($aOrderArticles)) {
+ foreach ($aOrderArticles as $sOArtId => $aOArtFields) {
+ $this->createObject('d3ox.ordermanager.'.OrderArticle::class, $sOArtId, array_merge(array('oxorderid' => $sId), $aOArtFields));
+ }
+ }
+ }
+
+ /**
+ * @param $sId
+ * @param array $aFields
+ * @throws Exception
+ */
+ public function createUser($sId, $aFields = array())
+ {
+ $this->createObject(
+ 'd3ox.ordermanager.'.User::class,
+ $sId,
+ array_merge(array('oxusername' => $sId, $aFields))
+ );
+ }
+
+ /**
+ * @param $sId
+ * @param array $aFields
+ * @throws Exception
+ */
+ public function createGroup($sId, $aFields = array())
+ {
+ $this->createObject('d3ox.ordermanager.'.Groups::class, $sId, $aFields);
+ }
+
+ /**
+ * @param $sClass
+ * @param $sId
+ * @throws Exception
+ */
+ public function deleteObject($sClass, $sId)
+ {
+ /** @var BaseModel $oObject */
+ $oObject = d3GetModCfgDIC()->get($sClass);
+ if ($oObject->exists($sId)) {
+ $oObject->delete($sId);
+ }
+ }
+
+ /**
+ * @param $sTableName
+ * @param $sId
+ * @throws Exception
+ */
+ public function deleteBaseModelObject($sTableName, $sId)
+ {
+ /** @var BaseModel $oObject */
+ $oObject = d3GetModCfgDIC()->get('d3ox.ordermanager.'.BaseModel::class);
+ $oObject->init($sTableName);
+ if ($oObject->exists($sId)) {
+ $oObject->delete($sId);
+ }
+ }
+
+ /**
+ * @param $sId
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function deleteManager($sId)
+ {
+ $this->deleteObject(d3ordermanager::class, $sId);
+ $sQ = "SELECT oxid FROM d3order2ordermanager WHERE oxordermanagerid = '{$sId}';";
+
+ foreach ((array) DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getAll($sQ) as $aId) {
+ $aId = array_change_key_case($aId, CASE_UPPER);
+ $this->deleteBaseModelObject('d3order2ordermanager', $aId['OXID']);
+ }
+ }
+
+ /**
+ * @param $sId
+ * @throws Exception
+ */
+ public function deleteArticle($sId)
+ {
+ $this->deleteObject('d3ox.ordermanager.'.Article::class, $sId);
+ }
+
+ /**
+ * @param $sId
+ * @throws Exception
+ */
+ public function deleteOrder($sId)
+ {
+ $this->deleteObject('d3ox.ordermanager.'.Order::class, $sId);
+ }
+
+ /**
+ * @param $sId
+ * @throws Exception
+ */
+ public function deleteUser($sId)
+ {
+ $this->deleteObject('d3ox.ordermanager.'.User::class, $sId);
+ }
+
+ /**
+ * @return d3log|PHPUnit_Framework_MockObject_MockObject
+ */
+ public function getD3LogMock()
+ {
+ /** @var d3log|PHPUnit_Framework_MockObject_MockObject $oD3LogMock */
+ $oD3LogMock = $this->getMock(d3log::class, array(
+ 'log',
+ ));
+ $oD3LogMock->method('log')->willReturn(true);
+
+ return $oD3LogMock;
+ }
+
+ /**
+ * @param $sManagerId
+ * @return d3ordermanager|PHPUnit_Framework_MockObject_MockObject
+ * @throws Exception
+ */
+ public function getManagerMock($sManagerId)
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManager */
+ $oManager = $this->getMock(d3ordermanager::class, array(
+ 'd3getLog',
+ 'getListGenerator',
+ 'getRecalculateFlag',
+ ));
+ $oManager->method('d3getLog')->willReturn($this->getD3LogMock());
+ $oManager->method('getListGenerator')->willReturn($this->getListGenerator($oManager));
+ $oManager->method('getRecalculateFlag')->willReturn(false);
+ $oManager->load($sManagerId);
+
+ return $oManager;
+ }
+
+ /**
+ * @param d3ordermanager $oManager
+ * @return d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject
+ * @throws Exception
+ */
+ public function getListGenerator(d3ordermanager $oManager)
+ {
+ d3GetModCfgDIC()->set(
+ d3ordermanager_listgenerator::class.'.args.ordermanager',
+ $oManager
+ );
+
+ return d3GetModCfgDIC()->get(d3ordermanager_listgenerator::class);
+ }
+}
\ No newline at end of file
diff --git a/src/tests/integration/executeCronTest.php b/src/tests/integration/executeCronTest.php
index ba4fd472..fee0b410 100644
--- a/src/tests/integration/executeCronTest.php
+++ b/src/tests/integration/executeCronTest.php
@@ -1,177 +1,307 @@
-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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
-Hh+rwJWpRTIxAud3gm==
\ No newline at end of file
+createManager($this->sManagerId);
+
+ $this->createArticle(
+ $this->aArticleIdList[0],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[0],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxdelcost' => $this->dCurrentValue,
+ 'oxcurrate' => 1,
+ 'oxbillcountryid' => 'testCountryId1Pass',
+ 'oxdelcountryid' => '',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[0] => array(
+ 'oxartnum' => 'expArtNum1',
+ 'oxtitle' => 'expTitle1',
+ 'oxshortdesc' => 'expShortDesc1',
+ 'oxselvariant' => 'expSelVariant1',
+ 'oxpersparam' => 'expPersParam1',
+ 'oxstorno' => '0',
+ 'oxartid' => $this->aArticleIdList[0],
+ ),
+ )
+ );
+
+ $this->createArticle(
+ $this->aArticleIdList[1],
+ array(
+ 'oxtitle' => __CLASS__,
+ 'oxparentid' => null,
+ 'oxstock' => 20
+ )
+ );
+
+ $this->createOrder(
+ $this->aOrderIdList[1],
+ array(
+ 'oxorderdate' => '2018-01-01 00:00:00',
+ 'oxdelcost' => $this->dCurrentValue,
+ 'oxcurrate' => 1,
+ 'oxbillcountryid' => 'testCountryIdDontPass',
+ 'oxdelcountryid' => 'testCountryId2Pass',
+ 'oxbillcompany' => __CLASS__,
+ ),
+ array(
+ $this->aOrderArticleIdList[1] => array(
+ 'oxartnum' => 'expArtNum2',
+ 'oxtitle' => 'expTitle2',
+ 'oxshortdesc' => 'expShortDesc2',
+ 'oxselvariant' => 'expSelVariant2',
+ 'oxpersparam' => 'expPersParam2',
+ 'oxstorno' => '0',
+ 'oxartid' => $this->aArticleIdList[1],
+ ),
+ )
+ );
+
+ $oManager = $this->getManagerMock($this->sManagerId);
+ $oManager->assign(
+ array(
+ 'D3_CRONJOBID' => 'testId'
+ )
+ );
+
+ $oManager->setValue('blActionOrderChangeDeliveryCost_status', true);
+ $oManager->setValue('sActionChangeDelCostValue', $this->dExpectedValue);
+
+ $oManager->setValue('blCheckCountry_status', true);
+ $oManager->setValue('sCustCountryId', array('testCountryId1Pass'));
+
+ $oManager->setValue('blItemExecute', true);
+
+ $oManager->save();
+ }
+
+ /**
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function cleanTestData()
+ {
+ $this->deleteManager($this->sManagerId);
+ $this->deleteOrder($this->aOrderIdList[0]);
+ $this->deleteOrder($this->aOrderIdList[1]);
+ $this->deleteArticle($this->aArticleIdList[0]);
+ $this->deleteArticle($this->aArticleIdList[1]);
+ }
+
+ /**
+ * @return d3ordermanager
+ * @throws Exception
+ */
+ public function getConfiguredManager()
+ {
+ $oManager = $this->getManagerMock($this->sManagerId);
+
+ $oManager->setValue('blActionOrderChangeDeliveryCost_status', true);
+ $oManager->setValue('sActionChangeDelCostValue', $this->dExpectedValue);
+
+ $oManager->setValue('blCheckCountry_status', true);
+ $oManager->setValue('sCustCountryId', array('testCountryId1Pass'));
+
+ $oManager->setValue('blItemExecute', true);
+
+ return $oManager;
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function runCronOk()
+ {
+ $set = d3_cfg_mod::get('d3_ordermanager');
+ $blCurrentCronStatus = $set->getValue('blCronActive');
+ $set->setValue('blCronActive', true);
+ $set->assign(array('oxactive' => 1));
+ $set->saveNoLicenseRefresh();
+
+ /** @var $oResponse d3ordermanager_response */
+ $oResponse = d3GetModCfgDIC()->get(d3ordermanager_response::class);
+
+ $_GET['shp'] = 1;
+ $_GET['cjid'] = 'testId';
+
+ $oResponse->init();
+
+ $set->setValue('blCronActive', $blCurrentCronStatus);
+ $set->assign(array('oxactive' => 1));
+ $set->saveNoLicenseRefresh();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dExpectedValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function runCronInactiveModule()
+ {
+ $set = d3_cfg_mod::get('d3_ordermanager');
+ $blCurrentCronStatus = $set->getValue('blCronActive');
+
+ $set->setValue('blCronActive', true);
+ $set->assign(array('oxactive' => 0));
+ $set->saveNoLicenseRefresh();
+
+ /** @var $oResponse d3ordermanager_response */
+ $oResponse = d3GetModCfgDIC()->get(d3ordermanager_response::class);
+
+ $_GET['shp'] = 1;
+ $_GET['cjid'] = 'testId';
+
+ ob_start();
+ $oResponse->init();
+ ob_end_clean();
+
+ $set->setValue('blCronActive', $blCurrentCronStatus);
+ $set->assign(array('oxactive' => 1));
+ $set->saveNoLicenseRefresh();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+ }
+
+ /**
+ * @test
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws StandardException
+ * @throws d3ShopCompatibilityAdapterException
+ * @throws d3_cfg_mod_exception
+ * @throws Exception
+ */
+ public function runDisabledCron()
+ {
+ $set = d3_cfg_mod::get('d3_ordermanager');
+ $blCurrentCronStatus = $set->getValue('blCronActive');
+ $set->setValue('blCronActive', false);
+ $set->assign(array('oxactive' => 1));
+ $set->saveNoLicenseRefresh();
+
+ /** @var $oResponse d3ordermanager_response */
+ $oResponse = d3GetModCfgDIC()->get(d3ordermanager_response::class);
+
+ $_GET['shp'] = 1;
+ $_GET['cjid'] = 'testId';
+
+ $oResponse->init();
+
+ $set->setValue('blCronActive', $blCurrentCronStatus);
+ $set->assign(array('oxactive' => 1));
+ $set->saveNoLicenseRefresh();
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[0]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+
+ /** @var Order $oOrder */
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->load($this->aOrderIdList[1]);
+ $this->assertSame(
+ round((float) $this->dCurrentValue * 100),
+ round((float) $oOrder->getFieldData('oxdelcost') * 100)
+ );
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritemTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritemTest.php
index 2fad91e2..734cc634 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritemTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritemTest.php
@@ -1,43 +1,78 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use ReflectionException;
+
+class d3_cfg_ordermanageritemTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ $this->assertContains(
+ '.tpl',
+ $this->callMethod($this->_oController, 'render')
+ );
+
+ $this->assertNotEmpty($this->_oController->getViewDataElement('sListClass'));
+ $this->assertNotEmpty($this->_oController->getViewDataElement('sMainClass'));
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_actionTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_actionTest.php
index 96632133..6d1b78ba 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_actionTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_actionTest.php
@@ -1,410 +1,784 @@
-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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
-u2gPDqZeKl9CMYeHEyRyUyAjfMnTS0==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\ModCfg\Application\Model\Shopcompatibility\d3ShopCompatibilityAdapterHandler;
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_action;
+use D3\Ordermanager\Application\Model\Actions\d3ordermanager_actiongrouplist;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
+use D3\Ordermanager\Application\Model\d3ordermanager_pdfhandler;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception as ExceptionAlias;
+use Exception;
+use OxidEsales\Eshop\Application\Model\ContentList;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Config;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Language;
+use OxidEsales\Eshop\Core\Module\Module;
+use OxidEsales\Eshop\Core\Module\ModuleList;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use D3\Ordermanager\Application\Model\Actions as Actions;
+
+class d3_cfg_ordermanageritem_actionTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_action */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_action::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSaveNoMissingValues()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $getValueMap = [['blActionOrderStorno_status', true]];
+ $oProfileMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getProfile'
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, 'save');
+ $this->assertNull($this->_oController->getViewDataElement('missingRequValuesActions'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSaveMissingValues()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $getValueMap = [['blActionOrder2Folder_status', true]];
+ $oProfileMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getProfile'
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, 'save');
+ $aMissing = $this->_oController->getViewDataElement('missingRequValuesActions');
+ $this->assertInternalType('array', $aMissing);
+ $this->assertCount(1, $aMissing);
+ $this->assertContains('moveOrderToFolder', $aMissing);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getContentListReturnsItems()
+ {
+ $oContentList = $this->callMethod($this->_oController, 'getContentList', array());
+
+ $this->assertInstanceOf(ContentList::class, $oContentList);
+ $this->assertTrue($oContentList->count() > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetConfigReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Config::class,
+ $this->callMethod(
+ $this->_oController,
+ 'd3GetConfig'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function managerContentDirsFromAdminPass()
+ {
+ $sExpected = '/var/www/html/source/Application/views/admin/tpl/';
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ ));
+ $oConfigMock->expects($this->any())->method('getTemplateDir')->with(
+ $this->isTrue()
+ )->willReturn($sExpected);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'd3GetConfig',
+ ));
+ $oControllerMock->method('d3GetConfig')->willReturn($oConfigMock);
+
+ $this->_oController = $oControllerMock;
+
+ $sDir = $this->callMethod($this->_oController, 'getManagerTemplateDirs', array(true));
+ $this->assertSame(
+ $sExpected,
+ $sDir
+ );
+ }
+
+ /**
+ * in case of error, check if a active theme is defined
+ * @test
+ * @throws ReflectionException
+ */
+ public function managerContentDirsFromFrontentPass()
+ {
+ $sExpected = '/var/www/html/source/Application/views/flow/tpl/';
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ ));
+ $oConfigMock->expects($this->any())->method('getTemplateDir')->with(
+ $this->isFalse()
+ )->willReturn($sExpected);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'd3GetConfig',
+ ));
+ $oControllerMock->method('d3GetConfig')->willReturn($oConfigMock);
+
+ $this->_oController = $oControllerMock;
+
+ $sDir = $this->callMethod($this->_oController, 'getManagerTemplateDirs', array(false));
+ $this->assertSame(
+ $sExpected,
+ $sDir
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function orderFieldNamesPass()
+ {
+ $aFieldNames = $this->callMethod($this->_oController, 'getItemFieldNames');
+ $this->assertInternalType('array', $aFieldNames);
+ $this->assertGreaterThan(0, count($aFieldNames));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function getProfileReturnsRightInstance()
+ {
+ $oProfile = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oProfile->setId('newProfileId');
+ $oProfile->save();
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getEditObjectId',
+ ));
+ $oControllerMock->method('getEditObjectId')->willReturn('newProfileId');
+
+ $this->_oController = $oControllerMock;
+
+ $oAssertProfile = $this->callMethod($this->_oController, 'getProfile');
+
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $oAssertProfile
+ );
+ $this->assertSame('newProfileId', $oAssertProfile->getId());
+
+ $oProfile->delete();
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function getProfileOtherLangReturnsRightInstance()
+ {
+ $oProfile = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oProfile->setId('newProfileId');
+ $oProfile->save();
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getEditObjectId',
+ ));
+ $oControllerMock->method('getEditObjectId')->willReturn('newProfileId');
+
+ $this->_oController = $oControllerMock;
+
+ $this->setValue($this->_oController, '_iEditLang', 'en');
+ $oAssertProfile = $this->callMethod($this->_oController, 'getProfile');
+
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $oAssertProfile
+ );
+ $this->assertSame('newProfileId', $oAssertProfile->getId());
+
+ $oProfile->delete();
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function exportExamplePathWillGenerated()
+ {
+ $_POST['oxid'] = 'foobar';
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'loadInLang',
+ 'getStartTime',
+ 'getListExportFilePath',
+ ));
+ $oProfileMock->expects($this->once())->method('loadInLang')->willReturn(true);
+ $oProfileMock->method('getStartTime')->willReturn(1420716228);
+ $oProfileMock->method('getListExportFilePath')->willReturn('/var/www/html/shop/source/export/d3ordermananger_profileName_2015-01-08_12-23-48.csv');
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getProfile',
+ '_d3LoadInOtherLang',
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('_d3LoadInOtherLang')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $sPath = $this->callMethod($this->_oController, 'getExportExamplePath');
+ $this->assertRegExp('@/var/www/html/shop/source/export/d3ordermananger_profileName_.*.csv@i', $sPath);
+ $this->assertNotContains('2015-01-08_12-23-48', $sPath);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function langWillReturnRightInstance()
+ {
+ $this->assertInstanceOf(
+ Language::class,
+ $this->callMethod($this->_oController, 'getLang')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function fieldNameDescriptionCanTranslated()
+ {
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->expects($this->once())->method('translateString')->willReturn('%1$s (%2$s)');
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getFieldNameTitle',
+ 'getLang',
+ ));
+ $oControllerMock->method('getFieldNameTitle')->willReturn('barfoo');
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'barfoo (foobar_5)',
+ $this->callMethod($this->_oController, 'getFieldNameDescription', array('foobar_5'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function fieldNameDescriptionCantTranslated()
+ {
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getFieldNameTitle',
+ ));
+ $oControllerMock->method('getFieldNameTitle')->willReturn(null);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'foobar_5',
+ $this->callMethod($this->_oController, 'getFieldNameDescription', array('foobar_5'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetFieldNameTitleWithLangIdent()
+ {
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->expects($this->exactly(2))->method('translateString')->with(
+ $this->logicalOr(
+ $this->stringContains('D3_ORDERMANAGER'),
+ $this->logicalAnd(
+ $this->stringContains('foobar'),
+ $this->logicalNot(
+ $this->stringContains('5')
+ )
+ )
+ )
+ )->willReturn('Sprache %u ');
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getLang',
+ ));
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'Sprache %u Sprache 0 ',
+ $this->callMethod($this->_oController, 'getFieldNameTitle', array('foobar_1'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetFieldNameTitleWithoutLangIdent()
+ {
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->expects($this->once())->method('translateString')->with(
+ $this->stringContains('foobar')
+ )->willReturn('Sprache %u ');
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getLang',
+ ));
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'Sprache %u ',
+ $this->callMethod($this->_oController, 'getFieldNameTitle', array('foobar'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetFieldNameTitleWithNotExistingTranslation()
+ {
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->expects($this->once())->method('translateString')->willReturn('FOOBAR');
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getLang',
+ ));
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->setValue($oControllerMock, '_sExportFieldTitleBaseMLIdent', '');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertNull(
+ $this->callMethod($this->_oController, 'getFieldNameTitle', array('FOOBAR'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function pdfHandlerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_pdfhandler::class,
+ $this->callMethod($this->_oController, 'getPdfHandler')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGeneratePdfStatusPass()
+ {
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class), d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(true);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getPdfHandler',
+ ));
+ $oControllerMock->method('getPdfHandler')->willReturn($oPdfHandlerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod($this->_oController, 'canGeneratePdf')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGeneratePdfStatusDontPass()
+ {
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class), d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(false);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getPdfHandler',
+ ));
+ $oControllerMock->method('getPdfHandler')->willReturn($oPdfHandlerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod($this->_oController, 'canGeneratePdf')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws ExceptionAlias
+ */
+ public function getActionListReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_actiongrouplist::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getActionGroupList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetActionListObject()
+ {
+ $this->assertInstanceOf(
+ Actions\d3ordermanager_actionlist::class,
+ $this->callMethod($this->_oController, 'getActionListObject')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetActionList()
+ {
+ $aActionList = $this->callMethod($this->_oController, 'getActionList');
+ $this->assertInternalType(
+ 'array',
+ $aActionList
+ );
+ $this->assertTrue(count($aActionList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws ExceptionAlias
+ */
+ public function canGetGroupList()
+ {
+ $groupedList = array(
+ 'D3_ORDERMANAGER_ACTION_ORDER' => array(
+ 'moveOrderToFolder' => Actions\d3ordermanager_action_moveordertofolder::class,
+ 'stornoOrder' => Actions\d3ordermanager_action_stornoorder::class
+ ),
+ 'D3_ORDERMANAGER_ACTION_CUSTOMER' => array(
+ 'custAddToGroup' => Actions\d3ordermanager_action_custaddtogroup::class,
+ )
+ );
+
+ /** @var d3ordermanager_actiongrouplist|PHPUnit_Framework_MockObject_MockObject $oActionGroupListMock */
+ $oActionGroupListMock = $this->getMock(d3ordermanager_actiongrouplist::class, array(
+ 'setGroups',
+ 'getGroupList'
+ ), array($this->_oController->getProfile(), d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oActionGroupListMock->method('setGroups')->willReturn(true);
+ $oActionGroupListMock->method('getGroupList')->willReturn($groupedList);
+
+ /** @var d3ordermanager_conf|PHPUnit_Framework_MockObject_MockObject $oConfigurationMock */
+ $oConfigurationMock = $this->getMock(d3ordermanager_conf::class, array(
+ 'getGroupedActionIdList'
+ ));
+ $oConfigurationMock->method('getGroupedActionIdList')->willReturn($groupedList);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getConfiguration'
+ ));
+ $oProfileMock->method('getConfiguration')->willReturn($oConfigurationMock);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getProfile',
+ 'getActionList',
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('getActionList')->willReturn($oActionGroupListMock);
+
+ $this->_oController = $oControllerMock;
+
+ $aList = $this->callMethod($this->_oController, 'getGroupedActionList');
+
+ $this->assertInternalType('array', $aList);
+ $this->assertCount(2, $aList);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canLoadInOtherLanguages()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getAvailableInLangs',
+ 'loadInLang',
+ ));
+ $oProfileMock->method('getAvailableInLangs')->willReturn(array('de' => 'deutsch'));
+ $oProfileMock->expects($this->once())->method('loadInLang')->willReturn(true);
+
+ $this->setValue($this->_oController, '_iEditLang', 'en');
+
+ $this->assertSame(
+ $oProfileMock,
+ $this->callMethod(
+ $this->_oController,
+ '_d3LoadInOtherLang',
+ array($oProfileMock, 'oxid')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function dontNeedLoadInOtherLanguages()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getAvailableInLangs',
+ 'loadInLang',
+ ));
+ $oProfileMock->method('getAvailableInLangs')->willReturn(array('de' => 'deutsch'));
+ $oProfileMock->expects($this->never())->method('loadInLang')->willReturn(true);
+
+ $this->setValue($this->_oController, '_iEditLang', 'de');
+
+ $this->assertSame(
+ $oProfileMock,
+ $this->callMethod(
+ $this->_oController,
+ '_d3LoadInOtherLang',
+ array($oProfileMock, 'oxid')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function moduleListHasRightInstance()
+ {
+ $this->assertInstanceOf(
+ ModuleList::class,
+ $this->callMethod($this->_oController, 'getModuleList')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function shopCompatibilityAdapterHandlerHasRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ShopCompatibilityAdapterHandler::class,
+ $this->callMethod($this->_oController, 'getShopCompatibilityAdapterHandler')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetModulePathList()
+ {
+ /** @var d3ShopCompatibilityAdapterHandler|PHPUnit_Framework_MockObject_MockObject $oShopCompatibilityAdapterHandlerMock */
+ $oShopCompatibilityAdapterHandlerMock = $this->getMock(d3ShopCompatibilityAdapterHandler::class, array(
+ 'call'
+ ));
+ $oShopCompatibilityAdapterHandlerMock->method('call')->willReturnCallback(array($this, 'shopCompatHandlerCallback'));
+
+ $aModulesList = array(
+ 'd3module1' => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Module::class),
+ 'd3module2' => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Module::class)
+ );
+
+ /** @var ModuleList|PHPUnit_Framework_MockObject_MockObject $oModuleListMock */
+ $oModuleListMock = $this->getMock(ModuleList::class, array(
+ 'getModulesFromDir'
+ ));
+ $oModuleListMock->method('getModulesFromDir')->willReturn($aModulesList);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getModuleList',
+ 'getShopCompatibilityAdapterHandler',
+ ));
+ $oControllerMock->method('getModuleList')->willReturn($oModuleListMock);
+ $oControllerMock->method('getShopCompatibilityAdapterHandler')->willReturn($oShopCompatibilityAdapterHandlerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $aList = $this->callMethod($this->_oController, 'getModulePathList');
+
+ $this->assertSame(
+ array(
+ 'd3module1' => '/module/path/d3module1',
+ 'd3module2' => '/module/path/d3module2',
+ ),
+ $aList
+ );
+ }
+
+ public function shopCompatHandlerCallback()
+ {
+ $args = func_get_args();
+ return '/module/path/'.$args[1][1];
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canMarkedAsFinished()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'markConcernedItemsAsFinished'
+ ));
+ $oProfileMock->expects($this->once())->method('markConcernedItemsAsFinished')->willReturn(25);
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ 'getProfile',
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, 'markAsFinished');
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mainTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mainTest.php
index 786747be..953404e3 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mainTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mainTest.php
@@ -1,71 +1,152 @@
-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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
-Nhs4v/3S
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_main;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+
+class d3_cfg_ordermanageritem_mainTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_main */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_main::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ $this->assertContains(
+ '.tpl',
+ $this->callMethod($this->_oController, 'render')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changeDefaultValuesPostPass()
+ {
+ $_POST = [
+ 'editval' => ['d3modprofile__d3_cronjobid' => 'foo'],
+ ];
+
+ /** @var d3_cfg_ordermanageritem_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_main::class, array(
+ 'fixCronjobId'
+ ));
+ $oControllerMock->method('fixCronjobId')->willReturn('newCjId');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ array('foo' => 'bar'),
+ $this->callMethod($this->_oController, 'addDefaultValues', array(array('foo' => 'bar')))
+ );
+
+ $this->assertEquals('newCjId', $_POST['editval']['d3modprofile__d3_cronjobid']);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changeDefaultValuesGetPass()
+ {
+ $_GET = [
+ 'editval' => ['d3modprofile__d3_cronjobid' => 'foo'],
+ ];
+
+ /** @var d3_cfg_ordermanageritem_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_main::class, array(
+ 'fixCronjobId'
+ ));
+ $oControllerMock->method('fixCronjobId')->willReturn('newCjId');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ array('foo' => 'bar'),
+ $this->callMethod($this->_oController, 'addDefaultValues', array(array('foo' => 'bar')))
+ );
+
+ $this->assertEquals('newCjId', $_GET['editval']['d3modprofile__d3_cronjobid']);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function fixCronJobIdPass()
+ {
+ $this->assertEquals(
+ 'test_Id',
+ $this->callMethod(
+ $this->_oController,
+ 'fixCronjobId',
+ array('test Id')
+ )
+ );
+ $this->assertEquals(
+ 'test-Id',
+ $this->callMethod(
+ $this->_oController,
+ 'fixCronjobId',
+ array('test-Id')
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mallTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mallTest.php
index c6a04dbe..0e14da2c 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mallTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_mallTest.php
@@ -1,198 +1,376 @@
-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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
-pvRsCBo1xn9h
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
+use D3\ModCfg\Application\Model\d3filesystem;
+use D3\ModCfg\Application\Model\d3str;
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_mall;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Language;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3_cfg_ordermanageritem_mallTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_mall */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_mall::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function profileObjectHasRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $this->callMethod($this->_oController, 'getProfile')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderWithOxidPass()
+ {
+ $_POST['oxid'] = 'foobar';
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'loadInLang',
+ ));
+ $oProfileMock->expects($this->once())->method('loadInLang')->willReturn(true);
+
+ /** @var d3_cfg_ordermanageritem_mall|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_mall::class, array(
+ 'getProfile',
+ '_d3LoadInOtherLang',
+ '_isSetOxid'
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('_d3LoadInOtherLang')->willReturn($oProfileMock);
+ $oControllerMock->method('_isSetOxid')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertRegExp(
+ '@.+\.tpl@i',
+ $this->callMethod($this->_oController, 'render')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderWithoutOxidPass()
+ {
+ $_POST['oxid'] = null;
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'loadInLang',
+ ));
+ $oProfileMock->expects($this->never())->method('loadInLang')->willReturn(true);
+
+ /** @var d3_cfg_ordermanageritem_mall|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_mall::class, array(
+ 'getProfile',
+ '_d3LoadInOtherLang',
+ '_isSetOxid'
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('_d3LoadInOtherLang')->willReturn($oProfileMock);
+ $oControllerMock->method('_isSetOxid')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertRegExp(
+ '@.+\.tpl@i',
+ $this->callMethod($this->_oController, 'render')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetUserMessages()
+ {
+ $this->assertInternalType(
+ 'array',
+ $this->callMethod($this->_oController, 'getUserMessages')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function languageObjectIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Language::class,
+ $this->callMethod($this->_oController, 'getLang')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetHelpUrlWithExtension()
+ {
+ /** @var d3filesystem|PHPUnit_Framework_MockObject_MockObject $oFileSystemMock */
+ $oFileSystemMock = $this->getMock(d3filesystem::class, array(
+ 'unprefixedslashit',
+ 'splitFilename',
+ ));
+ $oFileSystemMock->method('unprefixedslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+ $oFileSystemMock->method('splitFilename')->willReturn(
+ array('name' => 'filename', 'ext' => 'html')
+ );
+ d3GetModCfgDIC()->set(d3filesystem::class, $oFileSystemMock);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'TranslateString',
+ ));
+ $oLangMock->method('TranslateString')->willReturn('modulepath');
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getHelpURL'
+ ));
+ $oModCfgMock->method('getHelpURL')->willReturn('https://faq.d3data.de/module/');
+
+ /** @var d3_cfg_ordermanageritem_mall|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_mall::class, array(
+ 'd3GetSet',
+ 'getLang',
+ ));
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->setValue($oControllerMock, '_sHelpLinkMLAdd', 'foobar');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'https://faq.d3data.de/module/modulepath',
+ $this->callMethod($this->_oController, 'getHelpURL')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetHelpUrlWithoutExtension()
+ {
+ /** @var d3filesystem|PHPUnit_Framework_MockObject_MockObject $oFileSystemMock */
+ $oFileSystemMock = $this->getMock(d3filesystem::class, array(
+ 'splitFilename',
+ ));
+ $oFileSystemMock->method('splitFilename')->willReturn(
+ array('name' => 'filename', 'ext' => '')
+ );
+
+ d3GetModCfgDIC()->set(d3filesystem::class, $oFileSystemMock);
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'unprefixedslashit',
+ 'trailingslashit',
+ ));
+ $oD3StrMock->method('unprefixedslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+ $oD3StrMock->expects($this->once())->method('trailingslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+
+ d3GetModCfgDIC()->set(d3str::class, $oD3StrMock);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'TranslateString',
+ ));
+ $oLangMock->method('TranslateString')->willReturn('modulepath');
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getHelpURL'
+ ));
+ $oModCfgMock->method('getHelpURL')->willReturn('https://faq.d3data.de/module/');
+
+ /** @var d3_cfg_ordermanageritem_mall|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_mall::class, array(
+ 'd3GetSet',
+ 'getLang',
+ ));
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->setValue($oControllerMock, '_sHelpLinkMLAdd', 'foobar');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'https://faq.d3data.de/module/modulepath',
+ $this->callMethod($this->_oController, 'getHelpURL')
+ );
+ }
+
+ /**
+ * @return mixed
+ */
+ public function firstArgumentReturnCallback()
+ {
+ $args = func_get_args();
+ return $args[0];
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function modcfgObjectIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3_cfg_mod::class,
+ $this->callMethod($this->_oController, 'd3GetSet')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function naviItemshasRightType()
+ {
+ $this->assertInternalType(
+ 'array',
+ $this->callMethod($this->_oController, 'getNaviItems')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function menuItemTitleHasRightType()
+ {
+ $this->assertInternalType(
+ 'string',
+ $this->callMethod($this->_oController, 'd3GetMenuItemTitle')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function menuSubItemTitleHasRightType()
+ {
+ $this->assertInternalType(
+ 'string',
+ $this->callMethod($this->_oController, 'd3GetMenuSubItemTitle')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkSetOxidPass()
+ {
+ $this->assertTrue(
+ $this->callMethod($this->_oController, '_isSetOxid', array('foobar'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkUnsetOxidPass()
+ {
+ $this->assertFalse(
+ $this->callMethod($this->_oController, '_isSetOxid', array(-1))
+ );
+ $this->assertFalse(
+ $this->callMethod($this->_oController, '_isSetOxid', array(null))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canLoadInOtherLang()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getAvailableInLangs',
+ 'loadInLang',
+ ));
+ $oProfileMock->method('getAvailableInLangs')->willReturn(array('en' => 'english'));
+ $oProfileMock->expects($this->once())->method('loadInLang')->willReturn(true);
+
+ $this->setValue($this->_oController, '_iEditLang', 'de');
+
+ $this->assertSame(
+ $oProfileMock,
+ $this->callMethod($this->_oController, '_d3LoadInOtherLang', array($oProfileMock, 'foobar'))
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_overviewTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_overviewTest.php
index 7836db4a..c51c34c0 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_overviewTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_overviewTest.php
@@ -1,488 +1,1278 @@
-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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
-CZOsBXGvH+YhAMwZIVK6Z0==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_action;
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_overview;
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_requ;
+use D3\Ordermanager\Application\Model\Actions\d3ordermanager_actionlist;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
+use D3\Ordermanager\Application\Model\d3ordermanager_listgenerator;
+use D3\Ordermanager\Application\Model\Requirements\d3ordermanager_requirementlist;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\SystemComponentException;
+use OxidEsales\Eshop\Core\Language;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3_cfg_ordermanageritem_overviewTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_overview */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_overview::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function actionAdminControllerIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3_cfg_ordermanageritem_action::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getActionAdminController'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function requirementAdminControllerIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3_cfg_ordermanageritem_requ::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getRequirementAdminController'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function callFromActionItemClassPass()
+ {
+ $sMethodName = 'methodeName';
+ $sOtherMethodName = 'otherMethodName';
+ $mExpectedAction = 'returnValueAction';
+ $mExpectedRequ = 'returnValueRequ';
+ $mExpectedController = 'returnValueController';
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oActionAdminControllerMock */
+ $oActionAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sMethodName
+ ));
+ $oActionAdminControllerMock
+ ->expects($this->once())
+ ->method($sMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedAction);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oRequirementAdminControllerMock */
+ $oRequirementAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sOtherMethodName
+ ));
+ $oRequirementAdminControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedRequ);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getActionAdminController',
+ 'getRequirementAdminController',
+ $sOtherMethodName
+ ));
+ $oControllerMock->method('getActionAdminController')->willReturn($oActionAdminControllerMock);
+ $oControllerMock->method('getRequirementAdminController')->willReturn($oRequirementAdminControllerMock);
+ $oControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedController);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpectedAction,
+ $this->callMethod(
+ $this->_oController,
+ '__call',
+ array($sMethodName, array('sArg1'))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function callFromRequItemClassPass()
+ {
+ $sMethodName = 'methodeName';
+ $sOtherMethodName = 'otherMethodName';
+ $mExpectedAction = 'returnValueAction';
+ $mExpectedRequ = 'returnValueRequ';
+ $mExpectedController = 'returnValueController';
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oActionAdminControllerMock */
+ $oActionAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sOtherMethodName
+ ));
+ $oActionAdminControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedAction);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oRequirementAdminControllerMock */
+ $oRequirementAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sMethodName
+ ));
+ $oRequirementAdminControllerMock
+ ->expects($this->once())
+ ->method($sMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedRequ);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getActionAdminController',
+ 'getRequirementAdminController',
+ $sOtherMethodName
+ ));
+ $oControllerMock->method('getActionAdminController')->willReturn($oActionAdminControllerMock);
+ $oControllerMock->method('getRequirementAdminController')->willReturn($oRequirementAdminControllerMock);
+ $oControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedController);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpectedRequ,
+ $this->callMethod(
+ $this->_oController,
+ '__call',
+ array($sMethodName, array('sArg1'))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function callFromControllerClassPass()
+ {
+ $sMethodName = 'methodeName';
+ $sOtherMethodName = 'otherMethodName';
+ $mExpectedAction = 'returnValueAction';
+ $mExpectedRequ = 'returnValueRequ';
+ $mExpectedController = 'returnValueController';
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oActionAdminControllerMock */
+ $oActionAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sOtherMethodName
+ ));
+ $oActionAdminControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedAction);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oRequirementAdminControllerMock */
+ $oRequirementAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sOtherMethodName
+ ));
+ $oRequirementAdminControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedRequ);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getActionAdminController',
+ 'getRequirementAdminController',
+ $sMethodName
+ ));
+ $oControllerMock->method('getActionAdminController')->willReturn($oActionAdminControllerMock);
+ $oControllerMock->method('getRequirementAdminController')->willReturn($oRequirementAdminControllerMock);
+ $oControllerMock
+ ->expects($this->once())
+ ->method($sMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedController);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpectedController,
+ $this->callMethod(
+ $this->_oController,
+ '__call',
+ array($sMethodName, array('sArg1'))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function callDontPass()
+ {
+ $sMethodName = 'methodeName';
+ $sOtherMethodName = 'otherMethodName';
+ $mExpectedAction = 'returnValueAction';
+ $mExpectedRequ = 'returnValueRequ';
+ $mExpectedController = 'returnValueController';
+
+ /** @var d3_cfg_ordermanageritem_action|PHPUnit_Framework_MockObject_MockObject $oActionAdminControllerMock */
+ $oActionAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sOtherMethodName
+ ));
+ $oActionAdminControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedAction);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oRequirementAdminControllerMock */
+ $oRequirementAdminControllerMock = $this->getMock(d3_cfg_ordermanageritem_action::class, array(
+ $sOtherMethodName
+ ));
+ $oRequirementAdminControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedRequ);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getActionAdminController',
+ 'getRequirementAdminController',
+ $sOtherMethodName
+ ));
+ $oControllerMock->method('getActionAdminController')->willReturn($oActionAdminControllerMock);
+ $oControllerMock->method('getRequirementAdminController')->willReturn($oRequirementAdminControllerMock);
+ $oControllerMock
+ ->expects($this->never())
+ ->method($sOtherMethodName)
+ ->with(
+ $this->stringContains('sArg1')
+ )
+ ->willReturn($mExpectedController);
+
+ $this->_oController = $oControllerMock;
+
+ $this->setExpectedException(SystemComponentException::class);
+
+ $this->assertSame(
+ $mExpectedController,
+ $this->callMethod(
+ $this->_oController,
+ '__call',
+ array($sMethodName, array('sArg1'))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function requirementListObjectIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_requirementlist::class,
+ $this->callMethod(
+ $this->_oController,
+ "getRequirementListObject",
+ array(d3GetModCfgDIC()->get(d3ordermanager::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetRequirementList()
+ {
+ /** @var d3ordermanager_conf|PHPUnit_Framework_MockObject_MockObject $oManagerConfMock */
+ $oManagerConfMock = $this->getMock(d3ordermanager_conf::class, array(
+ 'getRequirementIdList'
+ ));
+ $oManagerConfMock->method('getRequirementIdList')->willReturn(true);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getConfiguration'
+ ));
+ $oProfileMock->method('getConfiguration')->willReturn($oManagerConfMock);
+
+ /** @var d3ordermanager_requirementlist|PHPUnit_Framework_MockObject_MockObject $oRequListMock */
+ $oRequListMock = $this->getMock(d3ordermanager_requirementlist::class, array(
+ 'setRequirements',
+ 'getRequirementList'
+ ), array($oProfileMock));
+ $oRequListMock->method('setRequirements')->willReturn(true);
+ $oRequListMock->expects($this->once())->method('getRequirementList')->willReturn('testReturn');
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getProfile',
+ 'getRequirementListObject',
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('getRequirementListObject')->willReturn($oRequListMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'testReturn',
+ $this->callMethod(
+ $this->_oController,
+ "getRequirementList"
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function actionListObjectIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_actionlist::class,
+ $this->callMethod(
+ $this->_oController,
+ "getActionListObject",
+ array(d3GetModCfgDIC()->get(d3ordermanager::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetActionList()
+ {
+ /** @var d3ordermanager_conf|PHPUnit_Framework_MockObject_MockObject $oManagerConfMock */
+ $oManagerConfMock = $this->getMock(d3ordermanager_conf::class, array(
+ 'getActionIdList'
+ ));
+ $oManagerConfMock->method('getActionIdList')->willReturn(true);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getConfiguration'
+ ));
+ $oProfileMock->method('getConfiguration')->willReturn($oManagerConfMock);
+
+ /** @var d3ordermanager_actionlist|PHPUnit_Framework_MockObject_MockObject $oActionListMock */
+ $oActionListMock = $this->getMock(d3ordermanager_actionlist::class, array(
+ 'setActions',
+ 'getActionList'
+ ), array($oProfileMock, d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oActionListMock->method('setActions')->willReturn(true);
+ $oActionListMock->expects($this->once())->method('getActionList')->willReturn('testReturn');
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getProfile',
+ 'getActionListObject',
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('getActionListObject')->willReturn($oActionListMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'testReturn',
+ $this->callMethod(
+ $this->_oController,
+ "getActionList"
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function editModeIsBoolean()
+ {
+ $this->assertInternalType(
+ 'bool',
+ $this->callMethod(
+ $this->_oController,
+ 'isEditMode'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetAndGetRequestData()
+ {
+ $sExpected = 'testData';
+ $_POST['sRequestData'] = $sExpected;
+
+ $this->callMethod($this->_oController, 'setRequestData');
+ $this->assertSame($sExpected, $this->callMethod($this->_oController, '_getRequestData'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetToFinishedCountCanRequestData()
+ {
+ $mExpected = 255;
+
+ /** @var d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject $oListGeneratorMock */
+ $oListGeneratorMock = $this->getMock(d3ordermanager_listgenerator::class, array(
+ 'getConcernedItemCount'
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class)));
+ $oListGeneratorMock->method('getConcernedItemCount')->willReturn($mExpected);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getListGenerator'
+ ));
+ $oProfileMock->method('getListGenerator')->willReturn($oListGeneratorMock);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'getProfile',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(true);
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getToFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetToFinishedCountHasRequestData()
+ {
+ $mExpected = 256;
+ $_POST['toFinishedCount'] = $mExpected;
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getToFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotGetToFinishedCount()
+ {
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEmpty(
+ $this->callMethod(
+ $this->_oController,
+ 'getToFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetFinishedCountCanRequestData()
+ {
+ $mExpected = 257;
+
+ /** @var d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject $oListGeneratorMock */
+ $oListGeneratorMock = $this->getMock(d3ordermanager_listgenerator::class, array(
+ 'getFinishedItemCount'
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class)));
+ $oListGeneratorMock->method('getFinishedItemCount')->willReturn($mExpected);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getListGenerator'
+ ));
+ $oProfileMock->method('getListGenerator')->willReturn($oListGeneratorMock);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'getProfile',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(true);
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetFinishedCountHasRequestData()
+ {
+ $mExpected = 258;
+ $_POST['finishedCount'] = $mExpected;
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotGetFinishedCount()
+ {
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEmpty(
+ $this->callMethod(
+ $this->_oController,
+ 'getFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetFinishedMonthCountCanRequestData()
+ {
+ $mExpected = 259;
+
+ /** @var d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject $oListGeneratorMock */
+ $oListGeneratorMock = $this->getMock(d3ordermanager_listgenerator::class, array(
+ 'getFinishedMonthItemCount'
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class)));
+ $oListGeneratorMock->method('getFinishedMonthItemCount')->willReturn($mExpected);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getListGenerator'
+ ));
+ $oProfileMock->method('getListGenerator')->willReturn($oListGeneratorMock);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'getProfile',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(true);
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getFinishedMonthCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetFinishedMonthCountHasRequestData()
+ {
+ $mExpected = 260;
+ $_POST['finishedMonthCount'] = $mExpected;
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getFinishedMonthCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotGetFinishedMonthCount()
+ {
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEmpty(
+ $this->callMethod(
+ $this->_oController,
+ 'getFinishedMonthCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetNotFinishedCountCanRequestData()
+ {
+ $mExpected = 261;
+
+ /** @var d3ordermanager_listgenerator|PHPUnit_Framework_MockObject_MockObject $oListGeneratorMock */
+ $oListGeneratorMock = $this->getMock(d3ordermanager_listgenerator::class, array(
+ 'getNotFinishedItemCount'
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class)));
+ $oListGeneratorMock->method('getNotFinishedItemCount')->willReturn($mExpected);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getListGenerator'
+ ));
+ $oProfileMock->method('getListGenerator')->willReturn($oListGeneratorMock);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'getProfile',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(true);
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getNotFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetNotFinishedCountHasRequestData()
+ {
+ $mExpected = 262;
+ $_POST['notFinishedCount'] = $mExpected;
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getNotFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotGetNotFinishedMonthCount()
+ {
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'canRequestData',
+ 'canUseRequestData',
+ ));
+ $oControllerMock->method('canRequestData')->willReturn(false);
+ $oControllerMock->method('canUseRequestData')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEmpty(
+ $this->callMethod(
+ $this->_oController,
+ 'getNotFinishedCount'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canRequestDataNoDemand()
+ {
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getDataOnDemand',
+ ));
+ $oControllerMock->method('getDataOnDemand')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'canRequestData',
+ array($sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canRequestDataOnDemandHasRequestData()
+ {
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getDataOnDemand',
+ '_getRequestData'
+ ));
+ $oControllerMock->method('getDataOnDemand')->willReturn(true);
+ $oControllerMock->method('_getRequestData')->willReturn($sFncName);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'canRequestData',
+ array($sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canRequestDataOnDemandHasNoRequestData()
+ {
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getDataOnDemand',
+ '_getRequestData'
+ ));
+ $oControllerMock->method('getDataOnDemand')->willReturn(true);
+ $oControllerMock->method('_getRequestData')->willReturn('otherFncName');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ 'canRequestData',
+ array($sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkUsableRequestDataNoDemand()
+ {
+ $iRequestCount = '300';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getDataOnDemand'
+ ));
+ $oControllerMock->method('getDataOnDemand')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ 'canUseRequestData',
+ array($iRequestCount)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkUsableRequestDataOnDemandHasRequestData()
+ {
+ $iRequestCount = '301';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getDataOnDemand',
+ ));
+ $oControllerMock->method('getDataOnDemand')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'canUseRequestData',
+ array($iRequestCount)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkUsableRequestDataOnDemandHasNoRequestData()
+ {
+ $iRequestCount = null;
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getDataOnDemand',
+ ));
+ $oControllerMock->method('getDataOnDemand')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ 'canUseRequestData',
+ array($iRequestCount)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function dataOnDemandOptionPass()
+ {
+ $mExpected = 'testValue';
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $oModCfgMock->method('getValue')->willReturn($mExpected);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'd3GetSet',
+ ));
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getDataOnDemand'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasRequestedDataHasData()
+ {
+ $_POST['sRequestName'] = 400;
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ '_getRequestData'
+ ));
+ $oControllerMock->method('_getRequestData')->willReturn($sFncName);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'hasRequestedData',
+ array('sRequestName', $sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasRequestedDataHasNoData()
+ {
+ $_POST['sRequestName'] = null;
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ '_getRequestData'
+ ));
+ $oControllerMock->method('_getRequestData')->willReturn($sFncName);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'hasRequestedData',
+ array('sRequestName', $sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasRequestedDataHasOtherFunctionName()
+ {
+ $_POST['sRequestName'] = 401;
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ '_getRequestData'
+ ));
+ $oControllerMock->method('_getRequestData')->willReturn('otherFncName');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'hasRequestedData',
+ array('sRequestName', $sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasRequestedDataHasNoDataAndOtherFunctionName()
+ {
+ $_POST['sRequestName'] = null;
+ $sFncName = 'fncName';
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ '_getRequestData'
+ ));
+ $oControllerMock->method('_getRequestData')->willReturn('otherFncName');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ 'hasRequestedData',
+ array('sRequestName', $sFncName)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getManager'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getLangReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Language::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getLang'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerTitleFromObjectPass()
+ {
+ $mExpected = 'managerTitleFromObject';
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'getFieldData'
+ ));
+ $oManagerMock->method('load')->willReturn(true);
+ $oManagerMock->method('getFieldData')->willReturn($mExpected);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getManager'
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getManagerTitle',
+ array('sManagerId')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerTitleFromTranslationPass()
+ {
+ $mExpected = 'managerTitleFromTranslation';
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(d3ordermanager::class, array(
+ 'translateString',
+ ));
+ $oLangMock->method('translateString')->willReturn($mExpected);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'getFieldData'
+ ));
+ $oManagerMock->method('load')->willReturn(false);
+ $oManagerMock->method('getFieldData')->willReturn($mExpected);
+
+ /** @var d3_cfg_ordermanageritem_overview|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_overview::class, array(
+ 'getManager',
+ 'getLang'
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->_oController = $oControllerMock;
+
+ $sTitle = $this->callMethod(
+ $this->_oController,
+ 'getManagerTitle',
+ array('sManagerId')
+ );
+
+ $this->assertRegExp('@'.$mExpected.'@i', $sTitle);
+ $this->assertRegExp('@sManagerId@i', $sTitle);
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_requTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_requTest.php
index 3f98fd51..e98b12f0 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_requTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_requTest.php
@@ -1,176 +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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
-pvU9i0AvTXlNggXbk64=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_requ;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
+use D3\Ordermanager\Application\Model\d3ordermanagerlist;
+use D3\Ordermanager\Application\Model\Requirements\d3ordermanager_requirementgrouplist;
+use D3\Ordermanager\Application\Model\Requirements\d3ordermanager_requirementlist;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Exception;
+use OxidEsales\Eshop\Application\Model\CountryList;
+use OxidEsales\Eshop\Application\Model\Delivery;
+use OxidEsales\Eshop\Application\Model\DeliveryList;
+use OxidEsales\Eshop\Application\Model\PaymentList;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+
+class d3_cfg_ordermanageritem_requTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_requ */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_requ::class);
+
+ $oSampleManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oSampleManager->setId('testId');
+ $oSampleManager->save();
+
+ $oTestDelivery = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Delivery::class);
+ $oTestDelivery->setId('testId');
+ $oTestDelivery->save();
+
+ $aViewData = array_merge(
+ $this->_oController->getViewData(),
+ array('edit' => $oSampleManager)
+ );
+
+ $this->_oController->setViewData($aViewData);
+ }
+
+ /**
+ * @throws Exception
+ */
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+
+ $oSampleManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oSampleManager->delete('testId');
+
+ $oTestDelivery = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Delivery::class);
+ $oTestDelivery->delete('testId');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSaveNoMissingValues()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $getValueMap = [['blCheckTrackcode_status', true]];
+ $oProfileMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_requ::class, array(
+ 'getProfile'
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, 'save');
+ $this->assertNull($this->_oController->getViewDataElement('missingRequValuesActions'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSaveMissingValues()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $getValueMap = [['blCheckDelivery_status', true]];
+ $oProfileMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_requ::class, array(
+ 'getProfile'
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, 'save');
+ $aMissing = $this->_oController->getViewDataElement('missingRequValuesActions');
+ $this->assertInternalType('array', $aMissing);
+ $this->assertCount(1, $aMissing);
+ $this->assertContains('deliveryFilter', $aMissing);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getPaymentListPass()
+ {
+ /** @var PaymentList $oList */
+ $oList = $this->callMethod(
+ $this->_oController,
+ 'getPaymentList'
+ );
+
+ $this->assertInstanceOf(
+ PaymentList::class,
+ $oList
+ );
+ $this->assertTrue(count($oList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getDeliveryListPass()
+ {
+ /** @var DeliveryList $oList */
+ $oList = $this->callMethod(
+ $this->_oController,
+ 'getDeliveryList'
+ );
+
+ $this->assertInstanceOf(
+ DeliveryList::class,
+ $oList
+ );
+ $this->assertTrue(count($oList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getCountryListPass()
+ {
+ /** @var CountryList $oList */
+ $oList = $this->callMethod(
+ $this->_oController,
+ 'getCountryList'
+ );
+
+ $this->assertInstanceOf(
+ CountryList::class,
+ $oList
+ );
+ $this->assertTrue(count($oList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getOrdermanagerJobListPass()
+ {
+ /** @var d3ordermanagerlist $oList */
+ $oList = $this->callMethod(
+ $this->_oController,
+ 'getJobList'
+ );
+
+ $this->assertInstanceOf(
+ d3ordermanagerlist::class,
+ $oList
+ );
+ $this->assertTrue(count($oList) > 0, 'ordermanager job list shouldn\t empty');
+ $this->assertFalse($oList->offsetExists('testId'), 'current object shouldn\'t contain in job list');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getLanguageListPass()
+ {
+ /** @var array $aList */
+ $aList = $this->callMethod(
+ $this->_oController,
+ 'getLanguageList'
+ );
+
+ $this->assertInternalType(
+ "array",
+ $aList
+ );
+ $this->assertTrue(count($aList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getTransStatusListPass()
+ {
+ /** @var array $aTransStatusList */
+ $aTransStatusList = $this->callMethod(
+ $this->_oController,
+ 'getTransStatusList'
+ );
+
+ $this->assertInternalType(
+ "array",
+ $aTransStatusList
+ );
+ $this->assertTrue(count($aTransStatusList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function addDefaultValuesReturnValues()
+ {
+ $aValues = array(
+ 'key1' => 'value1',
+ 'key2' => 'value2',
+ );
+
+ $this->assertSame(
+ $aValues,
+ $this->callMethod(
+ $this->_oController,
+ 'addDefaultValues',
+ array($aValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function getRequirementGroupListReturnsRightInstance()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+
+ $this->assertInstanceOf(
+ d3ordermanager_requirementgrouplist::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getRequirementGroupList',
+ array($oManager)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetRequirementListObject()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_requirementlist::class,
+ $this->callMethod($this->_oController, 'getRequirementListObject', array(d3GetModCfgDIC()->get(d3ordermanager::class)))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetRequirementList()
+ {
+ $aRequList = $this->callMethod($this->_oController, 'getRequirementList');
+ $this->assertInternalType(
+ 'array',
+ $aRequList
+ );
+ $this->assertTrue(count($aRequList) > 0);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getGroupedRequirementListPass()
+ {
+ $mExpected = array('item1', 'item2');
+
+ /** @var d3ordermanager_conf|PHPUnit_Framework_MockObject_MockObject $oManagerConfMock */
+ $oManagerConfMock = $this->getMock(d3ordermanager_conf::class, array(
+ 'getGroupedRequirementIdList'
+ ));
+ $oManagerConfMock->method('getGroupedRequirementIdList')->willReturn(true);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oProfileMock */
+ $oProfileMock = $this->getMock(d3ordermanager::class, array(
+ 'getConfiguration'
+ ));
+ $oProfileMock->method('getConfiguration')->willReturn($oManagerConfMock);
+
+ /** @var d3ordermanager_requirementgrouplist|PHPUnit_Framework_MockObject_MockObject $oRequGroupListMock */
+ $oRequGroupListMock = $this->getMock(d3ordermanager_requirementgrouplist::class, array(
+ 'setGroups',
+ 'getGroupList'
+ ), array($oProfileMock));
+ $oRequGroupListMock->method('setGroups')->willReturn(true);
+ $oRequGroupListMock->method('getGroupList')->willReturn($mExpected);
+
+ /** @var d3_cfg_ordermanageritem_requ|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_requ::class, array(
+ 'getProfile',
+ 'getRequirementGroupList',
+ ));
+ $oControllerMock->method('getProfile')->willReturn($oProfileMock);
+ $oControllerMock->method('getRequirementGroupList')->willReturn($oRequGroupListMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $mExpected,
+ $this->callMethod(
+ $this->_oController,
+ 'getGroupedRequirementList'
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_settingsTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_settingsTest.php
index ba92262e..ff26b418 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_settingsTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_settingsTest.php
@@ -1,93 +1,156 @@
-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+cPwZ7+2hNdS4DhW5j2HhQiYIDvz7Ti1Lq3fwu3d7pQ68bZ1Vb1EWe2yOCxBk8w6hODaJdQDoh
-BqobeEkgANRVuz4BQgM/nOXNw1JFb8Vb1oDglPcMV5DITs+bBNMqSL9zFWLwb3KVbr9pjGcNblvA
-e1SKH7IElhjXhF997hWpjODGCTHNWOJuKbMYEdCrw8oqcpPXRv+8pDFbJDvMmHw3cw0SxmIMG2XA
-eDJL4fQucQjSEGyXKKM5dkEtat+O+aZQ7Du6kmRCKTTllPBMLQrLYayEOrve7LfOtEcDiQ4dALbS
-QOyst5o4BD72yLvwRdopwDsVwxbfIz6GuYEmsIE3U0QyI+7A3nkzuhY8P/amcvkLAAcGb1jtOFPC
-ghOaOO7iH1E7oiWpOTNJPQYhTXLyj+0UJiWxL3lE6kLcgRpBtBgZzPP0o06Yje+mgvMYPcb3m0JI
-WcjivtNu/yBziBqZjVu2WTYwM2XDxLuBDKzE+CsCHAYgxe8RtAeNv1OliNoSuH68/fMMFwsP1DQX
-rPnsQFYOEbVdfC3qGbIM5YboMYtcALhwGVGPfj6qyRPqWIhGmFFnwWIgexxXWjuPbVPQSHoMKWaY
-rOJYTRSnPwD5yJSXsghAGzVzY9P6+fDnBo2BxTWTi0WM817/MudblTe6Ug193UtZ0sJBpuz8sASK
-zJCD9FjNGRq6K5V1MX7y90PTZku//g+RuJRFbbdPJdmBoNZqFnLjMQxi5VgS2KNQuyIDnEmhpKiZ
-1J0WKGjzX8Y61+LUA9wZMDA1uFZ10wh9XAvvuVVny/L2VtJfU8nyxqDtRI5Scc6FccO5aNliMqtW
-y0jcsAagR3SU9T7eMBQ3yDxoY6gKKmcrIUnnBvflYgt6THVkgpynP97gB9fGq8u/z3WwD9TBez6s
-5kGI9R7WNr6gnRrUYsQyVTgkg1cgPm4KiROCPNd1WQEFDZxIxkQWqV2IjCZRh8cQPpr/RrY5oXJn
-rFXUmNhiQfohG9eSaqCpuH845O966B3tKFNjLsk0NAcG2ic8MFfMhH72M7XyMEe7a2D5Ggv3rqzo
-uguYnzL+bPKaqRSFOyzxBM9iwvHVo0m9PNCBBoXL3Cr059W5XC10MAzUn27dnFTQYyRcAJRXMVVH
-UMkdSnrqkRZz/Z1sOw0CE9bb3UAAMislKUGbyn3xZbQYuW3fpbLpehm6UrDq76SklkgALKXYvdIU
-fioVhKZ1Mbw7j9XAMaG9LFCBP6eGxDMh+waIBhMn9Wn2PH9SEK7WLDc4JtSqH5fOGN+EVAy9X1rx
-YobhzA2NvN2UAaVDlDN7AvA+AahAyXRKfpzttqbkurTMcrdY6pH5ii1/84nkwLBTl7GrBl+VTC52
-apPCgWSU0oMmciOqbsLDIibypQEyE76AMcs47w0q2WCCb3lNmzRu7+SsG4VBibAMcNpbHdxFMYtw
-Xq+4LSvgqxebEJan6XUS3mxcnfnJbR7EjYuNP69mjNiXNRiIOj8OVRWEtOtWerCmwPCLMXoKJT9p
-4Q5UVVMBvkLT7aT6VFVKwPKgSjQxDqIULP1nlpam4vKIxsYJWAaOGmCtHuJZ7tM59dCDBs7zj4sO
-gfNRA3i/Y9DSPZxbmN3nhZ6cmZsO09hHtFLx2GwSZpB0QQWjiPg+2HPijhzxWX1FkZRuFe5EosDN
-ccb+sLVj0TNTTHY1e1AZlIi6WwMIcKH3YyyC+0XkyYL/up2LzHyaZH/+bnS4+ZEA2oTcjHiwbsAF
-RAcg918OdGfH+DD0eZxsiFRYVA3B/AYbehJtYr+6nlWe4tt/TzYFcsT4/2a+2DNMmTMDG2xfbjL+
-/5jOKHR0Doj7sApIvmoV5cWVE1Ulibta7YUqB0uL+UAWbHysYz9gh+TpbplL/t94vXCGzFt5X3L7
-iQKUEGnxc0qoPu03kXk+zg2DWRI0fwBeLON7lu7NpwsbCOdZUr5p429osk1dB8aOltZFscEIke4j
-4KYkouH/Z3F1wDLdcaihDyvrppvBNqmHoLBuXRPKcpORVEs+I8fbGWzfFMuLw4x1RIME2HUbWcJ0
-7f7AiNdOcKJQYRb+/pswvMldjSZLNoLAbZIaJ+uhZNrc34N/HWnjq5KXG88UfeOq6XCr8zAeEB2W
-3xQGP4nRM0gMuNdxcanVVtI2RxSPyTWNuQh1PxtNCcFD52TVdp1O8U7QWNdWvfHxdQN5V2fFokZU
-vmTDU4d016InHr2C0Nz52umYbEDIPsr5vYe426DKFyJBWWwpB6kBL2gE75f9lxcd22hx5nAu4iNF
-pI5HbA2jfy7wWXg2GxOUjdporIbaNL/w9UuLQDwVaqSufm5ulAwU1mnMEludpQHtDj16nZycnJVV
-HgDrsEZeYaD81j1dHj71NRFkawOAziLIHyesZm39pVLp/+cZwZEicnB17q1YK8vLfaPYW/af0FaJ
-nGsr+5zfrA6c01zs4AR2PcZ6MPtett0SLbcchrwJRd/myFuSdhQzWl7VxqarhrfQ+GngdvCOQm84
-pyT8+u7DCFOST51X75wyMjYnV3diNDC3fSrWg6q70V48278ts/aKRQeXBRLNEWDAur37qsvszjub
-0cVfkWsZLPj8u+KrcnE6MY0xxFkAWgvQ8kwXIx5Qdjz+8ZxQnx9hQMo3QawAL6NvwRUD8wrZsWSg
-idkUWQtzfNP1hcbrGYEqztFwUfXqT32SZIG5KcrGD4y8yXCj8YQblJgRcuWWbHEHQWN2XQYL+jKW
-qdzGmt//LnWiC70c8Zh518M4demtd9DLJIvOzZWvmsrsb6zRrNqrTEUl4q/ZLr4gwM0GwY77BUoM
-c0xhTVsG/cefsKx/yL71+qZ8237pkBeEoTJnVxTb5giddi5b6VRZymn5IRvoSC8+kF2SuvLUhzDx
-/oAyoIhwJWnyfp1HkNwTcmeuFGOcvNTziC4Rzz4LrP4XmsO8XDk6VcCPTcRhfawhXnNEpapz+H8f
-KddDrDfAMs/XhWFApcGapucMnOQgJV1+UwLQ7Y77ZkdfPh94yBL7sya/OeT1aK+eJsrAH/Olz2Ti
-P4eCwjGS6qJltryat8ft43e6T4+hZ8BAKc/krjLzdvB551XZ1E78HfnpVQsGq0C7Bd2QUmw+R2/l
-jE+KWNpcnHbPc6ALtyewM2LHdhdZOIEOY8K/i2T++SnhL94kq+AmB4kIUiBX3AXQxyGo+env6V4t
-CvnNkaO+f04GL+ePz4RtIM2O8UmY+fm9k/NV7iTjR571a3t4Dqr0FJTZT7a1sAotQFSgpPdjlLqM
-jT40s6CLrE+InIX6CQp9EWs0MxfX8HWL8atSCPfh/OU4eAyZaYQ8tp0ICBL9AcNv/ztYmbm9vD5I
-5rYgi5hAZPqNBaclidwOOPE2JPX6mH5SOK/w2ZHJRuvYf6776jGfO7fzgm/jLwwci/D9dpk2l4j/
-Jm5WJhq1mGShuhY59qzqzlRN2tRqFXILQ842MRo+XAJa3im+gM8BQmLGxjxiewCWXRatZdUuTnrC
-EsKmXMrWBhxJRvw2Xl1fLVMJhkLJ+diJXkIgcYyI7DtqAa+VRbyQs9lU0JBCNngj5t6ja4YRaSG5
-zPogNEM1lIUPnHXq7+Pt2k1/9nem0AhV4rruMNKZEiPYZCyCJFPtDWPAGiI2WSWKQ8qSmlu80E7j
-lcJtkxhprHRN4Hq8kLl3l/urSFjFT5TVZzkV1RfRgfjlPZtyJ3IAVhWECy/sXgoIEsuGaRqNsAdb
-YyIVgf8rBfgBTYuSYTDNXPqseExuBvwaZn4pltKb26yaVx8ABtlpLqf8KKefepPkiTAW+qccJ0nD
-aht+XHp6DX+/eoyO2jhNDOmY+M4chxO+ok0AVPKOhY1HyDAqsILSgRTg0gsdFjYUNo90V+GIx+YF
-Ya9njcRhcF6YOQTI/4kbRQkCTuj5aprVDX7Q9G4PldTT+zvQ/94Sv8d/42NlQnqebIGEJsOJL3+L
-5WMDwzbuXaTIGi+609YNkAq1ojsTyegfB9PAX+US4NvfVzue51EFTNsAH5w8lTCCMuJVJpPhnwxc
-1IRb7CDKy8eebbEibjnyVELvMA71wHZdGqgj13qGVFLWj95YLMHoqggCT2a44zLgbg34DsbtWC+h
-5+fY7w7miSRaweOh0Mv/HxZRW1PGdB7p7TbALts+uxC4JCITmIcvxLNQItCIptrjVQ3NOKXlG7D3
-KGK/2aAAbF7y2FQ0Vdm3O9eN6yuk+ArUV2wqVe/qZh/uKhHwUIB3iizqKcyNWNBSv8BRFL++t1aG
-0lM8VrIGvH1SOnz7iuvqARBklmcqY+9rp/OeXrG6SY2Y5pFqBMnjL3qDj9im9dGTPxh+oyia0dQd
-4Z0VDYyPHF4DnBgoWilQWuaT4fYSP9HI8YVQ2BWlXwyh4Hyf169TrTMv0yU3HSCogbzWYyf1D9DT
-3AUXHpW4CXaKvSBrA9RlWD0Ny6GdN5bGPp0DoBMTImrr/kIwSDFglUxIlTHulq3I1krU4DLvkdyi
-OCnKCs3JWZkVgwMUrLjXZwpSTmpL4nX/GYCAApkT0Zv+KzyrbavqWLJ8IciieHsSS3ERQM7P2LlL
-+ChhYGPeBZs4Zl2YyqQCXEhICYW+XiWtW8PyUbkWA1pbuWF3MBHei2zt4wYTPkVXDPf3D51YDvj6
-7eoaMmQ+atmgqL2DxxsMrzTRYVtFTmjFiwwzpO4DWEC0m6X2PmgQe4pb7EKt5EcrnCBKFh7BJf/v
-pfQIWZNqFu9EG684MEnotz22mO54R8ECilxMxraalqn1XPbAZcuVufojoS+U6UEbH4MvZTUeHYEt
-TrFTsiD6a6tg5r4GXtVEJvmiGAYRBHXrvNNFH4DQVao39e8TL4t1MLa9L1Ee22rJJ1Qn9O9NdwLZ
-kjSaiQN4xf2Eg+fUHpu4r2dxgb+V/kUd6Rw2NEzPjiFA+42zy5+J9w8KhNKk+4AT3WX8r3WQruJQ
-/FbE0cv4Wubu5jQY53UL/ShjxGvChlICGCLs9kOBI7oOyKcDw1qYebujpeeGwOeb49zG3Xx8qrsI
-rvxMa1gtAy8mJXtPPA4dJp2DMJePcfQD+30EJkxKv+W1K0mQa8QVFM5ZxxuEo+uMFx9ImZeDuJHa
-WW9jW9yTcp8/cWCm8iD/LYASETp6zJrSlP3dMGzQL5Y2JHSCWV1TD6ed4pfQBGMZ/HU5E3V1qGPx
-UPEL54KoUooShKJrgG0WLH1+otjHj5oPuoSGt63UFq9lldLqOXL9ZTJ2UJDjLov6S+NcBvivMKLp
-zWWUd2wpRU9RCW56EddmLjF0Yj1nMzXQhlz0Ciw9/vpyRNxdsNN/JGs7TpDMDSTlJTG8kPhvK52t
-ha1Kjr+NRnPYg8+ParrCLnlg4AJgcQODiiBuv0iwSb2owblZg9kdgU7iaVZIRPwMUVd4lAJD3vdA
-uiXX0HhNy5QPJ2nkO3IycjAAh44oVVDVcp6ojnpbdxbB/fsnUZ/ESMgCEIqLkDHwsjM5RiTvhHIk
-KFt+s0qip34HuM9xO0eHXoHa8CwCi8L2o1uOdFMFys/Qx017YWU24W25O6zxpZOFqIbQLp+8yEKV
-icqGeewnRky6z56DuPUMRy2yIfdTikn1NB97s2Ew5GMqedAo6Q6PafNJyFL9jQ/yQr6XwYAdVmHw
-NHgBFwnVjkHj7Bi59M5U6v/hretKL1fFnt3MIiTRNbHs+oHP6jwdeES5vrPGo5jm589oCrx1xQ3t
-GdThDwsJb3AB3S2N7iJfVMs5zoKF9EhvmhlbZmBiO5cYTMlyUicu2TxGXSIfVfeJKn21beuUwtmc
-NsUKvqzB/ackLMVqO/i/QJLmiu6Y16wTcrrA5RCpn6nEPWpiAk7fDNEu7NP+UWuz1OfEEnhsfFfM
-NdWXCaqOLq/uOt9KBCZROhxwGMGvgcJ/8ZdccckMfbCHEjA8TLnyzQZe5GlI4IL37RhTacW1ZZ1i
-1BpRNaMF4czhKeYokCOCamu4EUCnPSdcxROs0efj420n/sPYOaSqo8TgzPkmyaHSePa010rKML7y
-ImROGoqYmvSgZHhlrjbW9HhjSwzFc+qFi0WXOUNsYAaESTprrUQVg9QrGLV69ggBYWZEn0jS/2Dz
-A9V3TQ0flS08iLoUpWDoItsKOHcqTxgdQqcaaBF/oA+IoFEoXiF3ORVwgSGRgOwCbn2iglFci0m4
-Npb8gQnLc5hT3hN7H3/BUvT6WnXkrrHFZlSQrKPxd5/SI9mztwBOckf05UBaReshXUahTxacncBo
-oOE+d9bBl4cFgiB2Ze7SP4ZAbeMh3cdjuCtOrREiDgXcjrM9oaSzfrMQa7gJHuB2Vu+w9Wb0NUsa
-Gtbwf7h+QwDRmO++nWjlh0zF5BJhl0T4yF6RV6h0QHyqPRcnCBUglS/xdmw6TEaqLwyRdzo/gEsD
-TDMYCcdO7Ua0UpAut8QjhyUekz/nks7WGB+0TI5My988rgwO4Iv194wuB64isOWk/+UTct2eWSZv
-JtSGRAAc0ke3BvT+0XoPT//Ol4xKhhaBSYWP854M0MYfFJSwJJBE2Ob2WaKqA2wQTR04oBUp/kK7
-7sQI2pZwSg9dkXyG/F1fUX/21Gg/05gvs0HNxkeuUXZAppQRZBpwOYEU0x+lvH0gICEo2suJUzOT
-hKYmla9hQFkoKDxdCMSMY52Aft7QZmfCNBvJqVH3DyonzTCQxlIQx/uIwa7yEuDvLs1iFnYvORa1
-WFbWGIqJ8h2NgGQ4vciUX0ZsThRjOKNR0crAPfssrLS9acadijWLeqzJ0H8=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_settings;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Model\BaseModel;
+use OxidEsales\Eshop\Core\Model\ListModel;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+
+class d3_cfg_ordermanageritem_settingsTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_settings */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_settings::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getItemFoldersReturnArray()
+ {
+ $this->assertInternalType('array', $this->callMethod($this->_oController, 'getItemFolders'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getGroupsListReturnsRightInstance()
+ {
+ /** @var d3_cfg_ordermanageritem_settings|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_settings::class, array(
+ '_getObjectList'
+ ));
+ $oControllerMock->method('_getObjectList')->will($this->returnCallback(function ($arg1) {
+ return $arg1;
+ }));
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertInstanceOf(
+ ListModel::class,
+ $this->callMethod($this->_oController, 'getGroupsList')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getObjectListWillGetAllItemsFromDb()
+ {
+ /** @var BaseModel|PHPUnit_Framework_MockObject_MockObject $oBaseMock */
+ $oBaseMock = $this->getMock(BaseModel::class, array(
+ 'isMultilang',
+ 'setLanguage',
+ 'getSelectFields',
+ 'getViewName',
+ ));
+ $oBaseMock->method('isMultilang')->willReturn(true);
+ $oBaseMock->method('setLanguage')->willReturn(true);
+ $oBaseMock->method('getSelectFields')->willReturn('oxid, oxtitle');
+ $oBaseMock->method('getViewName')->willReturn('testViewTableName');
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oListMock */
+ $oListMock = $this->getMock(ListModel::class, array(
+ 'selectString',
+ 'getBaseObject',
+ ));
+ $oListMock->expects($this->once())->method('selectString')->with(
+ $this->logicalAnd(
+ $this->stringContains('oxid, oxtitle'),
+ $this->stringContains('testViewTableName')
+ )
+ )->willReturn(true);
+ $oListMock->method('getBaseObject')->willReturn($oBaseMock);
+
+ $this->assertSame(
+ $oListMock,
+ $this->callMethod($this->_oController, '_getObjectList', array($oListMock))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function editModeIsTrue()
+ {
+ $this->assertTrue(
+ $this->callMethod($this->_oController, 'isEditMode')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function restrictionMessageCanGenerated()
+ {
+ $this->assertNotEmpty(
+ $this->callMethod($this->_oController, 'getRestrictionMessage')
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_triggerTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_triggerTest.php
index 4cc88e6a..42779e79 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_triggerTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanageritem_triggerTest.php
@@ -1,91 +1,188 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanageritem_trigger;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3_cfg_ordermanageritem_triggerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanageritem_trigger */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanageritem_trigger::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ $this->assertContains(
+ '.tpl',
+ $this->callMethod($this->_oController, 'render')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changeDefaultValuesPostPass()
+ {
+ $_POST = [
+ 'editval' => ['d3modprofile__d3_cronjobid' => 'foo'],
+ ];
+
+ /** @var d3_cfg_ordermanageritem_trigger|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_trigger::class, array(
+ 'fixCronjobId'
+ ));
+ $oControllerMock->method('fixCronjobId')->willReturn('newCjId');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ array('foo' => 'bar'),
+ $this->callMethod($this->_oController, 'addDefaultValues', array(array('foo' => 'bar')))
+ );
+
+ $this->assertEquals('newCjId', $_POST['editval']['d3modprofile__d3_cronjobid']);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changeDefaultValuesGetPass()
+ {
+ $_GET = [
+ 'editval' => ['d3modprofile__d3_cronjobid' => 'foo'],
+ ];
+
+ /** @var d3_cfg_ordermanageritem_trigger|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_trigger::class, array(
+ 'fixCronjobId'
+ ));
+ $oControllerMock->method('fixCronjobId')->willReturn('newCjId');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ array('foo' => 'bar'),
+ $this->callMethod($this->_oController, 'addDefaultValues', array(array('foo' => 'bar')))
+ );
+
+ $this->assertEquals('newCjId', $_GET['editval']['d3modprofile__d3_cronjobid']);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function fixCronJobIdPass()
+ {
+ $this->assertEquals(
+ 'test_Id',
+ $this->callMethod(
+ $this->_oController,
+ 'fixCronjobId',
+ array('test Id')
+ )
+ );
+ $this->assertEquals(
+ 'test-Id',
+ $this->callMethod(
+ $this->_oController,
+ 'fixCronjobId',
+ array('test-Id')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isAllowedPass()
+ {
+ /** @var PHPUnit_Framework_MockObject_MockObject|d3_cfg_mod $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'isDemo'
+ ));
+ $oModCfgMock->method('isDemo')->willReturn(true);
+
+ /** @var PHPUnit_Framework_MockObject_MockObject|d3ordermanager $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'd3getModCfg',
+ ));
+ $oManagerMock->expects($this->any())->method('d3getModCfg')->willReturn($oModCfgMock);
+
+ /** @var d3_cfg_ordermanageritem_trigger|PHPUnit_Framework_MockObject_MockObject $oActionMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanageritem_trigger::class, array(
+ 'getManager',
+ ), array($oManagerMock));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'isAllowed'
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerlogTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerlogTest.php
index 9e314928..9144b7c3 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerlogTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerlogTest.php
@@ -1,46 +1,88 @@
-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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
-4ghKKgRzAiRD
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanagerlog;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use ReflectionException;
+
+class d3_cfg_ordermanagerlogTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanagerlog */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanagerlog::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function additionalUrlParamsPass()
+ {
+ $this->assertInternalType(
+ 'string',
+ $this->callMethod($this->_oController, 'd3getAdditionalUrlParams')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function additionalUrlParamsWithModIdPass()
+ {
+ $this->setValue($this->_oController, '_sModId', 'testid');
+ $this->assertContains(
+ 'testid',
+ $this->callMethod($this->_oController, 'd3getAdditionalUrlParams')
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagersetTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagersetTest.php
index 01a0e047..ef285559 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagersetTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagersetTest.php
@@ -1,44 +1,78 @@
-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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
-opXI
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanagerset;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use ReflectionException;
+
+class d3_cfg_ordermanagersetTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanagerset */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanagerset::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ $this->assertContains(
+ '.tpl',
+ $this->callMethod($this->_oController, 'render')
+ );
+
+ $this->assertNotEmpty($this->_oController->getViewDataElement('sListClass'));
+ $this->assertNotEmpty($this->_oController->getViewDataElement('sMainClass'));
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_listTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_listTest.php
index 7d333e88..ee020bb2 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_listTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_listTest.php
@@ -1,47 +1,86 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanagerset_list;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+
+class d3_cfg_ordermanagerset_listTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanagerset_list */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanagerset_list::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ /** @var d3_cfg_ordermanagerset_list|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_list::class, array(
+ 'd3FixNamespaceNavigation',
+ ));
+ $oControllerMock->method('d3FixNamespaceNavigation')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertContains(
+ '.tpl',
+ $this->callMethod($this->_oController, 'render')
+ );
+
+ $this->assertNotEmpty($this->_oController->getViewDataElement('default_edit'));
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_mainTest.php b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_mainTest.php
index b038f265..87ffdc0b 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_mainTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_cfg_ordermanagerset_mainTest.php
@@ -1,271 +1,504 @@
-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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
-NrhirlZJKH/rvU197GvLtPa/eNyGcSe=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
+use D3\ModCfg\Application\Model\d3str;
+use D3\ModCfg\Application\Model\Filegenerator\d3filegeneratorcronsh;
+use D3\ModCfg\Application\Model\Shopcompatibility\d3ShopCompatibilityAdapterHandler;
+use D3\Ordermanager\Application\Controller\Admin\d3_cfg_ordermanagerset_main;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Shop;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\ViewConfig;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3_cfg_ordermanagerset_mainTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_cfg_ordermanagerset_main */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_cfg_ordermanagerset_main::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $this->callMethod($this->_oController, 'getManager')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function cronPwPass()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getBaseCronPW'
+ ));
+ $oManagerMock->method('getBaseCronPW')->willReturn('testBaseCronPw');
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getManager'
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'testBaseCronPw',
+ $this->callMethod($this->_oController, 'getBaseCronPW')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getViewConfigReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ ViewConfig::class,
+ $this->callMethod($this->_oController, 'getViewConfig')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getD3StrReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3str::class,
+ $this->callMethod($this->_oController, 'getD3Str')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function cronLinkWithCustPasswordAndCronjobIdPass()
+ {
+ /** @var d3_cfg_mod|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['sCronPassword', 'testCronPassword']
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'generateParameterUrl',
+ ));
+ $oD3StrMock->method('generateParameterUrl')->with(
+ $this->stringContains('http://www.example.net/modules/public/d3_ordermanager_cron.php'),
+ $this->logicalAnd(
+ $this->contains('testCjId'),
+ $this->contains('testCronPassword')
+ )
+ )->willReturn('testUrl');
+
+ /** @var ViewConfig|PHPUnit_Framework_MockObject_MockObject $oViewConfMock */
+ $oViewConfMock = $this->getMock(ViewConfig::class, array(
+ 'getModuleUrl',
+ 'getActiveShopId',
+ ));
+ $oViewConfMock->method('getModuleUrl')->willReturn('http://www.example.net/modules/public/d3_ordermanager_cron.php');
+ $oViewConfMock->method('getActiveShopId')->willReturn(1);
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getViewConfig',
+ 'd3GetSet',
+ 'getBaseCronPW',
+ 'getD3Str',
+ ));
+ $oControllerMock->method('getViewConfig')->willReturn($oViewConfMock);
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getBaseCronPW')->willReturn('testBaseCronPassword');
+ $oControllerMock->method('getD3Str')->willReturn($oD3StrMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'testUrl',
+ $this->callMethod($this->_oController, 'getCronLink', array(true, 'testCjId'))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function cronLinkWithBasePasswordAndNoCronjobIdPass()
+ {
+ /** @var d3_cfg_mod|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['sCronPassword', '']
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'generateParameterUrl',
+ ));
+ $oD3StrMock->method('generateParameterUrl')->with(
+ $this->stringContains('http://www.example.net/modules/public/d3_ordermanager_cron.php'),
+ $this->logicalAnd(
+ $this->logicalNot(
+ $this->contains('testCjId')
+ ),
+ $this->contains('testBaseCronPassword')
+ )
+ )->willReturn('testUrl');
+
+ /** @var ViewConfig|PHPUnit_Framework_MockObject_MockObject $oViewConfMock */
+ $oViewConfMock = $this->getMock(ViewConfig::class, array(
+ 'getModuleUrl',
+ 'getActiveShopId',
+ ));
+ $oViewConfMock->method('getModuleUrl')->willReturn('http://www.example.net/modules/public/d3_ordermanager_cron.php');
+ $oViewConfMock->method('getActiveShopId')->willReturn(1);
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getViewConfig',
+ 'd3GetSet',
+ 'getBaseCronPW',
+ 'getD3Str',
+ ));
+ $oControllerMock->method('getViewConfig')->willReturn($oViewConfMock);
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getBaseCronPW')->willReturn('testBaseCronPassword');
+ $oControllerMock->method('getD3Str')->willReturn($oD3StrMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'testUrl',
+ $this->callMethod($this->_oController, 'getCronLink', array(true))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function cronLinkWithoutPasswordAndNoCronjobIdPass()
+ {
+ /** @var d3_cfg_mod|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['sCronPassword', '']
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'generateParameterUrl',
+ ));
+ $oD3StrMock->method('generateParameterUrl')->with(
+ $this->stringContains('http://www.example.net/modules/public/d3_ordermanager_cron.php'),
+ $this->logicalAnd(
+ $this->logicalNot(
+ $this->contains('testCjId')
+ ),
+ $this->logicalNot(
+ $this->contains('testBaseCronPassword')
+ )
+ )
+ )->willReturn('testUrl');
+
+ /** @var ViewConfig|PHPUnit_Framework_MockObject_MockObject $oViewConfMock */
+ $oViewConfMock = $this->getMock(ViewConfig::class, array(
+ 'getModuleUrl',
+ 'getActiveShopId',
+ ));
+ $oViewConfMock->method('getModuleUrl')->willReturn('http://www.example.net/modules/public/d3_ordermanager_cron.php');
+ $oViewConfMock->method('getActiveShopId')->willReturn(1);
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getViewConfig',
+ 'd3GetSet',
+ 'getBaseCronPW',
+ 'getD3Str',
+ ));
+ $oControllerMock->method('getViewConfig')->willReturn($oViewConfMock);
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getBaseCronPW')->willReturn('testBaseCronPassword');
+ $oControllerMock->method('getD3Str')->willReturn($oD3StrMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'testUrl',
+ $this->callMethod($this->_oController, 'getCronLink', array(false))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetAvailableCronjobIds()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getAvailableCronjobIds',
+ ));
+ $oManagerMock->method('getAvailableCronjobIds')->willReturn(array(1,5,8,'foobar'));
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getManager',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ array(1,5,8,'foobar'),
+ $this->callMethod($this->_oController, 'getAvailableCronjobIds')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetCjIdDescriptionForOne()
+ {
+ $aCjId = array(
+ 'count' => 1,
+ 'id' => 'testid'
+ );
+
+ $sDesc = $this->callMethod($this->_oController, 'getCJIDDesc', array($aCjId));
+ $this->assertContains('testid', $sDesc);
+ $this->assertContains('1', $sDesc);
+ $this->assertTrue(strlen($sDesc) > 11);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetCjIdDescriptionForMultiple()
+ {
+ $aCjId = array(
+ 'count' => 5,
+ 'id' => 'testid'
+ );
+
+ $sDesc = $this->callMethod($this->_oController, 'getCJIDDesc', array($aCjId));
+ $this->assertContains('testid', $sDesc);
+ $this->assertContains('5', $sDesc);
+ $this->assertTrue(strlen($sDesc) > 11);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetCronTimestampVarNameWithoutCronId()
+ {
+ $this->assertTrue(
+ strlen($this->callMethod($this->_oController, 'getCronTimestampVarName')) > 5
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetCronTimestampVarNameWithCronId()
+ {
+ $sVarName = $this->callMethod($this->_oController, 'getCronTimestampVarName', array('testid'));
+
+ $this->assertTrue(strlen($sVarName) > 6);
+ $this->assertContains('testid', $sVarName);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getFileGeneratorCronShReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3filegeneratorcronsh::class,
+ $this->callMethod($this->_oController, 'getFileGeneratorCronSh')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetCronProviderList()
+ {
+ /** @var d3filegeneratorcronsh|PHPUnit_Framework_MockObject_MockObject $oFileGeneratorCronShMock */
+ $oFileGeneratorCronShMock = $this->getMock(d3filegeneratorcronsh::class, array(
+ 'getContentList'
+ ));
+ $oFileGeneratorCronShMock->method('getContentList')->willReturn('contentList');
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getFileGeneratorCronSh'
+ ));
+ $oControllerMock->method('getFileGeneratorCronSh')->willReturn($oFileGeneratorCronShMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'contentList',
+ $this->callMethod($this->_oController, 'getCronProviderList')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getCompatibilityAdapterHandlerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ShopCompatibilityAdapterHandler::class,
+ $this->callMethod($this->_oController, 'getCompatibilityAdapterHandler')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getActiveShopReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Shop::class,
+ $this->callMethod($this->_oController, 'd3GetActiveShop')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGenerateCronShFile()
+ {
+ $_POST['cronid'] = 'testCronId';
+
+ /** @var d3ShopCompatibilityAdapterHandler|PHPUnit_Framework_MockObject_MockObject $oShopCompatibilityAdapterHandlerMock */
+ $oShopCompatibilityAdapterHandlerMock = $this->getMock(d3ShopCompatibilityAdapterHandler::class, array(
+ 'call'
+ ));
+ $oShopCompatibilityAdapterHandlerMock->method('call')->willReturnCallback(array($this, 'shopCompatHandlerCallback'));
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ 'getId'
+ ));
+ $oShopMock->method('getId')->willReturn('shopid');
+
+ /** @var d3filegeneratorcronsh|PHPUnit_Framework_MockObject_MockObject $oFileGeneratorCronShMock */
+ $oFileGeneratorCronShMock = $this->getMock(d3filegeneratorcronsh::class, array(
+ 'setContentType',
+ 'setScriptPath',
+ 'setSortedParameterList',
+ 'startDownload',
+ ));
+ $oFileGeneratorCronShMock->method('setContentType')->willReturn(true);
+ $oFileGeneratorCronShMock->method('setScriptPath')->willReturn(true);
+ $oFileGeneratorCronShMock->method('setSortedParameterList')->willReturn(true);
+ $oFileGeneratorCronShMock->expects($this->once())->method('startDownload')->with(
+ $this->stringContains('d3ordermanager_shopid_testCronId.sh')
+ )->willReturn(true);
+
+ /** @var d3_cfg_ordermanagerset_main|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_cfg_ordermanagerset_main::class, array(
+ 'getCompatibilityAdapterHandler',
+ 'd3GetActiveShop',
+ 'getFileGeneratorCronSh',
+ ));
+ $oControllerMock->method('getCompatibilityAdapterHandler')->willReturn($oShopCompatibilityAdapterHandlerMock);
+ $oControllerMock->method('d3GetActiveShop')->willReturn($oShopMock);
+ $oControllerMock->method('getFileGeneratorCronSh')->willReturn($oFileGeneratorCronShMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, 'generateCronShFile');
+ }
+
+ public function shopCompatHandlerCallback()
+ {
+ $args = func_get_args();
+ return '/module/path/'.$args[1][1];
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/Admin/d3_ordermanager_jobsTest.php b/src/tests/unit/Application/Controller/Admin/d3_ordermanager_jobsTest.php
index f174a52d..25f168ba 100644
--- a/src/tests/unit/Application/Controller/Admin/d3_ordermanager_jobsTest.php
+++ b/src/tests/unit/Application/Controller/Admin/d3_ordermanager_jobsTest.php
@@ -1,473 +1,952 @@
-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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
-qxip4oTCPuSg1HRefpEpSvf3BG==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller\Admin;
+
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
+use D3\ModCfg\Application\Model\d3filesystem;
+use D3\ModCfg\Application\Model\d3str;
+use D3\Ordermanager\Application\Controller\Admin\d3_ordermanager_jobs;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_execute;
+use D3\Ordermanager\Application\Model\d3ordermanager_toorderassignment;
+use D3\Ordermanager\Application\Model\d3ordermanagerlist;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Language;
+use OxidEsales\Eshop\Core\Session;
+use OxidEsales\Eshop\Core\Model\ListModel;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3_ordermanager_jobsTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_ordermanager_jobs */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_ordermanager_jobs::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getItemObjectReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Order::class,
+ $this->callMethod($this->_oController, 'getItemObject')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getSessionReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Session::class,
+ $this->callMethod($this->_oController, 'd3GetSession')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'load',
+ ));
+ $oOrderMock->expects($this->once())->method('load')->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getEditObjectId',
+ 'getItemObject',
+ '_d3GetManuallyManagerJobs',
+ ));
+ $oControllerMock->method('getEditObjectId')->willReturn('testOxId');
+ $oControllerMock->method('getItemObject')->willReturn($oOrderMock);
+ $oControllerMock->method('_d3GetManuallyManagerJobs')->willReturn($oOrderMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertContains(
+ '.tpl',
+ $this->callMethod($this->_oController, 'render')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canChangeFolder()
+ {
+ $_POST['jobfolder'] = 'newSelectedFolder';
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oSessionMock */
+ $oSessionMock = $this->getMock(Session::class, array(
+ 'setVariable'
+ ));
+ $oSessionMock->expects($this->once())->method('setVariable')->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'd3GetSession',
+ ));
+ $oControllerMock->method('d3GetSession')->willReturn($oSessionMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'changeFolder'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerListReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanagerlist::class,
+ $this->callMethod($this->_oController, 'getManagerList')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetManagerJobs()
+ {
+ /** @var d3ordermanagerlist|PHPUnit_Framework_MockObject_MockObject $oManagerListMock */
+ $oManagerListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'getList',
+ ));
+ $oManagerListMock->expects($this->once())->method('getList')->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManagerList',
+ ));
+ $oControllerMock->method('getManagerList')->willReturn($oManagerListMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertInstanceOf(
+ d3ordermanagerlist::class,
+ $this->callMethod($this->_oController, 'd3GetManagerJobs')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetManuallyExecutableManagerJobsNoConditionCheck()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $oManagerMock->method('getValue')->willReturn(false);
+
+ $oManagerExecuteMock = $this->getMock(d3ordermanager_execute::class, array(
+ 'orderMeetsConditions'
+ ),
+ array(
+ $oManagerMock
+ )
+ );
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(true);
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oListMock */
+ $oListMock = $this->getMock(ListModel::class, array(
+ 'offsetUnset'
+ ));
+ $oListMock->expects($this->never())->method('offsetUnset');
+ $oListMock->offsetSet('No1', $oManagerMock);
+ $oListMock->offsetSet('No2', $oManagerMock);
+
+ /** @var d3ordermanagerlist|PHPUnit_Framework_MockObject_MockObject $oManagerListMock */
+ $oManagerListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'd3GetManuallyManagerJobsByFolder',
+ ));
+ $oManagerListMock->expects($this->once())->method('d3GetManuallyManagerJobsByFolder')->willReturn($oListMock);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManagerList',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManagerList')->willReturn($oManagerListMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $generatedList = $this->callMethod($this->_oController, '_d3GetManuallyManagerJobs', array('sTestFolderId'));
+ $this->assertInstanceOf(
+ ListModel::class,
+ $generatedList
+ );
+ $this->assertCount(2, $generatedList);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetManuallyExecutableManagerJobsConditionCheckPass()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $oManagerMock->method('getValue')->willReturn(false);
+
+ $oManagerExecuteMock = $this->getMock(d3ordermanager_execute::class, array(
+ 'orderMeetsConditions'
+ ),
+ array(
+ $oManagerMock
+ )
+ );
+ $oManagerExecuteMock->method('orderMeetsConditions')->will($this->onConsecutiveCalls(false, true));
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oListMock */
+ $oListMock = $this->getMock(ListModel::class, array(
+ 'offsetUnset'
+ ));
+ $oListMock->expects($this->never())->method('offsetUnset');
+ $oListMock->offsetSet('No1', $oManagerMock);
+ $oListMock->offsetSet('No2', $oManagerMock);
+
+ /** @var d3ordermanagerlist|PHPUnit_Framework_MockObject_MockObject $oManagerListMock */
+ $oManagerListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'd3GetManuallyManagerJobsByFolder',
+ ));
+ $oManagerListMock->expects($this->once())->method('d3GetManuallyManagerJobsByFolder')->willReturn($oListMock);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManagerList',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManagerList')->willReturn($oManagerListMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $generatedList = $this->callMethod($this->_oController, '_d3GetManuallyManagerJobs', array('sTestFolderId'));
+ $this->assertInstanceOf(
+ ListModel::class,
+ $generatedList
+ );
+ $this->assertCount(2, $generatedList);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canGetManuallyExecutableManagerJobsConditionCheckFailed()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue'
+ ));
+ $oManagerMock->method('getValue')->willReturn(true);
+
+ $oManagerExecuteMock = $this->getMock(d3ordermanager_execute::class, array(
+ 'orderMeetsConditions'
+ ),
+ array(
+ $oManagerMock
+ )
+ );
+ $oManagerExecuteMock->method('orderMeetsConditions')->will($this->onConsecutiveCalls(false, true));
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oListMock */
+ $oListMock = $this->getMock(ListModel::class, array(
+ 'offsetUnset'
+ ));
+ $oListMock->expects($this->once())->method('offsetUnset');
+ $oListMock->offsetSet('No1', $oManagerMock);
+ $oListMock->offsetSet('No2', $oManagerMock);
+
+ /** @var d3ordermanagerlist|PHPUnit_Framework_MockObject_MockObject $oManagerListMock */
+ $oManagerListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'd3GetManuallyManagerJobsByFolder',
+ ));
+ $oManagerListMock->expects($this->once())->method('d3GetManuallyManagerJobsByFolder')->willReturn($oListMock);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManagerList',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManagerList')->willReturn($oManagerListMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $generatedList = $this->callMethod($this->_oController, '_d3GetManuallyManagerJobs', array('sTestFolderId'));
+ $this->assertInstanceOf(
+ ListModel::class,
+ $generatedList
+ );
+ // offsetUnset doesn't work, because it's mocked
+ // $this->assertCount(1, $generatedList);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetJobList()
+ {
+ $aArray = array(
+ '1' => '2',
+ );
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oJobListMock */
+ $oJobListMock = $this->getMock(ListModel::class, array(
+ 'getArray',
+ ));
+ $oJobListMock->method('getArray')->willReturn($aArray);
+
+ $this->setValue($this->_oController, '_aJobList', $oJobListMock);
+
+ $this->assertSame(
+ $aArray,
+ $this->callMethod(
+ $this->_oController,
+ 'd3GetJobList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $this->callMethod($this->_oController, 'getManager')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function getManagerExecuteReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_execute::class,
+ $this->callMethod($this->_oController, 'getManagerExecute', array(d3GetModCfgDIC()->get(d3ordermanager::class)))
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function ordermanagerStartExecutionNoConditionCheck()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'setEditedValues',
+ 'getValue'
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->never())->method('setEditedValues')->willReturn(true);
+ $oManagerMock->method('getValue')->willReturn(false);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager::class, array(
+ 'exec4order',
+ 'finishJobExecution',
+ 'orderMeetsConditions',
+ ));
+ $oManagerExecuteMock->expects($this->once())->method('exec4order')->willReturn(true);
+ $oManagerExecuteMock->expects($this->once())->method('finishJobExecution')->willReturn(true);
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(false);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3execordermanager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function ordermanagerStartExecutionConditionCheckPass()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'setEditedValues',
+ 'getValue'
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->never())->method('setEditedValues')->willReturn(true);
+ $oManagerMock->method('getValue')->willReturn(true);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager::class, array(
+ 'exec4order',
+ 'finishJobExecution',
+ 'orderMeetsConditions',
+ ));
+ $oManagerExecuteMock->expects($this->once())->method('exec4order')->willReturn(true);
+ $oManagerExecuteMock->expects($this->once())->method('finishJobExecution')->willReturn(true);
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3execordermanager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function ordermanagerStartExecutionConditionCheckFailed()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'setEditedValues',
+ 'getValue'
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->never())->method('setEditedValues')->willReturn(true);
+ $oManagerMock->method('getValue')->willReturn(true);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager::class, array(
+ 'exec4order',
+ 'finishJobExecution',
+ 'orderMeetsConditions',
+ ));
+ $oManagerExecuteMock->expects($this->never())->method('exec4order')->willReturn(true);
+ $oManagerExecuteMock->expects($this->never())->method('finishJobExecution')->willReturn(true);
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(false);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3execordermanager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changedOrdermanagerStartExecutionNoConditionCheck()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'setEditedValues',
+ 'getValue'
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->once())->method('setEditedValues')->willReturn(true);
+ $oManagerMock->method('getValue')->willReturn(false);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager::class, array(
+ 'exec4order',
+ 'finishJobExecution',
+ 'orderMeetsConditions',
+ ));
+ $oManagerExecuteMock->expects($this->once())->method('exec4order')->willReturn(true);
+ $oManagerExecuteMock->expects($this->once())->method('finishJobExecution')->willReturn(true);
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(false);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3ExecChangedOrderManager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changedOrdermanagerStartExecutionConditionCheckPass()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'setEditedValues',
+ 'getValue'
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->once())->method('setEditedValues')->willReturn(true);
+ $oManagerMock->method('getValue')->willReturn(true);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager::class, array(
+ 'exec4order',
+ 'finishJobExecution',
+ 'orderMeetsConditions',
+ ));
+ $oManagerExecuteMock->expects($this->once())->method('exec4order')->willReturn(true);
+ $oManagerExecuteMock->expects($this->once())->method('finishJobExecution')->willReturn(true);
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3ExecChangedOrderManager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function changedOrdermanagerStartExecutionConditionCheckFailed()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'setEditedValues',
+ 'getValue'
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->once())->method('setEditedValues')->willReturn(true);
+ $oManagerMock->method('getValue')->willReturn(true);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager::class, array(
+ 'exec4order',
+ 'finishJobExecution',
+ 'orderMeetsConditions',
+ ));
+ $oManagerExecuteMock->expects($this->never())->method('exec4order')->willReturn(true);
+ $oManagerExecuteMock->expects($this->never())->method('finishJobExecution')->willReturn(true);
+ $oManagerExecuteMock->method('orderMeetsConditions')->willReturn(false);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3ExecChangedOrderManager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function orderManagerAssignmentReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_toorderassignment::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getOrderManagerAssignment',
+ array(d3GetModCfgDIC()->get(d3ordermanager::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canStartResettingOrderManagerAssignment()
+ {
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerAssignmentMock */
+ $oManagerAssignmentMock = $this->getMock(d3ordermanager_toorderassignment::class, array(
+ 'resetAssignment',
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class)));
+ $oManagerAssignmentMock->expects($this->once())->method('resetAssignment')->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ 'getOrderManagerAssignment',
+ ));
+ $oControllerMock->method('getManager')->willReturn(d3GetModCfgDIC()->get(d3ordermanager::class));
+ $oControllerMock->method('getOrderManagerAssignment')->willReturn($oManagerAssignmentMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'd3resetOrderManagerAssignment'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetManagerFolderList()
+ {
+ $aFolderList = array(
+ 'Folder#1',
+ 'Folder#2',
+ );
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'd3getSelectableFolderList',
+ ));
+ $oManagerMock->expects($this->once())->method('d3getSelectableFolderList')->willReturn($aFolderList);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ $aFolderList,
+ $this->callMethod(
+ $this->_oController,
+ 'getFolderList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canExecChangedContents()
+ {
+ $_POST['oxid'] = 'testItemId';
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'load',
+ 'getEditableContent',
+ ));
+ $oManagerMock->expects($this->once())->method('load')->willReturn(true);
+ $oManagerMock->expects($this->once())->method('getEditableContent')->with(
+ $this->stringContains('testItemId')
+ )->willReturn(true);
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'getManager',
+ ));
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod(
+ $this->_oController,
+ 'execChangedContents'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getUserMessagesHasRightType()
+ {
+ $this->assertInternalType(
+ 'array',
+ $this->callMethod(
+ $this->_oController,
+ 'getUserMessages'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getLangReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Language::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getLang'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetHelpUrlWithExtension()
+ {
+ /** @var d3filesystem|PHPUnit_Framework_MockObject_MockObject $oFileSystemMock */
+ $oFileSystemMock = $this->getMock(d3filesystem::class, array(
+ 'splitFilename',
+ ));
+ $oFileSystemMock->method('splitFilename')->willReturn(
+ array('name' => 'filename', 'ext' => 'html')
+ );
+
+ d3GetModCfgDIC()->set(d3filesystem::class, $oFileSystemMock);
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'unprefixedslashit',
+ 'trailingslashit',
+ ));
+ $oD3StrMock->method('unprefixedslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+ $oD3StrMock->expects($this->never())->method('trailingslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+
+ d3GetModCfgDIC()->set(d3str::class, $oD3StrMock);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->method('translateString')->willReturn('modulepath');
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getHelpURL'
+ ));
+ $oModCfgMock->method('getHelpURL')->willReturn('https://faq.d3data.de/module/');
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'd3GetSet',
+ 'getLang',
+ ));
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->setValue($oControllerMock, '_sHelpLinkMLAdd', 'foobar');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'https://faq.d3data.de/module/modulepath',
+ $this->callMethod($this->_oController, 'getHelpURL')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetHelpUrlWithoutExtension()
+ {
+ /** @var d3filesystem|PHPUnit_Framework_MockObject_MockObject $oFileSystemMock */
+ $oFileSystemMock = $this->getMock(d3filesystem::class, array(
+ 'splitFilename',
+ ));
+ $oFileSystemMock->method('splitFilename')->willReturn(
+ array('name' => 'filename', 'ext' => '')
+ );
+
+ d3GetModCfgDIC()->set(d3filesystem::class, $oFileSystemMock);
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'unprefixedslashit',
+ 'trailingslashit',
+ ));
+ $oD3StrMock->method('unprefixedslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+ $oD3StrMock->expects($this->once())->method('trailingslashit')->willReturnCallback(array($this, 'firstArgumentReturnCallback'));
+
+ d3GetModCfgDIC()->set(d3str::class, $oD3StrMock);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->method('translateString')->willReturn('modulepath');
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getHelpURL'
+ ));
+ $oModCfgMock->method('getHelpURL')->willReturn('https://faq.d3data.de/module/');
+
+ /** @var d3_ordermanager_jobs|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_ordermanager_jobs::class, array(
+ 'd3GetSet',
+ 'getLang',
+ ));
+ $oControllerMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->setValue($oControllerMock, '_sHelpLinkMLAdd', 'foobar');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertEquals(
+ 'https://faq.d3data.de/module/modulepath',
+ $this->callMethod($this->_oController, 'getHelpURL')
+ );
+ }
+
+ /**
+ * @return mixed
+ */
+ public function firstArgumentReturnCallback()
+ {
+ $args = func_get_args();
+ return $args[0];
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getSetReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3_cfg_mod::class,
+ $this->callMethod($this->_oController, 'd3GetSet')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getLinkReturnsString()
+ {
+ $this->assertInternalType(
+ 'string',
+ $this->callMethod(
+ $this->_oController,
+ 'getLink'
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Controller/d3ordermanager_responseTest.php b/src/tests/unit/Application/Controller/d3ordermanager_responseTest.php
index ba8619b7..c56cd69d 100644
--- a/src/tests/unit/Application/Controller/d3ordermanager_responseTest.php
+++ b/src/tests/unit/Application/Controller/d3ordermanager_responseTest.php
@@ -1,511 +1,1015 @@
-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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
-wWwTrzC1gjCtlBR5uX8=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Application\Controller;
+
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
+use D3\ModCfg\Application\Model\Log\d3log;
+use D3\Ordermanager\Application\Controller\d3ordermanager_response;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_execute;
+use D3\Ordermanager\Application\Model\d3ordermanagerlist;
+use D3\Ordermanager\Application\Model\Exceptions\d3ordermanager_cronUnavailableException;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\StandardException;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3ordermanager_responseTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3ordermanager_response */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3ordermanager_response::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function initOutputSuccessMessageToBrowser()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_startExecution',
+ 'isBrowserCall',
+ ));
+ $oControllerMock->expects($this->once())->method('_startExecution')->willReturn(false);
+ $oControllerMock->expects($this->once())->method('isBrowserCall')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ ob_start();
+ $this->callMethod($this->_oController, 'init');
+ $sOutput = ob_get_contents();
+ ob_end_clean();
+
+ $this->assertNotEmpty($sOutput);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function initDontOutputSuccessMessageToServer()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_startExecution',
+ 'isBrowserCall'
+ ));
+ $oControllerMock->expects($this->once())->method('_startExecution')->willReturn(false);
+ $oControllerMock->expects($this->once())->method('isBrowserCall')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ ob_start();
+ $this->callMethod($this->_oController, 'init');
+ $sOutput = ob_get_contents();
+ ob_end_clean();
+
+ $this->assertEmpty($sOutput);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function initDontOutputSuccessMessageInCaseOfException()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_startExecution',
+ 'isBrowserCall'
+ ));
+ $oControllerMock->expects($this->once())->method('_startExecution')->willReturn(true);
+ $oControllerMock->expects($this->once())->method('isBrowserCall')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ ob_start();
+ $this->callMethod($this->_oController, 'init');
+ $sOutput = ob_get_contents();
+ ob_end_clean();
+
+ $this->assertEmpty($sOutput);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function startExecutionPassWithoutException()
+ {
+ /** @var d3log|PHPUnit_Framework_MockObject_MockObject $oLogMock */
+ $oLogMock = $this->getMock(d3log::class, array(
+ 'log'
+ ));
+ $oLogMock->method('log')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'd3getLog',
+ 'setValue',
+ 'saveNoLicenseRefresh',
+ ));
+ $oModCfgMock->method('d3getLog')->willReturn($oLogMock);
+ $oModCfgMock->method('setValue')->willReturn(true);
+ $oModCfgMock->method('saveNoLicenseRefresh')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getSet',
+ '_checkUnavailableCronjob',
+ '_getCronTimestampVarName',
+ '_startJobs',
+ ));
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('_checkUnavailableCronjob')->willReturn(true);
+ $oControllerMock->method('_getCronTimestampVarName')->willReturn(true);
+ $oControllerMock->expects($this->once())->method('_startJobs')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ '_startExecution'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function startExecutionPassWithCronUnavailableException()
+ {
+ /** @var d3log|PHPUnit_Framework_MockObject_MockObject $oLogMock */
+ $oLogMock = $this->getMock(d3log::class, array(
+ 'log'
+ ));
+ $oLogMock->method('log')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'd3getLog',
+ 'setValue',
+ 'saveNoLicenseRefresh',
+ ));
+ $oModCfgMock->method('d3getLog')->willReturn($oLogMock);
+ $oModCfgMock->method('setValue')->willReturn(true);
+ $oModCfgMock->method('saveNoLicenseRefresh')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getSet',
+ '_checkUnavailableCronjob',
+ '_getCronTimestampVarName',
+ '_startJobs',
+ ));
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('_checkUnavailableCronjob')->will($this->returnCallback(array($this, 'unavailableCronjobCallback')));
+ $oControllerMock->method('_getCronTimestampVarName')->willReturn(true);
+ $oControllerMock->expects($this->never())->method('_startJobs')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ '_startExecution'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function startExecutionPassWithStandardException()
+ {
+ /** @var d3log|PHPUnit_Framework_MockObject_MockObject $oLogMock */
+ $oLogMock = $this->getMock(d3log::class, array(
+ 'log'
+ ));
+ $oLogMock->method('log')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'd3getLog',
+ 'setValue',
+ 'saveNoLicenseRefresh',
+ ));
+ $oModCfgMock->method('d3getLog')->willReturn($oLogMock);
+ $oModCfgMock->method('setValue')->willReturn(true);
+ $oModCfgMock->method('saveNoLicenseRefresh')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getSet',
+ '_checkUnavailableCronjob',
+ '_getCronTimestampVarName',
+ '_startJobs',
+ ));
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('_checkUnavailableCronjob')->will($this->returnCallback(array($this, 'standardExceptionCallback')));
+ $oControllerMock->method('_getCronTimestampVarName')->willReturn(true);
+ $oControllerMock->expects($this->never())->method('_startJobs')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ '_startExecution'
+ )
+ );
+
+ $fileName = 'd3ordermanagerExceptionsTest.txt';
+ $sLogFolder = str_replace(basename(OX_LOG_FILE), '', OX_LOG_FILE);
+ $sLogFile = $sLogFolder.$fileName;
+
+ // backward compatibility for OXID < 6.1
+ if (method_exists(StandardException::class, 'setLogFileName')
+ && file_exists($sLogFile)
+ ) {
+ $file = file_get_contents($sLogFile);
+ unlink($sLogFile);
+ $this->assertContains('cron unavailable', $file);
+ } elseif (file_exists(OX_LOG_FILE)) {
+ $file = file_get_contents(OX_LOG_FILE);
+ file_put_contents(OX_LOG_FILE, '');
+ $this->assertContains('cron unavailable', $file);
+ }
+ }
+
+ /**
+ * @throws StandardException
+ */
+ public function standardExceptionCallback()
+ {
+ $fileName = 'd3ordermanagerExceptionsTest.txt';
+
+ d3GetModCfgDIC()->setParameter(
+ 'd3ox.ordermanager.'.StandardException::class.'.args.message',
+ 'cron unavailable'
+ );
+
+ /** @var StandardException $oException */
+ $oException = d3GetModCfgDIC()->get('d3ox.ordermanager.'.StandardException::class);
+ // backward compatibility for OXID < 6.1
+ if (method_exists($oException, 'setLogFileName')) {
+ $oException->setLogFileName($fileName);
+ }
+
+ throw $oException;
+ }
+
+ /**
+ * @throws d3ordermanager_cronUnavailableException
+ */
+ public function unavailableCronjobCallback()
+ {
+ d3GetModCfgDIC()->setParameter(
+ d3ordermanager_cronUnavailableException::class.'.args.message',
+ 'cron unavailable'
+ );
+
+ /** @var d3ordermanager_cronUnavailableException $oException */
+ $oException = d3GetModCfgDIC()->get(d3ordermanager_cronUnavailableException::class);
+ $oException->d3disableScreenMessage();
+
+ throw $oException;
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getListReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanagerlist::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getManagerList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerExecuteReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_execute::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getManagerExecute',
+ array(d3GetModCfgDIC()->get(d3ordermanager::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function startedJobsCountPass()
+ {
+ /** @var d3log|PHPUnit_Framework_MockObject_MockObject $oLogMock */
+ $oLogMock = $this->getMock(d3log::class, array(
+ 'log'
+ ));
+ $oLogMock->method('log')->willReturn(true);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getId',
+ 'd3GetLog',
+ 'load',
+ ));
+ $oManagerMock->method('getId')->willReturn('sId');
+ $oManagerMock->method('d3GetLog')->willReturn($oLogMock);
+ $oManagerMock->method('load')->willReturn(true);
+
+ /** @var d3ordermanager_execute|PHPUnit_Framework_MockObject_MockObject $oManagerExecuteMock */
+ $oManagerExecuteMock = $this->getMock(d3ordermanager_execute::class, array(
+ 'setManager',
+ 'startJobExecution',
+ 'finishJobExecution',
+ ), array($oManagerMock));
+ $oManagerExecuteMock->method('setManager')->willReturn(true);
+ $oManagerExecuteMock->expects($this->exactly(3))->method('startJobExecution')->willReturn(true);
+ $oManagerExecuteMock->expects($this->once())->method('finishJobExecution')->willReturn(true);
+
+ /** @var d3ordermanagerlist|PHPUnit_Framework_MockObject_MockObject $oListMock */
+ $oListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'setCronJobId',
+ 'setCustomSorting',
+ 'selectString',
+ ));
+ $oListMock->method('setCronJobId')->willReturn(true);
+ $oListMock->method('setCustomSorting')->willReturn(true);
+ $oListMock->method('selectString')->willReturn(true);
+ $oListMock->offsetSet('item1', $oManagerMock);
+ $oListMock->offsetSet('item2', $oManagerMock);
+ $oListMock->offsetSet('item3', $oManagerMock);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'getManagerList',
+ 'getManager',
+ 'getManagerExecute',
+ ));
+ $oControllerMock->method('getManagerList')->willReturn($oListMock);
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, '_startJobs');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getManagerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $this->callMethod($this->_oController, 'getManager')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function baseAccessKeyPassedToSetOne()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['sCronPassword', ''],
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getBaseCronPW'
+ ));
+ $oManagerMock->method('getBaseCronPW')->willReturn('sBaseCronPw');
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getSet',
+ 'hasValidAccessKey',
+ 'getManager',
+ ));
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('hasValidAccessKey')->with(
+ $this->equalTo('sBaseCronPw'),
+ $this->equalTo('sSetCronPw')
+ )->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $_GET['key'] = 'sSetCronPw';
+
+ $this->callMethod($this->_oController, '_checkAccessKey');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function registeredAccessKeyPassedToSetOne()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['sCronPassword', 'sRegCronPw'],
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getBaseCronPW'
+ ));
+ $oManagerMock->method('getBaseCronPW')->willReturn('sBaseCronPw');
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getSet',
+ 'hasValidAccessKey',
+ 'getManager',
+ ));
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('getManager')->willReturn($oManagerMock);
+ $oControllerMock->method('hasValidAccessKey')->with(
+ $this->equalTo('sRegCronPw'),
+ $this->equalTo('sSetCronPw')
+ )->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $_GET['key'] = 'sSetCronPw';
+
+ $this->callMethod($this->_oController, '_checkAccessKey');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getSetReturnsRightInstance()
+ {
+ $this->assertInstanceOf(d3_cfg_mod::class, $this->callMethod($this->_oController, '_getSet'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function disabledMessageWillNotShow()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ 'hasDebugMode',
+ ));
+ $map = [
+ ['blCronActive', false],
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+ $oModCfgMock->method('hasDebugMode')->willReturn(false);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'isBrowserCall',
+ '_getSet',
+ ));
+ $oControllerMock->method('isBrowserCall')->willReturn(false);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse($this->callMethod($this->_oController, 'showDisabledMessage'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function disabledMessageWillShowBecauseDebug()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ 'hasDebugMode',
+ ));
+ $map = [
+ ['blCronActive', false],
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+ $oModCfgMock->method('hasDebugMode')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'isBrowserCall',
+ '_getSet',
+ ));
+ $oControllerMock->method('isBrowserCall')->willReturn(false);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue($this->callMethod($this->_oController, 'showDisabledMessage'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function disabledMessageWillShowBecauseBrowserCall()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ 'hasDebugMode',
+ ));
+ $map = [
+ ['blCronActive', false],
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+ $oModCfgMock->method('hasDebugMode')->willReturn(false);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'isBrowserCall',
+ '_getSet',
+ ));
+ $oControllerMock->method('isBrowserCall')->willReturn(true);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue($this->callMethod($this->_oController, 'showDisabledMessage'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isNoBrowserCall()
+ {
+ $_SERVER['REMOTE_ADDR'] = '';
+ $_SERVER['HTTP_USER_AGENT'] = '';
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ 'isBrowserCall'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isBrowserCallBecauseUserAgent()
+ {
+ $_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0';
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'isBrowserCall'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isBrowserCallBecauseRemoteAddr()
+ {
+ $_SERVER['REMOTE_ADDR'] = '192.168.133.1';
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'isBrowserCall'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function remoteCallHasValidAccessKey()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'isBrowserCall',
+ ));
+ $oControllerMock->method('isBrowserCall')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'hasValidAccessKey',
+ array('requAccessKey', 'requAccessKey')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function remoteCallHasInvalidAccessKey()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'isBrowserCall',
+ ));
+ $oControllerMock->method('isBrowserCall')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oController,
+ 'hasValidAccessKey',
+ array('requAccessKey', 'passedAccessKey')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function serverCallDontRequireAccessKey()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'isBrowserCall',
+ ));
+ $oControllerMock->method('isBrowserCall')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oController,
+ 'hasValidAccessKey',
+ array('requAccessKey', 'passedAccessKey')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function unavailableInactiveCronjobPass()
+ {
+ /** @var d3ordermanager_cronUnavailableException|PHPUnit_Framework_MockObject_MockObject $oExceptionMock */
+ $oExceptionMock = $this->getMock(d3ordermanager_cronUnavailableException::class, array(
+ 'debugOut'
+ ));
+ $oExceptionMock->method('debugOut')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'isActive',
+ ));
+ $oModCfgMock->method('isActive')->willReturn(false);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_checkAccessKey',
+ 'getCronUnavailableException',
+ '_getSet',
+ ));
+ $oControllerMock->method('_checkAccessKey')->willReturn(true);
+ $oControllerMock->method('getCronUnavailableException')->willReturn($oExceptionMock);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->setExpectedException(d3ordermanager_cronunavailableexception::class);
+
+ $this->callMethod($this->_oController, '_checkUnavailableCronjob');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function unavailableCronjobWrongAccessKeyPass()
+ {
+ /** @var d3ordermanager_cronUnavailableException|PHPUnit_Framework_MockObject_MockObject $oExceptionMock */
+ $oExceptionMock = $this->getMock(d3ordermanager_cronUnavailableException::class, array(
+ 'debugOut'
+ ));
+ $oExceptionMock->method('debugOut')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'isActive',
+ ));
+ $oModCfgMock->method('isActive')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_checkAccessKey',
+ 'getCronUnavailableException',
+ '_getSet',
+ ));
+ $oControllerMock->method('_checkAccessKey')->willReturn(false);
+ $oControllerMock->method('getCronUnavailableException')->willReturn($oExceptionMock);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->setExpectedException(d3ordermanager_cronunavailableexception::class);
+
+ $this->callMethod($this->_oController, '_checkUnavailableCronjob');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function unavailableEnabledCronjobPass()
+ {
+ /** @var d3ordermanager_cronUnavailableException|PHPUnit_Framework_MockObject_MockObject $oExceptionMock */
+ $oExceptionMock = $this->getMock(d3ordermanager_cronUnavailableException::class, array(
+ 'debugOut'
+ ));
+ $oExceptionMock->method('debugOut')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'isActive',
+ ));
+ $oModCfgMock->method('isActive')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_checkAccessKey',
+ 'getCronUnavailableException',
+ '_getSet',
+ '_checkDisabledCronjob',
+ ));
+ $oControllerMock->method('_checkAccessKey')->willReturn(true);
+ $oControllerMock->method('getCronUnavailableException')->willReturn($oExceptionMock);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+ $oControllerMock->method('_checkDisabledCronjob')->willReturn(true);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, '_checkUnavailableCronjob');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function disabledCronjobWithDisabledMessagePass()
+ {
+ /** @var d3ordermanager_cronUnavailableException|PHPUnit_Framework_MockObject_MockObject $oExceptionMock */
+ $oExceptionMock = $this->getMock(d3ordermanager_cronUnavailableException::class, array(
+ 'debugOut'
+ ));
+ $oExceptionMock->method('debugOut')->willReturn(true);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'showDisabledMessage',
+ 'getCronUnavailableException',
+ ));
+ $oControllerMock->method('showDisabledMessage')->willReturn(true);
+ $oControllerMock->method('getCronUnavailableException')->willReturn($oExceptionMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->setExpectedException(d3ordermanager_cronunavailableexception::class);
+
+ $this->callMethod($this->_oController, '_checkDisabledCronjob');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function disabledCronjobWithInactiveCronPass()
+ {
+ /** @var d3ordermanager_cronUnavailableException|PHPUnit_Framework_MockObject_MockObject $oExceptionMock */
+ $oExceptionMock = $this->getMock(d3ordermanager_cronUnavailableException::class, array(
+ 'debugOut'
+ ));
+ $oExceptionMock->method('debugOut')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['blCronActive', false]
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'showDisabledMessage',
+ 'getCronUnavailableException',
+ '_getSet',
+ ));
+ $oControllerMock->method('showDisabledMessage')->willReturn(false);
+ $oControllerMock->method('getCronUnavailableException')->willReturn($oExceptionMock);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->setExpectedException(d3ordermanager_cronunavailableexception::class);
+
+ $this->callMethod($this->_oController, '_checkDisabledCronjob');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function disabledCronjobCheckDontPassWithEnabledCronjob()
+ {
+ /** @var d3ordermanager_cronUnavailableException|PHPUnit_Framework_MockObject_MockObject $oExceptionMock */
+ $oExceptionMock = $this->getMock(d3ordermanager_cronUnavailableException::class, array(
+ 'debugOut'
+ ));
+ $oExceptionMock->method('debugOut')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getValue',
+ ));
+ $map = [
+ ['blCronActive', true]
+ ];
+ $oModCfgMock->method('getValue')->willReturnMap($map);
+
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ 'showDisabledMessage',
+ 'getCronUnavailableException',
+ '_getSet',
+ ));
+ $oControllerMock->method('showDisabledMessage')->willReturn(false);
+ $oControllerMock->method('getCronUnavailableException')->willReturn($oExceptionMock);
+ $oControllerMock->method('_getSet')->willReturn($oModCfgMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->callMethod($this->_oController, '_checkDisabledCronjob');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getCronUnavailableExceptionReturnsRightInstance()
+ {
+ /** @var d3ordermanager_cronUnavailableException $oInstance */
+ $oInstance = $this->callMethod(
+ $this->_oController,
+ 'getCronUnavailableException',
+ array('testMessage')
+ );
+
+ $this->assertInstanceOf(
+ d3ordermanager_cronUnavailableException::class,
+ $oInstance
+ );
+ $this->assertEquals('testMessage', $oInstance->getMessage());
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetUnsetCjIdParameter()
+ {
+ $_GET['cjid'] = null;
+
+ $this->assertEquals(0, $this->callMethod($this->_oController, '_getCronJobIdParameter'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetSetCjIdParameter()
+ {
+ $_GET['cjid'] = 'foo';
+
+ $this->assertEquals('foo', $this->callMethod($this->_oController, '_getCronJobIdParameter'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function cronTimestampVarNameWithoutJobParameterPass()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getCronJobIdParameter',
+ ));
+ $oControllerMock->expects($this->any())->method('_getCronJobIdParameter')->willReturn(false);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertContains('Timestamp', $this->callMethod($this->_oController, '_getCronTimestampVarName'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function cronTimestampVarNameWithJobParameterPass()
+ {
+ /** @var d3ordermanager_response|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3ordermanager_response::class, array(
+ '_getCronJobIdParameter',
+ ));
+ $oControllerMock->expects($this->any())->method('_getCronJobIdParameter')->willReturn('testJobId');
+
+ $this->_oController = $oControllerMock;
+
+ $sReturn = $this->callMethod($this->_oController, '_getCronTimestampVarName');
+ $this->assertContains('Timestamp', $sReturn);
+ $this->assertContains('testJobId', $sReturn);
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3OrdermanagerActionUnitTestCase.php b/src/tests/unit/Application/Model/Actions/d3OrdermanagerActionUnitTestCase.php
index 9110cbd1..3c896874 100644
--- a/src/tests/unit/Application/Model/Actions/d3OrdermanagerActionUnitTestCase.php
+++ b/src/tests/unit/Application/Model/Actions/d3OrdermanagerActionUnitTestCase.php
@@ -1,384 +1,380 @@
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+cPw6KIZ0R3qyuufFV4tD5Wjh99HBa/5K5lPUu7Q3GWBoYYp4NayFwJJ1et4VeklpcBWN4P9cJ
-38K773GIE45FX2YXd9MCNRKvt8BphlzRNGVwNeNRLXvndgolQ33+I1C8K5t2h5A0/ypj6n2/CC39
-kjLFwj0CxFbZWQC0ZDrU+Nw9UJO1aSE44A9M85RSkQ7mG+h148gV5XO6vjH8w8cT1tqs/NCFCnL2
-/mBaHUPr8RsXryks3UdqNNLt4qh9XbIz+8hskmRCKTTllPBMLQrLYayEOrjfRvzLblgrQ8iserbS
-S8v2/ysGvhx3dr/h9CiKJdjs5CBuXp2HTCyH5AjlhLcmf9A41EHHzvKf9GfohkCiUMvtDXwfaU0Q
-/5FHSEiqrGaqEi4YJgwlc58vzEvsoQTv7qRGOmTFVx5v/lU80LNmI9eLMXzmEYK85xKVirTyd/90
-m4GoKOfgLmWOqRfGaVXdYga5jfzx7MLv4hAk8BvKJJB+vyAP9TfEY3Sp5kjTzGcOaOJIqdKwsTK5
-2ayCwuOzZjPnxMqoqWu2awJ02m+OWC+lbXbSVRJhiKFE+fvW82Tm9LPOdOpR23YtZEMmw7ew0Dm+
-yDt9vZ+hBsfO7VqzR5Y4xDwGb93GfoquS31rpe7LT1B/NJeWdfY55RsUBBwTZV1w8zfVNobDwVI5
-l76NVcwbDbPJnROmcsJIEXB5NAOioPn2JWb6PQpXnFAtN7XwGvtdwiIdPpWVSWBvFvyp9MQAs9Ft
-AtyBKwuqt5HXHSgJ8KjgnLBWqCCeDSXj1ovABYmGQO1mNAL2kuGpiOidHoJFafraq2lSQLS6/G3w
-4u7ySYtEO3/SfjGhPo9A1x/4utS0Bsb+n3qVpk1+7VuWxmvcDSR28f3IlPReHp+lyY3K2s8B5jkM
-Popy8Cj20IKaECdgtfnygaoZVH1pS5jDPP4a3/sN5zLKv+b14CnVwgS34og5X24/5uLbQYjQO3Mc
-ljgk3ly5vPysoEGvlFrsdQ1GiDPKwrjWbhfZQ93X33e1cwnfzTiOgnHwvTpNp/TTWq9rrktz2IdJ
-OwcIWWOIgckcLtanXWTMivIfMXULBZ0TnHmSUBMC53T7SsevcSGFx8N+dBxfzwjutkM1oDnrB7TD
-u7D8Ap62HC2f7ZPqLEiH4QW5+LHxA+z88+9j0n5pr2jbLmOuP+FkxSVIFWBxkgrL9sRO5TKn+x6w
-tab3/ahvDcWncHmrOXfymxgWPOPVReUd8LCVjsYIBE1751USi5nA/Nd4+KXinC/hRP0RgVC4ykfl
-F+aXjVLKU1bfIhKF57yH40FKldYmdLhBmwEsfYCMQ3qG/s+ixi50PKXC8xWj6frGM9J+5t+8dSX8
-fS2E6mIJKAhGWqJS7d6dZuU9duJJ5IogKN+sNBegUrRHtnuEnS8c3kux7Dc0CCAczYdM8dJ3CFD5
-TCWuL1pojmhVz0OtJW0pIkcdqEy2pdFCd3+inX2D8bC9/L0EMKJG5DLnVycJ1YjS44QBaeQQSuy7
-2qtRzIYVGMvaYTU0fA4GFN6ZVwN/jRDdFp7FDxCLSi6sCR/SEe2+usgQkB5hyRekTjSLIG4c30B+
-HUJjaiqe0bwj47FMFdU+yJeQsTIVisARhTOsWEyxqR18TYN+3l5BPctaFzxmofvenmVUSXbfOl35
-xfTKoYuZysH8veJnls8mm255tbJoogswtsGtwQsZhkpBv7RXtv0WxnwEVrXOJJ1BFrEC8ctwLKs/
-VT2YAOuiuzGSQdKDWmt6q0QnIp/SKChRAau7RmzRll3/nhKag/IySp4ll1gMg4xYsl4o4atHRP/k
-a4oZDeleyD0FEus/2e0pu/AFVPW2RcCiQiA9XlPlzOSNLrep2ZV2LKNZrvgTrWOHaM9S3nQ1dWd6
-vaMFvyBEnA4YbItbvK+rfo+ImkTQzgEbfjkMU8CgnWuQ1YUtEmegmEKao1VghufmH0HfI9Xk7a8M
-PAciKO0Og2wEcGyUds0nlySsME/FEVAyuEQ+/y1A8kTi5z2yd359oKCPMb+XxDp1qjkouPopkyIj
-1Dm4mBJ3PqHz8yRTHw1G3Q5WyfR0ZLSeTkMwqzT19j1Wkafup+4GUgbJ94J8VqL1PicN1NeYiR15
-VFzF+216R2102XdRlLQ8SZHyE73C7QCKL9hlEb4GkaglqQTfGb5G7A5nyz+aq7+NrRcYDfqzd0sd
-FoIdeyzUg2cRusDfRWvuufNy8hcV6LtsIcxiS5SxYs+sIigLNWXGga1yUVAlH4xC0eH4t3gQW1vD
-R4cHI+tqew1ctuCZpmWBzBko4vZJMfE5Eq5D1PUBwPaY22h7hZgJOC3VrRCB1CntRyh7wXkmD0DE
-9M6zKUOoJpvjbVdNfn5fB+aKdV5QTeZjRFfs+rOEq6AKYHoeQByrbAxXsjPRm9Pe9vEfs4EBCIDX
-9mP3OYVphnQaHDPPo8SRk+8o1+Tj98edNWmQUwUWMC7YioeCzhzN1YZPgQO3P/DBLvJTTCE4B6dD
-drjcSF1vt2LPU95Q6OU1EfFJKtf8R1JXgJQQDd68HjMU4l7VpmYqMkr4/wRSOkiuVs5gM4L2do2C
-YhVrNy17fu5tadItC4JplYIGXXUAVr3iaCaEw3TZ187EGrzwou61Ocmpp08rGmhLbSCKCug9m7tQ
-eM+3qsByKbU1sCxISZNqdIwaBCYa8xpFWTzsGfz5P39V4Saz21nd4vjeFqq0BVdMb+BKibR/XRV7
-5X4hN/bfMqsxz9gmUN5DoOZa0jTc7GPVIJjnZl+50caG6eXce9Rdd2jP9lRm0N6gCwi/V1H/sW0D
-5idv/VmxWBpGt2OO41JUt3OeiHS4UgaD2JCniVlVsj2JplYlb3Sp5d+MuantnTBi22llxvtaQ9gd
-YplVUA7/Z12uBtWzx/Zd5fRUsG6qf9XzHEnISM8PhGNQ0RCXgDdQvETtf5LME5iGL8GWUHY+efvn
-8Icqv6hEKBrYTyndz+D1VvHtGvICgSfATAtWwvia+YfK2neQEjT3HCEwM7RcyqXFvzSEc0TA3fSj
-g3TdOdz+izOGZSK61IpnSVKaaqFButMKBJYarx1TIv1zdU8h2cUPj87bfH46aGqAv3PFYzirwf3n
-bGE+bzJJVnDgLeEW7+8WBFFzeyA6hP1ZmOsSKbPnIWVgz6lm+ZXjEjHuiDG1P6L/KHaaPfCYi0/u
-pCJiWEyqEmoAWLVbkK7ZboDGgmaagrJYaFxZbWPRVEeSzSq4NKehFgkl4m6o3CZpRyrmOJhkHYDi
-GfBPH6+BJoM6ane/7TqqfA9jAUiIyFy1zu095ilgut2zWyll12kEk868aCvWz3SlOfbK0qgoTNP4
-8QVuO1vHkG89b++KB/iCUg8fmzh3yFXs22PCvo9RY6IP2NO3WOGQJEpmdxXXUlB4JrTsWuMsMf5y
-70Lz/wu6KzOD0GkwurFY3aS7rdYrONtLK3hteNqYyUp561VgBUH3+27HEV9mtiM31sqGrHeN70Tt
-9YLb6+r4qDeXVhI/NEnOUkPWT8IMwq0uOpDh6NvmpiswgeGugDLvWMIH2I4FDTFqCP6RhWxbPKdl
-ot6nXuqv8XiKH8gWNyZ6Wd3aiOeAaGhFxcqI8F+ykf/EznXO2KrboXi++wotyEvYfkypjLAIHEdy
-BeO0/ftcGdc6MRqZ/WKtoToEmE1x3ITOxIxpWZcGymuiagv3/cMArMv0/Zdw8LPv3mpmikZ5PQpN
-I1UJthyL+mQXr1x+mF5onYs/8FeLreziEeZfH5IcG57alQISmyopSTt67kZa4sm3Kxdy9nA4btQ5
-uG5cj+IoMcy/Cvc5EGoXtGTLKZQYHFpDLa6Ir1H+CzaQ1g9lBW3ghIsrz48ezEA7aoGce6y4wI0/
-yAbF+SGDNxrExRWuDY1jQ+D0oxzsiGhKhacJass/fgLNhK6Ee76q1dnPZ8JnxTp7WccVnH9Q5C/I
-J+WtAfwy+lvrC6laFT0iiMaZCHQedhr32OwHPNaFbHVk612aibYdS1GedmOGAcA0iQCE3EcMcoQI
-h86qw4GUehSUItuRMcO+ro2mWjdCEtMfxK4JkMglVtQCaRv36lTMirXHzWzdce9O0AS8k9DpI/sV
-RoIVIBt0DiaEisYzzGH+rxoWJQUdeKd3k36YL4lBIkLdJR+pVPz+9PZ/eNz2eZVkaLB/NcfPeuhq
-PKFMZtQq6ajI8GsCBKIPMemTbH2SQDlKjZzz/5tOhe5U+rdRoI2FStFjRW5EZgS7reV8raD0b/iY
-yz2drsvRMlfHBXf7xRVEqVrFb4lMzumN7Fh0dYOJZ2M45kv5GWsifGQtmVR4pb2X+EnzSPmLhyY/
-ihw5aLVAYNEAteG3c6bKvbpjK3ru2tDgNBC0ctx2aGTpT0Z7P8cMoXKIcLRcdVDLRl2Ekt15Zois
-9zfnbUfs8cl7qLzMjjYglpl+NGBUFxR9hstY1+Q4CynYDtH4nJA+cqCrGwWeEJ7e+sxyGDegrZjn
-Eka7z/295uf5MYUkszpphIMJUfQx55m84j2hJ/xNixp1XvQqOKwd/DXTLT4gI1YjB/mEkFULKbcL
-5toaWW4kKmEdBBaDAFmDtZ1Zqce5x+a3FRpG/WvCeYQ2FQmIIxggCmvwC+BKoQrhxtsLHmoWmrHx
-FYbwv2IWcRBFk8+FE3RRpxBWHqDUT15j5nk7hXv19rcpUO2eM4OaI++6fb51XqMIoussJESevpy1
-2+Vq/TirFaWNxXsAJeDvgJZa6I+eSF00dd28E6U4VYXW9vEPN3qb5qsAFVi6Wen35T915jGaKj9I
-J3Yq1p/md3NuVFYmetkSauOg8ZF/2jRV2KWjj8YqDp2Fxu1xTgICO8k4N5bl4zj+thCOH2gz5ALI
-ny2SduZDUyoMrlQAr7ntK0AKmnLJ/D0qOaNvyr//s9QDc5UYmndNmd5TpxLpwQh1VkKHx0v6JC6I
-bjMqW8JqVis68kI0Q0YMSEC3k2mFc2ktfbU0plynrQvcCJ9HfoC8kHnyOs0tK/Nq3knSB4eXpNkr
-Wm20+kP5OJKLCF4nPyDw+/2b2ELyaZf4+wfgaatWFMM2IyODew+RYMItaS1lLyK+a6hCOPX+J2Cf
-y7dM0/Q1ZQq10sVqwjSjRDlxKtNxw23tgVYGEGfiULCn6YxDDxcmSV7NADaDmSj29l/v8gbznniT
-Tku73140R84x721nIh+/ZGq4H6JtTobt6qWwPsRJCxjJDgOg+/MvKLOquXHG0gYVwK4ECdzyyP2n
-gF8pKEhcKxy1K1pKNS42GALunWaPRJAnfml5lsGxOA3OS4Llv+6r8WtwO/dkkPEv6dYMC1hl2DPH
-sN4o2oSNDubgPh1IP8R3i9o0W0byM3dJ1CffW2VykLnAouyMhm4shkc6X88hH7yXfuo7IcGcHn19
-kV/vi2Vyhe5NJjuPSD4aoEzQtrGs7e5uFLVBhsykabSfHTOl3waFoTEGKwCkH8gPpf9Iz1tD4Rhz
-xSzgeDaR+NGqzqXXI95Pxwn6E/St9vTh0MWZwpkst3g/O+eDMMGHJR6BDo04hbXdikUQDRQgCVJ0
-47LWPvSWA785cKgC/uI3eo4P3UTkoXduyTYxPKouy2CB/N+62Tt12IU3inHZnIYhdSHpHVVkab8J
-5wMXwtsrgNos1QZCmoxfdnkeOTYHWcpk4MGFlpFfOPATk/32mK5MQwGN3ywkRykhpYJepr3Rns2H
-/rplNlFEhz+8RJ9aeiFWjD7LhckxCur0EZHq4c3GFXHCY2O+QTvgYIOY3EoNKFwB9Y58eQn9uzY+
-D059yCrYahPlBiXTvOvkfN2LwaePO3bjbIS0CuT4k5jgorpJwgnK7RtcJUCG/PRGoK3BIaitY73/
-FXFsLzVAHAVoBzmltgzjPvZkrPTpstRG+wFeLwfDxlD/ca/BHiRo5r3Vo9l2nJXwoBIxmNRW/PSl
-lEOV0V8D99oaV1uDpf8UBAD10U5/qXgouFjlQ2+ouGQaHTlmODzqqDA7mC0kQk7grxOxwO2ytH3O
-b1ArxGEL0PCgZX/I4mibpbOjETt8gnaGw0WWM5OFTawZDwWM8URtj3wvh6sO1h+z1CBsY5mZCtUA
-Xmsbhzrpgj1VEl7Ce96tc7yEZt5bV5yF9iR/6F8bnnq2ly5l3wXacVOHWm7+CzS2vx2wP8rI5WW6
-9XH+3GWrNJ3fbvWLHOixEoWEIZKEZZq6IZVx04Qa706noYp/m8dQ69HkqNN1YJheXgjldurdv0cv
-b2EMM0bmkSVCL4JQ4+xFHb28iKZhOdB1VUekEi7hOeGBwPZiWc4suXQPW4zbkB+Vtjq/iLNxvyDI
-/1x2vMYnU60eN1C4W9IX+7AOk6YY32nE2bGr3jtmeYVvVI4kn33stMKhCCq14Z+ATOrhtaeGYFO1
-gelvFQ0M8+U434h+Ue8WGpuaWcnivXTlp99INwkAjPekYUw+2wXm1AdbsPYoxe2pGsfse9I3BQr1
-gU/+CqJjC3USjgTo81tzJcLGj98JekJASOClVXaMRmgUc5bfZlWBHW0QJz/78/3RKtDjAWNMMusH
-wDnP/whBitjHWQMC+noBTHr1HTv22j1oJkiM1fjBSbKfvZCHGXdZ2jQMTHvRy3Pz51lJf6MqNUHD
-v+Az5UfgJSnzq1iO0BetzGy5aS2flcuABZr+LWMBUlc6tz3FiqgNcP9YPIhHGcPeiXFzC/G4IWzg
-k6MOTHHAd0fKYKrvqy90g/YMY022EqzxJ7y0CULCj7NXN0Sq+fuwMWyLBCb6frGhmwJPj0qu9xdN
-jCotV3Q3AImn4daG8icDLDDsrRgIUX9MEjOYXKIJRFSAyUchzKQLrTGWwOWCgz2KA45q4M9N8rr3
-Mp7viz008MmJcApqLN9PdT/5e4cYOXWepFBnx98PeWqDTU9yOw56rUkUL2/WDuq/GOE7M3+SpRcx
-JgKgO/VGLiHe8q52IsY/AdL245a6mbRa91dJosQjUC5SXltougdP1/m32z3NxV2JI6/FwlkUbqu4
-AYiixVX7AdHMGstpOXUxPlys3Va7At7Zk0sUyXzmHZ2h5CjJ2/KAKECfgkMbCtM/7f1xgW6F/vsE
-s9Fu2K1ts5sUX86F3sthrFg3ntJe7nonuzBEuM79H9ZSx4GwlvaDhgLpsOQJSY56M6vzHfn8m+S6
-Fkbhx9Jg2KYEyEcM3746CYgzQ+etIdyv2e85M+yf7BRHKttLr1/35+jdvHXGTFCgfvVGqTVBGmDG
-8+lpGU3Apvg9KHt2tfYYMhQ9HB+iojlL6J3iPCiRINSz/KvTxhzv5f6oHeFE3KpR3dOiYvyTnV0N
-C3XAXisD7ReQSmfhha8K8sbfm20F/xHPCCoX4QziIcqMbWGeX9Br0+8OGxpOlgstpu2JCi3L7P+F
-b/BJmNHmmJfnPSHc02P2GGo9vVF7vgAe3xSZ0gXHpKuCgBTO2CvOas+WvriWaNu1/qMUgKTfCtYO
-hVzM8eOL2Y09rXb2KqYple1QnyF9rX7ctD2BJQFDs2gaIS+OlG/n4ueTRJiUCRnd588fxiy+gDq4
-sBcEshZMGQ52vZF44nVrppgzOXebTuhCmkmDk30FXYEx6Pb/V0vTiev7EHNPnKy1vX4bNtdSazg1
-5tyNxjI646DC/DepLmzAceMrNvkXCulUxuh31Tjefv790eKmzartRV6iak09NsOvUCm8aIFGw5TB
-snxOBBtojXezgWfQc9x5dmgyPkQa93icn6CCFg5N2XZjQPm/B71Rdzr+aU/pVgSjbsIcQKwtyo9B
-9q71eMuhj9sg00LNiYsQx+4g1UgTP6K3ZCJLQHSd8h858/+xM4pJ5rYsZ0ZxqtA0+81L221CWkr0
-Kp3AYJvssn31fMTgrRkG7Xce1iH4KUgBJjy/MPFMRPUtTrp1HILfzwipxUC66tIir4KXWeKIHbig
-tEZwfdjwqC8PimxpIJ/NghJHeaCNlLCu7J3OVuMFChrdxvibhHijlkpcCBKoguedMJQI4CCJBo10
-Ktt+bDVUDvlQkdcYjNzbAxA+vfCvaYhKvJd3lqXgbHHieUkwhj23hFbkPI067frMMdPoIxen6B6l
-j7dSXdijCmriI4teAn7uIlsmivTIsdSgRBtmOGBD/ZFjW0DqQWaZhhvXe2F1TW0ndp1o2wF1WBwV
-jroK+6v6afj5RGx9S8whirF41EJkI7jFGkUMr+hlgtVmifjDytAkCXKOnVXqbXr2dXei4lj8CfEN
-f4ZcbzQZnb0YymY3AHDtYiYZSN6+m30Sb4b710/OA2fR47HE2a7kgcRQmYFNrZ4tFVenbbmlZHGh
-Rwbwr2WrPifOrdwua0vAUkzxvzIky7c3eV2pYbq6PJIO4L7J+kQizFkhzbfAAJFEBLmdhybbHiVg
-r6y8L6lkVuoN/op6kClnYfXmW1qSi4spsjd95fyA0bbBoLD+6tJRvr+qcrcvZjWdVKFkqPKhVvY6
-T4wFmeCYcAgPDH2mktlfrp+q1bzjxkSWUtUvQ6COmfUAJgF1Z1LKuZsCT+BXlrqbc7x6ACcI8NMp
-6xak3FBgKXEhkfo4geaiezlzaTaClTs4jnWfBfKKxFyEX30N1xLfrknrNu2WW/7ePGTVxLZ159Is
-FHuurL7omLDkt4oYYVvhN0eLkE8io7O2KqDvdkEZI22uL/3Og3OOc6v2mat68jvldOVqSQ78kSsP
-eG6npgl+bY4ggDw7ZwRbv2eEfuXrsJhuZivaon47MK4tPPJeAg0L1h3Oa05Tgn1D06bqlCHzs1p/
-mP2xRi8cP0oEA9GpTV2lVFnhGcRb5iPzc1VdKNx9oPMdBFzXzzMgsEqhRnTiD0Shvq4ctCcOUTff
-b9pqjyHZIgBr+A/xYBw4b8K0gybBq7SUrj5mQ+o1/JQcAeLj83Y1QTpQkS5h4tFkdr1gq5WJ2v/S
-V7YhMggnRuh0Cprrem8eOQlUbNvjj3jTrpK/7TzNzPSRj6/u+wQ2c2gp06SltV2DsXIVu0XdVtwZ
-XodIA6E58TqDUeO6ShnSEV/GXKwxWDlDf+OX2GOE2/WmJFbBcPfjsIoFT2lUVYHxxWkn8GzkkqCX
-SWpfyV3UXe797NjegY8GsEeiMrUycJ6EbKTwOhHUJ++P4qdi4pVrz1AopMvtLTIWYZ5Ldh4VUZ6L
-YPTtyewLTl4+Te9nN/W4PZTFcHxq2V1SQyHgdp33pgqZ5gKISgkrffRgq1f3mdvTVETy8BDt+yxk
-jCegy7Q5OUjcnQTN4Z6tzafLKss/J0hJEfdDGsNdZWtdh+HlSDCu7b7it8IUX6SeEydqCCH8ZSDK
-o6+kvAm3VhVk/tIKxIDWh1es4VOwAI+A/knmEScv4LQ6X4PTGvl/8Ov3wBjt/vQrYYiGKNbtWTz4
-C022kU/Dq8lrtB6cuMuUR+735CM0a03dGj+o9qTQ7lbryWEj2eGmRgxNN1IBU9xxoIg9+8ghXYM7
-lxwDFwO8WN8EQavEPPCPry594kVehuIxwHv7l+f0bgo/EYivMqZfHm7Wqdwe8YeB+fEnrDVH8+kE
-JvXd0jV9OvdgGPimGPRyGNJ1Xfq0i2zUTRNZu7IMRGRQ61YNmxX6OGuGO/ZHbDwXLGTT8dzgrFwC
-o+RsAxdZw53DAOH5kRvflA4NCVsOn2GJ0zBtaycBCYFIuv7YOKtY+wdxd+1AnsLXzjsD2pMHri4R
-9BaIjQZwhRWkrwEOvxk4E6HlcD/QcIg6qjRBumoWhmfeyr5un4dOWca7z542dskaJhTn5r3mra3N
-qUNe3RTPRTp8s8wKr/BIKhKiQ6WAJf5ONv/yl1uRDNFI7LWeMpPOpbsya8A9LD1LrZRSJAmwGB1v
-SYdrwHRfHliDfnm5mEl5X0HBBuvvFlWn/fgcGI/LEcLrCIXzTIB6uFFhi0p9vs9tGjc71vWOVwro
-G8eEphDgVnMEY/H5Nyv9FNKfzrSMjMmToi8mYwZfOVP56fFubB3daKabQLxNZOBmzJ32+zlLQHLu
-u9geQKPKUyCtTlaMnLt2mpwCLFh0JPMCP4pMFaSjnYzDH4EbKigKB34PtNxlcHN5RBFt6WbcgwG/
-vjwg7JcQuZdrdtBarxIBhp7a9iU+n6lycayeBGvPIu09XvtONPWAYOn9aaWAxQQxCkSj6I1m2AK4
-fIezikbUyPeUKWhaDelGEHJvqPBuTzLn4qxRIQHL8CYJaeue3EllLRtcS1ccZDIQrerkpnfBN6un
-St5/tRNcNR4d/lnlPTfzPSionz/62EcsJwFu9NUiWPsHmIkad9mNrj4T6UmkVx6loFgHIUbwuHOT
-LuG6fAZ00sjCWt2Agnrro1UEkpfJE5Py8ho6HdBiHJbGeXI/4/C03yo/LFF+a9fdLosd3zN2v2/r
-kZ5oW3fkw2AaXMpz9gVwVOyvfYBP+GvevtLd8nvD1SspiY7W31X9ibe3evfVjkb8B0GFBzSEgzag
-f/roBtYWX+jMIqbuSp6rEYQ+F/lRIF5SOixM6YBihKfigMwSNlWevmRMShKftH2sPpGNnndPn305
-cScShcNA+ezcnPBFXxp34bJTKTiWjoCg9cteZ9P4LGXru63ma3jYHfMQ7cG4YAM2VhN7PyS6tPtz
-MW3Mwmt9vQCTUklFiuplfj8k+9a2HlRwvrhVYHNjR8DxFIDE+HfEfhz/DxtikSN8pzz/8bQHxCkU
-xQ6+0Aob4vkn6+FhsnPmeOHvyBn2bh6TSKdeLetydcf88Gv9hrWTXMNTEhiV3T27v2ci4tYc41Pk
-du2GNR9m+MXJXZu7aJ0M4Pf6E9v4Tb9vbJDVr4LH/ocRyTzv9ABzjF/EaNLLiS6fCRdq/HwhWi6o
-6swEj17OWIABHgYTnDMu22fE9WXeIH6idIJoT24MBOaUyZBV57pOv71famOIsSvgbbbjE+tynAyV
-gwCeETgWYimJ2EwJ4ea9W9gyVOEnJfF14X1vGSgnngTuVLRa9ekWofrTr7W6xaa67ola6kWbUG5b
-cTHcPrWgp97PLfLhpXwztr/v/VWHgxngzuWBqzbJ3nye3R8G+xnXMUEZnHFP9TLEcTNgigsT/wTO
-X7e0+7wGUV1zKFQscHcFpHFbmgNCkjj61cQLHFSZCv4eOQ/Xvp36IwR/hxJEZ8xjKA6vaBZLsNh/
-M+y7IuHLlKv91euUBbGlCfovEfc39DjCWXTSG0c0A/CrpQFoxgoO0AEI0l/vJRmBnIxJKHrThpXv
-KaNa1bdFRIbffGEXZeCWiS9Nuhyji5CV/ta15F6+4GBC+uf9i5nkR3UTBN7bfBkiEXinSYxTGauI
-eYUAAMyAci6/3u1hIU0J+NwSQThgnyec/+bd7T/IrHc4pjBHf/qdiFGK2xy80yeRbecv2MbXhVp/
-tFLMxQwuUJ1nMAwcl83T3Vb5RGADLU59JUG7cllHsOnFVb82gaDxgM2WGevwtxD96lIZjV7Y3SpL
-7pkhUmy5E1E8Np4djgUPUEjfnA2eQXzGvNOz0lzDBJTZG5f8X+02BQ9h1D/TkZKb6bVUJLA0VR8z
-BpKIUoagUBNvxiJ29IMe1CT1XGwbkZf5rRTEQGCGgiP8viBcFtMlk3x2pxvWoNsLqsvL3OQLYPGH
-ZBYRmNhoxzJZ+vBzspbjU4yadSXDRtPUT895fOR13kxDUXeJJFj9wTDO6q9HQ/kv3XdckWXthzxf
-sPvjdzuuIhZGwyaJ/UUVuMFBqPhk5RwAzOgiDlDGGsB7ZoojCC7C55Fdk/m6CltTqwcE7cWld7V/
-bUzCS12IlVG9/s5GbWNeiHTXC72pleAYxDpTIVAoBldTVoJh3//7naiKwDSoCHk0RLpYdf3qmpvs
-/r4q2gXtxpk+AoNPhF/6KJbdNUlFqFCOSGNf0PLraNeRR3QW8xTACD8sGJvBz1c+w/LAEvMk1+qO
-zH90WHSaaS/qVX/H+QZBWfdnmUi1x7qn9JNMijzdtYTfoAg0PSjfPuh+zXwtCJUnK4sUZRZeL1hl
-U7ELCFs7uwtgscBawtqIx+NLZ4wV5QYQ8cDyDIRbjtC88RxCLrKuGHfFpwQKNNjviz3oJvgsn5eL
-UvNRrSYKge2L275rFhKEAzHM764InjCPKZd29c+iLYX3vJio/75EqqUZiSPB/LRknJTMxntJfWXD
-iuhWP7RlafHz7kqOzmXqe94txx+oGhIQrGcI/pjVEJZs5OaTifGnOMh4njZzMDF4pIzQ1ji8m7ZY
-CmxPtd93TNm+lWO7gE1VP86hHBQwuLa3kvZHsf9F6MuIeWl0kkkUSbQuvh8SGYtWlMU/3q0e8eMy
-wjk4k5fzRE2NNSAR7s6VqonXAPJjImYcYQHs++DKp1NAaBJpKD0RrcMhKtvXtdpWa62iEVybbJP+
-Ifn6Mbc1cWl2miIb3vXQNar2wdpqBo7nQBB2Ww40WFc5WwFzH1LyVd9re+PEUdyPJFDcnWaMTUfN
-SdU15pvGyeFZnXlh++VqTz/fO0tJrbtQUImufEHw8iXAzuNaNwyTsSZwHb7KPCcN7LAyXMnudpDN
-kg9sSYklK3MaGtql8JkVj58BwXyVpr1tJb6fODJoGlcsmyRvmWk36rwrS7Fwisscaim/q+A+P/BK
-ayhsk3HbaUVZ/weW2no98GpoO6pI9ejdH0DdCgMct991vCO79ohOTLOHbbFq4XSXW7YQOyGcAJbC
-LZl/DmeeB6um0gffkm3QLkw8jXh+ZcgLlusQKxSu16BKCI4iymUOSYJEKlvW4CN8S4uDtvZMXFi6
-/27+FTV3OEpHQDISwBKGf58PzpkOUTbGgl8oaVFIjrkcjdv/sigXjqUGCAvy1Jh6FTWZ2JsWrYRP
-9EBP4P1UB+tkf/uAQ/KPkckHgkiKb/a1yivF0moqeye2khuZM7vI1s1czQ+0A1MMillV4OVBi2gI
-TMMY2eYjTHAqIQWULRQ3ENyrRse6pQoi4gnDFgLn4ZTUCcvusFs3jGLkQ/eL8h+tr9/yJhQaCwu1
-q/2LlPWqz55Yi1c3HtQcZJABv04eTS/QdfxItRvHnIk+GxpByFV5mRLo52v/o3J2a9zYE+qXeISU
-GYVFp6VBcaZRRAUEirNAyjS4SdhuoA0vGQrbZhcUnc3Yy42giYIWLmCbnOUweq0YjO6Qh/JLpD82
-HFXBPFlVONKkdqp7Z4ozz3RBST4nYMNSoScDBSGwbevMcz6EPfrS+Aqj/epHnKQCi1aZwjIRPmWi
-fqqJ1vNRDQAdHdlg0rc0ieq4sUZ+BOSXxzZChxW455N5C+mZ4BsA303b2X9EayQQUbYM85xJ03JO
-l+hNI1reHTVrFiRO+T1n+039hxN2riQpXnbjxSvuVoOuwSaS8cwYl1c9QHE6p6Rvqbhj3YoBrXMl
-7cYazJcnJeyu6zpAO/e9SsnV3dFCYs2zc/tG28IzWf76VRyaW6fnGJdjKvk7cSd4/a3Kt4eXtbcb
-yL6mPJjRsFp42WqazEv50l1VpJFETqpNg9WassXxJOhX4Ojuz7WNp7pVDhWjZg9f2Z5qxETAP5hl
-8/PLS8PyTglLckth+6B4PPWJcoWC5CvTzBOp/SZJ3Q/V/yJNct8vnOXz1V+SXfGUPDk9dv/dvi39
-XCrANvCXDWvZV6JQDTinw1zg9BoN7vzH/Umg92XL6X1z+0GsJNrjO7Q2W8zJdlf9zf7HyWZNbu5T
-Gjkn8yonfcUhTjHJ11ELNxkZMCl/ZG6THt4ElOkwW4GfM5uJxHCDcfT9w2jqWw0r233/hLwfcFhJ
-voWtvA+7+VKZsvcqUsg8edOGgDALGROCcgWHOvGGkibkgF4mMj7+xLBDfEby1CEqmIQ1/fPhyrnX
-0EMWV0MmopC4gjEoj12THRC/ngVIgC5Z4punq7Qafwsy9D51fsqq0mQi5nVNbogwyBQFDVvGGnVN
-zyU/VCesRsmVgiKLcfXM/ugFDUJeA/egZdTv7Re76IkIB7hNZZeWuTnwd6+Hi5Ub4QlPVPfx75o/
-q1U3zSrKlxn/e1ozvhVyBlyBp38EV7qgoC0jXACocknsoHGcklAuyZUhKAskNheg2RO1SNlyprvY
-5Rrg0ORLCpCj65PdfrJSBQ+Pxuy/2A05LQXwY1Fr1Ze503MS4dLx+NTiwD/np+6n1E+qtnLbN8oe
-QQYI9XXxq5iUv/tn5S0+H2fNkMYnRJ05ebVlvvGdq6aISJqcQEPCk8eQi25C4S26CBL+yFEYe2rV
-66qMGlCHG712A4nzBooc5883eURofJPIUicg7mem0QC6f8ZOQu0lCR7r2Jt/OclFKGQx9rqcwylM
-47J9ADcp5ajBauAsu+2W4+/wBzHRS05aeHDj1jPl0ZUgNwVhie+XwlfTvRujpsgmmvc5UPkVh7N4
-H0eQhrNiJlIwwSI6GkXAcI0uchhN62aQPKBAYCiKc8b7sR/cTSikA26SzCWHkztpuvK1mhlPJd2Y
-t/S0NnKr43QAZxgOTetX+JGZm86U11OgQTBZKSH2sakZs+BY+gjhgR4/f7dkgMnx23cCU82Y08LL
-pvfef6JS4o+8dIQPKdwkQjA6NcnA5NTP7OvEyM6k2epkVDn2vE/kMHAv7fekrlAcuG7IqAQMusyB
-ymJQOG/c2yPlx2sdzuPlEFzr/twVCNCgTjeVxX70xAc+wHz6kNbT0ogeEKxtUHR4I4ssL6yiu3Xu
-FiWNa0EERLEXZotEjQuZNgozkDQg2uIAqckBONMDDmzNGy9+uB1XTT/BP8klizcvxCao3TP3Tj+y
-oPVsCC4TBH3uaLSEZhXVeeoW+3fJHPkv0VQq3v0DPiyv5ibFmEI8f7ofUPPuWd1QH2O1FJhqDll1
-ZVbX5RBC+6A0jRXhsPcd3OvsMMwkX98jpriAtFthcK2Tev9f/MJjOIUUPbFPcQidciTpxHN2MbXF
-3CDWWDiRcYcc9DsnYwaIqTIuA8TBfHyQpSo3nGvIFyostcuUxeNRnic3iov01HfyC0TWW8e7Gy2k
-o5agyEzDdEdZlGAtmK8TGVT+9Y96rgMzXdiNKnczhIROoOZ1RwjKKR28lSGctrICDC1u2DFHVq28
-si9g2YiHDqE7U5uqw9PT7V+6PJITPZCzXFzQg6S6uj6bnv8YgyeTyuFvxAtHKF3kmJelHcJk6HVT
-Uz8iiKemmfvVNu2/yHk6hQpUzpKXBxUoq4+2+zoUzPdX45dgX7Wt26Wtgw2bsHszD39W/zeIHLwF
-gQKGkXNMAl0GzR8ANdhiqyQbP5q8qX7bK3JVHT4JznxWBlEOywJmbpxE1EJWHPhw//75FPikjUca
-z/y05xXHmFibw3IawMtHrB/u2p/aFMl/h4RVVp2z0iFkVaXQP7/xa0nTQqjjFsXXsaT+AmHhJl/m
-+JKRV7C6m5de6V2k2+bpIJbGikubqsQOIItnwQ7fpH8JGuhRpXj7hXzH7at4WzqQVxSJWuSxNDP7
-Q1oGl/Dp6ebwj1ywP/7s1iOn6RrfXbPFJPY4oFWRVr7uGm74z98iYXbpzpl7MWZV644P0QabcZdI
-ebsez+RkuXiP1KJdIvKHV1miPG7Cgbc66uIpSU0qQeoZ9W5K+ov3Tid+2uFi6w3y7tjyXNM8pp9q
-4cMrfdiNEIfwUo+h16Lv2S3GPqsALeRW4XzBnW7gEe+hVcEDlFB5qf7puWjv3CCpCkdS36tVRLMa
-1NAynPJaYCyS1AfwPcfjXpas190tjiIjouctSsGqWOAh0PYDbhaIaDn8RC0JJeqRBDJJ+AMwur4R
-IO6HtD3oWMjDYGsiUgYFJerDNW7S5yoVYWEryVjTsfgHIbNY7oDTAiXEBFqE3dfRC7BTIAQBGI+M
-t/25OnbjYN2voGQdjx2Zou1XTMUrCeSWC2r0VRwonclWFk8Y2AKzqh6ZxHzH1skQhbUSgdLS2u/p
-L8tm58chNMd65ygXwFJ0tg9e+DJsMbUTsggWGwsJjINCTWYt9XC9wvNeovEHtnwmiIFpFOlwFTT1
-/vdbMXvph+ceWQeZcsJ0hzPaDiPSxh1WTP1gy2bH9Ti3faGlLBoFk1YmdxREFptcwxxvGDYdKA/n
-PiIWtCmv+USulesKJFQqbo8K6SzYh1T1fkV28tW/bPvZgZWYB8XtNSlMglsaCrhJMv3kjB4W4Vbh
-LiUNmqOYMuzpNwe6FIRzNOzDiTd/Tr6j2eOp9D5nLiDf5XQLCXMA1s4eIuebXu/YzbV5QDk5TUZY
-XTz1R9rmkk8dyvevvZE82UGdZNnHXIZ/co7H4TCsrN+1kInQin2xuNZTvqtxm49QVUMG0AbDXjTT
-8iJOU1hIQgJOg2ZCfsM5jA23+5cxRXl42CX9toaHHhQRgA9D0BQoPL+VhIiJX8z8w4fdbR+mfx+y
-9TqWl4J2JuhDg0ulcv+f3C0f+KmmjA94k5DIjdT4iIeQ6048p3KduKGFZOx5NqZ+EgOqP5G8pVib
-Nu2ENGpFS/5KXJkZY3UhUeziS+yS7u5+9x20kbYBwVxTTj9Rdctr9V202sm9+9wUEIf++HiPFm2U
-Ji4vWkCjEqVPAGiP9QhRgIdh2ptc/37Yq1QARBkYQ6OXqHzAikHXoz5VAmI/ez/jxd635G3BXby6
-00B/1U8/yETDWxwc2+0U8CV3tED60Zwc9oQ1PEWbuusexOm3HGT4ecGWkDxND4egHRxdQMqHl5ji
-C1TAgPyeJVc7w058jy8hpeomgZc1vvtzQU4N1TGiETFnn9b2UAj/ohVXSXwr9OVtT5roFlyZt+sV
-c/tUlHFbkCCYx1yVaby0o+sIC7PWssV1jt8GfnMsOE3WGacghtVhpXsLYBD9ThxFds6hP52vg76P
-XFwrgcDvj3+A4W5cqZy2QO3gad8XrYHKlHRFAzIILpwb4VE8Wg2Tzt/epczM09KSSUaeLyOR+BME
-CuaJbl93Vw8GRGmrIoKAwEAq0vO5nZIR0Z4KVVGgNUBhaY8VMDcvOHnSQq0F/CfZKCaQt8rFR1MI
-yMQVQgmBlVFpHbWIJHSV4Kv34xhjVtFRXA9nJHEh83VtLN3MwaLu60Rkkxk5YMbmU5CdnkjMRJwM
-L2KnryAdQrHej7HlkGtxNWPz0DXG/nVtmbNCORiCrynrgotL9SnxtKyWUnNy8zj46BGHjUfptiLf
-IcXPQ2WRu0RXAPYnxQ9Kx5Hv/9vAtPBAH7dUX0qF2tii6gydku58Elen4s/CmmPQCnod2v3ETZFE
-6wM9jtJa3Kv513UYmdLuoV7VOPPxeoAHgLUTNfI2dsvyuREcMWdOYlWhSKaOkajaJ7LHcqymL1Q3
-covraYIGW+XCwwNF5mki1OtjCfosbckdMJjvxjz0pVM5pqTWZbiBJoIJL5pDm3iKGwv8Cg1iDWJ+
-pDd3rPtNbNufIsiSjlJhpzq2KRdJDzeOmOeIth4qUcMo9dNO8mGFqCGsgx9Xby/KQ4rnTZLdrt0Q
-qK2WaOmlXCSP610HPAchAO8pZsNW+SxEwTmAd3M19aFs0dJxsJrsIndsjOx0DgjU18tU26u7kjzw
-8z2yUPy6rDeiDmDGucBoisWqBC30Y8Itldr8Tk3XOaPWP8SAezHYH0H8B/wZjhIMIR6DU1vojA8r
-+SEV1LXPhb7Ux+yAsITz57q//QcWhaYqr8H9CsY8qJOAD4i+7dhGy5AVOQ9Vm+G/GPkL6a9sfM4v
-vLBFmOqFaC/Ux2zzCzEcBvYx9i4lnLgHKPMpc4XBP9xujZezQ65Oh/BcjMPRKm7GU8BtWuqEdlOq
-6eUjk8v7rNB8XTSC19T2cGoZ75WYllvOJi9h6l+ARI9I7v9zi9IbywzeWYBqDFsoJVan3laKO1bT
-12LC7Zla/nxJYOQ/p56F2sjjXW55Zhkt+GJEKZLzHvccXLd0GAL13mIpu6UelfulOrByxe9eeH/v
-gp97p0VVpZEhrEEofnyoLduinVM20FfNvK2KEF5HJxs99aQg5zjW2qx1WI1ugOxpry0sjB5f+MhT
-sIt7J12q+P2Sg8OpXXQ02KtALmQr0XZqcqbXHi26BLw20KnZtRVZJhvRIhsZHUu9WWmFVByo/kjJ
-ur6b81UKnjMuRMA9vmlMi8+UkJTOJZPGFqetaXZHs3bpbUt0o5ZKKzgDOCKwX7RLZ44wZHQq8diP
-rcB6izK9g5TJtacQQO83/Mqbhg1joE2WIl5LUUpsOqjiVBvV5evWbewlaKC3sKNVBxoF01aCCPv1
-K7Pmp+nqh5danp5hLlK2vwFLfdYUxLrzmvgaJuQ2UaH2x3rcykedP1FcIeHhdnRXkldz8hSrTNmF
-prBQOY44swA/ZkLtptYATkDwYBNpqN8pj6s1gZAU2ZTJrzRWBuLTTfiBOSecnqjA0+lC7laAC0HT
-SHFBwqlwHtNEIFiO3YN/YE8ztAd1Pb/0PWAsuvYmBJRJfacalmhCeMnNCHAPItiecrRYDK5WIP6I
-GuskuDkPoCX7A8/DcNVOAQ5SHFsZzJaL+5/DBY2w6oDL1z7kvTCj+2fDgnXkx1Mvwv890198TaK+
-/1F4TL9znDJH74F/vJyUTR9iYyN+LT584Yh5q6tJcsEl9gIc1PLvCxgt40plOHtgKDHvpDKCLjKY
-ayWljuF6KurPnKxyQ6gvGaR3G1fNsYJYpT6qHjqvSaX+mz4QDHE4+Z0iQpIX4EzcSl0i9n9Pb6Os
-VSq4B+NZ8sf7l59JhYfZqY3an7ty3kfrFkQtlZ2cX3aePUNzU366ZciukAwGtwBrp+J6PXvoBkK9
-9dJI7sNghu1QgJxfiF9O4G57xeao7KVfMNyA45vvk5mwWw6JWGWRMOd+RTtJquWNkfUnMYscimsL
-vYHGk6wUnjEUEgjVgMT1tNCL9p5wmAzrn69T5/3CElRwIaolW5eSRuckBxG0vAl5Tobjv13cQ4EJ
-1D40lvSMpB/znKceddU9fhw7ACKHzgdcebykdbiMaJ+PmqxDn3UztjTsw5ye7jbuRA0B9rXPYZrD
-HcaIb6eStpw6LA+p2EPu5lOkfzvCj9IOXDwRvNgRsM1i5npKba13XVMEYht46xT7oAY9HGQYuwu5
-12pLgRIxE3TmAhUQ5aqxASFBCIidPayAzelJ56Aw+xD7i8VF9aqIkaigBl5I7kEg1DfzfUIkw4xc
-tJ/Mu5ZNanmmCMn7n/tqL2gDJraNSWfNMSeD1xtlOWlY6ecvpz9+5U44EI9WvojIluGHBHcYZqYE
-XNWrsLTt7x8iziY+PuNyC41BSjQ9LJImZz3ty4/QB6pKhVQBx1yVq+nZ0rAEb7VZNCmRhco4gjbP
-fvKQvuiu8nKSIYcKm+5rTdWViFcu6u5Ccs5J8Tt3Bj8gIwyJoXyTiQUkB0K6B0nwEUnwIM4/ck++
-aPhXIFTpywHUSzzUfYmoV+Jg2oLCw6QKzm0qYQpaaHXRmn0kbKnWLQ/xyyToZzi+KeDQAMamHvWH
-GoIr6FglKLumqH5BWA8tRPjc8XZ7KC6hsIwVT++Uix+/GKOGrP2XP8ZdaWBlCWeDVu3FBmEgGq6F
-+G0H5y45gqepIVTQuHgdQffionQ0xK41yGx/2XxsEXSl7BURPiZG8d25JIWlBejquzGrCwJre74T
-hjhviOjidclGI/9lN2V2KGBlhKR5VuywNZqKPtJ4ftPwXGdJcuHGN0BjZVN7fMnlwHeGmHhLfkbh
-Qt8BDb21/pFrwG4Mwmmr4st5tASXtOAW9vcB1le9alMebcb+yefX6/exjSsDscu/95BgPP8RKBAm
-XrIoABSHL7CaghCUmq6HlhSWtrgOGEkZ98rgTOwBxVR3lPLSzsodKTWgLgy0brYooCiT6GHY+5XU
-29gbDtskGR10AH4eADPg17Ms1s6PgtG9nfXSu5sfoQ6LuLd5AJYGtbWvlbyrRpdff6oInR48Rl/G
-dWiWQuIyouCeJ9mLz2+vYQcsTVk4oZJF48ulPGT0Edd5oLv00oA0bX5O3L80ICkGIIpZu/K7h1m0
-A3fT6UvaRj9lo6skPv5CypwNR9hGsA7r3ns++LvAliiba6IhRlxSmkM6mIGPSNZrwV0QPoA70/Zb
-qPKMo1k0sv4cJrUrcKZGlvhYN/4k2VfNwykyCtrkKg4fQimJaZIsdNOFWMCMmLEb5+QmgAeusFkO
-G6K6hpuSgj9hsAk75otdS3gQ/P+GoJwZoQGt4maYHR6c+ZYjex1nqCX3XvHdruNOiAiB+3IvrJfF
-tTgozuHQZILNIlSM0bUWvnyz9t+i+SGHSduv/s2YxqbrtL/PTf2OhidAp6q3LLgLYmE3AZYRsdg1
-yx4/Moa4nR0TY6uVh6bsy+KJDp/e5M7uHfnB8akHX9CG30et2oKXAwaivvWiUztnHuUeI1vZ9k2c
-1EW7wqQWld+Cj83IKM3PD8axrb9nEqEXdSjQDcPXZ6Aa3Ns4Q3IySatzY+/rNYkQBGY11WjIdc8f
-888PZYWim7YiIfxuUk9ExD3m3PEEiUilwOI+4l2jsmiWLInmJl8tbj0AqmM6jFgtBEZa9A3wqGuc
-CIqrJEffW6J9rK4rjrhPSUbtIGO10LqK/wBZ+HLYXnbebYbPaXP0E1V6uFfPwQxLe5Yjp6Klu4ex
-oZqL6k4KgJGqcwo6iKvoILsnkagiSC0vtLCOhhyaydnUhr1sY8gyJllcHdCrXNI68jkZD/JKBqaK
-/En70IY7rnV2fln82hV3K2IP4CXwdgM0SY9nXYZQK58804ExHsTmCxRALhkPsKhtOFV2q4jUHzSx
-Slxq/FmwC/WvbRE+FKEdknM9flyV4+tGe10E2jH0kTnikYgzGDHZXevEI7b1B8zQ9/fsa962OkZo
-E4Gr8NisYQD/YmuReNX8rwbEOcj5dX/TWGS2fbZYlHUZBTJH4CYTO+U8q/WvL0sGLUxUZRB/kGG7
-fm5RIUkC8zkLSfow1xDa9uDWo2Zu7UIKmjcBudWBKFz7FypK20aWJlDuwv+gaiMKjNajcrt+c2cJ
-EnGAW3hUYDx7auTNSKovqxU0evm56jPS1zy/+gKcKymlszQUWCrjGOUkAwwwgxP0Khr02ZP74+Fy
-nAvqL9yV5G6+nbB5R1wByw/FsouFy1WxxMfrUpz4TJhfh1U7lJ8OflucLjgcuvJqb/5ARRufyOAg
-FRm2SDXQpD834AhcZTbVV6qB89zqMFyPhf2XfzKaNQbJw3cK5JZvRqNQclRiU4VaPazLTJMp5FRi
-5ANt+NYnJeKKwM/IfC8gpk2IcEJJrmvEaXyqRPfnPA3TmrstbpxdGKibxvdN90oB3puGIwIB//+w
-7vkHWvhgd7HUZ1h/EpPIXcnlJ4KDpeAg98vuR99pLjw2cwS6mKK+tGrqg4+9yfDwCHJFEVzEcgJk
-8Md6UBqPz17qPlVsk48YBYQ3dtQ/Uu4Gcv28spsoQXdhFjqjIw9ZOYVEXQDFA5egaJDzz2fIf3/a
-1bZHzCNWPDs4zi3DHP6pWmfd+zAuN1ddJaIz1aYf5+ZPShLS/snJaQ8V2prhgadyEpWoSEEzIPsC
-MJQr0yju8txi0zm4FQEjl+ehy039jnxtKIgWUUYkpNnR0mVWJkAqJbYua73E7DBDfWqRPdmVlavy
-2r69xKbjQuJk/UtX7LKi2dtcsM6Jq0pt1PSriMkNk1jPvkuN+wciGV/z2sL5GbdGj/aDPgiJHOXX
-XS7Fox+e78oRwjqdb0hWZ/1WMzCppcZ0w2tHL6ttbdyV8u1jCc+qp5fWsWZXgMyUn7kfFlXB0zok
-sSYa6VPRE9axjTrszQSvNPqO1DREG7lAD1PdJDs7zCLuzvVNQsvokoJorxKmCsr0OqgGp1hbTiJ3
-2UEFndzVAemIbbTFTp048ZvPClswP5ILqU98BDAVwJhBgCrW8y/idFN5pVkw9xe7xOgt+fZ2iY4g
-X24O0E34FoJ7jpH0L17kcqSpiqKrfPojinf0zE2E9z8JFpkEFwKwK4ZpDBuOAiBL3fH23IG122g7
-MKr0sJJNqWyRDD2mJtYSSq3/rajbn6RB0ZDDbhUuscCWmPuB8w9AnRyJFO1hBpKuGv5rrxhocCZZ
-hZArkGuED0XyvGlQQA8SgR3inQ4bJdluk9cHGSeCvrq2uweIXR6zLPtspH8DEWkD6roorK+1tk82
-xLdl/Wo+xZ2GDPFeGhiMQoaA9ajHURsLXBWkkIPv1si8Et+Ybmca53vs3cOLxYUQxKF5VMQjJOr9
-zgXCkfEGBRjCH9NQLMQgB8P+UGXZDizioJX70xRrRJqGhui+XNiGqK/mKVDXZ+EIXOpYcRevUxas
-AQ2UfXE4ixn0OxEn2of14L3Qp3RGxmvDpzzuparZiJcOhIOzfWEl52xl1UdnC//MD3xEJ/L4OQ2K
-O90gM6osukdMJ4rUQeVJzr8GZjWHDbEyYrFgE50DiOPJ+qrnr0RULRV+6GeOvOKNArpZMzIIvuQf
-ipfdm3XBr4e4uLAFy5cmm4Pw4dkUkV4jOLfwkU05q9FSZZY4pLy3w1KoUPxjk196gj1xGpXyJGpk
-VtGKWXH+qZ6jN5ve9OTK43yUhKUNmJFOAet8c+SpCw39W1C7gEWXzeqh+Lo84D7oU/ZDT+JxsBms
-kEf9wk7qtaiCe2lVq6yN1W+OEnArfbprbGANT5rfN3CQyL8MkFxbUZ2Ccg+ZSacW0KvrZNNAZAvI
-hyx2uNbnv51lq97berlW1v9jsqOTGEnN6HiMnPdEkEt291sjSgETjZlXgPK6TYBWmNegEk/REBE3
-vfqwbqpM9LOmHQ5Imxz1D2vp/EzFJg2SiVRsWzYmyo1tLmJBAP/MdtBNpknuCkK2Qgt+Doy/pazL
-fZ03ds8dAw//Clu5aK4U1Kx9DoNM2TQo6Jc+29HUxCPMurTd6MEbGo+/52E9+/FmA3C5WlUUcoUk
-z3iGG4XSNJCUEAvJxyy/1QsKh2vfGXQ9sCQi9a07J6qA81kMITChW3AHiOJ277kQ6Hs526clcQ5J
-YFLzywvtkLHlb8t6OoDATz2j2bM6KqUnsn+RMeuAQKr9XfvQZNk42rqo8pu1mVWSun5B/yI6NZSq
-motYufORci6s9jqMGZ1XPzIqD9MoULt6fXGgw3EaByCG7WLAxUMZ54ebHCV+DuhffQ7z4i1XGEmb
-5XEqtx9vK3b1l0BSaS0Mip/tpQy9Q/jh2L/zZS+QyatB5Z13kunz24K5bcy1oz3lnKVISISDYEgw
-L407NOnrYgHRjWcKbUy8PhJ4O3IKfOhZbXNcfNi0kdAsZ4DmnNVH320uQrgsZRTJEFS232HVX7Cv
-GN0132HrqKL9Ypy7o3IEJIY5j9VuJ4cpOT5l6X+2Hno+WqKBWTtM6bMWW/QBskXX0qbdRn1Wrezs
-dkEqNscuXjXQCmOUEq1ed3ewAlAzDfQ6GLm0pbZLIF0UGBRI4RdIWgW09HrfsjxkgHAaaWosMewF
-/Akr0pRYKc8La8Uu5P7GsOsQ3FzeeaBrdxuSG5iRdX3q2gVIYrXl6GzLCGA3RkoQHmtCy5bv5zvj
-0Uvdi86fHQ8BCVYOYj2SB0EykbUU+uWNNAk+AZkm8giTGpVel1ht7wnntiLX8IWAsRt3Sft1C+vt
-iL3A0XAtl7GbAIVvoUYHiph7uxeYb86rpQ8DAYl5VgT+Joq9FzbMnTapktSjyq9janLQlmG7Ezkm
-cShs5PO0cJ5WwoZ4jQhrdaPAYQOIvoT8YmBb1q6nm5ptjqrv+j42QbWrCkr36Lt8GGhK9FfgVnmT
-gjnxXOQSBl4m9zs+BchyPtH2FXDDaiqAh8BIDKlKiQNeOJSBdE2Ejg58jWc/ceiZ2e88Xt6QMEYV
-e0KcTF0LhhTnbMxvKRaw9aeTNGyn6CwXWXjEnRUt98BSxqZhkgfJjFZ5JNJvmFU7geESOPtks4MH
-9hxPjMy+7Tp6f59+gBQVQylJ4eFDM9v32kmV8I/7+TBwEYqUas0R4yTWOdSLT9cbg6W4uz9e9QEz
-dG894xLtmC+uga2jr48lCIGkspeXTsI9bXSpHJJuvzltUd1ZmqkOGn7yQLGxh7GHq753juoonMdC
-zvNJ+J+Nx2o69ObuO9BbYSvt67JobqvD38RTxS+0/j0qhLkXtm0xzejV1P25ZxgS0esCI7z0WdXa
-ZS2CIrTYNAd1jF9jAYPKTvPQKqi+MMU64z+Ebldz1dwhi0Aw3RhG8nY0Qst3jIzJTN6F8A51sFhm
-ZGMA0ftDxtP6gwq3NJ8rHUlpzfu5WQDv75gG/EcUjN0CMSoZuHOMMRyLXsjygAdonJ7UK7qp7H3W
-TmuNlAJTOIsPKZWuz7C9jPIs8c3rNAGiMaZ+tHHolBMOmKiFGwiUI4y8FyySup34vS6uKHbdjJ4M
-eTn0qOtEeC4CBoB9xgFCH5rDOHf56z3/KO7TdNjcY/BYXExI3TPjd6dSmqbNpKt8a2TmOL93/0zv
-w+Go1Qib3RAVSZPo9skelVCmD+/u65pcE3/1dyoysFzfY1v2FbaUQidCeFqb54kPds1VDf8Tce0T
-Qem9/1lDchfDumRZX6tk41iSCIwYe28O+z66YPdRW1aa18y//zYBIFQjRX0FbKPnyRVxp7yMZ4lx
-l0AV22c7TeVKBXN/b2ouNYJ2G9N0Me0fSX0D8TdU4YgEtKvziYl1BE+RPJymren24FDmeIA78zld
-1BAXGHJXGh70rBUaGcRwq2ktIbpzlbL6UBXXXBJv6iQWZlIRR8S96STpamAWrNZy3HoiHpjlfvO9
-tWSqfPp7/TcjEFYK+rNfgPzLMBrFnhynBE6J84gxtyGZKhJx/b+mtl5KHidDdnmZ/zLsteyh021+
-q/5WjLIIJu3xEgtkClRIPd4Vg47CgmkCDLCJIoeQQFwaPkUg04zme2kjlHt/MLMfJDQ7LzgNGNoG
-IvSRnxcF0YK3k1xriFLMoahBKTewfLufSGzcx1IQ+I8qjwp9xJZhdbOc4leG6a5ARXl9kox0Z+sI
-i/6mzR3tlAJH/5ZWPnC0qbaIWl8rYWprzukOMw8vNnX3+tehDqu0XLQETm2otC+XozNKy/1DGfhk
-uki8iVa0yQpY1gpvtGmw3qpOzPvFDmXtD0UGiOvUG0kbNsNS8itpUld+N75Pbd4uWXfMfvIZ7wF0
-OqYQp+ZP9EuwNVY2hLCqThAKnW+wXkSHXfxjxPIcB8uopkqWllQQy473Y8t2CwTMkUFZdyOqlW18
-X4CPozLqGLjeu5nPzIkDYPxnB1XpajPG5QAwaPViZId5M1w2WXhqrcaI9WPmxbtWwd4YaZO2EMEg
-dCevj5q2EFLaVYnp1mrcnWeVjF/D0FDFiy5BkSiuy1ntv7ut9E3ii2fLuLuNi7tMbGk85Tl6UleC
-etfI7HK5Gd9dAqDWrjCqR0HcIuGC6Fxb6i5iFQ341SPlXtx2Zt0/BDZYoG7zI8U/Jf8RyJ+YuoWU
-lDAhE7dh5VUy1dC0ngCo+bTMgz90CHNT8lx0dvil5nun9oMHZNwg4WLHZbxHZVIZHnNau3gOH9pR
-lRMLG5vGrpRWt5v5NHhu39rhGrUTwv5zGRi5GBJdfTXfUg2i0pieEJMR75oyjXN9rvDwYtPzH2Lq
-DrCd2ZibYU1srdPx4QIhtrYy2RBgxPsTM2MhBol7nSuNMCYhQqTE0/t0NO0OiQM4TfdvcF7AFpwq
-jVKfpiapcy0llTeI6MH4SYqiNu8BLHzXkkRIaG+4RtKZEzpOepQ52524caGfcTszvL2aajK7Su2Q
-Kx/ALaAJoI5xEyOn5qWcqMz+7K0vX7v4aiybbF+4ibquUNwXZ6MYVVbvsvXWWQYizCVV/+7X3igr
-Gwmpn2x+iR5OypsrdYROgMGxuvGQhKY9rSJS2YFFCUzCXGYd87S2i+hEBYkqsatSSU+0L1S2Rkxs
-TVcb71A5V4QyrjIRO5Y4rVEtiU4qnS6j2ouoCUzw3capf0vnE+n4n8OK9pdJcrXOvM7cYfpP2ML4
-SuurgIJZrvA6gDQhM4MYuUjT9ssDu/JoLPLjt7aL3jsvUWjvGCeUXB5REph0hJPrHXoG4uwC3mLv
-zz+3tlv/IQEVGhO1KApA7uxwnv8syIKFpseVPkOKhHE9jj2L40Ha29W+dRpPSM0+FzYXYbnyk0f6
-02mI0Iwh6n1/osXc0Y8llDOKuTMWrNOMBAgoK6ex3xRgEdm7VPJfGlA9R4Wto4qIagCYTUdwSjCn
-UHZTKhDqg7N/n3wjDIG71OZlfKJpnUaa+34JeRHTE0yKostKNuKb5LhwfFVMlqMhWiBUTnakK5NP
-BHT9ObEE1JqnrOqOK0KUaGsFZA8RGFq6eE9sSrTLq3VfSgWblZruz/sYrmKKIlbL8Vr6BHyg7Ofo
-OXbUfS1W44y/z6bPnH77G16YVvaLz/61FczGxo0mNZw2qOWb50DQ+RHpQfrJBxPqktKfI+9FE1gB
-3DgDIxxhAozRX0Pin6wrlldjVHzhYaFSkULRSF4foAzD1BlfylLxGw1cvPZAzqELHVVSPCn/WbY3
-hGqBhitWOE8jNOjLhhLJZdFD9yMNnM90PJuq6BtSa0C7eRwND//GZ8etMXK4FRVEKZF8hqi/camV
-4cgHoHmKUMYyb4Ct+QUfvtlSAdhNQ8PxMhNwoMqUAtWq4PT3+JPccr95rLGV9tpwuzW5YFmk/m2z
-1CihRgSpcWrFhpHvLxHGTslEVQ+5eSHf/xhgfbclAsqqIXYkNeiY7WsorZryBRWRllX/KEOf04EU
-Vt81ndHwcQYun5blvkSW5KJweZx6H2SM1BN7LsFcxVxeZohPMKp/MTcERwkrxeI5+NF+ejEPNJG/
-Y2QeEVqWS7/1zvo+qizcL5VB33yxbR16fMDvY5MRcMGYQDV/teV9MGLxcsoqVQIt31HzYPX10VzO
-ys1Jg6JlVaee/npyEQwYnwxHTlazaBR2q7AdbqpdsNOE3N8RviX/ZkpWuoXJX8TAAEvemP0xHSci
-fMXLhPCsZISwrajjNMSd6nufibBpLWcWuP+bidkA5xPPiXFfepZ8AB0D9ywIG0BQaWtoeVVwDrb+
-6kFSkpuZexn28sbOFhWmfOeXN/TrNCWoceGc+BqajSuuGc5Ki8KBRQZTAKvpZZYk6B/19sbBGEZu
-03t7mJj2k5f0FNILO9RR6vs5Iv2c+Dsyt5Y/xnvvfnIBDfl/QlOq4pkO2vWw1YD3htOG3D/6vv8G
-nUfqHXV8oLwMPuafJCbQ7NiSeAIXRXRiauNA/hJ99u32ICbTfnaAE8fphX64UoYl/Pbg0VIPAFVU
-ApXSgM8FH3boXk52bo4Sx+SCjIpTWH6ZfNw+6rjHZ9Qv1wXE48NkqhbsvwGxe90QNQ3WEoNlMjjS
-DctOCHP1Pq2sPoXVIyZLapsVR8NLADfh3ZlyABDNNUtFgcR8WDKgh2EFaO73uB500TBFERNE2iwo
-3iMqGMu5gekQeep4mclfLmBXZ8fh92FKJaO101L13hVxXO5eVLnaB/VX0JJY2N3K+c9lK9xsOzHK
-LVKpzqe3UfE+fWVluhP8ZSnDFscp9caIe1bT7xbQ7XYbjazc/DlzW2oB3wzJM40bW6WejHaqC+mv
-iDAdYXKqbj4N2AT8LX3Ao7Omxd4E0wfLrqj2HfmEbjPg7j3okrAG/NQORCjsHsY756PoGrkZ43Yg
-261zSTfvkOggEy+fLtS1LziexQ34MP7pxl5IkXYH+SqoQ43arA+9PZQE49Az7360ye34X+g0r6pL
-+fZe4yAOaFXkPH6ez3AWcQ0pKPB585lS7ocNMwJjXAqXtzIq6udrxhs4l+B2Oi/gcdXNDgH+rGPR
-LBDqd/9ApfF22Tcovf4Dxhd//OLZ0E2ZKk/DwmtsSe+pei/qWxUXQHK9QQgJqyF2HgLcbPrqZlkn
-jZFXyIDmVs28HG4bqK8Itsgyx1BtggHvwABw7bD0SvnmkcE46TQyvvwKpGQ/DlbW3sI6DkEYKlMf
-Wuw8nKjxp80ZDk+gKiZKJVSP/At2Zy+PxjQl42jSNPjr4KuT/cfyyXCzb/x+utQGadEiFTEBBoAb
-k/sWnI2B50GaMnM8UdVqTvPBV6+N+vK9QYN/ZfDKwsYObEC/QY1bU8oUBTvTWVM1KVWahPGuaJOs
-PurCtTN8Ig8kF/Y0nrq0JYN0OsWlIGLpCIQJf82mN2zkFbtMAC3sUqkMc8vr5wVgFfM6gPoBWzP/
-UAqUXE6mZ7Zl6MwO5iST0zjXukvN4nBgbQT546DLD7fAFtzNYew5iqTA7Azzw7SgC/RMP2U4Di7v
-cV70uVvgyqdj4eYUY/gTUye3XOw/db2AFZ14o9A2EvD5nPIJWvX4eqEhpqRw30b+i/YVbz2quJ5o
-2sxeajCMZa2HGdHmYdlGrxiCWRp50Zv5NiMCH2KTQvW51Th4Msi8eslP45XpIGhacAvCXCkbGoFj
-tlPujOFUi2Ffhr5rpyMaNJTz8J85fKVW985eRaRQ3rRWCfGF/A4q64DYkcwTigYZaCfrT2rJbkcK
-OAw05cAjUSOcYiLNjYPniBM94qoAT12nxtkoRhO62nAJ6e2FasfxUuk5jWiYT4y4YBzs8MMRrj3a
-S4SUuzdyORUL6oTYSL6iPa9luGE+VWbBDmCXjvgedXqvg/Subn7f32RtdLxXwXWOMyXU8HMQAo53
-f4SQZ2Vq/TSVIJ957tkxztGSsrUqdDh9m85WSjuZA0wBEJJTaKvlc5LijuwOs/heYAn+/wiqQy+s
-QOfnzd86B5PLCEbhFd7Jrg50l16LJJzk2OhuEbxV+qYpzz+tEMoiqi9N7SBxr19oFrjFkwS7Px8l
-leFBVvmngdLUZgq6pUzNECDMHhk8EfDP7ybGR0auKu20L+n4+k1P7SwNt5Y/c5BD68BQrp6ArdsE
-A1LuLCAR6BPXO02dpDa6uhh/Zp2Ph2QpvSPfnZK2SC9CSWSjEoMwMGRe79Nx5COnB46ylGOSBYna
-LCRVW9OctXTS3E3Wqt+o/u30PZ6MhHzeWutPLAHSEsNBEl8OFRJFke2+OPt7s0DHzGmCOuPhJ9WI
-2oB+8FgYGO7HnuOWfAPbAJWzBl36Ro0/sXRTOj2Ye0v0fg6ImMm=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangedelcostsTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangedelcostsTest.php
index 77d9f9de..7b1f47aa 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangedelcostsTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangedelcostsTest.php
@@ -1,117 +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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
-vCuE7hy/xORi
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangediscountTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangediscountTest.php
index 53af22fa..8b7fdccd 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangediscountTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionchangediscountTest.php
@@ -1,117 +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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
-q+SAbW==
\ No newline at end of file
+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
+WphIfG3O3toebV8sxG==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustaddtogroupTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustaddtogroupTest.php
index bff88f4c..3492edfb 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustaddtogroupTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustaddtogroupTest.php
@@ -1,322 +1,322 @@
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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
-AG==
\ No newline at end of file
+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
+ui1ktMCRcAU3wwT/8ZQ7dooFhRPxEf0=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustdelfromgroupTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustdelfromgroupTest.php
index 566b923d..83d94757 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustdelfromgroupTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractioncustdelfromgroupTest.php
@@ -1,258 +1,259 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractiondeleteorderTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractiondeleteorderTest.php
index f2eceeb9..f0b75a84 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractiondeleteorderTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractiondeleteorderTest.php
@@ -1,93 +1,92 @@
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+cPuMBSVaOGKh/7+LDvDeCbGDR96XZ8euwZSW6SnfmwA5eeR5dQ+QcOjyE2aL3xmNfC/9TeRqh
-E0vsKz9u/CWBpiyabwTuG/F+d6fycXM0Vts5AyGsuf1u969FUhvqXSV5pEUGM5YHrhtFtMgxAfA1
-Xk/KxndUukRCB3M9YkMGzDQfFRTYOLVBy8Sgto59kW1Phd/6sRkdx5JnybXRQ48bIsqJxxHyc3dj
-6JwjfuH8oRR2gHZ7KCq2HlrrlJsap3MxrJBLXxi6p57NRxsIrbMjLOfF3cFFRexes32DTN3cWafP
-NFk0THfvcEltlP8aAK3EsI2xVhv1EKbjQiqgangzBvKOTMQBW902ffKi20KBNDWRtpNytt/LxqxL
-27vjdMIAzLkK4CZQ/X5lLHhwsBvd98z1Xxn/2f/LIf1krQ1s6pJFdit3NLf6JZY8hJJW2ZxgMNnz
-ECc6+w4lupXC4d+axbJ4O3EdtrQYb4EL435zNdsDUn7lSl2UzdO7x3qn1yPnS8YTad7xq0wAtqI/
-XJ0xrU9N6sTU4NiAuwQM4vaT+xc3jVkUP+6QU3kegRVI2jgI2WDnmHaJWfW5l8EzmIEAunn9HTOo
-COcflOXEzqWrxS7zWc8AVRsoDiApe3vb4I6sapX9WjW8faiYBc99C/mQilSG7T0QtNT3uHaruz3D
-h0sMMUtHfPOrJagILyWZCbunExK+kAWJHjXIchGck3kKKOan4yi6XKVSDk+Ml25H+Tcz5q3ZPris
-h1bMlX/pQ+4637gwMljt5ozDpMY2RPhmGJyRrqU4x/EUK3Um7b7OlAWfXnXG51KCYesoj/O/TiaZ
-1lC7CS14YUh2Pah3Oy+oh2J1kcoT3+rxFyGd+uXXrPsXrv7cPMPtc6YZ0MbTOhYRijEiOKL0QcWK
-pcJ1nVZ7UcIp8l+1ysVy04akjxbfXnegZ1+JPOeMTQdyYtzsMc+S+RCg8D0vs/PYzMpHV4c8d6qA
-DtejXwJl/EPz1Lk7IJ6kaRDIavPiGnvc+obvmj7UnLuiMsrjSxsciiHVUkBLSu92UqopIke8fFE0
-SOMBFzkZqbdzTugjrWP1EDwaxBKte9qA8zkLn/rE8mk8e2sNC+Efn5BpoWGR9pdTuChS5BBoC1r4
-CKpF5V4+aw/aN/wUA59Op0PHhseFhj77hlcSjO9FEknkN9nT+ac/ID3yD/ibGhVKrjLEpn8hhB6b
-cPbqrMfwGfJlpQjhlSoOz+DQaU5dKCwpFkRfWLXC12UxJ6BzW1HZ9DLt8VBymFJmnq1pkDhPL2Mm
-Zx2BqgXMWEENXA7PwMtL6apRGTMcqqrHyYWkIVUNjPqP9Bw1uqIJy/av2YoL5htn8esIdXpGfVO2
-PwCnhChLDTGOjzm/IZ3WzecZJ2kQu2JE8yDl6xnM2LWtRX5MoTuMXyjT+uRDUTvMFi91qHb4hksj
-KmkWa6RsoGM9zjYDJoJq1V2vjTUPiFEnNzS1yvClB9OtIwBy59b07dy9aTgBkx7kxcdX/aS9sPUK
-Nh5FlByaJ/qvZvWYsn5cV/DsZQLz+yifnhJJWN3H4++fU44ulyOUDxFfWU7YOKXK1dcdT+Fg2IOF
-gCysWlyGsjcMKdf1nWkAp+WqO5T3nxTlW9pH1iMIMykRJHkTL/XljD0N+MywdBeCIH/HZU/+9YNP
-N1f1v98UJepmoFgg3N47Mh4ky/PN//pinyExej6rLTbgTIW6uEupiSi7NsbpLgxvfpDYzhUuStGA
-ymuHlhMvH+sIwtwk/iWR3AyhcCJYqdpQM/3Vl7gLReqQBAPX6i04B72PvL2TVrN9NbT5cjP7phmV
-AtnxqeV3T9vONo8Gq+J3L6QkZ/UT3iA+oxKt2oXp7kPNGcPzSL9XZfv300/U5UwKhHKJS53xcJqT
-CwFy/RqmCtYvBGm3vFbP2q3LP/WGQ/Yw4Yn0ol00jkvgQClDxFzJX9rLzVrelWMdypc5qosq5u/q
-ctS9wiP9mZDxGJxW2iaM/+/xNLrJqetrcyckEJ6ladGmnXqhEjvHLCoKL9pLSEmT+Wy7Vi2Al9AZ
-zOz6BcuYYOHg7UynCjrNpVa2X8HvnKfsbjVzpXH7cBDzUCA9hjOfcG/cRz8wo5qmmvVyuXEwoi7r
-oVlDDSN5gE0AGO7nLSFpcbl+8FSND0HFtmRg+Q9NoXEbzUKwkemk+k2+djbjo6CAUbxKd3bLE8BN
-j8vJPczwe3+I3FLUnCya7laqEw3SgJL1WkcEyQpd/H+v2sYOez26WxD52bAHmxkaNE3PKiXtonYi
-zEhXO03HLHUf/vTACTbsP8p9XCjPOK59DDTzHevyY2xooGGQp7LKnuyRICyTTC8OgLhY+8cDGYdd
-Q4Y6M7mOtvkrO8AiAQO28CTk5R/vFasXtKglewwzIV+tqqz/u+odNPcS8Hb6JhN/kF6ST17EQSTg
-Z2YnJPXSsRAkixTSjEbjfYcdec+8cnaRgVtC2G24+C66SMZaVVKz9BIIN5CAP9y5+FlhugzBJ0Q3
-7m9/OjxlZm9502e0GRejIjG43M/g+rSRzLTVP2to0b9kWmAO99JD9yrlMGr79P0OwuZpd+ro6i7t
-xi4MUIgWQhvZ5qH6CjsRAEkg0QjitePZi+LvDLQI8Ygiee+avI3//T+6gyNp0rXeH+aWo4RCMTkt
-BRuLRsWEYXlsELZMrJD9c/+ZpyXYRGRq8Ie0jQ/8WmJSX5ul78oAeUQbYSh503L7sofGvwsFAQGv
-MXSG/nJyD5eASwqejo/TgJqHKNP6NTtvSF7Dwet+9qpSnymn49+o0s7hPk+ytN3cSwuc4gAx+EUP
-UoE8+CWXB/OGxzmHMyexqagst1hY9iGpxkyAjFGjQ2C8H0KkhN0AM+30FIeEN+QzjIiaHCgT1hUe
-Ky7IvN8394YlbP/Yq6hkqwkiTGEIgop4P7n1KXSLu4yYn88AD+MLCxgbAi6X4ixugZ9reCkgy9/a
-DcWe8muiGOyD0OhuuLX/ERb9ctQtypa9e/iuQLkWIyLrNejkI+av9m1+m+UYn/1YzbvjWVZrlS9S
-Sa5k5PJiUAkSE/jmBGCt6FLJkg2l+hfeKND2kfgKJXSDpPMKNZxqvY8VQ4PJ4vTq3SiL41lzph50
-EDUoB+2pFfkc8NHOEwYwI+tPwGHmNAHc26ZNFXd4LW/OzrAZJUHw1Y2SytlJGxq+p9jFC+M/JikN
-mpzDV38n6E3x52UWALK/WB/V4AN0mn+fUbyIIFb4QDhIf1gRv7O+8qAbYK04ZBoO/iu3cPVCMZXS
-zu6Ga9NJ1ZuRDa6Vy72j+XZHNZ4iDnD6xiL0Nwp/RasrjiXH3fn3xlVmQ4NjfCwL3wqmSZXvXi67
-Zbmxtr4NO+v0b1eL1q3xezRR8+77GXvqbeqWB2KBGYqE09mkUU3qXlk1CGM+QvwxkxC5weMVg20q
-A8zjJPvlJBZk9j/FihYsc2NOSN8x2MN6LQ1H28h713wfsbSxNCZDoj50nGvyDse6geJKKIschL/o
-BTZCxK0LZ5kVYzufSywl+7YiOAcTG0HUzVXCXDWsxrYzykgK/E7r8PWuoF826fPeAmI3jW9J/s6a
-+PqtbwmaVA4BYPTs7DrEylkgcM2Mnp+C6bZ9tufH5pRwW8jXpHm558J+pGk6XTgrenoqgB9X8BW6
-u0eY96pm8xIqL/+hOLVMUbgDTHEzdkfDHPmMzCoExHJNI2qlHNdI/HutHNlilNp4oGrdaxK0sXkH
-zriKkV5xXgip7wIJpCNDzBk4K+biLE67r4fjLVtcGLNW3YTdbFV0vfqwev4eVkZ9+d+udUn41ixP
-IUB4Xl0R00PvoE4RdCmZbmJ5zRx1l8UpYsAXasVRpAwW61AVVFBWjwfPY8Maw4QSGj8XITIqfIEq
-tZTvgM7/grZ3uReNTskPHdHI/Ake08qhGjedwQfcWb9vIA+C1xGaxXCzBv1OUW5GwPQilxdDl7WH
-VfdQQ3DVY8B5tpAn6wfNQGwslR2+BJun4RFdeUUMBtcdOzwQlsbRhHf92jmsU/o2wmNytqdNhUG1
-NgxCAimvZv/yy+4XT+NvQt4Lb11qLgvY/nA1AXRxZB65BwqaXX8YRRMvJrmp3/0a8vPAk0sS9roh
-HKbEaszqYqQAv/wTKy7jNJHvre9gf39t3uaPoAB5L/ojKHMJYXVOgggZGl9TcdS9c3KQYqHdyXM7
-+98zgPD3JC1BId+KYupwTFfViBRywG8HOVS5b34MFtInuTFGHn59NMuc8PYce3r2ewBtBtlUZhvF
-XMDghFZsgYKHuCs/S/7jr0Q/UFjKRvpr0vIh3ONrvW+/nRda45YilWswlgGMvkLo5mFa7MOxjSmC
-zDCd3+bkHyOReKQkhHNxypj4rCmexE6Mc5aDX/E3P/hTmcju/Fikyg5mc47uUSjuTRWWg+YHiewa
-e9tS6XBneZJpBE60owCG4ExBTLvub8YNRkildJ63sZUgP5t/YnhM3STneyhDEoklIl/439L4BLxt
-bnVhteiRWaf6Tc7Tw7mYf4EaRgfj0/ODkN+TyjEodJ//keDHz8RfjhxS2DPoWkGo2RzAcS2fxJCB
-GQkdyCw/gwN8VFeOzIjUH387vjy20hH229R9sq+U2YtDMRBThiCJNtaH5tqYiYnEgfodr9hulg6Y
-fFbZOXRSMkUmliGo6CFLZq6IvRWQDXPdyFTiO9e04J+T5q0n7Yw5X2XUuHwiSDTKZgakFNuY1KYb
-83tXRQn/ATfSfigu2+Xq22aLcE2TcTCeR70GcG8XoUuvwADl0TRiWLSNECmGNnK1uCzGKgQOgepz
-d1cBpG7uhyXqUbUdI6JPdvVUPr5XzNron4lYKruEiOh45WKzST1k7CWm1CVNOAtTrfRHzNf4UsNV
-MzXl0twzAVkbJLQDdiE99ejTvDM2SOsZAg4qU4tKJLmIDM0cBdUqS6nravTpdw8BwSRanO7s8RFq
-U5XDEZje9hGbjRrW1ShDFu8+aqoh4ORBHIAyOt7X1PK2K+FExfkqSjcRYqF8MjI33j7mh7dKNIEz
-HrT2K43ToNeL51o046jD3A1tdZeZ8G8g748uXTuLIJLGsjR7PpPIAsC01+ZbA06NtTqAI8/jbCxi
-5/xA6nnEVQkTce3Z2wtOFqLEYNX+sBtaEYoI20N5JHSRrmiq5OiZWLLn2REFu9cBIw7fI1t/2jKI
-oSYkDb7Mjbw8lbbGRx5rfmW7u6uW6qAnin3eI3YFck2Du8ldtdLa8QT6mR8oAbbwMXUak1g2/a13
-z88e+apD9K8orSt3vPhIMEGKJmU3yWVIBwNR6MQM+UxVcPUoHMhGkIRKleJwwxZOtVXqPx7tjbui
-x0LKuE63hb9ZNTw8rMPpOC9tHQMAeGl24lcEegSub5EWW/MeUUMvc0ko4xJU09Dly7hcB7T2oEPm
-p9eVX3J/+XL0efYvKkgMiCy3F/RxeW6c+8/+cThBbh4B1rLRlLFXFimDbzDzpj9MbIlMvA/MFgQw
-5F/BK/PlvZ3/ZvwVWXTf2IUq4stHpWDKPV/xxMuIIMAbYgqd+FXablIrNl6WOtkm2Shv2Uqbvmwb
-LUKHI9sML1OHHJAYioZWaWJ/vOkbokePLiuOhuv1Cx2+0Pb17oAB26getavxYkD3buZoZFZYw9HY
-30VUMerSGwViU69AUHLufYf9DhxrRujD3Tfjk0gwNGbnH/UnVbLiRZYbp7aWsf6BcGJvwPSgKS8a
-P8njm3aomGNPtsrVbHTsebRnJvTkdloHNiW0cB4rYlM3eezchtXqlMAHP9fpYe/+nVOehj/FBWH4
-YTEcMuU79QxroMhk2iFlKahhIWOmEeQ1ln15v7mggnKfIDctBQPtpHOORfaf/kmNDm95gwruau2E
-oFc3wLT+QahfXbEEgMvCJj3cJ1s169r/RvmjR78E0dYhTwOi01uhFh3YZ1PELfKc9GSYfolWN35T
-KinNyJC8IQP8oycnMGcBiYRbtkUu+dEZExYSV713ZskStf0iDZ5TWHFYPayAbBjekyJe315umCRJ
-Oy2tomsRnzUjq5UaQ2HJgY97VZ9gWmLaPmeCjzet1vW12Mj3Z4TuLBFOqxVuV3k/H9N8tMadq8Ji
-2jnzgLULvZANdEdjYIHlVkOFwL12xjDN4GjcxTHi2x9Mbyfl2gzGV1KC/g90HwKFAiHpry34JY8E
-15GfeanDD+1H/NIBLkD+Qw7HHnAGkMsjKG4gJGpLy46tKR3wDBuaFUWb+M7U8rN0YCK9oPn5Xopt
-j0t2v5RjUFLxcYSGNPTO8K2GAzZb3IUIiJvovtr8Kb2BKKV9Lm1mYo4tg1XppkxGJgqCAsl2JPiD
-+oG8UTVmo8WWelzitp+ac9fys/s3gNw9doeOUSkTWM/GBNB0wi55Dq7NL/5Az051rXMsPIsvI69A
-wsFGLeUjq+CFV/6XeCmq3o0LPY3WX2G1Yzilk9N9RMEi5BS/E7/N9RfVGlPgAKFiT5bdDjLNlEwR
-Odlu1uWJdX1VWk7BfoBAZ7XiAIn7WBEKn9rg2mQGipcFzus+0IqqHxtXYckq23IKqHNXXFu6JiH0
-kBDgNteknHC6KRvw9rVUW67ZbJDIn6IiniaBWiH4cpqi7UVJK1N8W3/xFV4OiLzdUDtFLKQ5ALjx
-mHHl1GWx1mmJB+8dFWx2qWlVJq0CQgbzyGUmatiGG12Xp01G2A4m9J3rY7NkhXCGoZDyXgcnZtK1
-eLiUOC3w30MknIu7DRGxTuok
\ No newline at end of file
+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
+H3ROLPavr2+GTeAHvgDKs0+k8pDBgXypABy=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionexecutemethodTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionexecutemethodTest.php
index 358f872f..6652abb0 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionexecutemethodTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionexecutemethodTest.php
@@ -1,90 +1,90 @@
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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
-KW30bVk9c1uCc0YifkzKQwhr4lon
\ No newline at end of file
+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
+bH4hf0CtMtxSOlD+e0SdtfiCfXxB+lYx1GSLBW==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionexportlistTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionexportlistTest.php
index 08665be0..57062d81 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionexportlistTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionexportlistTest.php
@@ -1,122 +1,120 @@
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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
-IwqrQg2a
\ No newline at end of file
+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
+K6iNslbaf6lXKgzS6rViCSeh/FtvnBLcNKWw
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractiongeneratepdfTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractiongeneratepdfTest.php
index 65c94c61..2926c311 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractiongeneratepdfTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractiongeneratepdfTest.php
@@ -1,261 +1,262 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractiongrouplistTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractiongrouplistTest.php
index 4cb3a6da..b82f40a4 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractiongrouplistTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractiongrouplistTest.php
@@ -1,85 +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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
\ No newline at end of file
+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
+ytol8q8SQnbIMO6a87V9lFjjH6C=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionlistTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionlistTest.php
index d08c0aaa..9f08d512 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionlistTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionlistTest.php
@@ -1,107 +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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
-zBg5bNe/z9e6oPKH7f5PCE7e0XIocgbsp1as
\ No newline at end of file
+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
+OvHn5b+ve9ND0Wi=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionmoveordertofolderTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionmoveordertofolderTest.php
index 5ebac408..8d306563 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionmoveordertofolderTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionmoveordertofolderTest.php
@@ -1,280 +1,279 @@
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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
-KhJw//yW9G==
\ No newline at end of file
+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
+t4g6dbKUZM6vFekg4YzkKgGGuiHj
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsendmailTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsendmailTest.php
index 6a1192a1..997701e1 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsendmailTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsendmailTest.php
@@ -1,139 +1,140 @@
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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
-UZN9aUQVZZKBDxUtCuGx
\ No newline at end of file
+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
+TSWl4yGYKda8AzGOJFwdU5o1UG==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetfieldvalueTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetfieldvalueTest.php
index 88d19325..570c121c 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetfieldvalueTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetfieldvalueTest.php
@@ -1,97 +1,97 @@
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
+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
+dLaQ4Gfs0TEoCyKbzm==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetpaiddateTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetpaiddateTest.php
index efa738a9..58ea413b 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetpaiddateTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetpaiddateTest.php
@@ -1,100 +1,100 @@
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
+HR+cPt9IZlWO37F/9UMI6zkFjnC9bl71QyngFTmMUIfIzXanhj/9vMSWWPxdZltL50sdcCqTO4wS
+jSc81xWabCCVeeM895h3JGqY8UnKNMudinwdWyvypJhv3Qmj1/ZBrBBQotIX4bRMhOVma6iPYQLG
+KolFxNPtRycdZ1BOrSHD1WfMFycBj1fwT4yIwQ0oMWL9kXn0hEGMotZJ1G0Inflq9oi8ByOwiTVu
+SAzMlhr/P5S/rjdTaJY2ClHwikqgYMJ7rGJ8cWOmVZGauqkpgtqJlsQzIITxv6SKdHp2CfWt/SRF
+hWt+RdKswiGaJP6ckR6A9ih6DCcvsOMG1TVMtKcjU1tl1pP/RCvWl4NmL+8OR92IOxDEgToK0IlX
+4xhRbGGIDFazlMfUOpvq/XrNaIvAAzaUlTxxEeC8EhM8qb5XW//fdBh7z6ORt1mj0j8mrKbXbqDb
+MLcI/YuTYkWpyFiYfbf0cgUC3r5bQ164Hr4Z8VuNgOXWtygE0MHrxqQ6KxBYSwCpuSRJkXzYMS6u
+bT+/1VnZ0AmW9Ortk3aF/iYUCzWsfJ9pQNS8lyQglgZz6Te6savWgQKuQvak/TgrZjtxp2K0kh3Z
+vKM8tHqqLvfohLbQqtYWUIWXY4eT4VbCHstTpqjpVBS0IaHriJzWCb22Al+z23yIgFrSRVWeuY6f
+xgQcyUA597PYfQuselTACEOvXy9KzwFtiJGhXbY6gEXM+QnJLmo2ifpgkiBpZzywsqhUcwYzfEZv
+fwL4vCzP4bBt4TxsTNvpdBsiz+D+qnotifnKvBDQswZip7M2wUOOboT9vYVdfjs5kPizJ5YyGTbl
+8prB4UaX8Q9ZEmte0Ioke4L9QlVT3fgGCj6dS4azktrJZRyMIfTdfu20psqL07gGewEqJwpaC+bk
+KVhgwFM+EJ6v5Ab/g8M0bkPmCoZTABxSctA2+d0gaMzkyYzk4Xq1FJNfyVLa401/uhRK1IEWmm6U
+pEL8HSHS0v10gedWvAPuKc40jCkb6b/NkaLhnl+2j8dp4c8lks565YZaKPprC6m93yKIvnyYkf9V
+mlLu/uWJOlzEAorEX+iixiuLkF/akYX4GlZkGMGhHYgehmqK89Z1VNAOdcrxJyrofw/XmQ+bsl6C
+WKqGqbS0pdV5dKjMR5sDTgvDysFf4FKRuXgWCBgUmPRgMo57xsTbisfnf0pu1Wsrf9nSg3vtspwy
+iGGxOo7Aa6qe7wD4AcuobxIH9w3qws4wZfyG/uczOOajTs4XfjyFpZuSVyysnp2TkJi/rCHRZNXC
+C4ceKnXsrMLfsNFYZvmE9OnnG2nPy71MqrHohjw6zKbJ0MaWkk4D1CHFK5/VAOdX00xrc8f8j5gw
+xtw+W9uDWLMFuzbbRHJomVIXcaSrDsHhPJ6OxZfnkBpLWvJe49Gkz1ZAe6UIO5TEMO883O/XVg09
+QVnFc3PsXrzXyWz6uRjNo2B1XYJPWMHK4H4Xkds8Tg2HRS8IfA6KlevbNeehgPAtQPDvFgC3b89k
+nnAEUpS4BNEDq0vNScoJnvNR31es6+ghQ1ur3heK2YyvdvPLhGXjjhozl7lH22ISuWOUiKaOY6nm
+bi4w+ABSCRJIcczp/OgWi6ROyylrRXzWVsyF4UHMr2h6E3N8FQMBgmZZO8BJbBmzw7t9sFJuSVrf
+ibc/TYXNMew5xEoEEL89CoVza4LPY2qsPzd0CQOoOo/Uf0F8Izu36QM1k35u3mk6SGX6bbUke5lc
+gO1CQhkLNLMonGMrAVMyoKqFa7jt6YvbJmHmRCQ7kBdncFvxvMCEp3sCrY75bgJEuPILRWZb53b7
+wvd0cHgKl5Z9Uyw6jfyij/yN/2NMUlYeZ9aKc6YRgNVsEIpZhNQlrb7eFuee5QUp1VrnubN9x5Mg
+YCP/URFMw2vqWbsK6XSrPMLW7M/lFdmqVd0ICg4T7nHWW0CGpiWNvmcWgReQyRnLwcgZ0cL7o9Mr
+X3/WWaXt47XqHTCkFW3PXvTw9U+PjYfRK2WDrCQ2rtxQC/OJc3QKz9RhzoVMZwG1ErRafakJyJf1
+mYOGGokYZxe9S+G5jNyKEGyUr2MjHZAn/uhIs9a9JW4rbrca2xkItx1ObLjVChAsgALW3erUx/1g
+IF7dBqJc7zvcvqA0xHI60lYea9P5SKmMkE+ejzurE+HGRzSOAz8qAkF5fQy432WTTljXiXZqhWlD
+9GpqTQsOpR0fX2o0SXdQ2ohHkrdeY/vs56DyX7OJ0olIeNc1KZUR7AIDgsUMZBNElXXrFoGXPVuw
+HchFLRYEhBOzZl5HI+pu1DKt4FkJJ4LIWHWdEym0H2htvxhroH39Kvv+rZXKnsTHnCxWRbZot3QT
+kGW66n6ePeRt7jgYNGU0w0eaDGvVw89l4eLNFhDz0W7r9DPYMSXiglUc37hluHxCOHAc9txHduZt
+A7SXV6eGUI8ZZPO0v7XH0f7OGsPXUQkod9YtRJBRRoMZxatUSK96nd8qznI1lMtXxi7tBs4aoD9U
+pgIwxXZAdTv8tGyRWFtK06Sur6QD8hmLjPU+WmBjK9m+RGPy8zwJWfNfIjMMNQi9x5Vdx7dFAPAj
+x8dmUWEm3HUcywvqJGyiFw9XPOswOp4xYzkcFbY6IumCMM5NVDfoPKPYtT0wy9y0u3Bp+cj2x2yN
+ALSdzclNOm4rLiX8/GAal6pFnX31X2DNA4XAxbMq5CxZTZA5DmojBkQc4BxYmcaaRoWeohycI8LF
+oRMmYT8u/K9ZFbP6YE2COSupdvrX4GJVar5AQbWA2s1jEbEUEGXDUYkykjGCmMx6H08I5qkjT5Up
+OHRkqRkYvNdo3RolSF0aWmDhmAsBYj561UfdWfvXDXtzU4ZSLTFXZ6Bf11LA/Lq6ElthKE5Q4977
+liVN13Tlx6sV9QOKFmPXt/+DdxbggesmyVKGOhFRiW3vNanRUenVfKCPuhFNdccqzPVDP0R9Xe/h
+wa7+xJs6Y4lv+3SvB44RevD5Z7OWMj+80XjKnO1wzzlgQhMHnL4QmjI+GupjYn8vAmy2s8EBl5kE
+Jc+1wkl0KAEWudlMB1uDRkN+D5Uak2FngO09Y5h1UWRO6o8drphPhGt/MYml0qZUAsxR97NzcbsF
+mP9SjMXTp1eYOQyDH8iFgMiOeKCAx9ulWpEgxmj9Jqyv8oYYXRQDAZhcQsMs74pb+5RPcRcBn4fJ
+Z9EtRpIU/f3OxJ+P6AC57MF3t3YO1ypvCaeL3EQSieJFWl4EOskzzGVR61ZigYuOCRt4oeYwB0D6
+LAJtp4gupIms3ZaE+0woJUI9thrXdXk1x3aIbXwTOd84JwIR7OtjvqA9Oo0NmIpfdntq9uFlWAV1
+XwwKnLwRju/lNkqvJO+bXMrzn0XCT80dNRjpWVVcxdDsJik3rdAmzYXIvEaZ11sWoBaESQ3gH2Nj
+V1y62fgUUamM5ckCT/zyrKgZCgDt4MQWlshKvt74s80/TWtFaYXXm2cD1AoesOcXWvQdQRZdZMkW
+oyHYlH5kEFJPH3Olp7dqygsaylZZx8o/xgBWbJ4bkN9C8DjpoU29iuE7CYz9CCjIORjCsW/Xc0o6
+26hqUGxP5yoRdJ7UcHJlwZV5U/Ibtr0Inlra/aBLtFS8ld6viHsK73sX+eWhvm2dLN21tW87RlSz
+PUir4YNtNDE5vDnZM/RXhvoTPnpI3Q9lzhXLqcsxwMBBVp4YmUh+zVhiFMP8Je8VWjurPH7PT9uB
+EXhmzoJtt9W6XNRx019LEvq5vPx9a6T2kMybgKnBVfLpvdllEzwzaA0P//Vdc7O2pHN6Sq05vtk7
+5YS5T5kaJgAtvDxwaOjZ9BTA0+pkSMCWJP0G2zZmM1+XK5cx8Uh190y8ikjZ2Q6K00GsP7w27fyM
+I1WK5Qhn8aQToh7WOr6C+GEVkQj11XQyHmIjbP/fxUWBflMPcW+2NBSWgyqaUR7b/ibx/dYbpOhp
+jRn6fElfsZ22vGFAGT+oQtLE5acjxduRf/ml3Zr37RSfYFKFh+u0Zbhk3fvQcZkIEowTuKL9ghBE
+oF/fteHRvHd1Gb6tNTdrNKXDafGwWjMjWaEeClGzoL/WGzRbtf4Jk7Clu9DZA3xIwnQN9Lp2Tp4+
+bmdKsPV7QrmAUZOYv0Q8KLHhGtC+S56ltm/wwhevHVZRoFO3mWjIYvK9nAET35CmZOJ/7+e3GPsu
+5DlJ5HmweS9oZCVpNlDltnrnWGDR7l4M+7SCQTZpBF3BwhUlz07Qr1brHVze0IVnrWJfFTWRz6gE
+P9v6Ry4HlXqanTtol4uBojeDaso3wskmIlEIZLAvmWKi54lwXOO8KtQcJJAp+R/ACdXsbzgkUePk
+oRBDuK1m6shKJk6SySgBmprnET5zgEXVCpEwDUCAAJ9nPkYQ8K1BABWoLQuRL1LJ43Uoilj1W49u
+rbDJ7OCJQl5cr7BOIYkkLUpXRwq8R1P+w3cwEwRSk2Q7UyeWDdsBlcRmykU61PVKzgQvJyHfzkQI
+xUq5XuET+UaC4X8J0L0JcLPz17W2iwpy5Z74+lnAUb5/H4YpMT4/QQkYy14bnYju6aMG/8q9qJaO
+6t2jFqULQeH9OsIbsV+4mX4baI4XTwyFuFE3crJjLowaTtvrQyeTYgvFvJZobRkTsahkBoTl9wqX
+cgfKy/YzYUfCsQP2vRk8YBEEhaW1PdDSPig3XLnJPvHa2uRNyx1km8zEBFeE8X0BCHi6gsIl+hf4
+SUMPOn/gdhl+X2we/W0gIY9xmyqG39BCi3RDidjUIHOGwr1CkyUnhRiiMmPceZCVoshO53Nb/toX
+PpHodIZY7xCg8kwyAFOqK36omQP4BgE38LFa5y4t/buWDzJIinKlLo5fCs2CyYAXKImm4ueKBN7o
+iYSQMgSYWsgfqqE4ottG4dEmGYahc2ud8vGp0YdHuIQScuTusRgDQU0g6sMwKFX7tFf+W61HIHCD
+tnyGk+UKrzYjmxHl9W9Furnx3Y0HKqExG8Lvy0nNVS9j8fOK1zW12JR1Ipxd2MATq/6GbZRJ1093
+eHvvmtjxDyowGJUOmephk19MLt8+DHRo8/15YfY+h3j4IrZs96/3d6gXjU+wfBAEOb7j3NmwMEIU
+QJGPmmOS+0NYIN5uWGGtWo5d3unR8BfJUUEsaXMQXKlZZD9JNd87+cPCqwX1hwOzFpTU2dugVgPy
+2LEkJy7WfdHwsPobLf3Bae4vRPs9W5U+DEUbN37Lsq8OdSiuAkxVdaWz1OqjtlT6dKyH9JNPmGv1
+W75AExhN7RkiDaZA0gssFmVkvJd+yDjk/7J+Ur6pyPgHf4+eETV8vYC2v1spPb+Dw+cxJin2qwsv
+uLZVgez/TkJik/62o4/Vt7eJBKacfXeOys8hnQVMeI6URK8TSyG6XQu4xoWrTbjxG9MrSw4afmLV
++xVrkR0DnlwGSj6ncOrPiLGK/MFnk/Sb3WUw7IQk5ACIdmy5/AH0HXaOXM6iV3jGcAzc5XN7MaN4
+yl1BMjNi6TBIdGalQfYOnLMUcqsSTNX6DFAzuzJqKgGJJV+j/SSnzh38c1gqiwlQ2cvqOU6tFbXc
+JvKfg1s8tEe40DWL4WEjtK3MDJqtqjvdA9kz+MmGWRmq6EB8TEi6gRC8cyEnPexg7Qe3rUIIvMao
+oEyu68L/+yO6Wg3sXenbmRCmYkXRpfgT36gTutNA0HLZ3IucdI7enNuivrpw+QEDx7DGB6EhYmuX
+KzDi24PQMrrEs6yGJ9cRK2Z0TbW72PjKN5gDFq/rmLLYPHUY2SBtcsRJkZNkyGcaiQNGhQltArD1
+FKabe3NU+EOHhfpXKG08NVcEw1/iG5Tyx6dd+FQ5avyJT7QMLP+17HRc9Na3vMpcWCvmtpKiZXGO
+s9+VP1SscBF4KN+7Pe65Ydz+XhjfNYyM2T3QT4G7ykSs6A/03tsV2Yw2tzoJFOEZB7jOg1r0Je/K
+9jGLKf5MGmd0FfR3c0cGdPAbsGejAfpcAEG0+rdLKE+7EX0JrP4zR4y2whBUZ8GNY/5SK3vUYT6F
++2ctvjqYEeDYH2Olk3RJqo2VJlvS7+BBznFeAgRm6vBhUh5WNNLhCVc/NHBhbdCg56aKCdQUe1qo
+9v1T0vbhyS3UkcS9YW0oKSnKIHOB7XkMEqzi7b0kYwzdW7lm6esWwLRaOAjJ78pZDaPPEsTyzrqx
+JlHtCEYuLbIurHWujIhjC15uci2i9+0RHmNAlSTcL8MUlYFyUIJaI291LPqs5EFf1wVzYZBPH/Rw
+BnpdOlXkOHnSJJcGvXkK/14+Jt7xQTBS7yNnVnFJ2dUOKw+0/gFaKuLWXb5DUvEiotc2T0Yzf6Pf
+NdsRKOt8w96u1NYJb5A5jnhhkRUMIY7Xy5HN4BhYmcvc84MgoahQmXVAcQq5I513j0Peog5XH6fJ
+5HSdSSsHy0q6pZVi9KCJt0z48rDUkpFCpUJx7WztN1Pdz7SeX0tCFLP2EkbZ3bnDILgbGP78q7UD
+TzMTD8HQCv/sDZNJhriDzNaDGOCj7NHmzYkWUyCZZzvyzyE1xRwMCHhUg/Uifvrqz++ZnKercntw
+TM+HNooDS7rYVr/hhxzpGV/M6VtX3OuhpZGwStL1W5zD36PiYlUIyP3rfIW23E5hBVw37lkySXPJ
+VWztyJQRBRahb/aeoJIYqRRYX0Bjaw8AKOS7KXKvi9u3mwbownVvCPRobCrRNb+RAK8JHIKsEEde
+X//qYzhgATIB89nbWsnK9ghSxruYeMVv2hP9/515Cnniz/qX/Fn3UUhW3sv+GKyD7D/jV8Q3lsKI
+wJyZbBF41C4X8pE7ter7v6AE1/D39z38c+E2r/6eEa+eFgNgIiEeJo5ZBYQ5XPBsAdS5udUwoXXt
+GXb/vKXFBeS4rPLXf5XWScFVhjfaT5Jo4wjtyLb3UAlqPxEJ4EhKEC8npF9T+FXdoF1U0Yql//q3
+//we6OycOHuZwEZKXnKLFLqBFe/P6/UK3jqJSt9qXLPgK2bTe+1qVhqSD5CwZxOB0um7+zZdZEku
+3sU0PebyMOh/AvG1CPuv47YrSFv0HbITzcu3sZUQgQUZNzKV4K7hYbLbMthQ4Ap1UknDqEnaya7H
+0bfr6rfHuoI4fIhh9nLhEtdtFJLlbXj1RSI8LG3UfO7/Ufovbl6vvn7BYikV6A6TC7PMkT2WZbJ0
+ZP8VA2LcD0tPdvHCEWAS3kj08U9BCSqQ7W0qZW3Ybs7nNoW+MLM6BuncylpGS3w+JcqILtAQCjdP
+gpKGc01MycKMfai2osK=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetsendednowdateTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetsendednowdateTest.php
index 6922a2f8..d081c882 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetsendednowdateTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionsetsendednowdateTest.php
@@ -1,105 +1,105 @@
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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
-une7NKVLZKMthG6dpjlU+Eo2/4rcZM8Uktsd1gy=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Actions/d3ordermanageractionstornoorderTest.php b/src/tests/unit/Application/Model/Actions/d3ordermanageractionstornoorderTest.php
index 78968a27..c48783c7 100644
--- a/src/tests/unit/Application/Model/Actions/d3ordermanageractionstornoorderTest.php
+++ b/src/tests/unit/Application/Model/Actions/d3ordermanageractionstornoorderTest.php
@@ -1,92 +1,91 @@
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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
-u/uJGwmWe38ttxi=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Exceptions/d3ordermanager_cronUnavailableExceptionTest.php b/src/tests/unit/Application/Model/Exceptions/d3ordermanager_cronUnavailableExceptionTest.php
index 75139d04..d4debca5 100644
--- a/src/tests/unit/Application/Model/Exceptions/d3ordermanager_cronUnavailableExceptionTest.php
+++ b/src/tests/unit/Application/Model/Exceptions/d3ordermanager_cronUnavailableExceptionTest.php
@@ -1,79 +1,78 @@
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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
-gkq=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3OrdermanagerRequirementUnitTestCase.php b/src/tests/unit/Application/Model/Requirements/d3OrdermanagerRequirementUnitTestCase.php
index 0831f170..f009e4b0 100644
--- a/src/tests/unit/Application/Model/Requirements/d3OrdermanagerRequirementUnitTestCase.php
+++ b/src/tests/unit/Application/Model/Requirements/d3OrdermanagerRequirementUnitTestCase.php
@@ -1,245 +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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
-UNXKv5BPhRTY4mP9
\ No newline at end of file
+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
+zw8=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent1Test.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent1Test.php
index b2c7a115..b4ec4025 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent1Test.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent1Test.php
@@ -1,76 +1,76 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent2Test.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent2Test.php
index 076db28c..9334214c 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent2Test.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlecontent2Test.php
@@ -1,76 +1,76 @@
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
+HR+cPmS2q8eAnIYjqyb5gGIyoQ51BmGvUQlpPQYuZtt/NMeBAt3ac6t8ek2iAgnB8QZIP+yti5fo
+aVe2EKXncxHDXagW08s7r8BEen5NY2cG+5ZYLYSOuIqRW+gwrZaQxhlxymadMbmpwGIwGtwwX6fI
+YQ+sv/gOeyghUDratO66y09AtZO5p0KeKBDja2KdNgGBDwO9vhB2082WZ95uSSvqrRp4ZHJT23bX
+Z75v/6QLFoGzDMpStP9Xc5u6pY/EemgEsqjIC7uq9EDBiwjz4xzclKadUtLc5i2JJxj3yYOwHwuD
+6MbR0X8dcmyjX4DLd6P8LTwZTXTg5By3LD8fnBwztxv1Nx6PpKkAeGyVqSCXyC8FyAvhbxLseRG6
+ND/5q9WX2vM5XvD/qiHWL9C/5DAi3Y7UkAC0XlCkO5WHTEYZ+6FpiTNaH0cIcUTFGa0PxfHMQzDm
+q2lvdmr2D1xo2dI1jkg0zQvandhTlwARadcnMuqn17SzTVjOw0pLJAig0zlglgK15u0mygBoII8L
+dmU23tiugLhFXBsys0qfyJ6By/8ZOouYR2dzorP7RQWgccKmNmFMlkT03HXCrqmAfIpkhzinTQJh
+AyncA0wqIT4fbh8A0P/04ipASz/6kuoR+xw6mwhrDPzoFKc7Emp/6OHD32qsWDWBSvuNeGtgqCJv
+z0+dMJbOFnoHFianru/VpcNuRfRCsJhqQT8RzVzCFR22xWGl2EDQb4REokhfW5g0eT30qbRn+G1G
++NcZrt+y3Qs0UHUI0h+3zR/lkUPDhKyBgBGR/QMSvQj+HarY9QCbZi/PYj2gXzY1rs7xUUlP2LAK
+3WzOk/8BbYGZW8ncMaxy0iSakFr5Avt/dJCoZF3ViDp1Wq/w+iwbMLLkdPuJfsrMvGAZaVaw5FSM
+WjjViNPKz0NUc74l7Nkmvv4rXeiU39A2Pkq26pQP5aiTCdbPrEseRnbmhNs7JF12/NgEXjLQu4pB
+dzTdoqzKftji96EUPKPxWWN9GoXokMRzi03vclJZCWiwClnVMGuR6e/5laBuy5BhKxN0uJ1Wun/g
+7sbFJIwmgh1/2NFDBkZAUzhRTlv4D4SA2QG1zp2eBnXH/GW2zaj/q3edAsCeISxvMo/euqc49MQR
+kfsOGF57tUXmKY6VHNzbguV/sADdt53bNMThmPoK7zTymqOinKFGLlpBOPZSb/PC9jAW1KAhaPru
+hQene51YP8Nr3K+3cctrRw2mgUup6G7+3J4Ha0BAC/ALSc/f2mVAUp5BNHpyYd2f5DfDgsbVfNPZ
+Z+KeiqKQS/6kc7gp8QcvrG0YZ+Sb6Pl55J89A4V4qZuZOlhHZAnEMXG2Z6DpInFFRDmj8FcDtVsg
+VQT4eYhNLYcccjC6GT/P8mN8Ns55Jt76tXNBjGrn2vecu/y6YvwjBCuuMW1i9Igfbn9Zwk+txTr6
+1Zx7umFjYASp1LyoAPVkH2F/zp0Rd/9nnOx1pHiGc6FEzs50lFAT9PE/pbgHOPsBDXVdi/rmjnc5
+QxZWOXbACn/SPvv9WifzSBjtfKljwBqsjypSkjagWiBIsNcbf8xCZ76wf50FGFOhiyTDsblYSNDQ
+IZfzhct8ZYAPyYQgBcJ6hGLUtnzRoGziQQp3JTyY73b6BYriJQiVylmKiUwopPEbYeqjjfeIzsnQ
+wkWfYTN4dYImE6l3jSITO5i15YV/Cf2WkdTA7tpT2bccZA9dYEhgwqT8KZ9hBY/KKpP+Hi/RM6tU
+wIqrmZGjDOg2SIp2E3Bv1KZWirQ2q2wu2s/AJ9dCx2m5nP0+6JQj+hcBMzIfWftdYaJL6++wRCP+
+k+Up8kcXGa6/3oWNf5XAPh3EyIT9C82i3nBjN8n8dtXI7aipGYtrehomNIM1FkGoy7zWksV5RVRJ
+Xk0T7uhrB2TbgFxNEIdnHrwU8tCaHLiKGrPfzVYkorAIPtogfyHluavEcEwlvNPMQRlQ8Z0/u0TP
+qcNypCu3bR7KPNcaQcICaiBZN0rKAiLUITf/xxVk7elC7TL2ydsg3IWGFXQGo9YPTF/3ppt+C2kQ
+t+3zEbMLoEMMn0JzC9RoVD8Sa2B0KNigIxlt12JzIGV7Bwm7gJ6tVCrGtkl+Xm2Yyup83j9MVYh7
+s9bAmTyOUVo8RItYkOAyHb7nwfrfo50arEmAtDx5iT/d5vc3f38TOBigAFEfWckhMGI8OUcY8CXr
+QKPnsJUae6pg0OoRBgPDPhNVW/yOVByDZKTddqt1+a95bWMNk0zy5GYJN+0ccZ+dute41GLQMM0S
+yFH0BYv/siR2XzA69WUZSA2QsyEI0PzL5s0GhAa2qRpAf4BaEGmQPgCIIDpj07+We4MCliA9tnAH
+yGu3C8Fldy+LsMrPMkE9vM44G5Cg/x8z7dDM5OAy7P2ZBzpy84gssiQVt02iZuKqL7WW1+vqLkgl
+n3lyxVz90grEL+BD2FGusmH+aRRfQsYqhdfR1H5nJ/5gU0y7FUqtOJdNeaJKOydmqvGHUHA2Adbo
+c7gJE2ePUt3ImitKqhXv17uhgpJhOqluhqQSwV/PljsslGL9odq/iV7WjjUFwVjZwVoOQMRbWnhR
+mqAmY3eZ5Z/Pc7eIqhoCbKiM/qJx+DCHd+GPNHApWdnQPbKslqu/tFIu2mjqTotu3KPa1SYFhRZy
+FphAv3cPLlN8jCi8U+N1g397n04xgqgCIM9lPIN+ziFpBQV3LmWhxQDB3ygmv8wI+2t/xkXr7zLD
+NIXu9hKrn75HuoLsv2b7P1bo9wBi3ALQ0kew/6UvucLMHyYN8NQzr1OwvIxOeiUh+Y7tlCxgXj+Y
+xRLBOu8VSQJanjJp1bGsLmeEwvNW3n2pwN005GTLV9e3sSUPdfCow8VKyAI5vmuauacXj9wGcSSd
+rsgPL70lrXSpp/5q2dbTVV3q+IuaDG0HnM0aksWbZ1kje+9WeeJfMP8klcNKYrLjnIiUaSVWLv08
+lWTv9k1lIvtjZ0PKf27P+SH7tYjFByzffgiUy6s14dJF/TR56ww+EeKSFwMzA4hWzmuOWPaCe29n
+49fRk96BCh16eavFi8kdB9XhpywTH2cuGvygvTOoQJdaU4G8jJz20MM1r10BAEqeXPNSBAI49Ik3
+v5dDTHCsOeHY6ZQWLBovRrf/c1AaW7hPaFVXaeRN1rq/gzcS2YZJ5OE3CxXchm6wSznhl/2HA/08
+kpEcxXILttgQNIQU85ZANB/g5JMulGEzUXBxd9wR95CBXrXCN3A5OfTh1EqbwdJLFoV9rdgakUK1
+wh2hzTnhXD+TBQYoINMSp81Rj/ZDtyvDOSBrHo1AT30u2e3sUGmLm0VSux9uVII324VZQqI1o/i4
+KlOeK0iulGuf0LajGgL/wX8vt6eMH4hEu/pKwdk5+P+TE1jM5nnDbV4MYUxgOqGgGlzc8//pFayj
+/mlTQEOOEc98bzFP2ceTlFlOKdFDmChCLiAFYdIOoNBo1Ko8itHxlHoqEZ4U6hgwS0oeez+JcYnz
+47OiyDLTvzPPIiEUWi9U1vLPFoQwJP655DY1+4tQUvpcZ4DJajN2OprHJA0e/+QFm7mJWNYTV6o3
++c4Nds6jdFVi3Y3CUEq1Gqa43qW44ERrGqgMkPcV5wR13PHM++/1iW7Hn5AJ3+ivzIaW4BBbG+wA
+KfxM+P+uy/GXiUjlK57rSobeRy3UynuSTSivdtzlBGzf/DXKbaX5HMYSYbKH9VvdyMDrP8dNab0H
+QWD+seGSCeh37WTI0eQ+V3xpGX6m7Hu/B07cEW//OwqcOkCzSrqC3hicHdD/wDaOkrvqWCfHr1j8
+vh+apYJ3CjxJh0aIv/5QktZgW5kjSPMjoDRPHk1glylks3lYhCIJP4Uz5soTLEnPp944sk9DsoOJ
+K8nk03MySl7wOH6bB6u2/h40FKb0DrBD9qu4FYB3yXd2sYIeeMuATD8ebimiNTx5gXA20w3U9iq4
+cbn1nmoyNsvLaEeNxE7tBnS+d2GYetQ48mbubFvNTeYwvjSuLmK1yP6NkHbm0rH/rPhhdjCsd3Co
+nlBxarHE5cdixzXWrPh8gvvquMTq29at7dZAg78kUxoxTmqYMUVF7mhQPGm16OJ+7Y25CWS9xiNl
+LvXC2bUCyrfuZqNTXL30ZeeTLTFwoLm+iUaS8eWIYELc5mTIln4JZHD3dGRjcIcJwTNalWd7UX4K
+R8xAfir2Y9v4hwMghUyxUhR1BrIwS9L9yMSuH4AcwDnx1kfqQWq0N7Sw2EI/2XaaDiGPRdBoicX+
+Xt/vOEiaZtvfR0l3/uz9a6W2d1ButO581dzzCGvQ898I5CHuZelswPVf6GEPGCEPaIjYvjB9Jb4q
+wVZMgEx8LhE/gzXCAt1sVe5cMZwzIelqW0kqwKSlsz4Q15Yy5hl9afhHaYsWbJMsopBEB2RjzPTq
+w4aZYgK2SXRlCmOeH/qg6yJnBk92NRvdXX7y3ChnLMxMXR8P//CiiUKHdXmMKW2hIM3eyhABf6nb
+8slrzAjxzZlHcn7IJkdmscPNtBKZiNyLbL538lPXJ1fHO6K6RhuKXPcF7GaD4dlgYifs4F8HVa0i
+X4EcC8kgRQvwV4RBVQJBKWY4s8Rs9l5BfdqVOXPC86fe7pDIqGSQFv9mMGquZXyi+itLFVZI8tDW
+0AkHpAc0drjlkQB50KLdnjyRCK3HwZkfVk6uLNzJ+ntiHIBa8T1QCrD/Zn4cHgiSB5MTtEPz9+8b
+8mJA8F+7SGxdFkY8CkaxwNpIdn6M5yJvd5lqG1kbveuZIDQacEjJUZ6iQ+M/Lnn+okzHKTDdkyMy
+3PGBCPi0VGLIoQ2mdwQ6BcKx2k2Pnw7YMpUFHAPe9M197uLoIv0ZYCIBmbOQmAE04gwsHwiidp6C
+UDixC/+zhULJ+DWTfPiciUx3dWwqKmEPQIwSWLktpmnQuuMuHvcGKTrRMb8Tsgv0+bnAYA+t5aMS
+QGAZ9wgosZJkM5irYc7g8dshsIE67bFUwOHWGseq558+0fTBMcuCUMWTqIAxwWlw5FGf1PRd/N+8
+CCw0fwva7xoaIs/9SdAPzi8f+LzUjjrKc5G84n04md291bDjHagfAeNNa2sgUJHg7P96BBwnUC54
+vIpMT0xlEzFWP2x0fIpqmncHkHs7odOIqoFOXE6Ct0+vbTxf0R81Dm8+AIWNPQKU4PbFj/B5hOlJ
+6jrWFTIRI77Y8cT7M5Hi2JHdH09KxyboPUzEYHXChefS18YqatfsC81oXtuzK6SXIspH83zU6LS4
+EbZ4psliqEZuK0lbWCHmsFpujhDwbCJJqC6xXp25pjVQ4AYYPeZhLTNcV5PEuV92txzD2NH3W1t4
+mweTMmFQpFYImGdgMV/dDTtyvKp9SEjNg+d40gfIc9LgXY/oRxXUzGx2JvzJ14v3vE03ILKw+HtH
+iyRmmCMsCVGhEm+94+M4qln1BKWF1Nnid347blsORthaoBdAUiEo
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlestornoTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlestornoTest.php
index 601da680..56084feb 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlestornoTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequarticlestornoTest.php
@@ -1,70 +1,70 @@
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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
-ZHUIrKEU3CNqnH2Wwxa1MVM07xHXphEq
\ No newline at end of file
+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
+0hZtjelEQTa=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcountryfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcountryfilterTest.php
index 61e1067f..c1445ba2 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcountryfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcountryfilterTest.php
@@ -1,69 +1,70 @@
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
+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
+UgauAG==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcurrencyfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcurrencyfilterTest.php
index b31ddbc0..5d9ce4a0 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcurrencyfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequcurrencyfilterTest.php
@@ -1,68 +1,66 @@
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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
-SKEIyxs45awWXfHkOG==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdatenotsetTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdatenotsetTest.php
index 6a5583ce..7cf3a640 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdatenotsetTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdatenotsetTest.php
@@ -1,82 +1,81 @@
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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
-wW+PJG==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdeliveryfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdeliveryfilterTest.php
index baa1fa74..f6e22052 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdeliveryfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequdeliveryfilterTest.php
@@ -1,69 +1,69 @@
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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
-kYri0Fs9u0MaVn9/5ZZNk16Dyqu=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequexecutemethodfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequexecutemethodfilterTest.php
index 3f2a086b..b41da25f 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequexecutemethodfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequexecutemethodfilterTest.php
@@ -1,235 +1,235 @@
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
+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
+o0ERolStQYJl+yQ8TRc7GRua
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfolderfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfolderfilterTest.php
index 05312c9a..a8332f7e 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfolderfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfolderfilterTest.php
@@ -1,69 +1,69 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfromordernrTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfromordernrTest.php
index 31d5666e..24d7aa9d 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfromordernrTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequfromordernrTest.php
@@ -1,67 +1,67 @@
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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
-nGVNkQgJVRdhEJEr8yQ6hJWNxvedRwIu3MuSCm==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequingroupfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequingroupfilterTest.php
index af85b77f..fd67f747 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequingroupfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequingroupfilterTest.php
@@ -1,69 +1,69 @@
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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
-lf8pDG==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequinvoicenoTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequinvoicenoTest.php
index 31d00df8..68e91f23 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequinvoicenoTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequinvoicenoTest.php
@@ -1,69 +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);
?>
-HR+cPoPYyUZ+vydFXwjaorgnZEIwe+Wwop6HNV1KQsJfk4t0Z1ojua8TqQ3GcMcvcJ/bEXhhI5kM
-dIL/wavkqdUozbjJ0A3uO4rVv0uskSBqQIQEgJghOy7v+W5ANpUGSjWYVrpd2mnv3oGQ1l3B//OL
-ksFiw1maiwSHrPeMDPPFlqbrzJNK2+KtI8DVgqYjQvcpBNlWJC6A3oJCNu2IkdYtp6K5i5IU7VZB
-6oqpVaJzQd0eeMuYkNX8iQ1Q6mSe730GXhjWuhi6p57NRxsIrbMjLOfF3cEvQQ9DTC+ckq/PhVrP
-N6QF84l9+RkWmCVnRDLxHqNiqhalchUcNAXUnPexLWlxGNupLkvJZskHN8r8IAiKFJNWBuu3/2GX
-4JGkvWT6x2Dxj//+he15HRFUG/g0Hm60hKC/vtjkJvMl/28ONtqJqizEyRHilmrX0rZrjGWpuv1u
-tQgCB/B3keQAnUm6o6dAdYhO1CZKSd7Z+Prx+ovueDCpWyesSurKMPg3kpXP5s53BKwiGoG+kj8I
-TPAR0MCn7hesoXuLTpPNgazFw3KoeriVmWpUd6Sh3qPYTQjVxunA0mG/uFyrSwpVHDe35FkivjXG
-yKdJEW/XPzkx6ELl9Y08b2uGtTV87OoIQ33AzbLuVapyaAeWgnujX6d12UJERGIacaj6yLQ/Fusw
-UEvlSjHjZ58QM9jW/CtH/w39kk38RXo/yycoQXIDyS8/Jih4O/K9L5Z48rz3m1jDI8eLLUr7h1a8
-hL3kNXOdoBq/H3+vpd2QuP7+mMaXPsYuUMISQKNYhgt/ZW+9yM9Vcd/QaBvqgAUgyfCWuw+lwN/I
-seqiVNg/4GxTA26mKgT2GjeHEKpFrSHigMq/QFBaTSPhY90BCb2WJqmT2XBx/ECDlvep/2jumgPR
-SmprNwHnYp84NyB9bV9uqkmFo9Zf/4dsjJStHUY1E0iJuVPqQVkUxFqY4pgXr6z1S/ahOfqmyd2v
-tc55FNAbk22MWecdr4HSoEdTVVBZQ+Ew2KzXQz9X4WxOb13qv8p0PS3q5+L8fd2pIGf7Z4CrunEe
-odRfJe9y8dZNChRXT34VwrO5EBR7ETodHkm7GvcV6WR1GD8wB3FeDokKmCDlP+iJKtk4RpgYQ3hN
-Lh0sQgBKLLFGAuTTmdO4763J/iQguHwbEH25orgTeToheKXfJX164KunbVvELAFHM29ze5lNdID2
-QFYozllhQVSfQORibM8uT83+99TZgMylcq/Wou5l4Z0tJgiYKVMM+zFgs5FTDmio2fp2+2TWttH2
-1TUghPKhFxyQJC6A6OerAAxONjoQzM4IZt9kYaE1Pv/F7oqsiik1lyJj4FFNAsn1esrWtOgL58we
-mP1V05Ia3tp4PbYfsKEACh6fyMwqYRaI2ZATnjQ6PbOIK+yCDAVh7ISv/dgpG8TG3hvB+VN8J7MC
-6oVHtKrg+tLDlIRbC4ALpxHrkRbG4LB4AIRTdE/BSRsLj5ENo2pcfr6B2a8+KOQrbVUpNY5TaGHb
-EEtLHtaoQ31bZfB+7lZMoVUGr/I/jxU8UYc1ATbPqH44oAdHDPM01GKZctEA2U9ZBi22p3DJb+lJ
-NBstkP9FZDhxc20DSMcxOM1KnOKzqkHhsXhmQm3cubjgigF3kZJ/zIXuirtudAXRbOPCAc+kdGVa
-cEzY7mvEmFlP/HZ9cIPBW/ujH6lTWPj8nuV85EC1Askkmc93/BiRLJcEdCqKe299/JLH/fmhcY+r
-u5K2HFiZha1Pjk8ZTVpC67FOn9yUCpPX+VQ7Wy0/KXj6mbEyPGMw06bPrM7jX4SZJcUEO8h9MW5l
-NnlHdHl43f29J+6mIL+guV08UPIvTih0v02j2FF2RxOXLeLw0AbeUaSRxj0bnkeGXSWEdrGVq9gG
-AKxFzSeO09oP1qbTvGfeNUu5McnJSEjJg9FjHuqGWNeKYv8vt8aLWyABgrrObKG7cuGd2Ug8ap0t
-SIabIjL8OuzKjLMagEHS9GpFi1aAcjEzv/bfwDJynt75mV9H3GDK9LQ6wqPZ67HdaOWR43Lzusz3
-mLYUmXAICAsdeF1ZaYfDSm6caaqfD0oFKiHuHKCSrSxaimzCAZPv/qsC/QDpWK9GVfGB/sTjtjOX
-A0QvJ2RlRittt8z6GrBnioomL4+0px165gpoERWol6fRvuiQ0YSZnRNURg29LyTyScdYc1TKkpG4
-EOSninjkJfMGubZTL1Gll+2ua3VlLTsJnTFvD1FvaE4PDVZfhQVYWyPJQAUc8h1HAGjmuKgbhnh9
-pJv6s3TwzCSg6k3sn5pYbF/kQdSoBYdEA2Fn+jyb2woc1tjs6gwSZpkF5ggdT6Iu45p7o/jFQmet
-9L3oWK2kwFORP+UMhz1md3Odqo4//TNQ7sZUDRbD4PwFR/y2Zx2Px/98nru3VbPT3jItMXyxiXCZ
-QOfldfmPOmtAt3ODwbK4jVW/4KQIr49xB8wbNwT697RPKEia5kWHdaLpJuDij18vjqs764Hmjfwl
-6jwoRadIv3kGG5uuww6MLbuD7ZkUQeBtq+VCoKnk6p/0IJzfmB7psL0nZ4I1wjZYoA2VdiXrJvX0
-rAAOy1cc7CAG1USYaIQdMfZwcKoiCfdaRBwYUYqnH+3pgOsPgSqpVlDyNfLxEoo5+pljkJ6PY2zE
-caSukt3HJlmM4F9suXvhGdWEYLDEy3JuPsbcR9OCj8sXLLM8RgcMbkLqFyCepwxMlYLpvmajrV8z
-XQ1Q5eGnMsXgOS4Fni1N5IhTmUP+S+w35PqrBOWfq76yIVpqGo2TpWtNE7kj0fGriSHAZuTGJs7n
-lv9xPdwWm3DWmA+EkWNBncoxXNxlAx9TzPAif7vtgRlS1uD9OyeJ2YYHvqaut2eSNsqCcfJLAz3s
-kNtgjkkNtLHapnfCwI6DJKqxuBFloNNBdP3RJzZdMKeWjOvsZkPdRy8U7gQ9xHDgbzmdojPsZXl2
-4y1k8Yx8IfSo5IaI+CX4P/7XwQZk+4x+R6T7YCfwQ2UI3opVT85cnmv/ELjcXoQwqitPorJFaFTq
-ezTT3FArIpEMCMkNru7iCksLOE7UOWvIRWuDBwK1Un285J3yJ+KkDXDh4TYGevq0iJBeMGqUuPm9
-GsoKhRswM0+VMc1CuvS8Ai739hkwC/zlIKlDjUDOsvcEtTFrQLdQPUn8LvJyx0L+RtMdR0vKODgv
-o61OcJApyMoKmboZJiHiGj6rxhqG7VwudYzZNBBhML+flXoJrm4Z196xbvlfZBVr6SjNGPfFfz2a
-PLbfew+UXmskiA41FWnQTkc1wYHlPALlq3cF5/wyeq16rkhZdG0FyGB3cSRM3b1TE950+F9hNxpQ
-o23GGrIeizpLHPDB90mWOU9DDC9Ce0q11yEKrDg92Q1v6IYPsgmVPbHg/RkxWiIcnWzK6rjfxouW
-SnQHje+mx+flkLbchoxWQu9SKl/sj9YXKnKlisCirWn1Od4udLGgrMEv4zVJUTfmR6Rlmoo+Au0v
-bivWgn9P5JuOVE8Rrgrp6KrcQg9LmWhwfcTIs2mSROX09zq6mIDOS0uf2nLNb1SAVh1unseGiVwA
-mF683420G04Kgwvg5CZgZcXhUamzTo8l8LWoEzorRDj1GPoA/ZQSVDPrPd9GGPfgPJG0zi53FzkZ
-Im7yOpLF8/o1W1SQc60eHQ6Y1GXrxlTWZFDvxLPGXp+ji3UcjOlUMzIIQ58oNM/3JaNhbD+oSLq6
-/el4TzlyYVcEDHGHL6ENM7sBA5fiKJ3b+ADxij5++kkCCdbGGnafdxenP+LewC8u/+c3Jb9WHbkq
-7/xTrgNCI16QK6P0rXwEVbEWA881LFn8Z0N79rlbbrzOINj0enIuCHMdflbx4FP0qhVJZ2jE6X1e
-Ilo7wDCE9JORsE+eZksLFzinkqHNNvkalkvLbyCH5qCuArxJn+dRntBXR9+PimPJ8AF9dDq3Juho
-smnxh8zgKEXicWDnW7J6fCQ4bENPRqhGTnVAQBWEU8RuRh/A6pSjhCowLfqm7hM4Nizs7tlkK18s
-7aNnPgW/SQEgk6jkJmk8ZaXsNb+LzcvAYWbtvlxuUh8OeSAUkvglIF/W7+kcfI2lJKeEH6Cng6XG
-PBdwPc1bRjWAqwPJnwqzyjeZ479KGXA96dmJlOyic3T3+q8jByp5TGD11gAHMrqJxfciQAARJBXx
-nkNT35xLGve5hDRI6pCf/AjZzs5RRCS2XLwrlCZ/T+HHj6cpMdM8Oeum4VLMr8CBaZf0gW/VHxVC
-T9CxfsSSkVa98NecdwaDVkqVZxFab0TajYI1Pdmzt7UGxO3jA6MdV6CRjwVnKLtqqxf1eWG8Wn30
-nNfvyKBKsLmWq+Phgj5Y+7mjSiMHazPhQqp9iHGKV8s38LoEPZy5bu02pLuOrH25CelYPDo+qrAJ
-zLTczIQFRpdmyaROTrlZdUCJkcSiQp23Lbhopx3/0FnUsMiIoHHSfk96syDf5DFU+lWqDFyLsaLD
-r0NpqSzQDFHx/Fjhb2uezmCQnyJAO/b4sJA6I+5C2iN+eotD8ysy5cG062GYy2i3acf9iV605hMf
-l8+mU/WPcmgtTUe4czUmv/CMnmnBUyb11X0vNgROQEeLMmrllKoV1oYe+IjPjGE6BUeGiU2MT0/Y
-Rw0ACKX4czoJmt8N1g0xzC/5r+VDxKlRcGukPdLHCcYov0RQvOhnoVpfMLSlvd+h8o03XXZVfs3w
-wvfZjwVZc07ANY6YXJdUg32dECgmikfVfm8dMX+LCBuDyxyRp2bNKvst9uZgkS2eZHiTYt1MQVbT
-kW/Y8Kh9BYP6JrGv62iWODuCAb9PfYOUHWNa4KcflUktA6sm5MVKLCTta/UCGAIDmBjzeq0l/T/G
-Ddq/0jEcIQexCDwZXGxUSTKwjb1NszV8XYW/3VNtlUYyqhOwH7+W9Rb47G==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementgrouplistTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementgrouplistTest.php
index d10cf4e1..ed60ab1c 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementgrouplistTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementgrouplistTest.php
@@ -1,114 +1,114 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementlistTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementlistTest.php
index 7b7ca15e..a170bfd1 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementlistTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequirementlistTest.php
@@ -1,222 +1,222 @@
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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
-xi1CErC84tYhemJ2UNm=
\ No newline at end of file
+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
+KPYKBJPHi8t7dS0Vo8nOBfm/GDFWKQ+zaxHmT0==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequlanguagefilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequlanguagefilterTest.php
index f0821798..824489f0 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequlanguagefilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequlanguagefilterTest.php
@@ -1,68 +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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
\ No newline at end of file
+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
+Uyc+67gwR8W0qG==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequmailregexpfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequmailregexpfilterTest.php
index c3f9ab7b..88a05bdf 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequmailregexpfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequmailregexpfilterTest.php
@@ -1,67 +1,67 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent1Test.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent1Test.php
index 39831ee9..737f76bd 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent1Test.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent1Test.php
@@ -1,77 +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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
-Pm==
\ No newline at end of file
+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
+7hj1UysEqrP0CpMkvgNEaG==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent2Test.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent2Test.php
index 333fbcf8..c24048fe 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent2Test.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnoarticlecontent2Test.php
@@ -1,76 +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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
\ No newline at end of file
+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
+dxy=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotinfolderfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotinfolderfilterTest.php
index 196b5b84..0fe051ff 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotinfolderfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotinfolderfilterTest.php
@@ -1,69 +1,70 @@
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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
-AnFlyQ0WKY7HbOcamfCjr0==
\ No newline at end of file
+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
+E/3hDQu4mEpK
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotingroupfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotingroupfilterTest.php
index 48300aa7..49b8b2b5 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotingroupfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequnotingroupfilterTest.php
@@ -1,81 +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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
\ No newline at end of file
+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
+5DykKgv4npyVuYDfiMza/VIXY0aIeMeSR8O=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderfieldTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderfieldTest.php
index e3307ad8..2b6a1f26 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderfieldTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderfieldTest.php
@@ -1,131 +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
+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
+kpEbFhJ8t07y
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordernonstornoTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordernonstornoTest.php
index 95db63b1..accb8e2a 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordernonstornoTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordernonstornoTest.php
@@ -1,70 +1,70 @@
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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
-f/F3B7C=
\ No newline at end of file
+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
+6Ba0U4+mQvxrS6PLh4JEOUW=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderstornoTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderstornoTest.php
index bece13f7..da15fd64 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderstornoTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequorderstornoTest.php
@@ -1,70 +1,69 @@
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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
-o1891kYVuAqPkQbS
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordersumTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordersumTest.php
index 9da5ac23..df631968 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordersumTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequordersumTest.php
@@ -1,86 +1,86 @@
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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
-S1b58dl57P9B6O7HM5BciDXGcPPiV60Jg1U6EGO=
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequotherjobTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequotherjobTest.php
index 677c389f..08244bfa 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequotherjobTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequotherjobTest.php
@@ -1,114 +1,114 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequpaymentfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequpaymentfilterTest.php
index 66be8283..d48504b1 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequpaymentfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequpaymentfilterTest.php
@@ -1,69 +1,69 @@
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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
-OG==
\ No newline at end of file
+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
+vXidWlNii0KokRMGTTq=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter1Test.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter1Test.php
index 61f90c3a..2793ca3e 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter1Test.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter1Test.php
@@ -1,93 +1,93 @@
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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
-Sv/+sxtDuHWSiXJicXtajwazHbIWEqbWtW==
\ No newline at end of file
+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
+9nc8PQjuwrZeH2c6SpJx5K8MogTjKcFm
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter2Test.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter2Test.php
index 6150f323..b3665cf2 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter2Test.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtimespanfilter2Test.php
@@ -1,78 +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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
-PUUv5PnQNW==
\ No newline at end of file
+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
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtoordernrTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtoordernrTest.php
index ccc9e307..85d9c808 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtoordernrTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtoordernrTest.php
@@ -1,67 +1,67 @@
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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
-xrTzBIapZFCQIFQrV6Py0m==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtrackcodefilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtrackcodefilterTest.php
index 00163ce1..7d964188 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtrackcodefilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtrackcodefilterTest.php
@@ -1,69 +1,69 @@
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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
-tA0czG==
\ No newline at end of file
+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
+kb2kgKMJhjLm+lcgIlu+Icu80LVWBRc7ftyS
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtransactionfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtransactionfilterTest.php
index 688c686c..1305d66a 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtransactionfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequtransactionfilterTest.php
@@ -1,79 +1,79 @@
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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
-gozyqgQU88dW8ZaHKIeeBGqLpfo/vyBZbm==
\ No newline at end of file
+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
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequweekdayfilterTest.php b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequweekdayfilterTest.php
index 7c428ebc..8910709b 100644
--- a/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequweekdayfilterTest.php
+++ b/src/tests/unit/Application/Model/Requirements/d3ordermanagerrequweekdayfilterTest.php
@@ -1,96 +1,98 @@
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
+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
+uJ8OvqjOmWU6CVoq1zh/Gsy=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanagerTest.php b/src/tests/unit/Application/Model/d3ordermanagerTest.php
index 9ab0a579..c7b3b90f 100644
--- a/src/tests/unit/Application/Model/d3ordermanagerTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanagerTest.php
@@ -1,828 +1,825 @@
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
+HR+cP/FQ2eheruwjzRkVgQv4G81ctyTkAV/tx/CYaP3tXrdVirTd+bBC2Sco2WSBXapT2ANfZqpc
+M0Nh4eJrOVf7mmtKlbE4UZbuXqqUaMO8HaeaAPlcKufO/mtxqrHLS/+kcRl1QPkj2XrT1X+B6/Rj
++/DbKCgJ3Llcy3V/8gvIRLRLGH8jKHAxJOSoyqzDXSNBUSj2GCfDXfHi7IMN22yY6NOdJefGiNA4
+PnZ611XLPm6URn+cNTn6rAVk8xw2kWuOESG9mjymVZGauqkpgtqJlsQzIITxycPhfY+iGd/YR6mA
+hWru0rx/dy9iY+GWiHrlHeefi3xY2Elg/dqt61tx53LKUixrwT86ypUP09tn/vgPmD0ZKVcMEiqs
++x5bxIVzwUTCvBO/Ptqr2eV+cPnNulVKl7m5J/1a2yTH+hoj8TBfkjGTMU/+BkPvy9nHzLOTUEhu
+ZAtPWZkqf6jvhILzb9yu5c+hmNPh4x0IhX7Y1zY7D5nYAnZiKwrkwVE2Qqk8ZK6Ml76E5eYTaULJ
+ES+znVvimucIiRvgOzUhNr/yDDjcrKe2MDxDz7KVGkF89eHyagIkiPPpFmDQxpG69ZctXeHUyskM
+rEnmwtKME1XiJlVOhEGE7gbQwpwbrNQrRe88wCaTpP1+S5Oa66Uc0B7CZ822ZsfuRiYtljsIpnqK
+48GEjS+pRX4cNtu/xyZ5jbwE2qnd8O+v3IHFeG3oURJGJHTwz7JCyhvibTLO5RLU5vurmTgaSnp2
+o+2QK7MPP93E6QXQT2IrH78Gt70m1qLHOuCzpEY8ChUIYDTdOkNSmKSGlPh4PPRwMRSD8KjxvMCX
+hpioHRcn7Bwg6xOLOHyFW1Yr0loKBYPl1PFGZLYjoxgEUDXcEIIEp4lmxo4u7qCiHyvtGYdLvGld
+w4WluVOgrF+Rip/HoH4HFJf2ORTA+FEtPQfbqNEeDgb0+Ne9MSnq+X1+zRSVicFt4g8+ADR19FhZ
+cwOetLlmrl1dI8Pc8PuQhkz7aJ7tzJLX8ttuBOcMhGnS0Cgt19tN9EAAxvo0iIkziJQrXNINB5ex
+sgEv+7n1GsDv1HO7IS2OhumiGfy0M/hhs8V3LLQGaAS6/QoJNDp3IE9xE8FR6mzVCnchIdoTyXQ/
+IsSvLqOcdHxs+EU594WPMYradUQvayme9aeKXXoqhRZoezNYL0vLCCGQqhK7s0ZmDIM9Jbqw4vbP
+CfNN6r/hUH0K7Nbb7krsK4xT7o4qx31qN8pKcN1ToGHwWLlOM12DZIAOaVm2/hALwzMAqXy3suCX
+07r9KkfAPstKelHsp3XDKmSgO54rBDexCET8m3LPoMXqok44P5b0TO0jE6OG5haeC2oKVup1kZwv
+LuO7KuRw3Mp6BdPFtEoa5v9doUrUyGTdxm9YYen9EKLMSyfdooCOXdpNfU1PkRqwRa5s3Z5E6FQT
+A3l96E7WcXZkeeKLbGTktBgasB0mgxzGjLjYBp0vXhWhagy4bBzLB79Ybhg5+taMunTslkH5T0fD
+knAD3tI1/e0RCoLpJaXKQjxmAY4Q+AVYFLaULaz0PBC1kGe/UzO6WdtOaD4W1tMYnoBrXEdp/cH3
+mCV2GoD3f6F6b8gAJCAHUo9gqx2kBvngviWXQyxtohRBgsP8r45+IyVN/kNY2dZIoZDuG6qbbyZp
+rLgP3VZNgY4/40tiyOasy3XZX9+e1VzWSs6ISUv2jARIVh3wM6nRYQXMCv5JIprtOm3kmmHGc0Gb
+Ikq0FMbJRB6PTOXSrR2uNLaIwXbUQiI5QYeMNYz7iO1Lb8mkDZxWjVOfBvE6KcnFO6DqzwJOt8Oq
+ngkduWtr28+uMgpYOXXOtyJ+N5WJrF5b8bUUQN8MzrmtN0wfNMp7XtbPR3HmfRc3M/6FBjSVI3yl
+y+OtV5fzFtMgexQ2W7nbBmHFGu8TaUtb3aL9ACBGOnO0pfmZkouNVHOBpXKJUR+3C0uo2rKbb6lR
+IUfcvm//j25Fne2Qmc8/7RtqiNvaguTV0vbauO5CvVyZQIxs2MKP28OkLaoA9rsz5ymR3ajw4SsE
+xoDoWMTy/6uwcvLry1RIBmVc4HkM8dLvoONxX3ro5DKMsInLtRsNTbYRmjAIPiLdPV7lwVpXvHbn
+bvydKJOzTZBvokufKhRbCn2Ei7Q25316TDSKwKBGf885kJ1Mm8ObaXojNEEOugCoI/iThnvepobk
+ayaABNAQWvOf2mfMB4RDMLpUGLCbT2MYVjdhNwlXi7UNVCqcelyxaP4bUYDpP531LYVdYlBcgWjL
+uIeG1ONlQZKbhHo13TxdmA0XHKiz8SbQI63Nsi89fJr5r0GaKZjC7NwGLu+XN5fwT4bKpafbjEU3
+S7wZRPVhDkO+XW/3aN0FD/q4WNE15d3tMMOctg20uniSZ5Ahx6nNwKsDDHmDN1forAO5mnXJq3lV
+zep+IEy3iaI6DMuNXsEQrIOc+n/QAV0c0D40WPVfoXU8+SYEIXN0ZsXBvjMKQMcZfC9hPP00WNH0
+5rKGjFl3qVbY1ZETFe/mkFY99d3/28sI0w4GACib9Z5+W7KGbWcjoA+2y5VR6wYnutP1+Un8rTs7
+c+S9r2dBouodC7guEuDk5RgWWI0+xt83H7hnLqZsm53ebz3JO4dWrux+eNKXhVO5VuAMyz0oN5QS
+tbVCog7ITeCb43xhbfTlGV1wDQRn+UET6K+EZ5U4jteiRXWBT+TIKR+yzvVSHow019FdYcypuPJd
+I66dKhoy3ddrR8D/5BHwRctz24Z8lwDM16Nc1Cjiqfh0kq223LLSqOxPf5Fd9FIDt+ZnY9o+hfeE
+PxBZ3JNHDLIiTWcHf5bAi+n74GBZYD4j4HuF8XAlhXM6DcFBOyo9ZZemz/Rax8QjGLQvAVExyXiZ
+oZOnNSVe5At2Vyj8c3NiWnfl/0YWfvMJSfZ3ykfxgqHETBeQek1LbHtTjm/geyNZUK5aQx+euxuD
+XUWAxzCeDQ0qbqnUL0yFIgAkcX6LDf8/Nn9JrdPE/7Y3gmpYfumdE96smKkVTGKCOdTKHY7UEfTu
+Q6ohXOeN8ZbxKhl+ukNj/3q/5Au+ZRX3ez5d1P19ylw7qqs1zaKOXGOk/mOWn7MOmaFL6TyjQszY
+ZuB/OClgupIyAQJfogkPXH7f0Aa6nX0Zhh8oyO77qgPny5qE2xC7IeCjO8UDnKcmK5w1c9PMaYiw
+GiJoq7VwcLqpz9JhEg3omemSyGE5rLt+ORzszTO5SPSWhUwPf6UuljYQcjC31xIa1oC1UJSHzk7h
+3Mgf8sBiAbqf12Hum2QTetWV9Go9/AJX3oUlBo1MK24n6m8PT2lXVHYk7KVpdNxwAMQC2nS6NsgO
++VZTj15lMegeLHPPaPwsxx1L5x8nMgxd2DmvakIYb/D9X9ef6TEFtgLkwD98HF7vzrG+OS1robwF
+uV2VwW86vhEpJ754Qq5TXLr5/Bu5syAUFZsrWp+LA4vo6iDFCA53Vn6OqQ7wytqgeG7xiO5X74mR
+C8v0czgPFYAHeiNF00fDEig9sR/YYe4OwxrRqB4fBSW0J+47AK5O4pTwt5hqT5KZm1WNWPyV1fOC
+QrPaCfzOPPfjzlahLAqF7Xl9kQTjb94BYLwDl89rnM1rfFD9ZiFUelYcqCzx2AYvUCtxHVvJYqd9
+qFybhTCzhV9KNRl+PE1j2+ngqTOeGs1WoJ81Mm1i3etwQyhQ8NC3cKQj5j1WdREx5SJ3lQXINCOK
+PJtjclgyQ9pKRmuDjAUKKzQvapSCvQiEBn7WrCNgrhjbP+QpXQ4Dh0RhgbFQckmYEVzN4P8RnEXz
+9KM0dM1axlZsd6IEZJtjGlSsBQDbv8tfQ1DCe20q20J0Y+9GU19rNqF4UVWKLAgLfaxyaIpchXSF
+VLdwJ7Y5meKurWjVO0vvd2wcT0sdpkVl1pLc9vdOq7Kg+4obLefZPcsmA5JiJkPgdjfuR0NiBbnR
+zf2K3c4vk5EzyVNH/Tc5AouXRB++StHum3cOk6PZx1wyB908d2AbobCo+0j5+dSV+herncsqdavG
+xH0647HUjNqLgKQ6X+Re194aFkYJP1/1sK1f4I+gQKmSQf5uFrm93biUuZ2tXhoHasTpxvxrPWkZ
+LPUUDfZp+1F3UM7es4uHMjJ3TaapBq1Oh1KZwxRzJ14JXnbvdtwdovknqcg3YX/8e6pnce6Z3Xvu
+J079FJ+zHexo9taWaoXtpmtDBy9JORoOuWrAqruprjqdY4cbm2h9FKf1oMvp3g/UKFkTro0nbCG1
+jawAFI5gfpHL+8WMe9YU3UX9lxX2YY7UMp1xZSRzfunKA6KROQ3Gsbzu7PN+d9ufVSnaN/WQhQct
+KMZrAFKFmW1xRSs1gfWrvxe6BjrFAOJUjY5+aRG3uly6voJdhl0HduZkGFMMSFmciO/56g8vQAyW
+eWrCc2qLh6Jet+ShDoMhn4tZmctw7d0lT2lySnDu0y0Y9NIZIU4w+jP2ZmW7RWEfOLKaiH0n5C4T
+DmwZuzrAvFzHEMiMUR6yLnLLGv7BMIqPv/kmWG/geKAC+XccweYFdlPKkNzhvP16OLG227+ZdqZG
+w9Byn3WRT5Ts9ofZPxFrngOSek3irVfLVwRSctgwqDHeer2aHttM+y+RuDefZaqxSUvu/36eYEhZ
+gZ2lGhKcOC1T62SpImvZUsxGlmo1AmSZz/FkLfdqV9wuh/qjBdjhJvPW8KuceDwuihRDiQ1F5BnT
+2y77UpzK9gmcwjWxYET2MrBvnCeUZWwlM9nToeraOteifvf1oLL7gLgQXylCSiXyWApr69Nopj44
+Kj5B42MCj3BEPtG7wMAb6UEKTb1ZZDkaxmVx7BsMlgABDA/2m2U0q48GJZE+GxUQ4KhV+q6HkFU2
+aMw2KFoDbfWTTsrmg5WBpYSKm0q4DyCemxv48X8QO8dv3KccHSZDG0N6CT9mWIWTslADqY+5/5j9
+nMBRXOOGrzU6QA/lMOmfvUVF5XTQFLxWySLBJRziM4TaTn6QLrSUPyaiwMFQiIDq3nru9EGMyru6
+LWww1TnvQ/k6qFNvtQD2D2GeLChASkVfQYvkejjuBTODGOmtK2xrb7GuJsgJx7adaDA+PDUMuNWe
+pBi1jCaeo2XtT3un5Udl39jRP5jg0MYlNzg+D3ji2jYaZjJ5LUW16m+4iisz8t6jUDBkiITFqxVG
+qXtskrDTCMjbRwd9z7p0nXaifY782RVIqqzWnwIDn3Xf6zBJLamvxyzYR2ileoxahag9qIPqEgyU
+159g55bAvhoYDcH3fsLMf0LC3PvljX63Df8CdcTYiQQtz2jtpGxgd+HN2eMu2m3cgGnPqaaBgVNU
+FdLFDd44suLiEss0Ut7nmzYgrxQZdcDHYeRG6htXYYu3eB4SXmIFeaQesaLku17YlBzYFYZ4cumP
+3GFDUz/g18/GEZfPn8q3ssqOkkYQgYcsPixGDkc/XnsDP73tLcqX89nDyLEw/DM1Hdkn3FFjtBc4
+6h3xsGUEcv418P2AcKkVI62mYJZYtJNkcFdVeMNpnNgoVuiXurUDf+mVzsr/CVDlasgJ8ySjkKtB
+84AFYBo/vz7FRgO5WsSm7mKoyzX7vT1y9kHIAjBSzg4pN9vc8YziQE7KftwlEyxwJcdJBI3UdioX
+cu8Tn0Df86NeQRZreiL1kKszIOTqwFaqqYY0ghZZc9ObRwXf/mlrjOjiv9Ugsgjfh/7bFOMTjzHN
+18sPLpV9e/dAf4r+uMAHntjATND/td4tD9IFsC9+zJUXwdaKf9JjKVmSJBWukcp99h4ZjLfCD/Zv
+1h61bu1zHsKm73r2tVwQK+sE5BnqcX/ABO6Rd5P1y5QFsBN3Ezcx04XKjOIMnmkW0WEAWjTeseAT
+zsTV2vqmY0XYOrXxBYagluxiCQ+l0MdBm71LH+IjOBd2sQYcsi6IcU4/hd1dMJtB8V5BGGTleema
+J29D85LZpkus3pe7cscp/VOfB8/sZe0FDNYe37P5sj8dWBtpS8RBR+jF46k7fCocucP1BOCJAkpA
+qW3HvZcK2TgSIZdyDdI13rIL/NLunt97NYTPTlipbgn5vNrCrU+e53SdiAHOB8N43D9JS8GsIaU6
+rXyvgQY3wPcEkbQG9qqSGjBil/vKEDz/TH0rPXD6329rGLbwH4yYEDb1ENze9Ykl2EM+phaOarBd
+/a7R1BrzBXMlKmRL8K9eZaNhvZvGxsrwAin6PxV/frKEbftx6snDsH0vcgoMiSI1UJT+u5iI8urv
+RhpLcEvsaI5g4WAPs4s+MpffE4vGRyKFeILkMeWzRJS0aintNhQO2n5xZkoa90jI8nfTv0FfOeAG
+g7at/oOXwLUKKji0/KqQeD5LM5qMNPSFxj3aBhuzdXHFm/bzP2+EQDb2uLccWw/RyvzRCjWuj32w
+HFPri2aww0OI0372U08VmcMNLt9ycZqOLm48vWHzubkd0ZMVpnyr1H9nKRrvg7UHwZ7xy2ffIXag
+SRWOTdKMt0A1Bmd3HVu22b5NYIoRNoAq0YxbUAJjkksp/i82dLuuLCYQ1C8OUeyWZ2S4gb/LGqSh
+AGzG5pYymgt0Zo5uf84G6Qb8CVbg41sJC69d8aVI7YH48sPn9bWgBjHpYsMiRf+NDc6A83hDJksR
+gQXmWT+gBVBl/dfM9CVSDSyGaEwyAZhgg7/IwFdxiM8awvZMQ24t332D2QY4NXYwUec9Pq1qE0+A
+t3ToTgHgRNL1z1VI+YRzGJ2lrmE/SGRrcDLiP6zp8a87d+OGnTinsZwoxX0DrAXz5PlSsb81P1/5
+jX6IPKO6N1scJ3syPmwW2ZTgDA4NPHLcdSvXDesi0ta4skDfqaa5v7jbsp3qJ6qPCi6hCrvbL9sX
+8P5ur0/hXqJu4CieVLjJLySDpelmY9y1FSnoUGRrK35qfgMKSxQQNFuOP+wISx6/9M087IMpocj8
+KD/TbTaWQGQQtqFVZ+w9s27uRstZCwT8/QJSUumuqRkP2JSm8ZU+yF1Tm7mMLb7j0rhrU+vPjyZC
+OqjadMr76WuQHA0Rv91RqyPt6ULG/EmtM8golfA1U+JsQpI5xNQ6PIHOHUnqZnxlfOyvdM+Yl/Uh
+3r9/vFxwKjV4D5eU1Jg8dusb/xCRT00wUnVYpsKaUzUViH5IPikwbnXP7mrRq5neNUN833q2SyC/
+BrZRRy9c6e091dXoFe+6TMvBMfB7cRcsGjh1cMdPL9cqw3I45VJ5Qh7w7XSVd23ePsEiUDSwP6ui
+4qbmGgJ9+2luKk/yNhRMMyOVt+K/73Xfr744lJ1iYeNK963MobyTJUKDC906yDPF+3ejuQ+AhzMN
+2YnLs0AjbFOxbhTXTW0ZerTCrXxhjg7xEZNFqzDKsG0S+ENXjuwjgPgm8ME7CEzOSJQ+EvwTe70d
+tTs0dLzZiRL+IVeSfl5Qt8MBdUb3xg7Bs7Zvu971BxXTUtfA5n4n5Ovnd8w45Qxf1NzsSpb3ByNu
+RYR6gAda8cnTshDTlMd40GaMAQA9bny7y0KnQY9TbGQqatD/V8TH/YQn/6LmHtYIckIziAtWgShm
+CNLgxHmxXMoj7vcGe2E4KRwCFa5QZh0MEJWCfYvApErMgKh4sjw4f9UJ5OP1APYMPAb5yx1FwsVP
+OE8ROhw7wzEKHe0kQcjit7lwmCyMdaFA3GLihCrD2ZgylSNyCFDuQvUHN83sw33fySdS2VYu6Hx8
+6Xt5/uDGjeBY2QE7DkPMHxBXFv8Hfou8L5EK/+ZLLLoK7Y9y4QuFJma7NxyGwZ7JZPNZqlM7MVNT
+um/YQ8+V9p+tYtXzahhPUm8CoYGAEPlGOa0fP4WBvXCkHMrM37pLrCVGzs8e4usxVQgrhmXURlIN
+HZrBy8DImuyKTbYGFt6xYi7qZ6IoXcAhygqXrxhjPZO7ji/sgCfz0ZH47dSGXFoQilzrvWi3P8SN
+9GrjJp/q/9B+uJzTxZYl4uvkGUkSStcy9GafyBZV9kEiZ5Nvp0d57BfRnB2jIKdN3wVJ+v+e2m2K
+M+PZZlRGDbu2i4KalawnaNXtfNKDWZkNyeHoo5XsFYt8DrZBytnrx3+JRa/e0IF/Jlo7x09YlQ0Y
+KtJLA4gxYHygjUjCdZgM4zKUNaKvhG5VKvXko+VEG/DjpiJRgHthJptvIiiYP+Cg6HEp8YcUGdta
+KPx5iV0f8cAAGSFHMpqwmLaJEpWfGY57O/k4G/I9qi9+tvUMin/bcYtzjCYobS/sJ289nUSBfRI/
+a1Yu15J8vtZb86UumPyIQioYllZxMbrZq8zVJuWtT37UbGRIwJvI2/pL5yFkD74r9hcm+nJjtGK4
+sHSFYWwtgjg9cYo9YU9pBjZCIoLBRdHfUVb2ZfD+YHIF7i7uQX4EdxoKB5XeSGNhvmawoQt9z6Ga
+jqUKrwieJUahHlTuxXGJdccX01az0MaRnjVriqbplVZyPASM7dPT1DV1LXtgwi47Be0OM+MfDaKJ
+g80Mqd22OpdvJyR6WwGlI3k0YzbRa30MfFd6e+lp9ZrEi/dH1d+MBf7BCsakkfORGeddcHEAb6XQ
+oi+pRPgoMnQiz7eBN+0gv4JEDsS1CEv2eW0oPA9bhLD46l5DD8+CE+zYwzjmq60qrB+Y1JvxH+1Q
+Porwcr+nJbs2zGjCqmd4brcKTleiSkPEhtW5JYwvgjqMelueAgxO8CY9vmL7msw72+3+RHQhtJ5P
+QK1Y8YUNB6hyVLvFOzg8QaWEigYFxEeEPOq7u7JAjiAwXHWcFYj5D3sjcx4a+x1/2WvjWT79AMwq
+8eeHJqZcJHRB2qAaNwdApd7htVYWtBDogTLRsJ0jRXOSlfyJKKPjcftIdDVDkVQcOtWBBd68Rn2W
+6n/GxUhOVxEK/sdF8w8kdqIyfZ/9fuglwJJonBElt29TlPaNq5jp+0jVsx5MwtSgjRuAyQwtbgL5
+Kno4NBfeXa7X+Lz2xDDvTqX7v1Vp2QMzdRmiTTf3FwSOcWKAH4OJaXlgMOyk7HRMo3JY8T3mgZZz
+FQmRVb1/x0YVxYodY/wzioruwbYRdM2FstEtBHhRo5wiegPgkM9FKEQxTu2WX+FZsfYJ+p8d+ett
+SkIIf55Kj3f3KHYCDjfehfJKo4Y0bYX3uRIoRSF8CzUmzrXDSErIToXmEeQF8vC+0e4JfZKrnmqD
+B76G36kdDLFCRg1H3/KSoB1teUezrpqcr4w2P/Q6SrvM9WNeg5M9p/Uvpc3ypiM185Cij/B88Nro
+r7TDsA1todVpNZSKSeuMTUNFKdcw4M3g+wK3u05JxTeDpIcsmPEdPjHhetUdQy6JVEOQqqFjlXsj
+x2Vx7kEHRQAb+o9NkznVVsG6sF+O5jqrmyuT+B4P5bqiwHYeum7zz9EXfYvJ73RgCIguD34OXUzu
+Yw48WrLMvjr9+iyB0keUxflhCCz0tG0qJh8ltDxGMoOBhewPdxnSpJNpJgTHdZ8i4YvRRbvREiK3
+Uwq7ivuKWNTKf+Kk2Qv8H2hzUOiQXPVocOgOZgJnp3Bwjb1pfE79PYaKpFw67BHu0HaY+Mv745A5
+/99wUSN5Ga1d3K8tyIEJaFt+xxRgY9WGUquor+YjwAWB2CWRtBJO6n6qWSyeVv9ob9SkAR19mrDU
+uLN9OdzARMfi1LGfBajcMctYXVdB+8QBVTGbGY3EiLbm/EnimoFfKXx+3c0MbsqzhCgIcsEdHaDa
+7bGGAYqtx1KkgPfZwKLec3jZJYfXhWm8fmf+a1iHyQSNDbO/oTCu7eN4CLpmYWL0/HukOmBvXIXM
+T+j/LhkQwJzmGd4/j/lNO8wKFd3Ho2txnuogu/trm+buFsTXptE1C+Pbbh5xlw5z84BzNZqWHN+b
+PQc/0bW/sjijZ7k2ItPGH5Wsc/AFMunyiLqxLn6HaAP2MCFs0ST3Udg8NmMCERB/5630+Gf2zUYw
+fQIIhD8B/yNvXSihZu4co9ny4M0rrd7Oxe9xBzoZfRuOj77doRkSnsJ6RbH8cc1jkyogLgjVH3tS
+2j5TV6SpJiUPyZE6n4LR7A+/dUPXzKnKOvu32OzpQCVC1OkVCmVgzLmGHaRJgNoy9z9Qhp26dYd2
+7EbqGsEooXaCP/y1j6XWtT9dWy9g3AJvzDeqKlLvO6IOT5sYhZjqORar10FpXxMC0ynfM1mIb5KB
+0sunvwCCvTT3edWSqxAtvB6NDtreyV81CUbUJWopbjiqvzPf6jOeQKC6x6hZR1/UHrFREhm5vFN0
+YNzEZVaWxRRPAUm+q/NvMFjRchu2oDHxnkUrvz2XLJJ2QWqYQtK3JDOHaiLowImW5gVSCs8C9vRC
+bsziAVHtSYbfUesZdifdCp10I5SOcXr2jlQOa6sBl/161GoB3Xrds/g7eF/aksH2z1lVlpEqOb1e
+qgECh6Uj+JbzdXP7plnkiVj0u+z6RyIgGyl+W0Lq7QVDqvAM+u9Q//5gPXrsyQPEp39ogkqqiiph
+6YyTD8a1eN0OFfPGx53fRDYHlxWa+gNaxqhYnyuGiEuSm+K5Ymq59DPlrPAkRdk66QM3CJgCQHKU
+AcfiNZZ7QUy3ewm8xGf16OUbkZJgDK57kuSujXUPAZkLr/BVbSu1WNr05ly3bxx/AtmC3sIFDRBV
+7ZxVEn5m8zOB/g4bkabp645E+OCs/B48IELOW8sKZ2O11LOKEFVriVV3iiP8yBN0L8f5uWDTG6Sc
+eZIBwfVLzx+WGHMC/5AOqGrlJZfpedV2MMfdC+im8zV+w7R+rORjIdlcN5jv5gS+ySF7rKwVULXV
+tYQGvS6HtSK/L42zuZuj/wjnXcE02YjYegqraAHmvNN84ym/XqkU+0d6gwnDqj7alliMr7wpPOPW
+YuvOhaaMXj2ktyhIzKxDxFhJS0F2gg6EfjhQtBRqhROZdysJs6LSxVf4aO+gsRMb2scjLix73VcQ
++FHJthY3kPIX9flpwRH4JviUt4tp565/b9HtMHSc67eKrqi1xkoBNtJJEjBozU4nXg8AZVdKQinU
+fZ1FjkR6kKLm1wc20RJjGNIFhHt793x8wRB5M1/hW6OVGNgN4ahv7+vlw1X3mLkBDtHO03AD8RIJ
+jU/9+AkATp901wVSUwY4yrH9L0W7p+t9WPrMbOllCXDpuozUtTF1ZnvEfnAe874e/m0Wd0een8cu
+NkHcyh2SFvPZxB8jrx/lgSzqTy+yGKtxylKPiwE+XAL86IMwBg9IxCw6qFsj7kgK3TwrjffAX9Oc
+kY1Ucr8L8hocLHul9sRpS43IqF/jDqy8LO0pl2qNV+lj6/jgP6sbDiRmNRFQ9PaKrG+fWeySaHtC
+VTQs08f3Pjz+fDwiqAnB2hqUhuaIFIQym5G49AlL2N31jNY4ibsxBX0/nmd4oiIgoH3RFXGVkL2H
+bkBZpA6jasTt/vJHj0Kp+XNupFV232S8JP5J0etXhXEB4pMqQaXXdr32GfYEsXBfATr5wMnigoH8
+cu1owAm0U5Kwtk6G8/P9vJSRZZUV7cpxGcviEdY5C0F5KeR0x+DjJxK2RM88qlkoca5mSXzojn0x
+0AFY5tCbEVUDHkxzRgzpm3170aA7dCYeK0khlGMyjk8QplXhzDyPOtlbP+1bOlqLQXBpuU4p29KU
+lQMnKxmbjRwRe+lWztezy0LY+24GvsfSVWBgxwm4iFMvCrpyilz4x1jqP+jnaVnYJhuzNAPDT26I
+gn6kfuq/eL0Dbof5NqneZ8Pz2gO5WkJZYJXhIsqouz2MXXTP5ZF//nVzZe1qkv0r8XgF6Ujuf1P9
+/Km0WYQdEFs+7ReTFKlyXQUMKFZGE1GLWizbvg6ap9CfZqdLGvtbmB46smdu7oDV4BSQRsXchLeX
+dNlZwynq1xkB9zuZzD1c6pRleRmPNEUcA6ZvXo+5ub1hdoRvakfLdi9I9KqM+PJNKf/Y5oXhMa55
+hl//bwgijlY5/eDTLikyGc4UWpqwjiQx9Jz9ho1WlYGST45Doo3aGoLShuz+85angOdwRvnXvXnp
+dRepm6yCyNy111h6OREpyiz8sf+OGPtb7JlBTh0G8TRHD2r7cdh6o/TJUUUydVbLxxYziEx9zMuj
+4ygLDlkdIigcOT5nms3eDgstJGQ+gO1wBJlLo4KuZsL0kDkPCRDG6rnqijlb/fC2WgawvwRkaiHL
+vys+c7f1/RyZQPV+oS7IXeU0NwV2vHpuyw9nWpe1OG5lSDlQfnySdDhZ3RD8+hTh73/2i+twag2K
+cNjpUY0AiOwTCy6todBGRVKf9g7MJgfEnN0mubM0A+zaNEbtuv6RAz8gFn3/A+HUCUb0ZdFgJ2uX
+wvqeAqCwC5gJ9IHRDOyPObLlPKQatgEBfBqptyRjWGTUDi4tWYjKYGR1REQ6gOJF3PHArsNcrlED
+wol5rX4AR18n/3gUew5itFjpjydJfla28mGPZ5osBfxL0LYJapvUAYBFg8/RpW5X6rs6UhHMdaSA
+3h1KrkUvuqPxXiXBVt0Es9E/lWJdy8ua/O+Xi8z4a6LU56r8sxL3/KMzNfZENRUU9MC2yk24i21S
+nGe+rU6mCHziLUfqw/JhKxuzQq8wR5q+HVzdbMXHciAcvnB3orIxZ2k8zxkMY/hXn7mj7fWbNTM5
+A8Z96unlYVUKsWhulaHqp8me7yLoAiIUsIrnz5jRkOUQ7j2+SKcFj036PLM6NCbnmgCV320jx2u0
+FW4F7IhhXCc0DragDBuN9+i3uemhqyVnEgV4aduhxt8C8rpAGgQ/irNzXbjBN36LgVtdcbcjiAY+
+S8s0ZF7RAgDeHzfhGOGmmQu4zHjBW+M/Y8Z+c3Enh4kghjHSa0ebuiIRJ2oX0lsHzQtaoD134/Q+
+nw6XSSx/uRU5GGp8/NEtpLoLBI8DzcTlVSCWaznEFT2W2u9ZUGONrEA8iSbLC+4u6uj/eKYzyxSM
+JcqKaCeeT+wF3uwtKacMF+5cJFs5iJB1xbBSusaKf0VCUAkQ6Q6HCPN73HH2NDyTrunNIhU0zHFN
+5ACF7HA6SusZQBQmvyGt68RKtwa/RGfgyjAxP5IW6ZMZne/T8Y5Ayqa+lx9Nk6Hrd7239MExD4Dx
+yLpAaYAa/6a6KZaL8a7EMRa1gq8p4uUvOoHSOLKgRB/ENlCRJ7nWRVAzW5gUnXEYcMf1J+aCAZr7
+7Ehp7GmEvphrByfZlDe8ivvF7bY0ZKC2ExK/kAzQ1G5CQcFScZeZQ+0Tn7yYx8gd2GDr+9cna0vN
+erQChetXwfDAm3cNYF/I1yccdBrM8rxV15A9qL8wtotUIQv5DC0/2W5JsJ1kiW5fpaCIwjVmt9/S
+5JSUhkGDUOyzvk9VDoQ0QpsVferZn2lY3SFKQ0HEdLkRkBd3tgHm4Q0Cij3Z8I8FBO8Q8SXNcB3m
+gEJVW518hjcNRlsWU73FuQo1bN3oPR36kvcoKoVdr4KOTHm0ciN+6yKqGz6DbyjDYekWFVRQGzHM
+aCX5FYv6m/tZlanyKDvLM7cy1lA8ViQMgSJbEWefek4AcrF53Ifhjdiqo6ml9QUvp/YWecHo/fr5
+Vh4WGqhIUakkZpBWTZ3I8ZCjX9x8V1zKriUMiIQLeapdqriiU365VenUFmWonW8uHeT/La2r6/y8
+ebH8CLo3iPxSEQrf/sTzmL4fwoRiiKMrbyqTpO8qfEerAn+Bc5GaJdvHeLxZIG4QQ851ZMVLCj7y
+aWyrtWXJzFW66n8L21kOoOpi4vjvPtuH7kl+Zpd85Okv0wVYY1uNwQf/U2nRnNEc6rYJ/LFAmojx
+RLny7T0Cs4ieBpCb27nr0g7BcZfZqPs08pJQjnmVg4CPzluNHbF0YOoJaa+9dlLRdIzdT4i9KDjC
+Mlq9AjNb6+WBsSl7y/RIZQVqR9VpJwQVfuViDMcHDviSFh3XqSHDewVsV0nIBCs6nEs1IJzqwTT4
+vC0jVqq5U9S02RxrpThkJl2cjJwIt/7hS4PD/wAVKT2OKvODgr2ucJ+bg6eGPTwUc+vFp+nnN0eR
+Eo+PYNl/IGzsd3rrVhSl9fmAWDjA2v5jqn9ImXvEOUrk9IDzwk78gEsFtPgHXt/cLwezBIKtFXBo
+HGMKd9Q4oHiJKH762zgZC6eENN75hajslAehXdZXNW4+J2ZDrq7PuVJGJ4ANkqr0hTpppBNmu2Pp
+LlJllNIO5IUETFz3epEBNGsYjtpUMB7m8mnBbMubvo9PwMPch4vuhuKMzExiTJvr7qjjTZWpU1qw
+lHmLHwOAvD1QAVCYa7tcEOhWvZqtdrEEDg1ETEXwXLpIbffelPnhseApRVy4Zc/sgW8amDEY1Ows
+KZqmVln45noK96yIhRWnTgD/cCGOs1UZseR1dKlfmq28mE/k41b7vAmAzU22WPBvmAjIclX19F1H
+qv3VgDysacqSm2JKaOgPW9PzR9eI3fHbwMFcNaH3rjLb4+ClSnNfJIHZIabR6C/4ueB2v4oc2l+X
+yMMchLoTpWx7wXaVds5nEQZSqTfOuyp8asMV4hWnFwELsKeFVAPSSoIhwAryHvtyjfntlbX4pEQk
+tH8Qza1aNF/U4LXUHhktUnvX9KsnrJVsyE98QINGYWciijU5h5BNro2ZyX2KvVkGKzpVBKJrl753
+/msUwjjmP68Qd5rIlfL2SZjDZ+n8SLQVHmOx+9dWlc8x1AdzViS70iPCu6dn7VYtQG1uOVVAaZg5
+2u6b6/kdjxzhKOHr11jmkzjPnaJaUvn0oNP9fWig1Z3nm4yI0Q6Ium72M+aPkUrCivEAJw/XyBIG
+lfx+VBsjMSyL8RCk/bKryahjTgYSfKpmZxVbIaX8lCpxNhq7wea1FXXMQ6PPjqCprSffQV1RFnv8
+pzGPosPwEuWoXPf3zdCUwkmOPng0AruoENBqxBFg1My8lb4vFeezsmvvOnKYKBeBU/T00cM8bjO4
+T5dN6yRZSx8TcbAdYLV73raUXmLEQfgY5eOBblJRZiZF4IhqA7hTjpUFq85LiGImI9H01rg7O7+O
+eF9feq4DBmqYYXj8mDH3MDjzKF05HZsb8Ug7kGE+Wksq1ST9uUuouXz3Dy6FxUjxhFGRkmR2hX19
+z+M33Y58/O8tDnvrXvUzqF4offfU7Q9HkOIORd69mBno1xIXbS+w5KAx8DBvnapmfivrKqcnRZtX
+CDh+CZj7IMAfYFeBke8p0p3eBGQRpFoVoRC06ShUBACXd88XOGbQ3G5LViwr47M1rtXgIDrpTdRy
+n1gbspqu0dBBuTI1D1Q6NiR5HzSFc0GbQVKPHZO+USYOy5mIFIVQZ5PWes4KUVB70VD7z7gfqCdp
+bJWhDfNp8W9iXxrBCn50QSRdHdYiOTTt1udmqL75iSDyj4mkluihiPEHPnp/ktz5HYBfauYUXlSr
+VAw6P3GAjuPzQ3C5hFhSmI1xkvvrDLJ+cugR2Eu2R5FLHt2aymU4/3UjxmpXnTPxNlynFmoGYgSQ
+l8tFAkMlhlGvUExzf2Lhr04Fcwd+hG3TvVlGTAVQWAYmw9aHvVtqu+pyIj12PqL1hQQ54tbPh78R
+GSERa3tBs9a/DZC9mhBtteGjOrAJ2jVBsTfpoe4AKXml1vd7gJfrnKQXXFRzt6Zd3VlfYQ7W6rZ2
+p/wid24qWRQ2yAJmRZiwT2+CKggPIUtC1VXOzi6tYZLJwpxhOBHzFN5qvKZ8zfwoGh5aRcjoP4qu
+qv5h3q5RC1tzQ7ufOEuo8lz1rZkCIPmeHkO/UTtoVjjlPwdzRTMcA6tt05KS2FNGZ6FURxXMoJlk
+iD/34I5paGCur45MjeMcb14cwN2e0fqOmlqmMlkw9RGJADw60EqQfmIomkoB7i1iHZq1PtHfwsYY
+7YRUrBZ86V+PwWS3Qk2pyZAQYapCozUjAAer6sb6LjPktdSxp6r8x1U9ONmHCFbZPEFIl5SOZOcQ
+Y2aUouBv5RGwbPu7opcYqm6/uid0RbASX7MqmRsK01vodt51DDgFyon/ONXtVKt1sLgvuEruYWWO
+53uDz5ls5P8nbizYhN0zDJr41jfqaRmMcbt8XOwN41jhJWyAQAVrKfnkNDWYCHDU9gT3c3vN3Hqp
+uIqTdg2JWspke4mAggHDEM5UlRp6v4cekqi/QL585SHB4kOeMqc2hb/DWPlCZA3XDzdIkG9vdJTe
+aIHXr5SWlri33vZbb+s3BEq53HV3dCCC2+fVYhf5fZ09mh00dyg5AnoQqfv9Xchn8V+ssPrLEesb
+CsGgTvweAxxN+OOaGKtYqml8/IAfa/N9grHXoJ+HRvVE4swBWQq5bDBcbBNLZ5lOrER9qHIW7j08
+XPnkYJJCwGZ6KChtsxymy3kUOPcrkave1tboulJAbRMci8sPClibz5jOqPaA+8ZJsT42TRHeT6ws
+2r8kNkHDlGdpWA3Z8UnBXu9I9aSk9tPhIoGOQefLHcal9j9ZuBWsfjRqLfk7OKNO6wWAMgZSxedB
+hJsZ1zU1hZeDVOS81rH5F/ne9IjIhyiMIqghtqr0FiHrpLNklrzHcykW4RVkOKZC+CDYf9/kiOhh
+vOmYZvRobTKTFuZuJlSrkWoSb7+wymhmO4WYuoYOC2xcO8X4mYHTf8A7rtyXjnHva0RfSsucvkaJ
+fhUHMFVc/cJ/Vj3LcWSozdMyTy6Rd/zfMIOd0H652hadpO3YdiPP06V4fLf/PrcmRCaurXJLktuS
+e5mhjYm404Xa69wF5sfTN3kqOPKsKD+Ztjh3docaKHu1YcNnvMUvGdbACCU3O+QG30yPm7dqSbKk
+0OLkDZid9Wb5TWQxke17Xl+Xd+D51sQxZ/acRXLP7nPXtlzQDWEsqEUYjkMuuF6vS+HLYlK6/cpI
+zkz1KVvZgWMCj4/EcMZtUBI3ejSq+0x8Wtk5Cd1ZzeLzgq41xKJalFqwd2FhqOPLxIAVV3q6/Jt8
+Mje1jGpShVpidpihyx6xGFQgRY9zWOidS2Ao8oREteyCkuUjk/vtlIwiHEUuYA42dyW9qG1bViy1
+gdcR9O9GyZbtZKxotZDpJHxoHowbR6G5IfS6ccIkSadiBEWB+GtSlMQYQZDBiqyziNqlp4yfGd6D
+jr7TRehNv5TAaWqhaDDqV5z+bovtSF+72YW8gr3bRC8frzCU/sCCofqg062X4socImUI0l2/d8iw
+rJybZZVT+hinj1O/ws3TMWWFhO05exs57420Cn7uPS4vgqCYqDR+7rbXVyHLkw5gW57GnMCO1nsr
+SmKOD3YBu/ASr3uNCDqOyq9h3396dOPqJgAAOflqhaGgWocyUiw090vntdbl7UrFWnfcOxOICULu
+27hZcqKkFH55wR2DeJ8kxTiFeZ3aYeWt9ULx7mwFrPCtKkdcAksYb05TWVdZZ5xyQdwBlO18Kbjw
+iZZpPRAIhX+Um2RCwvVzAwH6Fz8SbF/tIi9NgN7lsPdek1afVpiG+MsaB/Rw5gvG2EVw9Gn5pAzp
+9ZtENf9/OGO75RZtHgAVzeP53lVdqv5imzfasfVJSsnTrbPQzYoe0DJj2oIn2RT9W9q51sMhOFwC
+JdZUI7kRMFbDWPg6t5AJtO4b8lJmwY/VH2g5FLRPqkS6EXdK6y61BILP9j9lIO7pHfycz9seXX9z
+tuv9BGgRfDd9Qe5ZgkakSeiMjqFuBNRCyFYjfNhjzWVrpv82WI37900kRV5fQDpeIjxFk6o3D9vv
+sZ9wFRyMJ8ke3SEEidnObDnHkijgDNZGxdyvq/Z4okQTs9IW1HF18WRebZkovhKB6HwEEYUtSrRt
+3WIvdtmWkcGvypqT8brHTvy++CVNO3quIhPtl0tXSV6LIDi3AKE3KiSPa1VigA3iWJfD4+yI3cgS
+A1joy+zF0Etm4alanHVzc7QVWPKvY9nj2J4pKbP44CHV/oP3jx5p7y0LP/YTHP0lGTQCIzgIoeGQ
+zD7Q4RJ8mCn1MjUmNQo4pMxtCLKu22O45g5BKuDFy6aHpiO9klRnnoHxtaUeR8OK/6E/N9Eaum3m
+OWqF9VYV1zYmbBbalfX+K8KYorUA4J3S9W9O/SRtKPAVAUZchpaduIbNWkgwirVZYEnz0u1Wq8So
+5VnEhqCMPvekI6I0aiWlDoeKQN5DTelEO1bfO8eOBNYbWhBDCmF7brckf7twg7qTavLl3afa1A2a
++Qh03UjIex52dI6RPt0s+uCo9eG6nFVBnBwriRJtizkN8YEEfXz+E6GbbdNs3yvxfFK99Qjy8Kbe
+D+5hBvZi5TTfVN17ZJQPhBIsw6K1o7anZQ4TgrYI+QRw8RamoIe5rrAWyarbUQeq+5cHeNzq0mlk
+kooTXngjM4+w9HR5ajOr/SNOH9c5uxZyPESKtziq7mqgWcykfbaQp6DXWLhCI0peopwDvWUyRkrt
+1Ijv2zfCsqzYMvqwGrZOiLShRNigZuWs0eq4AYJy9JQUFfTnYxqWoSeK75E9rFhrqJGlrsP1IXA5
+dKIysUVCeokfY9sPFj+3FnnkTUMH6Nx5WyEC8w98tX8F35FN04dLbbGr0tnTL4F/h8vXlGN3BjDY
+EGYo2nruqn/twuKd6S3Gs+y5eNwMOpfAbabqn/27/EtPoU8QrU/uHOHaitmSlzDn9tf6k0i67TTm
+9WUXgetHlrR5aAp8iGOqu1IICar7NjH1FUCgGA8xZrDP85EU/4jmBxUFFscwJjWeL8hdnq+wQXOA
+ItFZ5ZlpuScIhdHpmW9KBGCJ2BIOB6p539JKBx36GBqAvrP9RlupmXOhpvENiAZCe0bERwJ1vno8
+Wc5OeTrdxPtIC3zvJCcaWVUGTZQyinHRZYaqnqTUGC9mW1G4FmgUHwkX9wIBj54z4K8cNBk+wkz5
+6GcsHxbP5n7DXx5457KvqebfVYzTjWKRTu/TXBl5BiprMTRkkhizlGChMdqPzdtenNa8UyxCwlq7
+axFreCy2U4bq5fxICOifqgcrh947Ac+QCRcL5cPt90ZPTcb2XCBhdpD6pcpp5YncA6GYlkicAyyl
+A3b01XKWu2FgT3RtgkOfJ1WtzmHSKt7azWAYAnr1eXiZhPkfXDX8dN1+kJlyaRhHApXft16D86Nn
+jF9MluRzKxXW17oq3g1U3941WNiV3HM1x1Mpc+1QeBhQIn/Fh3SRaPzBGnfTublUb8TJeOem3szX
+k92p/vMYoAgl7LTbJ/4q0i5bUlegkT09elcA8/rylFqzj+tV4+xMLf4IuIkSrj9G8biEixiwQCKP
+6CLNn8AXgv8oKwMqYKaV91oTZqVfcM1X1zTV3KpD0e+NuFNqMOP49DpqGFl44n0JXCOZUgTnye7I
+PDlkAiMHmAt+KP8Zg25FIQ5QRTNBl3j9NnD3nj+d0I1jqZC3IzKzHgPvYMeacf4m18JVdekGu76H
+XCsQg66ndoYfn02dCcbvluo5jMHrPT8CmjFvCDHWwYCGcihBmuFqfMtMFjIym8kpQQDkHCRdPhXI
+Y/BlgtII6H6LosdWgcHYv2zrV+Usr62VRG3xajpPb7XYZC9OFRytx8YMgcOw+w1/cx05u/4sCt+p
+6X8d62pADixN7gly7hRoxUylUH5+wzMU7MT+lhjalaBCpDaFA7Puh8YOU/G8yZ3+RN2JAGxiJnRq
+xKKiPKHc6o1AmqVIS69lCxyeMbU2cPlC8aeS5wINpPaNb/2H9cr/TTEutLPlygTPB7bkRjTl8SmP
++eO/QmGnggW/xkcNydnjKglugb/db9vPI7Jd4EniMR+38AEVtYwgp4Ped+qVyXMeqMUOwjL6UYL0
+ofOQ7lQ4a4HkdqOR7pL8/G9klRrs5qyZ5y43evU/6uF6UMJOBcw37BBlpxX/hbctfkyjany7jrGR
+hLfwNrpQT+AWWeXKCg7j89R2n9+sx5pPd5XdX91LWuns8TXBLKfI3JVu9OmZ5EB52DoNyE+ewQbd
+WfDKsST2N/yU7WVZ6GNAtpZk+rkldRtAeyh0cYxfx1zMK6udM9NiuQgdXh9UyEfptHu6vUG7i/XD
+lTFfIXWi/Sd9jJFnZjT1vmr08PTgPvxRpcyUgD7JLnYb4I8rcNYi6HSSlT6Vh+dYL+7HUfb5dPw6
+l+ivUZfWQyLwql+SjZLc3XuLZV0Q9+6B8MxY/hxjdt1p/ahHC0yuvClYykIMR/Yya75iYuHcDFGB
+EsiwwgEMaZIZDOtCZjbPDsLVchXzi56mj07veX4F9TXW/D3lizUQW/lCYuGDNsG26lNizRELORyv
+Rs014n+ADNeXJSy7cs5PchEalPO7/jkuZRz/nsZqC08nR49Dmbc3LaBUyY/P0F+3nGs4iKwKdtq8
+ftS/vGMmQPqezYVzQ3OzgY7Jp4f9ai4vpbf4yCucKLVT9beU/VgSRpb/xxTKP2wnRyAUN4evlKi6
+ndrMnJyADC7Yi7JxxYxBQl1JXhO1Wg8pQ6hCjFLrJsvj8PGpUESzPtuiFgYCYpibFrOMRS6n8jml
+n8BwittJltc4ucSBrceo4n/vrkLSfJN7Xuc+qDcN7jfoYw/xTcBTy/ISNCfQuZF7TNApZ/5OwDav
+o6HQZVzDEosjeqbB7R7sQjUkwKA006R2VtgiB0omBmSACtmdwS+DA5u5fOukEFy4Cn0a41E+YZlc
+wkvVAA0Ce9WsRW6/MFz7J9znyxYJfMshDJ+tvrH/8ZDMTrJrdb5Ql4O2NPA63SeYHWJkDpfeBxRj
+ondaHf2+kekP7Ucvc3qiz25Y1lRhfiaTt1w+cjapIIxQe5AvfAhhOGb7Mnw1vxhz3ISKBTO2c/bx
+2EN4bXx0s+oclm9/CMU2SlalJSnp6jo25VDRLoc5WAP5m70Kbzel2wfjXieHBS2lfXSfLb/3zZ/4
+AJGAM/Ovmqkdvn1XL8bDQiQcZCsueGEpbXBj1LrSKUy2qI7EoDgqWLb3BDXwFvm7UX/BecIGpZhy
+pvOF/tUGyXs2/DHjgf/wOTyL4BvDQ0CiTsPoVK58WbNue2mUQSIr2EqB/siI9rHzdHjFeHhtyLtI
+U7mJf32pjnYyiT9zwwTkPFvJWgJF9WwNO9eQDu6V40sYZvBHROJ3gwFpxFj1U1KBUlxNwVZzlBZS
+WIVSPL+xykJ9mWTSPb3uZAkc/DUZiSh3GaMQ8ziXWj4KOBYeqi6bcUoPm964CxZXmZAOnrMx/x+u
+0SrKgtkk/02rj7obLrm0O8HKn+h38/Vntwi+sXaJBcbjemTiym7u64faBKh81oLt3vpTajwwzK7d
+X7lDuVy6I2icYALjCCtZl0eTk7TLNSQjNWJSxygmzM7vGO4/yP1H0lYK1MI1sLgVe3Wp1OOllbI4
+AzEvPCPBlfUZyLY+H6Y7L7pPXpH25gt8w8LUo9gkjJdocvoNfRmDv/XAk50a8Nk0yslW486lCIqG
+gUEyRZyfb1LHMt3v94zo9tLPpB584A18wdXTTJ2G78TK41bNmxVTrlgKg3eb9bQbaAkNbkDlBHkB
+2etc5jYugRoP5tt1ZZ2jQX817CQhzadYYkutjHGFp+nTNKVTYAeK2J6oQuJP0i+3cvJdAIvxsYUG
++wEwbWNB9dKLJ+oMhQ3d7c26tnih1UYzx9dPwRRl3ZRTyBafftIutHB7YNvlFbUryC5ZD5kcFS8S
+yag1z2I9IseHSTVfNMlONpxq0Ah8qzT2Gi8j3oUtRdzhujcaBfir6cCew7DOZs4gYB6t7/yoPgGS
+KiZjWfYw9YXHEp2ZqWQZgh5/zwpnqlAtYuD1+LtjIWBb+0+DRdC+OTfAQeYXnw0xvQ85ubvjWarf
+/QQCrW67efSbq0n48AmHzlgHVT8QsGbhwBrPa2R7IWxjRDF2BIMdJfB73p/gS3J7o0999ytyq83G
+yGQlbyQvrKnF9kV/2hyK2iSE77U7AS/RLvzgSTWDnO+QHBC1lirjniGBKqYXU4qd5lvXTVrmX0gF
+zS1J6r5ujmjxEYgx3HYFXvbd0KeS2vQ4XwSzBvsNCwDd3DEu2AN50e5/TMSEsNiK3fQlV9tzxNXC
+Evr3C85Kr5TzGEuS5zQmMMrOJQKhId4zFNYOC/+M0DPtcw4mBuE8LcAtVW7uK6DZ3rrzQjgkbEJP
+wcgkReSUA8PJSu62GaxWuk7cscxeqKtI7jvz9d2TGht2ZCEJ8i7cuICxqL4tC5UPo8//42Vx3RrK
+32OlukCg50tyzNC6JDvBBLv6l59RwQw5EXOmKw+Z6GLgN0FN9nxaqy0sUjgtfKtW800M2vUQEkIw
+BhqpzDHFXc5UgeaO5pBIHGnBJYsw+ct7HUU473vn+oSKzbrdoJY2ueRftQL3q2ta3Bij6/R0NwsM
+ND7ncftV3oI+tE8/gA1CU4QyLTlAwmsorbsXJyKDTvOEFHO3SxwpSwzdoZDco59Y0X6QYV+ho3M/
+v++lUvSWbZAbJLchIONdFjqFtcA14E/90586Pr59aV833QAkx1Nz/OpMBMuV81xdjlHqrEu5D08g
+NsN5NSqsU1C6fp0bIoVnTUAmtYEyuiwU7GyBmXIj8avzyX0E4ZVcRFvbZl37600xfVSvpczjrulq
+Y4i1hnDRdaoIM5YdeaV1GaGlqe0+vXGfn4Q1mRm57LidhZdYTjrG5hupc+rfPmmu4xoWZNyO1Ji2
+nUIOBnV0hifQ5louBuEhlGba1WcGh9csozmKWOP0o8lBM3DEl5jO0+LQauQbXAqWX+nHcuDVf8Ji
+HFfXZHEBQyIW1ZCRp+eu8mgn7LRLcnQjNMl8P4zZujWbDZ1f/oUfJ4ej+7RmEQKcgccB5kXAgI4f
+c/S4oZrMpAz34lN2K9aUzt9EAYN9xp8XFwxU8c4cdWMYxn5dibV5T6mF2mYmzUZRoHMcVpWtWjJH
+56pHXWnC0Up6PssSRAmPzo67cUBuRDzCjXuFCoj1Ajdzi1KEXgwL5nvOYVOLbyZwrseNkWJFBtUl
+0ewOtMMrRDdgDAtbAWxDmszfG6ad+UYGiQs9X7ZU1HmgaLXxm8u+NNTW3VaH1F0c0AGoJ+6dQIkN
+tf7Kq4DkGFBgFNxTuCXX6Gef/vnRU2bujwGbNNbmrKro2A9Nv3tecwL2CLamC9ghheRjdrska0FN
+AU4zMqQBK75efjGV1nsTTcxZ5Ynel0Qh0sZQ/TDT4nN8yRK91Ngs4sLP9GJ979c0BJLB0CIuW0o+
+ooE4ToYVZsMNwNmrNNbs3sHz19Q4BLJI19Sq1Fdpzhn4jKdbnn7VtQrc32oroXgJLLtSB9u5LycH
+9L1xrLIJ0enw5tA+a8V+OHGM2hcliENt86SVWm6fu5X4zLhUlzdwk+G3dzX4MPnxL7sPHuCzMiXA
+6CsOFtZRXFkCqli2i86sKQvrDHkYoEO++0OIW1yebtFkn33Q019f4kHfS+zL0rU+JN0hj1rXHKht
+ubqLHHnb58nmyzQxa00l6lfDAeocQvSok8spYHg8KIj7zRur9UVaBXupRLB6VfxbV52AtY9MUR3t
+PLEsDpkFm1fppRvHm4T6ReJRU7bXDXilTx4WUNXshm4cy2391xW13nmX/6P9yM/kAY3iAn04y0Uz
+z8FhgiJy4woLhUtiZUjvhCCe9tgFeUtIAGwt2Z2sznGP/Z2erzFkmm7SFIKvB65tApEWvT/lTuRh
+1iCjSJZYt8R2YChfrlpE/w2x0nYVKS2OUoA6QZ0443RSfFURh2mq6X6hRs5oja21rgAunq1fJoBB
+PPrS94wJ8cZgFm32vwO2Xi1rt5DH7BrtYBOP5eO2aHIL7SgyrNaAFSm2hM0+GQeTGB4NtTtGbQYT
+FyGANI6H4y8LnCo0Y/z80sHT2eHUK/5EAL8sMJITtm/qacdAbV9cC3rpBXYiortidxf32UoahEjU
+7p4DBaDkpiH3QZwElX+BV/FxEwTHqtAkrUHAbZ1QQprUsT/N2BI9MQNZed1QdIm5ARBXG9HSvS11
+Y4D9GAiQsN01Hd4r+u8JuUUu+xcj4mPHzYUrtLyFM65tmiVI+3RQ0Fx6lvrsOu1coQ8V9fCJqmHi
+W66eiPF2CiQ2eZxYpDDVcNbwbtduc5YY3Sy8nCT/+Ia8gfcmRxIcJgwoNJR0RCHUrDiQvuK5lQkL
+KPqlPZt2YSHrjsdXTLMzYSJ9++bPl3Ir7+1lHetiwYfg6PRt6f5ePZVETfCQ5QHSTWrojxGFHBJY
+a7xCjFPjjneI7VlzS1a4scn/61ggQm/YBAAL9KdI30FruGatWdJy70krvUC+oUIzKUCw7ZHB/xsS
+BvHzC/061JkCinb09EUY+KFeXnNXc6r3LSsVQF45kh/kbHnZFjRowsstYKx44y6pwkNQZQPcZBYJ
+6MffoR5RatnyHPHRfWdBPu4xOzt/JLDy6UsA3UMLZBmuvjF0DNg0j9PuVKNsdznFl4PKZjVRAOAP
+DrC/NBxRRj/jdpOLsRgMjOgzdvdulWJ3HJvHMZIHYaQAZ23Yut48f3CDgVZqpXEVmgYb49eF2haJ
+kbSmlBtKjdJGdLYVplcEwRHp/8DRH+p60UB8Z9jZu5elv2AtOwZ9XFDu8zsuczpxM3A3SiE8tdpl
+yrFVa/+1FLdS2lBfrUuPZ2cITLmYGZVsTcdoQLSddTZ7TBz2oSkN0mUqRdERROYUWacrzNtClllZ
+sX4VOiJWQNoaBClYhSy4AepqJYLMSgRQQgPtsqIVRo3vGu9+753zsSXbfXl25purl73XM2IjMK6+
+oDAw7ZrLNOPDOMx4jVWPZ1kesGPh0iPXJC3RSvzNFwwpprt5edsRoGCvCfCrB5L/UjyaSYQ8JYmT
+pSbHx6R5Kmq+tN38fcT8kqbJiumwbwSeWPSE71zKiZBZ2O2I3YQ9cPtpDWfrRYA5cbGwpEVNftmC
+/mULU+S0QdZAjEWIrMzUnXkV5I7pZUAN5lt99yjHVFvuMlJczf8FzURtQ9e3RZU4xhYqSC+JBIAE
+ixjvSwjrkbYaB6EUqWyXzW/SoglqPiso7QF18O+HFSJr4BoumALMcwC4uhmAVv8uGI/uh0ljnOSZ
+ZMIsCUL5grSPnpGQi7oghLiSGCoLe93ySCDRxys7lgx0RISdJmHPJ1HmpgbZKbylHzUrW88i8Sen
+WMoIsKfe9JI2MM+EER3YkI4NNPjpQAaxpqhPaUHDezfSKMWsQuTnr7fh6v8dLHYhpN0GigcFcMTE
+8yEGv13PH1bgj3hwSBY27jxDDThXIx7WMKgY83//3deSh/gIVwuinQg0qgdT+Z6jagZREuyvrsTZ
+XbsJ0eiBHq/RH52NMGisIwJYJB5MfIhm15MozWMIBxDe1zYld9c8sbGw/wmrt3lyd5R5EMRR39Pv
+4xnx6HAUG4/mqh+IBj1dL+Ksn6CdNOQNx5+DMITcwhMERwXv5dUk/MSHtH4EjOkQkOXbhYL7ybiF
+KVdtkzjP/loaTaToL4o5CjV6yx1842zehpbmwH+jcNhV9CHRLOUSdeFIkWGPDtCxZqpKRLBj4kr5
+QDKJ1EsTKYhpKhGW4yzXUgpy2sSRuI4ikqdr7M/Kto2M3pVJUebPfDfxvO4OkJRgi9E8eCJlKx3Z
+94stqoNrRof1dHBU5Gi7Pvu80QNy9MEt5+eqqwbifmOq5dZ9sqwuQnIkxTbozCTHBDlLKPPK+hRD
+Xe76nRXLEKSX0GJOjlNu/RVqv0WXi8Ih0B71KD8DoB23ccR+Xcq/Gt2m9RqFf7gbBzmJpJ8Mnajv
+Cv+27M9b1boxZU9iq7N+E7cWbIRbZgyBAxi+DZTKqKbzQ/sdBFWQbHkBLoj2o4xVDKEbngnZ1UFb
+SlHC+zI6YJ7EI1B7BRVT0jX5xU58qtSDw5GjLWzXqU67bbzk8CGIuVIxC55/t8NiQUUkPyLdj57L
+cyoyvxwft5JzSLBqRXgAnUfDh4XSARq7QUuHeDEhDiW4eQgAahFk+t2I2YyGoYF+bZPGPcJPj+sM
+Ceb6xImKLcoeibnc8utZzMZ57ES2m2Ev/qBCUyELI7OFhrb1UMkAcPAQvB5B1M7NHBQb0kU1BEqc
+WLKcYu25I5QFpriZy1k8STa1yTk1EMWfrGb+f45/FccGPYZ1jQ6PfwZFQHH/kzC0JE9upHXjOs8R
+jLmiPLc/nSZvcWwmN2Vjj/HywdD0nk//X4blNRvvNQ5ppkziTeHERmpBn+HyEMrqkFGn5Wm1uSwF
+B/g6BLDzMBla0WAPsFRcTzq7qnyi7wLKC8DnM6YpvOMFW6Xa5JSJEhUpSzLbl0ifLZSUeyL5Rq+h
+bhKu4D3Cw3HO/SuW+DrBPxUANO2Kzs6HENRF/lb6p3Rm8Gtk+7Hiips9igAOvUrNB2oE6KnL7Qk7
+ioTlndid7jVP9qDqHTXQVI7ydYhIYREGFHZThgi2SdjExysMcyjsJ9GJ4AR2GPLBQ8h5LqEve06D
+OYeHSeGjvcKqzll4yMNcq2IlrFQZzikfqiOzQtqDkj73zOEoIOeusyG8JW+DNqcyaCfozkx8OFH7
+wDSHdeojKcYqhK8ngZqo2cD2cPXIO70zD4PZW6s32X4us1n3dHB5v70mYCnSgT+/rHvvbOcdDgdw
+QbZICYE6P5XbNlNREJHlka3tFq0SuWe5LXP/NI8aiUoX8kgsiBMP6mZziVespH/Itfl/GqxE/HLh
+5ueUZoTPk94dU0Vy32BDIAXvNtX3N8QqV85NhLAs53+YQ0/TB/zdlMvzcNMD3ol0z/876irbgZg/
+yKvT3Sr6KdOl2Rh79NB7L/c3mIOD6Kh5kYwhvS9yV4h3feQG59aAiisQcCAdzkBpRZskCbFRJnip
+lnmvkifY4ei2nF3YcbuGPj1BXcgxQ3xtJI7tcUZZkSh3IR8CsUw1wcU9/CwCPfXqsDeKQMFN4PSI
+mm2ObadMEup17lcW6IwZKvUBuLrhf1XKtFJqTaZ5loEgMiMsextCnDWC38FwIw/qbtQWNvLZwYuq
+iPYt2Wk5Ch22OLasGQQ3TTMYBbLq/vD7rWq4ay0fj04P0A3BUSBOBxyS3tGYolAqofIx2o3p5151
+90ro1apcvq0Ieg81SRQ5GcqRU1Hge5/kt1CUhyOh5XsNezZCeGmIXuYbE0pdSDqMC9+ypH06nQN4
+NfrH5F/T9zZwmA7yLUfsG5aeTWkOaxBiH3GVRu2k3pLZLRTNvs+A23A3hKPib3RGas/h21cTwqhy
+jtmoMOjcFp2dZeO60+FhYnYz7QQ+rQPux8K4jDzUCj3/mPbaB2c2BstAp431tylKODq0IzelYEX9
+BqNzlWJ+vfyr+s4VvNPdXy9anMVVAuVUCwC6m4jLimmKJN8Vb8jRimW6cstc8Q4+qKl//vws21iE
+C4y1IWzZ4YITPz5pGHACduGUo/FcpaWzUlVz24u2WbnKIjsfLQZ76Xj59KvDB9hLLvxBcx1NsGtn
+37wCZHeauNZop/eead5pbR1SVw4E6EwwJyiciNXF6MGEz5ETsw00hJGmo3ZnrkvqFdRjrAUQjXap
+WTV6R/hbLhxV6I2CaQEvyL8mrOiokI8614gmzxvmkDmM54scrvnnBvdEdsdPhrJawLIb4kX/5cC1
+9UAuY5mPkvyKqDgA/zYcLjVmmmV/9XUHrTcBb5N1FSsaZXa9gSleXP2q/EuU7DJyKwkHGgkEMEFH
+4eButEojAUAXjSW5hov61uZlwAvY8FzNURA8ZoJ4pda7tS8474rtfrEGmbqhWOtqKaddKuT8K7se
+vvOVcN0x7+dT4Grvt+t2evQtH/nO48n/PPV8wgybMu66Qm5SUSMOHo6+1K7DzAckqL7dPtuL+K8N
+fisqAp7MAwXSj7rW111D9DJUdk9kSPtN9zbCw6SNE+HO5Wc6x2/fKHwrJpuZ92DMxlQ9nkE9/hWJ
+vkCmr33Q8Chp+8aoh/7Cgj/XFUPokGMZ9s3GF+gJo4j19Ly0as++iLOw8aKlUncilQGlfP5BbSOS
+TCm1vQ1XBngW8CXjZS+YPDLXCBYfbpxBVxgpc4DP18cPHLOXIkir0UtocK32uiNx/X1+2U7CaFJF
+Z3Tn9PwH8FLXsbTI16YpicPH4NmZcNwPjaEdWE4wBrmno6KuCjuS3lpWK1rG8Dx77xpkahU6GoIZ
+HtgnJQSSRT1bPuD+PAWAz9X36fy7TgImWpjkI1m40yokicGIDPIIVFuK0vH621kyh5Wd7Wo6VFaZ
+lQoirH73IRFP6r5DIJEoysZZWthhDVWElyRs5/REXm1TXtiIstLPcuo5z3zuRDtwobxwRCujBv/v
+0BovN706TSI26gYMfLCOHYwS1lBpe+cIuGeaxSAk989AZp+UBTItFeEJUzZ34x8BqSAjivsykQzW
+1Xp05BZ2ThI7nuz3YjGjKm3pyRhlWrAuwXp/kk67P0hPwWloTDC/gz0/IOiJG1lhkvAJjrjdhD/z
+K43d+qSWAJ0WfBaHgy4+SdiS7pEV+gNJYoHKzLD2tx0QueSHcfEH5Jjjf3F6fbgW+JKwqk9t+PFa
+7LGEx+wfBQXs9CoZ3ObS1lNYgC+7vY/qjW07IR2OrPXcr5+8H5qa776z69YRoVMYf9mbC7SRXrpG
+z94gSde+zmBPqTFNYeQQXMoPY0TNkdsZxe2cyVgw1PW+yPiuTKuf08Wm+6KUaQCspkTOt/4Sy5cN
+CL0Nn6IaMttf5z4r4xqvkPkV7UpsbmKrhcy/z2Hf5BgQQsBbR9/5wndSXO8o6yr8YwcfaV5vQ/yg
+LVh8uGkZs/ztNZ73Vk/BL/cC5WMPCqs0mnWhbi7he0/xbSKTQCB/cnh65HPJ6YQv1f152BttskTK
+rTinoC+H7CeKqe8p+md8w4VWEVkqmrjeh3Wg8scJLPVSsfUE2X6/K98fp/nA03sgX8FkAcXRMkL4
+r3fySl5XFtbsXIXZeOFKe8WTvECvPZfhFRCsLm4960fopIMnGjbyw9ymdpawnsrA5SLA7PufgFug
+vUfs1D3XljOVJZBgV2OhWhLvSdf8nK5+Kgp9SIRlCCcEGnWRM0WEeEId6kwMGuUZnFznnbLvAHOh
+ffG6IaJBsTCoQRv5Mu1dX1MzukvNoa1BGDSHIa8ThU4fSIBcZ4+o3JCgvSRHbOeOsA6c6NEof5H1
+7nVVG++BZAkJFWfenRoxTxzd9Lguspxc3ZSI+Ce0Asf4jdBP2gC8+2XNU+L4aRGTj52UelWRulT2
+OyjJzRowvCCVI2HceFZpJob2Vg8/Rk+O3PQzSAZc7DWQoIrLgA6q6pNwBK8bqj0JxHQaI8H8Hp2U
+KqfgNHAXm+dnRPf0gNcHowbKglIM79kQUVNbFzeL4ikJYQStxBgX9X321NJWRqp1nXUWS7CmGXYZ
+pNYzZacJq2a8WFLVJdOnc4b5rxQodUC4+62ZE+w5C6/cQKP475zgixZGR630tuBCnNKbAp6CiWVY
+nH//o2rXwaURgcEXEZHlMwZrTKIjxUsRI6CU4CZoEFd7wxFbbNBdNcF+W4s9xk/u7R1KE9DppmHY
+KGBzMHKk7jluSNYLpmXPH93O1Sc9FTumewzLFegeCoJxjLsiz2DtT1t7VGXWWHo4jB72JayoUfV/
+3N5U0Qz5T9fya2GbuK2qrs00RQtGKctmeBXQ2J0PDGiBC+wWi079723AbdjCgkwmpclu1DIdeNZM
+O6lsgHg+HAlIywbnZwZI5w+Brbnl/vpH8D4FZaD/Ke5YcYZSETjeOdNUejuRJ8SC6bFKQpJ4Xr9M
+pE4GpFWgsZeMaKEXocKzktMYzjrKRao7nJV4TxMwT6OVRkc5N4tdDa3qoGxrlBW6lT7JnneoZviP
+Okre4TWRgtggKQIZQWAcvknw0/hUgQt6507PaMVzFoXiFu90YIfQPc7V6FDW18LRYAkusvd2wAav
+TPEWRpaswdTKQY2adjzvK/f+weMKvogOszCsvXXkvkL64gN7IsxK9Z9KqEOMsPeJHACm9gPAE9au
+h0S5lYcUFLQxe5bF9Lo95umY8MgeTYpR8cnnFrl61jNRCdkGuR+htlgswP1wHrRC3dVk5Yil3/Ww
+m8IvfzZHIZEK5xa1lS3+02n/yaYmrjSaS4JiSj6L0ajc3AAPzD8/btaUUfRgWcxW2egf0+Gg5CnZ
+e6LqjAjzDruUh7jROaQVZ1vYBmWQBFkitenICQCpJNmW7V/c941LImHRmvkblCKmmgXjrzLtTeOA
+NfpBh8oT8LM65pk6kZOjwWi1P43hqzduEsUFt5F4INk9X2i4dUgaPvJTEUu8whuLGmQnD93kFXAO
+CrGRIqSmZx2oEF3sGaspDKGXF/hc/22/chWwrduVzmh9yQJolUqRywUtwjC5xfn/IyjcljGu0+tu
++gOR3RQZFJTV4/7pCoo7BfKEKjUDuesQPuhIbmALUMj0Pnzfg+mJ76nl/G6kOIgqkmn5hcnN1Jg3
+76E7OYNBgDJi2p36NH+ONmBpgDUHHQyis4e0hPbwocMqwXgb1wAq1Il/6Go/vUtRFiH8WwV0cHdy
+qpxYw6NomEsBlu5Cmzb0j3sge7Ynb9LNn3ON7KLZ+y9QOrC26WQB+D81JOFaSayaR0dZsdpe7zxk
+AboM5w+xgf2ZXznQSiTvip30Gc22YaTAu3+chpW4XObFt/AMz0zCAscEySmG/u2STV50nHyi/gib
+a5DLRgOM1+asML/nW7oLv1LIUo1srBi8YoETetv/SnmSP9xf9cMBx0EQcIomCYjk/5EJhTtgTmhH
+DV8vu2+bksCalLZhR4YcPQAxh4l9+OdPBe6RLBhzez2dZ4sUUhavlICVVUWcgZlIdT2Hqiyv20Di
+QkDsf8+CB91G6isJBsMHwwSF3WNQ+1eRRrT6t6YbsWdCJUs5SJzeN0W8wo1KKTON1u9GOaw4k5N9
+b/83Tvz34wcKSMiT00dG4Z9gWidLUGRKZESCfL1rVOXyoeqOzYdf3nSLRbuptGe3rgeA7roqUJKe
+ze/wNJcie0ZdHQiJm+eViP9JtH8EVZLpu1fES6g+zvb2cctdpoBGioj647xeu/cyI1gAWhnvuMdi
+EMsh4LUT3WLVq9HaWhaB7baR4zmbhGhpce7R8zDu2HRbr9hstszY1eUTm7pEv7xbdV6xlgRKy9WD
+pyE4mv2K9NI4AVG2ALmser9+Abr4BA7LzYANk+olK9+MbcIDKYSZ1pWmIV8fyEuoVeIolIJVeJDu
+gHXx3yRvCBwG7WoGgbwX8vIkD4k63pLPbCAEUKLC66ODTmw/g4vndM7aVi36cFddyqVw0m948WEx
+kXU+0KqVgth2UO2ga5tQaSGsXslzWlN6A6A32R6biP+Pk0BfAVuv9PClW41dK5Q2j9vjCAoGXvYf
+LuGLsPBWAu1pqkkDA3slESpzAVfqsaKodQBf83sel/1lsotoVcCSIcUOAoOr+3FODZr4hqZmsxZ0
+LUp7nldn7ck/2hSjsWSbjaV6e/jekJ3OMfwG5DLu/lBgtjH+1GlVCwHGfMEG6WsQ7KIwKnRI/sDZ
+p+tQ+KxMi0FwoT0BRBI76q87aE5a2WCCfNar+8PuWBmW9ERWWoXhyhkRF+EZhtaqMVdu7RH56nh5
+13GixK+vruPbyl+S9FH7HyFTNtnInwEVacJl1jIU7VMuQZh5g6aSnXfJuTwc1YF3Kh962j64alSU
+W6yvy/hIsuyXeDDwbktPTBJ3YKWaR0i1BymhGNUWCer/z7xcKV2x43JK8uHkkVOoqXgyi4aTesKo
+admpfvuRcNTbu7VD+L1tQGyhOMqxNzGN20tsCiSXV9KPbQRFRXa7zhXoonFBZIC5rnn4oacnAvOb
+f4cWLevsNwSsyo7zldGYGZRycH/sa0xzYkyjcjtr1vj82ttf9lcQ5tIU2ePgOIURE8JKsoE5NSA4
+YPOqGhdK+XW27SJs98PMmSPKtwcHgW+U4DEa1VL6TzF42U+TT/OwWC9GbHmPUrIykHauaJAmAneB
+QH2eccDl9rzst30HEv442XfJJgLoKHPGq5rtUuN1ukCiJs8LLupHo3XV5SEVXtoicushXGsY5K9q
+22HoH0MU5M9HDErhlXvAk0toWY5eldPk/ob1yt2G2O3E65rxKdBw47BmJnV4T+2ucyB9PplVRy5H
+CHER3dE5eCFteoVOnwm8J5ffb0MBw9r6LZj7V23SqSPPNg/Ao/JsDVIDOCqm0YAVpZOOIFZM2Em4
+M9bJP/P6I+C7tGaObPh1OYFU2gylTSjrtlcMLci1dd7/Pzv3FPQ2aTMcyr8EVD/CnIWSkKbHbutB
+ySvSd/TbVdCA+/g+qzS1n1E/Uineh409QCBx8Uf4SOVKkQBcUgw4I4DElklYreCRD5vPsVtTGMNd
+HYO43HMBLNlA1HdVfL56p+zyQPMzM5V0ZFE4pgHWroEW9t8GvYGEzHtitVh40wH6/z6hLj3d21XR
+70Sz0Q937xCmdmrEGedIWi+G7TT0KHU07pZr4k+NBjPN+IFbkvzUk6fD1Tt8WcadLb+xnECKezqw
+xFgWXqfazuVhb9WzMqcWXAhBjIH4EqTcRzp8zPsjeGQg6zYiesa4eWkCeef4F+aUMC8VKdVjca8J
+Js83EKHDVox/kJ9HaHqsBS5K11vbrgnNWGoPS/ozTHE/qMCa/hsgETCBUV6saBQN4LceJ+3pc9WU
+AJ3/zermi5jo9kie9SuzcvboQ0+FVk97C6PeaJq7mdl3kMs840UgD7JoCQ+hpNZEQaGu/+vCe1qQ
+G7g7pZGv11ZutmjDy+wfFWVod30Vm4zNrsz8aNhVjaV6/HTwRON8V/fXpO7Dx6OmSRtrgaZifgii
+9cAUD/hvpWIU9L+ZVV/wteFmJR0PwP+qu5DRtkxSEMyAOazy8aRj2cB7m96nGk3AUkGVCHBy2F5A
+MmTj8UxiYNlixP3kgqc/fEvylheXgiYZI2PjIPBkF+hFyLU+Ec2inmhjwNZ/CUz8x0Pr3wBQEB/I
+r1tQ9WsTkb4dqPYphJ92i2AQ4e1CEh0SQvIeKibEPP33/y1g4nUirK+30JQP9i/jy4Lz32yIOnaW
+5mBWOUQ3qefRfgpJ+t4GjZYVgr7AV88wfKWIgYuLoUqt9x+GPtVE9mbPrrhoIMFn05ointtlu9N1
++80Mm3Vi2rFvUQbPwSFVybyQCWdQeTI9hHBJGEJm7m7wslS4FbTO1DQy2nKOsQbqzL9WCNeEKZv6
+Z+lZS8UjOgoaKSrLmKZ9UMsgsW6KWHW16dbmHCXWE1NmuiBq68B5a6oKtlzQZC5FGozY2pO2QBFt
+gYe671TF9dyCpqv/1KUKUdGEPtRseTJ0o7LMMSzRppbcyNqvFWAJhK17akIUQF4eHotqIwkoB9oa
+pntAkXsK9VHJJqQgei5uqF2z2/I/s5PEdfb4M6o7I5fpxSGOVNf/+EBAi9wX/M4GfLCXG/9CbHrY
+kx7POvnS+YA/t6rDqdfRHfUDq9h/DuflzVEVG+fa2uSztsvxx69WeYz+3/YFQDq3Q2R69qJhXHJg
+AdtGFsjI3Oq1tp4SYoa3c1jRLUlDYuoHlpPxv/ZyuCJ8+0gC/qdKcY73kl0jZiWHlboQxchyan/S
+GKN1ENTJjn585Mx2rlMdHy364yZ71zglarRxsPUvTCWMso3xtgxv89tIWfz2Z9Ll/uPmGVaBlPJw
+A+Ybp9k0VG1K/QvJhSN1DN2iyJtjc1h2nKoljx5rZKHPM7S6tpdXBPWzSfWtldlXrf7sLe1OMGvF
+rK/MP14RLrtHY8vIdGmhYJMgLCnPz08+klCowyUD5mo5tvrTaQfh2r/Ayl+RtKak+ugmIsCEQ138
+IK0nZzrGrpRSYG54xJRrmQmSp8iStH1DFdZgnKQZTIQO5jQVKwU3oiTfl94eTEVs6kBFNES3rsBA
+EjO4rDcify+MlNJbUZDYxd2dPkyLB886xILA1vTOvir+p8ylii+MLZa/6P3uK8U6oAuJcSWm56pY
+g2Ua6ehyk/PEEjHRgwcJ/zAF35j1mfcJHu35sO+Kq/xATKOiv/aZ2cqiPea0TlRjQGEtdHCgUraG
+glOb1q2JhLibFZIt2q7a/5nFh+IjHyIms0An35IR0MQz2ZB/9jTVjNqhHAxLrBDjBH7jklMu5hsz
+RM4Iz9viZ97skpdomGK5ZyvwnglGb3+W9qsuKgaxkAq8akwSO64USBiNoNZDQxqCynQShYMTkaBT
+J8gitQOjhXX3IPfdOgLAQd03E7kAL061P2a2qVmiY4uuUizYXely0x7Fr7K7mcYLDgKgnst/BwzV
+WcPRfkcFLmYNfrrihubM9Ddv9sZNF/TggykeB73QaJ67267n7TjshufkAiGKh/CVnvk/BFzFn/Px
+93TjLYtpSdODL4qDVuIuVq/26Q0lD9c3qHDskAUQ6FT1TFhiQUEWUIbisLX7SMqcLrZ4GmTYOT/S
+Sgg+vWzt+6Cl4RTwxGt6OM03qtLbRZ1LiTM6ia3dNoE2KDnBfOhE35yneNtXaLDIa6tEKPt480Mh
+3Il4duZhYukrYvj02TArK2lrg0zeEHQ9oR8M3XJCucNw1RCoIRgQifQ0DBTa81Eo1RcsEoMqJzJf
+WSqv0pbc3Bawz9DUMlmgZChTZD/fKF/l7hjkBvFYZgD1TAURjN7OGq+sXQiUWkpidBYCRVhLa4dL
+FHRY1/YCX9e+Zv5kUHCnyeO3l6DYxv1R/sTwviwiIf9ozRbRaRGlLOb+mTAA1YkUVb8HLHdljkV9
+f1oRNWo0wIFZHcX6dN6jZwQ7jPvx4pS9Bv2Fb3Oq0Z8GbtF2OD7dzOpWb/YovSl1PAzUVgDgB5Zp
+86wlqbWY4ichVzUJxQrCZghr/6ZKUMB0019aWAedtoIoxl190xM3vgqrvQvi3IKX3sKZdX80S3En
+IdfWtB/SXAne41zLxWl/jO44TESv1E2//veGvnhjGxqnnSJ5OoDrtkVSGokkVG2+W/i2XFbAKUGg
+cY4hg5rB4wG77CwtteNxx3v6Km+nGB3hBxYr0OQ3Au6gMuIxPX6aHF/rNr13fSojMsI7/bYsziUF
+E3CPaImbowxAzhJp0yB4VewECn9EAJCSa6v3QpVF2S/2WhVHDkKQXdOYP4p3GJuUW1q/io3GY9yL
+TwuIHQoMregUk/OCcwaAKKa+lLotfDCZfSueaf40UIst8yOwU8youkqccVF1BDWc+3VeNSBdBJ2g
+W5VeHn6apBvqGi4DbuTM0M+BGlKnBX6fMVxbpxf+sGQlMEe3BN4IemEO5/fO7BrzUwEHzor7hRD6
+Xd+Hn1ymmiIOCr98qcc5iLkesjJFqKQ2irGeVNAFgf59q0GaB1hIGZMRBHliwLpLNUI/GlOjPpIq
+GLlXgBwZEA5XTjPGJilvoAWS+nCYC64TyGNoGl+By5hDaLGpNgspwKNCPIbbW3hKGRH+FQaHxYMv
+rDpaoKxqSHfY5KktnhvO3QvaD9FExyZCHd9tU/DnexAKJm5v+7l0HyuIZCsiO9IhplhNRUmOL66o
+E3cinJ3etCV6AdF9GdynS/UsHMtJ0RSqLEIaB/LqOGehYUg23Xo12f7rD8Sb78kEKA2PmUvoUGMj
+fwS3VWG7/S5zbPj7ZhyOT0XoB2FVTTLA7pw1UT4qSUHBbcHY2ruWxaF1gz+xl2tYBPWVa2KWrxRP
+47acMV+Oc6fX/pDd4Mi/1jUNLh11lEdbnPeUD22yzseXc7o0nIDc970/3i3X4iLv0DEZirUtVNH/
+DzO5DM881dZG4hk64hVlos2pvCHA9L5o9vPnPN8HzTbazBS9gCBpzB36fhRjxQ/+CoNwwnIAI1MV
+j4vGc4XyOHonuRaE+z5tOoyWNq0hrqAsZfxcCkAQte74LXHTtbx2WmAAfFVZOxreyI6fzmI7n/eP
+r/MJ3iZ8tq1WWls4eJgUif4PPx13xvusfHgEqcjsgzoQk+heTDXF75hQxpjs2uZEiFRHC2bZmRrM
+fZeVUEYlojMihZ+BAT0E99u2mwwyTyTFBc6yH56IlC+mB0Ocn/dlSFhNGgSK2ofNqWMfv1WeJ4/e
+TXF+bI11XntgQykt3I46ZFx/c3tZ8w6L4GtJccADDwBe/M7/p5i6sgAxEtVDp9P24Ck0wGIgdYzU
+c4wN1haKdZ+runseBN9BrBadbvnhz7XTxH6dsvw3y6vAiLezzZT8p91dHP1MoObfqIVfnrFMwAsv
+8+y7SDI1t/4TGui/jYQXFsLa/ZARTSrWOYE0Oe2fXNGjnSti1CET3xjUcFvP+xC+8vNLIvsIT9wx
+TDaRpmcZgvPtrPKZRLWC6zuI9Uo/t693EMgDd7yzqfEjpFQUYbML1MpjaPw35NXTvwcOAkGrcJJD
+DLPgAqETW6HaWIeA3j8IV0EPm2dHN1MK+1La606teyP6mfkxtZ68evCot8thCWrx7gybMbu9eW3y
+JdjV8KsyV/+hrpfM3D4PDdItlPMGhfe3/eoGv6iQw3UeVOHLQ+aJXlFZqRtr9G5wR8gY2rxIweuW
+m8luUBNQNYZgNhZm3S5T4cQw6CYGyfP7aEynVes82f8EBP5CTnp7JpwYR5n8pouWvqwVY9x06zKZ
+rwMM0P4QMJFvclsUTEd0H2c81QnRi+IVRVxwY6IU0Bb3mKtP+5ChDto/7v22nexFHTTXfdhZyafx
+tg1rJKdfRquvcn/oPgRdHC7L8+2kvn/VJFe2JsznZHzKaS/3+ya/FvzFh2cHEjOQWr/s95xEbg2u
+T6wW7IoTHP/WMYY6xEx//I07z2u+TDilpiHcBsJDP69V840n/ncRUB601JNbJZGT5kQr/BzfEE+B
+HCJyCnAYQVLSDtOCy3V/8jj/tr9rXQGkAeNBsR1n7rIeP7MkbNypTZqqslm3ALgP6x2EZC/a0PvI
+LQvH4DSh1BMedQbwSPwOtDx2HpSJOM39EJZHiX/8Mmz00a5JY8mTv4o+7xcr4cU4EvMmnJWjfsRY
+WWQFT05exH48vNqJfYAZ4DBrl+e3Oo3n+w9SROOXdjUeKiKHOu9gCPwiFScXScXGaBlgnJ2d3/lN
+amuJbtZ044E2Hvns1/1l8CuA2dOOFflNIC+aXsWRGtkgWOjuEADAAhZsCFkv1uu9Zgx0s83zpXdS
+56OJVe41+c//ONOLBhCcV3PM8cXCfZXf9QGJRHQd0MOADUjMVWSk7YG8WmZyN9jMjDZSdVINJJt5
+ZZ6/R80D68TAbXtrZePkbXMFxsksspbgl7J7IsRIBy07Zbh4fWzp64mlwHhtEYkEVum0nfEq2+wI
+frDci4KrOsTjjmDqAqrrUMkQgq+PK4DwLI3889h+hBEu7lBELQAAAvSIWw0O5OYIkWig3MuPedOv
+gguiuczPfsVgHVb+WXIV28JNgLSDgLwcLkHGYvsCiKVpYg/asBMZLwjk3a3JJGByvmgt+adcqLYr
+aIswPuRv8agDT1R1CZXAjIiZwWuxpYtOjBuWiaDmfmT5wv7hGs57zEBhNvHpFfNsaWmcO+t3M19Q
+XX/OTQ+v+wtAiSeVOZlZrdRcOMwdAAPI5vUW6hy86AkFtr+r33DUo5mcdCxgxgXGRjwPviKso4YY
+fyY/NsOvYkCgHjuGLsXBtq+Duc5mWxC74lDWw/iQk1b54wa1y/1JlvnRIeU668hMIDwG3G18CEMm
+dsnQvSZdpGq5KwUq9jiafPMHvAqasDjOt9XuDuxzcLDxL/G9bD8zRiEWGFfI6ldGBRCrsHvHTUKh
+pEnaGwz6KbxY6L8KX/VSQfhC3CRiFlKs11DArRiqsEspiEZH65scWt9NUJg6OrGbdAFOu9TyQ55l
+5JSzlvjCLbmVBCwxDqm55nGPRLpZYvRxRI11rekpJ45JAm7JopZbXVjaOQNdGXKkFk5yWJratmyk
+4p+/6j3kOYlM5jiNz2IozOT/JZ7I3Qf4pCUhfwlhg7vSvWMv27N0voA8IazGy7VwH+HcswDBLmMb
+2fpWHpKdMO3HSF6Ev/BN7tjgvQnUl2/nqL64ZL65JpgRehMFXs0UV6I1a3lp/gL56Qm6Etjyj4ZR
+R1FSiUS29gcolXiOqyHVebfj6iYbupxqw9/dprEFA9tgmiPQPw/DwrghihzAEMeOh8iqb6Kjx1Nq
+r9kmuCCVdBJzkyR/9AjB5/NXWdJxRO9ljK1uuJ45W3KsN3j0d6I8XAuxd1jNy9M6fnSxamr7aIkQ
+yWGQoUIAFkVA6pwgivkwxjIh5PZ6Z/Rr0oiNt8gStCckAnrrakIVhDnzAvq3ATIzhKjPBHCd0JA7
+Fqgg9a4Lkj891taCWXkuYasYHLDVivLoCqWTE3jBdG1uv9uQ6QJ+gr0ivk4uzGC6Pb3DIIC1/YjC
+iZJz7PuVnnSsNGxKxVxHW94mdBbjQTStZU7+Wk5ixweUINlTcv1niuvqXnHLEkMhfD4mUEWJ15Zd
+X/WPmAexuFdqb/f9t2C24hAtnp4qRZHyH8+MzShy2aDTdcbZm9ZsCxHKT0NjwDEwsnPDsakTMycq
+IAUAuaWNL/4WiTyt9s12//b4GpOQwgUJ7Fl9J+TfE+jHt2i3f9C8pOz5nra/kJzJu4qgcMm9Bt/x
+591Lx6GrnilNiS4FQSLX7UPE2MMFBQtYhKmxjqwrBeN5YRzOOz5yfeBuSdpI69CkMafX/jUQTc4v
+DQjOeBMzhUkJUfRkeQ34dVzZGe5DQ7FILxSdogtE9/1AtGP2Q8DZlRxxzILOJ2CdJZl1FGS5ctFl
+HX1my3tBe+OeA3efEykqzQLj8Ca9hfXa40gd8WfDchJKCJw3a5OSL7mHk9DnJyfkccZ3CRXGaOB5
+zpG5nERBhK2UsvysYtoz7y6P8mWLaOeinO0OOnCqTIDxlqxo2RuP5KqqjoqCH+Rb0guXIbNlZbZc
+uRIjq/9go0XmRX6EwwfQg5vD20woFSGDPenh5L1f4xylKxyrtuuSRShdOmtzkrJP+OC2o/I5zDvW
+Q+hKYBy7Wo82Oe1h+k6lytqZdNw0a9rwe7B6RClFaIe2ms51dlPrPGdxFwk6JWkWQAa5AZgR2Ysq
+dJx2j/49TVYe5Pz+zRcsBCESJ197BQyEvsGIQFcVfH4xa/pbA9xuev5SA714iDZqSLdAQXW3kte2
+f1UG23Ix1RAZxN1/LSc8Bn0+YvTHa5q3fRRXC8cOoG5gxbVW00QTg8XIhfveBYqLk+BXowmQWmSr
+uXORzaYM6znWM9hloU2ctCv+bBcDsp8UXPEyoLvE1M+WBugF7Ux09voq83TxPyyxILDFUnUtt3VH
+VLSel4zSZOtLtuAlllK3MOxG28zY1Nb2wAX3NHhbZaaHx1Te1o21ATHgW78OL9cFtEwvQ6kshLcK
+sE6R28fFzGa8yGEFBvqOsgzJAyofHtgEokgPrTBxQbSmRwYMrPoV8yiBQmGjPpN/TYyzOZ/+JhiP
+9qoduDorty/FipAqoanfpfZsRX9URoVuw8GGmbf4khJH+7fnTewElIOlI2xfxwhsmRT4Jz0Q8ce9
+ZA+n96FHwZ5khZqiFdeOeOxW0IcrhXRZB/GradlHBbk6SmGVcujcxzeGBZdqYCHJ2UotkGVmtrtA
+AHWBBmmhV2MfhOGM0W+gqmROQPe3SfpfuSIRjCbJ/nA6J2+5o/lox4MtJm0ZMDxOw/oCyHCpENIQ
+k6aQl9qDMAdUwn1qYqxlfKMzsxbqQZUVxwQU6cZd3MsfUmS9ozC9O92rfK4fUxIjkGPKUgNslRRd
+axJRqO20nFVxrxuGKqx+azCnxigppxdNhZuNricvD8hi31zGipEe7iMt2ERGB0sDYyFBG85kpfgq
+KU3My/5ZLQvWdqqOPUEiC90ewHQnFyLi4gxehUNPpKCc/4GlNgoFBIjnbaVouKaDDHFjEYdMjUsm
+pRGlKShG0YjIuVPSTGWph+624fO7FSQ244FAseYH+9/rAOfdFbUl7RV204OGmLU5MuH3KMaJyLHK
+D1GNXwPH8+ary5gPZEgeVcv6HWUl6l0bxGsKcLpd8d8nIl7pOvbGkfst/NMImuBXPHWjoYmiVXzN
+xtApO876mPuDj262/n7VPTWjVLt7BqPxMo9FQbgxIYqn9mMfMHkIrHn/VsEaJbdDvpCEaZ+p9A+d
+JslTmEMpVc5PXQJohETAFJdPGhEGqizAjnV8FMtc7XGJw5mJ+v5VjnbnH50SL9/NN1R1oq6WFdou
+IYizfe3DhZMpQjD+b918wzOllDof3v14pnFVG5gigjknmQcQGCiMAYMfp6MX0hHuAm3ISGN/xPje
+Af3gRw68I0Vizj0c+Kbu09rZHVcAwgDjiLqp6W2mhaC8OcMe+6sTTXqELZw7QFQc6bM+xVec0nDt
+dkulhGuWYV5vmKBfUfNfYGu2Iqhzkx8nbIllUQIxm8Bs6EFh1UllAtU08B0Lvw/VEB43m7Zrx5+v
+Rgh/Nrbs7vlfbQvmlsyj4W2FKDFO+O9Z77zoV6lgevsYIvkHJXEa3bR6inSTAzuZThTLN/QVaVBM
+nfRf8oIB7IOW1jLHP34gsyFBGerFibyt+qxkriSKI4W6zWkoq/gyqJjZoHa8C35QchRJPIRbc3XM
+TjNg3gDpR6SqE/bSIH/IMp0PPk+ZEMI+tZgnNlrMhcXq9CsZKqh/dCvg6Ily54+CNwGWuAyj4Ija
+or7vKMOTrFg84duszD5K6QNbfkKXyquG6l1vwaMBMVS9XlDgSTknoKpFU4RCDP0l1DPtD+aqGuSw
+GZi7GIsq+aLo85EK7CLCL6Roh6SdQMt4rcngNGaSUnpdx1jEV2LF1M1g1BLapdzPqVti/drUtxGl
+XbMBSM74iwIq9CU+fHGZkUJ5FRafEJB0Fm8wlBlbMAMRpJEZf8BDbeRJ+qRiu8vBnsqWYA0zsbBl
+seOBXmBNPq56/JQ7taYZI20KN11SQxlVwjbpVQj5aXsBiWwsT9RAfkgNxGj92k57e8YgMhHaLW3Q
+CLbhnhYon5pIM33dTIzY8P3ypMLJAEcgCBzExXAMFuu/0mdp0jtjBMrkSLbkSnUzr/cEeFvzxkXl
+babCBOC9noMHwuAZdl4NkDpTRd8ulsoxURWDqO0U++h18VopvnQ/JQ6wR6tQh6k/4Ftf84hGeXnR
+r1ePx4lqWyBto3LqQ+U9MMvwrXjRkM49oH0BDehbAZW1tzO7wnJbOp8bmu7AAL6EQnrFpHZbpWOS
+Nsi2YGERWsEEm035YB7dzVL1RVp9oAkXmOHMDnoEo5Li8YGNYTRJrMV890CDLkehkFN8o3Npbc6u
+H8eFWm4MlA3VXb+V1SFb3fsX7HO63wvzJ65YTUzR9ld71Sm1MQOmTw58dOPt2rdCZU7FYCae2z+E
+bvql65jQZJQT54nNt+UCFO38y0rP4vvhP8Y9RNl/1Q/I7zc2y5neCmhq1VlI9UlYAGHch91LiD0/
+oaag66xisX2nh0Ic2Idb6ib+I9xjdZk34uv4DfXGpw/sVjjiYi4oAIff3wrofAdjj9+twKZ0432w
+8vEmj+aK4RY1S7Ak6f0o6vCjQCg8Qw5uCPVmGP4s8ISl0mkhk+qX+p67s65iy+C5O8Nt+uE8vQ1r
+fuEB9S7M6Dbun50K2vQjAhrnqayoJSlfbS9K8FqzPDAB0Kd5ipqDP5DLGHRTm+AGK9IQ93dRvMKs
+kb7DG1ApyT4eNtFaeTgLiJYcUAoqoViouaXV1azNr7o8z4qXUwlJ+zNNhIDh4XsvmMZpDw29QwEz
+QvfKBjo96KncRTunEM0qyfvN+uo/Be8Ozd/dlVMmMcN8rwj2c2DM2r/gghZw8NRUO4vgSinKaLLQ
+Uh9TWMHB/WW4zuK79pswBiZG/ECJ2tAzwrVjM8jHhqkPIrnsoEwo0xdKb/YGh5QdjraUAVp+9ka1
+lqPdG6+TNu3dqL3G5ZZ+X6CckryJ7XGIotH/bq8UkavGv8zcdGjInSIHYvvG4zeMxKToB+b1VT4J
+C4uLzvNiFScGqbPGInxzy/WB9+dZoo7AU7q9QEdiZ89zBFAX89ok2SlwIjLdMW0iL2KeW8knvTqj
+AZXvyQ7ZzXl0uDk2+CB9hS6TsxyX9ZuJjL5LcplgzeFulYnSjacAN6ksBTnOXXxT3Hg9R4g52DpH
+0DiXQealP+Ai6x7geEk2aoGe3z6Y/xuvGMjK/B9r1UxBwyX+X0OjVjXcGSgUVi/5GE0tEjl5PEuX
+AiWPKP0G1LgmaFocXmEbiCNGJRRKjqnx3qP3oLi/DrtNFwKRCgaWjaVDqBS2xy+ilQl5CH+SSThu
+M5NMbFClDNJhx8NqwEC+Fs69xhr8akrf3XbIpQjmYiPr15RjUbYwhEEk3j0Gn3w1d0n14nIBYSKW
+yfYTZvKLiuOKwP/N2nk1SrKpYe8F14gJHZdpNNfEoQxlzjV8BPatfQFp59TpdLIz5uo0vw6nhC32
+PyspP9JWdEw8fklvbJK/Grx5zkXMaI7/EIV6ZIg9ZclmI1JGfFAYYPxvzqQCpY2KxX4ND7pDh0io
+I8IfpGZNcB0UVUxmgZ7M/besD/F67pWHVqwVN7ygqOiZKcEhIFDQO62xFPGffTKNtHkm4JDOIZgJ
+NSI3tWvrj6ozteOCVi3Cdve6SnXesd+fhCZ0Sv2QbgwfVSqTzdgVDX+sXDb622wYlEDcDW8E8QFQ
+6OIq0uvkrqhF0Mqpi5/p77aZysvcxwKDzPyMcMM8KzCOLvID1gXcKTFsI+rvH+Zq2GoSSOd1NwBy
+QSQNGT+Q4Xl5PFm8SwSxbrdtyCU6p2O1fePkJngN9hVHYXarJ/2sSCBj237Kq6271iLAuwdx/rEC
+TP+ze3ZjhZeJcWvHV0Ltc6oUxQ+8zrgADTksuJE6lmZ+HzqTnzCMybSbXxkgmXrt5/M8qm+EeWH6
+DyMQiSLebH5/W2MBrJUlwYLYlQVmGRUQKSptoGsWHc4Ao2h+2EV2MUDRQKazGENdQzcNrfbfYULk
+aOfuN29hxJOZnJS8uNDLKatuGevNCk6G7UEJ1nHbKwFD8n/0h8yP/QF0WDb7KqoqGCaPpNO9ufFS
+iofhmEe6XxPGe0BvR6LR68Gz6INqfdqUEGqRGdoFdChr+JYlWtc8p0SGNepeJtHY3mtlP7l2xyBF
+2EGsaB+XH8/wdQGALD/fkr2K0L4CTgT7uNTtZD3Zy/WlA98Oa/Bs8ujvRW76clsn2yfLNU3pCLod
+/oqktevZzUkyD5iuqeCN4W2H2CLHmAdS08fUsqUtc/7IwxfxkjUju7Vd2t+LNehxMVJvUZW3qdrc
+ao8aNPnPWdiN836vy49cx8Nt4RVnMMN9qc+S6AU1ocDMAhuX38TIEdHVNRHb4bHO3GJYi+xRvgW0
+QNjpHITEKR5z6eYeMsmmlaDDTPA1tOCKv4TSqau1EGkI7Ug1myS5tw+h0DQxViUW5qJuekfzRjor
+GwJnpyqoSvcYFSI8OTK1ZQygdwwOm/xg2iaBfBmr9r52rF3sG9ihTR/p+QDSWVvty4kEk7q5V46q
+BbFY4Eu8xsK8AYnZYkt4q+6LigqwzU0hBxPr1jLkUFkTHrV14kxfGTTiFIWduW/57tEFu8ZT0jGn
+hySswUaXzUt0iO9IXZerVWq04m3t4CdBz2o4Ub3/9IwtE98EKryiwKYtopALSrO8tHLmWn4weyKP
+602hu9gIg3HkQtGqHlLGRZ8JT2l5mqWLQEc9JS/QKblvXLKmfigdhbzg8NpPBQPkGTKelhgZiTlK
+4MzyZsyS28QRB6f8DdWRjdAiOvROCkI3wK5hVKBAl0p4Hz54yKthmaUHnoECYQm6t03KTEVIdmZg
+ogebtn4vY2Nja7ML/uwy4N+32p4TiXI8U7Zavl6hA5dVIG5fRaszUgmzrgo4PTTsYzn0NSg2HWHL
+beF3/JNOW7ufLA+apPxC+HuA3GVp0DufLQq0NhOcw7ep65dScMFWpmHK/B42uPStvI9/+5wJRtPv
+Tgp7BMYAkogF5oK7lwKNd1CVVgAP+6Od9RiiiJJiSHYIpEe+2Z03VK2Y7Mhh1THjwKCTYO/i05Tb
+nyVmGKI5XXEA9HCajkNTm+ZwSjKaohOCLh8mpeCcuSFFGg5x6e78zl4YhBEeTc5N8ZgYH/3vBPZv
+94PLHiW4ZiPYUqynkRKGhqqsjeEVjYUD66hou6nAU82qhOMsHoTCahiCdAqeUN+ccqv0iKNuCqYH
+W1jcbLsxutf+9wmWSFTwUVuzbeXxQ4HOTBHaHOQZyLv58+gBy3QZTUcWOUMSi82Kz2SjUbnK42AI
+omLH141noyjHY9VPMSD7pKTAjox01+2gBnavIYQlyBceRGuQ/JDeGoxoChwcBYzqpXxnTeWnDGSc
+eBmWkE9cRVyAIbssc/CibfpciBuZ7nn2j1n8wFCiWN9ln/VP7s4sGcBCzRwQIRhUtDVfaDnKAoYz
+dwlPupiSIss9TjhjqYcaXtJ/E9wyXna1PXPnzxFKrcGIMQlFVCGVdbD0m00bib5WBBIafq6LWU6h
+dWptae6IezAF+kvBt26HbMylUIubM+gv0ZbIHIidfwrS/Bpdex7UYLU+ZzHs3WRryM/a8HiQ5Q28
+kTPMje56Hpe2k+NgtY6moxZSq78ICAQR74BaAwgm7NRW6NlXjEtmOA5uyn1rs/IVEwLiiiD3QUlI
+h5d3Lx2wwcMuEyPcAqF0Z8kxemiuBN6Zk3P3B4jUbB7/ukOkWGyeKes7wFwY6CPP02ZzLdBgxQEP
+orMeKkCiGWFsdEd5xzlV57rDDDceiHAF+1yp3qQDQXhK2cm20l32muwpXD1N8P5lKVqlKMSvnaD2
+WyL/yOx6Tu04Kxi+DJAFYohtJXK6WoWi2Pg97nK/tqAQoYtcmJlUG+CMQV1PLKLDO05o/jGmVXZ5
+Wbnqagth4zn8w9+mk87UgqkWJtld+tBsQY3W6anSHNTVlEkrZSad9IqLIbgau/UgdJLAlejCPEcL
+b+lzDLiYpmXt4ik1vxmv6k2YZi5Yv3C6K7Zekr2W4+asue5X66U96Hb1JVMbdwMBcljpikXCmEyE
+Loh+0pbaf/olHuqloeQBCqT3M83vbrcI+JWOWOBeDndQxZ9zmNgEHA/P95szXufhGwjfPxR1Zgvz
+26I0Akla5bFiNWfq7Yvymp/BSiHT87nPfTzjyFWdgWvpPvmi7uErfar9jUg8Khz45S4f2zMUntOs
+H8fAfd5xUWn1DzJSWW+A9xNw5fDMNwYoeUX/oVSAu83LWs2TVdfZYxO/9OxlU6hTqRsWnYeh7UNb
+H19VG19imnOH51k1SFOrudAptLNhoi5MWRbkBTS0kdP/Oi9Gdk3hkuXYvC8xT9P/Z+5sjMucDeKh
+zqzBVba0CwGBRqsV5oi+hfajWe3NPJFHpHAnXKrW/oHvrt72x+jVIbMgElJBtr5tzEGx+pqDBimX
+lIKQxZPgsI1P0gl4QxLpo1yTo4MBxIDJkjbStHbBAmGPY/CUajRHg9nYFlyrQZ7PiGTI1hHKn9NG
+BkM467/rC9ifSxFj1MDXKbSOK8SzWhlAD/o6ykRKeVIJxwZW+7d9GnlW9hscZexQKN63ksWhcojX
+UI5fG2WbYYTfjfjbsXhILObA6o04heCbeScf9Of4yQoB7lelGS4PhYHGOY6b5VNtz2FEXm2TCLIw
+Hj6qopvZMMbWbgK0ligUSOvJb6MCJpTyhOAS/PLGcNU7/aES6eZVWuoVFIuZ5cMAicTmOcCXuyCp
+7HZj3bpjqvc4U2Cxh9pwwRj2KWhLfIFJu8MVElaGMkHtrlEUwlkpTwUbfZ9ngtpYnF2KjRgnx/YZ
++z6dUVkZrbNH998XAaY3hq5oykzo+bJxtRJFcHbNrij84f3pngItTKKY9MvwbLiUwaMMjXM8WMBb
+95TpH0S7JkAkauiiqk9sxMfuAKPlhZRbSyu995jPAAF5WR5dsDbX6uGZXW05oaCGhh76MWMMDopx
+eeCaGEnXaxvZw5C2dWQAccru7kAiztgHYhu7LN3aR7uq6AJZ1IOQlkR5IOS4W80nmblsDLrAD+5g
+oBhi41/cWbUBc82x4FmqrMmEMR2hHzkAx86+qNkTyKYJJ87A40CTgqibBYtdzjaGBl1pPmzC6Dj4
+fnShfw7AZZh+2waZxwFwFJ4RI8H6Tnyktuh575Dsgw27Ip42eEG+wkWgEy232W3Qk5UbTfZgxcMM
+/xvfBaT0AXoDweWWuG1G9ckGAoK4YoT/nJeiYGA0RhuqvaRUX2NLk733XhxXnojRZvIQT1Hn/RPI
+V/DhZBQDGpzCfbNCfFTJtxT0dgej754akWIjEjVEG8OIDF8l7d8RoFVfkS2ixZHTBaLt/b6mQjVd
+NLVcIYRR9Yksh0MpaP12os++Qn+ytu6vqRY0PXG3Y17CPZJsZah9dUluSbCn9eHLWqUFMMRQ0ZKE
+i8fgwSvVGFuGq+tCB60pwy8mO8jM2NH2390IjJvFkWvrYN91Ot5CP2hDHMiYOYVXz4iGeVBqi+Fd
+c+QAr8VgydHrmS8JjICs+j4L9E4rc/K3eY3zPfMGUHqEV2mX7IAP3WXu2hCLY5tNlxzcXt0/dbox
+arPSx1Zzne8pezfBq8GNmwpBp/IcrB6+nQz95ZDXdkFDK20XHlsiYuymeoB7dErCEoTxC4V+3QM7
+yNYcMXSSBwG4d+I5A9WAcwrSr+wgb/KQiRW9b2Arcb/qT0E8ApupJnLpBPdG+l8xKVljCjJRgGT9
+JjhbZ/8Xqdcq59CdYjlOEUWfACe0UxDVsXMCCfVwnJ8CuXcsmiZF5Y1bSHKqY5grvR7tnlF3x8A7
+bPu0Mhf1Z1OnoSYgywIJyfyzn4KznXsROHFaVIfJTI2X4rEQuPEutnsDjkZ89yntzNgUm9dsGaY4
+/s2iZq42UOrIVrE49rF6maMLYbttI9dR1gOU7nWVGPhtPKsU83ITUxusNeaLdw8IRqbcktWoUY5T
+oXRH1Q/C0orPdZAHw0hGG05TjdJTx5WWR4+987AROsCk0rlWI/Y52+y6pOUONzG0BbZFzUVVko3/
+WOwMfA3P4HD91QkN6ybgt1jauRcAfnQDWlYJg1twvM8exvWfRQx31lgoOor/sKNr9wDcsCn4MvLo
+FYpqitfcPsdelv1cNh2Y0kxOq5SFA8PYXbT7T7Eb3mL28dnJjGWJq/rh68mHwLZU8tAlOqrGvn7m
+expGJvsanziUw48cMfoOgN9Wtr1t9XbxPk/3v9PIsOl3JNURXKHSplaD/fsWSXIydbjR6xl1ZpWL
+KBM4ln3SRNJl4B8xNIWi8P7JZTc+4b9aVflOOSkrkH3qYic0OhOiE1vmFyIO1KbJI5AZe03StBDz
+hSROJDDC/wwtygaDP5xlr0JQu6+jmll/Q8C+SJuw+ol9hDyK4x3//H1IH+PNGDW4ibGsYnrbXiLw
+L//gRfbJ0ukSOWhMkAIq5LE2usgGtijBsF9UGobDXDsbDP5vGS1d8OVMp21X0BNduzaTYU95J5UB
+XTFFJHP50pBRU0pAZWJ51tLx2TYv0K+VvzehApvWKtv4Kz1A+COwAPrdwGkkZ4Lm62eMKVQe+jU9
+G8YUnJGtf+j35P0YKq2I8qEEGJOamQAeMyW0PerY9/giECNcZTo5namZx7Wmq2Tz+TSR8S8e3I62
+eugKajWePAHJZPwlt+z56+czKvmZZrC6NK8o9Q2h0iYc9ANKBpcltFWzsoDERPgodg/iOJ1/oH6F
+o/iuGz9QxxDMgw4TBRCxE/ZvBKxH1oR2XFbbNo3EjSevFHQjmBLPXKsc3ancpDGLg20YICGg6nNq
+RNmZ6iyLPA/bDQPoWEAONmkxvwnnACjlycbNjkgotQTnR5K7D8Q0tuzJY6BAwbVLxVYpndTBmp50
+doQ3oGPOyna7enxefNwvhF7dhX2LKn7ha2kVkvUNcOu2cyvUOpwl+TqtfJZJnfwH0ZFcQme4uK7l
+kOASRWiMbQxQiFPSfJenbWJrXP9QDGWPBY7i4rYvlrFmGULWhwWXJmXwxNOsIEsD6MnxUNkcHkyk
+2kYq8hzKvIgu3pcfwG+uKaAfy6y5hYtdedh0mtY5HyAlAYKp9cg3b9NbM+/PqLZANrzbkBUolIyk
+ewQWSrH/oQVj5JLYMVs4AbYr2+arE1CISHRvhX88XVCZL0dUIFBFjuS3TofEPi8il/gmUHKG1/69
+YxE41iQ1ThhBfNZ0DjnshMGXkQKMX8zP9xD5Mg0PIrSUXWKBbR43ufjeoRYbntUsdAwxcBym2b6L
+o3AnauE8FZR4SLLOeWv32BUeTyNdNL5dX5chDKSr4XuwkSyjh6i+lpIYXQyqUC4bXME+B+3E/W8p
+U0oPy6YUu6O/qfqiFbmDdm4tsE5myyLgyfQLU3KekDYl8AGU5wTOQrq0S97BjUPUVmKag6rlRG95
+JDf3d1aUOQ9l42BHmJgK00pOmy6aEd3PfbuP/nQ0JsI2J0oQEjt2zrSALlS5iKmYdl9QFTF8UXz6
+U3WMMJ09sK+9/HAz8Q5n6/bp/qvSGuc0yMJIx7WTMxAJ7GROVOW8m49VENmLAYRJRiwlZswymXDF
+qc/xP1rbe2B8mBMaCViv1IgSf7MGZDokg4BfUgOJhFP5O8jnat0lnif+o6s+wP8DNuGI56yH1KOb
+TP9hbcGhEUSh72WggoNThZ25ka2fBTQvLA9w8BsMkngjBDcUWvLlFKnPGEegCeLM20RUJnfDDwLW
+IC+/lXhJrp7/6ieuVKqP1Q3so4aYujXlyggQAVh9T1ck6hSWc1Wwli+E4JvUAfEFt7r7EtazCXtn
++XUt3SGqPSLYelCXVX++uZgqYQcsl7++f55BcMD05hHjsaZeHOrAkKYulPqgepNDc/z2j6u4H064
+X64YmbRcW+zc67zOaqW4l/CFRGkwDR0WI9GOjerMCYILBra34NAkvWDn9+eZQipNAAIumFqoOHga
+8tTiCsJC4cZTiepgQEUVZmIkKFSncJqNE7doTL/W/rHs5zMEz8j7bDER9Fuhn1J5K9M9jTCkJ4zL
+eDX+/zGvw6t3ac2ckPziWkTRslrBcmZ1sotJCXxQ+9waM8Rvmct08J5C1vHjNvifo6UToG8xmXBj
+ob1/xxWf4jnCFeluYU4wOK6YmOrsHQF7NsJ4Il/2SMr9+TVnNdvOJ2ljdSqlkl/cM3GlaOrXUQuh
+CB1cEJ1zEdpByLgJy74bAPGJeR8jYTs1cLX0bBRLHTHVMfK3T5W0HMfPv+Sd/Wx2Sg4EzH83iaYN
+N5eFdp/Ly7xYCO8f7iUtg9QoAwgny5nKDo02M740jGtGAWWWdLEDTekGSKLKkWEAn3Hc3mp1sY9n
+y8nqnLPrPAlFJj0QyVqXWOoLAFa4bqwQNEk/n39c69F1IHXjMEHv9Ps3kWOOy5FCto2piKwp+Xoc
+G+TNK5mdKIqr0hFrx9efLXgkgLi/HLtEmRc7OHieTJB//QJI4EUQpXlMcCg4GB4BJPm0hn6DRQm6
+AgDheTFpvW6xkP6SAcBGarPuGI6T2r251T2czDQQBqhs8FPccZcxqRur7OOHBjIYccG5s5mbG8V7
+gjBwzGrVofGKfEuDgsSwsrHGecjeuK3C8xt8+GpdB+QpJNk1gRS2AH+kSBF7JUf/FJ1EGVKabK5w
+nCxspns4Rj9FK16g4q2k4iAvPJc06Oy1mmzKldnd4RcD+AGOQxiecK7IPCnp6/Q8K/4OBPXIDq6X
+p8FFbuYAGPpDrrTstW8DMacbjvl9lOrFIEB1WiIKnEKuoHFPT5kc2oQLixZ8lfZ+63QLToVqSzPp
+uIF9XzWaxUsBLdxcFd6LQA3LNPVP1Q8Khqu9ZYawo7e+YcJSfcOwsK+v6RtJonjdtpHKcMHHzLLN
+YRt4qua5kT/yQkcR7JaF2IwZkRulbwu2Gcoo/leumU/pd92xyP6QmdV0KVWqsdmh0H5T5S1rBr/t
+H9T4O5dQi8Wl8wVNzvBF6VTTW+WJTpXUwDLtyTdk64iwcOa+nzRih2s4cBHCgfNq8zV1Gae7f3Vd
+5r9Aq/UVRYTQDzUXDkf2g58b9FH0NYAL5PRpDjxBmaqPKNPJu7+1JuHYxHudqQbZSn+EjI9r2I3/
+SNEBviQrAczHLiQpfLuPfSG7bsqWkf6PrvtftUr3C0uCVfp+Yo8nI01r5R+TFILEW/xyqz8QemmN
++UviD2qQ7l/HL03RswdBgEK9NQQDBB4QelUwRpE2VKKeKLVxtkgpaPbS2D1dTTEHNSmBo/VeRXX7
+TfDBIBjV39cNWdlZscKaNPfYGACQWv9hjfzAWCsim3HN69yjxKxbPMEYvbRwxfwNFjYlQIc6pINS
+uTsnUF50dh/qN23UnFhpyAh0Xy2j1HSH84oHm3jPMONC9CMdZSi3xvnPL9g6vfCr3SvYzAqRkwyu
+s+uL6cBpVp8tJsM9Gkl9ngUk2qPI6eDGpoQW/quohsf+JhV7Ykie7WYiDvflWQkXDtCVmsWg5e+m
+Td/iNV3eXa2lesSxb+qi7oJFJDDqMheUJbcu6rHTzwAWQK8P7YMsyMsRitSJ2xsBmYYB1HzUlFTU
+PfJNHcgZXuHWDvbSSdmEQHPiAdKRxITiEL+33G8M595JCNN/oG9yBKjB5ENUhCQz0e0/rxScSHFE
+bkb9fhrNC2jlH2S0M9/QCSkop0gkobrgEcjcuoujX4ankYbYHRYGzs5OZSsYOO2B/pORmpAtjIkT
+chVUbD7VwC8IEavkVaACC0E8MrNigHzIafC5O/N7nrja+EJSBi1d/4p5NsXUcUeboZFS32aj41/O
+SYRSpl7mkNyiO9JeZLhdTbcAHQLz9bQaPRDs8Z7xTQgvdy6KkVCWTmtd02dLBMGgQuZuP7paDGyf
+CNOWxIqgz3hf3ZIiYtNhLrhanGdbUf4QCGoZHt41Wkqbwvtnj7P6OpHD0mOSva73rxMSbphOmJ4G
+g5Y2xkkQNAa0ghZ1pdScM9WP9nksdZzAbmh+W4+kpFXW+1ONl5C0EkJvaf16tCdi9h+UqKN+pN4k
+V2Cgk6oERhBSoDZmSD7DW0d6XVotOSWDV2mx4L1mk8y6MGeDdhXBzaiUVkpDeT2DBtasgMzip1NP
+2NeOZkebjFae2cfU0mF+50ETOTO5LEqgHl1xoHE2MAYeJaP2CCVnEhvTBqKQUDH+Ocazls4tTgBA
++XGmpFcgQSMH9C0ZWvaQpdlBJMuOFvNfQHCgRPA4vqZa8vFQpn2LgUdriWTRHJt/lOwdSGYAuxVR
+2sWKzYw9aD1ttrArXsrn2glY3eRfIkEUt6c9uvvOnqF8pn3yciH063cDi6ykYxf456oIXKTjmLYO
+N10leExcwRrdRsVc5TMbpX8rbUj8atqAKsKhKCFPbUCRj96mXJ5x6coZJSNMOs+8GP1EEYZ8n/+k
+RvP7e/ARsB6FGzlCO4E0Ub/eJ7ri6YIfRO4Xka+wE3Y3usTPbn8iZZDjoIoNRQUs4TUv+QPNZbKh
+vfMvRiOzqO1czKi74gw6IU8ezhiDfRmXkz4V/+jCP4EJ1gFYZrmcoT1+yxFWZ7JG6tov6jKeJtCw
+FXZW39sSG8ASORWa5tw1upbGvMz5q4qvT42bJb37coZDTbS5Ly/C/zKRnM8jzrcoTocnzDj4NuI8
+RkDHhGzdbyjM438xfbaUmNAxZDKYax+x2XYCdBfbbZhd5kwMAKH53UElaVtxW0mVJEeSXuxIYJMG
+CCosi2O7DvSsdFQRrQzjYZsY16X5UmIgLqt/vO+3YZZkgs7nwzB/VNy/N1Z6uHOn7vGDX/tZfJVN
+1if24Ul4tQVnQUV7mGcLGG1SeX/3alwpkA5YGIm+jpu9wg9Sxksic9i3HR4zG/gUM4Xz4MQAcIU9
+MZM5O1GkpBV4G23wSsneZTNodx/gun3mNk2lInTDFNaU6NyqLWccuLr9CdpLAdEPs2Q2/1SxnH2T
+YFFoVf3NX2Y8Aw981DrfHtUiS/KYDYcGy+rUWQSNlnsuM+VLmrqq34gz6EqXu3Tc5P0HqCeMnbSn
+0O+HCbOTT190NVE1vaqMVBiNY8Nlacve5/gkOVTb4peCPSAMYMq2fVoDW3YXNtgS0RIXSwjrsmod
+I57wFwAVL7ZM3VM0aWzIeicQrEE4BYHrVhXWrQbwA0KMZR1P950RJBeEe6mvsXz0cQpUhwtMRDar
+2cn8CfoFykcxFs/mOojc9KjXwiO62cgREn76fkcP1NNt/yiC+M3s5wrKYboVXH/6PrMWyv/u/DBa
+5p3aiL0MI5+/iEnDAVue5yJBFhc0zraxVyXcUUdiU14+wVK6OdJJHkHdLVD8RVvX92h5rwpfaxTG
+h+N88YdaN4qHGwtGSZRV4GJfjuYz7XiPxgeqsXzS7KijHTBjH6/xVgTsEA7/TAAhdXZ/WcVoKfpG
+KhAnpveL/zKE2n6kbTJmGXFnAtCdXYzNd8oU14WtNgZpBk/ohzazRHsQ4cYIt47mTrdri8wODJed
+XDv6agJKb3dCpRxdDVc+EQ3b/DiESSxBTAg2ZzfZShdeXD8oLsnLi3l26o95DwL5yyRx/0q0tdjU
+gTxemgrpKjI+zLlkA43uLPCHKkOWbt2uWAtbMD/wUZypi5gIPtenThT16gx8oT2VbTYT3dBfZ8ST
+BDpMn3cw0JWFJ8mMCC503N7+INmp77sOOPPwGE2WCP54DWCmX2v+dDShzCy+fSSL1/651QbhJbvh
+PLV1pcxKR8FDgGvqyXybffKGN01vxAhj4ZH7LzQfyoQ025MQoNaXj0jNHWd6pnwR02s1L9q6hKdw
+4Er5UGpDUJjWVofoDBOQnz2rH/l4lRRVeEXIMcmZ5D2CQOa0HMVddLn2uHGkNpA30YcqcSow66/F
+Kwzp0566g5OekQybnnVfNo7CDwiUVED0WgO+Gv/U3OAsFMxMaA8tE+pnAEhkpV64N/QcHsZA3IK1
+965bI0tcaQb240hL8NrXSbV0H939JANOC/RDlkeuasqKMtnfchYfYWq7G04vPV+w7+kqi2vviOGG
+ekT/pO+lsKexeLRZfsCqEGEL2dwoqfIsrXTLoBKBZNP+tewCjt83wlcrfVd/+X4m70kjQ+g5pubj
+iIJ+mrXA+pUVVrVB4U0UWNDsuofhbpYDK7oKnC3OLGntOO2rvp9k3dG6ApaS//1RdR3DEQ71W0uH
+vfpFx6rRGLpid5dPxGaLzZ0AWDPV/qddo3PsOwCqLanzcsqtg6D3MF89OV6itVySf1qhwK43JEK0
+V7caylZRCY9ZOOF89YutuKOvSptLhK8l3akWg8dvi8rBlQBqarZh/Q23M/ycMI2LVB5y7LsfbtJy
+zCRI9vK48nuiYv0A1wGIle8hADSVf5ScC/IBsjMc7BVxX+VaACDJCQqVhALWkr6pi7nMBQDbaDu3
+5fwBtngbw+YRupcfkqYqJ2A+20bfo/GClHybh5nfkTPMifhnQS+S03qraVPkIwu6geJhdN/ncfyH
+c7lNa6hfQ710fQbJPKJNmv9DejT0LVAOI7UVuaXqbtwYB1feJzmBQpYBW2v5iTO1P+vPy49tqHVs
+Cht98GHHXZMYxSTjC2u0ycC1JBl0sjFI4w2pKl2GoOzL3OT5K2YqSxSTjIGPcOSHSv61a4mHI1iG
+cYDaC0LZNyRMI9toQknq28YXNy7wUIl5Ngfpu2o4bqUfGd9ahIbGE1m/A46LMBO8XPxwH7V/K4Mz
+xhWCTpuq0IAyUjL1UJxh9HI62WsT3RwSCDchOxxM48BNwfCs3Nf8vvo37zm+xGeZybto7LWEI+rP
+RP0CUctRkyU66Vzyv5Cc8mfmBdEhnbZDmswjLyVtS9+tldRUcwYticpe5/oOV7DLTKv5ATr02iHF
+VVWTb12Z9sQQMFswgmCO3r41JZSlUYNCI4PkhagOW3rSfmMvodNcMP2c5+VtJHQu/cNuj9GEAzxu
+JDWFeDKzyKQPjeYLu6cxHiQS+ZMIhxWZr/CmhbeEnaDOpah6ncPLyEb6ZjifYUuG0nDTBQFg4yeo
+RLfm3Vg46fuYyKVoGAE324o/sAbkZl3I7PcQaPbFVneuMZuDQXT9SyHUUx2U7Ieway+leRkUKAAc
+TxqjOmWsNvoPqyFIJB6CiTZESKl5HZWQL6qVolqpZWI55VF6WYmDBuWLbS3uU/obc3tkeTbwEgr3
+gJTzC9Gv6fJmgdTiFafWKhU/65NJxY0Tp0yZqcbsBn8bjt+7E5xvo9vA0TINr8MK+ti8V4aCIFzl
+xFI9tIRNCpITw2SlkZwwHl43vjilWTGb7Rl6pOQgAZe2kR/5lsKFLIK4HPoyr2KzYtXpOdmRmqIF
+So+7IJiroA0wH+fu6xDHeZMdjrRLNc2MqGRnql7FNlFcPa3XkGr6+ZgiYpWK/k81PH79rUrHPBmW
+nzqhsXjQwvxSUe/9sKY0wQbQvfXxPIM1q7MCNxmOuGkzcGPVGEfWWW8zdqD4aWOZC0vxrcXDj3A6
+Jj8hGPAB6VmOt+c9vYU+9VpFqXdlqqzBiLc9qBLPEhsH0pkF7+DAkLvU+Js4JTIYd2qKV7M5UHPY
+RANaz+0VWLOBH9k9hTKOttepj6Xf7h/EKa2CjsD/lVSL31EdcSkUKi2yGEsmLV8Lm0rkk1eVvYUm
+OGF7E3viI92OqnYBYvOu/sjErXYKkV+w+Zu7h5/FLbFhoNWTea1mi8H58whzpWKW4V+cYsTl7YiT
+NvjPo/wyFV9GTMlGnc8oo7ff+rwF3LdV4IK4y8+wQ0M0vN2aQw2TQ6R1NlzbzfKb/qvA8W2QmW/G
+hSfgcgiwJf+uaX3UZF3JhOvwEenmTWYdrzvvKDIcvJlg0YCpEFA7oLlsu12vSA51ls7ewf93mRml
+nwwTuqIQh2A5FtFvnACZH2SLP1nvFrKeB/LueFsfFigF0rtfZyJTLjuSsyb01RUPa90NOW+XTM8f
+NukjT+u0YfcOMN0/8TvAByqoOMWfopTrP281qmsHprHZbWihllNP8Ppnxwe0a6QaTL66JA4nszEg
+VzluryldllgAJB8k59nPJoBk+EpwaZKasNCX0BnJ4TGEOHV1Kd/w4+IIV9RDecE0LBfMIGDNOJLn
+N4DAQoYPu9b5Vrtqa7X4/qCPYs+gEQISqj+0tGDHhZ70WX5gT+xITPEukVax1s7cIIE5OwqZCmXV
+gDZtglCXb15PUi8CMPrFQpDeAILZ0cLoBKLdT5pnh1tDb6/4e4/Iv/d+78AyiV9yw6iA2QNXxihM
+GV9VqZDToEQD2M0WGFb/JB9u7QqLuK5rN4ehK38wgiv0AkXhdSyGI9cfcNdt4+VEFr0QXgq9QEQu
+B7xJNQcQQw+kiArM8+ZwS5hBip3fEej+3pFPsGaJ3uYYRWH+qX2lQTK3FH1t3vEnLGSsSYs7SVEr
+uQiTCkScW0Kl5+HeiQi+WSMnG1GG+tjnK1EdsNm354OKNjhAzv3H7dwDfLg1obpJbvZY1xxpp6oK
+W0GHggw2zrRH2DIDpt6275bVrVqGvReHBluzVte6XBsn9Z43wRtsHj8tgNgg1k1B2gmM4JTD1b2n
+WZTmbWZGLrfgSY7arBSfYovmuVMcl/+vzD0THxBrMkMaf6iDd/aDX9n4UtmrFgcRDDd0ZZaKKAfY
+AxGIcXSlVS/72LlH6YbwlpA1CwWniTcrVIiUOL3nt1W05b6KQPkp4L7CkrV13V+RX+mb0UXYEdRD
+pVKHilvIvDsKk7Y5dK4ebkloRvZhdNN3TWRu7KJQ34+w01hKafiImn/ulbNIJV7zPmpjPqVzREl1
+s9UlJC0OsUjI9TdZOwyY1hhbOV/vO8ekgeYbFqXawF6k6gAmMo3Hb1fZx0hkmX3hCwEppKGGFv8e
+N4p5LC/nbMNFyrWDlmmSqldf3xz+L8ZYJoElHe2eOjxNMgOzheZJbs31+k3xlVP/DeX2i5Kv7yGT
+veOP6loa/XHLFkEtdbNZ7oudERQvgQTSHPmhI1qLPy9ccdLbvaKAXnA9puoCeGurFSYA7ktbta4X
+rDS9WlEW3B53T7hTXuk5lZK9lCUGjpSjJ7Wl/4YGEPzU4L9hNN6grdr5hS+adkTsYOZmy6RaUIb0
+tAhzUjsDEj71qQGTBhaKqK2y2hL45PFDeDHJT0FSsxGZ8JHqMxgM4WZsvUKZzfzyuM0TnovGcFy8
+zRtGyuqXQFOhNhhR8Hy2kczN5KuJ5gLvbPi25Zf2/AbFYci3hjtJw8zH/bVOA+1TE7fJJYl4oudf
+aSofCoClp8GpIXHQs1/EX+4tdV3xbHsLI5bek6jyJsAfChQccQipPT6v1NRHAsoxRLm9xbuZKjyH
+OApYqEfSOwBS8FTH03lYAMspIf02n2RVdjN6YEz5ggRajnVwrPlSNl0nTbN6tYQWHDlkPVEg8S/n
+AG2DGeVZEt38wysop+55oekFLvQZmibtWdHGDuaBZyikNSqu8CAn3Hvp5CVkmfn/1mi9bq7IpaUp
+Z0Ec2eUvEH4YlXDZqusUgW9rB+UBw6qQK6x/6OAhO1obRrNNWZ6tXGys0C2+clqFA31E23N/CMfz
+zQI9aHbfE2x8ZF17fC7j/6RZszLBP0dAXNNiDm8NbXExAIibdCETdzyqiZZPVRHG+3tKHXxKgI42
+EFT1hX2JMeMO1Jgx4SO5poalgAm5LwVy4m2/IsPqGL1QGkfI0OLzZe5FAjmbdEvVjOLoy+S4WEAX
+/yIz30C6n4aJvDmZtp+SmNz+/JhDuxY4O0YEfwPK75x4tHOmBjoQ6a+7jeFFmKYxWDr8j2he9jJP
+rg5tefEbq4WJ3ETK6BCNYaL38L6bgTlrwakvu2laBvRR4HBnYVfe/EEgQLgNgI5libT3/N7F75I0
+ooHnX1RSFQFQDY1vmkv7vbipnAE/ozvqaTADpM4vnWv4qIi3A9KRCnZqFgCXSPbt32Jimhj03QLE
+ugsTtLbPEzQofoiTxxJfTa9+rplNDF59sv6Sh5MgdniqNEp+xQ7X6BKx2yvISFFo6XyX04FASVf2
+X6GKsmn2IQ4YyjD+tvGUm8BWOT9pWa5VRI9VQtW4T1qfLwBzcJshZ47VPVEVeyM//rXfw/Pd9BVR
+6mjG4SEMErRIc5rcNK9hEBHl0e59EwjkpynNRQo3eR3mVlCqkM5LxwYFYxYYbUOYZvvevNa/NBPY
+bP6+OHU3u/GfUk8VEvk9m6iXrUmh6/1J78NZbQz6YPjO9Uavm4Z2deYB1l2bSNhiwcFzkV6SMrsI
+Nexvt9jArWHiG7nYCTtssKRg07f6oS3d8zDr6VYx+L9UJkf72CJPbtoQ+wEIO4huZEDf09tMD6rk
+cfoqpDeeKY8ezR3w2SNO0p28D0TH9LxEjo/VuYibspYIYlRvGE6Ab7IjlDvF2JqZndd4R4v7XXS9
+TUcsP1glx4FPT4HOwn/sm+CVikmamUXbKzzxqlPJdg2kmXqujk04AWC4T8EpilFTGqb8STq/iCNn
+cEkn3YmwwW7DTlKQQVf/JhOJqk5mKKAUXeOMNFzWJRP8xtF4e1E3ybR3TPQwWr6/DO1y684pxQ7C
+785jTMh/VlyvG3EBO/fNfaOMeYI9A1B3ngBSjp6wMKL9EdwOzqs0/geu8Oda5N5238axyJ5wj6Eh
+izFyoVNtwR6BZvfvrlytFk6lI+MkbCTc72kFJhoVsX4aDu6GknfIsb9yMGfzpPJjdOfo1OjDy2lx
+mk3tYps9LYeYFNMzRxaZym1H1681YzDlgz2DN4+M0tlsWANsWT2SAKttuUseZrrZgLsW0uQIsrBj
+8dcKbuougWStZQJGkW8pS+Rc7ZdliEJjuj0A77wJhVnlXPzwjsR+g0E8qiBbP2Ey/OKbD+SHAJMG
+EQMcV7aLZyxCa3lnARWOPmbY7xVqHbGKaJkVWGEW65tDT/yrd/JqbSGwM/i9wvCDuWOEvKpQ1UeD
+Wa8iXyaiUjbQvJbbxB//UcT4eeJ7Pbd/62R58vREvGzEHW087npq4wP9tuS3XyTZzN7NJmY2AtHE
+OuhH6SaOs8h/f8PyhAk0zKnYOVW3EO2UVhFpg5jO6tbpPzTjNBqDPfF5n5hX1TnrzserUIoABoDo
+cN8sYRB5SeN7jTpcuqjBkmLLPoXODgG8JwyEwOzB4z4DpcW/8GtYyZ1gCCBUNv3Uvs4JtKqou9bi
+rKtuFS95nwKH7SP8Yw35wnlBnt2JpoO6KB0W804laKjRVzya6zib0rxKHV/9EaKQv8MAxws5K34O
++7XMHOPW/+/j/qyAnt/s4TDyBokRQMkx9N/YP2p0EKtYqsxoTXXyzPWaLobYZ5U+XSLC/j9KhTCk
+C4whbrjTKMGAKVUiYh9GNKeMxNsNzzca3xOrnuXiYmM0bewhLk5g8/prnCW4JKbnjZCwpXuUaEIA
+xPLp1DJCrSDC3NVtvN66A0CAfzNekyU7W0FsnQMdDqOJACYBby9NXw5dRfRIrHTkbPYuU1QPKIJu
+QHwP5cBwPxEZyBPxqOkzLP0trz9kUIV3FrAwIe8OCZL7cnCo9UhsDEtchZe4GvoMdex5W70voCJO
+ecYfHeDlZbiTtkxKC3CuAVQTBdPbFoHPBOQ5dnCFbV/pyZ90jjvo3rNnjoLLZmxG/t5nkx/2KyCr
+nyyfgJYXafC2bTPnvpz1hgz2TNdTZd2Q2qhvuCIoVOGVvDP/BxwJ+HPf+98hLxu+wfQX0qJEaW0E
+AxZqf6D80bqLNwJYotae3dn0DmBPlmiS2G3zavIxQY4knaHdOgRv5OjtiCvR0ocud0wgEnmtknXG
+Py51tq5LmViTu8aTg1TOCEDEt/jg4/HJ0YgpbswNsMZkaRXPPIT0CCjvO0mBxzB3eAaC26/fn+ku
+U/XiBwDjj/x8h0iS8brJr7JkNUvta4jQ6GDNp88n3C6JBgq/hxStpp+q7zlEzKZsXaBpYxL14ped
+5fDJmLFZZ7vbNx8Vo1uJJ7/JdY2NAIf3VzLtjnxfCKO2xn+Up24UPOmmLFyZj6cvm+y2n78xUhRk
+YQqYiMx+ZuQZRARXOnUciBVsrbZ9fxLkb9hJLO9vMcfyxqpDMFYR0dOi1X1QKQOFebbKHkNEjBNy
+GTjoPVvemWPPuWjZ48A/uGxBav22wTZglbR+YwRX0g1QXzobn9KV5XlTnxq3+/jZXVZFbzNHHNle
+ZNBlQBKby6JEVOIWAGeMpY+ZdyjoDPg/ZbiQfQRO5xH7M22kxc1ZIR1w101dL9Z6uLN1r82pAh/9
+zSATKTqweyD7UMhkTRdlkBQ7aYqK5fjYPH5yW6e3lYn+EQ1eJFxzKac1v7P5Z+9U0i1kU6h1Q3MM
+Goit9ZNjyB946gGCwXt9oIpF1O4BS7a8hDWoE4JJ5osUy7eAb5mo+ucSAcXmlFjR0dRcvyQ23lCq
+G2yW8WjNE//oswv+ioijp3fCbsaHhJ4nb93KOx8zuQFUIXYfLhTyjKkn+xzM02y67PQJ9S92fLEh
+JUq1sSdz6mskc/nSGyPZdWZsXGz2Rqk6wMdRoKDbNIFPXvjiSSjsL5QzzMMOtGE9COvxlDlW3VWz
+yCf+fAGnQU3gLQxansOzVqd+qczGrPWtvUI/Gdo0KMifi40zJPM9qo6DylPImXUXoXBivtAqP418
+iGgCoLtqgu+/JgBB4Qojvs4Jp1h/VaYo3uglWlzRy7RU1pXi4pls9AW02eMhTRhO3c3cSWYBTnRL
+pOKuJDuTgaK3YPxrPxV0SQRDvnsdE2Ufk87os7LCKgqBf/3Hn8+NchIWiia5Tgchb8kIM06PnTAv
+qzhWQ2rz2ZzNxGuvgoIKwTvP8AHbwHpsQfN9I2GWd6+juXnfl8zKiOxOLruJqLX4YvxNEX+k1Kg5
+opMQMeUi4RRgR4ZrJVnDBrMJqUks2VL1vwgLVzU2jY/4UqXageHVMzRzSPc/2yphVaP848dL0vi7
+O5DzGM7L+HM4PWmrG9DdnPuKDM0fuPXchVrcrLhev6UDK8DnTcCntIbztPBaoORXAHR0Rt7VOwvp
+5Ir3LFMNyDZ1HpXvO39eYTnrwEnlNR0C8axfD+8bSyiDA7s/x6Xb5Yhhl5tBrWrOHePDaiODpEnw
+eApMmevihIxe6DVNsqMuXwWuVFdW3W0/q+p6FastGhv+ymzSPIEnbAZYoEP22tqGGI0babDsX9WH
+gSgUim7YBnnnVO1xtLYAU0Ng6ZbsdQXQObVfxgV4FtnuT1pe12WXx6ShMJYzVvMiPrnLhJJqBcmg
+IBptwAtbFzNrxL/iBPW65eJwB5jjPJBXSISkVp6FI5XsMYAG752qO6v2pu8cBuwUr1HsZFWdqNpF
+IbD6GOmtjU7A7/B3KwTcJhhuoKCpP5X4/xRcoi/qpXoLZK+NzPDSQAypVTfOYOkMVLf5H3NTFqHE
+54Ce8qEwwtZOdRnSDaQBonqhFI0HO/sjKtu9eun4NAx/VcxlpCzia3ywE/mCHZNu9B4wQuZquNYg
++eYpuytgWfHELyZ0wAzBdxp81iG0I7d1dSTuoIZ5CAEYzxq3QzcFepyvbwvOOJXKTWpguoGWdwwg
+mfUG16f1VwuSR4DwqEpH5hf4uyWdNhgL5EEKGs4hLSKsLybypova/9nez15gaT5u7/FlnBZCn/9c
+xAokUoFZ0OGIqA6r867I0Uo0kTS0X+7SCbAtaRIOsLfJvBkyVb7W2HNM4y1BkRKGCz3bBNNuDzW6
+6IkJaiz1vJCkQH3KcKsXr6D9f/UYhmtFKLvQuZNhfr1f/J8bXeHxKUn7W0U7xqjKN+YzHcplZ8fj
+njafSfA3/HI60vJbootONMkNL4UzzEUVQ0SixujccG43RYodRxGovPrRuMEGea6PLdw0Ty8obkt+
+usRmVfM5sd7jW/bGa4CETCUgeHz0ljkYq5cWUR1HYMRWkvykxvYyexCC+H9afXb5975s/sQBo2TA
+qDvYsQOBHhQDw338dlGOB2lEbcqKE93etAM2Waeln155RryaJ/7GW3V5wc7ubjrATGjmitw2X3HA
+UAb2s7pKWoGZ0YfTmOBDdRwL8JC6mHH/CrsQF//Nhf76pB0lyUzvqYqgf4W8uIS6QPalwo+hrwQt
+MHVxCJ1L+PIVRRYi+USCUb7mMs8bnsYoW8UNYb2Ws7r4DKbAnWU3KX3DfZSaEIfa5u8d5w4pEHij
++HZ7nDmmXbLSLqKslwRQ3HfqGof4URrXOmGC/Lb28XYNMrdBCZNfhJtLp5wULmHgDjkMEYnexbp0
+uqHN/nZ+iT0bUr1hUNeKNR856LXqKdaKjx1qWd9d1V/42tUXEajVDz/A6vdkO1gLmz50chwJlOnt
+9VHwmoHiPBHvn0+pbw3Mr3eMqaAgjlSc7Ga0oNAVn+3h6WgEpDUghHy0qIwqLLXUrQV8TJbIFlf2
+Xdx7KbBMuMI7ntVNWPWgT6YJk0pDdwKRV6hUk+BqGkiKQ+SBRC637VgZ6136t9gwQOg0INGewrsl
+XrR316UnbwYdINBxHFB1ebjOlBceSMmLAEJRkXHAbeJqEkbIcuGbjRJ3JF+w4f9Ba27IkMtLOnrF
+PBj3t0gNdoCVV87wRiRjCiB3V+YYWj08UAzK6uJVfnzQixaZSvt5QdthOM/GQxng11c7ycpJyNQZ
+wBZwmMUYMc7kJWur7l7xM87dDgeryQQbLr1o2mEVH/rfvXiVJUQrG66+atw3GhkydRuf4moKMLER
+TsZPUHSIy0Vgp2zS7s/PUKG+89fbTRqePL9mkG+uiL+Z8bVo1cD2zCM8mVnOp5HVdvmk4Rse1v4L
+4AA6a9SuMZKxTO6nQ26HY2FagRNQjCwxFp9LCyQi5SCQXNWEWwzvWL2Z6SOEJnO5Ld81eZu19vzs
+D3R4Lkffur3Rh17W8VpcPn62mHv37DQEzTN4vLKXtLz2jwPJlcnPOtGXaXqkkfj8sYTG2cELm5MG
+SmRJqDWTPC+bWKBhimS25ZSM2QfYZwlixv+mOrj29ouIbemK16XJ2gGoAQBoOY7zWbhDdu1PCjsn
+A8TgmRw1QUJgfL1qGY+fI4q+WtpUqJS42x9kOd7DtFbPmfrNEXWMHK8VNf1L2/VW4G4eion4uSYz
+P9r0Z9GYN/z4Rw3W7tPceE68Fkpn6I3N6fzolfEgXMeLa1cRXQFDDW206kl/RwhIPzTWppjJ8Y7b
+6/mosFl3oK7eo/5Gx5BZcueTuMxC78/UkumOaiYuqgo4NeQ9TPaWe7RaBo9U+cIVev+3ZpkxIM6S
+Yt1eI/00Bhg6s4XrvPau8Gtsa/P2CfWnFu7xZbnkh2Pdjp6KPmDWTFI+ACt1udqMs0ZwVqCvdRAU
+mu2NeCaU0vUFReLcqbhICZeeYF9i9Z8QhP3Ba3v56Mx9C8KpEIuLMHvBmMX5EkOx5lPHkzXvYI0C
+r7LVk7oSK86aFe/VJM45oFeEWMFbdsAHpKcXBu3xKr1AIxKSTCyOy37B6kLignjk6mXCI541np1J
+h7jw94W0u6p/R7EThUq1tmP2pPyF/JNsx3k6XdbXOI4rFfRcCfXUeh8DQ8d8xVCIeqd6JTEmE5CP
++DZvinxWe+KV/fLBs7+GDCu9NEShEUs5K7qpRj438jC2A/DfcJ08dEHbYb0Dp0cfwPiis98s2uPs
+JFppYyZThYx/WyEwrPSnfRocDFobcLfj8EsFfM3Go27lXcjm3q/AxogqOgD9PFsYPrMEx6ZhwkKL
+yc+UgR3eVLATz+ueuQdS+bS0lY4PqHPRJfUOAj3HvN0cfa2sLH/q/dN8v2sRfbuxQTavZglahP6j
+tfdz+ODnd85aBWpADqcmloTVezAU0EIF6WsQfr4QJwWfkzFDjN8dZrUkzF6rwPV5Sff9KdAHBGPy
+/AsEwYFCB2VxYOZ9VyYbRC56Sc5z7JHTcL+uQHyC7+nMmIIDjNOYevlGx6Q56XDZ6mXg24cuENvC
+WiX1cLeH2Fe8uCwvUILm6DfOsd8UXeYJBh+FaQg+LGk3VBT4hGWIPYE3DqJ8o8e6bnkBHzx1d53a
+jg/xDYZ6kT0mlSR6cQSI9ih0n4ONH6FsyjYI+GTB+YD3W9F64HPYoPRMLB7CTI44
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_confTest.php b/src/tests/unit/Application/Model/d3ordermanager_confTest.php
index 5ae6db84..7d98354c 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_confTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_confTest.php
@@ -1,75 +1,75 @@
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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
-pKiW32OFx3Qgf79iafi=
\ No newline at end of file
+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
+aW0=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_executeTest.php b/src/tests/unit/Application/Model/d3ordermanager_executeTest.php
index e2722858..0da146f0 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_executeTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_executeTest.php
@@ -1,676 +1,675 @@
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
+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
+jog4TqeeA34tgfUKLrfRgKOBbUS=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_exportTest.php b/src/tests/unit/Application/Model/d3ordermanager_exportTest.php
index 810d107f..04500c6f 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_exportTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_exportTest.php
@@ -1,296 +1,294 @@
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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
-eYjMlJgolhhZnG==
\ No newline at end of file
+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
+7mEEdkrWJZ4mkp5CN9W=
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_listgeneratorTest.php b/src/tests/unit/Application/Model/d3ordermanager_listgeneratorTest.php
index 053f2da0..eb8879c4 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_listgeneratorTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_listgeneratorTest.php
@@ -1,529 +1,523 @@
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
+HR+cP+O+ke3VYX+tfXWleuXkduH2pz0Xk06isOgu0s7Fwkfz/kewcN0YyF89aI7U60c55wSFFR6A
+UWAYQj34zZB2IiECqpzLbznI+TuYy6AtyUqCAipIT0Vf+/REtWlVrTkYv8aXFHeo/h1z27TZrpbC
+/wGbLnQd/hLFbRGmeHC66p9P0JNPraUCy+HvS+9bJ2j7n0Be/aoxLu3kUFFTIVnw4DihzeuaCL67
+7qWdL2MN+h/mM3wlmeqoLtQymdHG94eQsifBC7uq9EDBiwjz4xzclKadUqjhL8zq3IWAjd7VWAuD
+SmDvCik2+xoNsUEpn57LL7TAU1WRjuJ6y8smSzvlMm+N+fEarS3+NN20EDfXcUdZRJwzFR3qcL6K
+KGT03XacaXbWwZwvS/ThhbskJw1aNybZBk9IoX8VtxorX4jjC1WBP2YF0odI9dIPpLCCvZ6BqIJ9
+Tmg4sycbT97WweVK3uhGYmpw9cdeCnq0sXqzDmVbq6ZUia090DvtvRTofw/7s10xMp/nVLxhw0Qw
+IRzO+JPAQQzLekOCDvOY0CnFmHuT0jbOtxaYa5u41kt6YaxZXTlYJPbBIMUfpHqZWPKdvEyo6oW7
+Tqr+EG8W2deu7bNVlb0AAloxWBZy3qzo4Bu1bCpvGQ0NhNdMkizT/m6PXh8dybNVchTzWkbcYhkq
+lunTbW4Tl6Pw8YLMn/hSWPCFNLAHs9fowq64VnpzmYCVhBiPzTrPKemLpzTk2NzC6evU9XFMUikm
+Vwd3SyFI6JXaYG9Aj92S1JyVCzqY3COzqJ4RUzm2WgP7S83a2gq0lYPVGdk3Nc5/Alv8gMMq7/x/
+yiXmxuyoCGoosPoEQotzLLTJcxYsM3y9d74ucm+UC8cTC+1W7dY1LoX8YOul5eIvVenWv7sA5wMx
+AtSWPedW6T6PQtOwJ+gXrKjyh+9vPVe4K0lav8y3fJcejCubVS1DG92y7Mj0aEWf/Vt5rz1cePMW
+ddC4+khJcFFQPXy79hrgQd9OL9zsRHc0fwEJEDqDpnF3DI36C8/evp4X06n8SiwXZQqetT4hvijM
+a6BvbBsAKH4jCuiqQHnpA0qxtwjjGzNDe1o2n6oQkcd+fHzultdvfuwcDds43FmoS+RbpCtGnPYn
+Ol9EcKG6BliWuS72x4hwEhLHSnA9BqQ9U9lsUz6HckiYRBL0H5a+qQKYwhzFtT6yEyKpsoFwThNI
+TG3XbgZaKYJySe4RPNNTLhGswt8Hudc+XuE0b6ILBgcarDeceQf6/OQ4E8zZWuTNPzYwVtr71tUu
+TK4RRUdq/Ul502RiZGqDZULe2zLpvj8HYjvim9RSKpxwA01vHftvllX048uLNS4BI9cydZMQvr3S
+xH4Mevk+dwyVGPBndLQet5QPBS6xOkZSXLF/37h3Rns/CYTXhFnILuCgNMdphBaogC3F3ZV4KGG+
+3GjwrGHdKrmPmRPyYg0icdc8rKh6QUERGebTv7YmbyAV8sJ+V0SwYDibmCComIDKKhGwld71Mi8Z
+LlHt3vQp52G+e95pV4jpTzsxU0GRkyPRHxHPSRlXUwUd9/Lck0KUTZZb4CKsqaZBKRHVm5E8sc31
+p/UC0BiuK9FWrFOwdOPD6/y2wzpHtE9DkdnN854BjSKFki8E/rrJ2K8Wautf4Y55nyGxP2pGNvM8
+9lESmYe6Zmp62FPrwELBhkPWvYyo/LiV/rtqVbUmcS1yyyEWme4EZy3E5jH89cbZbJTsNW+s+LNg
+xBYvYKtpCqJgAcATZZ9gtgJunsIbcL+8yeQFmNLGQkfU2ganr8C4ztYT39/HM/svUCXcmBYND/rm
+p+VvCu37Ski5B1a6fy9q4KOJbU+oEcqiQLpmKIITQbhihj0kfyl4owo6Edv6cl3XW2pLDHGMadx2
+Ou1hDcAJec7bfwtJD1cvHcBoh+PxypX3M4pqM4Ru+73ACP8vZOu/6w6ObwjK5eghbK5T7x7taARJ
+lZUTR716VG6clJcPEBd7zwOnDXKpXRdn/oPllFzvJ/EQMBIulEGdE/BPbgwIbvXPnVubcLt9Lv2M
+ETm3PhhIyZJs6Z2mjuGdmBs698D9zeaAspH5iZwZFIoxiNtxEQqbTSzxLKDE8N++/TpdLo+ruN7c
+s/EiVvfVPc6031AuP4fQSNveHngW+ZRx32TFMYIV7DTO6/N6Mly/aDymJfw3gQhiCCfp8l5fo45l
+AG4Lx2IJgAp5yO39jELJtRBRI7HCYXjPhNoO+EYHO1uM0N6o1CBDYV5BxEMBVofp48jTySAk+prR
+QBUwIty4Sb9FaoquOFElSnKug42g9tAEKxo0dUqJDQs920KqLEk/t8962gD9cGIKKiUY7hJxYwER
+LodWp0LFIUyRGndyfxozpG4ltutFSiyaAlrUNt7nMKRSZAMpzvvo1y3NQnhgVjIPinPeedxtiwkK
+frNerRrVtyYtW/CmvedXjLZuu1am+uBnS1VWjFkmKcHjiXnoFTx6uEYF12PTGLehINORU05V+6fR
+0mJ3+iaPwF6zb32m+ZJbEi7ZcWbxKspl0npSAPzU93iL332UYirlKTk+1K1qHFXziNWeP/8njuHW
+Qu2alJuImBw2JNISoEyIo3kB/BhxL6IOr98NnqTBGfA+dZO1PvPU9b0f8e2X8dgvRXpIX0Y/Ua9e
+6FuwqXjDjrUeWXfrjzRuworc+wTdGqmb1U39v+Lrz0JYvmT8h18f1Yc9WeqrfZ3YUEfwL7l5ypvS
+Z/eAtW+6e3B/N2N3jPNzGmgFGXFaVrPoDQzLOo/qX8SNm/qfUFOJcKvDlKz3GL2HZBR2PrGEOc0Y
+NLgWo4Gu5c8pm2gdrVU+nNFP1/f6RM2B2zOFKu7CSO6SLT/+/pdUFecxQO3dAJ8plNSmiohJ5rvI
+B8mlTY8SsOZKegUDyOWHfPCpRFHEboIYUZX82tMvWRL6FvutZn65VjmuraB7j38i77UrP6R2gZfX
+Aq7BlqAn668ZKQTI3pJOSb/AY+NQAXPHs3FOKYMwq/g7Au18BnuJdtNwhpDrwKuIKHb3U/MkxOEO
+nho+HtbV8Hh38N4T35akpSbw7gEh0AtQl7Pr48aPpjHBt4zwGrqONg0XtoWbVyKSratthGpY4ZzC
+96JUfW8s7Ik2OFrjx8AtJZvlA4WAc9NU9j6qDKKEaz21So0Aq0R6PX8pNXx9rOgdoy56x9S+MmsB
+NDJbPP5JAYlAz3TVny4OzNE3W4EX9Ifzuykd5UmUQiIkbI/Jkev3fDegdNfujFEfcsJ2Z7BhlZKm
+aMzo9QdlZWZXzKEmw+ErL3a6h03qMirXQzfCTFUvFyXYEm9q3V88haMPqQfVKarX07fxLDe1Iyz6
+KAkN8Sxctoe5MTvuB1C4EJsWIkNjL6r+/J1T74tJCUiIHEghHkiCU2sroJyBIxY9djMorvUr1O5H
+LF6W9ss+bt5N7Nvv/vyImRVROa6OGfT5pk8faAx1gedI3F46vEdhhuXMS4dNApH2X6zzX5wDUzGo
+hZKlBASMCq+HgcJb7Qz+wnRdA4y0zBAbPdfHsvobAKZtXZkygIoKbEjCHo1nLalBi7scGJAXCLYK
+4W6lOb1WLk/BLcSdeyQROUB5OpzFYorEu4HH+5mXG+5+JJXlmz/uPFC4I6y0gz8JGMyHRy3xZ3Ql
+K0u3FWAP0Uz8T70lGjhQhsNs2Z4FSUc5j/QvaoBFTXg2T4N0QU9D1Sj12X3zMhDf2t7Jwq/YwM33
+Gc8GiGTJ8zQlZn7OnxWEiydGS5azKjwPpoJOGFwkRL9d7YFqdyU9INybcmo7Ya5kpFMsD+ltLGK7
+5j/4bIuceUMnUUDrG30Q/YZGXD2LcvyiCTH9lOegQYH86GI0yywy+MbYjdhpurPA32L/YY17hrII
+j4bR9NE1OFqdG5sEE2/x1COu/KQSn/rYyRWuUzXcWpB/6xfAfKucp5rijafNWxZcITAbMJjMYseH
+oD9MpXNOGSqB4CWmR4AAmY/UuOXkKf6/kmahO1sSOuqM1qyTt4kYxW3COg4gilBpGv4M/ivbyc4s
+ji1UkLbHWdB07atl4LpVpSqWsrea0W8mYsk7i73YIq6asOJyFWqPxDQ1rdumKHkWfm/WNCdfqNN6
++92wUyDYGeyqQv7JBmH2x6h1T0Y6V97qS1BwKPID1Iy1Fseqq9cpo+E/gbhRlAQsVOKWOFRwQTIE
+Rc8pWRM+PR2sSDBXt2LpUDjcSXOHp8KbJCP+8QN3vIKcG9Nsb0seuTwMxYx3AKjUJ/dXIdoR35pc
+t1sHpFvkRAxBCOHmvxhsj2IxVuMPnYb+abp3RgY46Ru/SS29N3WMYCAt5nirFWHc0dWf4imFwget
+B1a1fNKeELUMMLktHa0p0aY0tcS/ZRunIrZpqy2q8DszfdRIFfL9VYtOztgOWRaQNoqOS3Pef+VB
+qNJ+L+v3ozsFrVQifdzpjxFIdSy/g9vyt7gGDBv9HKCqHzJ/m+2nrQVSysLVxVEzTPfePje/VeF4
+fGjdsaKFhmERv4YRL8n/5xXTA6hIB+QDucz0UD/lqFoXvS8cPtV87JIKmqR+ILetEV8fIZcFN3AE
+7iOYPzFBABZqrwBpgWLciPeSyGAZJAauQEwmZ5KR0BYh44aeirT4PdB3aq46qvQWT2FiZRSwuoKR
+bEaJkAyKguTri9ysQe25NQgM/83ExpONrYk/jTMhoT4QjseOQjxwXVGRXpeaOO4aHWO4yMFE0lvy
+jDieUII4Hu17eEiGfAxV3Op5beIfO4NtYyJ6TcvDQ38t3Cqt+rJxIHshiNH/iomPVPerZ0B62xXi
+42Od4NvacFp/3Tdst90SbVzYwSFR/3b5gKfgVcV/IdYzOoKhQWeCBf+sric5MQZQSqrr7FEq6i91
+9q32BDzMZet6/AGUGmc+Lt84784/KwKOYMdNtqCHTk0z4DcBBJ8wZLPEPuNRBj/Vd0EV49mOaZUn
+gSzqhUlvsb3szjRFSSwmNC/ATOmpJ3F5ZgqkV6VBT9keVfsB5uW+ofXCrBaqVFb9FJLLXnrdbBNM
+0CZcp80jiyhguBvc9q447TzxJ5HArjXPloSXdElrchl8TVPvi15dEWrVI04moaFbc/JBHL7STQ4V
+ESpKTcdEfABt4TbczyUZIhqnkgllQbba40c8MnoUXBz93n3r5ob5lxsx680UVnvuo8Q4YV9iWAE6
+JqsLCJYsrlH2CJieKFMIN9LQrDcUug0qUTBYq7g0lDyaTiT1vVrZc7Rv/ZguuNtYhkEKPvuI/gfu
+MOhPgP7UXTXp57lBSvtQMBN1dhK3DuyzUx5WaxxDBuusVIxpS+awMCcSmr9X+NM8TEtl28lDQwX3
+Ic7sZ0Djfuu90bQjKFDScFOU/IGl2XJtgtzDuiDF31MgE2SDjJXn5KFLcjHx8e+n69XgQ2mG+epU
+gzIqv/Fs+8v75a/ljXY3uDAr4/YxtAM2wfPOYzr/QeQ1zWuHVsyp+NoSbqSpVlwjGTZ9X95vLld4
+GqTOhRRmQixWEFotK6kbplTVAl+3vKCSC2SsUwJkFeGe/z+KzVCrrkWYzkQ/Mom+Pd+lrlNkz4pE
+VuRNIVwu6vTvVdAxA1Uhj7QFpqen7Dcp8J7/zb/fhvVLA4A5FXLbfZ+CfDEaiiSkrLkKAHhqLuZK
+qq2LPrB76jzkHU2sV/ak3TUGeym+UvqCVo6B5u02KUZei5RwbGDJmDWPCrb3pWCYiPkYnsIiDzyY
+iVhz7XpfMXfk1T2wNWCuJr6UUB2UALudRVWj9sqteAuYI+4jyTUmX2bDyeu1TgrPSj7XTh5a025c
+izYB6QdspH/xuWeiRNrRsrNhv3YQzPqWHby4FbC+tS7eO77P1caQeXtJKM8rTQ31WbY8NMrgTOP/
+qSW2NGWqCv+7kgMt4RZh/xmrZpI6NCModF2+iVjdggUQz6ZdOx1OZhknBOr2svoKBzLiD+tRD+nV
+JuZbSyeWT7l7aHHFDjaqdwdedOIwjSnVrmV9iNuSlQYzh4zdTVHbyW8AMr6gTFd+Zpl7GeEFwhDj
+c+I+ZhlXUf1Blzc81XVyy47ffWJcqRS5EotJ7YYZoKMLcuUGiJvVBt5EWVUs2EieeQ7tDURk27cp
+6u8JNt395D7fSzWnJEDaDybeMO6ekC61Nop+GRZlwDBMegEItaQYaj5/3K6F6K+jAwJON09MgFfQ
+CHwK6LVpHVJR+KkeVYcZ7fOCJVr+kqxebUAmUxjmXHPOeL0EB/zB8zNEBTzcNYNTJnL/vVe5t+49
+oYukBpx/558MOfPSlAYqWVMRjxiKAbAn5Eta1c9hRiG4NQjczsrQKE7b7vCMaBsDkVG5fZ30bgm3
+fxPiSclF2z0GyETsEvTfzMRtX8QHXQvhuBXLXvxApGo7pv8qORMgtE6xpvB6p1CDGJxbrlF34akG
+wIfRhQWs8lRfC5pya38CjVddL8+/mWv4LnnbfD9tdm1xn+ATdPPwvT5mNc90xrRBmGvIAN4zeZ4l
+1YYePcIaLKZZtO4UUtbhlpvnUEPU1RL/GcRSYaSx4FEvPDMlPBBBhoHtX6suDRa809JLWf5SgtQg
+1N1VzvjrMgWTSv2B1LnJQutE9NqdW/sci7Wj1i/ZjCWjv1Fir8KllC/xVVxDxDmO3/CUan5g+WnX
+JL+anmcW4KilvzyWYZZv1a1RQOfB3n+NulUs6AY0xlOsE9DLdMeROrxAdo6ZSsScA/WteBj2KN+h
+4D2NUxv1EeqO0IYT8ogBuXh5eh8Fp8nKlLjCTlkzI5in/aqc/VFn0pxAGrKXGDu8G1h5a67mdpDF
+8f+v61bscgguUy1djHKbefzTgRMjYQWtamcY3oazxw2yyynX1F1Z9+IYXraNVGVeMcq+bbJgFyG5
+q9JzvXIsjhwQnhscSILYZFZlFu5LSioZN8F3VHDqj6j11dWmtY06RJN/kWfXJW3ABGtEzlnLULOr
+DuZjgXFcfBpsL6I4a5aTMJVUriGIoK8zBgmhDDxbPBF8M+Qt86qDh7EBGQf8NAbEGPcfySxH7W7m
+NbV6g88F0435g1a3uQID7DEZmNlLJ3sE40YpfcAaSR/PAMygEHdQ4ldiFeHzmpsCT42mPoRDOfIj
+7SOJY8SkU4sZ89+PkuJXAr2YT3stK+GGpuuIvPVw6pcK0eqS1Fik4rHFapl7ScBWT9a48kwPUANc
+xvxcAPfO3+X/OgJGf/5+oTK3/ADsyTqTgqP/Z+YtjeLGL61Cp0z0OsvW1jdJaNyYwp6D3QjQM/vK
+kN4FmDdqDAQ4QmAMFiWGlWlRx1p4pJkCJS4z1wQYW2zqGNIDY9TR8/WOrMjag7RixRMVmPP/hlDF
+CEgM7Oc6KUD2u5iSJWnVmtIT/FuX3679a7zyduP5/IHBN07RNE905bF7QeYD1QevNDZgAmrI8u1M
+1zsihtWpN008ToAI7JW/+zvT1YHouA0ZG2KAFY57k7d+b6nUBiqW1C0zfwsgPgPNrB79RCokNc63
+ImsxL7Et5fKU6+VUrhLd4L+1BNRM3Zt7hqbDWX/LbiiXf/PKwjo8QA+dO9upCGooxGdIGpWC6rOh
+G/EHUKOfVvP8xQN5OB2C+SAFLCc72LxSnP9yXYZ1m3Vg0scHunAZzWbN3dnEQ38FollMjgMpdFY8
+qw3ESTN91LLNl1XulBgUUiKJJ7KHaviGV3N+TidBNxCKzelUvcSpUZIeJH06HYH66UWv6WzES5Er
+D99kqAyR0426kzEp9aAI24+IBrMe58YYpL5ExXTw2ojDQ33MsURsRiltQmJnYENGWVvZxZ4wjrKU
+phciAGLtcxwe0lbtYFlUXs349o1E8QbwdnwRLdCEP8r3qNXiWHa+QEL710pCiTDxwArBNWhT1XJn
+IYrzPopno0gPAZX6t2Te0TyZMmlcfUMFCoyqSzrvLDdGZ55ngBGBxZQf6tCNpINAG+ct9x8rfzE/
+5rfvyG0tx0AvFyd4ipYlzPxK4PwH66bXkilgkVRIkIpOIwX+Dr+IiqqvgM4TbjcND1d+ZxrX29Qp
+8nRZrBwdvj2uZjQFrLkwr47dZ73x1jGzIxTosEC7hKX/4a5uuLIndvQUzFuxhsRwlvg0lFizVPDj
+QHEPt/FkL8a56bbS27XGnRMXsXBgpuQ31qchOzq0Z6m6Ok40jAdWqUrKnqjo5+ZqEbMYdgYVtdWZ
+mqtG30W8qx9pvyOknryY++boXTXBBwbgUEHGRt8Eun8V1udn9jpEkK/SbvhlLaD2C6djPtZ7JuG+
+rkM31000j3K3nrs+FeHvtI+viRFYn7JH9al/8Idw5VckJ/ZQWlQf+gUl7f4BtJqnetzyq9sbzUFy
+IHzMx7Z7fJYPYIfpIphzfBO0zCewmymhWH/LqH6IzlucYTvreS654DIASHygDtkKnJLtiKAk3prx
+jrGOI/gK8/MqYr8UOFKHo3DbumkKUtaCFZBYmNWTeNy+y0CT2+XM504DV81jPOEJMl6r3Yw5vN3x
+Nfe6vyFPonf7dcbN0nEWrtLraISNpJ5oJM0OmHhYtfQCdJeH14GSOdII5nn0ANzOB1SvfipJFeMh
+wyDISUCJEA4XlLvJQxK8Rzp+7RJNBjQhmYM6bNfBFSdPspWzxh7EPwdYkec34jTrdF4+VLfXfgpV
+E+ixnXg/jcWQRmuQ/VlR2DVmeFslsWKmghoRatlRQnJYzVP4VbsV8MOmThuB1Ut6+Phgoic3jnx2
+z8QEzNn6uAFSMgbOCq0be7wVR/eaMxOIPhAnrbi6b2ReC1ciWzPoPWmWbwvLjIAofsTpmKchDLot
+XCaWSl3tqwlcxHPYvCj/Wzwz3LIPfG09oMaH8lqwsM2fFdfddtZqkizLC++vEH0NXuIqQYoqOzYK
+lSpYhy7ARui4jthOzPxvEvQZROChtl1LMs/qzYFM8Th7DmlusdUuCefoPbCJetaP6A8cNalVyl09
+ArV9vb41AxH/Yf+cYEGX/KvJNiAd/o6/CEdxrGBAFTj9EhMmaGdOh1kwmHvbtvSV8IObLX0LKx8z
+6Y84YUlS2YDNeeleKqPoOXVHX6NWNAv/gIflblkYIZTz0pEw2SFyi+vScfKfXFCr5q3d+Nqm+Ds2
+mMQW2elKwfAIkZMLhr864VuWRDCOpCBsyTRLmCb9asjOsgASLR5YtmXeRV/cdTxvcjQjkmLYEapg
+QkWmOA/gu7qtQNcgpt8tXkvnZ178jn4m2aQxTo7lpeLf+7AVKOCZTMWWXNUs/wxwFj2A1pvg/QIO
+dgenMLkGJsadzi8uR0v6elrPjAZGdOcBbFsNMBmq+rf1whtDvdB9fO/mnAVi2w+gXqvf7ZPGs/5A
+8mo56Cq29z97bMrRxQBwx/4QthYZu7CUGUawRZUWVmVE+8EAAuHGpp6fC+G5Ig5vMVtQ7c2gANkl
+aihGlhHVK3J1k0Ey2hT0MPxQiZrKsyQATY4GLUkMJYqf3EIupJaMHd7vIn6OvhSjEoj96+w+Yx+o
+oPpb/tn5iB3xyYHs4Ju76AX5okgbnDt3RAdKIUzd1TRXqibN41drXqP/Wq/OBd03MbYkFv/czg73
+l5/yr2YROanQzC2lOvFrxoDJt5QcDjlY5g4xKQeaJlmZNFhhv8eWT5qA2A+eUv+p/jFtLPMGxig0
+QhAf6Z8tZkpk8NyPjuKKCctZ3TSjWYMDwti7vtyCM3yZv26uv5TUmAW48bRT7RH45yCrLWUfoO/V
+Lv3YeCh0a4MfveioGC3YzI/dbBKV/pT78HMHMYNmUbqP1SeMXkemzqj4Ak0G6zACG2Pq5Thcx7dR
+p5T8+3zhdwfsnXXJH0UvzKa02GmZWrje9cra9opxj6OMQEIsQ3V9x3Lo01fT4xJ8trSZszaEo8Z3
+cLM4nDIo83CiPFLO3BjJ6GvZ0Bi9Glnt8z6waDQHwuBMZvrfDQHDfWMlIZNN2MuDQxoQjwwTtGxC
+xifaHJQ0SCUmsfP29aVOSnnuweR/dir3cs6i+vx9zVt3SRKtbPo6BMezB5WwAWgVR/A9jRv5u78v
+TO4zbsVKZKZtzoGTtZOiTdlj2hifJwnbU3/OOvdQY322V9yAa8Ecin66wKHXdJ1JtphNdrjBXpYL
+LnFu1M5SzhVw7vRwOBvb/bDMUh3mZFUtAvIIQEtbJ75oj46Fa+hXs/X/mr61W3Lkt8pVagZQMvJP
+5iFSQ49XNJRoXYGPLb24diXM3YANJULSWIzvC2zFjVa52DoXuRjWfixdR+psS5/jMhcMoTf8e4Wf
+QTVHMrUXTWOHLpgw0vUjrNiFt4zufA986C0c3ncJMPF0l6vkLfdJyi7BKGcyCrcTkhtSKASM2blX
+9wDU3G22RS67aUUBQDU4cB50Qx0Os2FtIs9QIf+AQm72l51C0qUQsLidNK/JoXOEK5bwZhglBDgk
+KW9l+EWpZfgj5DxAnfqs5CvdpEXxNjxy2svugAOQQp31wHbnqyutzIUCz7v000Ck/TN+FUxqt7Dy
+NNT+xKkXwA4S6X6PhmNeHycraOh2TXG+dJwkwzBNuNmlJI6+8FZ61M/KQ7v6qdZMGebDab49KpkE
+RE24dFpwD+Iur/Das5+FPTa/io9zgukPNv2DFkzkhxtuL7S/OabMjPMKehKFuOILbhcvNJqZ4t4F
+At058EKEDErhMRYHnsoXgoCEZed6ntsTqtk+ZOjJc2tC+otcyHxzKukPTkQgqyyf/gB/b4quS2hJ
++Ze2fE51ZlBMQvxPRXfXLZLl379xeIFArCFRSHROS6o4w7yo8Y8Az7TjdyaMk1f+xmhjFrzCkHOo
+qk6SVw+JvZNlCErrYpQTVzt2jZeoJ7mKGal6lHoSyRclm1M04usMtwFqPrPEkCRXai0VUF8Wis1I
+NuifH55n3wFBxgKQGP3yqFMXdTG9ivyzDa9qrpgprzBwIIiSLCdbbo1GAZBIhyN9sS8zibxiAh12
+R2LApHFh2Mzvn5Oq1Sju92Y0PsQ+zLvLhWwJR4QYjufxQFVc4vw3K47u2kPI6fB+zBi5u19actyA
+/B+edFO4xfyQtZwzTyHSRWecigjI87qFmq8oMNF+o3sV3I0TN7fnwvBE6YnQhWnLSwNSxIfkEFr4
+kPpvYRjWCh7a7yR+PCMBb0e285vMSNoZHNYYQ/vJUQJ5s4CkHlBNHP2BONDp/t3/YwVauZ0r4EUn
+hETjjG85SodowUH3hK95xC5ibXb/74+IeGRBMgE17+Tc4PT2khM4DDarpqFlCI21UndsoMXuVTGk
+HI0eIQVeadBFM1EGlheSbnxKtz8PVeVle0uJr6QgC+bkFhGpR2XPQ94DfPeTGn4VqxelaE6vYZ18
+GQJHjS4bgi6PecaMyRlr2PRhyHl+0z7LC+SmVkCdJonaNgg6riH36AUXMrIBowpecqTDz5X3yeiF
+GTqKXSp5tHjURIeQyuDtOK63zFPV5251/I0IJsX2ww2Trzt/yS7fJQ5WzUm5mYR9Bl0WOiPxOWo1
+nF+c3InpX6cEpACO53wteHigGwyWP7Un/i9nWTRY2J6ncCe77+Fu9Z/hX77sg2EuJxy4TyguD1Ie
+JwrjdE+js+DmggI721RAyqLYLEVetN8uvF7I1FkfAo2NqDCOOyL8sW1diss8+nkL7yOI0GiZEmEN
+rAv5CMdBQ0z0JJFoFYbT+KHlucar6s009MpPLyV+VPRzGRpa1zx4Adu52ALruv/w2QzcgCDXVs8S
+mQEZANm9mYKOuq3WmyXMetggxqHfE5JR7ee0Juy2N8Bt15BIK/elAAbMrfC0XtLh8fyGNo7dkhHL
+QHrXH5RfKnzKLgs0AUHag3lCjZw5iqsUtSMxqPNfwDlemPzofLnunz4M22q/6GZ34+iv6UVNQv6C
+d1h6QeE9oY9Wy762P/iTvJy/5jt0sL397rlIbkk9qxkPZGnO1s3TZ/p41BL39DM8FyMPib/ns7RY
+WSpPVHvCCPu1KV19pyWf3dM2iy/eWSKrh/byVQiAQwpbb2N3NSbpadclPrdXzsnwCEnn8Xv8H/0p
+tafpNlnwatWZARX90nsiWNyXWPxHPfk5sS7DKPyt18O0aWmR9sNllRxA2CWhKZiZatK97SvNVWIk
+V92uRh4rxD6sFdkbSUSNY9nREvULgfIVhsqk46j0TIaATfhNK31Gyn9j4Vfhi7CZ0TgeQ+ZEbifQ
+9dH6EGSJYk4KiTaifDl3UiNzZJth3GPsb8jttW2DlqOq1C9rra8sGwiroJQX0aFnXDQ8QSyWhpdF
+5cMoNfGBR3kxjLHk8h3oAeWwllFyZdmczIv0JOQ4EyCQjqfKO8QdBkzlexi/3gHOtHcdG001j+1x
+adE8L+K/9pyA3Pm2UnGOru/cbYtAVj0bzt7u9KJVwlEwR6pSOxrNrhUyovyYZ+Vz8ieICVLZT5iv
+Qyuo8KRQ6dlOwCS3Qdlhi9Wuej2NevzD1043CTnxuCC8dz64CcdyJ95/9DzHU8r9Rg50EoEZ6z/C
+UjPT8J2JMAum33ynUq4RWooZinhNR5JKCtkMNNmtPp9cxjTesJOBwAC4xgRW5yRUJ4kaiY6KCYzj
+/tLPjwxHgPSSgMrYZ01V6LLLteH3wBMrbS41RFwqAtJzsnI724xceUGA41gB5Qa2muor9+D5sJch
+6mOYFun0GsgT9ZjS/GvRsH3fY9Ln5LL2nL9/sRdNtzYTH7CU0RdAE19EIBhd0Y/JL+3LSU4lCci4
+qZyR4FxO1jhCeRAJpZ4YhgsxDWoLeaZ0cmaPRsAwBIK1o8+nDMP/EmYoY6gQuKE3dJ6UHf3Lh6Lz
+V4tzC/ylCxs+YHzCHzkUciLKfEdmAS+ZvT8VMmMYM3xgRQhy4psjEjhcOG9Qs/PypbmHu1a/oG3N
+0eHA9ee5Usz4wBHk/fBm/yRbTMPIfFTatt39DN4fl8eEX7eAVXtzMS+uihDWRq+6yUQqLKEq6LCW
+j0Z6gnBmCB/JOeVPiiQHiIBLxcpad2BBe0DSar626N+fi5XarfjWo6PoVf15RqMTgNxfiLSPUWpW
+CEvMRLdgeFuch8GlvWNCG5jxC5gebQ+w/R2/cUo0Uf/BpiOBJvghhmIfwWDFpu80Z8gqHIDkIK2J
+hGKd/bWl/mkWPvE1uqidlXeOXmRgAKbNzZg0f0AHs6kERYdDcXP8ETjMIRk/a2wm8FvBWtNnTON2
+k+hKm9Aom+hYtiwPHMEivl4rC8u9D22KbfcTZY5+PZ3Pi5nFWL3YdwQX0R7SRk6w3v75/FcAxYMm
+vxfA6VzWNhRW2rC1/JuiOhx8c3kZ+EeVDxsQslPisicQUmL7NUGR1JQT6FSmzYD/pi+5denoVh2l
+kswYY0MoXYrnv3tEGbblzS9/Ssd+71g3Qa/CeUCW407WqhIOYtm5mUNc5FHXfs9KwUOFrb2wyyRe
+Ov1EsRXjbKKvf1eSv8+6TYls/1FVFoBN11N+gQcpHiHP6o+PufN8NyKEXhW1oPoLyDgUao5OjkjS
+B/V5DR1qfT2r+GaTs/zU8Ri3pYDzG4NXFnxibMXLaASXefjy4iRK+dKQLe8IQXWY3nhr0Sg2QxJn
+vIAEMVu2AinssOhhuDgdmfQeG3l+c2fvpuTVGoqDEv0G8zs8U650f4htFlNS16ue7j0QA/gCJSSC
+/kuEEiy9uF07OvbiaDL2HBgZczyZ8Q46kcwCggsXPvkef//n+3T80tMP7Ul/76XqhPTz7YWksfhF
+9YgmCVp+89cKxkdzZx8j7iBcwn9z242nP0UyWcr2ZQpF28H62XJVn5EcRUHXYQ3WIvWpxy90davI
+NSscPPNs4vjPum+8HwEmeTpuHXnTV/w7feK0I3VlnSy153eAvMVe68a3WVmSa/tM3gyOmuxFHxs7
+rcGcevqfrtmhiBPoLiNhv/lhyS5eQGg2TTvRM0ut0P2sKpIGt1IxGvVMsbHP5I2N9aHDMgriXD2u
+QO9fCGYEA+mRb6dKCLF/iCPMZls84hgamfYMNspzGiHQow3u31fE68OzyZ5p5iGty5m2il1TOAbk
+GqVPk2UndkIXw/LsctafE/p+g+oAMxjLHYKP1AQLmFbjr+iBLz4LiLbJabhWvkIARURsPR6GJ37k
+OFbdMT4cxXABrplYByyMas8heBMzTa9Ts1/eMPgrFh+qv/3HB8+ZcHRe8TNcs2Zf/RzUpHxrh0I/
+dL1FW53G15gBwm5d2gORZD+xll3IsznxDyO2YK45mD2/MXhBgISRLb7jOujKOgBFwbNS656Rv9As
+zkSX08xYX9MnMW7qNo+bbj7BaTMgsSAbBeMa2tGW/1l8rXRks4VaRvKbTF+OqTCOjufDiSYoVRQN
+fxSNVTnefjKkAv/jvXQj7C1QCrzxo7j4u/MRxEgssC/dvEud/9vWt1mW4+l5dZBXE2CvXjb1SrNO
+tBDetcliBbBxYoYOMcAm0yX5NV2BDeKbdXqJ9LD8fvIK7LlZgfH0N0I4l1LXnYOVcPH+zVhb1vKi
+4DRmu40TQQSTRm/RpUaVJTY+GTeZQM6vFGl3VZb+Jg0WtVs4Z0t912ojyyMqqMg4zOZZ5sVNbYuC
+QAvuS1ekp91WVSvwHzi+fKWBzb/Ty9rLiIEZw1sccbQFVP0OLTMffYmi9lYWrnjvjGXxwMCFGOnp
+STSzum8xroqSt8HkP+iKgbFJOHX6lvEJ33CjW7oL41quKAvuJvCzywrLsnt30WTw6/3pgsiQZ68B
+a/iO5wfakqiKxuoM4oalkEzn1cQyq9vaYU9ryerQD4xVxHJPqs6CHl7M+zwlP1sUKNRQ6XkY6q1o
+MZKPahR244+5KBppWFVdhZgPCQcZlgMcgjT/A/jLDXGdVN90zTEBy2EGIk7nvFEgHnT1c1mioAkH
+u2UIB9O8+vI06TzQS5oBb3PxLEh5sCyO0e5RWexk71TAaYitkfGZ68Z9Aiej67NdilsHKgjmk6KP
+Qlk30lXj7OfKHM19FT5GHS88jWX/1cGOA4X/sW2vrHwC/32IQMCTSJblO4p4Tt9rj4t2ipzjkDSK
+11MWeRQPjTy/Qxz8uqhvKmrewy6M2hFc79ol6H9qZY7R45buCfpq6fDS8Jv/uBSJz+TySv+PTjAd
+ta5WefRTwCo/pm/iZa3/P68niKxOoSn9Yb2wJO8PFMIX2b/wtGbE1vwmzyw+D+ToHDuqahbvHtU6
+5bf8eHK8y1FcydVSRPePLoHZwSGMALHvQuVbrKtOHSHPg7PszHiNUz7blLioxdjidCS1syXdN4k1
+LnroED43uzBPuCHDcSXzGS2W5igXwORZlqvw1lIVmE2GH3Fgu07HBUc1JK9JgMa6+YoMTmzsmDTu
+bEtGiOkI16aHNtizfzt2mukE2MWHJrEs8l/NAF9gzn5HUwYTI3T/bVz91v2FrZkUcTc5eVlm3q5S
+XjLuFyUJu8YSElOS5EqK7EHMZ+BNyipJg9/lLG0bgCV5Arct4dfaSxxVBQ+pxXzDI/yBwdDzbUXd
+D0G9ESnYeFOF0Ek+B6oftAH64sv84siXIeYz2KAvBkABHNLSqWdXRcAJnPUcr84nW4nGvE7gjTdp
+knimrnwQyvktRSqDQw+LS+/jxG+msHR0EwVgqoPFiJ5aMO/swEbXkgSZnFdsdasaJCoZLiSunuj2
+LptSrOQSYTJnPotv/CrqoS50qnqLRAzbOgvOnMmALZGO3eBJ33/Y5Ai7SLv/bIN36lqFV9m//vDE
+rHldmxnlClLvoOC3LD1oNIbVcUzedKCZ9Zwpx6Bu65gYincXwzQGnGlokWlSdQaREbOE5wd8ednX
+rn285KMTkL//QTbEhgThet8eIV1mnZcxWTow481Ni+cNejcZ/jcfnQx6u2QRvUvmT0F++I6pne7f
+6S6+lufdgiW3QjF733ZVmlSYPVJrlvsl+sm7jRyfncC7xChLwINIz4iFbwwWVVZLyJ3nDfPra7L5
+oNeXuaO9artCDvZzuwSAsKH1x1RgTz1jwmgxFGhLH8R0S7UuRHWS/TvZwxpxLJ8zEQXhKllDzH8V
+hNkw+G1leVPOjKMGwTk2MG5wJUOLYU/TjrN/6QoSylChLtE7bty3o2JT1plZtXbT/0qqWYNPz8XP
+rWOr3EJzjzlF7gOQtYTVyKtUS3YpAftBWqjVkmrXXDdJXN9bK65QwnTc8YS5zlk5gX0BlR7QljwT
+oWs3Md7Tn/qFZJH7yXbhhzqQFWNxE34CtMFwBq21JwCaWD3Rc6//ZdXXE+NDgBO3SodWIDuijNnb
+3wc8b/gYGE4dlq/hFJCjtUW6Z9PPemAIOfQ+5BqYq6se17eMd/1WR4LSXBpnJ/5gG2wLdVH6CtEg
+xI1RmZ8jLToMQ29gDtEwWmD9czkCrafhzFLngqhdoutg/uLgdKydyxJ3beH9T7BF5pGbQLIwI4fx
+c94F7mREYEuq4m28duCRGc1eCnu2yQyKsscuJGhDNyfayZ0P1cyIDyJcvZjKEz2kk30flZi3NYDN
+XnKEpbSzflUEXswOsRGOvuYvHRJl35xsAWMaVT+hB1XMFROnk/nC5m/L1QMhC5VRh6LPLC9cf4f2
+Q82M/LMRRGwOTvuqnz6AbZDhhbZ7LucOa7nIJq1A3UEv6YpZ8NbKRnVh+BH5QNRZnO8zyH7SeUYL
+AJRaTtvM8EYjExdYzAyrKgVio+ZW97V24odi7VjPm+dc31F1L1lohFMkM1uNWLG/WbLYQ1bwXKgW
+fH71Ln56DTVthnFt754lvftsbx2piiroQsntM1Hw/r4VUK1x/Ib11T0D5TuMIagKJcbd7bCd9rHn
+jP9jfQTOT9kg5W+JuHhHnslIryAJfZV6VoQejoQ2ooQMsjIe4YtnKWdKAXNw8SgLPqcOKOLTeskp
+wqaQfWfAmJ2DN+iKtKFoD90Kx5b0BB0oRZtNpqHqfbgBOlyPDAwIdaXbvNb7dsc1jVu1LwnJra9u
+nJiXV9mPf76OqIJ2r9Wf9RU8qyDaRlNw0KCXojSkA7V1qkYLdJcTrVficarXFtjhdHLG2jYjKslw
+yRvV9mCLUxLQwC84y8LPyoUQcA5NvmBvAbY3NHa9sq+peo+GaiOruAXkV9I4ldzImh343Z8W1Yvr
+/sx/SfM/loujRZKG/Lde1NKY6jAEa8oGBTgJNp6FYFlWHUT/C7RnGN0SGM+XBzz9dBzC9Qx5w1qL
+MKuOzDmagYvUKXfUyp1O3WbFCoURpTfwK7QvuC8XWOoR9Kk7X1xT42LvC9egyahfk6h970ZM/i/S
+X5y2VwJDgVg87aLw9jk3gK/UrsmuyD7cBenmN7B0FwfDyFYznNXCDz3tjDyCBda0PaOBTBMfSDrk
+KqSX3JWnb2Prsw5UZh/hCmHNY2EkZc8zNKRvopPpoit7jgrpykfMzyFDuHHSZsxTsj76ocCbh+8c
+sb8/u0n41WoWHhr2E4fFsnPPuNAHFqbJainOFVutJ/yI2bo0gEhHkdn5zOtMZ+oINUac+96OJzOW
+2thQY3FTdQrC6VFqhky+29tRbrAzbaLFR9RoubY0m6TrykgIE3b9vLJfeWmnpEbmNNFPNDOtLUYr
+eXzQLu3zfT8k/L3xHzg/xK3Yx7PJ1sX0Op3oo5/dsKxvbmNtM6WQhehriHJSzMM86hTEAQ7/xGb0
+00tgShxM+G1uK/lLyBv0Xkqkl1u5+P9bS0odXE744pIhX3+/74izlpOiACnQTLIEVG5XbkFn51RO
+ESUBYBO2sV+aQZ1fcFj7CF1LSFbROlGtfSyRimvufRnX4o4B4UZcFHvFYmrnw+w6IOpmavgHGaCt
+3YeS/qgbxxbiqc7glaC0q0tdhaIjPtFLtSHQcY4t65IIZVVjqBR1pqOt7uY5jd6adfotfNqAzXpC
+cf/2Fq+kpQ8zZGlrClgNesCvXAvL+0AOuRt0OPozhIne/8TWGr0YXY4sBhZeCMX+TbDs7u4jWlNr
+Nt/Az82IxJtpQh9Vjc5u7/laMU1RXKTZanPtDYqCLfwwFMNDlF5mLxDkWnO7zU9ak5QBSTQGzujm
+GPKbWUfB7g+fBHdfJXZoRZLMoLhAPCmTeW9WMsvxOBKWpfQwrq04DlRBaLoYyD0MNWgmTLpP0N4H
+svQGULPB2R60A29agyCabov29gUPRJBgyEAyhV7+0KiGVmeAUj//mWaUtFthuulneOiaSXHPgX+3
+eBA50Z9Fj5sZ6CmwUl5eOvB34z89puFT4bEDefgBdBnJ5aDTQ0R/jgF7Xm8SviwjCBKU/OPxLWLV
+qDNYeGYD9a/Ua2vLypFIn2uccUUUh4o9CzDpTDI9HNCM6nhQdnyHWwPFacMwPCmtZeqxR3d+p/a3
+eTN6MxdVDahyJA0U6Q+0MTC8SShnog2DHhpHOYkGmsSHipM3ciI3Yd0JaM5TiEQi1j4vhydpwCEe
+Q751SzFQYz/LkfDHQS4lmIZ9s2cAIncpmTegck6Um5o0p9w5swZW2UP+d/XTU+/0O9YT5KDX6qpc
+iv+JwZC6q5QHr2HdNfg79rDKFjR2YdLkLyeK5nDyYr79wd0owV2P8jEmtp5pJvqraMZDOe5lbhfm
+IYsUbXoV7GzW9WpC0LY2np7ehVFK52L2b4we0o8u2l0F3vWKkpVceUwbGwr/7z4RCKSgbk1aeTbX
+RJ/aIeSM32TohBM9SXoI/N75nbaB0Xjn52UXJTZusX3y0vDGhawnEcgIh9Zd7HUeedlKS4VsdWbE
+P7o70sBK/Y+WWeu/kPSJKZ1a+D7moaeHK2zmA66E3L0A+M2bun8xjOTKc/NxfFH+8eIzO8KNJlF1
+8P0t4wQkcnbakNbv1bVpz7BwQs/nZBSDdZQ6Y59X+j8a03A0YWMz4dLXEUaq/qCA8WNU7d2m68zv
+9Dcpiq02AiBXOKeFxgHnWHZgLDvtTloTw7tgSdpI2LKN0hDvL5i4H/TEowjruH9+tDBF3BeBAOPI
+wN/OfjY5AS2GY9qusxZOagESAsk4+boRWyTV/TgxiMhGcqA0grDvCyjuGUICC8NNzWQagqprasq/
+d0uZuiybRw5p5Ju6Yyx7IAnLETdqq0QBbA11R5hH+ewqM+1Xwknz5NEKeeT2Ri5sfsF2h1J7E80S
+UA81h3sigrAh7+Z/kH3cn5a8Q7SEBZKco/rz8/PQBhm4d3S/JS2WRfewtuQqh+5prOrfYsEvMa+m
+9+84bQCjKgEwD9ESJNiQPI3uC5Qhe2wVv/ykRrGo0RDGcVyDWeb6mtw2B51ZnyIKMAaClMlN8Kzy
+QqvesJJ7hZyX/GWtG82Bhg9kElzYQHYMti8q+1R51Oj0SD4UPWDepa1XObfM16SuG8DLk0OB4r93
+W0J8vECtANJqvF4fZxtEwsq6v4XSVHrJZhvA6kkbS8+fW0bP4wFAM5hlHQ+YCww7N4MsOCoOv8xP
+YeIUujyNPDbERr6vLFDItk/+xMOk93CtJKBCP5qzmNbQSnyU+0PEdBJcK32J3vmTjlEoYNDA6c6j
+P0GLScmURsa2LVh5Q/zxRVC8ELKKJas5V8jDmpTDnOPPHKDEoMk0arO6KI2n2aSGOqkYC7NQAt+v
+hAqKhxXP920B1TiAXYBX7btxu/0xOLd/UdfjXd1Ntu5AmUscXh8f0OdrOcq2WhB/1WE0Z5H6BvNF
+HS1snDLyIrJng463KK1qSxg2Z+3ujKasw6BfrZNz2xO00Ew6LXe8E10o/xcI+BN2OysI8jMkgR2w
+fLbXSPESZuaU6QskIjUd1ZcTpW59cj2UVPWAvbmdhSDfu4m34t43p2NnYPedkn9K+n6XYMtRR8pH
+uhQVYdeshKz/lX9VyLxN81A0E0CT/uz3LmqbywQfEnFgsttO/5qB3qs3/CjKT2Dixd63eJ86eSl7
+d2cNajvc6N8IghLHDAobkLsEN7bP6mNNWfN6Vv5I/g1hQLa6aFr0DfLvi0xj6r1t//9z2R5EhSEZ
+Nz7mjdAw3W7GC6glH3cJ1RkaOgOKWc7GPTJ9v9E7xmSeudPmRi5ESJxGhqVqzxM28PnMX6olXz1K
+n5qjVZwh1xmtSaKONELrApkI1pV8XwCGEOjgMfLCZSe3vuhXjVfVD0OxyllIKsdr9glTxfUX2CW0
+yL6aEnu9Td+j/ZOo0BClMpRpG4tg2iYNVvv85ZZfyGE+zmeQrf0A6mFDQS4Lqg/0nxBFL2HHG+xo
+mV2Ez81nGSYJlI1A2MuXWSUREcVdGEIr1fKnCiuave8nmm3Zx4il+qsXJln9MuWqLx/AJT1BWo7R
+5B8ct54gppzDiEK9rfRvWqgbRai/6wFZHJNdbjXYTg/JzovEC14cj89rSQ2qrk0Xyc4FGib49H9u
+Ic6fRDT2iwgot0Y7k3FwTBCJLpMOGOyOuKSMNHoVOtUnygdwtcn1r5CHzUgnggCbPsQV1q3NwjOZ
+CDsOzt52yepCw7ZwYBMaP5KpP1Rs2SF5IzSBWlMM485hIXSU7+AwgXnG5OMOrI+QJ5iOFcT2rLKx
+U3OA4l3JgFhsqGZCFhXGB7fRysFmsNa0BtY2wkyDEjpr2h3OyMsFQxvGEM+JbS+SX9MZ6xtI+2Gg
+93Wxl/OEgAPiw0Bw1I25kYlLRG6gL8CFAo1QnJhgDldwCoXscemw8V/SLuTFj+cO7pMtmjyIF+TR
+YknLB1s987MtnoRhbw7Cp0ntpxuFp9Z68BMOg+DxVDRG9dt1vD/BxNPj8dKSTtnOBYkNvco7gorm
+qnZUU24xWTOX9AnZIgBn1vcVY7NnohPl/B/vPxeEuRCK2NHcwfYMFfJT9PMyV4SXAfYJcXv7Np/4
+cxUmOEbxcKIACoU/hTAR7k+cMaRop/1KqPWLBS9eRxKCtEU+s3RVchw8WLhjElw8n9jLzfqp7GeI
+obucjuOQPDgH8c2z06OZ4D0QAKwgP1D1lJ03eo4eMeR6KEEkZpz1/BUZRd0pkQNlpr1ZEV2Vri/m
+Yn0poUN20YS/EOLlcbC8+5gK4k06n4reppRpna3AkDZb78xJDZRnJ37H5gQzSrmoS/rbnQEW3Sup
+nL+4DoOQ8LekiGHPsw1uIrOIvkSji6rFrQ0mJTjmCwiDWTJOT6Ngs5IUneMcfPE0kRvpFSCB/Eo2
+GiVdHCawxAmJlcz6lUvxMuQtOn13/nFQGe9WzYW4x80Gp2SryVg91/fO7Nj7//b1pjT8hXQFzova
+MT/V83rlW5SdMh16tM2wza7Msqnk3GkYBqFb7R7E7tS+fZGZ5nhXnaPtSKQJHoLym0YTA3kqy9qk
+V1cZu0xYfam6iZ2PO3BMVCkuCkUIFyJO2AgZTXBTbmJZ2eYa3IJ84AIuP4N/lDFZBkR0DbJMDUw5
+cSOS0p1+99tTAu08G7qzvLwe2UYaR/WQ+v7KmdN18Lebbzd6m5mX8isONkpRqD1jVMCMAC63IPQK
+rJQK26xCVO3OqxMCCHDyn0rr2VKp4wAmwnWNPwLwRkwSeD1jXvcTZ8udGvT46ATPXJvIdWtaWOC5
+oI73Hm51gSFPXe1ABpZJ6wUeNriBk3P+uYQTpqack4KWrQRaRAVmMqSP82m40Bb2oA+jdDRHAHeT
+eZ0EX1BwdD5E/X59ZEQg8Bk7cxBl9LFp/t59rDMOqB0joQEyAmcPWeaSjYc1BG5MD4fG0/4IUweA
+c/qkS5MSBo2BIN5OqIt+GKR7bbsrHY0ox/P6sYR8qHBak8zKZDK4J+k+hvmPv83kq0q/ae7BgJxO
+rYksIucpvgEXJMs/eoOPzq8a/PmoAz/2fcwng1daWOKzUItFOn/VCFkd88Z5wvTeiCVrXA90kaeY
+Hn+56zALP9M6Kv3bsUwA3B6id0a+UVStxIlQncltKOUIfGKRc0DQFRhtH5nIu9NaSHuR15ELD+EK
+S/N35l/FjEzHPecM5ZRq7wH73NsZB8uOs++KvgfmpkUSQNyHpb+IC9MTV4K1DuK5Qpk76kGbMncj
+qQHv3RYAfy/81T1/Qz73thWD9JSHtAQT4pBwJRC2bG4LaDWN8xrYeLSl0w2dSWwGGvKtT7m1yxgq
+ZyvJ8C7HyevGzrg/NWawCF545q55VrYaS0o2wmRUZG6IjIF8NJSdxbgZ5XKUHUOcZ5jL2RIZ5NAz
+77K8MG72xAqTXX3a+Wug94cs3QZloEbcrf9FcdNuxyiidhoT4kFC1uCrrJPSt40CBkHgM9EorTHu
+gxK10bFa/YLAKAm8ac1g6+kvJDDGKs86Ay4SMz/a2a66VBJGb4HzhWeHv6vDA3qV2b4BICNKmfNG
+f+0C6rlm8kY1pZ3naGphJWMfYit0Yq9hQjMwWA0vFR0n1pKWd7OQQh5UpvPMbaiGVzWleRpbbkZq
+xMy16xDf7/WbulS+LmkV214Q8IApXILpdAMtbzgJGaS7nGDydlGD8xRtiaI7C1BRagoHMlg99X0b
+2DqcXGdgDS8t2m2V1KI2K2otCocHEcWLGFj1KQrEP32ipLSvPK7W56cfwBUTFnTcABXKUhJmqoxC
+OZ+IKpG+V35nQY3Eh90tYP5zGxNlcMgsrKfNn2RvnO0Kr1DDe+RvmSFA2c6jRLpAcje45pSY3Wc2
+9Ko3DXFMWWC9GabQodisJtqkCHJbpJk3dAuv427rvgCAr3xJ1ZwgWdc+ZrYPVcjFz0e4h1FoX5Ld
+wAnxZuurQRDrH9wD21tcJYBbX1FcZb1Vk7Y136xWTmx25Qeqog5lEk3KKDJObjQpJACv5CemsO5+
+nmfkCzMa+7HX4oZaanJ/kXXVRProqhiY5dvLYeKkbVD10L+SOZ4jH8uBOCUDbhfJ/R0g1z1z0IuR
+SS+9fFo19cBHIj2xHgklNJ6GJago3oP9jAOo82O5LteQ8es+vcez9Wn9kkLATP6gfm15moyX6Zza
+tzae5fvfNZcSbkwkUFHAFQpxx3jBpzMCWuxkdgZuyY7S2YWX9e/k3IRbbGl+LlBVbITRejJivWcE
+uhoGn7NUGRdeYUsDgGbFln1xR4pmGQYuoTg5/gGqacJbaELu0LiiDH7Kih9HqGqZyofGAySrdMV3
+uWf8OxStAGWjEvhWviLWesxdJocvyluGBtwtWpMg0fRd2EsPaQoPG1XZNIrbe7Q7DoR7sovOYwyt
+3ozl9IjvfG1WHQ1LWPMs2Kk2FNWqxzaTIgZPQe8NGOkTU4cinduLhzSoIIgTA0IusLUTVcQA7Db4
+Dm6m2panrufjHZPMATlzMkpt8DQP/InSgaEkGkx8zYIZA924j/6TIMXNyiArrs7Nu6dmDAMbNFdf
+BoB9kcS2XDHh25epxZAy3c+XW0rwrmvtN80wvtcrtW14RNUbGP7ul7/6YgJ8H5REhCwyWmA0uUcc
+44YTtItVh3+0Unc212f5apgQcwtwK6okom3ihbRFEeCVQy07UOds5GUZuArNw+0ubSPe708wtp7Y
+DHBOUX3w5RTkFNxiCFJCU7gH5oRDfqLQ/mE3Dr13W3dWDZCsn8N/BgFVWnmBq0Co2S5aIo9UKYdx
+aZhBhzs03XxRj0UxOpJMzZPxM1fxTA60ZfTJFjHnaegz1KbI5jgA+noM7Uz8zvPjsgQxSBwJZr6b
+L+jiMdsvsUoNz3fRIJJ1HdFM6h7Clu9Mau9duV/R72l1SrH6qQehatoFJIzbdkbaLvSMz2vZK17y
+ZJ4N6nMamdePTR2yOjXfKleffJKNCH0lXbAUEbWlwHkIERz/zTFVjIBPrx5NKK97hyhkm75PPaeU
+JtjUBxVAGok0gwRI3wOUNNs9KaVH+MxrEoDQCqKU49LdMvVpT7W7Luc0mLJQrlNzE+vMg7ePEUs0
+TxcTLKltqhtd5N8Vs5E5cxnG3+7InffLPEN+dyGbSrErQqKMosbN/IcMT0MZTnl+d8XyT8F7Etzv
+ejeLA+l/L4OrpQcl/M0AC01+K6TDDDA0N+kWs7vdzTMPjCArq7H8NNcFtRQ9CxgPV52hLO7P883H
+qb/BrQHkGpZKbcFVYrcQhdJbzS0Ry7+TUFhTGxIW4jPCntapuypaV1WfAJqYu495dIGFfufYdfbA
+4DrAZhZ3fdRF0KchA4guD75doNdCZBMX3PKghvGFSmSs6dVKxp6ZZqwmCMcpsFHCkxCVhof/+5ZV
+CFBSgRpLjIUU/Jfc9TFh/knOySbXcUSSZFws8u6D2QugZEz8b9pobSTmQvyBO4YoYgGPaMiZ2Lux
+Ngb+z2dV5/ySQmdkRFzu8u9ZURiOXmpvkSpsxAIZxwYyb3TeQnI3RizGcZKvybLvlsfGwPvNxYoF
+4M6nqwSfUuXQIJSoDMd3rfjy3pTVFv6JdFh3h5XHPU9zs+4mdxTU8Fa80Nc3V0rzwWsndE5YWPax
+VIbeMJHCcpxZfvgV4+pW22jVqwb0xPTzAJNo6oc0OMfg+5ZIVxnhKR+A8pBTgN5IbwSt4VnGkdNm
+R+sRiQvzQQVHKOviLbyGs86Y2vQBEZ+wv4W1GzZsl6qZxfDRlUdLENXnzsq81MT2m//O/QoTgzxG
+EuTo/tEy4wC5tanor06u+9bexr10HNordrlOp+K84wijybc07MTQx4GXr7DEa+v9gXhkd1PRWhyX
+c9hjwxJxSjadtsVotapdkpfNNoZRN+N+/zHBPld+sueIyCZcPBCmlhJ1cNsM5kt3n6a1sLpFu4/i
+OH2R0+qU0kQHxXVk5DvSd/ujIdKHh4N2LDjZkbGVpC973h94jluC54ffUeeR6O3Kj7cN7lsQMiaA
+0TBVPD63O6NF4rQKRRVShyMl2FTtCgyDH6zPwTRZThhX0GDxQWVWiD9RiwSLVoyTHfDratiCCN6M
+OtHK2rzL1Jy4wuUYDJ8Sgaae5H74ed1Q6qFTFefNO3d//Cekof0hxe/SMH3AFgPyGnO17UmWeM9K
+rsRDtCBVwYNGpy8ULIZEiUrvM0wJw5P3zs5Ig6dSeJzp5sxkTU04VkdI7ZtJiNkXJVZSuQO+7jNg
+ESyVNMs6N+pCOEL2DNc22CPDVcyBKpFlwzr3MBERbZ62ihZi4tw7V384SAIkRYJ3BeXeFmFkdfMY
+ByMKBaM8aCOkHvipsAaQEBbPlTQLLfapq3srxFbgTp5CbaUptnJ993NDE9KXGKew5dwoL3OD5/cq
+C8Pqm93+cvtm8WRwXuDxU5pETohYiuDFISbKq/hLj9rh/VDaTDCNB5FaKNKNcfYuKGNK7fH7+BjA
+PKJhJ//UPEbxlUbio/u+aoJsMuLeIY6y9SNoVeAuWX7l91NClAxed6vLAR1uAS/v2KSePooFQixT
+j3yWY6cmrNYWwkihZd2EE/OM8zeWS+lL7IciQrF9Xg5jE63jrs2qevSVNoJK0t7mJRnBf9eWA6na
++hd18wSmG7wlaNMXukv/gbyu6N5B8462fy0IpJEsanyAxkoI52rG+qb8B6NhJlk9tgA0ZHuS6ntl
+sW0dRpTcb6hUWL4KExjjaFgpAbnLOzgGHMPZjlHQxuOLqb+sCllGfRE5wd/zgAhdcCzEVySqOvt/
+Zv99fAP7WGqPhXxKc0hOYwjObO33xM17H3MXJtSOd/4FTdCwL/9V4JuPC/ZQKgms80I5xhg5MI5W
+MDG0qWAoWfnXXBKHplOFulJLmIx97YNFUukwG+CXggD+XstITQQ4H8cHBzMJDsPcFskD7lZXHBAK
+l+TDE+76iEVBEBgEvWFlE+c57B4+LYEvQ8mnK9+iZ4eXy8k9IKwFFNzotc0VLkOVJJ5tdvDqS5oA
+bS7ZW4NIUvjm3rfTETn8n5MEWDE5M7gKuCuf4usI0ZtS3X9Sqwcyhk5p30bH6djsBlVYKURViMwQ
+LiQwfmxR3xroEtjgECwtTXmgui9JLIcfi9JcGZbJP5CfGn7NjVJpVRo/dvan5NDzwl8kCJ5wDXiO
+upcy670kzSnuDs08bhu4V1H+K5I0+ZNlzJtKMgiXki6p5WJvzX6uhjEfbxj1wNHLg6j9UuxZ4757
+E5reYKsu40YoeC3XXz+SQ6dqPsfH/segHfwyQXzV309q55bDZt0eADDqW/kZl3fH+qX3OmTliAzV
+Ure4Mqy5rJyfT6aCcm2O8LhjJLYltpdNvfbOFoFl8MgokhgQun2F51K3iHBvmyeXthtqbx++a7Zt
+OTsGNnU5idDuhHgDgyL4I0G3mjGVREUToVYv9WqmrYapj3B+dBkAEgT3o2aLZfFJysnMAB0t2F2L
+mpPJEB5vqdhHIC4HDCbUgb9XS4NWMiqzeStJUGPtZ4n3QdMLFKS6HDfB6vOz4gsl9c3fBnU2LcdR
+gPKpxT08GVrk6Ymk6a4ub2tdbvN6XjAOSjO/yJEC9VcwQgLBK4Iq08My5ZY6Kuvq74YrsLxwdKKb
+ACUT33JGNvt7jDcV98tJgvgz17zXQSC4gHi4UQpvUlVLcxOkyeH33R+uiTMKwhOXJjAsTERui7pe
+UZ1q8FFu8JV5WsUjd3QqvKTXiK+jAIQU7Mv+f3Vlx0QNAlDYydcErAp7GTeNqwehQfAZ555yN7Jv
+CDhdjpyI6T07rF+OuewuClS5cZBDLD/ng+CpwmCa0NJ9435Eorp2GTsXviBnJptHE3Y6XTUgyALC
+Ouq3ydHpbGLzzeldQibqADSUS91LJGUbuNaHRqIr3utOGow1cYbluIYgSy9rbjjy11btetIKVd/D
+NAIcExm0dWZatCsISlkzPHxTuY80kec7k/lF/aHmo9j0DgUFGlrgM+OMbUDniKUiUO/A6/nyD3zR
+uqx3egzDGSR0RtVwP5l6cISMjDE1lP4oy1jAVAEddTUqCY/TmRkPunm3BrwqggsQUpawWd2ouxBX
+drqItYaJsD7JkHnunRbcBr1d7H0iI+MVcNiCEV5A2GEI278PE4zOP1DK0A94oPMXD8eI1fX4xU/+
+P6tyDIg3C16cYVYObFT4imrnlmcxNuXo0CviypVKGpESqr1XJCwpRgmIEscUkRJGxK5D2Hh/Hm6H
+hlN/w3qXx12+XMfawf3nKyQ3LQtx2SmRUuJtJybM+VIIPd9XiKtPwxwW6IpRIja/s8+SC9RacC52
+LMeiudT4SNNxhV1hP4D87UzeVgE0L0JA49eCgeCGXPuhXLC6zecBkM7xsi/bKkdyMrhANHjPmgDL
+eWQw98nfEvvp5tI720Ev0wbsobryrIHoTWqRqNx/dPFTB9SWG0Jxns9APyoY9i9ObjVqOZ15tsEK
+KWiHFS/XpJ9B5uPo8zjExZ5zlcXC4COt7e1SJSEdsIqB6PN9p/C19knl+g6bSJ+cosEkpybCrkwO
++n1+Lph/3w0PL9xHtrZMBK6KEgGGKbUMPV+/9bIflQ5wXpLllpbelbO+c3iib88kLqZF505gIoUk
+eaw4nKT1g5o1oGaGbJ49B1gezVFT9ZW6lbFVp2HPJkbP7OhgzH5WmuXwrGA9baNmkHv06+cAxpIS
+JMX/usDMXiuOBwtkEGzc4TCYEynuhuCbjPKZqWQU9YU6oZLLTD+WjKOf3MfaMSfy8Uc8ULFvGQWl
+rTdtQsctQjJKMKxyJoHK8+RbnI4UQA1Q3QxXTVZ+C1tI4w+OJQoS0VfN2kgmfnyBGltj2dPdffUh
+RP1nBQeRdTKnaAWJjSpYxwsC/HEqwNzRPVedptuP+aVi+j/B2BfRmWYGSXTs5s4Pwm5ckjS6/xuJ
+xQhrvA3SDMh+ADZJLyBfhXIgIMb44QhhZarEkRPv/meJwJZT1HAx5CL/RbvsUjLAKnRiUNMhICQ0
+6OuRqbcjSQk5W3bXJp1a+nDj6wmXEbAmJQ8G+GoJCD7bQEMJ0+6C9Rm7/zBXHz6/ALTS6mklNOJC
+tLMipCEUKsVeZ3xQ/IbGrdzXiLv9Byfq0Pc66LT695AAXE0IJNSEDta3EbBjCw2E9CrZx70oOf5H
+WGVxP48IPKFh3OHYAknoeWMFm7Plwet8BNz/xILhsWHT6E9kxC0tycID2nHZ6KyUY9QKOoYn6MDc
+PK3AlZtXLKv4t0+ajPMLygVdCr2FPT69f2kAvQXMha9/GbhehBoGJmoO26VT4bQRkpggJJkENkUP
+cq9ezB5qcJN/rxXodj0GJoGQUAS4tbC5rkD5QTMTF+08m7XBWvGSczXujJ7nFQDeP9ktl8UfBDLB
+3zZAnBI0R6c6fQXjehsxHgBrTpvL0dI8xX8I3uUvNM5pR2+2X6LKM1D7mpf70pec9roLYvn4TDT8
+NZzG8ef42QAeokUqY7PAjmFCepzjMF38lzbIni6ExXvWqc6FTZ3FFZzApfTOXOHy4r/BcligGbDh
+J/ZEkiFNiX2TV1lyhooBWxjmxufdiszGNCACkTnBWRNK6owjcpTP6EhW8+oazyURlv0RUzh7GEKD
+DpT/Xr1uzIbA075P4CWZyD8+vMjZJup6cYBAjVWvd4xVSk4Y7OCOiAbKESYhSNZjhqQcaaA2pO8w
+bmHpnq1UqLk1G/yJ+Siv6CEZ0XiV1dc8ZLPy1JVbqXQEBL0+hp2pRJVphJAbrTQ7rvzrcseraBpj
+ERYic+ttsv7MhDMdl1lAI8sOFxfkn5H+cCDB2IM/eHRijbg8qXr25A7fTf7fedx1sbZruFZH34GS
+JIC8r8FAzgdkGuzQoZ9bTQ/6EEsuxDC3rX4LaopFwuLPse0dQ2sFb1JpRLlO7/vd09+XQdz0ltHK
++GmaXWVCI61KzaWdYisIVyotNx49mTYbjv7IWvgHzRiIB5vjsdi3Ywj2fnWVmwPPp85Se4B2HrFn
+gsO/fXR/zI2UotrjuvEUrFAlJo3IaiT+0qkU79w9Iyvs4xfnOEVMUGAkmRE4RWizjW3WpwHS+4U1
++V0sDlAx74NA+kBMe4HYlEfHoHRFHSYfATvFCHskwCATzmYGcd0HFlmj2+0cpngUL5UmUvLsTz+F
+WbphY2NYitONW/xsLZ9ZQKfQhXZOc88HzUHirkhRUC7lr5GA4XMzl9en5TwoGrYmk5+nMAkD5tMJ
+pUXeNFDa10S5VKTRRQSeZ/6DpbJbWYxvwv8M34cR8DljSVT3oLGlsM6ZZv0VDSclaYYo5vaB7NvT
+DW48YOPy8TJzRoF/MVisPTsjh4ah5RA63VviaUdwfbw0ysAVnxCNWyMY7k8ECilQaMXcDlPjoiXP
+4ggTzQfRvxn9WnjfPYM6rA5YSiGY52CujTscjdfeK0AmH+MfiQpoC0Zf5JTfgyCuLLprIBDuznnT
+2DgbhtuJZAgMhCPuqCCKsU/l525AcuV4c8Z+BSL7CN8Y9nRpIYns7rm2+hGzGtKeJ7Htcmkw+MXX
+vZLAG4PvO2l9ou4Vq3uUH9P8rH8KPEr2LhB+ipb7GOPaVx5JlzW7cBtC/ZOxo9l8MsWrXyU7AjFN
+uVmsNwVPAQev4nPN7Eyhp8WjC/B+6O98JyGuI/TB24A1wk2pO0M2UIsBFLwHImCoMdBdhk/QzJib
+M87sWNzxctPZ9WgpNPSqAKtSU4ZqtJbhR4CPlKsP8WBHmS3kU9IOFZ/cND/mv40WxjUPHBK7Yasa
+Tg9/5wwUVI/jW9xzN8qgXE5XnW9F4cQDre9R3ru/nyuavqVr9sz28EXjDPAQdI0mR9drn6uZs43M
++QlRA8m2zxzLbBnCCuqaJLox0IB+z+ZnPn7SdUkhEGAdpVpqTytdDvQYjk+gUzW3b3v/zssTssoL
+B0st41bWvxNBHnDyXk69mP3hyO070tOgYAbmqBbguj6jl6mbQwDk9mZv/DEKtp34S6ai+/0OrpFR
+nNf5IzZlfYIOVqLRq1Kj/+RcVMk/ykNirCy8u+r8I0ncq2RGJsQ8yr4+p0cZT8YDM0NPg25vgm3M
+X8Kx0Vwn2lD/IV8uMgdb45VZTdBAstOoVEgQvJUjJOJHVMtD/uCjhqFSLO+X/ulQ93BnrpX6wPK0
+1A8Z2dQmvUld91ePAbm3nLM4zKuGGqxTnBeE1iLJWl2GJM5k/B/uy7nJJPksQY/vobGIQypmZj5F
+kXIlXNgwAaGcvNNhqFz4bA0xLRp25vZm/TNd/B03AtduTMHwNjKApfVkf9Xlba6U4QZ8aQxpaSzx
+B3XDDNa4mVoccE9PmIHzWyssT6dQ/AXe5Rc7pC9AXcIkwSYa6lXBUeBIhr+iykrmL6f75shMZ/Tr
+emYe263jCIXbdhZL+ID97LsVQVS9a3DUpQjCtrrlIWRXYBR+lfhBkeDj0Fb+XTZINL8QmAc5OJbR
+//lEA7drIQn645LuT0kajEcwVe5iPTExRiAeTbVd+bd6F+jOdGcDIUUZvWzecV8PwWOKyWH82T/x
+dES3372RazQEGv85Hs0Lzv5Vm1eabg25Y1giHdPgGW+tJ9z5Ck11GLRePu8cAv/AMrAz28AxfEKr
+yyiukTnlCLuRn6yFj4dd2p1H3IF3iHz+CsLLHApaigS5uSgWFTIQq0WwMj30+91+h4/707bA1HfR
+yzf+sD0uS2wlzTVm3zxrEyViL/y4mfiN+J7JfKteGSRtuKacH0XS66C2sDy7RglVrz6UX6vDCNxA
+HxE4ciQH/tFQi0kGtmHh2U6WMY8hRI400U9VGkNtW5INdNTtyzzhiKW6Ut/3U0n9GjjGaYXMhl5o
+jFF9sPBm7+Vx1RtG7rHloCMCupMMp5x84bpw3u+JHNx5hPIevGxpa5ip9eweouYkE3JG138AzcfS
+/DahMAaova8el9mw086QdZ1yFhnUmbIImTjEcPc/QIE3kaXRcR2dfQqbiL5fLO5QC1HFCprP6GGo
+Rt2F7HMpdSSXMcnXEtK6Px/rEezn+sCw/Ssk3s/5xY/sQuDJOx30ql/74GQI8F1/jc6g4o1boI6A
+SDtjq5p2t1gs9UGSMtRE0mLA33boByPwxj1qgxtqeXTrkJQ6Dq5ZsPmqgZzGpihVI20tP8qbmZeW
+lmM0nOOhyY/2L846ujCLV0fZqemPlgLJrp9dmf8I7Qp0/fKPqZ9XskYL2KcMPKtnuADyYvaMcbT4
+6oY8KERqTWK0v0rtnd79bX/84jHhoWvoAbTCPboS1IaVoqNuvMneCU6I70cHepPuCO/dU6f3SHYu
+Tq9TdvD1IFC6uJW0O3t0mG5V5yGdUQwCu5xv2gsrW9nA+cajvG2+oXFQ9OJfvFTGqDWQfi2rCuQP
+isn6eM/HdSSMu11jMfpdfXbnIgsXgbelwxwluSK2TmbxE79ImzeGw0uZgAPJ7QumRHVL9Cd/mgfL
+vY8KvanrQ7I17FOvcTEQp5VFFwR2mEOO/QNh+qDBWGSZgUW9eXXoWbNO2LJRT9mdBUQv8lzKIeit
+ht4sLTPx5bwa67paR84MB7YMZjCKrSI4kCAI4BNxZ1id6GKjv5epG/wLwxV1ZqxckB5QkSvIZIKM
+m+LlIpJ4ZynEde9Wnb5BvuToEQ2H0nki2QNXCDxyPwc4xhGxmHh8+7nUcaI0C3jKDlg+S2X4IDB2
+dlCurce824/Bpvgk34DbV83V7Trq98eUDGCAGbcbe9zoctWTJ1sav2DnqCgVBDRFIju5ZUVAKFzo
+q6gQtUckdDOuhhkPOL7q6qzCpWbdc0Tpnaip2SguZBHLED1gFY23b/I/LbBGfv0pOfMljRbYMJJm
+IzwDH8pvOFoDmhIDKUHAGMPH5xLYNVJFHTQivd3XmdvtO7AxQLCpWVR31hysHh0YQ31hekhzD1Y9
+UNk/3dR+qajr7HFdQoVc5fatOFGJ84gbw0prjJOl5H+0RNL7nlM0E60+5k34kn8SHo3cAw2cZDe3
+s3QJE+ezZC4jb7FwEwEAZNmn5T+olHIgmSuaji+YRHOWtE0N8VlqelS4Huh7T/LGxyCEN/bvxcAT
+QZaeqAeY5tHZ5ITU4jOr2Ok0txuwSp0+DVW1hj4kJ6uxqPxAQ+jhNSV9Ih4txx7PHmDSuFgyjWzr
+jrrmg6xOmzRXPq9w1JuNot76uKzGhjHXLE2Qb+hJ9U2PONP7kk1k/BEVpmp9weowVtewqU+C0tZY
+Knav5GH/oHmgNW8TV1SlgzeGdr6tvoX4TKoEuuv0RzJ4LdZMdv5vT/c+k0/lVfk6g/Kxry6CcYU0
+dNseiwzsBKGkOMSTTko9GN6FaxyR/OVkznnmW6zreu6D8r1Blcyb17B9i5F6Cb24zjn6h1T/N5qb
+qy5hjrcHarQq/VYzTQrwgK4r4c7dj1FRDNfK5itIAxNtsa5B4KzemdOiecXeglufbYu/j8lkUsus
+yMm+IO+eAtyuGXjH1Db3I7pJA+t6C0SjYKGrfCyMEMpJ+K1NueqW6w2on2bl9zgxQFD+byPURh3s
+axRjjiyA14MC3Nt0jJUVQ37RopZAuGcqOuApx/cztFnYRbWSh15LGxyhctHIhxuWfd8h+HltsNJg
+GcwfrBlO3XQa9Wn/3baLm36n6iCR5x/tuWP1Ke0O2ToUrX0JBxVWYQg8LrVwXaaekf7eGHIZeDkg
+oxanlG7rAukU96LwpiOZnk4jCsRSu0Upxs3MDOmZca3y9Cz/7Hh5mxcsiBR2x0tWecVr/AOkxZVR
+3k9gsDdxSMhxOq2ZfOqbt/LSNFr/FT0PjheAubCnK2gsJTRhHjLmOtPV2/Iq8/v+cG2K4Dp2i672
+DSsmH/y/1e+V+Uycr6rqKbrZCDbvQ/pQV6rL1ldLGe1nf5N+YA+XdHuAGtpTXPZqQPu5CbBPwIBu
+Thj8t/MGPz3Z7hqgjeJuJkYKFyNXxcm5bR1iTXVROcDBFvF918whIrO/Ta//KrTraBKMElvfrB1H
+CwIj5MO1cP89JtaOJ/lvl6pD3AmWkXHbOWuVs6SV7MH8tZjsSqy/t2s8clo8fd6A6dMYkAxvs7dq
+/Fn+/SkIFZhR5wYkhHMK8qzpKsBOZTie8BhvdKfU7QlQDAnBT+BRB9YVdc9fU/0b1+oW+Z8X7RDn
+Y4zf1tyD6ktzRYmwO29KRyh1tprtaPX3BFz3FTMNjiViGVbuqdn+K3VQIgFBG8/Qt17KcViAEmVT
+ee0ZkNHoY1GfKa5ouuDjZ6aocB0jwWwsHn4ogSNjZNGXiMSbRmDoXexE26vnCGQWlsyacPfyjb9d
+jKDEddytKopHx7T89mYM4WjZTjYvVfWb9ECMejm9FZX1V0JkWvutj7I42J01/Ihx0/n93nOf0gYZ
+EnFU0jtnHhr93DAn+pYYyH8xkqc8EVSO7KMlmcoJzLGzMh6OyvEz0Z0zoYMX2PVfuSVPGRB50LFf
+3rTm/YMS4nN/QUYXMnzIhBRo2wcSU1VZOtgHf7iduEZ1v3+6XnblWhoDl/EJ11fpNCdcyrPzJ/cC
+y3V+DwWmOF2ItekvL8378qSIWrRCjpq492YjQ3w3lrfKskl9DASr7x26nEetOZNHR/nLSFUwzcFZ
+grrn3ZaXoYCImELy5pVMC9JZUkDVRUzECuB9drqbzIVznsfCSdCNAggXwdc6wnh4J1l4PBRy8yvx
+QUY0kM8mEydn6kLrN1z0KqJe61dgNrFtO+1GWqGPdymPsG79h2nW9Xlv7y4fCI3bLBK/yGbhnol6
++hIF6LI7mA/c3j17SSFTbA/eJFiS2xYSTMqVh2G6knprlbfPxJe3XujmLSMrEGIm5v7MyMtmB8LH
+BetoBnLVo6mYc0uQwlOIEqy4M9SF2fwEYvfP55RWtSJT/wuo3OUVu3RbLHTjh00jcQKFuCi42y8d
+Xu4/jTYotnUkncUsr3SDFrwS6JjSqp/HVRH15kBY9D1pK1p1+MUUfUJrCtJGSHX0njIGnbSgUtZk
+rA8l2xToIZi6Ac4Jf8Q68gxvqacLjja6xscIpEoeq4m3r0UhjMIj/bIxQnBPJdeQnQaih75Gcp91
+WXlhWrUYZXPJrbXg3u5NGGa0jYfCFSoSj+VV28kxlPsgFzS4qdzbEAQK8AK/sLcr7MIaQOyT0xxl
+fbHwuQgb7BudBDxriXldlfTbhM3gghDyDtaF660/NhQ/FgI1aouMjfvbONx8FM6JZyzJ2OlJ66GG
+L/VoB4h/DKKK7P61mlYARMaZZjCL8xsR+OYanW4WhG/crxX8BxitxvBgKktP5BKp+paCBtj4h+19
+zOF/Ws7x9teD5TXiCYGKSpW8ioTCjINPxXfcCqryDJQCm5eQ+WmqhnSf1PTKAo3rnVyhXJ/VMvP9
+pVdvmCc8s+qqBWdL7mSei0UN9l4+ux9FCHSKhdPPcycCbn9RxfbRLNOi4zBQqibSRwujPwP1sGde
+Lsk4IWtCoMx8j5B21ldVAHCck09d70LoMLLO0O2RMPeBEAKuH6qX90mLpdGB07Eua9NFxUqXbEOl
+8ury3bhRGDq30RRpUeNDppMOSYzolLheQn49VNa13uer3V+rZMoSzq3MxZcSsim2ImbVtaivB5SY
+9dyIu5GHnH2JWYp+XnANxS/AvrHlAzisBkHdg9wE5Zkw3Cv10g4s3u+NlzCjrHip7Ae9IyKZJSX2
+OzZdsMi9u4KOXXwUCRvKvWo+y4UKR/vAZb9QSRR3DZ7TNHYxzYP4BxZ033h8iKkdqKRS6QycyUX5
+R5WGO8bx4e3c9VWbqRB250SzhHlyNugMixYOEpddZAeUBO/PM98pc23YTewJ2BiqyovjnpLHd94f
+MBKTSebqwwnoeDsV5zy8WupVaFM2CHMN0/56kQbWWIWOEPpVJtsaiRkjSDjlSIxsiZdEUSomi0U9
+dk9tDXeHAeWGhpYhgYA4H2tUAa46M1auxQhujS9L70YoMJiYc5LUWI+rGnXudpePGP5VQjGjip6Z
+Sll2tjFrhfJvUSjTefPcVifMVvWDFPngvzRb6kvkQQ7RpqwDuBHwYZNyLwB2Fd5WXIcwGPjur11d
+IVeKjRLVIXSxXmRJraoUlVvN+49Yq4MdNoRjTN2YJ3W08XLTk31UD+/PNTuRItybzvOuEAE+vazB
+vi5MMSd1NDc6Rltij1mlqyDpVIanQAUuAmvUSsjoH52eHqOJihqbi5hIn6f9hrs3vrZ2oB+ETZ0E
+XvdcPknVcTeIjDTuoBgc2qzgXve6DbHN9DuOXymfA8NEk+cLGLt/PThN45aQwmfORmEECDqe2CfJ
+ZEZTwkhlsNaQcXA+/Nul+HVabWeUCQe/DbcXnJOjGVGvgcDWMgIJP0nWLaU1mA4+vURtrvXWQjte
+fyluMDCvfoUUwa9uSKhxuKLoX6zqvslOljQQeLIF93vH7g9+NiD2nlNjcYfNmVc5z6n57Ujqzdlb
+kGDI/7NYnTUckRNT0C7nqhLidp8eo/Zg1j5gErvs3CmPZuDHlwmwfsOdNC94bNyBEwW4HX2DJnT1
+4sY4rIrfNIVecEcHeVZy7z+QJR6h5+67oFNEJNnhOnRHsRk9lQLBt9t02ktLtBlMGchY3VaD6F41
+83Mu30ztPriO81qw7fm8MW2mblSGJ2Z8v5X4OHs7W9FKbF8ViW8SJO0ZIE44rU+s5I5qpZV33lXn
+tY6rzuFjz9L8rxcDNtuIRxTasfonCmy0R/V82zj3saHrz9n2VLhHpmsztgHdn07tT112Z1wMkoxZ
+VahHQVXS6Iz4R3fWfmf3LUzbtJPHdj7R6h0jMBadHDHgbT1ddYVVoSybY4Iuz6UqIBgkibptUEDY
+WBWLWmEUjQOr1J5ImuJIz6YPRFYYB2w4Tjhp1E+q3BRM0vPm8w3UiupmSqFzJ9t1aJJgIu/39qF9
+zERYCHuIjlCA/02TYyDJ7FdutgVT+zeSHtDsjaHdRhQ5jDYLDnBX9Bi03DhN1jIoo8T63oZy881+
+CnOTjWM/CIJZhbEraQ9lal5Yes8cV8ROape154Az7stNtAGMTm1Vn05meV1JrxmMWS4ki3sNVwWD
+V5BQCNzIsf8Domx2VTIBdljNFelREY5Rpdr0Y95LWb7YeI3+k+nJQMuOuQY5YM6vLh7YeTRuboMF
+a4YJVu46XFL+uCRcXWf4MrCSVmIILbwcSC0Zc2f+4+MQZVh8/FFDr1bPRTLCVCYTNpdhyD9EiqSW
+fBL3p/9A7X5FqAOxY8jRyS8XkRGwfhYbjMHQlTcuEuoK6eUNJHiKGWb5bo8KPZ7rNpPmJcPzmWKh
+ZWqH5PzA6sttxJGjNe2kwqDzaZhf1QAzjLkfFtVRV1syAiAdjq7Jp5ZnZnSSI8hkLSHoCwAFD5zY
+WZ2Qv14Er/3tHe7ZkBeQQeGIC35X/W+0/cY7fpjSNQyNsHvSQWvTslPfdkHeUKuHgGysnW6eHMBj
+5KMQAfqzERWonuT8BhGmqhmTFxJae9LSMXp54n1MiucKymicPa7458tarusQMCyUpZ5CIUAAqUQC
+x3aB60Fx4x9HTl0HculDkcdHHhD+Z9jMB9kwNLLSN3fsRVOvt5/sE/zZk4zxmVz7pzn6pfV2iQHv
+hLWU8fHrII03OFAkPmTOhn4nNS1sc7HJab8cm0DcHZWzSO7phuyQIIfFolOSm1rPujsP9PSBhlrD
+MV/IuL8mMDRb211o8EJ5a14xvkmoqApvstMmkU038NJCysMGZjT8+LJh3iYgp5sej08Cp6FBK2Od
+R5E33x2TQ9XDHWlNrrtBAdKe0p4pxIgDi6ilGECLm+iwfQTwR73pNL3J8gHPT8d3sEyNosTB/efE
+RBqeiaCaGcJOoXrEv2Pd4Dm9JusthTQHnslqUfXZIuUjq0M0QMnDEtdGcdFsFceuaXnS7C/Io0Y/
+wJ7sAidu8i0o/VRkm0+o+dTDT/jux02jNUMlnM5YgS6OArDDyaetEurYI5z1l/UF3CI0cjpknUKV
+Bzl9YyX/IwuqXhccizzRbaywFyXgf8WrvaVhhRCU4CMKs0pOdpEe5Tak0BHovCQUYH9OIRWs5tzi
+OWYEJvF0acozO1HSDTy7suIswNl838Wh8ky5yGK40KC65R58jGExAV42ME3TDshwwbZTMnlYP98z
+3i9xVyeXigkj2HaC8NIk44KImf/R/8b+Pf9y9mMbwDdBguTnRb3mI0wh9ul3Ccwz+ZxsJCcexBvZ
+zCNpV5TSflDIuUkxyDZi+E0stusJwFPmTxiemNSLFYgc5ZC7arR6GNIiG5KUUos/HVmML7wM9KiR
+h5w2FOwpNp2QOOiWG3B2Srdv49Bzr8VMXkYlg4eJLQO6BxdvpMDU9QS/1tt3YIZS60T37dIw6BkV
+lWWApVuo7yvk9RCvbuXyVW8v6Lfzf9DqDaSeUOHlvotQiYmd/u3UxYhY8fnWF/yRZsJH2pIbOKO3
+ncy0qbAJe/QgJOoEkSKudfwQskU4nohk5VnYIRdVKx3VqVV8Vv0gjBI5lch747/RHNNGtP+rGf8X
+mDL6bcVGPfjkfvRBq3EFqQJ9ttnarqEcN6bpQG6QEA+Qmq9DJYhNNGcBwEW9fRW3A7EKDl+o/Cq4
+pjd0sFJm5hZdIjDaOm7lzeHyqDNaq1oanfI1s6iDUV+NITCw95AlysntThCpR0ePpBMtpQKdidY2
+SKqpvqfdEeGtD7eHe5tq3sYG0lU+KeBkVxur8Dajf/dVTEHj7QsqbcxfeZxnXPRWCngf4I9/1VzC
+169WcudHPne5O2smWif0K/lQ1hICtpsyKiBVToN4ClZMmMqzwFDMsuf3phcvps9Xtsqwb7uOqAq7
+Fm/AgaTsuvqxS1ajFObVXZwW/Obs4BbiCqtRGScfyx6fgRn1vrGvn4+s9/dvCGfO7lfry+mzRfv3
+UWcYNJyzRvtxkX5k+uDVXlohiG5ReFdchES5A9VeGup7k/hG1lCznNmnoRstYhm3dc3SSoWDY6JJ
+jAplIHQSXX1800J+qrmBrZJbiN902V7DrU/umkFG0zyqsWGzfuDDEQp10P6uEU6LUcMGnu1CWyi0
+NG5F+bzwN5J3GNF3dLiVcMgmGjQVNhJYYzDxgIwPTarVad+NKAGNLdhpTHWB29we1kaW5Y2rnAE1
+1p5hRFluGfrVx+EAwMBMq8xY6p47K2BxQz+eyh9t8z5KOKrGy4L9pXJ832HwQQ23SGOkERCF3sPi
+HPIyPHKBG4XmgcTGnBmU/js8/35zlC3Fw6ZDv7T2Z7CZbpVVnns5OpO/OqTTrvs/uAObIaQIJwar
+5KatgvJo5/PSXlGSmBKiSUfJsjn2RNmBZ2QRhbOeDNitctTlKyqqtZwYSSbR2ut4QOV0TC0hmBm4
+Y09qoh4PW1xDDevITvRLP2oFi/hCrGi8CfVnIggcjsxFVlA/x9S4MxBhT4YbyoB+J/9qEb/VZ4as
+0wos2sZ/Qye8NIvC8kwl00J364zKkbsFIkIm7YX5xCLeFebuLxySK2CrlVcknol30V+UNnLn4GEx
+KHCR+ALKRhhMoxnmb2vtU0/B/A4oYh+tavTBhUDxsbQF0zvpH65WbAxCz3B32ABbOG/JO+gH7OHl
+j/rLfh99hwvp0ulZQk19UQ4o0Iu3JDbVlPejA2zMtUoShNAUlSmWZ4ZApZ4oBYrEA7+5OaVDu6JA
+J6dUQ692QGCwqB66w9uDaBof2QAlQkSnz1Ar+O+F9+BHGz/4lYN7K3AnI95PV1EFdBr74g09GbSq
+Oov0qIgFB8Z6BP6g0oaLX1QXYcImBurjxDFq+hi+M+X46LCMgGE/qmlYDhqKO4JELqmCxMbXwQrY
+rLLF0GmQwLXz8Rv3jZqP+28ckNBJin/2z3X4ZV+a7P3DenqL7YDLVC1A4Bj6I4HprfUf8dMIpITI
+61+L/PaiOwlO6QJuQ/rgjoRr8f4Uls8mqkO75KYdP+pKawM7mRO7BB6UpmEQoL/dsfDhU5+cTWTn
+svYRNYvgkfD7cZz9Hcb+JGFtdBoF/Ek90YAlAYSTk2qpRjy3zMWRrx/CLcHVdmZyhqEPJcEgW+lk
+uuUxAi1FyQBK9aWq7ifV6A/7CWLbRrnjKary5gmTMsi8nFNcIPjqAW8fhjhcF+/mJVr3nlmWN9MD
+AZC/pcUBPxiWXXR9cyIUxnAwXTfZS0GtBmm7UU5m39d4uIAnFeSsaUTllHcn+BxSkK7nO1uz7M4U
+PagnfYZcrhp/9fWYBUlqQQxco9pJOfPWTKCtGY42Oyi0bvq6OGybfcBuPTESzrO2UDLF5LiJ8pS9
+pqcaIiTpwFtHZk/ZzFz1D2JkEtRmlKI3aXtE6JGFWAiZ7k82Xr1kpCE7LTKdgesBUzNZlq1qCFIx
+GONYu0TnsOFVDIckB0hujbZatggZRov9JyoVYhRVQvEReRse+A7lOFw9by4RhwvoLroEWPNaUYyj
+Fg2fbcxB2c/uOYlk7B9YkoB1ACk+6b2C4hm9t7j3zu6vSTVHuODZ+u59AZ/curJ/sOezEiJkgegf
+K2AIDrm8hXJIEWfBepNxbDtPLGv3uEwQtdgxnoor3nI7fIs655xDftjoNBfwT6Ii4PfteE1bFGlY
+OKK1dDaSYNDyA7cfKlee5OmIVCZsTCS+rxLhiZVSPBIHeuF1FgQRp2BdTizA34IIWEXHkSW7Y9lw
+7qmhgwNS4OF65SPr4swFoNwzYna4kGpVyGxUYUpCGyyAhBMRGMBCcwjxovlx3tVlV1z1mgEbV1um
+8+xzKhy+nVdUwW1VfJOBUFnKFP9kXFfL+nW4B/PUAY2rLj9x7kBx07aL7I5HjJr4NyIgy+Mn/AV/
+qU92P9+0J0U4SDr8fyVral6A8iRvOABucS2gVs8HzQubgMtWMgF56FYvuiwIBxaN36QKwvZOc82X
+LJizUXvZ41w6etMAd/B4LGbuiGCdgAWaGAWY2AvasQ89P/1FBXswewWme3OvudMnLDKrX0vLtpfj
+W+vtZZAKPK9MALnozMg+MoV8ppyFR+KDzZFab7BV12EIL8IIMxrhzvnWhNDFu5xdaR12jte5DzCN
+zTPF1ZzQCxc4mH2pUV/mzJtd7Kn61a24fqmHAeFIhhzE/Boln7PZ8nJk7IWO8Ug+zIiTKW==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_pdfhandlerTest.php b/src/tests/unit/Application/Model/d3ordermanager_pdfhandlerTest.php
index 96b2ebb1..d85af9cb 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_pdfhandlerTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_pdfhandlerTest.php
@@ -1,250 +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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
\ No newline at end of file
+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
+JFUpt/dKfy+ZCCmm/2tAEbNeSToewgyu5m==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_remarkTest.php b/src/tests/unit/Application/Model/d3ordermanager_remarkTest.php
index 79347f80..c6dc6b25 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_remarkTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_remarkTest.php
@@ -1,277 +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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
-XIKshDbhWhUbPwYx1W==
\ No newline at end of file
+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
+APlFPNrqnbceyOdiG0==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanager_toorderassignmentTest.php b/src/tests/unit/Application/Model/d3ordermanager_toorderassignmentTest.php
index 04067c03..4c408d81 100644
--- a/src/tests/unit/Application/Model/d3ordermanager_toorderassignmentTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanager_toorderassignmentTest.php
@@ -1,143 +1,143 @@
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
+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
+85oncUeuRG==
\ No newline at end of file
diff --git a/src/tests/unit/Application/Model/d3ordermanagerlistTest.php b/src/tests/unit/Application/Model/d3ordermanagerlistTest.php
index dfea042c..a25f61ce 100644
--- a/src/tests/unit/Application/Model/d3ordermanagerlistTest.php
+++ b/src/tests/unit/Application/Model/d3ordermanagerlistTest.php
@@ -1,314 +1,313 @@
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
+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
\ No newline at end of file
diff --git a/src/tests/unit/Modules/Application/Controller/Admin/d3_order_remark_ordermanagerTest.php b/src/tests/unit/Modules/Application/Controller/Admin/d3_order_remark_ordermanagerTest.php
index 1704312b..5f739dce 100644
--- a/src/tests/unit/Modules/Application/Controller/Admin/d3_order_remark_ordermanagerTest.php
+++ b/src/tests/unit/Modules/Application/Controller/Admin/d3_order_remark_ordermanagerTest.php
@@ -1,98 +1,176 @@
-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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
-//S=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Modules\Application\Controller\Admin;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Modules\Application\Controller\Admin\d3_order_remark_ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Remark;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Language;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+
+class d3_order_remark_ordermanagerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_order_remark_ordermanager */
+ protected $_oController;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oController = d3GetModCfgDIC()->get(d3_order_remark_ordermanager::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oController);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function renderPass()
+ {
+ $sRet = $this->callMethod(
+ $this->_oController,
+ "render"
+ );
+
+ $this->assertRegExp('@.*\.tpl@i', $sRet);
+ $this->assertRegExp('@.*\.tpl@i', $this->_oController->getViewDataElement('sOriginalTplName'));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canFixRemarkItems()
+ {
+ /** @var d3_order_remark_ordermanager|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_order_remark_ordermanager::class, array(
+ 'getViewDataElement',
+ 'd3ReplaceType',
+ ));
+ $oControllerMock->method('getViewDataElement')->willReturn($this->getRemarkList());
+ $oControllerMock->expects($this->once())->method('d3ReplaceType')->willReturn('newContent');
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ 'newContent',
+ $this->callMethod($this->_oController, 'd3FixRemarkItems', array('oldContent'))
+ );
+ }
+
+ /**
+ * @return array
+ * @throws Exception
+ */
+ public function getRemarkList()
+ {
+ $oRemark1 = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Remark::class);
+ $oRemark1->setId('testId');
+ $oRemark1->assign(array('oxtype' => 'd3om'));
+
+ $oRemark2 = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Remark::class);
+ $oRemark2->setId('testId');
+ $oRemark2->assign(array('oxtype' => 'order'));
+
+ return array(
+ '#1' => $oRemark1,
+ '#2' => $oRemark2,
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getLangReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Language::class,
+ $this->callMethod(
+ $this->_oController,
+ 'getLang'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canReplaceType()
+ {
+ $sOldContent = '[Order] No. 1 '.PHP_EOL.
+ '[Order] No. 2 ';
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLangMock->method('translateString')->willReturn('[OM_Ident]');
+
+ /** @var d3_order_remark_ordermanager|PHPUnit_Framework_MockObject_MockObject $oControllerMock */
+ $oControllerMock = $this->getMock(d3_order_remark_ordermanager::class, array(
+ 'getLang',
+ ));
+ $oControllerMock->method('getLang')->willReturn($oLangMock);
+
+ $this->_oController = $oControllerMock;
+
+ $this->assertSame(
+ '[Order] No. 1 '.PHP_EOL.
+ '[OM_Ident] No. 2 ',
+ $this->callMethod(
+ $this->_oController,
+ 'd3ReplaceType',
+ array(
+ $sOldContent,
+ 'itemNo2'
+ )
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Modules/Application/Model/d3_oxbasket_ordermanagerTest.php b/src/tests/unit/Modules/Application/Model/d3_oxbasket_ordermanagerTest.php
index 31578516..b2115a8e 100644
--- a/src/tests/unit/Modules/Application/Model/d3_oxbasket_ordermanagerTest.php
+++ b/src/tests/unit/Modules/Application/Model/d3_oxbasket_ordermanagerTest.php
@@ -1,567 +1,1008 @@
-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
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Modules\Application\Model;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Modules\Application\Model\d3_oxbasket_ordermanager;
+use D3\Ordermanager\Modules\Application\Model\d3_oxorder_ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Article;
+use OxidEsales\Eshop\Application\Model\Basket;
+use OxidEsales\Eshop\Application\Model\BasketItem;
+use OxidEsales\Eshop\Application\Model\Discount;
+use OxidEsales\Eshop\Application\Model\DiscountList;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Application\Model\OrderArticle;
+use OxidEsales\Eshop\Core\Config;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Price;
+use OxidEsales\Eshop\Core\PriceList;
+use OxidEsales\Eshop\Core\Session;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+
+class d3_oxbasket_ordermanagerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_oxbasket_ordermanager */
+ protected $_oModel;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Basket::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oModel);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getBasketItemReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ BasketItem::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'getBasketItemInstance'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function orderArticleCanAddToBasket()
+ {
+ /** @var OrderArticle|PHPUnit_Framework_MockObject_MockObject $oOrderArticleMock */
+ $oOrderArticleMock = $this->getMock(OrderArticle::class, array(
+ 'getFieldData',
+ 'getId'
+ ));
+ $oOrderArticleMock->method('getFieldData')->willReturn(2);
+ $oOrderArticleMock->method('getId')->willReturn(md5('newId'));
+
+ /** @var BasketItem|PHPUnit_Framework_MockObject_MockObject $oBasketItemMock */
+ $oBasketItemMock = $this->getMock(BasketItem::class, array(
+ 'setStockCheckStatus',
+ 'initFromOrderArticle',
+ 'setPrice',
+ 'setWrapping',
+ 'setBundle',
+ 'd3ChangeOrderArticle2RealArticle',
+ 'setAmount'
+ ));
+ $oBasketItemMock->method('setStockCheckStatus')->willReturn(true);
+ $oBasketItemMock->expects($this->once())->method('initFromOrderArticle')->willReturn(true);
+ $oBasketItemMock->expects($this->once())->method('setPrice')->willReturn(true);
+ $oBasketItemMock->method('setWrapping')->willReturn(true);
+ $oBasketItemMock->method('setBundle')->willReturn(true);
+ $oBasketItemMock->expects($this->any())->method('setAmount')->willReturn(true);
+ $oBasketItemMock->expects($this->once())->method('d3ChangeOrderArticle2RealArticle')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'getBasketItemInstance',
+ 'onUpdate',
+ ));
+ $oModelMock->method('getBasketItemInstance')->willReturn($oBasketItemMock);
+ $oModelMock->expects($this->once())->method('onUpdate')->willReturn(true);
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod($this->_oModel, 'addOrderArticleToBasket4OrderManager', array($oOrderArticleMock));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetConfigIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Config::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetConfig'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetSessionIsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Session::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetSession'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function emptyOorderArticleCannotAddToBasket()
+ {
+ /** @var OrderArticle|PHPUnit_Framework_MockObject_MockObject $oOrderArticleMock */
+ $oOrderArticleMock = $this->getMock(OrderArticle::class, array(
+ 'getFieldData',
+ 'getId'
+ ));
+ $oOrderArticleMock->method('getFieldData')->willReturn(0);
+ $oOrderArticleMock->method('getId')->willReturn(md5('newId'));
+
+ /** @var BasketItem|PHPUnit_Framework_MockObject_MockObject $oBasketItemMock */
+ $oBasketItemMock = $this->getMock(BasketItem::class, array(
+ 'setStockCheckStatus',
+ 'initFromOrderArticle',
+ 'setPrice',
+ 'setWrapping',
+ 'setBundle',
+ 'd3ChangeOrderArticle2RealArticle'
+ ));
+ $oBasketItemMock->method('setStockCheckStatus')->willReturn(true);
+ $oBasketItemMock->expects($this->never())->method('initFromOrderArticle')->willReturn(true);
+ $oBasketItemMock->expects($this->never())->method('setPrice')->willReturn(true);
+ $oBasketItemMock->method('setWrapping')->willReturn(true);
+ $oBasketItemMock->method('setBundle')->willReturn(true);
+ $oBasketItemMock->expects($this->never())->method('d3ChangeOrderArticle2RealArticle')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'getBasketItemInstance',
+ 'onUpdate',
+ ));
+ $oModelMock->method('getBasketItemInstance')->willReturn($oBasketItemMock);
+ $oModelMock->expects($this->never())->method('onUpdate')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod($this->_oModel, 'addOrderArticleToBasket4OrderManager', array($oOrderArticleMock));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function calculateBasket4OrderManagerCanStartedEnabledAndUpdateNeededAndUnforced()
+ {
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oBasketReservationMock */
+ $oBasketReservationMock = $this->getMock(Session::class, array(
+ 'reserveBasket',
+ ));
+ $oBasketReservationMock->expects($this->once())->method('reserveBasket')->willReturn(true);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oSessionMock */
+ $oSessionMock = $this->getMock(Session::class, array(
+ 'getBasketReservations',
+ ));
+ $oSessionMock->method('getBasketReservations')->willReturn($oBasketReservationMock);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getConfigParam',
+ ));
+ $oConfigMock->method('getConfigParam')->willReturn(true);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'isEnabled',
+ 'd3GetPrice',
+ '_save',
+ '_clearBundles',
+ '_addBundles',
+ 'd3GetConfig',
+ 'd3GetSession',
+ '_calcItemsPrice4OrderManager',
+ '_calcBasketDiscount4OrderManager',
+ '_calcBasketTotalDiscount',
+ '_calcVoucherDiscount',
+ '_applyDiscounts',
+ 'setCost',
+ '_calcDeliveryCost',
+ '_calcBasketWrapping',
+ '_calcPaymentCost4OrderManager',
+ '_calcTotalPrice',
+ 'formatDiscount',
+ 'afterUpdate',
+ ));
+ $oModelMock->method('isEnabled')->willReturn(true);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+ $oModelMock->expects($this->once())->method('_save')->willReturn(true);
+ $oModelMock->method('_clearBundles')->willReturn(true);
+ $oModelMock->method('_addBundles')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetSession')->willReturn($oSessionMock);
+ $oModelMock->method('_calcItemsPrice4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketDiscount4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketTotalDiscount')->willReturn(true);
+ $oModelMock->method('_calcVoucherDiscount')->willReturn(true);
+ $oModelMock->method('_applyDiscounts')->willReturn(true);
+ $oModelMock->method('setCost')->willReturn(true);
+ $oModelMock->method('_calcDeliveryCost')->willReturn(true);
+ $oModelMock->method('_calcBasketWrapping')->willReturn(true);
+ $oModelMock->method('_calcPaymentCost4OrderManager')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_calcTotalPrice')->willReturn(true);
+ $oModelMock->method('formatDiscount')->willReturn(true);
+ $oModelMock->method('afterUpdate')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_blUpdateNeeded',
+ true
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ 'calculateBasket4OrderManager',
+ array(false, $oOrder)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function calculateBasket4OrderManagerCanStartedDisabled()
+ {
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oBasketReservationMock */
+ $oBasketReservationMock = $this->getMock(Session::class, array(
+ 'reserveBasket',
+ ));
+ $oBasketReservationMock->expects($this->never())->method('reserveBasket')->willReturn(true);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oSessionMock */
+ $oSessionMock = $this->getMock(Session::class, array(
+ 'getBasketReservations',
+ ));
+ $oSessionMock->method('getBasketReservations')->willReturn($oBasketReservationMock);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getConfigParam',
+ ));
+ $oConfigMock->method('getConfigParam')->willReturn(true);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'isEnabled',
+ 'd3GetPrice',
+ '_save',
+ '_clearBundles',
+ '_addBundles',
+ 'd3GetConfig',
+ 'd3GetSession',
+ '_calcItemsPrice4OrderManager',
+ '_calcBasketDiscount4OrderManager',
+ '_calcBasketTotalDiscount',
+ '_calcVoucherDiscount',
+ '_applyDiscounts',
+ 'setCost',
+ '_calcDeliveryCost',
+ '_calcBasketWrapping',
+ '_calcPaymentCost4OrderManager',
+ '_calcTotalPrice',
+ 'formatDiscount',
+ 'afterUpdate',
+ ));
+ $oModelMock->method('isEnabled')->willReturn(false);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+ $oModelMock->expects($this->never())->method('_save')->willReturn(true);
+ $oModelMock->method('_clearBundles')->willReturn(true);
+ $oModelMock->method('_addBundles')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetSession')->willReturn($oSessionMock);
+ $oModelMock->method('_calcItemsPrice4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketDiscount4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketTotalDiscount')->willReturn(true);
+ $oModelMock->method('_calcVoucherDiscount')->willReturn(true);
+ $oModelMock->method('_applyDiscounts')->willReturn(true);
+ $oModelMock->method('setCost')->willReturn(true);
+ $oModelMock->method('_calcDeliveryCost')->willReturn(true);
+ $oModelMock->method('_calcBasketWrapping')->willReturn(true);
+ $oModelMock->method('_calcPaymentCost4OrderManager')->willReturn(true);
+ $oModelMock->expects($this->never())->method('_calcTotalPrice')->willReturn(true);
+ $oModelMock->method('formatDiscount')->willReturn(true);
+ $oModelMock->method('afterUpdate')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_blUpdateNeeded',
+ true
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ 'calculateBasket4OrderManager',
+ array(false, $oOrder)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function calculateBasket4OrderManagerCanStartedNoUpdate()
+ {
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oBasketReservationMock */
+ $oBasketReservationMock = $this->getMock(Session::class, array(
+ 'reserveBasket',
+ ));
+ $oBasketReservationMock->expects($this->never())->method('reserveBasket')->willReturn(true);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oSessionMock */
+ $oSessionMock = $this->getMock(Session::class, array(
+ 'getBasketReservations',
+ ));
+ $oSessionMock->method('getBasketReservations')->willReturn($oBasketReservationMock);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getConfigParam',
+ ));
+ $oConfigMock->method('getConfigParam')->willReturn(true);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'isEnabled',
+ 'd3GetPrice',
+ '_save',
+ '_clearBundles',
+ '_addBundles',
+ 'd3GetConfig',
+ 'd3GetSession',
+ '_calcItemsPrice4OrderManager',
+ '_calcBasketDiscount4OrderManager',
+ '_calcBasketTotalDiscount',
+ '_calcVoucherDiscount',
+ '_applyDiscounts',
+ 'setCost',
+ '_calcDeliveryCost',
+ '_calcBasketWrapping',
+ '_calcPaymentCost4OrderManager',
+ '_calcTotalPrice',
+ 'formatDiscount',
+ 'afterUpdate',
+ ));
+ $oModelMock->method('isEnabled')->willReturn(true);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+ $oModelMock->expects($this->never())->method('_save')->willReturn(true);
+ $oModelMock->method('_clearBundles')->willReturn(true);
+ $oModelMock->method('_addBundles')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetSession')->willReturn($oSessionMock);
+ $oModelMock->method('_calcItemsPrice4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketDiscount4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketTotalDiscount')->willReturn(true);
+ $oModelMock->method('_calcVoucherDiscount')->willReturn(true);
+ $oModelMock->method('_applyDiscounts')->willReturn(true);
+ $oModelMock->method('setCost')->willReturn(true);
+ $oModelMock->method('_calcDeliveryCost')->willReturn(true);
+ $oModelMock->method('_calcBasketWrapping')->willReturn(true);
+ $oModelMock->method('_calcPaymentCost4OrderManager')->willReturn(true);
+ $oModelMock->expects($this->never())->method('_calcTotalPrice')->willReturn(true);
+ $oModelMock->method('formatDiscount')->willReturn(true);
+ $oModelMock->method('afterUpdate')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_blUpdateNeeded',
+ false
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ 'calculateBasket4OrderManager',
+ array(false, $oOrder)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function calculateBasket4OrderManagerCanStartedNoUpdateForced()
+ {
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oBasketReservationMock */
+ $oBasketReservationMock = $this->getMock(Session::class, array(
+ 'reserveBasket',
+ ));
+ $oBasketReservationMock->expects($this->never())->method('reserveBasket')->willReturn(true);
+
+ /** @var Session|PHPUnit_Framework_MockObject_MockObject $oSessionMock */
+ $oSessionMock = $this->getMock(Session::class, array(
+ 'getBasketReservations',
+ ));
+ $oSessionMock->method('getBasketReservations')->willReturn($oBasketReservationMock);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getConfigParam',
+ ));
+ $oConfigMock->method('getConfigParam')->willReturn(false);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'isEnabled',
+ 'd3GetPrice',
+ '_save',
+ '_clearBundles',
+ '_addBundles',
+ 'd3GetConfig',
+ 'd3GetSession',
+ '_calcItemsPrice4OrderManager',
+ '_calcBasketDiscount4OrderManager',
+ '_calcBasketTotalDiscount',
+ '_calcVoucherDiscount',
+ '_applyDiscounts',
+ 'setCost',
+ '_calcDeliveryCost',
+ '_calcBasketWrapping',
+ '_calcPaymentCost4OrderManager',
+ '_calcTotalPrice',
+ 'formatDiscount',
+ 'afterUpdate',
+ ));
+ $oModelMock->method('isEnabled')->willReturn(true);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+ $oModelMock->expects($this->once())->method('_save')->willReturn(true);
+ $oModelMock->method('_clearBundles')->willReturn(true);
+ $oModelMock->method('_addBundles')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetSession')->willReturn($oSessionMock);
+ $oModelMock->method('_calcItemsPrice4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketDiscount4OrderManager')->willReturn(true);
+ $oModelMock->method('_calcBasketTotalDiscount')->willReturn(true);
+ $oModelMock->method('_calcVoucherDiscount')->willReturn(true);
+ $oModelMock->method('_applyDiscounts')->willReturn(true);
+ $oModelMock->method('setCost')->willReturn(true);
+ $oModelMock->method('_calcDeliveryCost')->willReturn(true);
+ $oModelMock->method('_calcBasketWrapping')->willReturn(true);
+ $oModelMock->method('_calcPaymentCost4OrderManager')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_calcTotalPrice')->willReturn(true);
+ $oModelMock->method('formatDiscount')->willReturn(true);
+ $oModelMock->method('afterUpdate')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_blUpdateNeeded',
+ false
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ 'calculateBasket4OrderManager',
+ array(true, $oOrder)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3getPriceListReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ PriceList::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3getPriceList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetDiscountListReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ DiscountList::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetDiscountList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCalcItemsPrice4OrderManagerNoDiscountedArticleNoSkipDiscounts()
+ {
+ /** @var Discount|PHPUnit_Framework_MockObject_MockObject $oDiscountMock */
+ $oDiscountMock = $this->getMock(Discount::class, array(
+ 'getAddSum',
+ 'getAddSumType',
+ ));
+ $oDiscountMock->method('getAddSum')->willReturn(true);
+ $oDiscountMock->method('getAddSumType')->willReturn(true);
+
+ /** @var DiscountList|PHPUnit_Framework_MockObject_MockObject $oDiscountListMock */
+ $oDiscountListMock = $this->getMock(DiscountList::class, array(
+ 'getBasketItemDiscounts',
+ ));
+ $oDiscountListMock->method('getBasketItemDiscounts')->willReturn(array(
+ 'discNo1' => $oDiscountMock
+ ));
+
+ /** @var Article|PHPUnit_Framework_MockObject_MockObject $oArticleMock */
+ $oArticleMock = $this->getMock(Article::class, array(
+ 'skipDiscounts',
+ ));
+ $oArticleMock->method('skipDiscounts')->willReturn(false);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ 'setDiscount',
+ 'calculateDiscount',
+ 'multiply',
+ 'getVat',
+ 'getVatValue',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+ $oPriceMock->expects($this->once())->method('setDiscount')->willReturn(true);
+ $oPriceMock->expects($this->once())->method('calculateDiscount')->willReturn(true);
+ $oPriceMock->method('multiply')->willReturn(true);
+ $oPriceMock->method('getVat')->willReturn(true);
+ $oPriceMock->method('getVatValue')->willReturn(true);
+
+ /** @var BasketItem|PHPUnit_Framework_MockObject_MockObject $oBasketItemMock */
+ $oBasketItemMock = $this->getMock(BasketItem::class, array(
+ 'isDiscountArticle',
+ 'getArticle',
+ 'isBundle',
+ 'getUnitPrice',
+ 'setRegularUnitPrice',
+ 'setPrice',
+ 'getPrice',
+ 'setSkipDiscounts',
+ 'getAmount',
+ ));
+ $oBasketItemMock->method('isDiscountArticle')->willReturn(false);
+ $oBasketItemMock->method('getArticle')->willReturn($oArticleMock);
+ $oBasketItemMock->method('isBundle')->willReturn(false);
+ $oBasketItemMock->method('getUnitPrice')->willReturn($oPriceMock);
+ $oBasketItemMock->expects($this->once())->method('setRegularUnitPrice')->willReturn(true);
+ $oBasketItemMock->method('setPrice')->willReturn(true);
+ $oBasketItemMock->method('getPrice')->willReturn(true);
+ $oBasketItemMock->method('setSkipDiscounts')->willReturn(true);
+ $oBasketItemMock->method('getAmount')->willReturn(true);
+
+ /** @var PriceList|PHPUnit_Framework_MockObject_MockObject $oPriceListMock */
+ $oPriceListMock = $this->getMock(PriceList::class, array(
+ 'addToPriceList',
+ ));
+ $oPriceListMock->expects($this->exactly(2))->method('addToPriceList')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'setSkipDiscounts',
+ 'd3getPriceList',
+ 'canCalcDiscounts',
+ 'd3GetDiscountList',
+ 'getBasketUser',
+ 'd3GetPrice',
+ ));
+ $oModelMock->method('setSkipDiscounts')->willReturn(true);
+ $oModelMock->method('d3getPriceList')->willReturn($oPriceListMock);
+ $oModelMock->method('canCalcDiscounts')->willReturn(true);
+ $oModelMock->method('d3GetDiscountList')->willReturn($oDiscountListMock);
+ $oModelMock->method('getBasketUser')->willReturn(true);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_aBasketContents',
+ array(
+ 'itemNo1' => $oBasketItemMock
+ )
+ );
+
+ $this->setValue(
+ $this->_oModel,
+ '_oProductsPriceList',
+ $oPriceListMock
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ '_calcItemsPrice4OrderManager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCalcItemsPrice4OrderManagerNoDiscountedArticleSkipDiscounts()
+ {
+ /** @var Discount|PHPUnit_Framework_MockObject_MockObject $oDiscountMock */
+ $oDiscountMock = $this->getMock(Discount::class, array(
+ 'getAddSum',
+ 'getAddSumType',
+ ));
+ $oDiscountMock->method('getAddSum')->willReturn(true);
+ $oDiscountMock->method('getAddSumType')->willReturn(true);
+
+ /** @var DiscountList|PHPUnit_Framework_MockObject_MockObject $oDiscountListMock */
+ $oDiscountListMock = $this->getMock(DiscountList::class, array(
+ 'getBasketItemDiscounts',
+ ));
+ $oDiscountListMock->method('getBasketItemDiscounts')->willReturn(array(
+ 'discNo1' => $oDiscountMock
+ ));
+
+ /** @var Article|PHPUnit_Framework_MockObject_MockObject $oArticleMock */
+ $oArticleMock = $this->getMock(Article::class, array(
+ 'skipDiscounts',
+ ));
+ $oArticleMock->method('skipDiscounts')->willReturn(true);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ 'setDiscount',
+ 'calculateDiscount',
+ 'multiply',
+ 'getVat',
+ 'getVatValue',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+ $oPriceMock->method('setDiscount')->willReturn(true);
+ $oPriceMock->expects($this->never())->method('calculateDiscount')->willReturn(true);
+ $oPriceMock->method('multiply')->willReturn(true);
+ $oPriceMock->method('getVat')->willReturn(true);
+ $oPriceMock->method('getVatValue')->willReturn(true);
+
+ /** @var BasketItem|PHPUnit_Framework_MockObject_MockObject $oBasketItemMock */
+ $oBasketItemMock = $this->getMock(BasketItem::class, array(
+ 'isDiscountArticle',
+ 'getArticle',
+ 'isBundle',
+ 'getUnitPrice',
+ 'setRegularUnitPrice',
+ 'setPrice',
+ 'getPrice',
+ 'setSkipDiscounts',
+ 'getAmount',
+ ));
+ $oBasketItemMock->method('isDiscountArticle')->willReturn(false);
+ $oBasketItemMock->method('getArticle')->willReturn($oArticleMock);
+ $oBasketItemMock->method('isBundle')->willReturn(false);
+ $oBasketItemMock->method('getUnitPrice')->willReturn($oPriceMock);
+ $oBasketItemMock->expects($this->once())->method('setRegularUnitPrice')->willReturn(true);
+ $oBasketItemMock->method('setPrice')->willReturn(true);
+ $oBasketItemMock->method('getPrice')->willReturn(true);
+ $oBasketItemMock->method('setSkipDiscounts')->willReturn(true);
+ $oBasketItemMock->method('getAmount')->willReturn(true);
+
+ /** @var PriceList|PHPUnit_Framework_MockObject_MockObject $oPriceListMock */
+ $oPriceListMock = $this->getMock(PriceList::class, array(
+ 'addToPriceList',
+ ));
+ $oPriceListMock->expects($this->exactly(2))->method('addToPriceList')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'setSkipDiscounts',
+ 'd3getPriceList',
+ 'canCalcDiscounts',
+ 'd3GetDiscountList',
+ 'getBasketUser',
+ 'd3GetPrice',
+ ));
+ $oModelMock->expects($this->exactly(3))->method('setSkipDiscounts')->willReturn(true);
+ $oModelMock->method('d3getPriceList')->willReturn($oPriceListMock);
+ $oModelMock->method('canCalcDiscounts')->willReturn(true);
+ $oModelMock->method('d3GetDiscountList')->willReturn($oDiscountListMock);
+ $oModelMock->method('getBasketUser')->willReturn(true);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_aBasketContents',
+ array(
+ 'itemNo1' => $oBasketItemMock
+ )
+ );
+
+ $this->setValue(
+ $this->_oModel,
+ '_oProductsPriceList',
+ $oPriceListMock
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ '_calcItemsPrice4OrderManager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCalcItemsPrice4OrderManagerBundle()
+ {
+ /** @var Discount|PHPUnit_Framework_MockObject_MockObject $oDiscountMock */
+ $oDiscountMock = $this->getMock(Discount::class, array(
+ 'getAddSum',
+ 'getAddSumType',
+ ));
+ $oDiscountMock->method('getAddSum')->willReturn(true);
+ $oDiscountMock->method('getAddSumType')->willReturn(true);
+
+ /** @var DiscountList|PHPUnit_Framework_MockObject_MockObject $oDiscountListMock */
+ $oDiscountListMock = $this->getMock(DiscountList::class, array(
+ 'getBasketItemDiscounts',
+ ));
+ $oDiscountListMock->method('getBasketItemDiscounts')->willReturn(array(
+ 'discNo1' => $oDiscountMock
+ ));
+
+ /** @var Article|PHPUnit_Framework_MockObject_MockObject $oArticleMock */
+ $oArticleMock = $this->getMock(Article::class, array(
+ 'skipDiscounts',
+ ));
+ $oArticleMock->method('skipDiscounts')->willReturn(true);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ 'setDiscount',
+ 'calculateDiscount',
+ 'multiply',
+ 'getVat',
+ 'getVatValue',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+ $oPriceMock->expects($this->never())->method('setDiscount')->willReturn(true);
+ $oPriceMock->expects($this->never())->method('calculateDiscount')->willReturn(true);
+ $oPriceMock->method('multiply')->willReturn(true);
+ $oPriceMock->method('getVat')->willReturn(true);
+ $oPriceMock->method('getVatValue')->willReturn(true);
+
+ /** @var BasketItem|PHPUnit_Framework_MockObject_MockObject $oBasketItemMock */
+ $oBasketItemMock = $this->getMock(BasketItem::class, array(
+ 'isDiscountArticle',
+ 'getArticle',
+ 'isBundle',
+ 'getUnitPrice',
+ 'setRegularUnitPrice',
+ 'setPrice',
+ 'getPrice',
+ 'setSkipDiscounts',
+ 'getAmount',
+ ));
+ $oBasketItemMock->method('isDiscountArticle')->willReturn(true);
+ $oBasketItemMock->method('getArticle')->willReturn($oArticleMock);
+ $oBasketItemMock->method('isBundle')->willReturn(true);
+ $oBasketItemMock->method('getUnitPrice')->willReturn($oPriceMock);
+ $oBasketItemMock->expects($this->never())->method('setRegularUnitPrice')->willReturn(true);
+ $oBasketItemMock->expects($this->once())->method('setPrice')->willReturn(true);
+ $oBasketItemMock->method('getPrice')->willReturn(true);
+ $oBasketItemMock->method('setSkipDiscounts')->willReturn(true);
+ $oBasketItemMock->method('getAmount')->willReturn(true);
+
+ /** @var PriceList|PHPUnit_Framework_MockObject_MockObject $oPriceListMock */
+ $oPriceListMock = $this->getMock(PriceList::class, array(
+ 'addToPriceList',
+ ));
+ $oPriceListMock->expects($this->never())->method('addToPriceList')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'setSkipDiscounts',
+ 'd3getPriceList',
+ 'canCalcDiscounts',
+ 'd3GetDiscountList',
+ 'getBasketUser',
+ 'd3GetPrice',
+ ));
+ $oModelMock->method('setSkipDiscounts')->willReturn(true);
+ $oModelMock->method('d3getPriceList')->willReturn($oPriceListMock);
+ $oModelMock->method('canCalcDiscounts')->willReturn(true);
+ $oModelMock->method('d3GetDiscountList')->willReturn($oDiscountListMock);
+ $oModelMock->method('getBasketUser')->willReturn(true);
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ '_aBasketContents',
+ array(
+ 'itemNo1' => $oBasketItemMock
+ )
+ );
+
+ $this->setValue(
+ $this->_oModel,
+ '_oProductsPriceList',
+ $oPriceListMock
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ '_calcItemsPrice4OrderManager'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetPriceReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Price::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetPrice'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCalcPaymentCost4OrderManager()
+ {
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ ));
+ $map = [['oxpaycost', 123.45]];
+ $oOrderMock->method('getFieldData')->willReturnMap($map);
+
+ /** @var Price|PHPUnit_Framework_MockObject_MockObject $oPriceMock */
+ $oPriceMock = $this->getMock(Price::class, array(
+ 'setBruttoPriceMode',
+ 'setPrice',
+ ));
+ $oPriceMock->method('setBruttoPriceMode')->willReturn(true);
+ $oPriceMock->method('setPrice')->willReturn(true);
+
+ /** @var d3_oxbasket_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Basket::class, array(
+ 'd3GetPrice',
+ ));
+ $oModelMock->method('d3GetPrice')->willReturn($oPriceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertInstanceOf(
+ Price::class,
+ $this->callMethod(
+ $this->_oModel,
+ '_calcPaymentCost4OrderManager',
+ array($oOrderMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function calcBasketDiscount4OrderManagerPass()
+ {
+ $oOrder = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ $oOrder->assign(array(
+ 'oxdiscount' => 3.75,
+ ));
+
+ $this->callMethod(
+ $this->_oModel,
+ '_calcBasketDiscount4OrderManager',
+ array($oOrder)
+ );
+
+ $aDiscounts = $this->callMethod($this->_oModel, 'd3GetDiscounts');
+ $this->assertInternalType('array', $aDiscounts);
+ $this->assertCount(1, $aDiscounts);
+ $aDiscountedVats = $this->callMethod($this->_oModel, 'd3GetDiscountedVats');
+ $this->assertInternalType('array', $aDiscountedVats);
+ $this->assertCount(1, $aDiscountedVats);
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Modules/Application/Model/d3_oxbasketitem_ordermanagerTest.php b/src/tests/unit/Modules/Application/Model/d3_oxbasketitem_ordermanagerTest.php
index 34ec29dc..0bacb895 100644
--- a/src/tests/unit/Modules/Application/Model/d3_oxbasketitem_ordermanagerTest.php
+++ b/src/tests/unit/Modules/Application/Model/d3_oxbasketitem_ordermanagerTest.php
@@ -1,70 +1,126 @@
-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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
-oZcZkSCdQ0==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Modules\Application\Model;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Modules\Application\Model\d3_oxbasketitem_ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Article;
+use OxidEsales\Eshop\Application\Model\BasketItem;
+use OxidEsales\Eshop\Application\Model\OrderArticle;
+use OxidEsales\Eshop\Core\DatabaseProvider;
+use OxidEsales\Eshop\Core\Exception\ArticleException;
+use OxidEsales\Eshop\Core\Exception\ArticleInputException;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Exception\NoArticleException;
+use ReflectionException;
+
+class d3_oxbasketitem_ordermanagerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_oxbasketitem_ordermanager */
+ protected $_oModel;
+
+ /**
+ * setup basic requirements
+ * @throws DatabaseConnectionException
+ * @throws DBALException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.BasketItem::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oModel);
+ }
+
+ /**
+ * @test
+ * @throws ArticleException
+ * @throws ArticleInputException
+ * @throws DatabaseConnectionException
+ * @throws NoArticleException
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function orderArticlesCanConvertedToArticles()
+ {
+ $oArticle = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Article::class);
+ $sSelect = "SELECT oxid FROM {$oArticle->getViewName()} WHERE 1";
+
+ $sOXID = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getOne($sSelect);
+
+ if ($sOXID) {
+ /** @var OrderArticle $oOrderArticle */
+ $oOrderArticle = d3GetModCfgDIC()->get('d3ox.ordermanager.'.OrderArticle::class);
+ $oOrderArticle->assign(
+ array(
+ 'oxartid' => $sOXID,
+ )
+ );
+
+ $this->setValue($this->_oModel, '_oArticle', $oOrderArticle);
+ $this->callMethod($this->_oModel, 'd3ChangeOrderArticle2RealArticle');
+ $this->assertInstanceOf(Article::class, $this->_oModel->getArticle());
+ } else {
+ $this->markTestSkipped('no article available');
+ }
+ }
+
+ /**
+ * @test
+ * @throws ArticleException
+ * @throws ArticleInputException
+ * @throws NoArticleException
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function orderArticlesCantConvertedToArticles()
+ {
+ /** @var OrderArticle $oOrderArticle */
+ $oOrderArticle = d3GetModCfgDIC()->get('d3ox.ordermanager.'.OrderArticle::class);
+ $oOrderArticle->assign(
+ array(
+ 'oxartid' => 'foobar',
+ )
+ );
+
+ $this->setValue($this->_oModel, '_oArticle', $oOrderArticle);
+ $this->callMethod($this->_oModel, 'd3ChangeOrderArticle2RealArticle');
+ $this->assertInstanceOf(OrderArticle::class, $this->_oModel->getArticle());
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Modules/Application/Model/d3_oxemail_ordermanagerTest.php b/src/tests/unit/Modules/Application/Model/d3_oxemail_ordermanagerTest.php
index 10dcce25..bbba7ae9 100644
--- a/src/tests/unit/Modules/Application/Model/d3_oxemail_ordermanagerTest.php
+++ b/src/tests/unit/Modules/Application/Model/d3_oxemail_ordermanagerTest.php
@@ -1,1077 +1,2222 @@
-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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
-7qKG1fV6RGdTR82iw4+KSPIpmdbDPW==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Modules\Application\Model;
+
+use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod;
+use D3\ModCfg\Application\Model\d3str;
+use D3\ModCfg\Application\Model\Log\d3log;
+use D3\ModCfg\Application\Model\Shopcompatibility\d3ShopCompatibilityAdapterHandler;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
+use D3\Ordermanager\Application\Model\d3ordermanager_pdfhandler;
+use D3\Ordermanager\Application\Model\d3ordermanagerlist;
+use D3\Ordermanager\Modules\Application\Model\d3_oxemail_ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use OxidEsales\Eshop\Application\Model\Basket;
+use OxidEsales\Eshop\Application\Model\Content;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Application\Model\Payment;
+use OxidEsales\Eshop\Application\Model\Remark;
+use OxidEsales\Eshop\Application\Model\Shop;
+use OxidEsales\Eshop\Application\Model\User;
+use OxidEsales\Eshop\Core\Config;
+use OxidEsales\Eshop\Core\Email;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Field;
+use OxidEsales\Eshop\Core\Language;
+use OxidEsales\Eshop\Core\Module\Module;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use Smarty;
+use stdClass;
+
+class d3_oxemail_ordermanagerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_oxemail_ordermanager */
+ protected $_oModel;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ * @throws Exception
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Email::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oModel);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSendOrderManagerEmail()
+ {
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oFieldMock */
+ $oFieldMock = $this->getMock(Shop::class, array(
+ 'getRawValue',
+ ));
+ $oFieldMock->method('getRawValue')->willReturn('value');
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ '__get',
+ 'getFieldData',
+ ));
+ $oShopMock->method('__get')->willReturn($oFieldMock);
+ $oShopMock->method('getFieldData')->willReturn('value');
+
+ /** @var d3log|PHPUnit_Framework_MockObject_MockObject $oD3LogMock */
+ $oD3LogMock = $this->getMock(d3log::class, array(
+ 'log',
+ ));
+ $oD3LogMock->method('log')->willReturn(true);
+
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'd3getLog',
+ ));
+ $oModCfgMock->method('d3getLog')->willReturn($oD3LogMock);
+
+ /** @var Smarty|PHPUnit_Framework_MockObject_MockObject $oSmartyMock */
+ $oSmartyMock = $this->getMock(Smarty::class, array(
+ 'fetch',
+ ));
+ $oSmartyMock->method('fetch')->willReturn('smartyContent');
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_getShop',
+ '_getSmarty',
+ '_setMailParams',
+ 'setViewData',
+ '_processViewArray',
+ 'setBody',
+ 'setAltBody',
+ 'getBody',
+ 'd3GetSet',
+ 'setSubject',
+ 'setRecipient',
+ 'setReplyTo',
+ 'send',
+ ));
+ $oModelMock->method('_getShop')->willReturn($oShopMock);
+ $oModelMock->method('_getSmarty')->willReturn($oSmartyMock);
+ $oModelMock->method('_setMailParams')->willReturn(true);
+ $oModelMock->method('setViewData')->willReturn(true);
+ $oModelMock->method('_processViewArray')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setBody')->willReturn(true);
+ $oModelMock->method('setAltBody')->willReturn(true);
+ $oModelMock->method('getBody')->willReturn('mailBody');
+ $oModelMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oModelMock->method('setSubject')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setRecipient')->willReturn(true);
+ $oModelMock->method('setReplyTo')->willReturn(true);
+ $oModelMock->expects($this->once())->method('send')->willReturn('sendSuccessStatus');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'sendSuccessStatus',
+ $this->callMethod(
+ $this->_oModel,
+ 'd3sendOrderManagerEmail',
+ array(array())
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canLoadOrderUniqueOxid()
+ {
+ $oOrderManagerListMock = $this->getMock(d3ordermanagerlist::class,
+ ['d3GetOrderSaveTriggeredManagerTasks']
+ );
+ $oOrderManagerListMock->method('d3GetOrderSaveTriggeredManagerTasks')->willReturn(array());
+
+ d3GetModCfgDIC()->set(d3ordermanagerlist::class, $oOrderManagerListMock);
+
+ $oOrder = new Order();
+ $oOrder->setId('testOxId1');
+ $oOrder->save();
+
+ $oReturnOrder = $this->callMethod(
+ $this->_oModel,
+ 'd3getOrder',
+ array('testOxId1')
+ );
+
+ $this->assertInstanceOf(
+ Order::class,
+ $oReturnOrder
+ );
+ $this->assertSame(
+ 'testOxId1',
+ $oReturnOrder->getId()
+ );
+
+ $oOrder->delete('testOxId1');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canLoadOrderOxidPartOfOtherData()
+ {
+ $oOrderManagerListMock = $this->getMock(d3ordermanagerlist::class,
+ ['d3GetOrderSaveTriggeredManagerTasks']
+ );
+ $oOrderManagerListMock->method('d3GetOrderSaveTriggeredManagerTasks')->willReturn(array());
+
+ d3GetModCfgDIC()->set(d3ordermanagerlist::class, $oOrderManagerListMock);
+
+ $oOrder = new Order();
+ $oOrder->setId('testOxId2');
+ $oOrder->save();
+
+ $oReturnOrder = $this->callMethod(
+ $this->_oModel,
+ 'd3getOrder',
+ array('testOxId2@@otherData')
+ );
+
+ $this->assertInstanceOf(
+ Order::class,
+ $oReturnOrder
+ );
+ $this->assertSame(
+ 'testOxId2',
+ $oReturnOrder->getId()
+ );
+
+ $oOrder->delete('testOxId2');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canLoadOrdermanager()
+ {
+ /** @var d3ordermanager $oManager */
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+ $oManager->setId('testOxId3');
+ $oManager->save();
+
+ $oReturnManager = $this->callMethod(
+ $this->_oModel,
+ 'd3getOrderManager',
+ array('testOxId3')
+ );
+
+ $this->assertInstanceOf(
+ d3ordermanager::class,
+ $oReturnManager
+ );
+ $this->assertSame(
+ 'testOxId3',
+ $oReturnManager->getId()
+ );
+
+ $oManager->delete('testOxId3');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canStartSendingOrderManagerMail()
+ {
+ /** @var Remark|PHPUnit_Framework_MockObject_MockObject $oRemarkMock */
+ $oRemarkMock = $this->getMock(Remark::class, array(
+ 'save',
+ ));
+ $oRemarkMock->expects($this->once())->method('save')->willReturn(true);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'getOrderManagerMailContent',
+ '_getShop',
+ 'setBody',
+ 'setAltBody',
+ 'setSubject',
+ '_d3SetOrderManagerReplyAddress',
+ '_d3SetOrderManagerMailRecipients',
+ '_d3AddOrderManagerPdfAttachment',
+ 'send',
+ ));
+ $oModelMock->method('getOrderManagerMailContent')->willReturn(array(
+ 'html' => 'foo',
+ 'plain' => 'bar',
+ 'subject' => 'testSubject'
+ ));
+ $oModelMock->method('_getShop')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class));
+ $oModelMock->expects($this->once())->method('setBody')->willReturn(true);
+ $oModelMock->method('setAltBody')->willReturn(true);
+ $oModelMock->method('setSubject')->willReturn(true);
+ $oModelMock->method('_d3SetOrderManagerReplyAddress')->willReturn(true);
+ $oModelMock->method('_d3SetOrderManagerMailRecipients')->willReturn($oRemarkMock);
+ $oModelMock->method('_d3AddOrderManagerPdfAttachment')->willReturn(true);
+ $oModelMock->expects($this->once())->method('send')->willReturn('successSendStatus');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'successSendStatus',
+ $this->callMethod(
+ $this->_oModel,
+ 'sendOrderManagerMail',
+ array(d3GetModCfgDIC()->get(d3ordermanager::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function canSetOrderManagerMailRecipientsCustomer()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomerRecipient',
+ '_d3sendOrderManagerMailToCustomer',
+ '_d3hasOrderManagerOwnerRecipient',
+ '_d3sendOrderManagerMailToOwner',
+ '_d3hasOrderManagerCustomRecipient',
+ '_d3sendOrderManagerMailToCustom',
+ ));
+ $oModelMock->method('_d3hasOrderManagerCustomerRecipient')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_d3sendOrderManagerMailToCustomer')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Remark::class));
+ $oModelMock->method('_d3hasOrderManagerOwnerRecipient')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_d3sendOrderManagerMailToOwner')->willReturn(true);
+ $oModelMock->method('_d3hasOrderManagerCustomRecipient')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_d3sendOrderManagerMailToCustom')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertInstanceOf(
+ Remark::class,
+ $this->callMethod(
+ $this->_oModel,
+ '_d3SetOrderManagerMailRecipients',
+ array(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetOrderManagerMailRecipientsOwner()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomerRecipient',
+ '_d3sendOrderManagerMailToCustomer',
+ '_d3hasOrderManagerOwnerRecipient',
+ '_d3sendOrderManagerMailToOwner',
+ '_d3hasOrderManagerCustomRecipient',
+ '_d3sendOrderManagerMailToCustom',
+ ));
+ $oModelMock->method('_d3hasOrderManagerCustomerRecipient')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_d3sendOrderManagerMailToCustomer')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Remark::class));
+ $oModelMock->method('_d3hasOrderManagerOwnerRecipient')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_d3sendOrderManagerMailToOwner')->willReturn(true);
+ $oModelMock->method('_d3hasOrderManagerCustomRecipient')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_d3sendOrderManagerMailToCustom')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertNull(
+ $this->callMethod(
+ $this->_oModel,
+ '_d3SetOrderManagerMailRecipients',
+ array(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetOrderManagerMailRecipientsCustom()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomerRecipient',
+ '_d3sendOrderManagerMailToCustomer',
+ '_d3hasOrderManagerOwnerRecipient',
+ '_d3sendOrderManagerMailToOwner',
+ '_d3hasOrderManagerCustomRecipient',
+ '_d3sendOrderManagerMailToCustom',
+ ));
+ $oModelMock->method('_d3hasOrderManagerCustomerRecipient')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_d3sendOrderManagerMailToCustomer')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Remark::class));
+ $oModelMock->method('_d3hasOrderManagerOwnerRecipient')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_d3sendOrderManagerMailToOwner')->willReturn(true);
+ $oModelMock->method('_d3hasOrderManagerCustomRecipient')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_d3sendOrderManagerMailToCustom')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertNull(
+ $this->callMethod(
+ $this->_oModel,
+ '_d3SetOrderManagerMailRecipients',
+ array(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGgetOrderManagerMailOptionEdited()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ 'getEditedValues',
+ ));
+ $oManagerMock->expects($this->never())->method('getValue')->willReturn('objectProperty');
+ $oManagerMock->expects($this->once())->method('getEditedValues')->willReturn(array('editedVar' => 'editedProperty'));
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3getOrderManagerMailOption',
+ array('editedVar')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGgetOrderManagerMailOptionObject()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ 'getEditedValues',
+ ));
+ $oManagerMock->expects($this->once())->method('getValue')->willReturn('objectProperty');
+ $oManagerMock->expects($this->once())->method('getEditedValues')->willReturn(array('editedVar' => 'editedProperty'));
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3getOrderManagerMailOption',
+ array('objectVar')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canHasOrderManagerCustomerRecipient()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3getOrderManagerMailOption',
+ ));
+ $oModelMock->expects($this->once())->method('_d3getOrderManagerMailOption')->with(
+ $this->stringContains('Customer')
+ )->willReturn('returnValue');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ '_d3hasOrderManagerCustomerRecipient'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canHasOrderManagerOwnerRecipient()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3getOrderManagerMailOption',
+ ));
+ $oModelMock->expects($this->once())->method('_d3getOrderManagerMailOption')->with(
+ $this->stringContains('Owner')
+ )->willReturn('returnValue');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ '_d3hasOrderManagerOwnerRecipient'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canHasOrderManagerCustomRecipient()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3getOrderManagerMailOption',
+ ));
+ $oModelMock->expects($this->once())->method('_d3getOrderManagerMailOption')->with(
+ $this->stringContains('Custom')
+ )->willReturn('returnValue');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ '_d3hasOrderManagerCustomRecipient'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetOrderManagerCustomRecipientList()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3getOrderManagerMailOption',
+ ));
+ $oModelMock->expects($this->once())->method('_d3getOrderManagerMailOption')->with(
+ $this->stringContains('CustomAddress')
+ )->willReturn('returnValue');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ '_d3getOrderManagerCustomRecipientList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetSetReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3_cfg_mod::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetSet'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetPaymentReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Payment::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetPayment'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetLangReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Language::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetLang'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetConfigReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Config::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetConfig'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetOrderManagerMailContentAdminTpl()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getLicenseConfigData',
+ ));
+ $oModCfgMock->method('getLicenseConfigData')->willReturn(false);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLanguageMock */
+ $oLanguageMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLanguageMock->method('translateString')->willReturn(true);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ 'setAdminMode',
+ ));
+ $oConfigMock->method('getTemplateDir')->willReturn(true);
+ $oConfigMock->expects($this->exactly(2))->method('setAdminMode')->with(
+ $this->isTrue()
+ )->willReturn(true);
+
+ /** @var Payment|PHPUnit_Framework_MockObject_MockObject $oPaymentMock */
+ $oPaymentMock = $this->getMock(Payment::class, array(
+ 'load',
+ ));
+ $oPaymentMock->method('load')->willReturn(true);
+
+ /** @var Basket|PHPUnit_Framework_MockObject_MockObject $oBasketMock */
+ $oBasketMock = $this->getMock(Basket::class, array(
+ 'getPaymentId',
+ ));
+ $oBasketMock->method('getPaymentId')->willReturn(true);
+
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'd3getOrderBasket4OrderManager',
+ 'd3setBasket4OrderManager',
+ 'd3setPayment4OrderManager',
+ 'getOrderUser',
+ 'getDelSet',
+ 'getOrderCurrency',
+ ));
+ $oOrderMock->method('d3getOrderBasket4OrderManager')->willReturn($oBasketMock);
+ $oOrderMock->method('d3setBasket4OrderManager')->willReturn(true);
+ $oOrderMock->method('d3setPayment4OrderManager')->willReturn(true);
+ $oOrderMock->method('getOrderUser')->willReturn(true);
+ $oOrderMock->method('getDelSet')->willReturn(true);
+ $oOrderMock->method('getOrderCurrency')->willReturn(true);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ 'getCurrentItem',
+ ));
+ $getValueMap = [['sSendMailFromTheme', 'admin']];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_getShop',
+ '_setMailParams',
+ '_getSmarty',
+ 'd3GetPayment',
+ 'setViewData',
+ 'getViewConfig',
+ 'd3GetConfig',
+ 'd3GetLang',
+ 'getTemplateDir4OrderManager',
+ '_processViewArray',
+ 'd3GetSet',
+ 'd3SendMailHook',
+ '_d3GenerateOrderManagerMailContent',
+ ));
+ $oModelMock->method('_getShop')->willReturn(true);
+ $oModelMock->method('_setMailParams')->willReturn(true);
+ $oModelMock->method('_getSmarty')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Smarty::class));
+ $oModelMock->method('d3GetPayment')->willReturn($oPaymentMock);
+ $oModelMock->method('setViewData')->willReturn(true);
+ $oModelMock->method('getViewConfig')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetLang')->willReturn($oLanguageMock);
+ $oModelMock->method('getTemplateDir4OrderManager')->willReturn(true);
+ $oModelMock->method('_processViewArray')->willReturn(true);
+ $oModelMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oModelMock->method('d3SendMailHook')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Smarty::class));
+ $oModelMock->method('_d3GenerateOrderManagerMailContent')->willReturn('returnValue');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ 'getOrderManagerMailContent',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetOrderManagerMailContentFrontendTpl()
+ {
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oModCfgMock */
+ $oModCfgMock = $this->getMock(stdClass::class, array(
+ 'getLicenseConfigData',
+ ));
+ $oModCfgMock->method('getLicenseConfigData')->willReturn(false);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLanguageMock */
+ $oLanguageMock = $this->getMock(Language::class, array(
+ 'translateString',
+ ));
+ $oLanguageMock->method('translateString')->willReturn(true);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ 'setAdminMode',
+ ));
+ $oConfigMock->method('getTemplateDir')->willReturn(true);
+ $oConfigMock->expects($this->exactly(2))->method('setAdminMode')->withConsecutive(
+ [$this->isFalse()],
+ [$this->isTrue()]
+ )->willReturn(true);
+
+ /** @var Payment|PHPUnit_Framework_MockObject_MockObject $oPaymentMock */
+ $oPaymentMock = $this->getMock(Payment::class, array(
+ 'load',
+ ));
+ $oPaymentMock->method('load')->willReturn(true);
+
+ /** @var Basket|PHPUnit_Framework_MockObject_MockObject $oBasketMock */
+ $oBasketMock = $this->getMock(Basket::class, array(
+ 'getPaymentId',
+ ));
+ $oBasketMock->method('getPaymentId')->willReturn(true);
+
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'd3getOrderBasket4OrderManager',
+ 'd3setBasket4OrderManager',
+ 'd3setPayment4OrderManager',
+ 'getOrderUser',
+ 'getDelSet',
+ 'getOrderCurrency',
+ ));
+ $oOrderMock->method('d3getOrderBasket4OrderManager')->willReturn($oBasketMock);
+ $oOrderMock->method('d3setBasket4OrderManager')->willReturn(true);
+ $oOrderMock->method('d3setPayment4OrderManager')->willReturn(true);
+ $oOrderMock->method('getOrderUser')->willReturn(true);
+ $oOrderMock->method('getDelSet')->willReturn(true);
+ $oOrderMock->method('getOrderCurrency')->willReturn(true);
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ 'getCurrentItem',
+ ));
+ $getValueMap = [['sSendMailFromTheme', 'frontend']];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_getShop',
+ '_setMailParams',
+ '_getSmarty',
+ 'd3GetPayment',
+ 'setViewData',
+ 'getViewConfig',
+ 'd3GetConfig',
+ 'd3GetLang',
+ 'getTemplateDir4OrderManager',
+ '_processViewArray',
+ 'd3GetSet',
+ 'd3SendMailHook',
+ '_d3GenerateOrderManagerMailContent',
+ ));
+ $oModelMock->method('_getShop')->willReturn(true);
+ $oModelMock->method('_setMailParams')->willReturn(true);
+ $oModelMock->method('_getSmarty')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Smarty::class));
+ $oModelMock->method('d3GetPayment')->willReturn($oPaymentMock);
+ $oModelMock->method('setViewData')->willReturn(true);
+ $oModelMock->method('getViewConfig')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetLang')->willReturn($oLanguageMock);
+ $oModelMock->method('getTemplateDir4OrderManager')->willReturn(true);
+ $oModelMock->method('_processViewArray')->willReturn(true);
+ $oModelMock->method('d3GetSet')->willReturn($oModCfgMock);
+ $oModelMock->method('d3SendMailHook')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Smarty::class));
+ $oModelMock->method('_d3GenerateOrderManagerMailContent')->willReturn('returnValue');
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ 'getOrderManagerMailContent',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetTemplateDir4OrderManagerModule()
+ {
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ ));
+ $oConfigMock->expects($this->never())->method('getTemplateDir')->willReturn('returnValue');
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'untrailingslashit',
+ ));
+ $oD3StrMock->method('untrailingslashit')->willReturn('returnValue');
+
+ /** @var d3ShopCompatibilityAdapterHandler|PHPUnit_Framework_MockObject_MockObject $oShopCompatHandlerMock */
+ $oShopCompatHandlerMock = $this->getMock(d3ShopCompatibilityAdapterHandler::class, array(
+ 'call',
+ ));
+ $oShopCompatHandlerMock->expects($this->once())->method('call')->willReturn('fullPath');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['sSendMailFromTheme', 'module'],
+ ['sSendMailFromModulePath', 'module'],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3GetShopCompatibilityAdapterHandler',
+ 'd3GetModule',
+ 'getD3Str',
+ 'd3GetConfig',
+ ));
+ $oModelMock->method('d3GetShopCompatibilityAdapterHandler')->willReturn($oShopCompatHandlerMock);
+ $oModelMock->method('d3GetModule')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Module::class));
+ $oModelMock->method('getD3Str')->willReturn($oD3StrMock);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ 'getTemplateDir4OrderManager',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetTemplateDir4OrderManagerAdmin()
+ {
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ ));
+ $oConfigMock->expects($this->once())->method('getTemplateDir')->with(
+ $this->isTrue()
+ )->willReturn('returnValue');
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'untrailingslashit',
+ ));
+ $oD3StrMock->method('untrailingslashit')->willReturn('returnValue');
+
+ /** @var d3ShopCompatibilityAdapterHandler|PHPUnit_Framework_MockObject_MockObject $oShopCompatHandlerMock */
+ $oShopCompatHandlerMock = $this->getMock(d3ShopCompatibilityAdapterHandler::class, array(
+ 'call',
+ ));
+ $oShopCompatHandlerMock->expects($this->never())->method('call')->willReturn('fullPath');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['sSendMailFromTheme', 'admin'],
+ ['sSendMailFromModulePath', 'module'],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3GetShopCompatibilityAdapterHandler',
+ 'd3GetModule',
+ 'getD3Str',
+ 'd3GetConfig',
+ ));
+ $oModelMock->method('d3GetShopCompatibilityAdapterHandler')->willReturn($oShopCompatHandlerMock);
+ $oModelMock->method('d3GetModule')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Module::class));
+ $oModelMock->method('getD3Str')->willReturn($oD3StrMock);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ 'getTemplateDir4OrderManager',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetTemplateDir4OrderManagerFrontend()
+ {
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getTemplateDir',
+ ));
+ $oConfigMock->expects($this->once())->method('getTemplateDir')->with(
+ $this->isFalse()
+ )->willReturn('returnValue');
+
+ /** @var d3str|PHPUnit_Framework_MockObject_MockObject $oD3StrMock */
+ $oD3StrMock = $this->getMock(d3str::class, array(
+ 'untrailingslashit',
+ ));
+ $oD3StrMock->method('untrailingslashit')->willReturn('returnValue');
+
+ /** @var d3ShopCompatibilityAdapterHandler|PHPUnit_Framework_MockObject_MockObject $oShopCompatHandlerMock */
+ $oShopCompatHandlerMock = $this->getMock(d3ShopCompatibilityAdapterHandler::class, array(
+ 'call',
+ ));
+ $oShopCompatHandlerMock->expects($this->never())->method('call')->willReturn('fullPath');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['sSendMailFromTheme', 'frontend'],
+ ['sSendMailFromModulePath', 'module'],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3GetShopCompatibilityAdapterHandler',
+ 'd3GetModule',
+ 'getD3Str',
+ 'd3GetConfig',
+ ));
+ $oModelMock->method('d3GetShopCompatibilityAdapterHandler')->willReturn($oShopCompatHandlerMock);
+ $oModelMock->method('d3GetModule')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Module::class));
+ $oModelMock->method('getD3Str')->willReturn($oD3StrMock);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ 'getTemplateDir4OrderManager',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3SendMailHookReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Smarty::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3SendMailHook',
+ array(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Smarty::class))
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @covers \D3\Ordermanager\Modules\Application\Model\d3_oxemail_ordermanager::d3GetUtilsView
+ */
+ public function d3GetUtilsViewReturnsRightInstance()
+ {
+ $this->markTestSkipped('skipped because visual CMS extension issue');
+
+ /*
+ $this->assertInstanceOf(
+ UtilsView::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetUtilsView'
+ )
+ );
+ */
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetContentReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Content::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetContent'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetModuleReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Module::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetModule'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getD3StrReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3str::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'getD3Str'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetShopCompatibilityAdapterHandlerReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ShopCompatibilityAdapterHandler::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetShopCompatibilityAdapterHandler'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function _d3GenerateOrderManagerMailContentFromEditor()
+ {
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ ));
+ $getFieldDataMap = [
+ ['oxlang', '1'],
+ ];
+ $oOrderMock->method('getFieldData')->willReturnMap($getFieldDataMap);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'getTplLanguage',
+ 'setTplLanguage',
+ ));
+ $oLangMock->method('getTplLanguage')->willReturn(true);
+ $oLangMock->expects($this->never())->method('setTplLanguage')->willReturn(true);
+
+ // can't use a mock of UtilsView, because extension issue
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oUtilsViewMock */
+ $oUtilsViewMock = $this->getMock(stdClass::class, array(
+ 'parseThroughSmarty',
+ ));
+ $oUtilsViewMock->expects($this->never())->method('parseThroughSmarty')->willReturn(true);
+
+ /** @var Content|PHPUnit_Framework_MockObject_MockObject $oContentMock */
+ $oContentMock = $this->getMock(Content::class, array(
+ 'setLanguage',
+ 'load',
+ 'getFieldData',
+ 'getId',
+ ));
+ $oContentMock->method('setLanguage')->willReturn(true);
+ $oContentMock->expects($this->never())->method('load')->willReturn(true);
+ $oContentMock->method('getFieldData')->willReturn(true);
+ $oContentMock->method('getId')->willReturn(true);
+
+ /** @var Smarty|PHPUnit_Framework_MockObject_MockObject $oSmartyMock */
+ $oSmartyMock = $this->getMock(Smarty::class, array(
+ 'fetch',
+ ));
+ $oSmartyMock->expects($this->never())->method('fetch')->willReturn('smartyContent');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getEditedValues',
+ 'getValue',
+ 'getCurrentItem',
+ ));
+ $getValueMap = [
+ ['sSendMailFromSource', 'cms'],
+ ];
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectMailContent',
+ 'plain' => 'plainMailContent',
+ 'html' => 'htmlMailContent',
+ )
+ );
+ $oManagerMock->method('getEditedValues')->willReturn($aEditedValues);
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3HasOrderManagerEditorMailContent',
+ 'd3GetLang',
+ 'd3GetUtilsView',
+ 'd3GetContent',
+ ));
+ $oModelMock->method('d3HasOrderManagerEditorMailContent')->willReturn(true);
+ $oModelMock->method('d3GetLang')->willReturn($oLangMock);
+ $oModelMock->method('d3GetUtilsView')->willReturn($oUtilsViewMock);
+ $oModelMock->method('d3GetContent')->willReturn($oContentMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->assertSame(
+ $aEditedValues['mail'],
+ $this->callMethod(
+ $this->_oModel,
+ '_d3GenerateOrderManagerMailContent',
+ array(
+ array(
+ 'mail' => array(
+ 'subject' => 'subjectMailContent',
+ 'plain' => 'plainMailContent',
+ 'html' => 'htmlMailContent',
+ )
+ ),
+ $oSmartyMock
+ )
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function _d3GenerateOrderManagerMailContentFromCms()
+ {
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ ));
+ $getFieldDataMap = [
+ ['oxlang', '1'],
+ ];
+ $oOrderMock->method('getFieldData')->willReturnMap($getFieldDataMap);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'getTplLanguage',
+ 'setTplLanguage',
+ ));
+ $oLangMock->method('getTplLanguage')->willReturn(true);
+ $oLangMock->expects($this->exactly(2))->method('setTplLanguage')->willReturn(true);
+
+ // can't use a mock of UtilsView, because extension issue
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oUtilsViewMock */
+ $oUtilsViewMock = $this->getMock(stdClass::class, array(
+ 'parseThroughSmarty',
+ ));
+ $oUtilsViewMock->expects($this->exactly(2))->method('parseThroughSmarty')->willReturn('smartyContent');
+
+ /** @var Content|PHPUnit_Framework_MockObject_MockObject $oContentMock */
+ $oContentMock = $this->getMock(Content::class, array(
+ 'setLanguage',
+ 'load',
+ 'getFieldData',
+ 'getId',
+ ));
+ $oContentMock->method('setLanguage')->willReturn(true);
+ $oContentMock->expects($this->exactly(2))->method('load')->willReturn(true);
+ $oContentMock->method('getFieldData')->willReturn('fieldData');
+ $oContentMock->method('getId')->willReturn(true);
+
+ /** @var Smarty|PHPUnit_Framework_MockObject_MockObject $oSmartyMock */
+ $oSmartyMock = $this->getMock(Smarty::class, array(
+ 'fetch',
+ ));
+ $oSmartyMock->expects($this->never())->method('fetch')->willReturn('smartyContent');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getEditedValues',
+ 'getValue',
+ 'getCurrentItem',
+ ));
+ $getValueMap = [
+ ['sSendMailFromSource', 'cms'],
+ ];
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectMailContent',
+ 'plain' => 'plainMailContent',
+ 'html' => 'htmlMailContent',
+ )
+ );
+ $oManagerMock->method('getEditedValues')->willReturn($aEditedValues);
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3HasOrderManagerEditorMailContent',
+ 'd3GetLang',
+ 'd3GetUtilsView',
+ 'd3GetContent',
+ ));
+ $oModelMock->method('d3HasOrderManagerEditorMailContent')->willReturn(false);
+ $oModelMock->method('d3GetLang')->willReturn($oLangMock);
+ $oModelMock->method('d3GetUtilsView')->willReturn($oUtilsViewMock);
+ $oModelMock->method('d3GetContent')->willReturn($oContentMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->assertEquals(
+ array(
+ 'subject' => 'fieldData',
+ 'plain' => 'smartyContent',
+ 'html' => 'smartyContent',
+ ),
+ $this->callMethod(
+ $this->_oModel,
+ '_d3GenerateOrderManagerMailContent',
+ array(
+ array(),
+ $oSmartyMock
+ )
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function _d3GenerateOrderManagerMailContentFromTpl()
+ {
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ ));
+ $getFieldDataMap = [
+ ['oxlang', '1'],
+ ];
+ $oOrderMock->method('getFieldData')->willReturnMap($getFieldDataMap);
+
+ /** @var Language|PHPUnit_Framework_MockObject_MockObject $oLangMock */
+ $oLangMock = $this->getMock(Language::class, array(
+ 'getTplLanguage',
+ 'setTplLanguage',
+ ));
+ $oLangMock->method('getTplLanguage')->willReturn(true);
+ $oLangMock->expects($this->never())->method('setTplLanguage')->willReturn(true);
+
+ // can't use a mock of UtilsView, because extension issue
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oUtilsViewMock */
+ $oUtilsViewMock = $this->getMock(stdClass::class, array(
+ 'parseThroughSmarty',
+ ));
+ $oUtilsViewMock->expects($this->never())->method('parseThroughSmarty')->willReturn('smartyContent');
+
+ /** @var Content|PHPUnit_Framework_MockObject_MockObject $oContentMock */
+ $oContentMock = $this->getMock(Content::class, array(
+ 'setLanguage',
+ 'load',
+ 'getFieldData',
+ 'getId',
+ ));
+ $oContentMock->method('setLanguage')->willReturn(true);
+ $oContentMock->expects($this->never())->method('load')->willReturn(true);
+ $oContentMock->method('getFieldData')->willReturn('fieldData');
+ $oContentMock->method('getId')->willReturn(true);
+
+ /** @var Smarty|PHPUnit_Framework_MockObject_MockObject $oSmartyMock */
+ $oSmartyMock = $this->getMock(Smarty::class, array(
+ 'fetch',
+ ));
+ $oSmartyMock->expects($this->exactly(3))->method('fetch')->willReturn('smartyFetchContent');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getEditedValues',
+ 'getValue',
+ 'getCurrentItem',
+ ));
+ $getValueMap = [
+ ['sSendMailFromSource', 'template'],
+ ];
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectMailContent',
+ 'plain' => 'plainMailContent',
+ 'html' => 'htmlMailContent',
+ )
+ );
+ $oManagerMock->method('getEditedValues')->willReturn($aEditedValues);
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3HasOrderManagerEditorMailContent',
+ 'd3GetLang',
+ 'd3GetUtilsView',
+ 'd3GetContent',
+ ));
+ $oModelMock->method('d3HasOrderManagerEditorMailContent')->willReturn(false);
+ $oModelMock->method('d3GetLang')->willReturn($oLangMock);
+ $oModelMock->method('d3GetUtilsView')->willReturn($oUtilsViewMock);
+ $oModelMock->method('d3GetContent')->willReturn($oContentMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->assertEquals(
+ array(
+ 'subject' => 'smartyFetchContent',
+ 'plain' => 'smartyFetchContent',
+ 'html' => 'smartyFetchContent',
+ ),
+ $this->callMethod(
+ $this->_oModel,
+ '_d3GenerateOrderManagerMailContent',
+ array(
+ array(),
+ $oSmartyMock
+ )
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3HasOrderManagerEditorMailContentPass()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'isArrayEditorMailContent',
+ ));
+ $oModelMock->method('isArrayEditorMailContent')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectContent',
+ 'html' => 'htmlContent',
+ 'plain' => 'plainContent'
+ )
+ );
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'd3HasOrderManagerEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3HasOrderManagerEditorMailContentIsNoArray()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'isArrayEditorMailContent',
+ ));
+ $oModelMock->method('isArrayEditorMailContent')->willReturn(false);
+
+ $this->_oModel = $oModelMock;
+
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectContent',
+ 'html' => 'htmlContent',
+ 'plain' => 'plainContent'
+ )
+ );
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'd3HasOrderManagerEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3HasOrderManagerEditorMailContentIsNoSubject()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'isArrayEditorMailContent',
+ ));
+ $oModelMock->method('isArrayEditorMailContent')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => false,
+ 'html' => 'htmlContent',
+ 'plain' => 'plainContent'
+ )
+ );
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'd3HasOrderManagerEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3HasOrderManagerEditorMailContentIsNoHtml()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'isArrayEditorMailContent',
+ ));
+ $oModelMock->method('isArrayEditorMailContent')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectContent',
+ 'html' => false,
+ 'plain' => 'plainContent'
+ )
+ );
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'd3HasOrderManagerEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3HasOrderManagerEditorMailContentIsNoPlain()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'isArrayEditorMailContent',
+ ));
+ $oModelMock->method('isArrayEditorMailContent')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $aEditedValues = array(
+ 'mail' => array(
+ 'subject' => 'subjectContent',
+ 'html' => 'htmlContent',
+ 'plain' => false
+ )
+ );
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'd3HasOrderManagerEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isArrayEditorMailContentPass()
+ {
+ $aEditedValues = array(
+ 'mail' => array()
+ );
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'isArrayEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isArrayEditorMailContentNoMailArray()
+ {
+ $aEditedValues = array();
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'isArrayEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function isArrayEditorMailContentNoValuesArray()
+ {
+ $aEditedValues = null;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'isArrayEditorMailContent',
+ array($aEditedValues)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSendOrderManagerMailToOwner()
+ {
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oFieldMock */
+ $oFieldMock = $this->getMock(Shop::class, array(
+ 'getRawValue',
+ ));
+ $oFieldMock->method('getRawValue')->willReturn('shopName');
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ '__get',
+ 'getFieldData',
+ ));
+ $oShopMock->method('__get')->willReturn($oFieldMock);
+ $oShopMock->method('getFieldData')->willReturn('info@mail.com');
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'setRecipient',
+ '_d3HasOrderManagerCustomMailAddresses',
+ '_d3getOrderManagerCustomMailAddressList',
+ 'AddBcc',
+ ));
+ $oModelMock->expects($this->once())->method('setRecipient')->willReturn(true);
+ $oModelMock->method('_d3HasOrderManagerCustomMailAddresses')->willReturn(true);
+ $oModelMock->expects($this->exactly(2))->method('AddBcc')->willReturn(true);
+ $oModelMock->method('_d3getOrderManagerCustomMailAddressList')->willReturn(
+ array(
+ 'mail1',
+ 'mail2'
+ )
+ );
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3sendOrderManagerMailToOwner',
+ array($oShopMock)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSendOrderManagerMailToCustom()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomMailAddresses',
+ '_d3getOrderManagerCustomMailAddressList',
+ 'setRecipient',
+ ));
+ $oModelMock->expects($this->once())->method('_d3hasOrderManagerCustomMailAddresses')->willReturn(true);
+ $oModelMock->expects($this->exactly(2))->method('setRecipient')->willReturn(true);
+ $oModelMock->method('_d3getOrderManagerCustomMailAddressList')->willReturn(
+ array(
+ 'mail1',
+ 'mail2'
+ )
+ );
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3sendOrderManagerMailToCustom'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canExtractCustomMailAddressList()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3getOrderManagerCustomRecipientList',
+ ));
+ $oModelMock->expects($this->once())->method('_d3getOrderManagerCustomRecipientList')->willReturn(
+ 'mailNo1; mailNo2; '
+ );
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ array(
+ 'mailNo1',
+ 'mailNo2'
+ ),
+ $this->callMethod(
+ $this->_oModel,
+ '_d3getOrderManagerCustomMailAddressList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasOrderManagerCustomMailAddressesPass()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomRecipient',
+ '_d3getOrderManagerCustomRecipientList',
+ ));
+ $oModelMock->method('_d3hasOrderManagerCustomRecipient')->willReturn(true);
+ $oModelMock->method('_d3getOrderManagerCustomRecipientList')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ '_d3HasOrderManagerCustomMailAddresses'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasOrderManagerCustomMailAddressesNoCustRecipient()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomRecipient',
+ '_d3getOrderManagerCustomRecipientList',
+ ));
+ $oModelMock->method('_d3hasOrderManagerCustomRecipient')->willReturn(false);
+ $oModelMock->method('_d3getOrderManagerCustomRecipientList')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ '_d3HasOrderManagerCustomMailAddresses'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function hasOrderManagerCustomMailAddressesNoCustRecipientList()
+ {
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ '_d3hasOrderManagerCustomRecipient',
+ '_d3getOrderManagerCustomRecipientList',
+ ));
+ $oModelMock->method('_d3hasOrderManagerCustomRecipient')->willReturn(true);
+ $oModelMock->method('_d3getOrderManagerCustomRecipientList')->willReturn(false);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ '_d3HasOrderManagerCustomMailAddresses'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetRemarkReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Remark::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetRemark'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canD3sendOrderManagerMailToCustomerOrderUserHasId()
+ {
+ /** @var Field|PHPUnit_Framework_MockObject_MockObject $oFieldMock */
+ $oFieldMock = $this->getMock(Field::class, array(
+ 'getRawValue',
+ ));
+ $oFieldMock->method('getRawValue')->willReturn('rawValue');
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ 'getFieldData',
+ '__get',
+ ));
+ $oShopMock->method('getFieldData')->willReturn('fieldData');
+ $oShopMock->method('__get')->willReturn($oFieldMock);
+
+ /** @var User|PHPUnit_Framework_MockObject_MockObject $oOrderUserMock */
+ $oOrderUserMock = $this->getMock(User::class, array(
+ 'getId',
+ '__get',
+ 'getFieldData',
+ ));
+ $oOrderUserMock->method('getId')->willReturn('orderUserId');
+ $oOrderUserMock->expects($this->exactly(2))->method('__get')->willReturn($oFieldMock);
+ $oOrderUserMock->method('getFieldData')->willReturn('fieldData');
+
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'getOrderUser',
+ '__get',
+ 'getFieldData',
+ ));
+ $oOrderMock->method('getOrderUser')->willReturn($oOrderUserMock);
+ $oOrderMock->expects($this->never())->method('__get')->willReturn($oFieldMock);
+ $oOrderMock->method('getFieldData')->willReturn('fieldData');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getCurrentItem',
+ ));
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var Remark|PHPUnit_Framework_MockObject_MockObject $oRemarkMock */
+ $oRemarkMock = $this->getMock(Remark::class, array(
+ 'assign',
+ ));
+ $oRemarkMock->expects($this->once())->method('assign')->willReturn(true);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'setRecipient',
+ '_d3hasOrderManagerOwnerRecipient',
+ 'AddBcc',
+ '_d3HasOrderManagerCustomMailAddresses',
+ '_d3getOrderManagerCustomMailAddressList',
+ 'd3GetRemark',
+ ));
+ $oModelMock->method('setRecipient')->willReturn(true);
+ $oModelMock->method('_d3hasOrderManagerOwnerRecipient')->willReturn(true);
+ $oModelMock->expects($this->exactly(3))->method('AddBcc')->willReturn(true);
+ $oModelMock->method('_d3HasOrderManagerCustomMailAddresses')->willReturn(true);
+ $oModelMock->method('_d3getOrderManagerCustomMailAddressList')->willReturn(array('addrNo1', 'addrNo2'));
+ $oModelMock->method('d3GetRemark')->willReturn($oRemarkMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->assertInstanceOf(
+ Remark::class,
+ $this->callMethod(
+ $this->_oModel,
+ '_d3sendOrderManagerMailToCustomer',
+ array($oShopMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canD3sendOrderManagerMailToCustomerNoOrderUser()
+ {
+ /** @var Field|PHPUnit_Framework_MockObject_MockObject $oFieldMock */
+ $oFieldMock = $this->getMock(Field::class, array(
+ 'getRawValue',
+ ));
+ $oFieldMock->method('getRawValue')->willReturn('rawValue');
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ 'getFieldData',
+ '__get',
+ ));
+ $oShopMock->method('getFieldData')->willReturn('fieldData');
+ $oShopMock->method('__get')->willReturn($oFieldMock);
+
+ /** @var User|PHPUnit_Framework_MockObject_MockObject $oOrderUserMock */
+ $oOrderUserMock = $this->getMock(User::class, array(
+ 'getId',
+ '__get',
+ 'getFieldData',
+ ));
+ $oOrderUserMock->method('getId')->willReturn(false);
+ $oOrderUserMock->expects($this->never())->method('__get')->willReturn($oFieldMock);
+ $oOrderUserMock->method('getFieldData')->willReturn('fieldData');
+
+ /** @var Order|PHPUnit_Framework_MockObject_MockObject $oOrderMock */
+ $oOrderMock = $this->getMock(Order::class, array(
+ 'getOrderUser',
+ '__get',
+ 'getFieldData',
+ ));
+ $oOrderMock->method('getOrderUser')->willReturn($oOrderUserMock);
+ $oOrderMock->expects($this->exactly(2))->method('__get')->willReturn($oFieldMock);
+ $oOrderMock->method('getFieldData')->willReturn('fieldData');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getCurrentItem',
+ ));
+ $oManagerMock->method('getCurrentItem')->willReturn($oOrderMock);
+
+ /** @var Remark|PHPUnit_Framework_MockObject_MockObject $oRemarkMock */
+ $oRemarkMock = $this->getMock(Remark::class, array(
+ 'assign',
+ ));
+ $oRemarkMock->expects($this->once())->method('assign')->willReturn(true);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'setRecipient',
+ '_d3hasOrderManagerOwnerRecipient',
+ 'AddBcc',
+ '_d3HasOrderManagerCustomMailAddresses',
+ '_d3getOrderManagerCustomMailAddressList',
+ 'd3GetRemark',
+ ));
+ $oModelMock->method('setRecipient')->willReturn(true);
+ $oModelMock->method('_d3hasOrderManagerOwnerRecipient')->willReturn(true);
+ $oModelMock->expects($this->exactly(3))->method('AddBcc')->willReturn(true);
+ $oModelMock->method('_d3HasOrderManagerCustomMailAddresses')->willReturn(true);
+ $oModelMock->method('_d3getOrderManagerCustomMailAddressList')->willReturn(array('addrNo1', 'addrNo2'));
+ $oModelMock->method('d3GetRemark')->willReturn($oRemarkMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->setValue(
+ $this->_oModel,
+ 'oOrderManager',
+ $oManagerMock
+ );
+
+ $this->assertInstanceOf(
+ Remark::class,
+ $this->callMethod(
+ $this->_oModel,
+ '_d3sendOrderManagerMailToCustomer',
+ array($oShopMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetPdfHandlerReturnsRightInstance()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getCurrentItem',
+ ));
+ $oManagerMock->method('getCurrentItem')->willReturn(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class));
+
+ $this->assertInstanceOf(
+ d3ordermanager_pdfhandler::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetPdfHandler',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddOrderManagerPdfAttachmentInvoice()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['blActionOrderGeneratePdf_status', true],
+ ['blActionOrderPdfSendAttach', true],
+ ['blActionOrderPdfTypeInvoice', true],
+ ['blActionOrderPdfTypeDelnote', false],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ 'createPdf',
+ 'getPdfFileName',
+ 'getPdfSaveDir',
+ ), array($oManagerMock, d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(true);
+ $oPdfHandlerMock->expects($this->once())->method('createPdf')->with(
+ $this->stringContains(d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE),
+ $this->anything()
+ )->willReturn(true);
+ $oPdfHandlerMock->method('getPdfFileName')->willReturn(true);
+ $oPdfHandlerMock->method('getPdfSaveDir')->willReturn(true);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3GetPdfHandler',
+ 'addAttachment',
+ ));
+ $oModelMock->method('d3GetPdfHandler')->willReturn($oPdfHandlerMock);
+ $oModelMock->expects($this->once())->method('addAttachment')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3AddOrderManagerPdfAttachment',
+ array($oManagerMock)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddOrderManagerPdfAttachmentDNote()
+ {
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['blActionOrderGeneratePdf_status', true],
+ ['blActionOrderPdfSendAttach', true],
+ ['blActionOrderPdfTypeInvoice', false],
+ ['blActionOrderPdfTypeDelnote', true],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ 'createPdf',
+ 'getPdfFileName',
+ 'getPdfSaveDir',
+ ), array($oManagerMock, d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(true);
+ $oPdfHandlerMock->expects($this->once())->method('createPdf')->with(
+ $this->stringContains(d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE),
+ $this->anything()
+ )->willReturn(true);
+ $oPdfHandlerMock->method('getPdfFileName')->willReturn(true);
+ $oPdfHandlerMock->method('getPdfSaveDir')->willReturn(true);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'd3GetPdfHandler',
+ 'addAttachment',
+ ));
+ $oModelMock->method('d3GetPdfHandler')->willReturn($oPdfHandlerMock);
+ $oModelMock->expects($this->once())->method('addAttachment')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3AddOrderManagerPdfAttachment',
+ array($oManagerMock)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetOrderManagerReplyAddressWithReply()
+ {
+ /** @var Field|PHPUnit_Framework_MockObject_MockObject $oFieldMock */
+ $oFieldMock = $this->getMock(Field::class, array(
+ 'getRawValue',
+ ));
+ $oFieldMock->method('getRawValue')->willReturn('rawValue');
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ '__get',
+ 'getFieldData',
+ ));
+ $oShopMock->method('__get')->willReturn($oFieldMock);
+ $oShopMock->method('getFieldData')->willReturn('fieldData');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['sSendMailReplyAddress', 'reply@test.com'],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'setFrom',
+ 'setReplyTo',
+ ));
+ $oModelMock->expects($this->once())->method('setFrom')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setReplyTo')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3SetOrderManagerReplyAddress',
+ array($oManagerMock, $oShopMock)
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetOrderManagerReplyAddressWithoutReply()
+ {
+ /** @var Field|PHPUnit_Framework_MockObject_MockObject $oFieldMock */
+ $oFieldMock = $this->getMock(Field::class, array(
+ 'getRawValue',
+ ));
+ $oFieldMock->method('getRawValue')->willReturn('rawValue');
+
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ '__get',
+ 'getFieldData',
+ ));
+ $oShopMock->method('__get')->willReturn($oFieldMock);
+ $oShopMock->method('getFieldData')->willReturn('fieldData');
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [
+ ['sSendMailReplyAddress', null],
+ ];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxemail_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Email::class, array(
+ 'setFrom',
+ 'setReplyTo',
+ ));
+ $oModelMock->expects($this->never())->method('setFrom')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setReplyTo')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_d3SetOrderManagerReplyAddress',
+ array($oManagerMock, $oShopMock)
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Modules/Application/Model/d3_oxorder_ordermanagerTest.php b/src/tests/unit/Modules/Application/Model/d3_oxorder_ordermanagerTest.php
index 192489fb..1972f504 100644
--- a/src/tests/unit/Modules/Application/Model/d3_oxorder_ordermanagerTest.php
+++ b/src/tests/unit/Modules/Application/Model/d3_oxorder_ordermanagerTest.php
@@ -1,394 +1,769 @@
-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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
-Vp5h4E7hSwxLhdTyNSwJ5GkFjkYeR/e=
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Modules\Application\Model;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Application\Model\d3ordermanager_conf;
+use D3\Ordermanager\Application\Model\d3ordermanager_execute;
+use D3\Ordermanager\Application\Model\d3ordermanager_pdfhandler;
+use D3\Ordermanager\Application\Model\d3ordermanagerlist;
+use D3\Ordermanager\Modules\Application\Model\d3_oxorder_ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Exception;
+use InvoicepdfPDF;
+use OxidEsales\Eshop\Application\Model\Basket;
+use OxidEsales\Eshop\Application\Model\Order;
+use OxidEsales\Eshop\Application\Model\Payment;
+use OxidEsales\Eshop\Application\Model\User;
+use OxidEsales\Eshop\Application\Model\Voucher;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use OxidEsales\Eshop\Core\Model\BaseModel;
+use OxidEsales\Eshop\Core\Model\ListModel;
+use OxidEsales\Eshop\Core\Module\Module;
+use OxidEsales\Eshop\Core\Module\ModuleInstaller;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3_oxorder_ordermanagerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_oxorder_ordermanager */
+ protected $_oModel;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oModel);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function __getPass()
+ {
+ $expected = 'testValue';
+
+ $this->_oModel->testProperty = $expected;
+
+ $this->assertSame(
+ $expected,
+ $this->callMethod(
+ $this->_oModel,
+ '__get',
+ array('testProperty')
+ )
+ );
+
+ $this->assertNull(
+ $this->callMethod(
+ $this->_oModel,
+ '__get',
+ array('testUnsetProperty')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetAndGetBasket()
+ {
+ $this->callMethod(
+ $this->_oModel,
+ 'd3setBasket4OrderManager',
+ array(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Basket::class))
+ );
+
+ $this->assertInstanceOf(
+ Basket::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3getBasket4OrderManager'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSetAndGetPayment()
+ {
+ $this->callMethod(
+ $this->_oModel,
+ 'd3setPayment4OrderManager',
+ array(d3GetModCfgDIC()->get('d3ox.ordermanager.'.Payment::class))
+ );
+
+ $this->assertInstanceOf(
+ Payment::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3getPayment4OrderManager'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetOrderBasket4OrderManagerWithStornoArticlesNotEmptyList()
+ {
+ /** @var Voucher|PHPUnit_Framework_MockObject_MockObject $oVoucherMock */
+ $oVoucherMock = $this->getMock(Voucher::class, array(
+ 'load',
+ ));
+ $oVoucherMock->expects($this->exactly(2))->method('load')->willReturn(true);
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oOrderArticleMock */
+ $oOrderArticleMock = $this->getMock(ListModel::class, array(
+ 'count',
+ ));
+ $oOrderArticleMock->method('count')->willReturn(5);
+ /** @var BaseModel $oBaseModel */
+ $oBaseModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.BaseModel::class);
+ $oOrderArticleMock->offsetSet('itemNo1', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo2', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo3', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo4', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo5', $oBaseModel);
+
+ /** @var Basket|PHPUnit_Framework_MockObject_MockObject $oBasketMock */
+ $oBasketMock = $this->getMock(Basket::class, array(
+ 'addOrderArticleToBasket4OrderManager',
+ 'calculateBasket4OrderManager',
+ 'getVouchers',
+ ));
+ $oBasketMock->expects($this->exactly(5))->method('addOrderArticleToBasket4OrderManager')->willReturn(true);
+ $oBasketMock->expects($this->once())->method('calculateBasket4OrderManager')->willReturn(true);
+ $oBasketMock->method('getVouchers')->willReturn(array(
+ 'voucherNo1' => 'voucherNo1',
+ 'voucherNo2' => 'voucherNo2'
+ ));
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [['blGetStornoArticles', true]];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'reloadDelivery',
+ 'reloadDiscount',
+ '_getOrderBasket',
+ 'getOrderArticles',
+ 'd3GetVoucher',
+ ));
+ $oModelMock->method('reloadDelivery')->willReturn(true);
+ $oModelMock->method('reloadDiscount')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_getOrderBasket')->willReturn($oBasketMock);
+ $oModelMock->method('d3GetVoucher')->willReturn($oVoucherMock);
+ $oModelMock->expects($this->once())->method('getOrderArticles')->with(
+ $this->isFalse()
+ )->willReturn($oOrderArticleMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertInstanceOf(
+ Basket::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3getOrderBasket4OrderManager',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetOrderBasket4OrderManagerWithoutStornoArticlesNotEmptyList()
+ {
+ /** @var Voucher|PHPUnit_Framework_MockObject_MockObject $oVoucherMock */
+ $oVoucherMock = $this->getMock(Voucher::class, array(
+ 'load',
+ ));
+ $oVoucherMock->expects($this->exactly(2))->method('load')->willReturn(true);
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oOrderArticleMock */
+ $oOrderArticleMock = $this->getMock(ListModel::class, array(
+ 'count',
+ ));
+ $oOrderArticleMock->method('count')->willReturn(5);
+ /** @var BaseModel $oBaseModel */
+ $oBaseModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.BaseModel::class);
+ $oOrderArticleMock->offsetSet('itemNo1', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo2', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo3', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo4', $oBaseModel);
+ $oOrderArticleMock->offsetSet('itemNo5', $oBaseModel);
+
+ /** @var Basket|PHPUnit_Framework_MockObject_MockObject $oBasketMock */
+ $oBasketMock = $this->getMock(Basket::class, array(
+ 'addOrderArticleToBasket4OrderManager',
+ 'calculateBasket4OrderManager',
+ 'getVouchers',
+ ));
+ $oBasketMock->expects($this->exactly(5))->method('addOrderArticleToBasket4OrderManager')->willReturn(true);
+ $oBasketMock->expects($this->once())->method('calculateBasket4OrderManager')->willReturn(true);
+ $oBasketMock->method('getVouchers')->willReturn(array(
+ 'voucherNo1' => 'voucherNo1',
+ 'voucherNo2' => 'voucherNo2'
+ ));
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [['blGetStornoArticles', false]];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'reloadDelivery',
+ 'reloadDiscount',
+ '_getOrderBasket',
+ 'getOrderArticles',
+ 'd3GetVoucher',
+ ));
+ $oModelMock->method('reloadDelivery')->willReturn(true);
+ $oModelMock->method('reloadDiscount')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_getOrderBasket')->willReturn($oBasketMock);
+ $oModelMock->method('d3GetVoucher')->willReturn($oVoucherMock);
+ $oModelMock->expects($this->once())->method('getOrderArticles')->with(
+ $this->isTrue()
+ )->willReturn($oOrderArticleMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertInstanceOf(
+ Basket::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3getOrderBasket4OrderManager',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetOrderBasket4OrderManagerEmptyList()
+ {
+ /** @var Voucher|PHPUnit_Framework_MockObject_MockObject $oVoucherMock */
+ $oVoucherMock = $this->getMock(Voucher::class, array(
+ 'load',
+ ));
+ $oVoucherMock->expects($this->exactly(2))->method('load')->willReturn(true);
+
+ /** @var ListModel|PHPUnit_Framework_MockObject_MockObject $oOrderArticleMock */
+ $oOrderArticleMock = $this->getMock(ListModel::class, array(
+ 'count',
+ ));
+ $oOrderArticleMock->method('count')->willReturn(0);
+
+ /** @var Basket|PHPUnit_Framework_MockObject_MockObject $oBasketMock */
+ $oBasketMock = $this->getMock(Basket::class, array(
+ 'addOrderArticleToBasket4OrderManager',
+ 'calculateBasket4OrderManager',
+ 'getVouchers',
+ ));
+ $oBasketMock->expects($this->never())->method('addOrderArticleToBasket4OrderManager')->willReturn(true);
+ $oBasketMock->expects($this->once())->method('calculateBasket4OrderManager')->willReturn(true);
+ $oBasketMock->method('getVouchers')->willReturn(array(
+ 'voucherNo1' => 'voucherNo1',
+ 'voucherNo2' => 'voucherNo2'
+ ));
+
+ /** @var d3ordermanager|PHPUnit_Framework_MockObject_MockObject $oManagerMock */
+ $oManagerMock = $this->getMock(d3ordermanager::class, array(
+ 'getValue',
+ ));
+ $getValueMap = [['blGetStornoArticles', false]];
+ $oManagerMock->method('getValue')->willReturnMap($getValueMap);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'reloadDelivery',
+ 'reloadDiscount',
+ '_getOrderBasket',
+ 'getOrderArticles',
+ 'd3GetVoucher',
+ ));
+ $oModelMock->method('reloadDelivery')->willReturn(true);
+ $oModelMock->method('reloadDiscount')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_getOrderBasket')->willReturn($oBasketMock);
+ $oModelMock->method('d3GetVoucher')->willReturn($oVoucherMock);
+ $oModelMock->expects($this->once())->method('getOrderArticles')->with(
+ $this->isTrue()
+ )->willReturn($oOrderArticleMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertInstanceOf(
+ Basket::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3getOrderBasket4OrderManager',
+ array($oManagerMock)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetVoucherHasRightInstance()
+ {
+ $this->assertInstanceOf(
+ Voucher::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetVoucher'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetPdfHandlerHasRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3ordermanager_pdfhandler::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetPdfHandler'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ * @throws Exception
+ */
+ public function d3GetInvoicePdfHasRightInstance()
+ {
+ $oModule = d3GetModCfgDIC()->get('d3ox.ordermanager.'.Module::class);
+ $oModule->load('invoicepdf');
+ $oModuleInstaller = d3GetModCfgDIC()->get('d3ox.ordermanager.'.ModuleInstaller::class);
+ $oModuleInstaller->activate($oModule);
+
+ $this->assertInstanceOf(
+ InvoicepdfPDF::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetInvoicePdf'
+ )
+ );
+
+ $oModuleInstaller->deactivate($oModule);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canStartGeneratingInvoicePdf()
+ {
+ $expected = 'returnValue';
+
+ if (false == class_exists('invoicepdfPDF')) {
+ $this->markTestSkipped('unavailable invoicePdf class');
+ }
+
+ /** @var invoicepdfPDF|PHPUnit_Framework_MockObject_MockObject $oInvoicePdfMock */
+ $oInvoicePdfMock = $this->getMock(invoicepdfPDF::class, array(
+ 'setPrintHeader',
+ 'open',
+ 'output',
+ ));
+ $oInvoicePdfMock->method('setPrintHeader')->willReturn(true);
+ $oInvoicePdfMock->method('open')->willReturn(true);
+ $oInvoicePdfMock->expects($this->once())->method('output')->willReturn($expected);
+
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class), d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(true);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ '_setFieldData',
+ 'getNextBillNum',
+ 'save',
+ 'd3GetPdfHandler',
+ 'd3GetInvoicePdf',
+ 'pdfHeader',
+ 'd3generatePdfBody',
+ 'pdfFooter',
+ ));
+ $oModelMock->method('getFieldData')->willReturn(false);
+ $oModelMock->expects($this->exactly(2))->method('_setFieldData')->willReturn(true);
+ $oModelMock->method('getNextBillNum')->willReturn(true);
+ $oModelMock->method('save')->willReturn(true);
+ $oModelMock->method('d3GetPdfHandler')->willReturn($oPdfHandlerMock);
+ $oModelMock->method('d3GetInvoicePdf')->willReturn($oInvoicePdfMock);
+ $oModelMock->method('pdfHeader')->willReturn(true);
+ $oModelMock->expects($this->once())->method('d3generatePdfBody')->willReturn(true);
+ $oModelMock->method('pdfFooter')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ $expected,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3generatePdf',
+ array('filename.pdf', 0, d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canStartGeneratingDNotePdf()
+ {
+ $expected = 'returnValue';
+
+ if (false == class_exists('invoicepdfPDF')) {
+ $this->markTestSkipped('unavailable invoicePdf class');
+ }
+
+ /** @var invoicepdfPDF|PHPUnit_Framework_MockObject_MockObject $oInvoicePdfMock */
+ $oInvoicePdfMock = $this->getMock(invoicepdfPDF::class, array(
+ 'setPrintHeader',
+ 'open',
+ 'output',
+ ));
+ $oInvoicePdfMock->method('setPrintHeader')->willReturn(true);
+ $oInvoicePdfMock->method('open')->willReturn(true);
+ $oInvoicePdfMock->expects($this->once())->method('output')->willReturn($expected);
+
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class), d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(true);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ '_setFieldData',
+ 'getNextBillNum',
+ 'save',
+ 'd3GetPdfHandler',
+ 'd3GetInvoicePdf',
+ 'pdfHeader',
+ 'd3generatePdfBody',
+ 'pdfFooter',
+ ));
+ $oModelMock->method('getFieldData')->willReturn(false);
+ $oModelMock->expects($this->exactly(2))->method('_setFieldData')->willReturn(true);
+ $oModelMock->method('getNextBillNum')->willReturn(true);
+ $oModelMock->method('save')->willReturn(true);
+ $oModelMock->method('d3GetPdfHandler')->willReturn($oPdfHandlerMock);
+ $oModelMock->method('d3GetInvoicePdf')->willReturn($oInvoicePdfMock);
+ $oModelMock->method('pdfHeader')->willReturn(true);
+ $oModelMock->expects($this->once())->method('d3generatePdfBody')->willReturn(true);
+ $oModelMock->method('pdfFooter')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ $expected,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3generatePdf',
+ array('filename.pdf', 0, d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canStartGeneratingNoPdfGenerator()
+ {
+ $expected = 'returnValue';
+
+ // use stdClass instead of InvoicepdfPDF, because of possible inactive pdf module
+ /** @var stdClass|PHPUnit_Framework_MockObject_MockObject $oInvoicePdfMock */
+ $oInvoicePdfMock = $this->getMock(stdClass::class, array(
+ 'setPrintHeader',
+ 'open',
+ 'output',
+ ));
+ $oInvoicePdfMock->method('setPrintHeader')->willReturn(true);
+ $oInvoicePdfMock->method('open')->willReturn(true);
+ $oInvoicePdfMock->expects($this->never())->method('output')->willReturn($expected);
+
+ /** @var d3ordermanager_pdfhandler|PHPUnit_Framework_MockObject_MockObject $oPdfHandlerMock */
+ $oPdfHandlerMock = $this->getMock(d3ordermanager_pdfhandler::class, array(
+ 'canGeneratePdf',
+ ), array(d3GetModCfgDIC()->get(d3ordermanager::class), d3GetModCfgDIC()->get('d3ox.ordermanager.'.Order::class)));
+ $oPdfHandlerMock->method('canGeneratePdf')->willReturn(false);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'getFieldData',
+ '_setFieldData',
+ 'getNextBillNum',
+ 'save',
+ 'd3GetPdfHandler',
+ 'd3GetInvoicePdf',
+ 'pdfHeader',
+ 'd3generatePdfBody',
+ 'pdfFooter',
+ ));
+ $oModelMock->method('getFieldData')->willReturn(false);
+ $oModelMock->expects($this->exactly(2))->method('_setFieldData')->willReturn(true);
+ $oModelMock->method('getNextBillNum')->willReturn(true);
+ $oModelMock->method('save')->willReturn(true);
+ $oModelMock->method('d3GetPdfHandler')->willReturn($oPdfHandlerMock);
+ $oModelMock->method('d3GetInvoicePdf')->willReturn($oInvoicePdfMock);
+ $oModelMock->method('pdfHeader')->willReturn(true);
+ $oModelMock->expects($this->never())->method('d3generatePdfBody')->willReturn(true);
+ $oModelMock->method('pdfFooter')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertNull(
+ $this->callMethod(
+ $this->_oModel,
+ 'd3generatePdf',
+ array('filename.pdf', 0, d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canFinalizeOrder()
+ {
+ $oOrderManagerListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'd3GetOrderFinishTriggeredManagerTasks'
+ ));
+ $oOrderManagerListMock->method('d3GetOrderFinishTriggeredManagerTasks')->willReturn(
+ [
+ oxNew(d3ordermanager::class),
+ oxNew(d3ordermanager::class)
+ ]
+ );
+
+ d3GetModCfgDIC()->set(d3ordermanagerlist::class, $oOrderManagerListMock);
+
+ $oManagerExecuteMock = $this->getMock(d3ordermanager_execute::class, array(
+ 'orderMeetsConditions',
+ 'exec4order'
+ ),
+ array(
+ oxNew(d3ordermanager::class)
+ )
+ );
+ $oManagerExecuteMock->expects($this->exactly(2))->method('orderMeetsConditions')->willReturn(true);
+ $oManagerExecuteMock->expects($this->exactly(2))->method('exec4order')->willReturn(true);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'getManagerExecute'
+ ));
+ $oModelMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'finalizeOrder',
+ array(
+ oxNew(Basket::class),
+ oxNew(User::class)
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canSave()
+ {
+ $oOrderManagerListMock = $this->getMock(d3ordermanagerlist::class, array(
+ 'd3GetOrderSaveTriggeredManagerTasks'
+ ));
+ $oOrderManagerListMock->method('d3GetOrderSaveTriggeredManagerTasks')->willReturn(
+ [
+ oxNew(d3ordermanager::class),
+ oxNew(d3ordermanager::class)
+ ]
+ );
+
+ d3GetModCfgDIC()->set(d3ordermanagerlist::class, $oOrderManagerListMock);
+
+ $oManagerExecuteMock = $this->getMock(d3ordermanager_execute::class, array(
+ 'orderMeetsConditions',
+ 'exec4order'
+ ),
+ array(
+ oxNew(d3ordermanager::class)
+ )
+ );
+ $oManagerExecuteMock->expects($this->exactly(2))->method('orderMeetsConditions')->willReturn(true);
+ $oManagerExecuteMock->expects($this->exactly(2))->method('exec4order')->willReturn(true);
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'getManagerExecute'
+ ));
+ $oModelMock->method('getManagerExecute')->willReturn($oManagerExecuteMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'save'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetManagerExecute()
+ {
+ $oManager = d3GetModCfgDIC()->get(d3ordermanager::class);
+
+ $this->assertInstanceOf(
+ d3ordermanager_execute::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'getManagerExecute',
+ array(
+ $oManager
+ )
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGeneratePdfBodyInvoice()
+ {
+ if (false == class_exists('invoicepdfPDF')) {
+ $this->markTestSkipped('unavailable invoicePdf class');
+ }
+
+ $oPDF = oxNew('invoicepdfPDF');
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'exportDeliveryNote',
+ 'exportStandart',
+ ));
+ $oModelMock->expects($this->never())->method('exportDeliveryNote')->willReturn(true);
+ $oModelMock->expects($this->once())->method('exportStandart')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'd3generatePdfBody',
+ array(
+ d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_INVOICE,
+ $oPDF
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGeneratePdfBodyDNote()
+ {
+ if (false == class_exists('invoicepdfPDF')) {
+ $this->markTestSkipped('unavailable invoicePdf class');
+ }
+
+ $oPDF = oxNew('invoicepdfPDF');
+
+ /** @var d3_oxorder_ordermanager|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(Order::class, array(
+ 'exportDeliveryNote',
+ 'exportStandart',
+ ));
+ $oModelMock->expects($this->once())->method('exportDeliveryNote')->willReturn(true);
+ $oModelMock->expects($this->never())->method('exportStandart')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'd3generatePdfBody',
+ array(
+ d3ordermanager_conf::D3_ORDERMANAGER_PDFTYPE_DELIVERYNOTE,
+ $oPDF
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Modules/Application/Model/d3_oxuser_ordermanagerTest.php b/src/tests/unit/Modules/Application/Model/d3_oxuser_ordermanagerTest.php
index 4abbdee5..f032c112 100644
--- a/src/tests/unit/Modules/Application/Model/d3_oxuser_ordermanagerTest.php
+++ b/src/tests/unit/Modules/Application/Model/d3_oxuser_ordermanagerTest.php
@@ -1,44 +1,90 @@
-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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
-gybiuY6+2kxQ0G==
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Modules\Application\Model;
+
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Modules\Application\Model\d3_oxuser_ordermanager;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use OxidEsales\Eshop\Application\Model\User;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use ReflectionException;
+
+class d3_oxuser_ordermanagerTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3_oxuser_ordermanager */
+ protected $_oModel;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oModel = d3GetModCfgDIC()->get('d3ox.ordermanager.'.User::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oModel);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function __getPass()
+ {
+ $expected = 'testValue';
+
+ $this->_oModel->testProperty = $expected;
+
+ $this->assertSame(
+ $expected,
+ $this->callMethod(
+ $this->_oModel,
+ '__get',
+ array('testProperty')
+ )
+ );
+
+ $this->assertNull(
+ $this->callMethod(
+ $this->_oModel,
+ '__get',
+ array('testUnsetProperty')
+ )
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/Setup/d3ordermanager_updateTest.php b/src/tests/unit/Setup/d3ordermanager_updateTest.php
index 3cb687f1..94199cee 100644
--- a/src/tests/unit/Setup/d3ordermanager_updateTest.php
+++ b/src/tests/unit/Setup/d3ordermanager_updateTest.php
@@ -1,787 +1,1659 @@
-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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
-25k/
\ No newline at end of file
+
+ * @link http://www.oxidmodule.com
+ */
+
+namespace D3\Ordermanager\Tests\unit\Setup;
+
+use D3\ModCfg\Application\Model\d3bitmask;
+use D3\ModCfg\Application\Model\d3database;
+use D3\ModCfg\Application\Model\Installwizzard\d3installdbrecord;
+use D3\Ordermanager\Application\Model\d3ordermanager;
+use D3\Ordermanager\Setup\d3ordermanager_update;
+use D3\Ordermanager\tests\unit\d3OrdermanagerUnitTestCase;
+use Doctrine\DBAL\DBALException;
+use Doctrine\DBAL\Driver\PDOException;
+use OxidEsales\Eshop\Application\Model\Shop;
+use OxidEsales\Eshop\Core\Config;
+use OxidEsales\Eshop\Core\Database\Adapter\DatabaseInterface;
+use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
+use OxidEsales\Eshop\Core\Exception\DatabaseErrorException;
+use PHPUnit_Framework_MockObject_MockObject;
+use ReflectionException;
+use stdClass;
+
+class d3ordermanager_updateTest extends d3OrdermanagerUnitTestCase
+{
+ /** @var d3ordermanager_update */
+ protected $_oModel;
+
+ /**
+ * setup basic requirements
+ * @throws DBALException
+ * @throws DatabaseConnectionException
+ * @throws DatabaseErrorException
+ */
+ public function setUp()
+ {
+ parent::setUp();
+
+ $this->_oModel = d3GetModCfgDIC()->get(d3ordermanager_update::class);
+ }
+
+ public function tearDown()
+ {
+ parent::tearDown();
+
+ unset($this->_oModel);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCheckOrderManagerTableExist()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ '_checkTableNotExist',
+ ));
+ $oModelMock->expects($this->once())->method('_checkTableNotExist')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'checkOrderManagerTableExist'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canStartConvertOrderManagerItemsExecuteNoException()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('Execute')->willReturn(true);
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'getDataConvertQuery',
+ ));
+ $oDatabaseMock->method('getDataConvertQuery')->willReturn(array('SELECT 1;', 'SELECT 2;'));
+
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'checkOrderManagerTableExist',
+ '_changeItemContent',
+ '_prepareConvertAssignments',
+ '_getConvertAssignments',
+ '_getDatabaseHandler',
+ 'hasExecute',
+ 'getDb',
+ 'setUpdateBreak',
+ 'setActionLog',
+ '_dropTable',
+ 'fixUnRegisterMultiLangTables',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('checkOrderManagerTableExist')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_changeItemContent')->willReturn(true);
+ $oModelMock->method('_prepareConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('hasExecute')->willReturn(true);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_dropTable')->willReturn(true);
+ $oModelMock->expects($this->once())->method('fixUnRegisterMultiLangTables')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'convertOrderManagerItems'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canStartConvertOrderManagerItemsNoExecute()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->never())->method('Execute')->willReturn(true);
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'getDataConvertQuery',
+ ));
+ $oDatabaseMock->method('getDataConvertQuery')->willReturn(array('SELECT 1;', 'SELECT 2;'));
+
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'checkOrderManagerTableExist',
+ '_changeItemContent',
+ '_prepareConvertAssignments',
+ '_getConvertAssignments',
+ '_getDatabaseHandler',
+ 'hasExecute',
+ 'getDb',
+ 'setUpdateBreak',
+ 'setActionLog',
+ '_dropTable',
+ 'fixUnRegisterMultiLangTables',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('checkOrderManagerTableExist')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_changeItemContent')->willReturn(true);
+ $oModelMock->method('_prepareConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('hasExecute')->willReturn(false);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_dropTable')->willReturn(true);
+ $oModelMock->expects($this->once())->method('fixUnRegisterMultiLangTables')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'convertOrderManagerItems'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotStartConvertOrderManagerItems()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->never())->method('Execute')->willReturn(true);
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'getDataConvertQuery',
+ ));
+ $oDatabaseMock->method('getDataConvertQuery')->willReturn(array('SELECT 1;', 'SELECT 2;'));
+
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'checkOrderManagerTableExist',
+ '_changeItemContent',
+ '_prepareConvertAssignments',
+ '_getConvertAssignments',
+ '_getDatabaseHandler',
+ 'hasExecute',
+ 'getDb',
+ 'setUpdateBreak',
+ 'setActionLog',
+ '_dropTable',
+ 'fixUnRegisterMultiLangTables',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('checkOrderManagerTableExist')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_changeItemContent')->willReturn(true);
+ $oModelMock->method('_prepareConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('hasExecute')->willReturn(false);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->never())->method('_dropTable')->willReturn(true);
+ $oModelMock->expects($this->never())->method('fixUnRegisterMultiLangTables')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'convertOrderManagerItems'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canStartConvertOrderManagerItemsExecuteException()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('Execute')->willReturnCallback(array($this, 'dbInterfaceExecuteThrowException'));
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'getDataConvertQuery',
+ ));
+ $oDatabaseMock->method('getDataConvertQuery')->willReturn(array('SELECT 1;', 'SELECT 2;'));
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'checkOrderManagerTableExist',
+ '_changeItemContent',
+ '_prepareConvertAssignments',
+ '_getConvertAssignments',
+ '_getDatabaseHandler',
+ 'hasExecute',
+ 'getDb',
+ 'setUpdateBreak',
+ 'setActionLog',
+ '_dropTable',
+ 'fixUnRegisterMultiLangTables',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('checkOrderManagerTableExist')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_changeItemContent')->willReturn(true);
+ $oModelMock->method('_prepareConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getConvertAssignments')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('hasExecute')->willReturn(true);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->never())->method('_dropTable')->willReturn(true);
+ $oModelMock->expects($this->never())->method('fixUnRegisterMultiLangTables')->willReturn(true);
+ $oModelMock->expects($this->once())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'convertOrderManagerItems'
+ )
+ );
+ }
+
+ public function dbInterfaceExecuteThrowException()
+ {
+ $oPDOException = oxNew(\PDOException::class);
+ $oPDOException->errorInfo = array(
+ 1 => 'errorInfoNo1',
+ 2 => 'errorInfoNo1',
+ );
+
+ throw oxNew(PDOException::class, $oPDOException);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetConvertAssignments()
+ {
+ $aAssignments = $this->callMethod(
+ $this->_oModel,
+ '_getConvertAssignments'
+ );
+
+ $this->assertInternalType(
+ 'array',
+ $aAssignments
+ );
+ $this->assertTrue((bool) count($aAssignments), 'Assignments dont have got items');
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canChangeItemContentExecuteNoException()
+ {
+ $iLangCount = 2;
+
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getAll',
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->exactly($iLangCount))->method('getAll')->willReturn(
+ array('field1' => array(
+ 'value' => 'YSUzQTIlM0ElN0JzJTNBNCUzQSUyMmtleTElMjIlM0JzJTNBNiUzQSUyMnZhbHVlMSUyMiUzQnMlM0E0JTNBJTIya2V5MiUyMiUzQnMlM0E2JTNBJTIydmFsdWUyJTIyJTNCJTdE')
+ // array(
+ // 'key1' => 'value1',
+ // 'key2' => 'value2',
+ //)
+ )
+ );
+ $oDBInterfaceMock->expects($this->exactly($iLangCount))->method('Execute')->willReturn(true);
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'checkFieldExist',
+ ));
+ $oDatabaseMock->method('checkFieldExist')->willReturn(true);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getMaxLanguages',
+ '_addMultiLangAddOn',
+ '_getDatabaseHandler',
+ 'getDb',
+ 'hasExecute',
+ 'setUpdateBreak',
+ 'setActionLog',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('getMaxLanguages')->willReturn($iLangCount);
+ $oModelMock->method('_addMultiLangAddOn')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('hasExecute')->willReturn(true);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_changeItemContent',
+ array('oldKey', 'newKey')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canChangeItemContentExecuteException()
+ {
+ $iLangCount = 2;
+
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getAll',
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->exactly($iLangCount))->method('getAll')->willReturn(
+ array('field1' => array(
+ 'value' => 'YSUzQTIlM0ElN0JzJTNBNCUzQSUyMmtleTElMjIlM0JzJTNBNiUzQSUyMnZhbHVlMSUyMiUzQnMlM0E0JTNBJTIya2V5MiUyMiUzQnMlM0E2JTNBJTIydmFsdWUyJTIyJTNCJTdE')
+ // array(
+ // 'key1' => 'value1',
+ // 'key2' => 'value2',
+ //)
+ )
+ );
+ $oDBInterfaceMock->expects($this->exactly($iLangCount))->method('Execute')->willReturnCallback(array($this, 'dbInterfaceExecuteThrowException'));
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'checkFieldExist',
+ ));
+ $oDatabaseMock->method('checkFieldExist')->willReturn(true);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getMaxLanguages',
+ '_addMultiLangAddOn',
+ '_getDatabaseHandler',
+ 'getDb',
+ 'hasExecute',
+ 'setUpdateBreak',
+ 'setActionLog',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('getMaxLanguages')->willReturn($iLangCount);
+ $oModelMock->method('_addMultiLangAddOn')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('hasExecute')->willReturn(true);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_changeItemContent',
+ array('oldKey', 'newKey')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canChangeItemContentNoExecute()
+ {
+ $iLangCount = 2;
+
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getAll',
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->exactly($iLangCount))->method('getAll')->willReturn(
+ array('field1' => array(
+ 'value' => 'YSUzQTIlM0ElN0JzJTNBNCUzQSUyMmtleTElMjIlM0JzJTNBNiUzQSUyMnZhbHVlMSUyMiUzQnMlM0E0JTNBJTIya2V5MiUyMiUzQnMlM0E2JTNBJTIydmFsdWUyJTIyJTNCJTdE')
+ // array(
+ // 'key1' => 'value1',
+ // 'key2' => 'value2',
+ //)
+ )
+ );
+ $oDBInterfaceMock->expects($this->never())->method('Execute')->willReturn(true);
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'checkFieldExist',
+ ));
+ $oDatabaseMock->method('checkFieldExist')->willReturn(true);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getMaxLanguages',
+ '_addMultiLangAddOn',
+ '_getDatabaseHandler',
+ 'getDb',
+ 'hasExecute',
+ 'setUpdateBreak',
+ 'setActionLog',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('getMaxLanguages')->willReturn($iLangCount);
+ $oModelMock->method('_addMultiLangAddOn')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('hasExecute')->willReturn(false);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->exactly($iLangCount))->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_changeItemContent',
+ array('oldKey', 'newKey')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canChangeItemContentFieldNotExist()
+ {
+ $iLangCount = 2;
+
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getAll',
+ 'Execute',
+ ));
+ $oDBInterfaceMock->expects($this->never())->method('getAll')->willReturn(
+ array('field1' => array(
+ 'value' => 'YSUzQTIlM0ElN0JzJTNBNCUzQSUyMmtleTElMjIlM0JzJTNBNiUzQSUyMnZhbHVlMSUyMiUzQnMlM0E0JTNBJTIya2V5MiUyMiUzQnMlM0E2JTNBJTIydmFsdWUyJTIyJTNCJTdE')
+ // array(
+ // 'key1' => 'value1',
+ // 'key2' => 'value2',
+ //)
+ )
+ );
+ $oDBInterfaceMock->expects($this->never())->method('Execute')->willReturn(true);
+
+ /** @var d3database|PHPUnit_Framework_MockObject_MockObject $oDatabaseMock */
+ $oDatabaseMock = $this->getMock(d3database::class, array(
+ 'checkFieldExist',
+ ));
+ $oDatabaseMock->method('checkFieldExist')->willReturn(false);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getMaxLanguages',
+ '_addMultiLangAddOn',
+ '_getDatabaseHandler',
+ 'getDb',
+ 'hasExecute',
+ 'setUpdateBreak',
+ 'setActionLog',
+ 'setErrorMessage',
+ ));
+ $oModelMock->method('getMaxLanguages')->willReturn($iLangCount);
+ $oModelMock->method('_addMultiLangAddOn')->willReturn(true);
+ $oModelMock->method('_getDatabaseHandler')->willReturn($oDatabaseMock);
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('hasExecute')->willReturn(false);
+ $oModelMock->expects($this->never())->method('setUpdateBreak')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setActionLog')->willReturn(true);
+ $oModelMock->expects($this->never())->method('setErrorMessage')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ '_changeItemContent',
+ array('oldKey', 'newKey')
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCheckOrder2OrderManagerTableNotExist()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ '_checkTableNotExist',
+ ));
+ $oModelMock->expects($this->once())->method('_checkTableNotExist')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'doesOrder2OrderManagerTableNotExist'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddOrder2OrderManagerTable()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'doesOrder2OrderManagerTableNotExist',
+ '_addTable2',
+ ));
+ $oModelMock->method('doesOrder2OrderManagerTableNotExist')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_addTable2')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addOrder2OrderManagerTable'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotAddExistingOrder2OrderManagerTable()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'doesOrder2OrderManagerTableNotExist',
+ '_addTable2',
+ ));
+ $oModelMock->method('doesOrder2OrderManagerTableNotExist')->willReturn(false);
+ $oModelMock->expects($this->never())->method('_addTable2')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addOrder2OrderManagerTable'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetInstallDbRecordReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3installdbrecord::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetInstallDbRecord'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function d3GetConfigReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ Config::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'd3GetConfig'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCheckDoesModCfgItemNotExistPositive()
+ {
+ /** @var d3installdbrecord|PHPUnit_Framework_MockObject_MockObject $oInstallDbRecordMock */
+ $oInstallDbRecordMock = $this->getMock(d3installdbrecord::class, array(
+ 'checkTableRecordNotExist',
+ ), array($this->_oModel));
+ $oInstallDbRecordMock->expects($this->once())->method('checkTableRecordNotExist')->willReturn(true);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getShopIds',
+ ));
+ $oConfigMock->method('getShopIds')->willReturn(array(1, 2));
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'd3GetConfig',
+ 'd3GetInstallDbRecord',
+ ));
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetInstallDbRecord')->willReturn($oInstallDbRecordMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'doesModCfgItemNotExist'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCheckDoesModCfgItemNotExistNegative()
+ {
+ /** @var d3installdbrecord|PHPUnit_Framework_MockObject_MockObject $oInstallDbRecordMock */
+ $oInstallDbRecordMock = $this->getMock(d3installdbrecord::class, array(
+ 'checkTableRecordNotExist',
+ ), array($this->_oModel));
+ $oInstallDbRecordMock->expects($this->exactly(2))->method('checkTableRecordNotExist')->willReturn(false);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getShopIds',
+ ));
+ $oConfigMock->method('getShopIds')->willReturn(array(1, 2));
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'd3GetConfig',
+ 'd3GetInstallDbRecord',
+ ));
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetInstallDbRecord')->willReturn($oInstallDbRecordMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'doesModCfgItemNotExist'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddModCfgItemNoStepByStep()
+ {
+ /** @var d3installdbrecord|PHPUnit_Framework_MockObject_MockObject $oInstallDbRecordMock */
+ $oInstallDbRecordMock = $this->getMock(d3installdbrecord::class, array(
+ 'checkTableRecordNotExist',
+ ), array($this->_oModel));
+ $oInstallDbRecordMock->expects($this->exactly(2))->method('checkTableRecordNotExist')->willReturn(true);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getShopIds',
+ ));
+ $oConfigMock->method('getShopIds')->willReturn(array(1, 2));
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'doesModCfgItemNotExist',
+ 'd3GetConfig',
+ 'd3GetInstallDbRecord',
+ 'setInitialExecMethod',
+ '_updateTableItem2',
+ 'getStepByStepMode',
+ ));
+ $oModelMock->method('doesModCfgItemNotExist')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetInstallDbRecord')->willReturn($oInstallDbRecordMock);
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->expects($this->exactly(2))->method('_updateTableItem2')->willReturn(true);
+ $oModelMock->method('getStepByStepMode')->willReturn(false);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addModCfgItem'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddModCfgItemStepByStep()
+ {
+ /** @var d3installdbrecord|PHPUnit_Framework_MockObject_MockObject $oInstallDbRecordMock */
+ $oInstallDbRecordMock = $this->getMock(d3installdbrecord::class, array(
+ 'checkTableRecordNotExist',
+ ), array($this->_oModel));
+ $oInstallDbRecordMock->expects($this->exactly(1))->method('checkTableRecordNotExist')->willReturn(true);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getShopIds',
+ ));
+ $oConfigMock->method('getShopIds')->willReturn(array(1, 2));
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'doesModCfgItemNotExist',
+ 'd3GetConfig',
+ 'd3GetInstallDbRecord',
+ 'setInitialExecMethod',
+ '_updateTableItem2',
+ 'getStepByStepMode',
+ ));
+ $oModelMock->method('doesModCfgItemNotExist')->willReturn(true);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetInstallDbRecord')->willReturn($oInstallDbRecordMock);
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->expects($this->exactly(1))->method('_updateTableItem2')->willReturn(true);
+ $oModelMock->method('getStepByStepMode')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addModCfgItem'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canNotAddExistingModCfgItem()
+ {
+ /** @var d3installdbrecord|PHPUnit_Framework_MockObject_MockObject $oInstallDbRecordMock */
+ $oInstallDbRecordMock = $this->getMock(d3installdbrecord::class, array(
+ 'checkTableRecordNotExist',
+ ), array($this->_oModel));
+ $oInstallDbRecordMock->expects($this->never())->method('checkTableRecordNotExist')->willReturn(true);
+
+ /** @var Config|PHPUnit_Framework_MockObject_MockObject $oConfigMock */
+ $oConfigMock = $this->getMock(Config::class, array(
+ 'getShopIds',
+ ));
+ $oConfigMock->method('getShopIds')->willReturn(array(1, 2));
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'doesModCfgItemNotExist',
+ 'd3GetConfig',
+ 'd3GetInstallDbRecord',
+ 'setInitialExecMethod',
+ '_updateTableItem2',
+ 'getStepByStepMode',
+ ));
+ $oModelMock->method('doesModCfgItemNotExist')->willReturn(false);
+ $oModelMock->method('d3GetConfig')->willReturn($oConfigMock);
+ $oModelMock->method('d3GetInstallDbRecord')->willReturn($oInstallDbRecordMock);
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->expects($this->never())->method('_updateTableItem2')->willReturn(true);
+ $oModelMock->method('getStepByStepMode')->willReturn(false);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addModCfgItem'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function needExampleJobListPass()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getOne',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('getOne')->willReturn(0);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getDb',
+ ));
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'needExampleJobList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function needExampleJobListDontPass()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getOne',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('getOne')->willReturn(1);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getDb',
+ ));
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'needExampleJobList'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddExampleJobList()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleJobInsertList',
+ '_addExampleJobItem',
+ 'setUpdateBreak',
+ ));
+ $oModelMock->method('getExampleJobInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->expects($this->exactly(2))->method('_addExampleJobItem')->will($this->onConsecutiveCalls(true, false, true));
+ $oModelMock->method('setUpdateBreak')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addExampleJobList'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkIsExampleContentMissingInDatabasePositive()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getOne',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('getOne')->willReturn(1);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleContentInsertList',
+ 'getDb',
+ 'getExampleJobItem1InsertFields',
+ ));
+ $oModelMock->method('getExampleContentInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('getExampleJobItem1InsertFields')->willReturn(
+ array(
+ array (
+ 'fieldname' => 'OXID',
+ 'content' => "foobar",
+ 'force_update' => false,
+ 'use_quote' => false,
+ 'use_multilang' => false,
+ ),
+ array (
+ 'fieldname' => 'OXLOADID',
+ 'content' => "d3unknownContentId",
+ 'force_update' => false,
+ 'use_quote' => true,
+ 'use_multilang' => false,
+ )
+ )
+ );
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'isExampleContentMissingInDatabase'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkIsExampleContentMissingInDatabaseNegative()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getOne',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('getOne')->willReturn(0);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleContentInsertList',
+ 'getDb',
+ 'getExampleJobItem1InsertFields'
+ ));
+ $oModelMock->method('getExampleContentInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('getExampleJobItem1InsertFields')->willReturn(
+ array(
+ array (
+ 'fieldname' => 'OXID',
+ 'content' => "foobar",
+ 'force_update' => false,
+ 'use_quote' => false,
+ 'use_multilang' => false,
+ ),
+ array (
+ 'fieldname' => 'OXLOADID',
+ 'content' => "d3unknownContentId",
+ 'force_update' => false,
+ 'use_quote' => true,
+ 'use_multilang' => false,
+ )
+ )
+ );
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'isExampleContentMissingInDatabase'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkIsExampleContentMissingInDatabaseNegativeNoLoadId()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getOne',
+ ));
+ $oDBInterfaceMock->expects($this->never())->method('getOne')->willReturn(0);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleContentInsertList',
+ 'getDb',
+ 'getExampleJobItem1InsertFields'
+ ));
+ $oModelMock->method('getExampleContentInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+ $oModelMock->method('getExampleJobItem1InsertFields')->willReturn(
+ array(
+ array (
+ 'fieldname' => 'OXID',
+ 'content' => "foobar",
+ 'force_update' => false,
+ 'use_quote' => false,
+ 'use_multilang' => false,
+ ),
+ )
+ );
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'isExampleContentMissingInDatabase'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddExampleContentList()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleContentInsertList',
+ '_addExampleJobItem',
+ 'setUpdateBreak',
+ ));
+ $oModelMock->method('getExampleContentInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->expects($this->exactly(2))->method('_addExampleJobItem')->will($this->onConsecutiveCalls(true, false, true));
+ $oModelMock->method('setUpdateBreak')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addExampleContentList'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkRequireExample2ShopRelationTrue()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'setInitialExecMethod',
+ 'getExampleJobInsertList',
+ 'getExampleJobItem1InsertFields',
+ '_require2ShopRelation',
+ ));
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->method('getExampleJobInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->expects($this->once())->method('getExampleJobItem1InsertFields')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_require2ShopRelation')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'requireExample2ShopRelation'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkRequireExample2ShopRelationFalse()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'setInitialExecMethod',
+ 'getExampleJobInsertList',
+ 'getExampleJobItem1InsertFields',
+ '_require2ShopRelation',
+ 'getShopList',
+ ));
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->method('getExampleJobInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1InsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->expects($this->exactly(3))->method('getExampleJobItem1InsertFields')->willReturn(true);
+ $oModelMock->expects($this->exactly(3))->method('_require2ShopRelation')->willReturn(false);
+ $oModelMock->method('getShopList')->willReturn(
+ array(
+ 1 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ 2 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ 3 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ ));
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'requireExample2ShopRelation'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddExample2ShopRelationPass()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleJobInsertList',
+ 'getExampleJobItem1PassInsertFields',
+ 'getExampleJobItem2PassInsertFields',
+ 'getExampleJobItem3PassInsertFields',
+ '_add2ShopRelation',
+ 'getShopList'
+ ));
+ $oModelMock->method('getExampleJobInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1PassInsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem2PassInsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem3PassInsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->expects($this->exactly(3))->method('getExampleJobItem1PassInsertFields')->willReturn(true);
+ $oModelMock->expects($this->exactly(3))->method('getExampleJobItem2PassInsertFields')->willReturn(true);
+ $oModelMock->expects($this->exactly(3))->method('getExampleJobItem3PassInsertFields')->willReturn(true);
+ $oModelMock->expects($this->exactly(9))->method('_add2ShopRelation')->willReturn(true);
+ $oModelMock->method('getShopList')->willReturn(
+ array(
+ 1 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ 2 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ 3 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ ));
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'addExample2ShopRelation'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddExample2ShopRelationFails()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getExampleJobInsertList',
+ 'getExampleJobItem1FailedInsertFields',
+ 'getExampleJobItem2FailedInsertFields',
+ 'getExampleJobItem3FailedInsertFields',
+ '_add2ShopRelation',
+ 'getShopList',
+ ));
+ $oModelMock->method('getExampleJobInsertList')->willReturn(
+ array(
+ array(
+ 'content' => 'getExampleJobItem1FailedInsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem2FailedInsertFields',
+ 'table' => 'd3modprofile'
+ ),
+ array(
+ 'content' => 'getExampleJobItem3FailedInsertFields',
+ 'table' => 'd3modprofile'
+ )
+ )
+ );
+ $oModelMock->expects($this->exactly(3))->method('getExampleJobItem1FailedInsertFields')->willReturn(true);
+ $oModelMock->expects($this->exactly(3))->method('getExampleJobItem2FailedInsertFields')->willReturn(true);
+ $oModelMock->expects($this->never())->method('getExampleJobItem3InsertFailedFields')->willReturn(true);
+ $oModelMock->expects($this->exactly(6))->method('_add2ShopRelation')->will(
+ $this->onConsecutiveCalls(
+ true, true, true,
+ true, false, false,
+ true, true, true)
+ );
+ $oModelMock->method('getShopList')->willReturn(
+ array(
+ 1 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ 2 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ 3 => d3GetModCfgDIC()->get('d3ox.ordermanager.'.Shop::class),
+ ));
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertFalse(
+ $this->callMethod(
+ $this->_oModel,
+ 'addExample2ShopRelation'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetExampleJobInsertList()
+ {
+ $aList = $this->callMethod(
+ $this->_oModel,
+ 'getExampleJobInsertList'
+ );
+
+ $this->assertInternalType('array', $aList);
+ $this->assertTrue((bool) count($aList));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetExampleContentInsertList()
+ {
+ $aList = $this->callMethod(
+ $this->_oModel,
+ 'getExampleContentInsertList'
+ );
+
+ $this->assertInternalType('array', $aList);
+ $this->assertTrue((bool) count($aList));
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetExampleJobItemXInsertFields()
+ {
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ 'getId',
+ ));
+ $oShopMock->method('getId')->willReturn('shopId');
+
+ /** @var d3bitmask|PHPUnit_Framework_MockObject_MockObject $oD3BitMock */
+ $oD3BitMock = $this->getMock(d3bitmask::class, array(
+ 'getIntByBitPosition',
+ ));
+ $oD3BitMock->method('getIntByBitPosition')->willReturn(1);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getD3BitMask',
+ '_getLangAbbrFieldName',
+ ));
+ $oModelMock->method('getD3BitMask')->willReturn($oD3BitMock);
+ $oModelMock->method('_getLangAbbrFieldName')->willReturn('fieldName');
+
+ $this->_oModel = $oModelMock;
+
+ foreach ($this->_oModel->getExampleJobInsertList() as $aJobContentInfos) {
+ $aFieldList = $this->callMethod(
+ $this->_oModel,
+ $aJobContentInfos['content'],
+ array($oShopMock)
+ );
+
+ $this->assertInternalType('array', $aFieldList);
+ $this->assertTrue((bool) count($aFieldList));
+ }
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canGetExampleContentXInsertFields()
+ {
+ /** @var Shop|PHPUnit_Framework_MockObject_MockObject $oShopMock */
+ $oShopMock = $this->getMock(Shop::class, array(
+ 'getId',
+ ));
+ $oShopMock->method('getId')->willReturn('shopId');
+
+ /** @var d3bitmask|PHPUnit_Framework_MockObject_MockObject $oD3BitMock */
+ $oD3BitMock = $this->getMock(d3bitmask::class, array(
+ 'getIntByBitPosition',
+ ));
+ $oD3BitMock->method('getIntByBitPosition')->willReturn(1);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getD3BitMask',
+ '_getLangAbbrFieldName',
+ ));
+ $oModelMock->method('getD3BitMask')->willReturn($oD3BitMock);
+ $oModelMock->method('_getLangAbbrFieldName')->willReturn('fieldName');
+
+ $this->_oModel = $oModelMock;
+
+ foreach ($this->_oModel->getExampleContentInsertList() as $aContentInfos) {
+ $aFieldList = $this->callMethod(
+ $this->_oModel,
+ $aContentInfos['content'],
+ array($oShopMock)
+ );
+
+ $this->assertInternalType('array', $aFieldList);
+ $this->assertTrue((bool) count($aFieldList));
+ }
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddExampleJobItemNoStepByStep()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getShopList',
+ 'jobFieldMethodName',
+ '_convertExampleJobItems',
+ 'setInitialExecMethod',
+ '_updateTableItem2',
+ 'getStepByStepMode',
+ ));
+ $oModelMock->method('getShopList')->willReturn(array(1, 2));
+ $oModelMock->method('jobFieldMethodName')->willReturn(true);
+ $oModelMock->method('_convertExampleJobItems')->willReturn(true);
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->expects($this->exactly(2))->method('_updateTableItem2')->willReturn('returnValue');
+ $oModelMock->method('getStepByStepMode')->willReturn(false);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ '_addExampleJobItem',
+ array('tableName', 'jobFieldMethodName')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function getD3BitReturnsRightInstance()
+ {
+ $this->assertInstanceOf(
+ d3bitmask::class,
+ $this->callMethod(
+ $this->_oModel,
+ 'getD3BitMask'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddExampleJobItemStepByStep()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getShopList',
+ 'jobFieldMethodName',
+ '_convertExampleJobItems',
+ 'setInitialExecMethod',
+ '_updateTableItem2',
+ 'getStepByStepMode',
+ ));
+ $oModelMock->method('getShopList')->willReturn(array(1, 2));
+ $oModelMock->method('jobFieldMethodName')->willReturn(true);
+ $oModelMock->method('_convertExampleJobItems')->willReturn(true);
+ $oModelMock->method('setInitialExecMethod')->willReturn(true);
+ $oModelMock->expects($this->once())->method('_updateTableItem2')->willReturn('returnValue');
+ $oModelMock->method('getStepByStepMode')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertSame(
+ 'returnValue',
+ $this->callMethod(
+ $this->_oModel,
+ '_addExampleJobItem',
+ array('tableName', 'jobFieldMethodName')
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canConvertExampleJobItems()
+ {
+ $aFieldList = $this->callMethod(
+ $this->_oModel,
+ '_convertExampleJobItems',
+ array(
+ array(
+ 'fieldKey1' => array(
+ 'field1' => 'content1',
+ 'field2' => 'content1äüöß',
+ )
+ )
+ )
+ );
+
+ $this->assertInternalType('array', $aFieldList);
+ $this->assertCount(1, $aFieldList);
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function checkHasNotOrderArticlesParentId()
+ {
+ /** @var DatabaseInterface|PHPUnit_Framework_MockObject_MockObject $oDBInterfaceMock */
+ $oDBInterfaceMock = $this->getMock(stdClass::class, array(
+ 'getOne',
+ ));
+ $oDBInterfaceMock->expects($this->once())->method('getOne')->willReturn(2);
+
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ 'getDb',
+ ));
+ $oModelMock->method('getDb')->willReturn($oDBInterfaceMock);
+
+ $this->_oModel = $oModelMock;
+
+ $this->assertTrue(
+ $this->callMethod(
+ $this->_oModel,
+ 'hasNotOrderArticlesParentId'
+ )
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canAddOrderArticlesParentId()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ '_tableSqlExecute',
+ ));
+ $oModelMock->expects($this->once())->method('_tableSqlExecute')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'addOrderArticlesParentId'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canCheckHasUnregisteredFiles()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ '_hasUnregisteredFiles',
+ ));
+ $oModelMock->expects($this->once())->method('_hasUnregisteredFiles')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'hasUnregisteredFiles'
+ );
+ }
+
+ /**
+ * @test
+ * @throws ReflectionException
+ */
+ public function canShowUnregisteredFiles()
+ {
+ /** @var d3ordermanager_update|PHPUnit_Framework_MockObject_MockObject $oModelMock */
+ $oModelMock = $this->getMock(d3ordermanager_update::class, array(
+ '_showUnregisteredFiles',
+ ));
+ $oModelMock->expects($this->once())->method('_showUnregisteredFiles')->willReturn(true);
+
+ $this->_oModel = $oModelMock;
+
+ $this->callMethod(
+ $this->_oModel,
+ 'showUnregisteredFiles'
+ );
+ }
+
+ /**
+ * @param $sLicenseKey
+ * @param d3ordermanager $oManager
+ * @return null
+ */
+ protected function _setModuleLicenseKey($sLicenseKey, $oManager = null)
+ {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/tests/unit/d3OrdermanagerUnitTestCase.php b/src/tests/unit/d3OrdermanagerUnitTestCase.php
index 61237a55..5af12067 100644
--- a/src/tests/unit/d3OrdermanagerUnitTestCase.php
+++ b/src/tests/unit/d3OrdermanagerUnitTestCase.php
@@ -1,117 +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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
-11Wm
\ No newline at end of file
+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
+A/eDE0==
\ No newline at end of file