commit 5ae83c3e4530c5c9bc2a84f04f1b71309cd86c05 Author: Daniel Seifert Date: Wed Dec 20 11:41:29 2017 +0100 add 6.1.0.0 (ionCube for PHP 5.6 - 7.0) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e88d6a1 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,286 @@ +# Changelog +All notable changes to this project will be documented in this file. + +## Unreleased + +## 6.1.0.0 (2017-12-15) +### Added +- Installation via Composer + +## [6.0.0.0] (2017-11-24) +### Added +- Synonym-Wortgruppen werden auch bei Einzelwortsuche gefunden und als Einzelworte in die Suchparameter eingefügt +- Weiterleitungen sind für jeden Datentyp einzeln einstellbar +- Filter werden (sofern verfügbar) in der Sidebar angezeigt (flow-Theme) +- CSS-Generierung auf Less umgestellt, ermöglicht Erstellung individueller CSS-Dateien + +### Changed +- Umarbeitung für OXID 6 +- Layout der Suggest-Suche angepasst + +## [5.6.4.2] (2017-10-20) +- Fehler beim Auftrennen kombinierter Suchbegriffe bei der Verwendung der "Ähnlichkeitssuche für Kurzworte" und Multibyte-Zeichen korrigiert +- leere Hersteller- und Lieferantenlisten korrigiert (#6617) +- fehlerhafte Artikellisten bei Artikellistenergänzung korrigiert (#6812) + +## 5.6.4.1 (2017-07-25) +- fehlende Sortierung der Suchergebnisse korrigiert + +## 5.6.4.0 (2017-07-10) +- sinngleiche Suche wird auch bei Suche in Kategorienamen verwendet +- Synonym-Wortgruppen werden auch bei Einzelwortsuche gefunden und als Einzelworte in die Suchparameter eingefügt +- zusätzliche Templateblöcke für Filter integriert +- fehlende Template-Parameter ergänzt +- Preisschiebegregler für Nettopreise angepasst +- Attributfilterbereinigung optimiert +- Preisstepberechnung korigiert +- Mehrfachfilter werden in Artikellisten +- Bugfix: gewählte Mehrfachfilter werden in Artikellisten-Seiten zurückgegeben + +## [5.6.3.0] (2017-03-14) +- isextsearch-Parameter wird nur bei verwendeter Filterung gesetzt +- mehrfache Kategoriefilter auch in Suchergebnissen verfügbar +- Support für Content-Einstellungen im Visual CMS-Modul (Version 1.0.0) (#6103) +- fehlenden Kategoriefilter in Artikellistenfilter nachgetragen +- Testlizenzen enthalten Artikellistenfilter +- kleine Fehler in der Query-Generierung korrigiert +- Exception bei deaktiviertem Modul korrigiert + +## [5.6.2.1] (2016-10-21) +- Locator auf der Detailansicht korrigiert, wenn Artikel aus direkter Anzeige einer 1-Treffer-Liste stammt (#5554) +- korrigiert: Mehrfachfilter wurden ausgeblendet, wenn Auswahl nur 1 Treffer enthielt (#5552) +- modulspezifische Theme-Mapping-Variablen eingefügt + +## 5.6.2.0 (2016-10-10) +- verwendet Theme-Mapping +- Schnellsuche-Anfragen werden ebenfalls ins Log geschrieben +- .htaccess-Beschränkungen für Apache 2.4 angepasst +- gemeinsame Erweiterung der *list-Klassen aufgelöst +- Funktionsaufrufe für Ajax-Calls geändert +- als "deprecated" gekennzeichnete Methodenaufrufe ersetzt +- Scripts für passende Darstellung des Adminmenütitels im Browser angepasst +- fehlende Template-Erweiterungen für "Flow" nachgetragen +- fehlende Componenten-Klasse in oxwarticledetails-Widget ergänzt +- falschen Formularparameter korrigiert +- Bugfix für fehlerhafte Datenbankabfrage bei aktivierter Variantensuche +- undokumentierte Parameter im Handbuch nachgetragen + +## [5.6.1.0] (2016-08-10) +- Kompatibilität mit OXID-eShop Version 4.10.x / 5.3.x hergestellt +- Template-Anpassungen für "Flow" eingefügt + +## 5.6.0.1 (2017-07-10) + +## [5.6.0.0] (2016-06-27) +- Marken- und Lieferantenfilter sind nun mehrfach wählbar + +## [5.5.4.0] (2016-03-14) +- Filter für Preiskategorien eingefügt +- Artikellisten verwenden Sortierung der Zuordnungstabellen +- Artikelposition innerhalb der Detailseiten-Listennavigation angepasst +- Installation korrigiert + +## [5.5.3.1] (2016-02-17) +- Bugfix für fehlerhafte Datenbankabfrage bei Suche ohne definierte Sortierung + +## [5.5.3.0] (2016-02-16) +- alternative Sortierung bei identischen Relevanzwerten einstellbar +- versteckte Kategorien werden in Attributfilter berücksichtigt +- Attributfilter speichert Auswahl sprachabhängig +- Direktsuche mit leerem Suchparameter korrigiert +- Suggestsuche bei aktiviertem EE-Backend-Cache korrigiert + +## [5.5.2.0] (2016-01-21) +- semantische Datenbank bereinigt +- semantische Suche verwendet gewählte Sprache zur Auswahl der Alternativbegriffe +- Datenbankabfragen optimiert +- modulspezifische Logging-Auswertung eingefügt +- statistische Auswertungen (ohne grafische Auswertung)auch für EE-Installationen verfügbar gemacht +- Handbuch überarbeitet +- Relevanz-Abfrage wird bei leerer Suchabfrage nicht erstellt +- 4.7 / 5.0-Templates entfernt +- 4.9 / 5.2-Templates eingefügt +- vermeide Überladung der Listennavigation bei deaktiviertem aList-Filter +- fehlende PageId in Response-Klasse nachgetragen +- fehlende Template-Blocks nachgetragen +- Hilfelinks korrigiert +- fehlerhafte BreadCrumb auf Artikeldetailseite bei Verwendung des aListFilters korrigiert +- selektive Funktion des Preisschiebereglers in Markenlisten korrigiert +- überlaufender Preisschieberegler bei identischer Selektion korrigiert +- leere Artikellisten bei 0-bis-0-Euro Preisselektion korrigiert +- unvollständige Listennavigation korrigiert + +## [5.5.1.1] (2015-12-21) +- RSS-Feed-Controller auf neue Filter angepasst +- vermeidet Warnungen bei unvollständig übergebenen Formularen + +## [5.5.1.0] (2015-12-14) +- Preisschieberegler verwendet als Auswahl nur den Preisbereich gefundener Artikel +- Preisschieberegler behält initialen Preisbereich für Deselektion auch bei weiterer Einschränkung bei +- Preisfilter verwendet bei Varianten nicht deren 0-Euro-Preis, sondern den Preis der Elternartikel +- Semantic-Tabellen werden in automatischer Installation angelegt -> Semantic auch ohne Lexikon nutzbar +- Synonym-Editor legt Neueinträge passend an +- semantische Begriffe werden optimaler gruppiert +- fehlende JavaScript-Variable bei Nichtanzeige des Preisschiebereglers korrigiert +- Fehlervermeidung bei inaktivem Modul +- Navigationsparamter korrigiert +- Groß-/Kleinschreibung in Synonym-Tabellen korrigiert +- Relevanz-Analyse-Popup ist vergrößerbar + +## 5.5.0.1 (2015-09-01) +- optimierte Zeichensatzbehandlung innerhalb der Suggestsuche +- Artikellistenfilterung verwendet Schnellsortierung der Kategorien +- optionale Parameter der Suggest-Suchlinks deaktivierbar (config-Parameter) +- Fehler bei Extraktion der Log-Parameter in Statistik korrigiert +- vermeidet Warnungen bei unvollständig übergebenen Formularen + +## [5.5.0.0] (2015-08-27) +- Filter können in Kategorie-, Hersteller- und Markenansicht genutzt werden +- bei Attributen können mehrere Filterwerte gewählt werden +- Filter-Löschen-Option eingefügt +- selektierte Attributsfilter werden intern gespeichert, keine Parameterübergabe nötig +- Erweiterbarkeit verbessert (TPL-Block, CSS) +- Mobile-Support auch für Shopversion 4.7 / 5.0 + +## [5.4.0.3] (2015-08-27) +- unvollständig zusammengeführte Templates ergänzt + +## [5.4.0.2] (2015-08-05) +- fehlende Navigationsparameter für Startseite nachgetragen +- Sortierrichtung für Hersteller- und Lieferantenfilter korrigiert +- Inhaltssuche wird nur mit gesetztem Suchparameter ausgeführt +- ModCfg-Prüf-Blöcke korrigiert +- Datenbankabfrage für attributgefilterte Variantenliste korrigiert +- fehlendes getSortId() für ältere Shopversionen nachgetragen + +## [5.4.0.1] (2015-07-14) +- Groß-/Kleinschreibung der Felder dr semantischen Datenbank korrigiert + +## [5.4.0.0] (2015-02-04) +- Kategorien können von Verwendung in Suche ausgeschlossen werden +- zusätzlicher Phonetic-Generator für besseres Handling mit Vokalen integriert +- phonetischer Index optimiert +- JavaScript-Code auf bessere Kompatibilität angepasst +- Template der Schnellsuche ist über Template-Block erweiterbar +- kleine Fehler in Abfrage-Generierung behoben + +## 5.3.0.0 +- Unterstützung für OXID Mobile Theme hinzugefügt +- Querygenerierung in Statistikanzeige korrigiert +- Kompatibilität für eShop 4.7.0 + 4.7.1 erweitert + +## 5.2.1.0 +- Attributsortierung in Filtern ermöglicht +- Indexgenerierung prüft vorab auf konsistente oxarticle-oxartextends-Daten +- Hauptsynonyme sind nun auch löschbar +- "Einfügungen und Auslassungen erlauben" auch bei kurzen Suchbegriffen ermöglicht +- explizite Prüfung auf inaktiven Vaterartikel integriert +- kleinere Textkorrekturen und Logikfehler beseitigt + +## 5.2.0.2 +- korrigiert: Abfragegenerierung ohne vorgegebene Artikelsortierung +- korrigiert: inaktives Modul erzeugt Fehler bzgl. mangelnder Ressourcen + +## 5.2.0.1 +- Precheck aktualisiert +- für 4.7.0 + 4.7.1: fehlende getSortIdent-Methode eingefügt +- fehlende Tabellendefinition in Query nachgetragen + +## 5.2.0.0 +- Wortrelevanz wird in Relevanzermittlung zusätzlich berücksichtigt +- Ähnlichkeitssuche berücksichtigt Mehrzahlformen auch bei kurzen Suchworten + +## 5.1.1.1 +- fehlerhafte Datenbankabfrage bei Kombination von "Variantensuche" und Feldern in "oxartextends" korrigiert + +## 5.1.1.0 +- optionales Popup während des Suchvorgangs eingefügt +- DirectShow verwendet nur suchbare Artikel +- Kompatibilität zu OXID eShop 4.8 / 5.0 hergestellt + +## 5.1.0.2 +- Datenbankabfragen korrigiert + +## 5.1.0.1 +- Phonetic-Generator tickerte falsch +- Semantic-Editor war aufgrund undefinierter Sortierung nicht aufrufbar +- fehlendes Template korrigiert +- Attributsortierung geändert + +## 5.1.0.0 +- Attribute können mehrfach gefiltert werden +- nicht zu Attributen zugeordnete Artikel können gefiltert werden +- Templates wurden für einfachere Erweiterung mit Blöcken ausgerüstet +- kleinere Bugfixes + +## 5.0.0.1 +- Query für Attributlisten korrigiert +- Smarty-Variable in Schnellsuche ergänzt +- nicht ausführbarer Debug-Modus unter mySQL 5.5 korrigiert + +## 5.0.0.0 +- Performanceoptimierung bei großen Suchergebnislisten +- Optimierung auf Cluster +- Statistikauswertungen erweitert +- Suchsyntax optimiert + +## 4.0.2.0 +- eigene Suchformularfelder suchen nun auch in Bereich (von / bis-Suche) +- kleiner Fehler bei der Verarbeitung der eigenen Suchformularfelder beseitigt + +## 4.0.1.1 +- OXID-Bug in Artikelsortierung behoben + +## 4.0.1.0 +- automatische Installation korrigiert +- Suchparameter bei Direktanzeige korrigiert +- zusätzliche Modul-Aktiv-Prüfungen integriert +- Treffer in Suggest-List zeigt auf Shopmandant +- "einfügen/auslassen"-Abfrage korrigiert +- Erweiterbarkeit verbessert +- Similar-Light-Suche korrigiert +- Ergebnis-Feld-Analyse eingefügt +- fehlerhafte Suchbegriff-Verknüpfung korrigiert +- fehlerhafte Hersteller-Relevanz korrigiert + +## 4.0.0.1 +- Korrektur auf neue SQL-Query-Syntax + +## 4.0.0.0 +- Umsetzung in neuer Dateistruktur des OXID 4.7 (PE) / 5.0 (EE) + +## 3.12.1 +- geänderte Logik für OXID 4.6.4: Navigationslinks der Suchergebnisseite enthielten unzureichende Parameter + +## 3.12.0 +- bei gruppierten Variantenartikeln wird Kategoriefilter vom Vaterartikel generiert +- bei gruppierten Variantenartikeln wird Preisfilter von ungruppierten Varianten generiert, + Anzahl wird auf Grund differierender Treffermengen am Filter ausgeblendet +- Eingabe des Markennamens im Suchfeld findet Markenartikel (analog Kategorienamen, auch für Lieferanten) +- Schnellsuche findet auch Contents, Marken, Lieferanten und Kategorien +- Artikel der Schnellsuche sind nach Relevanz sortiert +- Direktsuche findet auch Marken und Lieferanten +- Fehler in Ermittlung der phonetischen Länge des Suchbegriffs gefixt +- alte DB-Feldbezeichnungen im Semantic-Editor verhindert Speicherung -> behoben +- Existenzprüfung "getSortingSql" integriert +- getDb()-Syntax-Änderungen aus 4.6.0 eingefügt +- Semantic prüft auch auf leeres Term-Level (nicht nur NULL) +- Templates bis Shopversion 4.6.X + +[6.0.0.0]: https://blog.oxidmodule.com/archives/676-Neues-Upgrade-fuer-Modul-Erweiterte-Suche-auf-Version-6.0.0.0.html +[5.6.4.2]: https://blog.oxidmodule.com/archives/665-Neuer-Patch-fuer-Modul-Erweiterte-Suche-auf-Version-5.6.4.2.html +[5.6.3.0]: https://blog.oxidmodule.com/archives/644-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.6.3.0.html +[5.6.2.1]: https://blog.oxidmodule.com/archives/630-Neue-Version-fuer-Modul-Erweiterte-Suche-5.6.2.1.html +[5.6.1.0]: https://blog.oxidmodule.com/archives/614-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.6.1.0.html +[5.6.0.0]: https://blog.oxidmodule.com/archives/605-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.6.0.0.html +[5.5.4.0]: https://blog.oxidmodule.com/archives/588-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.5.4.0.html +[5.5.3.1]: https://blog.oxidmodule.com/archives/578-Neuer-Patch-fuer-Modul-Erweiterte-Suche-auf-Version-5.5.3.1.html +[5.5.3.0]: https://blog.oxidmodule.com/archives/577-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.5.3.0.html +[5.5.2.0]: https://blog.oxidmodule.com/archives/571-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.5.2.0.html +[5.5.1.1]: https://blog.oxidmodule.com/archives/565-Neuer-Patch-fuer-Modul-Erweiterte-Suche-auf-Version-5.5.1.1.html +[5.5.1.0]: https://blog.oxidmodule.com/archives/563-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.5.1.0.html +[5.5.0.0]: https://blog.oxidmodule.com/archives/537-Neue-Versionen-5.5.0.0-und-5.5.0.1-fuer-Modul-Erweiterte-Suche.html +[5.4.0.3]: https://blog.oxidmodule.com/archives/536-Neuer-Patch-fuer-Modul-Erweiterte-Suche-auf-Version-5.4.0.3.html +[5.4.0.2]: https://blog.oxidmodule.com/archives/534-Neuer-Patch-fuer-Modul-Erweiterte-Suche-auf-Version-5.4.0.2.html +[5.4.0.1]: https://blog.oxidmodule.com/archives/524-Neuer-Patch-fuer-Modul-Erweiterte-Suche-auf-Version-5.4.0.1.html +[5.4.0.0]: https://blog.oxidmodule.com/archives/499-Neues-Update-fuer-Modul-Erweiterte-Suche-auf-Version-5.4.0.0.html \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..8cf660e --- /dev/null +++ b/composer.json @@ -0,0 +1,40 @@ +{ + "name": "D3/Extsearch", + "description": "Extended search module for OXID eShop.", + "type": "oxideshop-module", + "keywords": [ + "oxid", + "modules", + "eShop", + "d3", + "search" + ], + "authors": [ + { + "name": "D3 Data Development (Inh. Thomas Dartsch)", + "email": "info@shopmodule.com", + "homepage": "http://www.oxidmodule.com" + } + ], + "homepage": "https://www.oxidmodule.com/", + "license": [ + "proprietary" + ], + "extra": { + "oxideshop": { + "source-directory": "/src", + "target-directory": "d3/extsearch" + } + }, + "require": { + "php": "5.6.* || 7.0.*", + "ext-ionCube-Loader": "*", + "oxid-esales/oxideshop-ce": "6.0.x", + "d3/modcfg": ">=5.1.0.0" + }, + "autoload": { + "psr-4": { + "D3\\Extsearch\\": "../../../source/modules/d3/extsearch" + } + } +} diff --git a/docs/Erweiterte-Suche-Installation.pdf b/docs/Erweiterte-Suche-Installation.pdf new file mode 100644 index 0000000..3f42d2d Binary files /dev/null and b/docs/Erweiterte-Suche-Installation.pdf differ diff --git a/docs/Erweiterte-Suche-Konfiguration.pdf b/docs/Erweiterte-Suche-Konfiguration.pdf new file mode 100644 index 0000000..403fd52 Binary files /dev/null and b/docs/Erweiterte-Suche-Konfiguration.pdf differ diff --git a/docs/Features.txt b/docs/Features.txt new file mode 100644 index 0000000..965f9a3 --- /dev/null +++ b/docs/Features.txt @@ -0,0 +1,112 @@ +"erweiterte Suche" + +Diese Modulversion stellt folgende Funktionen zur Verfügung: + +- Kategorie-, Marken- und Lieferantenlisten + Aus allen Suchtreffern werden die betreffenden Kategorien und Marken aufgelistet, + durch Links darauf können die Suchergebnisse eingeschränkt werden + Optionen: + - Listen können alphabetisch bzw. nach Treffern sortiert werden + - Listen können ab X Einträgen eingeschränkt werden + - Listen können bei nur einem Eintrag ausgeblendet werden + - Kategorien können einzeln von Verwendung ausgeschlossen werden + - Filter auch in Kategorien, Hersteller- sowie Markenlisten (Version 5.5) + - Mehrfachauswahl der zu filternden Listen und Werte (Version 5.6) + +- fehlertolerante Suche nach Semantic (Version 3.10) + Es werden Suchtreffer gezeigt, die einen ähnlichen Sinn haben. + - Editor für Semantic-Suche (Version 3.11) + +- fehlertolerante Suche nach Phonetic mit Singular/Plural-Abgleich + Es werden Suchtreffer gezeigt, die einen ähnlichen Klang haben. + Optionen: + - diese Treffer werden nur angezeigt, wenn sonst keine Ergebnisse gefunden werden + - diese Treffer werden auch angezeigt, wenn nur wenige Ergebnisse gefunden werden (Anzahl definierbar) + - Definierung eigener für die Suche genutzter Felder möglich + - auch bei kurzen Suchworten wird eine vereinfachte Ähnlichkeitssuche verwendet (Version 3.8) + - Phoentic-Syntax mit und ohne Vokalverwendung einstellbar (Version 5.4) + +- automatische Prioritätensortierung + Je nachdem,in welchem Datenbankfeld die Suchbegriffe gefunden werden, sind die Treffer sortiert. + Artikel können in 3 Stufen nach Ihrer Wichtigkeit sortiert werden um die Position in Suchergebnissen zu beeinflussen (Version 3.10) + Die Relevanz unterscheidet sich weiterhin, ob nur Wortteile oder das einzeln stehende Wort gefunden wird (Version 5.2) + +- Direktsuche + Wenn in der Trefferliste nur ein Artikel oder Text gefunden wird, wechselt der Shop direkt zur Detailseite des gefundenen Artikels bzw. des Textes. + +- Schnellsuche (Suchergebnisse schon während der Eingabe als ToolTip) + Bei der Eingabe einzelner Zeichen des Suchwortes werden im Hintergrund schon die ersten Ergebnisse gelistet + und per Ajax dargestellt. Durch Anklicken der angezeigten Artikel wechselt man auf die Detailseite des Artikels. + Optionen: + - durch Templatesteuerung sind gestalterisch und inhaltlich keine Grenzen gesetzt. Denkbar wäre zum Beispiel die Anzeige der Artikelbilder + oder auch die Möglichkeit der Direktbestellung in den Ergebnissen der Schnellsuche + - sucht nach Variantenartikeln + - in Verbindung mit der Suche nach Artikelnummern eine praktikable Möglichkeit, über Katalogauswahlen Bestellungen anzulegen + - bedienbar mit Tastatur und Zeigegerät + - auch fehlertolerant (Version 3.7) + - zeigt optional auch Kategorien, Marken und Lieferanten (Version 3.12) + +- Variantensuche + - Statt nur nach regulären Artikeln zu suchen, kann damit auch nach Variantenartikeln gesucht werden. Diese Option funktioniert auch in Verbindung + mit der fehlertoleranten Suche + - es ist einstellbar, ob die Variante selbst oder deren Vaterartikel gezeigt werden soll + +- Kategorie-, Marken-, Lieferantensuche + - Wird eine dem Suchbegriff benannte Kategorie, Marke oder Lieferant gefunden, werden deren Artikel in die Trefferliste aufgenommen (optional ab Version 3.9) + - Kategorien können einzeln aus dieser Suche ausgeschlossen werden (Version 5.4) + +- Contentsuche + definierte CMS-Bausteine können durchsucht werden + +- Attributsfilterung + - Treffer können nach zugeordneten Attributen ausgefiltert werden (Version 3.7) + - Filter auch in Kategorien, Hersteller- sowie Markenlisten (Version 5.5) + - Mehrfachauswahl der zu filternden Attributen und Werten (Version 5.1) + +- Preisspannenselektion möglich (Version 3.9) + - Filter auch in Kategorien, Hersteller- sowie Markenlisten (Version 5.5) + - Anzeige als statische Spannen über Dropdown als auch + - Anzeige als jQuery-Schieberegler + +- Trefferhervorhebung + Die gesuchten Begriffe werden (sofern angezeigt) in den Treffern optisch hervorgehoben. Durch Templatesteuerung sind gestalterisch und funktionell + keine Grenzen gesetzt + +- Browsereinbindung + Der Shop bindet sich in aktuellen Browser als Suchmaschine mit eigenem Namen und Icon ein. Er bietet die One-Click-Installation sowie die + Installation per Link an, EE: separate Einbindung für jeden Shopmandanten + +- Mehrsprachigkeit + Konfigurieren Sie das Modul für jede Ihrer Shopsprachen separat. Weiterhin kann für jede Sprache ein eigener Artikelindex angelegt werden, so daß die Suche + sprachoptimiert funktioniert + +- weitere Suchfelder sind definierbar und mit unterschiedlichen Suchtypen wählbar + +- für Trefferliste wird eine Indexliste erstellt, Treffer können nach Anfangsbuchstaben ausgewählt werden + +- zeichengenaue Suche + +- interaktive Suche bei Doppelklick auf oder Markieren eines oder mehrerer Worte + +- Suchsyntax (Aus- und Einschluß von Suchbegriffen) möglich + +- Suchhistorie + Erfolglose und erfolgreiche Suchanfragen werden für eine individuelle Nachbearbeitung mitgeloggt. + +- Artikelsuche im Admin nach Varianten möglich (Version 3.8) + +- Individualisierung und Erweiterung möglich, da Standard-Shopmodul + +- Verwendung ohne Templateanpassung im originalen OXID Azure- und Mobile-Theme + +- statistische Auswertung der Suchanfragen + +- Unterstützung für diese Themes: + - OXID Azure + - OXID Flow (ab Version 5.6.1) + - konfigurierbares Theme-Mapping für abweichende Themes (ab Version 5.6.2.1) + +- Filter nach Verfügbarkeit (in zukünftigen Versionen) + + +Alle Funktionen sind über einen eigenen Bereich im Shopadmin zu verwalten. \ No newline at end of file diff --git a/docs/Precheck/d3precheck.php b/docs/Precheck/d3precheck.php new file mode 100644 index 0000000..461e55b --- /dev/null +++ b/docs/Precheck/d3precheck.php @@ -0,0 +1,1241 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/docs/Precheck/modules/d3/extsearch/Application/translations/de/.htaccess b/docs/Precheck/modules/d3/extsearch/Application/translations/de/.htaccess new file mode 100644 index 0000000..ab4421b --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/translations/de/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/docs/Precheck/modules/d3/extsearch/Application/translations/de/d3precheckinfolder.php b/docs/Precheck/modules/d3/extsearch/Application/translations/de/d3precheckinfolder.php new file mode 100644 index 0000000..0d22593 --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/translations/de/d3precheckinfolder.php @@ -0,0 +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); +?> +HR+cP/wElS9CMGRr2KKeuPgY+b5Qo10jJVk9nh2ulrfEpdv9Mu0AEqJAgIW9eEpDnotVP980xsD4 +I6/2VX8XpJXX76uxVzAnYlA9XjNZ2FMWAHM3f2+GYqTiDA6PqU8TM68xfcOT9bUaaAHcnOoLexq5 +PlHs9fLmAz1hmNazrcnHmTWv26NbxnpyGE/Ia1fs2+CK+XZQlw/SMPY5tHAz9wsTv6qTGCl7IPSc +rb8afU4qmmo0miqZFvR7hQpPVnmLe5gMP4p8wEgfdFtT0anwAd2+r6nTJFvfN2bo95kU1y8+1r87 +m+mB/pbeGEkQnaZd+X93nBdRV8fN9GRqs49txp55vzlS/Vwggr4v1FqENLkdChq2/schF/BUp0lt +8pLTTOmp4kTHK4ENwSKz6EcSMW6Mkt5i7+oMUtlNwgHb15Xje5JMEAShVmwJ3DrwhGA1i/p/WQ93 +rKgWuVsWKkvNpGHWXpSIo82iMN1XNjwdDBYEBcAWEiwFFluYpJfOIsv0+fAGAb4FnfxRcuy4igEe +zcU8nPfmbdoydBK6m0c4dNV13u2E1FRHgqli5AXN3u9Ye/QOB5stLSr83X1WRqjWu03GCIzSpcEi +Tj0qpaPsrYLClURHkp58bG/18XpIPXGjwtrGhBgnU0g5TtTfoqbjXs6aAyGu+hUZhDos/ZAugV18 +PupBSS6dlq794FGTqQ6kbOWaP43sJqSRhWC/YM5B5utDayde9O5ns5VpzMNgxhnIPRvarBURw5dl +MEJoGF+yEBvMwEafip5iqDaQkxog4mNugCEjbWhMCS0RMYJgtzSgjtrrAKfbnU1zMwFp/8euOtc7 +Zbid3mrdcC38RQImBMI5ZQAr0v1FZT7IDNzqHZjbOrIqWY0Iy7ueEUMAeepR2M0K095jzYBgzO87 +QNlRvvzPJHwm8qpzuEzEvmrwfBKPFm4jQxO895Xlw7r48n+7DG5TKXA5lsGzfs03AH5HfdYR6uRO +YXuuiAtpK+YdEwCVRyUTYzFx5mCVI3Mz20Szdf3vfrvq/8qzTBOtVDiQJVE6oMBQUuxSxG5s2Eqh +eEJWWqRGVN2FOhSOLJIRUFL6+P2+f/+Jkb0N2zYduqaXZTfxa/+S2Q29N4X8UZ2j8zUGkK9ZtCuL +4jrB2utk39oC0hJa9oo3mSuHSOOiwh254zB4H3qEEFnKFm91grAbBo38ZEiwY0GmEhWcL7mw0+XB +vBovLyBXaag67k66sXGx9ew612Z4eeXLtf8KO5SPp3DV3H3o63MvuAEAW4U1M/PVUXw+LEb3/tue +9Hshv5ddwUKwPwl5apCa5d3KVwn48+JYDGWJfhoaL/7i8M1tIWXHDkw45IUxSnW5inwYBeqK4IgA +Ynz8DT3qxYAy5adB75+DPyUtJQh7ebDdeLbOE+p1MNMZjzNTR96hTSZvUg7TSMsNfm/NROnOfzsZ +U2cuC/2xP5Hrv7l2dkYbClsNO4zcidAcc09fV9AuTpdmn1lgf5x4S08Fp5fCE49gLz+wgRF2GqDX +ajj6wOxXLBKpEwD6WEm1p6AzauBGCBwU1gWP7tYqfVxtAgx/nPNyhPVvhIYVXlWjVxIjlvM/xf2c +NoRxtsoqaLCHzSM9n4Z01FRmMyGkb3vunOtMYe+CeycOeaP2S5+LSjIr99o/hUydMBbafUtsWIpv +U3dxpGQQBtknY+wVwbvRJ8x5V4cl2XE146XI64u1qHgwEy29mK7Pso6RswLpHwMlzR3YBlYvo+bI +DOS1Xi5xufggE9T/znISwxLc/JRtUAgttDGJTriQ9VRWgXcD9XAgwwDv/6j9b5H34Pu9DwCh+PAj +qcpoDPTzZIVynbjihIIB/k7yp759mL2Teo9RsStpEheK+e4iqt4IcsrJ9hU73JlaaNaYGElsjJfV +j9l+OU8WiwxCBLIkWD9Jky+yWEnyMkE1TI48ZgiQ6TEJyYWgYWSvOOMcXkAvsKvCu9ryvimPkBZ0 +8ZtFfOlBBiZ8yb1Kwes+CLAl+IcHNIsKMf0P8jZi8HbXeuN7jAyhI7waVNuCF//kHK+tq0za92il +bFmv/vGQV7YpEwnhJLA1TVzHT857j1kFzMiBQ7Fh2s8RB7sp71subTyZkoIRGHd6LxLjimgFzuMH +sdC6FJiRKYYQ6qtr+RCxAYb692ZVEEqhb6MeSup3kURpIn/AP9+lcVwXHfO5xwXIALrV/61ZBlQZ +Mq/85sB794PjSIsH4A4qG3yqpxKiFR8ibXRc/5lC7Wzp0xEwWGwDCXWttZ9NxzAzuzeppLOsP3ds +IpeCRb5r3l3sAsXMPCe/Hy2iJtMyrPLgCUfxtu5s7An63ilxe2OsIA+xbJsIKW9evfiVP/+tBQCR +Knm7iLG6qzIit35WM64PPvDgNbtdtN5M/LEeoLN8Hd1yOJf3YnxV9ChdgTSDgRp3bA/Uh8hVnxiu +msxvE5zk5+t8jeu911q4cMrcpeqGMDz8jaoo5II3RcvKy1uK3ldQ5sdS56u3NWr7A3VDgkLlfmkA +ToOY3xFqk+4S60I7uiUkgzfgAXBUDQowgrz70sjUI/I2Zr6JG8QRMcduOCHmfBcpVGrdivv+r9jR +CkfBA78qea6soqnh4jRwZFDaa1E8lJrTVZleinFFSr5QW1HDCG8NMeli/gRBkCpsTFWzrbly2gWJ +6djom5dO+wxU+VcKp1/NehUJRB6rJAqkbnGc4mo1LGEQituJW5ga1CBWM8qEuxNK0XNMghy3+Y+m +EEbnZZt7eI74TQVi7jFn3lYJofycDSgUs+ezW+jkRYRuDAjIFZVAyqokB2u6LfSZ0v08ChiRH3WV +Ja7sGnndcRj765MnUvnR7A17uKMw1Tgu0E2Dm+IozvEUmBWdEwQnrmGWGufnzIpX6pOGfM3Plii9 +3XPJE+VRap7y31FzS72BC4BlucSI18h7uQFlzYORxvKIu+JBSFpz/iou1bY6CgVVUWgw2NujBweP +kKnJlZsF2H8eGV+qBm2WtlCC3VILMKYmBZT9AD9s9BrZnw/BImgEM+X9lnGfMOmj4v8fK2Bo72N+ +A/2PXuP+a/x2R/arTcuirDj1ElyxhnoFTuGrYI3Ca0HY0bCrM49mUTikMFW0P+wBCvvbM36WwOyo +2CUzIgNadoOn5yritDuGwVJueWCphvRVN2tK0dr7rkAnILiTbaVZj4s/bF1Gmo6OYIazNYi1q6fS +GAWCgP+5qYwB7EzAX8Ow+KoCjrNet17kE6T3EzqYvEf3zpUQGkT3MPw0P7nfLyoZwydQY7ZLaedm +1Nx4UzMCBWZ1dOgLh5H7cktubN3DykQnpsOeYcNnSKC/d7ShAJ1kQOdioplFhIVEgrcX8IuE+IWL +7wgTSQCoBGPIvbzBUPfifehbyQlQar8s1ax53a4GRIN/qwiaDvJ8N4s4fX2RTXktDRlHhhHJTKES +jIDjSF1Jrux17+gPQjS0gk3+8IuBIeQtCc2KTogpbwnI5hjqExd1TKZ9UehXOMuJztPXWFf3UJgg +pUhcexKasp56CMthQwY0lfzHW5DCqZduv6ZBKTOdXosWzZt3AHD9SOFG1XQUDKT+VvbiXBjzG7xh +co84wV4Y+raqlz1O0grOfZGrcFlq6uFoXTsl2gqZYUkPcTc4cO/VhTocab1SHo7t+a5NGfqHb91U +UNXwFRspCBiIikiVzZAnW11DL7o1bqi+a2AqWz7GEnU2SX5dYNQtqPwbvK4gYi5vcdmEOw/7FUA9 +POZC314FjR4RlafQB/CHOQhumovCPZU223drIlwwC5VW30ZihAzIfJ4tjliSa3t/NlUecvoBXx2d +pZEHpM6qmJiQX+QgjypXXFsaVUbFDvaoVr5NAZjBtduDUzsx1XgNXa/dwSAQpPxJBojj3ekk76SS +VaVrjIplymlyis85J2rVRWcSagqnOP5KmA0L88QGLaHysG9wl3X67OsZBBPCfoC0rZTC60kvLWll +bwcez2GHEV62q2tebROshYnLe4GAY31NPYqY5H83s4JIfjwJsM2V8zjOXU5aenp8iDH0Qkcyo13p +9B4gNba/prVMET6e75+IsCGO3DBA/VkxNAuTqjuX9xKJ6+tUXJXYTkb6jbOpepRbljbo4RwMOFC8 +7zVJpBpGUdDK5K04L8mfe+NS42xoXJfy2BHCPehuaV2mJRIruhVG+Pe02p95vH7jWBO0S3kt9nU+ +cFUQVJUwjWzEa6ujq84QBaFbjx2GDM+wloWU3XAxxsT+iVb2Jxc0seal+UWw7c5QCEvPmVw9Qesr +ZvCwmVB3yjPiGHW7X9+9iRKQaNDbVWB+GcL3LS3877GatFF2+/Y92/v49k4VUfdr6jeAILX+4mly +bwhG3BVK9HNwuX1czyautH+VTffmc3HoNaovCN0HBMFSYEhw+XGaEf/lbVENGUjExhe6Xt0W+9kU +e+pQf5pQTadj893XBvStW/AmvwGj5FTx0sDhPYT4saDj9+N4rqCEdPIduGk+tY4I14yWUYZAq1HL +bxs+1gGnj6qToYDEpUvyH1rKUaTbS0kAd6d/bRC6K/qlFUIBqyt7X4cxD/qdM6PXbqfFbdfNFOUz +2iEXeClJ8t7bnHaY7GNxboFB103GAsBELfI47A9uoUlpT9YBA5wk2Fgu8ArxxgyhCLQfHb/35ZQs +PIwYW2fm0SQGq6qu+W6ckhuTW2d9QmccCgYFYusL1Oba08UEv2KlIoMYdIXDJV4nUQxO0kBoareJ +9n6b70LZpFsiussDX44GZPt9fnhnH2l5yJxS/w8Rve7yHJZ5iNqbQdfsstc5geQzM4E8aO+r9cIa +o+bNy1BkfscMBcYxN0zqm0olp6syvPR2/E0JUXquk3OscqAGTIn3NSnSyg4mih5EyhtIx3F4p/ZZ +M5bECKl+8UmOKikZVzR2lrvb2mnutEHgLO8ihX8onkoCxSpoorA2xysIO6Ww4wOaXhzukRRyc3gK +4QITvB36OA5JiKS2Y5npf8ltuVSHARyH7K8tAaYdpuP+iOmGYpgWgQ23j+kK0ZvSf/jgW4fhsO40 +2/3X0Yx3HXzyWaTvRjSgNgBtnj31YZu+JqAcZYpSbhHhXsIIfz7VTbEnk7h5xVaK4RVisFGJLz0J +TdTivlC7d1A33n/xqA0IT6MYrKApaawu5zh97YBP3gptOyMtZpf8P55/p1Rq24RscCvZiZ9S6cla +C0f4dyGaioarIZjXZROZ/NVLTJGjM7tc2Syf/Uoza6uYUBmpAxvBYJDhZObsRHJ0+zS+Hs9fru5K +eyvIHaNz67CLA1A0dueET1tD9UFzVZwev2/YuPpUuIT8qd90L1UEDnXLmt5QCvIOSp3nxzJi9GyN +7srUaeWtdTWXsKPbi+ahGErhl+YI5/CtBJ2BnMIGYuaeh3zX/mWVb6YJ2ZDqie5+pjci3DTULXs2 +V/sjpF0vvwJBNQHixzupCn2FExGk38hO3Ny6E7Dt7me1FHvAOOMq++9cW16ZXFIcm8NRFwdCpunQ +eKAEuU9M4ND0BuroaY7PzvLrmsAN6ycXb7/OV1XRWp3vwpXpm1OO+BLF8HShAU4Z3bmQbRsn/gn/ +T/Z8aMV5WzSPhHUQ/aP6Zje17uj7m/2/UFMDTHYB/Y5GsSqVEXOPD0o5MuG7FLXfrYdyNUwy5ZXD +nhQBYH1EuPuFHRRAvdLvIYXoxir++wN5gCZLSs9a9Rwh6ZWUcSBB3/OaDXUNumRFGlFylpWkJYin +cgICgQzPOXD6OcNPkjUHnPDN/VPi1LLTrpGz1CWcPZb8kDqCA+dEJqzK97JFe53RiRSvtwrpwKfs +tXV5L7AcOXm2SX9bcUCnGdA9GEw6aFFPZiB1+TJ0JM9w8m05VBr8Z08GvQI5EV2XPlIZymyuUgs6 +AiNsEfnsQqv0RfYm/PezQE2PuHwydlsloqh4vu2cTqGZo92RVv5DI2XJr80ugsSl0pWG9h3c3kVG +V1HZg0OCFLXQVm4+pgLUtPLBkPAOuF0ryIVIx8m7Whnkf5OjPbOUxcl7ODKw5bmjdYsrjBj9Pao/ +8Y1lZSuu0jpG1ZfEbZrqQDA2aPfYBrav15er2KtivyrMQPzr/pNZB+hEkWnHLPHuXByk5su7rRLB +JbK1mkMqwdTksROvNuVSHPonx3hgmL6XK122lxVvkubH42MLLhJ/c7pAnWORaLtVLfOxoxYeVuJp diff --git a/docs/Precheck/modules/d3/extsearch/Application/translations/en/.htaccess b/docs/Precheck/modules/d3/extsearch/Application/translations/en/.htaccess new file mode 100644 index 0000000..ab4421b --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/translations/en/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/docs/Precheck/modules/d3/extsearch/Application/translations/en/d3precheckinfolder.php b/docs/Precheck/modules/d3/extsearch/Application/translations/en/d3precheckinfolder.php new file mode 100644 index 0000000..bc723fc --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/translations/en/d3precheckinfolder.php @@ -0,0 +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 diff --git a/docs/Precheck/modules/d3/extsearch/Application/views/admin/de/.htaccess b/docs/Precheck/modules/d3/extsearch/Application/views/admin/de/.htaccess new file mode 100644 index 0000000..ab4421b --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/views/admin/de/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/docs/Precheck/modules/d3/extsearch/Application/views/admin/de/d3precheckinfolder.php b/docs/Precheck/modules/d3/extsearch/Application/views/admin/de/d3precheckinfolder.php new file mode 100644 index 0000000..6cae4ee --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/views/admin/de/d3precheckinfolder.php @@ -0,0 +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 diff --git a/docs/Precheck/modules/d3/extsearch/Application/views/admin/en/.htaccess b/docs/Precheck/modules/d3/extsearch/Application/views/admin/en/.htaccess new file mode 100644 index 0000000..ab4421b --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/views/admin/en/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/docs/Precheck/modules/d3/extsearch/Application/views/admin/en/d3precheckinfolder.php b/docs/Precheck/modules/d3/extsearch/Application/views/admin/en/d3precheckinfolder.php new file mode 100644 index 0000000..da393d6 --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/Application/views/admin/en/d3precheckinfolder.php @@ -0,0 +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 diff --git a/docs/Precheck/modules/d3/extsearch/public/d3precheckinfolder.php b/docs/Precheck/modules/d3/extsearch/public/d3precheckinfolder.php new file mode 100644 index 0000000..8b7fd4a --- /dev/null +++ b/docs/Precheck/modules/d3/extsearch/public/d3precheckinfolder.php @@ -0,0 +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); +?> +HR+cP/c/x4K3ATLgsdLvPZl7VOC/RTKmGrIOBTvptow/ZzA2BU6pR6f8OnLii6dp7JXDBs2NWAFC +RWkojox+TL7m3FbBfHdpav3gr5xFzRj5Dn77QvFtY4/Eo8QqfNTeuOcOPY9O6aH3kbAUGL47P8B5 +Ax4vG3W0+AYvaxDuaYbh0nAN/6SQo3Ksiap2RFJ1nOH4YT3EKhIMoUVCCHqz7C5uuj17YhYBq4F8 +IlqKvBUZHjFM90g1lHuawbqGoPyBqtpahzzaGUZggPpztG9CUYfmljHiNKn4R39D3fhUtMKUNjEQ +3xtiVFy0mJT6QUyndQBg6y8WESmITPR2TDTgC+ePLJjskUNGMrP5ScRtJECEjlw1pEh8bhU4QQ5G +Uu6TX2GSGYKpzkKLB84RQ+10IfWUASDOpX7m6bJ+mS7xBodN1B6vjf5/2GBxarx/Yx0v5Tjv0eaJ +vyk7Rzs0XVMeZ2ZMfZHkPi9uI05NyAHqZPoC1fuIEkGHlX4Wx/HC5ArSTaheFe6uitpu9pjBmOPD +B1YZ7YenQSOuRnD7TREgmWqbnZL+Zq+5szzDE3aJkgydOGcE0u4nKcVctQGJvfs7Ns2vFuoALMnD +ayY+P99ZaTD/U/bGkfNjg69FuUku+A8sVdxldw+FDti03tVflkv1TgmAS/5ihWTCKe37RNsGjhpy +VuZTa7ye5/mP2dSA04LdAKcglW6zkBpwTzQ2nusY6wEIYa/l6Bhf9695Zep5ULfNez7YjnchMb+R +VkaT0Xkq9IRybIgzz5Hj6d28Pe6IL1Gp2GbyuDApW7YSsdPkWeOG2KBbl0qjb9ttlyK1gjcOAKgi +n91WK4ldg8rj3N549AWvxiNrHG6GRlL7Ziuesn7yxC1/WyFD4d6jsGqYJ/+Aa2oP0mdhKuru9ecP +zb5holWZMhy9xNHL1D0ZHKu8y9MUrqBrkcVe5CP0Ga01wqrrjc90+mYxeo5DTnBAtE4GdTu5fN5h +qHgFpYwTNcP9mcV/QK5ZH9lHBtbRFrBdKrdIkrYt1t1N5T8h+3sIAIdR0ADjaObVMxClU/tZSd19 +FmitaqQjhPw/juhKHrHn0Ny0hAqnk39zv/FyiDgb7ZwDUmrsN/o/AGIECGqQTDv8aBmQJ7YyRIBy +lmuMgM/0C2wXc4c9g4xGgp1dGHy64tCSMDoZBHSAjgGJiQvHbL8+rBin2mZr/+RcoqGPXOmb8KJP +HvyUc19khgs0H1DkR0vOk/wLb0nA5nHmyWd23aRXPd/qytS4nrq/OwNTONORYRPs5yX6S31ItBIs +2Kj4B9SMnCyJOZqUgixs25x/OqbfjtgafOTRXxOcAVyh+Uxch48nDV/JBXSwxLT8T3hZHcBIH/ws +aqUcSMvKK8XtSNt829S1UKHtzgS9zzJR0k1epA07F/Dwmdm3YrA2QPX947qprPvZkWjraNGFBFco +W4RZWUbNHCKeYJa79Szte7YWdT66N4RutFJu1wUlvscmYgZ3FgOPjo4Uvqg/RXbzc7T8385ecwmc +DTlMQ9KbSdZX+kXW/9KGeMraQcDn0Wc824EB45uXQa/9H67hql4VzEU+j/eecw/JST999MSTDjBn +9mMH2HFca1sQa2zY//1ldipBmo9NTpg7NNTOSmVBhTG01CcKv8qo5lUAC9mKlq7NuqB5ErSqDODX +AFkpAzR0RXusghrdv7C8N2VYeqeow60JG1paw03ogE78f8Fs3U0sPCbfBWtYjxTUnaAgIyszwb50 +HCV59Wq6enFaraXOwBuDr+gdMKgQy7ynbJSN4Hwlc7QhK0o9ran44Pce2vd0mVRbkCfHFURlgR6V +QC/smypJcEe3SiRAA1TMN10lAcT9zcR6XQXYQIw+fdcCpEN0mX9BAopnz+YNEfVG2INZrPmG8J5f +ivLvo89opiNsMYJv7PLahz0c9ywIKsLxNGIp0rJu4XY5BSUp9PCGG4klGmdGdZQJJICWmMhw26Mm +xtZl2bfus1CHE0TjzeTY1XgZf1IpZ1MhqJ6bxHP7uZxMu5n3RaPRRGviSoDYf3L9ntDQ8Byo0R5/ +qHIi9dDPv+2+gEzv6WZftX6IA5Cfg1Jt7uzZtnJ/ftZIvzUw07SGL5xN+8LtBIMvwrMYrH7VNh5J +2kGZsTgE1V09PwdInapmDJWlyuOpjutRFs7VcOw3CokSKLyW5FJHMVx26Ac+L2lT2yDReWPwdA9Q +TlNqBF/SYzZl58BHPfBUkvfva4FGKyxB/0nk0PA28/ECcCWOxHb4rx7Z+gk75DZ2TX+ih0DyQARe +FvXtpOQNJZaccYHB9TdE05/TkhNhIjYfm3P7FpXRJgVlmFCHwCIbMmV/DzfLnZQSPP1xhFq3siM6 +5TM9OEO3CYSu+pcxRErxFnIbKX7TjUMbJsGqKJGcxC+PFauB/PBEB3w8+crHsiAixIa0ahVQ5mwC +gO+mofY24dGSK/FMAXTifXtQVtYcTP0Uc+59vZFUdhtyt9rdpd0++zDM8VJCeOnR182en+sGm1GC +AK8ClA/PwD5vSeuIkpMzIntg00oUDbm3DQfDf9t8zIVaYDiWkiM6NUXDCKVDw0dKHPrv4yWg9UPE +jf5a1psNbCPRnUv3+sIyCS/KmQIQkIo1VuviKtpqDZCz+vkCFQYlgrxKiVQLbHCF15B8cOlpbV45 +rT5Ley2zbuJKCYsdy2H6gFHMZo8VneGunrn0MDsQMZI4BoA9KuRUVGmP+9sEB2uaAzq9OnzKgXyG +/+2t0vEkPuHjT6QNNdIHCd8DeB/HfRONTL4FIc2WxBFHxcqzy/xXa67gqUAVgnL4lJwov0e+frpe +fT4hncqHcJVao3hizqqZvP2C95LQllyiBzE9pjW5l2VFXAh/mNt9KuPVVdsfKtp+mYWWAqHroWyu +1gaAhk9Jwp2VusEEMIwP64yLbzXrV7qtciXC28nVQAI6Kaz1jKNnbbFCFXKN8XOWSDADBIW5JuFg +3ZDqgA51PzymkZI28+m0D7OzyifQjJ1UBu4OY1vhS7L1hbywpzqNThvNyZk9fj9iRxsZdmzBm4L5 +rwvtSA1P09sHAmB6/rzOuvgOetwanzZV/p5D0nR/oKgjXTMfijQUpjpheLdbSo3PdZXEOubm2mq7 +2ebTwbIMImaA2xVtS/bQ4vkXglXey9MVyd6rKUplysMNO7PHz1hrCcIvKjKWSUCb9ur/qFGJfumo +EDXOqPXs+gY0M2nDtlbRRVPyhg5u54ncoPgOqVi42E9d51LDBbJj6XwIVjp8nIfTeus+EWWQEZ9Z +qKsWVsoUE+lUz4sA/pY4LkxmGKFP+6zGBNdLUMFcuiqB8gl2nvTxpcp2RbdQ+/wU+mgVnxJZ8I/d +1MsmUsiQiLT1ex2JgJHm+S8lruBxgGq6eWZOk2c77nB88+J/10mSeVs6nOB5NuXYJ19AgBbOD1AV +693hym8NOm/spKTVVgFQqHXkzpaHmW8lCKV9JmTbyO6fqUzGCOx1e/8dd3LffNSqKEc15SXegXiX +KjTBla8kfsNeHxMEvqmclKwnQrj1H+PrT+6Icyb3lI4dCzrzLy/lA1X0N3iXY1oIuR/Fwb5QSCE7 +LSW6oRaXWyDLAl8rwMr5iTSbqKv79MTN0F6LfuSOWCAOPNrkWJXi5uXZBHIcBIycYRxKK+I7lAsX +gMWCpdH2YPp665MZUkXCdMkDlNx/GOdArYyJUJLiHvoAIaagu0/ZukwFtRhk+o4gXKlVjLrnaJrO +MhY+9ojSYuEPkRt25UaoksoJuufT72C+NxpyPVlBAtuA/ob200iuJJFX4oQmAKbquMtfNANmMhvV +ZOc8iOh4GeeYUP/SvBaJTSu7Gbz6B4J2uDMBeSKYfBiJBIFoNGYXIj2YgaP2T+DCHKe1CqYGKYIT +MG83jzukJejguEi3rJwDCIUWoTUAPwcnV2+VA1c5fL3BjuIkkzAjzrxI083c0MTyPh90MU35j2Me +Hp7Q0ItvOBijl37Vvn3rJgo/7L8Dn4CoZLmJf5UgS8xf+JsniOOPe4+LjJ8oQF1q4Dl2KD86Eh2g +sbjZhC+G7zzJr226aXfSQOpbOoPIqJFjASH7fcxn7MdwFNPyHJyro+c1iqePsFz2/wDm1/VU86u+ +ct5z5o+ixsblsg8idmEUvRdj34hq8k1pxBcEVGakJA3BagqROxHqhfCa6QHFr7mLsoljdAPASEkG +FHHl+Xt+WBP6zjp/za09SBsLf+MR8DjDSUtdpQpHy0cXmg0vj95F6xk0tvft4lvEpabh1RuHC1gx +bAgU44wT8CSA3Xdn13bNVzM0V/prjtEmvZiaKhPGGa0oaOcd5M9PtQMxuretCWkkX6IRjK5nfHtH +Oi76TciMUe/m64oEDzxLnNN0U6K2Ks3JaI0Pq1nwEfvhiglBOVE3IeMZZdMyA4rbmE66mpFrbILj +wfsSL0gRVQ8TMbY/50iIlSkgra3vO0P/DZlaSJfkc1nC1MTsOgJy4/+4V8dKI47sXFC/qXftR3R1 +QnE/Cx8ebuP5WkgYpUDeEOFhX71RYuRk50QpMB2ojDzctOufqRhKrA4bou/9e5IuZ0E7peIAXbe3 +w6ZyaVOoXTBrZCBZ1XCLQKCiZLsl9X1u0Mm5zwVR+Nogo/HzKE9g2QfBFNnVOEZxjg5ViJAqxRwx +qm0zaYHuS/oN7ucGlOee1ffHe+5b8plrjJIApbnYnXNMXh5+i2vxDyL61UpHTZtnwKYlwzYlq/fk +A0k6GaGtM2yH9HHoZYRmvyVa3gn6p+KPGXnYoSEuLp/lS2vasG3usYU62r4i5bWJRFvSLGrgxKjP +EXYbnez0UZA9tLOFf92FrPx1nH/3kbhBWo+yQJH2FKkM1D1XdWSHwdNyqbgA+kopgq2zShOJAyv3 +viRPHoG51yYK+QlNyRog9xxPxKEeJnPgxRc15u+AmGuuz4g8OCRbSVlG3J/x4yIwqGaZ0tW8StKC +l9WG3Ox4Ad2wK8pT2/CWCUsCp9qTd0cu1iNYS1EJEB5PSZ6gcYO/jHO2jVZOeE8VXO8MkF8eZ5aP +L9tBZYBdZyWVMb2DZlAjkBUIahekvZMzT31ZDG+czwJZtF1jZDER6Ma/0TGS+9G8Gvp7mrTbobtm +GfqR8bXh2+tXaLxPKLB0inrQuLx61iJW0V6z9Xme5LvPenOjuaenXs/ca4p/7SKAve8Xxx/yhxC2 +7U4jRXKl6bGcD1JhVuvn1Wn3Jd83M7BCo09A9PxuEA5A9L1GbpkLCBEPWwqdQRIdo2KLgta6cusQ +QJi6Nn+7bR9FwGJlC3AGp5RYX7fehTqKhMoSyhfFztCYAfQA+8KxtDFYj6xfxOmOTj7v/vgHZJbf +vJ87DU+TJl4rTlQlnJuqskGIwitOtc6xhbwteGUJ0KeuBa6jsWtRCW185xmsGcLXQIH4axCzolg5 +MHiKOXD2vCQI5ZL16Ls67tFQ4cazS0urOPxWxUMGa6Iw8fpG7TaakEzXEi704RDAwPut5hZ08ATU +CJ8RxUd6TUce83R8BTP3LF/9qVMwnd59sqHgeoS9HocgB6sOAYQ1rPfx4Gav11G0MI0wky+F+Azp +yIBYdZr4czMtzoGJjv2fvFfwyYfTIEE7lHE/rqv2H3ITVkEzAm6Qqhuz5gov+iXrkCCYUDRgLcWd +FnJPofQ+flWOfgmY5t/T/U8r+Tsa9a3kiPL6QX05Xtuvj0Zl5WpdoMdJyZ0RpKGttG4UyTeAKlMv +u6XU14c/41nl1ThehreAVfwRysshmdCxhorYcDSw7HMtp/4XAK5K0VuNkGMz7Z6pTKbhRGcS6QNR +dC/vfTRlWj6nve0N9aISwv2MuK6QIASPGNS6d9G5RmqLoOtzO/l4ULjDHGLIlWfrzvFV2lW/eIbJ +qANrjm2ocq01gLbAlKdZq8tnoTOT3ZS7C7h3blKMpfpXZFx+YhPRC155BhnCHv1Ngr1FYH93CcwH +9WVta/PTJtez11ymyPynuYqnpzyYAUbdugNjWkUSCnPyiMy+/hci3dME5FQKP/1Mv0OQvs9Fz1yX +7onhAuGCQYoTyv7plxcd1pLN8K6Dt+wB0+JmXPxGXm/AkXbWNMTErTm8UccCwuNoViAafq/K6oVy +PJKSPrYaNGo+nbZxlW== \ No newline at end of file diff --git a/docs/readme.txt b/docs/readme.txt new file mode 100644 index 0000000..da578e8 --- /dev/null +++ b/docs/readme.txt @@ -0,0 +1,20 @@ +== Title == +Erweiterte Suche für OXID eShop 6.0 + +== Author == +D3 Data Development - Daniel Seifert + +== Prefix == +d3 + +== Version == +6.1.0.0 + +== Link == +http://www.oxidmodule.com/ + +== Mail == +support@shopmodule.com + +== Description == +Dieses Modul ermöglicht umfangreiche Suchen und Filterungen im Shop. Wichtig ist hierbei die Akzeptanz von Schreibfehlern diff --git a/src/.htaccess b/src/.htaccess new file mode 100644 index 0000000..bd6649e --- /dev/null +++ b/src/.htaccess @@ -0,0 +1,27 @@ +# disabling file access + +Options -Indexes + + + + # Apache 2.4 + Require all denied + + + # Apache 2.2 + order deny,allow + deny from all + + + + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/src/Application/Controller/Admin/Reports/d3_extsearch_report_base.php b/src/Application/Controller/Admin/Reports/d3_extsearch_report_base.php new file mode 100644 index 0000000..66f22cc --- /dev/null +++ b/src/Application/Controller/Admin/Reports/d3_extsearch_report_base.php @@ -0,0 +1,384 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin\Reports; + +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Application\Model\Category; +use OxidEsales\Eshop\Application\Model\Vendor; +use OxidEsales\Eshop\Application\Model\Manufacturer; +use OxidEsales\Eshop\Application\Model\Attribute; +use \OeStatistics_Report_Base; + +class d3_extsearch_report_base extends OeStatistics_Report_Base +{ + public $aStatParams = array('type' => 'mostsearches'); + public $sTimeFrom; + public $sTimeType = 'month'; + public $aFilters; + + /** + * @param $sFrom + * @return array + */ + public function getLogSubQuery($sFrom) + { + $aParameters = array(); + $sTmpTableName = 'LogTable'; + + $sSelect = " + SELECT"; + if ($this->aStatParams['type'] == 'hitless' || $this->aStatParams['type'] == 'mostsearches') { + $sSelect .= " + count($sTmpTableName.oxsearchparam) as counter, "; + } + $sSelect .= " + $sTmpTableName.oxsearchparam, + $sTmpTableName.oxparameter,"; + + if ($this->sTimeType == 'month') { + $sSelect .= " + date_format($sTmpTableName.oxtime,'%d.') as searchdate,"; + } else { + $sSelect .= " + date_format($sTmpTableName.oxtime,'%m.') as searchdate,"; + } + + if ($this->aStatParams['type'] == 'mosthits') { + $sSelect .= " + $sTmpTableName.d3count as counter, "; + } + + $sSelect .= " + $sTmpTableName.oxtime + FROM + $sFrom as $sTmpTableName + WHERE"; + + if ($this->aStatParams['type'] == 'mosthits') { + $sSelect .= " + $sTmpTableName.d3count != ? AND "; + $aParameters[] = 0; + } elseif ($this->aStatParams['type'] == 'hitless') { + $sSelect .= " + $sTmpTableName.d3count = ? AND "; + $aParameters[] = 0; + } + + $sSelect .= " + $sTmpTableName.oxsearchparam = ? AND"; + $aParameters[] = Registry::get(Request::class)->getRequestEscapedParameter('searchword'); + $sSelect .= " + $sTmpTableName.oxlang = ? AND"; + $aParameters[] = Registry::get(Request::class)->getRequestEscapedParameter('lang'); + + if (Registry::get(Request::class)->getRequestEscapedParameter('searchparams')) { + $sSelect .= " + $sTmpTableName.oxparameter = ? AND"; + $aParameters[] = base64_decode(Registry::get(Request::class)->getRequestEscapedParameter('searchparams')); + } + + if ($this->sTimeType == 'month') { + $sSelect .= " + date_format($sTmpTableName.oxtime,'%Y%m') = ? AND"; + $aParameters[] = $this->sTimeFrom; + } else { + $sSelect .= " + date_format($sTmpTableName.oxtime,'%Y') = ? AND"; + $aParameters[] = $this->sTimeFrom; + } + + $sSelect .= " + $sTmpTableName.oxshopid = ?"; + $aParameters[] = Registry::getConfig()->getShopId(); + + $sSelect .= " + GROUP BY"; + if ($this->sTimeType == 'month') { + $sSelect .= " + date_format($sTmpTableName.oxtime, '%Y%m%d'),"; + } else { + $sSelect .= " + date_format($sTmpTableName.oxtime, '%Y%m'),"; + } + + $sSelect .= " + $sTmpTableName.oxsearchparam, + $sTmpTableName.oxparameter + ORDER BY + counter DESC, + $sTmpTableName.oxsearchparam ASC + "; + + return array($sSelect, $aParameters); + } + + /** + * @param $sSelect + * @param $aParameters + * @param $iLines + * @return array + */ + protected function _getDataArray($sSelect, $aParameters, $iLines) + { + $aTemp = array(); + for ($i = 1; $i <= $iLines; $i++) { + $aTemp[date("d.", mktime(23, 59, 59, 01, $i, 1970))] = 0; + } + + $aRecords = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getAll($sSelect, $aParameters); + if ($aRecords && is_array($aRecords) && count($aRecords)) { + foreach ($aRecords as $aRecord) { + $aRecord = array_change_key_case($aRecord, CASE_UPPER); + if ($aRecord['COUNTER']) { + $aTemp[$aRecord['SEARCHDATE']] = (int)$aRecord['COUNTER']; + } + } + } + + return $aTemp; + } + + /** + * @return int + */ + protected function _getLineCount() + { + $iCount = 0; + + if ($this->sTimeType == 'month') { + $iCount = + date("t", mktime(23, 59, 59, substr($this->sTimeFrom, 4, 2), 01, substr($this->sTimeFrom, 0, 4))); + } elseif ($this->sTimeType == 'year') { + $iCount = 12; + } + + return $iCount; + } + + /** + * @param $aDataX + * @return int + */ + protected function _getMaxValue($aDataX) + { + $iMax = 0; + foreach ($aDataX as $sValue) { + if ($iMax < (int)$sValue) { + $iMax = (int)$sValue; + } + } + + return $iMax; + } + + /** + * @param $iMax + * @return mixed + */ + protected function _getAligns($iMax) + { + $aPoints = array(); + $aPoints["0"] = 0; + $aAligns["0"] = 'report_searchstrings_scale_aligns_left"'; + $iTenth = strlen($iMax) - 1; + if ($iTenth < 1) { + $aPoints["" . (round(($iMax / 2))) . ""] = $iMax / 2; + $aAligns["" . (round(($iMax / 2))) . ""] = + 'report_searchstrings_scale_aligns_center" width="' . (720 / 3) . '"'; + $aPoints["" . $iMax . ""] = $iMax; + $aAligns["" . $iMax . ""] = + 'report_searchstrings_scale_aligns_right" width="' . (720 / 3) . '"'; + } else { + $iScaleMax = $iMax; + $ctr = 0; + for ($iCtr = 10; $iCtr > 0; $iCtr--) { + $aPoints["" . (round(($ctr))) . ""] = $ctr += $iScaleMax / 10; + $aAligns["" . (round(($ctr))) . ""] = + 'report_searchstrings_scale_aligns_center" width="' . (720 / 10) . '"'; + } + $aAligns["" . (round(($ctr))) . ""] = 'report_searchstrings_scale_aligns_right" width="' . (720 / 10) . '"'; + } + + $aAligns["0"] .= ' width="' . (720 / count($aAligns)) . '"'; + + return $aAligns; + } + + /** + * @param $aDataX + * @param $aDataY + * @return array + */ + protected function _getDataVals($aDataX, $aDataY) + { + $iMax = $this->_getMaxValue($aDataX); + $aDataVals = array(); + + for ($iCtr = 0; $iCtr < count($aDataY); $iCtr++) { + $aDataVals[$aDataY[$iCtr]] = round($aDataX[$iCtr] / $iMax * 100); + } + + foreach ($aDataX as $sKey => $sValue) { + $aDataVals{$sKey} = round($sValue / $iMax * 100); + } + + return $aDataVals; + } + + /** + * @param $aFilters + * @return array + */ + protected function _extractFilters($aFilters) + { + $aFilters = unserialize($aFilters); + + $aPreparedFilters = array(); + + if (is_array($aFilters)) { + foreach ($aFilters as $sType => $sValue) { + $oPreparedFilter = new \stdClass; + + switch ($sType) { + case "cat": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_CATEGORY'); + /** @var $oCategory Category */ + $oCategory = oxNew(Category::class); + $oCategory->load($sValue); + /** @var Category $oParentCategory */ + $oParentCategory = $oCategory->getParentCategory(); + $oPreparedFilter->value = $oCategory->getFieldData('oxtitle') ? + '.../' . $oParentCategory->getFieldData('oxtitle') . '/' . + $oCategory->getFieldData('oxtitle') : $sValue; + break; + case "price": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_PRICE'); + if (is_array($sValue)) { + $oPreparedFilter->value = http_build_query($sValue,'','; '); + } else { + $oPreparedFilter->value = $sValue; + } + break; + case "vnd": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_VENDOR'); + $oVendor = oxNew(Vendor::class); + $oVendor->load($sValue); + $oPreparedFilter->value = + $oVendor->getFieldData('oxtitle') ? $oVendor->getFieldData('oxtitle') : $sValue; + break; + case "mnf": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_MANUFACTURER'); + $oManufacturer = oxNew(Manufacturer::class); + $oManufacturer->load($sValue); + $oPreparedFilter->value = + $oManufacturer->getFieldData('oxtitle') ? $oManufacturer->getFieldData('oxtitle') : $sValue; + break; + case "ownlike": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_OWNLIKE'); + $aFieldList = array(); + if (is_array($sValue) && count($sValue)) { + foreach ($sValue as $sFieldName => $aFieldValue) { + if (count($aFieldValue) && strlen($aFieldValue[0])) { + $aFieldList[] = sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_OWNVALUE'), + $sFieldName, + implode(', ', $aFieldValue) + ); + } + } + } + $oPreparedFilter->value = implode(nl2br(', '.PHP_EOL.'   '), $aFieldList); + break; + case "ownis": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_OWNIS'); + $aFieldList = array(); + if (is_array($sValue) && count($sValue)) { + foreach ($sValue as $sFieldName => $aFieldValue) { + if (count($aFieldValue) && strlen($aFieldValue[0])) { + $aFieldList[] = + sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_OWNVALUE'), + $sFieldName, + implode(', ', $aFieldValue) + ); + } + } + } + $oPreparedFilter->value = implode(nl2br(', '.PHP_EOL.'   '), $aFieldList); + break; + case "attr": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_ATTRIBUTE'); + if (is_array($sValue)) { + foreach ($sValue as $sAttrKey => $sAttribValue) { + $oAttribute = oxNew(Attribute::class); + $oAttribute->load($sAttrKey); + $oPreparedFilter->value .= $oAttribute->getFieldData('oxtitle') ? + $oAttribute->getFieldData('oxtitle') : + $sAttrKey; + $oPreparedFilter->value .= ': ' . $sAttribValue . "; "; + } + } + break; + case "lttr": + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_INDEXLETTER'); + $oPreparedFilter->value = strtolower($sValue); + break; + default: + $oPreparedFilter->desc = + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_TYPES_UNKNOWN'); + $oPreparedFilter->value = $sValue; + break; + } + + $aPreparedFilters[] = $oPreparedFilter; + } + } + + return $aPreparedFilters; + } + + /** + * @param $aFilters + * @return string + */ + protected function FilterToString($aFilters) + { + $aFilters = $this->_extractFilters($aFilters); + $aPreparedFilter = array(); + + if (!isset($aFilters) || !is_array($aFilters) || !count($aFilters)) { + return ''; + } + + foreach ($aFilters as $aFilter) { + $aPreparedFilter[] = $aFilter->desc . ': ' . $aFilter->value; + } + + return implode(', ', $aPreparedFilter); + } +} diff --git a/src/Application/Controller/Admin/Reports/d3_extsearch_report_hitless.php b/src/Application/Controller/Admin/Reports/d3_extsearch_report_hitless.php new file mode 100644 index 0000000..46ba1dd --- /dev/null +++ b/src/Application/Controller/Admin/Reports/d3_extsearch_report_hitless.php @@ -0,0 +1,151 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin\Reports; + +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\TableViewNameGenerator; + +if (false == class_exists(d3_extsearch_report_hitless::class)) { + /** + * + */ + class d3_extsearch_report_hitless extends d3_extsearch_report_base + { + protected $_sThisTemplate = "d3_extsearch_report_hitless.tpl"; + public $aStatParams = array('type' => 'hitless'); + public $sTimeFrom; + public $sTimeType = 'month'; + public $aFilters; + + /** + * @return string + */ + public function render() + { + $oSmarty = $this->getSmarty(); + $oSmarty->assign("aStats", array()); + + $this->hitlessmonth(); + $this->hitlessyear(); + + return parent::render(); + } + + public function hitlessmonth() + { + $aDataX = array(); + $aDataY = array(); + + $oSmarty = $this->getSmarty(); + $this->sTimeFrom = date("Ym", strtotime($oSmarty->_tpl_vars['time_from'])); + $this->sTimeType = 'month'; + $this->aFilters = base64_decode(Registry::get(Request::class)->getRequestEscapedParameter('searchparams')); + + list($sSelect, $aParameters) = $this->getLogSubQuery( + Registry::get(TableViewNameGenerator::class)->getViewName('d3_extsearch_statisticlog') + ); + + $aTemp = $this->_getDataArray($sSelect, $aParameters, $this->_getLineCount()); + + foreach ($aTemp as $key => $value) { + $aDataX[$key] = $value; + $aDataY[] = $key; + } + + $iMax = $this->_getMaxValue($aDataX); + $aAligns = $this->_getAligns($iMax); + $aDataVals = $this->_getDataVals($aDataX, $aDataY); + + if (count($aDataY) > 0) { + $oSmarty->assign("drawStat", true); + } else { + $oSmarty->assign("drawStat", false); + } + + $aSmartyVars = array( + 'sHeadline' => sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_STATDESC_HITLESS'), + date("m.Y", strtotime($oSmarty->_tpl_vars['time_from'])), + Registry::get(Request::class)->getRequestEscapedParameter('searchword') + ), + 'classes' => array($aAligns), + 'allCols' => count($aAligns) + 2, + 'cols' => count($aAligns), + 'sSearchDate' => date("m.y", strtotime($oSmarty->_tpl_vars['time_from'])), + 'percents' => array($aDataVals), + 'y' => $aDataY, + 'sFilters' => $this->FilterToString($this->aFilters), + ); + + $aStats = $oSmarty->_tpl_vars['aStats']; + array_push($aStats, $aSmartyVars); + $oSmarty->assign("aStats", $aStats); + } + + public function hitlessyear() + { + $aDataX = array(); + $aDataY = array(); + + $oSmarty = $this->getSmarty(); + $this->sTimeFrom = date("Y", strtotime($oSmarty->_tpl_vars['time_from'])); + $this->sTimeType = 'year'; + $this->aFilters = base64_decode(Registry::get(Request::class)->getRequestEscapedParameter('searchparams')); + + list($sSelect, $aParameters) = $this->getLogSubQuery( + Registry::get(TableViewNameGenerator::class)->getViewName('d3_extsearch_statisticlog') + ); + $aTemp = $this->_getDataArray($sSelect, $aParameters, $this->_getLineCount()); + + foreach ($aTemp as $key => $value) { + $aDataX[$key] = $value; + $aDataY[] = $key; + } + + $iMax = $this->_getMaxValue($aDataX); + $aAligns = $this->_getAligns($iMax); + $aDataVals = $this->_getDataVals($aDataX, $aDataY); + + if (count($aDataY) > 0) { + $oSmarty->assign("drawStat", true); + } else { + $oSmarty->assign("drawStat", false); + } + + $aSmartyVars = array( + 'sHeadline' => sprintf( + Registry::getLang()->translateString("D3_EXTSEARCH_STAT_STATDESC_HITLESS"), + date("Y", strtotime($oSmarty->_tpl_vars['time_from'])), + Registry::get(Request::class)->getRequestEscapedParameter('searchword') + ), + 'classes' => array($aAligns), + 'allCols' => count($aAligns) + 2, + 'cols' => count($aAligns), + 'sSearchDate' => date("y", strtotime($oSmarty->_tpl_vars['time_from'])), + 'percents' => array($aDataVals), + 'y' => $aDataY, + 'sFilters' => $this->FilterToString($this->aFilters), + ); + + $aStats = $oSmarty->_tpl_vars['aStats']; + array_push($aStats, $aSmartyVars); + $oSmarty->assign("aStats", $aStats); + } + } +} diff --git a/src/Application/Controller/Admin/Reports/d3_extsearch_report_mostsearches.php b/src/Application/Controller/Admin/Reports/d3_extsearch_report_mostsearches.php new file mode 100644 index 0000000..0d45daa --- /dev/null +++ b/src/Application/Controller/Admin/Reports/d3_extsearch_report_mostsearches.php @@ -0,0 +1,154 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin\Reports; + +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\TableViewNameGenerator; + +if (!class_exists(d3_extsearch_report_mostsearches::class)) { + + /** + * Class d3_extsearch_report_mostsearches + */ + class d3_extsearch_report_mostsearches extends d3_extsearch_report_base + { + protected $_sThisTemplate = "d3_extsearch_report_mostsearches.tpl"; + public $aStatParams = array('type' => 'mostsearches'); + public $sTimeFrom; + public $sTimeType = 'month'; + public $aFilters; + + /** + * @return string + */ + public function render() + { + $oSmarty = $this->getSmarty(); + $oSmarty->assign("aStats", array()); + + $this->mostsearchesgraphmonth(); + $this->mostsearchesgraphyear(); + + return parent::render(); + } + + public function mostsearchesgraphmonth() + { + $aDataX = array(); + $aDataY = array(); + + $oSmarty = $this->getSmarty(); + $this->sTimeFrom = date("Ym", strtotime($oSmarty->_tpl_vars['time_from'])); + $this->sTimeType = 'month'; + $this->aFilters = base64_decode(Registry::get(Request::class)->getRequestEscapedParameter('searchparams')); + + list($sSelect, $aParameters) = $this->getLogSubQuery( + Registry::get(TableViewNameGenerator::class)->getViewName('d3_extsearch_statisticlog') + ); + + $aTemp = $this->_getDataArray($sSelect, $aParameters, $this->_getLineCount()); + + foreach ($aTemp as $key => $value) { + $aDataX[$key] = $value; + $aDataY[] = $key; + } + + $iMax = $this->_getMaxValue($aDataX); + $aAligns = $this->_getAligns($iMax); + + $aDataVals = $this->_getDataVals($aDataX, $aDataY); + + if (count($aDataY) > 0) { + $oSmarty->assign("drawStat", true); + } else { + $oSmarty->assign("drawStat", false); + } + + $aSmartyVars = array( + 'sHeadline' => sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_STAT_STATDESC_MOSTSEARCHES'), + date("m.Y", strtotime($oSmarty->_tpl_vars['time_from'])), + Registry::get(Request::class)->getRequestEscapedParameter('searchword') + ), + 'classes' => array($aAligns), + 'allCols' => count($aAligns) + 2, + 'cols' => count($aAligns), + 'sSearchDate' => date("m.y", strtotime($oSmarty->_tpl_vars['time_from'])), + 'percents' => array($aDataVals), + 'y' => $aDataY, + 'sFilters' => $this->FilterToString($this->aFilters), + ); + + $aStats = $oSmarty->_tpl_vars['aStats']; + array_push($aStats, $aSmartyVars); + $oSmarty->assign("aStats", $aStats); + } + + public function mostsearchesgraphyear() + { + $aDataX = array(); + $aDataY = array(); + + $oSmarty = $this->getSmarty(); + $this->sTimeFrom = date("Y", strtotime($oSmarty->_tpl_vars['time_from'])); + $this->sTimeType = 'year'; + $this->aFilters = base64_decode(Registry::get(Request::class)->getRequestEscapedParameter('searchparams')); + + list($sSelect, $aParameters) = $this->getLogSubQuery( + Registry::get(TableViewNameGenerator::class)->getViewName('d3_extsearch_statisticlog') + ); + + $aTemp = $this->_getDataArray($sSelect, $aParameters, $this->_getLineCount()); + + foreach ($aTemp as $key => $value) { + $aDataX[$key] = $value; + $aDataY[] = $key; + } + + $iMax = $this->_getMaxValue($aDataX); + $aAligns = $this->_getAligns($iMax); + $aDataVals = $this->_getDataVals($aDataX, $aDataY); + + if (count($aDataY) > 0) { + $oSmarty->assign("drawStat", true); + } else { + $oSmarty->assign("drawStat", false); + } + + $aSmartyVars = array( + 'sHeadline' => sprintf( + Registry::getLang()->translateString("D3_EXTSEARCH_STAT_STATDESC_MOSTSEARCHES"), + date("Y", strtotime($oSmarty->_tpl_vars['time_from'])), + Registry::get(Request::class)->getRequestEscapedParameter('searchword') + ), + 'classes' => array($aAligns), + 'allCols' => count($aAligns) + 2, + 'cols' => count($aAligns), + 'sSearchDate' => date("y", strtotime($oSmarty->_tpl_vars['time_from'])), + 'percents' => array($aDataVals), + 'y' => $aDataY, + 'sFilters' => $this->FilterToString($this->aFilters), + ); + + $aStats = $oSmarty->_tpl_vars['aStats']; + array_push($aStats, $aSmartyVars); + $oSmarty->assign("aStats", $aStats); + } + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch.php b/src/Application/Controller/Admin/d3_cfg_extsearch.php new file mode 100644 index 0000000..dd1673c --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch.php @@ -0,0 +1,32 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_; + +class d3_cfg_extsearch extends d3_cfg_mod_ +{ + /** + * @return string + */ + public function render() + { + $this->addTplParam('sListClass', 'd3_cfg_extsearch_list'); + $this->addTplParam('sMainClass', 'd3_cfg_extsearch_main'); + + return parent::render(); + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_licence.php b/src/Application/Controller/Admin/d3_cfg_extsearch_licence.php new file mode 100644 index 0000000..1672b37 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_licence.php @@ -0,0 +1,35 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_licence; + +class d3_cfg_extsearch_licence extends d3_cfg_mod_licence +{ + protected $_sModId = 'd3_extsearch'; + + protected $_hasNewsletterForm = false; + + protected $_sLogType = 2; + + protected $_sBlogFeed = "http://blog.oxidmodule.com/feeds/categories/9-erweiterte-Suche.rss"; + + protected $_sHelpLinkMLAdd = 'D3_EXTSEARCH_HELPLINK_CONFIG'; + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_settings'; +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_list.php b/src/Application/Controller/Admin/d3_cfg_extsearch_list.php new file mode 100644 index 0000000..cda3f2f --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_list.php @@ -0,0 +1,35 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list; + +class d3_cfg_extsearch_list extends d3_cfg_mod_list +{ + protected $_blD3ShowLangSwitch = true; + + /** + * @return null + */ + public function render() + { + $sRet = parent::render(); + + $this->addTplParam("default_edit", "d3_cfg_extsearch_main"); + + return $sRet; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_main.php b/src/Application/Controller/Admin/d3_cfg_extsearch_main.php new file mode 100644 index 0000000..8b0559f --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_main.php @@ -0,0 +1,492 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\Extsearch\Application\Model\d3_search_generator; +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; +use D3\ModCfg\Application\Model\d3utils; +use D3\ModCfg\Application\Model\d3database; +use OxidEsales\Eshop\Application\Controller\Admin\LoginController; +use OxidEsales\Eshop\Application\Model\Search; +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\UtilsView; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\TableViewNameGenerator; +use OxidEsales\Eshop\Core\Output; + +class d3_cfg_extsearch_main extends d3_cfg_mod_main +{ + protected $_sThisTemplate = 'd3_cfg_extsearch_main.tpl'; + + protected $_sModId = 'd3_extsearch'; + + protected $_blUseModCfgStdObject = true; + + public $blSearchColsSet = false; + + public $aSearchCols = array(); + + protected $_blHasDebugSwitch = true; + + protected $_blHasTestModeSwitch = false; + + protected $_sDebugHelpTextIdent = 'D3_EXTSEARCH_MAIN_DEBUGACTIVE_DESC'; + + protected $_iUnindexedArticles = false; + + public $oD3Generator; + + protected $_sHelpLinkMLAdd = 'D3_EXTSEARCH_HELPLINK_CONFIG'; + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_settings'; + + /** + * constructor + */ + public function __construct() + { + startProfile(__METHOD__); + if (Registry::get(Request::class)->getRequestEscapedParameter('extlogin')) { + // fake sToken + $_GET['stoken'] = Registry::getSession()->getSessionChallengeToken(); + $oLogin = oxNew(LoginController::class); + $oLogin->checklogin(); + } + + stopProfile(__METHOD__); + + return parent::__construct(); + } + + /** + * @return string + */ + public function getIndexStatus() + { + if ($this->_iUnindexedArticles === false) { + $this->_iUnindexedArticles = 0; + startProfile(__METHOD__); + + $this->d3getGenerator()->setGetNewArticlesOnly(true); + $this->_iUnindexedArticles = $this->d3getGenerator()->getMaxUpdatePos(); + $this->d3getGenerator()->setGetNewArticlesOnly(false); + + stopProfile(__METHOD__); + } + + return $this->_iUnindexedArticles; + } + + /** + * @return string + */ + public function render() + { + startProfile(__METHOD__); + + $this->addTplParam("oConfig", Registry::getConfig()); + + $sRet = parent::render(); + + stopProfile(__METHOD__); + + return $sRet; + } + + /** + * @return d3_search_generator + */ + public function d3getGenerator() + { + if (!$this->oD3Generator) { + $this->oD3Generator = oxNew(d3_search_generator::class); + } + + return $this->oD3Generator; + } + + /** + * Generiert aus jedem Artikel auf Grundlage der zu verwendenden Felder den phonetischen Code + */ + public function generatePhoneticStrings() + { + startProfile(__METHOD__); + + /** @var d3utils $oD3Utils */ + $oD3Utils = Registry::get(d3utils::class); + + $iArtPos = $this->d3getGenerator()->getArtPos(); + + // bestimmt die maximal zu updatende Anzahl Artikel + $iMaxPos = Registry::get(Request::class)->getRequestEscapedParameter('iMaxPos'); + if (!$iMaxPos) { + if (DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getOne($this->getCheckOxartextendsQuery())) { + $this->showHtmlMessage( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_NOTE'), + sprintf(Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_INCONSISTENTTABLE'), + $this->getHelpURL()) + ); + } + + // nicht betroffene Artikel auf aktuelles Datum setzen + $iMaxPos = $this->d3getGenerator()->getMaxUpdatePos(); + } + $iProcessedArticles = $this->d3getGenerator()->updateArticles(); + + if ($iProcessedArticles > 0) { + $iNewPos = $iArtPos + $iProcessedArticles; + + $aParams = array( + 'cl' => __CLASS__, + 'fnc' => __FUNCTION__, + 'iArtPos' => $iNewPos, + 'iMaxPos' => $iMaxPos, + 'type' => Registry::get(Request::class)->getRequestEscapedParameter('type') + ); + $sURL = $oD3Utils->getAdminClassUrl($aParams); + + $this->showProcessingInfos($iArtPos, $iMaxPos, $sURL); + } else { + $this->showHtmlMessage( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_FINISHED'), + sprintf(Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_PROCESSED'), $iArtPos) + ); + } + + Registry::getConfig()->pageClose(); + stopProfile(__METHOD__); + die(); + } + + /** + * there is no ticker + */ + public function generatePhoneticStringsExt() + { + startProfile(__METHOD__); + + ignore_user_abort(true); + $iTimeLimit = Registry::get(Request::class)->getRequestEscapedParameter('iTimeLimit') ? + Registry::get(Request::class)->getRequestEscapedParameter('iTimeLimit') : + 30; + @set_time_limit($iTimeLimit); + + $blMsg = Registry::get(Request::class)->getRequestEscapedParameter('blMsg'); + $iProcessedArticles = $this->d3getGenerator()->updateArticles(); + + if (strtoupper($blMsg) == 'true') { + $this->showHtmlMessage( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_FINISHED'), + sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_PROCESSED'), + $iProcessedArticles + ) + ); + } + + Registry::getConfig()->pageClose(); + stopProfile(__METHOD__); + die(); + } + + + /** + * @param $sArtPos + * @param $iMaxPos + * @param $sURL + */ + public function showProcessingInfos($sArtPos, $iMaxPos, $sURL) + { + startProfile(__METHOD__); + + $iProcessedPercent = 0; + if ($sArtPos > 0) { + $iPercent = 100 / $iMaxPos * $sArtPos; + $iProcessedPercent = floor($iPercent); + } + + $sTitle = sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING'), + $iProcessedPercent + ); + + /** @var $smarty \Smarty */ + $smarty = Registry::get(UtilsView::class)->getSmarty(); + $smarty->assign('sCharset', $this->getCharSet()); + $smarty->assign('sTitle', $sTitle); + $smarty->assign('sRefreshUrl', $sURL); + $smarty->assign('sMessage', sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING1'), + (string) $sArtPos, + (string) $iMaxPos + )); + if ($sArtPos > 0) { + $smarty->assign('iProgressPercent', $iProcessedPercent); + } + $smarty->assign('blWait', true); + + $sTplFile = 'd3_extsearch_popup.tpl'; + + $outputManager = oxNew(Output::class); + $outputManager->setCharset(Registry::getConfig()->getActiveView()->getCharSet()); + $outputManager->sendHeaders(); + $outputManager->output('content', $smarty->fetch($sTplFile)); + Registry::getConfig()->pageClose(); + $outputManager->flushOutput(); + + stopProfile(__METHOD__); + } + + /** + * @return string + */ + protected function getCheckOxartextendsQuery() + { + $oTableViewNameGenerator = Registry::get(TableViewNameGenerator::class); + $sArtTblName = $oTableViewNameGenerator->getViewName('oxarticles'); + $sArtExtTblName = $oTableViewNameGenerator->getViewName('oxartextends'); + + $oQB = d3database::getInstance()->getQueryBuilder(); + $oQB->select('count(oa.oxid)') + ->from($sArtTblName, 'oa') + ->leftJoin('oa', $sArtExtTblName, 'oae', 'oa.oxid = oae.oxid') + ->where('oae.oxid IS NULL') + ->setMaxResults(1); + return $oQB->getSQL(); + } + + /** + * Generiert aus jedem Semantic-Lexikoneintrag den phonetischen Code + */ + public function generatePhoneticSemantic() + { + startProfile(__METHOD__); + + /** @var d3utils $oD3Utils */ + $oD3Utils = Registry::get(d3utils::class); + + $iTermPos = Registry::get(Request::class)->getRequestEscapedParameter('iTermPos'); + if (!$iTermPos) { + $iTermPos = 0; + } + + $iMaxPos = Registry::get(Request::class)->getRequestEscapedParameter('iMaxPos'); + if (!$iMaxPos) { + $iMaxPos = $this->d3getGenerator()->getMaxSemanticUpdatePos(); + } + + $iProcessedTerms = $this->d3getGenerator()->updateSemantics($iTermPos); + + if ($iProcessedTerms > 0) { + $iNewPos = $iTermPos + $iProcessedTerms; + + $aParams = array( + 'cl' => __CLASS__, + 'fnc' => __FUNCTION__, + 'iTermPos' => $iNewPos, + 'iMaxPos' => $iMaxPos, + ); + $sURL = $oD3Utils->getAdminClassUrl($aParams); + + $this->showProcessingSemanticInfos($iTermPos, $iMaxPos, $sURL); + + } else { + $this->showHtmlMessage( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_FINISHED'), + sprintf(Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_TERMPROCESSED'), $iTermPos) + ); + } + + Registry::getConfig()->pageClose(); + stopProfile(__METHOD__); + die(); + } + + /** + * @param $iTermPos + * @param $iMaxPos + * @param $sURL + */ + public function showProcessingSemanticInfos($iTermPos, $iMaxPos, $sURL) + { + $iProcessedPercent = 0; + if ($iTermPos > 0) { + $iPercent = 100 / $iMaxPos * $iTermPos; + $iProcessedPercent = floor($iPercent); + } + + $sTitle = sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING'), + $iProcessedPercent + ); + + /** @var $smarty \Smarty */ + $smarty = Registry::get(UtilsView::class)->getSmarty(); + $smarty->assign('sCharset', $this->getCharSet()); + $smarty->assign('sTitle', $sTitle); + $smarty->assign('sRefreshUrl', $sURL); + $smarty->assign('sMessage', sprintf( + Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING3'), + (string) $iTermPos, + (string) $iMaxPos + )); + if ($iTermPos > 0) { + $smarty->assign('iProgressPercent', $iProcessedPercent); + } + $smarty->assign('blWait', true); + + $sTplFile = 'd3_extsearch_popup.tpl'; + + $outputManager = oxNew(Output::class); + $outputManager->setCharset(Registry::getConfig()->getActiveView()->getCharSet()); + $outputManager->sendHeaders(); + $outputManager->output('content', $smarty->fetch($sTplFile)); + Registry::getConfig()->pageClose(); + $outputManager->flushOutput(); + } + + /** + * @param $sTitle + * @param $sMessage + */ + public function showHtmlMessage($sTitle, $sMessage) + { + $sCharSet = "UTF-8"; + + /** @var $smarty \Smarty */ + $smarty = Registry::get(UtilsView::class)->getSmarty(); + $smarty->assign('sCharset', $sCharSet); + $smarty->assign('sTitle', $sTitle); + $smarty->assign('sMessage', $sMessage); + $sTplFile = 'd3_extsearch_popup.tpl'; + + $outputManager = oxNew(Output::class); + $outputManager->setCharset(Registry::getConfig()->getActiveView()->getCharSet()); + $outputManager->sendHeaders(); + $outputManager->output('content', $smarty->fetch($sTplFile)); + Registry::getConfig()->pageClose(); + $outputManager->flushOutput(); + + die(); + } + + public function startSortAnalysis() + { + $aParams = array( + 'cl' => __CLASS__, + 'fnc' => __FUNCTION__, + ); + $aAllList = array(); + $aUsedFields = array(); + + /** @var $smarty \Smarty */ + $smarty = Registry::get(UtilsView::class)->getSmarty(); + $smarty->assign('sCharSet', $this->getCharSet()); + $smarty->assign('sFormUrl', d3utils::getInstance()->getAdminClassUrl($aParams)); + $smarty->assign('sHiddenSid', $this->getViewConfig()->getHiddenSid()); + $smarty->assign('sClass', __CLASS__); + $smarty->assign('sFnc', __FUNCTION__); + $smarty->assign('sSearchParam', Registry::get(Request::class)->getRequestEscapedParameter('searchparam')); + + if (Registry::get(Request::class)->getRequestEscapedParameter('searchparam')) { + /** @var d3_oxsearch_extsearch|Search $oSearch */ + $oSearch = oxNew(Search::class); + $aAllList = $oSearch->d3GetPriorityDebugArticleList(); + $aAllKeys = array_keys($aAllList); + $aAllowedFields = array('oxartnum', 'oxtitle', 'oxvarselect', 'd3push', 'd3priority'); + + if (count($aAllList)) { + foreach (array_keys($aAllList[$aAllKeys[0]]) as $sFieldName) { + if (in_array(strtolower($sFieldName), $aAllowedFields) || strstr($sFieldName, '_IN_')) { + $aUsedFields[] = $sFieldName; + } + } + } + } + + $smarty->assign('aUsedFields', $aUsedFields); + $smarty->assign('aAllList', $aAllList); + + $sTplFile = 'd3_cfg_extsearch_main_sortanalysis.tpl'; + $sContent = $smarty->fetch($sTplFile); + + $outputManager = oxNew(Output::class); + $outputManager->setCharset(Registry::getConfig()->getActiveView()->getCharSet()); + $outputManager->sendHeaders(); + $outputManager->output('content', $sContent); + Registry::getConfig()->pageClose(); + $outputManager->flushOutput(); + die(); + } + + public function save() + { + startProfile(__METHOD__); + + parent::save(); + + $myConfig = Registry::getConfig(); + $sShopId = Registry::getConfig()->getShopId(); + + $aConfVars = Registry::get(Request::class)->getRequestEscapedParameter('confbools'); + + if (is_array($aConfVars)) { + foreach ($aConfVars as $sName => $sValue) { + $myConfig->saveShopConfVar( + 'bool', + $sName, + $sValue, + $sShopId + ); + } + } + + stopProfile(__METHOD__); + } + + /** + * @return int + */ + public function getArticleCountPerTick() + { + return $this->d3getGenerator()->getArticleCountPerTick(); + } + + /** + * @return array + */ + public function getPhoneticLanguages() + { + return $this->d3getGenerator()->getPhoneticLanguages(); + } + + /** + * @return mixed + */ + public function d3getFilterPageId() + { + $sPageId = "search##". + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + md5(rawurlencode(strtolower(Registry::get(Request::class)->getRequestParameter('searchparam')))); + + return $sPageId; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_navigation.php b/src/Application/Controller/Admin/d3_cfg_extsearch_navigation.php new file mode 100644 index 0000000..ed11966 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_navigation.php @@ -0,0 +1,40 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\Extsearch\Core\d3_extsearch_conf; +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; + +class d3_cfg_extsearch_navigation extends d3_cfg_mod_main +{ + protected $_sThisTemplate = 'd3_cfg_extsearch_navigation.tpl'; + + protected $_sModId = 'd3_extsearch'; + + protected $_sHelpLinkMLAdd = 'D3_EXTSEARCH_HELPLINK_CONFIG'; + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_settings'; + + /** + * @return bool + */ + public function d3UseAlistFilters() + { + return $this->d3GetSet()->getLicenseConfigData(d3_extsearch_conf::SERIAL_BIT_HAS_FILTERS_IN_ALIST, false) || $this->d3GetSet()->isDemo(); + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_plugins.php b/src/Application/Controller/Admin/d3_cfg_extsearch_plugins.php new file mode 100644 index 0000000..4fc0b34 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_plugins.php @@ -0,0 +1,140 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; +use D3\ModCfg\Application\Model\d3filesystem; +use OxidEsales\Eshop\Core\UtilsView; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Output; + +class d3_cfg_extsearch_plugins extends d3_cfg_mod_main +{ + protected $_sThisTemplate = "d3_cfg_extsearch_plugins.tpl"; + + protected $_sModId = 'd3_extsearch'; + + protected $_sOldPluginName = 'se_browserinstall.xml'; + + protected $_sHelpLinkMLAdd = 'D3_EXTSEARCH_HELPLINK_CONFIG'; + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_settings'; + + /** + * ruft oxutils-Funktion auf, die vom Template aus nicht verfuegbar ist + */ + public function save() + { + if ($_FILES['value']['name']['sExtSearch_PluginIcon']) { + if (copy( + $_FILES['value']['tmp_name']['sExtSearch_PluginIcon'], + Registry::getConfig()->getConfigParam( + 'sShopDir' + ) . $_FILES['value']['name']['sExtSearch_PluginIcon'] + ) + ) { + $oSet = $this->d3GetSet(); + $oSet->setValue('sExtSearch_PluginIcon', $_FILES['value']['name']['sExtSearch_PluginIcon']); + $oSet->save(); + }; + } + + parent::save(); + + return; + } + + /** + * @return string + */ + public function getPluginFileName() + { + $oShop = Registry::getConfig()->getActiveShop(); + + $oFS = oxNew(d3filesystem::class); + if ($oFS->exists( + $oFS->trailingslashit(Registry::getConfig()->getConfigParam('sShopDir')) . $this->_sOldPluginName + ) + ) { + $sFileName = $this->_sOldPluginName; + } else { + $sPattern = "[^a-zA-Z0-9]"; + $sFileName = 'searchplugin_' . strtolower( + preg_replace('@' . $sPattern . '@', '_', $oShop->getFieldData('oxname')) + ) . ".xml"; + } + + return $sFileName; + } + + public function generatePluginFile() + { + $oShop = Registry::getConfig()->getActiveShop(); + + /** @var d3filesystem $oFS */ + $oFS = oxNew(d3filesystem::class); + + $sIconData = false; + $blHasIcon = false; + $aImgInfo = array(); + if ($this->d3GetSet()->getValue('sExtSearch_PluginIcon')) { + $sImgPath = $oFS->trailingslashit(Registry::getConfig()->getConfigParam('sShopDir')) . + $this->d3GetSet()->getValue('sExtSearch_PluginIcon'); + $aImgInfo = getimagesize($sImgPath); + $fp_img = fopen($sImgPath, "r"); + $sIconData = fread($fp_img, filesize($sImgPath)); + fclose($fp_img); + $blHasIcon = count($aImgInfo) ? true : false; + } + + /** @var $smarty \Smarty */ + $smarty = Registry::get(UtilsView::class)->getSmarty(); + $smarty->assign('oShop', $oShop); + $smarty->assign('blHasIcon', $blHasIcon); + $smarty->assign('aImgInfo', $aImgInfo); + $smarty->assign('sBase64Icon', base64_encode($sIconData)); + $smarty->assign('sShopUrl', Registry::getConfig()->getConfigParam('sShopURL')); + $sTplFile = 'd3_extsearch_plugin.tpl'; + $sFileContent = $smarty->fetch($sTplFile); + + $sFileName = $oFS->trailingslashit(Registry::getConfig()->getConfigParam('sShopDir')) . + $this->getPluginFileName(); + $sMessage = $oFS->createFile($sFileName, $sFileContent, true) + ? Registry::getLang()->translateString('D3_EXTSEARCH_PLUGIN_CREATE_SUCC') + : Registry::getLang()->translateString('D3_EXTSEARCH_PLUGIN_CREATE_NSUCC'); + + $sCharSet = "UTF-8"; + $sTitle = Registry::getLang()->translateString('D3_EXTSEARCH_MAIN_GENERATOR_NOTE'); + + /** @var $smarty \Smarty */ + $smarty = Registry::get(UtilsView::class)->getSmarty(); + $smarty->assign('sCharset', $sCharSet); + $smarty->assign('sTitle', $sTitle); + $smarty->assign('sMessage', $sMessage); + $sTplFile = 'd3_extsearch_popup.tpl'; + + $outputManager = oxNew(Output::class); + $outputManager->setCharset(Registry::getConfig()->getActiveView()->getCharSet()); + $outputManager->sendHeaders(); + $outputManager->output('content', $smarty->fetch($sTplFile)); + Registry::getConfig()->pageClose(); + $outputManager->flushOutput(); + + die(); + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_quicksearch.php b/src/Application/Controller/Admin/d3_cfg_extsearch_quicksearch.php new file mode 100644 index 0000000..e7fa38b --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_quicksearch.php @@ -0,0 +1,31 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; + +class d3_cfg_extsearch_quicksearch extends d3_cfg_mod_main +{ + protected $_sThisTemplate = "d3_cfg_extsearch_quicksearch.tpl"; + + protected $_sModId = 'd3_extsearch'; + + protected $_sHelpLinkMLAdd = 'D3_EXTSEARCH_HELPLINK_CONFIG'; + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_settings'; +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearch_statistik.php b/src/Application/Controller/Admin/d3_cfg_extsearch_statistik.php new file mode 100644 index 0000000..3cfbbad --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearch_statistik.php @@ -0,0 +1,214 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\Extsearch\Application\Model\d3_extsearch_statisticlog; +use D3\Extsearch\Application\Model\d3_search; +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; +use OxidEsales\Eshop\Core\Model\BaseModel; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\UtilsDate; +use OxidEsales\Eshop\Core\UtilsView; + +class d3_cfg_extsearch_Statistik extends d3_cfg_mod_main +{ + protected $_sThisTemplate = "d3_cfg_extsearch_statistik.tpl"; + protected $_sModId = 'd3_extsearch'; + public $aSearchwords = array(); + protected $_sHelpLinkMLAdd = 'D3_EXTSEARCH_HELPLINK_CONFIG'; + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_statistic'; + + public $oD3OwnSearchHandler; + + /** + * @return string + */ + public function render() + { + $sRet = parent::render(); + + $this->addTplParam('aTimes', $this->_getAvailableLogTime()); + $this->addTplParam('aParams', Registry::get(Request::class)->getRequestEscapedParameter('statparams')); + + return $sRet; + } + + /** + * @return array + */ + protected function _getAvailableLogTime() + { + $oStatistic = oxNew(d3_extsearch_statisticlog::class); + return $oStatistic->getAvailableLogTime(); + } + + public function generateStatList() + { + /** @var d3_extsearch_statisticlog $oStat */ + $oStat = oxNew(d3_extsearch_statisticlog::class); + $oStatList = $oStat->getStatisticList(); + + if ($oStatList && $oStatList->count()) { + /** @var BaseModel $oStatItem */ + foreach ($oStatList as $oStatItem) { + $sFilterKey = base64_encode($oStatItem->getFieldData('OXSEARCHPARAM')) . + substr(base64_encode($oStatItem->getFieldData('OXPARAMETER')), 0, 16) . + substr(base64_encode($oStatItem->getFieldData('OXPARAMETER')), -16, 16); + + $oSearchWord = new \stdClass(); + $oSearchWord->sWord = $oStatItem->getFieldData('OXSEARCHPARAM'); + $oSearchWord->iCount = $oStatItem->getFieldData('COUNTER') + $this->aSearchwords[$sFilterKey]->iCount; + $oSearchWord->blGraph = $oStatItem->getFieldData('GRAPH'); + $oSearchWord->aFilters = $this->_extractFilters($oStatItem->getFieldData('OXPARAMETER')); + $oSearchWord->sFilters = $this->_exportFilters($oStatItem->getFieldData('OXPARAMETER')); + $oSearchWord->iLang = $oStatItem->getFieldData('OXLANG'); + $this->aSearchwords[$sFilterKey] = $oSearchWord; + } + } + } + + /** + * @param $sFilters + * @return string + */ + protected function _exportFilters($sFilters) + { + $aFilters = unserialize($sFilters); + if (is_array($aFilters)) { + return base64_encode($sFilters); + } + + return ''; + } + + /** + * @param $sFilters + * @return array + */ + protected function _extractFilters($sFilters) + { + $sFilters = html_entity_decode($sFilters); + $aFilters = unserialize($sFilters); + + $oFilterList = $this->_d3GetOwnSearchHandler()->getFilterList(); + $aPreparedFilters = array(); + + if (is_array($aFilters)) { + foreach ($aFilters as $sType => $sValue) { + $oFilter = $oFilterList->getFilterByStatisticLogId($sType); + $aPreparedFilters[] = $oFilter->getStatisticLogFilterObject($sValue); + } + } + + return $aPreparedFilters; + } + + /** + * @return array + */ + public function getStatList() + { + return $this->aSearchwords; + } + + /** + * @return bool + */ + public function checkReportBaseClass() + { + return class_exists(\OeStatistics_Report_Base::class); + } + + public function generateStat() + { + if ($this->checkReportBaseClass()) { + $aStatparams = Registry::get(Request::class)->getRequestEscapedParameter("statparams"); + $sTimeFrom = substr($aStatparams['time'], 0, 4) . "-" . substr($aStatparams['time'], 4, 2) . "-01"; + $timestamp = mktime(0, 0, 0, substr($aStatparams['time'], 4, 2), 1, substr($aStatparams['time'], 0, 4)); + $sTimeTo = + substr($aStatparams['time'], 0, 4) . "-" . substr($aStatparams['time'], 4, 2) . "-" . date('t', $timestamp); + + if ($sTimeFrom && $sTimeTo) { + $sTimeFrom = Registry::get(UtilsDate::class)->formatDBDate($sTimeFrom, true); + $sTimeFrom = date("Y-m-d", strtotime($sTimeFrom)); + $sTimeTo = Registry::get(UtilsDate::class)->formatDBDate($sTimeTo, true); + $sTimeTo = date("Y-m-d", strtotime($sTimeTo)); + } else { + $dDays = Registry::get(Request::class)->getRequestEscapedParameter("timeframe"); + $dNow = time(); + $sTimeFrom = date("Y-m-d", mktime(0, 0, 0, date("m", $dNow), date("d", $dNow) - $dDays, date("Y", $dNow))); + $sTimeTo = date("Y-m-d", time()); + } + + /** @var $oSmarty \Smarty */ + $oSmarty = Registry::get(UtilsView::class)->getSmarty(); + $oSmarty->assign("time_from", $sTimeFrom . " 23:59:59"); + $oSmarty->assign("time_to", $sTimeTo . " 23:59:59"); + $oSmarty->assign("searchfilters", $aStatparams['searchparams']); + $oSmarty->assign("oViewConf", $this->getViewDataElement("oViewConf")); + + echo($oSmarty->fetch("oestatistics_report_pagehead.tpl")); + + $aAllreports = array( + 'D3\Extsearch\Application\Controller\Admin\Reports\d3_extsearch_report_' . $aStatparams['type'], + ); + + foreach ($aAllreports as $FQCN) { + if (($FQCN = trim($FQCN))) { + $sClassName = $FQCN; + + $oReport = oxNew($sClassName); + $oReport->setSmarty($oSmarty); + + $oSmarty->assign("oView", $oReport); + echo($oSmarty->fetch($oReport->render())); + } + } + + Registry::getUtils()->showMessageAndExit($oSmarty->fetch("oestatistics_report_bottomitem.tpl")); + } else { + echo Registry::getLang()->translateString('D3_EXTSEARCH_STAT_NOREPORTBASE'); + } + } + + /** + * @return array + */ + public function getLangList() + { + return Registry::getLang()->getLanguageArray(null, true); + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + protected function _d3GetOwnSearchHandler() + { + if (!$this->oD3OwnSearchHandler) { + $this->oD3OwnSearchHandler = oxNew(d3_search::class); + } + + return $this->oD3OwnSearchHandler; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchlog.php b/src/Application/Controller/Admin/d3_cfg_extsearchlog.php new file mode 100644 index 0000000..4ebdae4 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchlog.php @@ -0,0 +1,38 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log; + +class d3_cfg_extsearchlog extends d3_cfg_log +{ + protected $_sModId = 'd3_extsearch'; + + /** + * @return string + */ + public function d3getAdditionalUrlParams() + { + $sRet = parent::d3getAdditionalUrlParams(); + + if ($this->_sModId) { + $sRet .= '&sD3ModId='.$this->_sModId; + } + + return $sRet; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchlog_list.php b/src/Application/Controller/Admin/d3_cfg_extsearchlog_list.php new file mode 100644 index 0000000..170ac24 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchlog_list.php @@ -0,0 +1,24 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\Log\d3_cfg_log_list; + +class d3_cfg_extsearchlog_list extends d3_cfg_log_list +{ + protected $_sModId = 'd3_extsearch'; +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchstat.php b/src/Application/Controller/Admin/d3_cfg_extsearchstat.php new file mode 100644 index 0000000..181df08 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchstat.php @@ -0,0 +1,33 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_; + +class d3_cfg_extsearchstat extends d3_cfg_mod_ +{ + /** + * @return string + */ + public function render() + { + $this->addTplParam('sListClass', 'd3_cfg_extsearchstat_list'); + $this->addTplParam('sMainClass', 'd3tbclextsearch_settings_statistik'); + return parent::render(); + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchstat_list.php b/src/Application/Controller/Admin/d3_cfg_extsearchstat_list.php new file mode 100644 index 0000000..f935904 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchstat_list.php @@ -0,0 +1,38 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list; + +class d3_cfg_extsearchstat_list extends d3_cfg_mod_list +{ + protected $_blD3ShowLangSwitch = false; + protected $_sListClass = null; + + /** + * @return string + */ + public function render() + { + $sRet = parent::render(); + + $this->addTplParam("default_edit", "d3_cfg_extsearch_statistik"); + + return $sRet; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor.php b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor.php new file mode 100644 index 0000000..b8d16c0 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor.php @@ -0,0 +1,35 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_; + +class d3_cfg_extsearchsyneditor extends d3_cfg_mod_ +{ + protected $_hasListItems = true; + + /** + * @return string + */ + public function render() + { + $this->addTplParam('sListClass', 'd3_cfg_extsearchsyneditor_list'); + $this->addTplParam('sMainClass', 'd3_cfg_extsearchsyneditor_main'); + return parent::render(); + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_list.php b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_list.php new file mode 100644 index 0000000..9a16fd2 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_list.php @@ -0,0 +1,62 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\Extsearch\Application\Model\d3_extsearch_term; +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_list; + + +class d3_cfg_extsearchsyneditor_list extends d3_cfg_mod_list +{ + protected $_blD3ShowLangSwitch = true; + protected $_sThisTemplate = 'd3_cfg_extsearchsyneditor_list.tpl'; + protected $_sListClass = d3_extsearch_term::class; + protected $_blEmployMultilanguage; + protected $_sDefSortField = 'word'; + protected $_sDefSortOrder = 'asc'; + protected $_blShowListItems = true; + + /** + * @return null|string + */ + public function render() + { + $sRet = parent::render(); + + $this->addTplParam("default_edit", "d3_cfg_extsearchsyneditor_main"); + return $sRet; + } + + /** + * @param array $aWhere + * @param string $sSql + * @return string + */ + protected function _prepareWhereQuery($aWhere, $sSql) + { + $sSql = parent::_prepareWhereQuery($aWhere, $sSql); + + if (method_exists($this, 'getItemListBaseObject')) { + $sSql .= " AND (" . $this->getItemListBaseObject()->getCoreTableName() . ".word != '') "; + } else { + $sSql .= " AND (" . $this->_oList->getBaseObject()->getCoreTableName() . ".word != '') "; + } + + return $sSql; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_main.php b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_main.php new file mode 100644 index 0000000..f3b05cc --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_main.php @@ -0,0 +1,209 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\Extsearch\Application\Model\d3_extsearch_term; +use D3\Extsearch\Application\Model\d3_semantic; +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +class d3_cfg_extsearchsyneditor_Main extends d3_cfg_mod_main +{ + protected $_sThisTemplate = 'd3_cfg_extsearchsyneditor_main.tpl'; + protected $_sModId = 'd3_extsearch'; + protected $_aNonIndexedFields = array('oxartnum'); + protected $_sSavedId = null; + protected $_blUseOwnOxid = true; + public $sSearchTerm; + public $sAction; + public $sSynsetId; + public $aSynList; + protected $_aNaviItems = array( + 'new' => array( + 'sScript' => 'top.basefrm.list.EditThis( -1 );return false;', + 'sTranslationId' => 'D3_EXTSEARCH_SYNED_MAIN_NEWWORD', + ), + ); + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_syneditor'; + + public function init() + { + $this->sSearchTerm = Registry::get(Request::class)->getRequestEscapedParameter('searchterm'); + $this->sAction = Registry::get(Request::class)->getRequestEscapedParameter('action'); + $this->sSynsetId = Registry::get(Request::class)->getRequestEscapedParameter('synsetid'); + parent::init(); + } + + /** + * @return string + */ + public function render() + { + $sRet = parent::render(); + + /** @var $oTerm d3_extsearch_term */ + $oTerm = oxNew(d3_extsearch_term::class); + $this->addTplParam('edit', $oTerm); + + if (method_exists($this, 'getEditObjectId')) { + $soxId = $this->getEditObjectId(); + } else { + $soxId = Registry::get(Request::class)->getRequestEscapedParameter("oxid"); + $this->addTplParam("oxid", $soxId); + + // check if we right now saved a new entry + if ($this->_sSavedId) { + $soxId = $this->_sSavedId; + $this->addTplParam("oxid", $soxId); + + // for reloading upper frame + $this->addTplParam("updatelist", "1"); + } + } + + if ($soxId && $soxId != "-1") { + // load object + if (!$oTerm instanceof d3_extsearch_term && !($oTerm->load($soxId))) { + $soxId = '-1'; + $this->addTplParam('oxid', $soxId); + } else { + $oTerm->load($soxId); + } + } + + return $sRet; + } + + public function save() + { + if (method_exists($this, 'getEditObjectId')) { + $soxId = $this->getEditObjectId(); + } else { + $soxId = Registry::get(Request::class)->getRequestEscapedParameter("oxid"); + } + + $aParams = Registry::get(Request::class)->getRequestEscapedParameter("editval"); + + // default values + $aParams = $this->addDefaultValues($aParams); + + /** @var d3_extsearch_term $oTerm */ + $oTerm = oxNew(d3_extsearch_term::class); + $oTerm->setLanguage($this->_iEditLang); + + if ($soxId != "-1") { + $oTerm->loadInLang($this->_iEditLang, $soxId); + } else { + $aParams['d3_extsearch_term__oxid'] = null; + $aParams['d3_extsearch_term__synset_id'] = $this->getNextSynsetId(); + } + + $oTerm->setLanguage(0); + + $aParams['d3_extsearch_term__word'] = trim($aParams['d3_extsearch_term__word']); + + $oTerm->assign($aParams); + $oTerm->setLanguage($this->_iEditLang); + $oTerm->save(); + + if (method_exists($this, 'setEditObjectId')) { + $this->setEditObjectId($oTerm->getId()); + } elseif ($soxId == "-1") { + $this->_sSavedId = $oTerm->getId(); + } + } + + /** + * @param $aParams + * @return mixed + */ + public function addDefaultValues($aParams) + { + return $aParams; + } + + /** + * @return mixed + */ + public function getLanguageList() + { + return Registry::getLang()->getLanguageArray(); + } + + /** + * @return mixed + */ + public function getNextSynsetId() + { + /** @var d3_semantic $oSemantic */ + $oSemantic = oxNew(d3_semantic::class); + return $oSemantic->getNextSynsetId(); + } + + /** + * @param $binValue + * @return int + */ + public function convertBin2Int($binValue) + { + return ord($binValue); + } + + public function searchSynonymLists() + { + /** @var d3_semantic $oSemantic */ + $oSemantic = oxNew(d3_semantic::class); + $this->aSynList = $oSemantic->getSynonymListsForWord($this->sSearchTerm); + } + + /** + * @return mixed + */ + public function getSynonymLists() + { + return $this->aSynList; + } + + /** + * @return mixed + */ + public function getSearchTerm() + { + return $this->sSearchTerm; + } + + /** + * @return mixed + */ + public function getAction() + { + return $this->sAction; + } + + /** + * @return mixed + */ + public function getSynsetId() + { + return $this->sSynsetId; + } +} diff --git a/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_manage.php b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_manage.php new file mode 100644 index 0000000..c1d7993 --- /dev/null +++ b/src/Application/Controller/Admin/d3_cfg_extsearchsyneditor_manage.php @@ -0,0 +1,188 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller\Admin; + +use D3\Extsearch\Application\Model\d3_extsearch_term; +use D3\Extsearch\Application\Model\d3_semantic; +use D3\ModCfg\Application\Controller\Admin\d3_cfg_mod_main; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +class d3_cfg_extsearchsyneditor_manage extends d3_cfg_mod_main +{ + protected $_sThisTemplate = 'd3_cfg_extsearchsyneditor_manage.tpl'; + protected $_sModId = 'd3_extsearch'; + protected $_aNonIndexedFields = array('oxartnum'); + protected $_blUseOwnOxid = true; + public $sSearchTerm; + public $sAction; + public $sSynsetId; + public $aSynList; + protected $_aNaviItems = array( + 'new' => array( + 'sScript' => 'top.basefrm.list.editThis( -1 );return false;', + 'sTranslationId' => 'D3_EXTSEARCH_SYNED_MAIN_NEWWORD', + ), + ); + + protected $_sMenuItemTitle = 'd3mxextsearch'; + + protected $_sMenuSubItemTitle = 'd3mxextsearch_syneditor'; + + public function init() + { + $this->sSearchTerm = Registry::get(Request::class)->getRequestEscapedParameter('searchterm'); + $this->sAction = Registry::get(Request::class)->getRequestEscapedParameter('action'); + $this->sSynsetId = Registry::get(Request::class)->getRequestEscapedParameter('synsetid'); + parent::init(); + } + + /** + * @return string + */ + public function render() + { + $sRet = parent::render(); + + /** @var $oTerm d3_extsearch_term */ + $oTerm = oxNew(d3_extsearch_term::class); + + if (method_exists($this, 'getEditObjectId')) { + $soxId = $this->getEditObjectId(); + } else { + $soxId = Registry::get(Request::class)->getRequestEscapedParameter("oxid"); + } + + if ($soxId && $soxId != "-1") { + // load object + $oTerm->load($soxId); + } + + $this->addTplParam('aSynList', $oTerm->getSynonymArrayForSynsetId()); + $this->addTplParam('edit', $oTerm); + + return $sRet; + } + + public function save() + { + $soxId = $this->getEditObjectId(); + $aParams = Registry::get(Request::class)->getRequestEscapedParameter("editval"); + + // default values + $aParams = $this->addDefaultValues($aParams); + + $oTerm = oxNew(d3_extsearch_term::class); + $oTerm->setLanguage($this->_iEditLang); + + if ($soxId != "-1") { + $oTerm->loadInLang($this->_iEditLang, $soxId); + } else { + $aParams['d3_extsearch_term__oxid'] = null; + $aParams['d3_extsearch_term__synset_id'] = $this->getNextSynsetId(); + } + + $oTerm->setLanguage(0); + + $aParams['d3_extsearch_term__word'] = trim($aParams['d3_extsearch_term__word']); + + $oTerm->assign($aParams); + $oTerm->setLanguage($this->_iEditLang); + $oTerm->save(); + + $this->setEditObjectId($oTerm->getId()); + } + + public function savesynonym() + { + $oTerm = oxNew(d3_extsearch_term::class); + $oTerm->assign(Registry::get(Request::class)->getRequestEscapedParameter('editval')); + $oTerm->save(); + + $this->addTplParam('updatelist', 1); + } + + public function deletesynonym() + { + $oTerm = oxNew(d3_extsearch_term::class); + $oTerm->delete(Registry::get(Request::class)->getRequestEscapedParameter('deloxid')); + + $this->addTplParam('updatelist', 1); + } + + /** + * @param $aParams + * @return mixed + */ + public function addDefaultValues($aParams) + { + return $aParams; + } + + /** + * @return mixed + */ + public function getLanguageList() + { + return Registry::getLang()->getLanguageArray(); + } + + /** + * @return mixed + */ + public function getNextSynsetId() + { + $oSemantic = oxNew(d3_semantic::class); + return $oSemantic->getNextSynsetId(); + } + + /** + * @param $binValue + * @return int + */ + public function convertBin2Int($binValue) + { + return ord($binValue); + } + + public function searchSynonymLists() + { + $oSemantic = oxNew(d3_semantic::class); + $this->aSynList = $oSemantic->getSynonymListsForWord($this->sSearchTerm); + } + + public function getSynonymLists() + { + return $this->aSynList; + } + + public function getSearchTerm() + { + return $this->sSearchTerm; + } + + public function getAction() + { + return $this->sAction; + } + + public function getSynsetId() + { + return $this->sSynsetId; + } +} diff --git a/src/Application/Controller/d3_extsearch_response.php b/src/Application/Controller/d3_extsearch_response.php new file mode 100644 index 0000000..2dcd799 --- /dev/null +++ b/src/Application/Controller/d3_extsearch_response.php @@ -0,0 +1,99 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller; + +use D3\Extsearch\Application\Model\d3_search; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Controller\BaseController; +use OxidEsales\Eshop\Core\Output; + +class d3_extsearch_response extends BaseController +{ + private $_sModId = 'd3_extsearch'; + + public $oD3SearchHandler; + + public function init() + { + startProfile(__METHOD__); + + Registry::getConfig()->setActiveView($this); + + $mArgs = func_get_args(); + $mArgs = array_change_key_case($mArgs[0], CASE_LOWER); + + if (is_array($mArgs) && count($mArgs) && isset($mArgs['fnc'])) { + call_user_func_array(array($this, $mArgs['fnc']), array($mArgs)); + } + + $this->_addProfiling(); + + stopProfile(__METHOD__); + } + + public function getSuggestContent($aParams) + { + startProfile(__METHOD__); + + $outputManager = oxNew(Output::class); + $outputManager->setCharset(Registry::getConfig()->getActiveView()->getCharSet()); + $outputManager->sendHeaders(); + $outputManager->output('content', $this->_getD3SearchHandler()->suggestGetContent($aParams['searchparam'])); + Registry::getConfig()->pageClose(); + $outputManager->flushOutput(); + + stopProfile(__METHOD__); + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + protected function _getD3SearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(d3_search::class); + } + + return $this->oD3SearchHandler; + } + + protected function _addProfiling() + { + startProfile(__METHOD__); + + d3_cfg_mod::get($this->_sModId)->d3getLog()->d3GetProfiling(); + + stopProfile(__METHOD__); + } + + /** + * @return string + */ + public function d3getFilterPageId() + { + $mArgs = func_get_args(); + + $sPageId = "search##". + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + md5(rawurlencode(strtolower($mArgs['searchParam']))); + + return $sPageId; + } +} diff --git a/src/Application/Controller/d3_xlist_extsearch.php b/src/Application/Controller/d3_xlist_extsearch.php new file mode 100644 index 0000000..29ebada --- /dev/null +++ b/src/Application/Controller/d3_xlist_extsearch.php @@ -0,0 +1,601 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_alist_extsearch; +use D3\Extsearch\Application\Model\Filters\d3FilterList; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Core\d3_extsearch_conf; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Application\Controller\ManufacturerListController; +use OxidEsales\Eshop\Application\Controller\VendorListController; +use OxidEsales\Eshop\Application\Controller\ArticleListController; +use OxidEsales\Eshop\Application\Controller\SearchController; +use OxidEsales\Eshop\Application\Model\CategoryList; +use OxidEsales\Eshop\Application\Model\Search; +use OxidEsales\Eshop\Application\Model\VendorList; +use OxidEsales\Eshop\Application\Model\ManufacturerList; +use OxidEsales\Eshop\Application\Model\Category; +use OxidEsales\Eshop\Application\Model\Manufacturer; +use OxidEsales\Eshop\Application\Model\Vendor; +use OxidEsales\Eshop\Core\Exception\StandardException; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\StrMb; + +class d3_xlist_extsearch +{ + private $_sModId = 'd3_extsearch'; + protected $_oaListController; + public $oD3SearchHandler = null; + public $oD3OwnSearchHandler = null; + public $aPriceSteps; + public $aPriceSelector; + public $sPriceSelector; + protected $_sD3AdditionalParams = null; + protected $_aSelectedAttributes; + private $_blUseAlistFilter; + + public function __construct($oListController) + { + if (false == ($oListController instanceof ArticleListController) + && false == ($oListController instanceof SearchController) + ) { + $sMessage = 'Argument passed to '.__METHOD__.' must be an instance of ArticleListController or SearchController'; + $oException = oxNew(StandardException::class, $sMessage); + throw $oException; + } + + $this->_oaListController = $oListController; + } + + public function render() + { + if ($this->_d3UseAlistFilters()) { + $this->addSideBar(); + $this->_d3AddAllTplParams(); + } + } + + public function addSideBar() + { + $this->getaListController()->addTplParam('sidebar', 'left'); + } + + /** + * @param Category|Manufacturer|Vendor $oCategory + */ + public function addAListFilters($oCategory) + { + if (false == $this->_d3UseAlistFilters()) { + return; + } + + $oFilterList = $this->d3GetOwnSearchHandler()->getFilterList(); + + if (false == method_exists($oCategory, 'isPriceCategory') // in case of manufacturerlist class + || false == $oCategory->isPriceCategory() + ) { + $sControllerClassName = strtolower($this->getaListController()->getClassKey()); + + if (in_array($sControllerClassName, array(ArticleListController::class, \alist::class))) { + $_POST["searchcnid"] = Registry::get(Request::class)->getRequestEscapedParameter('cnid'); + } elseif (in_array($sControllerClassName, array(ManufacturerListController::class, \manufacturerlist::class))) { + $_POST["searchmanufacturer"] = Registry::get(Request::class)->getRequestEscapedParameter('mnid'); + } elseif (in_array($sControllerClassName, array(VendorListController::class, \vendorlist::class))) { + $sActCat = Registry::get(Request::class)->getRequestEscapedParameter('cnid'); + /** @var StrMb $oStrMb */ + $oStrMb = getStr(); + $_POST["searchvendor"] = ($oStrMb->preg_match('/^v_.?/i', $sActCat)) ? str_replace( + 'v_', + '', + $sActCat + ) : null; + } + + $aExclude = array(); + + if (in_array($sControllerClassName, array(ArticleListController::class, \alist::class))) { + $aExclude[] = d3FilterList::CategoryFilterId; + } elseif (in_array($sControllerClassName, array(VendorListController::class, \vendorlist::class))) { + $aExclude[] = d3FilterList::VendorFilterId; + } elseif (in_array($sControllerClassName, array(ManufacturerListController::class, \manufacturerlist::class))) { + $aExclude[] = d3FilterList::ManufacturerFilterId; + } + + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getAllExcept($aExclude) as $oFilter) { + $oFilter->generateFilterList(); + } + + } elseif (method_exists($oCategory, 'isPriceCategory') // in case of manufacturerlist class + && $oCategory->isPriceCategory() + ) { + $aPriceSelector = array( + 'min' => $oCategory->getFieldData('oxpricefrom'), + 'max' => $oCategory->getFieldData('oxpriceto') + ); + $aPSOV = array( + 'min' => $oCategory->getFieldData('oxpricefrom') * 100, + 'max' => $oCategory->getFieldData('oxpriceto') * 100 + ); + $_POST["d3psov"] = $aPSOV; + $_POST["priceselector"] = $aPriceSelector; + + $aExclude = array( + d3FilterList::CategoryFilterId, + ); + + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getAllExcept($aExclude) as $oFilter) { + $oFilter->generateFilterList(); + } + } + } + + public function addSearchFilters($iArticleCount) + { + $oFilterList = $this->d3GetOwnSearchHandler()->getFilterList(); + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + if ($oFilter->canBeUsed($iArticleCount)) { + $oFilter->generateFilterList(); + } + } + } + + public function setTplParams() + { + $this->getaListController()->addTplParam('blD3ShowFilters', $this->d3CanShowFilters()); + $this->getaListController()->addTplParam('blD3HasSelectedFilters', $this->d3HasSelectedFilters()); + } + + protected function _d3AddAllTplParams() + { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + + // set TPL parameter, if category and vendor selectlists on frontends left side shouldn't changed + if (false == strstr($this->getaListController()->getViewDataElement('additionalparams'), $sSeparator.'isextsearch=') // + && ($sExtSearchFlag = Registry::get(Request::class)->getRequestEscapedParameter('isextsearch')) // + ) { + $this->getaListController()->addTplParam( + 'additionalparams', + $this->getaListController()->getViewDataElement('additionalparams') . $sSeparator.'isextsearch='.$sExtSearchFlag + ); + $this->getaListController()->addTplParam('isextsearch', $sExtSearchFlag); + } + + /** @var d3Filter $oFilter */ + foreach ($this->d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + $this->_sD3AdditionalParams .= $oFilter->getD3AdditionalParams(); + } + } + + // send browser plugin status to smarty + $this->getaListController()->addTplParam('blSearchPluginLink', $this->d3GetSet()->getValue('blExtSearch_enablePluginLink')); + } + + /** + * @return bool + */ + public function d3HasSelectedFilters() + { + $oFilterList = $this->d3GetOwnSearchHandler()->getFilterList(); + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + if ($oFilter->hasUserSelection()) { + return true; + } + } + + return false; + } + + /** + * @return bool + */ + public function d3CanShowFilters() + { + $oFilterList = $this->d3GetOwnSearchHandler()->getFilterList(); + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + if ($oFilter->canShowFilter()) { + return true; + } + } + + return false; + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + $oSet = d3_cfg_mod::get($this->_d3getModId()); + // set "allow search without searchparam" + $oSet->setValue('blExtSearch_emptySearch', true); + + return $oSet; + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } + + /** + * performance, use a class wide instance + * + * @return d3_oxsearch_extsearch + */ + public function d3GetSearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(Search::class); + } + + return $this->oD3SearchHandler; + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + public function d3GetOwnSearchHandler() + { + if (!$this->oD3OwnSearchHandler) { + $this->oD3OwnSearchHandler = oxNew(d3_search::class); + } + + return $this->oD3OwnSearchHandler; + } + + /** + * Template variable getter. Returns hits related vendor list + * + * @return CategoryList + */ + public function d3GetCategoryList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasCategoryList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->canShowFilter(); + } + + /** + * Template variable getter. Returns hits related vendor list + * @return Vendorlist + */ + public function d3GetVendorList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasVendorList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->canShowFilter(); + } + + /** + * Template variable getter. Returns hits related manufacturer list + * @return Manufacturerlist + */ + public function d3GetManufacturerList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasManufacturerList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->canShowFilter(); + } + + /** + * Template variable getter. Returns hits related attribute list (generating in $this->_d3GetAttributeList()) + * + * @return array + */ + public function d3GetAttributeList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasAttributeList() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->canShowFilter(); + } + + /** + * Template variable getter. Returns price selector list + * + * @return array + */ + public function d3getPriceSteps() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasjQuerySlider() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->canHaveMultipleSelection(); + } + + /** + * @param string $sBase + * @return string + */ + public function d3AddBaseUrlParams($sBase = '') + { + $sRet = ''; + if ($this->d3GetSet()->isActive()) { + + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + if (substr($sBase, -1) !== $sSeparator) { + $sRet .= $sSeparator; + } + + $blExcludeShopHandledSingleParameters = $this->isControllerClass(searchController::class) ? true : false; + + /** @var d3Filter $oFilter */ + foreach ($this->d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + $blExists = false; + foreach ($oFilter->getParameterCheckPattern('@', $blExcludeShopHandledSingleParameters) as $sPattern) { + if (preg_match($sPattern, $sBase)) { + $blExists = true; + break; + } + } + + if (false === $blExists) { + $sRet .= $oFilter->getNavigationParameterString(false, $blExcludeShopHandledSingleParameters); + } + } + + if (false == strstr($sBase, $sSeparator.'isextsearch=') + && (strlen($sRet) || $this->d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->d3HasAttributeValues()) + ) { + $sRet .= "isextsearch=alist".$sSeparator; + } + } + + return $sRet; + } + + public function isControllerClass($sCheckClassKey) + { + $sClassKey = Registry::getConfig()->getActiveView()->getClassKey(); + + return strtolower($sClassKey) === strtolower($sCheckClassKey); + } + + /** + * @return string + */ + public function d3GetDeselectValue() + { + return $this->d3GetSearchHandler()->d3GetDeselectValue(); + } + + /** + * @return string + */ + public function d3getFilterPageId() + { + $sClassName = strtolower($this->getaListController()->getClassKey()); + switch (true) { + case in_array($sClassName, array(strtolower('manufacturerlist'))): + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('mnid'); + break; + default: + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('cnid'); + } + + $sPageId = '##'. + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + $sIdent; + + return $sPageId; + } + + /** + * @param $sOptionTitle + * + * @return string + */ + public function d3GetMultipleSelectionTranslation($sOptionTitle) + { + return sprintf(Registry::getLang()->translateString('D3_EXTSEARCH_EXT_MULTIPLESELECT'), $sOptionTitle); + } + + public function d3HasFilters() + { + $oFilterList = $this->d3GetOwnSearchHandler()->getFilterList(); + + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + if ($oFilter->canShowFilter()) { + return true; + } + } + + return false; + } + + /** + * @return bool + */ + public function d3HasPriceFilter() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->canShowFilter(); + } + + /** + * @return bool + */ + public function d3CanShowPriceFilterSlider() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->canShowPriceFilterSlider(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMinValue() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceSliderInfoMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMaxValue() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceSliderInfoMaxValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMinValue() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceSliderInputMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMaxValue() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceSliderInputMaxValue(); + } + + /** + * @return array + */ + public function d3getPriceLimits() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceLimits(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMinValue() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceSliderOriginalMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMaxValue() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter()->getPriceSliderOriginalMaxValue(); + } + + public function d3ClearFilter() + { + $this->d3GetSearchHandler()->d3ClearFilters(); + $oView = Registry::getConfig()->getActiveView(); + $oView->setFncName(null); + } + + public function addNavigationParams($aParams) + { + $aAddParams = array(); + + if ($this->d3GetSet()->isActive() + && $this->_d3UseAlistFilters() + ) { + $this->d3GetSearchHandler()->d3RemoveEmptyParameters($aParams); + + if (strlen(Registry::get(Request::class)->getRequestEscapedParameter('searchparam'))) { + $aAddParams['searchparam'] = htmlspecialchars( + html_entity_decode(Registry::get(Request::class)->getRequestEscapedParameter('searchparam')) + ); + } + + /** @var d3Filter $oFilter */ + foreach ($this->d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + $aAddParams = array_merge($aAddParams, $oFilter->getNavigationParameterList()); + } + + if ((count($aAddParams) || $this->d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->d3HasAttributeValues()) && + ($sExtSearchFlag = Registry::get(Request::class)->getRequestEscapedParameter('isextsearch')) + ) { + $aAddParams['isextsearch'] = $sExtSearchFlag; + } + } + + return array_merge($aParams, $aAddParams); + } + + /** + * @return bool + */ + private function _d3UseAlistFilters() + { + if (null === $this->_blUseAlistFilter) { + $this->_blUseAlistFilter = ($this->d3GetSet()->getLicenseConfigData(d3_extsearch_conf::SERIAL_BIT_HAS_FILTERS_IN_ALIST, false) || $this->d3GetSet()->isDemo()) + && $this->d3GetSet()->getValue('blExtSearch_useAListFilter'); + } + return $this->_blUseAlistFilter; + } + + /** + * @return d3_alist_extsearch|ArticleListController + */ + public function getaListController() + { + return $this->_oaListController; + } + + /** + * @return string + */ + public function getD3AdditionalParams() + { + return $this->_sD3AdditionalParams; + } +} diff --git a/src/Application/Model/Filters/d3AttributeFilter.php b/src/Application/Model/Filters/d3AttributeFilter.php new file mode 100644 index 0000000..d2fc3c5 --- /dev/null +++ b/src/Application/Model/Filters/d3AttributeFilter.php @@ -0,0 +1,424 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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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 +7Vzvb1S= \ No newline at end of file diff --git a/src/Application/Model/Filters/d3CategoryFilter.php b/src/Application/Model/Filters/d3CategoryFilter.php new file mode 100644 index 0000000..2fa51e1 --- /dev/null +++ b/src/Application/Model/Filters/d3CategoryFilter.php @@ -0,0 +1,210 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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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 +YOXxUy7GYpTUjBcZAVJ0Dwjn/xpEFlBg \ No newline at end of file diff --git a/src/Application/Model/Filters/d3FieldIsFilter.php b/src/Application/Model/Filters/d3FieldIsFilter.php new file mode 100644 index 0000000..898ff51 --- /dev/null +++ b/src/Application/Model/Filters/d3FieldIsFilter.php @@ -0,0 +1,146 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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+cPxIycwkWFc2ClMGEYE0Ieo71XRzCa33VqwguIu9Vuypn9bcdtf+hnzKkGYz4UD55GhE2xrHz +H+TOXqGtilU02NY7/M9IL5EjuUZBnqRffaGZ56vf+bx78+D/1zCdp/X5K8XxoZto30/BxX779LYv +JyaaFjZyCclnmwcAqrlV7GnM0serIA2Xfm8Ur8VU2BOc7yaaX9E3NNO4xfam0EewHPO/6iKWM8nZ +sF+oDqGc4ixqHhSRiOBPHYGFiLK6n6vdB6hXwEgfdFtT0anwAd2+r6nTJ7PehbWX07oRKWx5eofW +lknS/yDsT9w8biwceCgAfqAt71r0xXfSQNo6E6tM0KVkRq6EpD/hyun6ZaaGjTciin75QWq7viwt +O/4il8uUyBztYceizRFY+UDZIIdHzXbrf2H9cvVK/qwasgUPP3x6gkK/XlcQ6enJBOVu2pQEA4we ++/n8yn3qlrHs6lW0gXZzJkgtsQnH0SpolwnWXc0FUvg/2CA4jzX7C4LhajVvr4nd8LV88AL1EY6X +uByYCAMdTcR/DRzDc/An8ngKs4vdeGYjMoqlxAHnY+ZrkEGm8AHYG/VxJm5LbvNCms2Bs8qHT/EX +Fp+VWXg7k33q0fjc85CfCjkqzVifRcW90OrVludhsNmEaixdigEkfenGTFS71JcS/pC2Tq+JTmLk +r9jlj+v64yHeaBCuMPokfY3wTyXJK7/kn1IahbwSZ9ajLvOXMkFIUbZlodQmerShQr269xWl8kPr +vC1DvAuW3Trn8WMg1Brcpf0zTi70nvFeBJ82VJ155qIjN6Fuuz+RvMe5zh7dY3aUDNOUK4M5/taE +QlpjytoGYuXGskHqIAwPyrDloDIziWfyGE9zK70fvIWWEsY0jhBVgd9fot5FfakHKdQwPO/TLVp8 +q4lqTuYj7FD2PnEovBga52UOmm7vRebLcRpP37hapQUpVOWRck+CfDHvg1mK0u8SR/cUd/jQSVXr +P/1z2fByjsFkDiZv/m6yW5uQFh47XoRWDScADex2BXatMzKaiRIYWcs3DSkLb0vcrE2+njPQt1kT +ShsBucmidhkjm2jDMGgu8ZWubFktmoo8cXbbl/vT1xfk4zJ+HCwyaqSjPAMCLS+CKFKcaLtZys5+ +L6XzLahQKZd6ivWs9yr3V+Kv8gSEj/f9u9aepi+fQJJ8MgwWnf8Zn1shPWG83j7osg6hJfflB1Xz +b1kR6uT3G23PLA1XYjJurWix5sUBmY1SdkRtWr9WlNu8oi9Iyolj0FlHtxUPsF8ekkfgfu2CDO+2 +Joq2WG5ulPxhzzRBcmancrM80r6VXhCh5NVH2a4kAGzoY9UNJ76TBs/LAHEUryL3RuPFkp45yDE8 +i7XtmLUjGjoeGD7BCjLv71BYShbEm71gBhvd9jEyTvbD4c+Ij8b6CmOqKzuM3PCcWUFXFZViatsZ +/B/46SP30lCZG7eiTfq8kbF6IkeebcHsAQGBeR7JOMXB/V34KYYsBwx7pNHYIxLBnzhx2NqVRKE3 +BB8On1+Yf3qpA59Kwez4M3432oFt6HYXCfrmTHc+aWw6M9YAnrKXKatUGFvM7Sgs/+vr3Bm2C138 +ffZ/cbMmyU7pc9LfHfzCAxs1dMoxl4TigMih2jkP1sBmMTib7dJuYYtJAWaccbMSXzY5ZPFeXcd5 +Xg6tyWbURUaVyUanR1REOuUu4zut05gnlEWP/tZVdff759cqMNueW2LzMsYpLqeEB6G3w+TU/0d4 +0aBJGn6hfuKB49xmsHMYw3axDgT0nNXOwAGMKnc8oa47e10HbpNnhH4NEwqiI5uUqzjhjEAPcqou +YxMi91oN7XVW/bleqcRolzhz1c6cGgmuceZj4sBwBo+ICiWE3Tdg2w4p8vhjyoVjBpv+qNRTMVUa +MFlWYbxDUZzOSNaERUI759ra1EGvO3wOXFLZH/lvhM7ZzET2z1COX6GuMvkOTyEmtaEsnHX6Sn4f +J041z5lpHjiG1/xZ8Xq/FvPgdiHNFj+hlbRk+MEazkBRgCCCB443hRzFW1nim6RkIJZRnkhFomh/ +/lKKBit2naHiRh/4a/ahzDp+T7eFR2uGs7Ug86LQEhm6oFliiGsxyygUnXjiJmE8ylfxtP6GIHP3 +zeEwiuUlNPYGKd7gf77u7SMWc03u5bhytHWCRtnuIHC+uLXE5zcyfordqOl/iDsxTLCbmu5/UMQ7 +cPke0f9dNpNy41rqaHazmjF6+Q8/MAp+9b53vDq5tNDkrTippUtsaCuETSK/lfKRPw1h/U4Yog2p +3HFhUzZLXl4CPy+fapkWyd50ZTER/r6b7hGREdoOgauQDRGodcd6KodafBcdQVsKQPqaTSBX6v8r +QDqaGQTSYuJ6mypmhLy5tG1YtHlXmg5Qf2m64lzM/gsGgpKxnmORziXua4NK/lhv24PetFgzVuzB +ty845FESFfe8Cj9LLvN0gPiRBrdRCtxrXQEp0TGOR2VwX9dFFJ+jpqrCm5O+n94PjrYIFacOJKXC +Nu+sH7cYLEYs61wx32g+jkIDEa7B5czdWEZIRDUsqZRdhfn9IvYtDzf5tLNEdg4t0QGK4mGC/1Rf +tvQaU/7yYtChKzUnkc5pYlmzPZe/Px7/pYhyCwvCTHndPOrnkCmwYyzI+uiLak+meO+dQrBVbnK5 +RcYK/IHNyIWT7pYqPHBM1fEpf5GXBNF1BtqYQBMYOxOzOldnQK3jwTaFfr3F7KaZnpCPMmimiH1x +KMF8JW6xs7N4oMVkV/TvZT8BkQpSEtiFi1lFZyJWdcOFJmYms1eV7QFqu7d48eXZHJ+aipQscd4g +h80ujhWwksFJPurVpHAAXYI0W0Z57EYnqPlTGQtt1G1QDAw+CEHfZE1Azosyd2wGE721gdkJ0knk +1xZUPRxogXpJ4XIRW9Y33XXtsqjSkRZ6IjHyFGgzJ9/DhDVpwqx1uapdfHQpr2ywwjNQi/+Ipmon +c1Pkz5sUszWCJGMIEr2f8Af0vUQ0BMySlgBqgSfq32skgmm/hoSsp7mHMmmrq+wAlLlDd4uMsdCm +/hgSz5uTC+m778nQ5OEU5wRdcU25k8hf2oWKitEcYdd/u7KRVYrpH0HszyytNPty1FTqTfI0ARUg +YTBIiqmYBgbm8TA311l1gx8zehxEtEZUnT4RW+kZGuks8o7juvP8KD51TIV2FZ8vx/5FPoHY21Fb +b7zJB1w3MTwyqLoKEM9TS6RsDdIFffkVQO84IoDX3mAeQ/HqdOIJRD0H1sexbW9FGh1PPkpxIDSN +0S4FbMx+ACYBS4U3GRcqFanRa5ZZrGjl/wTgFMWfl3yoTD5jCzp1/A0xT4EPcdSsHGG7CyUd0fpm +0FvcsNP80VGg5/tNyMaEyha0A+nEqyG+r20xUampNqop5tMzjrR79KE+bs5TnKGnSlxh5HqwdoFK +X9a7LZTAeWSRZNGm8PoAtKQZ8xurGQrPXLPtsDfQ21qxNXSsSswhwyGnI0l4yPD3EFH/2iz9+cD5 +jM7gbYSa2b/ZRTChjwkg7bs4INHm9w5Yxwp8HPFZIaetjMpWavDmRHmT0de/zSMFi4aJIm2d19Gz +zbwOOlXOheNJ8y4LVgndxV8604v0TrgvKZkIGw3kyinX4cV0Y4UkAqEd9shbijGB5NVK3qNU6k/o +jgRbg4Jv5hkh+xC+wpqidTmijfG124iHSeBRMIs4J6eq13y0BgoB6cUVnXgQ6b0zxLjc65co/Tyf +LSdLIiYXcmt+j6em4H26DE6b8UhTSuQ5jBOMlzr90lg9yIwGFRuS/2rcKMRtAnOiFLqKhhOrwLxs +eoUwl+B/FoADAbcFfSscTrddhRZJHupJWzk5W99m8vO+d/9cw69DnzM3oGxBLO+rYyJkys43+jMV +pqZxMov9QgXHcORs9IydnOI5pqOfFkxNOq7Iimhk4hRi/FfAlC/z/q6YEVCr/FaBNQ9dKCG+/aF3 ++hx0heN6TNrMys6ItHUyShv20jEKiJqnJ+If1wTXwBxgDtq4s1+qINiai2c0Cw8ib0VpbrMkbA9c +vawyJBTZkRYdWf36GG9NHBH0uZktuvZvHOQT48W0ukeQCOCvOV7lA6+et5StlDOPv8SHwUhGpHUF +kt/OK6h761Eo3fbVeaZyPi1cxZuw1HCwvRrl0LPJJXRCv7n/DcgsROYUG8+UWN3bJCzDcp7oYktU +tTDrumrj++YVNg+q3JbdLddcktz++vxDSyHtigVo/7uuE6pO6r0XwYjeFL2kdb6nPYfOz1xG7EpE +psIFp67fyjerksKoDjl9LQgdaUttsadk2MLa6ujDYjWjhW4xAIlzyJ94UT5NGqAPDWrN/UwmSxCv +i2vxE6llkCnOeQiDunRrncWAN7znwE6mp8HIq/oBpYecXvIya1mwUO6VwlnB7dboVorYlgFyK5JG +cWi+8e5XbWfDBYrFUwYEyQCu6Xxf2432QC9yB1hoz3wfxyHh4JjhdBzBN4aZ48wsEctmSFqhQrPq +d0eSqgWCiDiAZJrPbPOlfc5w8KWeOWUOVbHv9nO3gw5//o/b/8M1ONRQ3ZSf3UMqPqUzcXDwNzL+ +EAR2hUMgidxOjcY2O9r7FKbdgA7Wl+L247kBY72tAoLKiWiomwWphnGwf8YDU5KSUYrG1unfsaVs +7iRzTYusambL4NlPeKiDFilkjgqF/ofaT+63MfcrqI4pL+4FdQg6bgcosAAwTYqqPkoV1iiAm+F9 +iiiEy9+SmPbLSpVmFe+TeemJSwFq/Ah34YL7jzWbZXgJb4qpYCG/H1FnHc3B+A1Wx+j5tXtpK0bA +wlr2RQr4qnHCebTe6L4+qIZMDfbla0bR0G0A/wzCvF2ohH4cp8Ey1RdAolBBIGf+pRce2L0WYrJB +Jt3Ewt+JbqpeeG7ihiam/HmKRA19tiFflqv4WmlUwS80GtiRtrXOSjjdZCf6wMgBhR4cxE72gDDA +jkY+aJISySq4xKW7WSyx59utCwjnXJeUholX7X8MWY6EnEhk8bHAJF0k2sZDNh2n2/B2M7LcX879 +iBXoKGR0a9ljgCJRTHuxorEf7mlaxtGX0R05gPV2jmPdEF7EVVJYykWI2OiZAorqhXIbE4PxEN9O +D+jQJ/fF9te7A9kzDh3PwddncOTe/IywamjWfOv5YmrcwiYXuQ6Kez1WD72JhXCNHr87+NekZ2t/ +XtQ6x6iGSY37g7oCn05opEygYShUxN3fgtAg+G09N2mvEuKgtRTlrQV+qJ025O5Ks4BkS7MAzxd7 +HYMIdipH48A/CupZiDY+W1wS2Q0HybW+8spwxKUQ6p5LBTrmc++gmqJ6wA3sVTJaN0fmVjBq2g8I +bzteHTTXUCL9CMLY2HPuM89wCQcpFvn5oDkum8p6VTIVSNnWkkHkTf9i5cHCwWYcTlNUuQ6LVL3a +IaGiecFiPmiYsdDw+kQZ6N13qhEHnwqgQhptn79hHal0XoDqykqW8VwayoL9TdwL5MpR1bt36tgc +hPCOv1znEyIo7NH30yKgId3JKw1no52dwfZ8OdR8XEm6SXdiwHWo9XV8RY1BichWNHaCI92e6Rt8 +7wAMVIbJP7OowoFK8xxIzaog9dO009UJ9XcXBib/L5w6hmMFEY4YBd5Hkov+S9UdbIF3QjMtAXOZ +RFmfT6GakCU9fbgpgGmmvWees8NWC2hLmzhHMTNHr9eoWd9aY7wnRSDX2CZ6AGchst+gc8CVBwgy +edAmZIWJ2e+++cbc8uJlmQ6jevrsiMq6aWOHmZqoMb30pNtBRXfwoOvXT9TdDpUVW9SetejwIxe6 +XTSQzgc0Mgtc26mrrAZ1cdXn4vuFnJbSP6MH3FH1k4fdthZ78TEk2p3BosAW1Zvyz1HTNaEtK2z5 +C8OOONh6eSpGkeBQ8AK+t6EqpYcuRs9S8H2QKYo9q1CO4VLnD/ttJCSv5wkXEg8ezoiUa1cwdRKs +/3Q56nwAWNF4+CJNLpr6uRpL+uFZJkaxw94jzdAuMBOz2nhe8H9tkOrknA+O50oTy2gpoS5+CLFF +2DsXKs7aXMRhSdja/Mo9isYoMJ2qte3Vq8BrdBU6Y3rMGwjhyHiVJYxZ1l+cxis9MmS/Utb2x4/z +yM/T96SnBOhYFNCzllLncTZ2lRjpN1G9N9oqlvK4NKEuc1zcGvD9iG8gtl4RZX+MtL33xdZkVX1h +fNI/7qbICif+T4kLbiwI1Z9hTlgrwuHDIRxVVDNnu9vMa27/ER6Obe3DuWsa4ZQcppihs23lg2vW +Uu/atTxrSfLwXAEEZC5YnZNzOzGt8SYt8WgXZYDR3CErNxntJvr89PGTMlD6SH8GNPR3IQK/GIKb +qMQQ6UzxrFzokBPshbXViZtA/RjtcU+dsFNMg8M1qMX0y5E0Mc/9JjvFJZhb+mNt3aqneWq/dcKz +E77UXTlscqiqOIrbEP4TygO5m/zZlFs/4zF+7btFDzzbhR6Qhkw8i5uKcgCMEycnwNa3z3Ea77IM +VuoNthXbUu+vTRsQ9hnuUGSsuMDteK7q0FOMXubVBbOf5Rc/GxE2yLTkqOzlrK+9d8UbwOCcHf0N +npfiwhelIx6Wqo0NSwY6qBPbgTsMdfZP8VsY0zx2IaFh7bqf8n8DBlb8q+m4JRXXEiEJrAC6twkq +D8bGlOZCBNyvMujl1WJCo4dczgoba6Y2nmquuqXDq133J4k3VW7SGTkarJ+T4ROEK2wbsXj64jgw +Q2oH1/mcrsrCmn4AJ2rFy471Q8ulW608n07r0x2SotzmRtV828tQ6QgcKpxiceHau2Vrzgypno41 +i3hTVHK39hVNI1npEMoBWKCD3Uh5CJbdmxXJN3bqGOExHZywqlyMKMKCxn0UtYVFIyOvsf4WYE5C +/LIpPEJ9IV9RASSdSJc5dLR+h2tESX2lqhxQ8jt0S/tOPFOKl4//w4ia/qumpq9ykZ8UO2zV5tDr +1sjsynAI1MxPoAZOn+qo0KLSdMiv9JLrGgQ9HqvjHupjhD0d7vOkVBg/9nFTFlEcPsYNn0Sts7vQ +3LrKhbUue+xi1TOXNPfbxnp8CLU4rH+NNBIElxBN35SVZylsOi8WLpsgN3zdPseKkSEgKMdga1Ov +IC+cT51JAFM5vnBwjZN0mqXtDujBn8vz2a6biRL22x/p4hM/ERt7f4RgC1ly8tZs0aoIfFWCcL7a +4At72b8//3SCrGGMEheELN/CujpjipL2unCfr+1gTUrQcrTphYnxDHv5XaRvdBIpC/ontWawhwOW +/cLCJ+8tKBT+71YgA5gfeWLHxQK6yy307qwRDstwW3t+igdgksFij36QBfhe+K//IpT38T6XHg1S +wuaW0FueJVSENxMPoQo4ldyFbRpu10UqFJR3bX8PttCGHDC9bJiwwa484YoYXi9PU54Tke77UScN +JUuOB1Qp81KdT1AHe/gTsaJkXOD1Tar92mgi1kGa1ni7G0q7+O5NqOPOWdw7xbN7i99UBrVWmgVI +9jYsalbJegWlHEmFNPg4R3hO0JktP944+lv7c/gJWTe0Pn7nwDdl6G2xWEDTcULD20v8JkpwAlka +7cvqjR1wXBdYmTHxsgzP2ow6Z3XU6Yj+CVYSAxXBh780/ttQEAtb3dxlDdOuml+iEbbiJzaMC8nP +JJUV9USL3u/U3/oLuiqukB3VNMtx5BuNHN5yWq9H/FylopYkoIY2lMqmEdNvHqk6RgYmyd4kTQyx +2FdsKcIfrSKs0NxE5UW6xSnD5g4/QECudfeULnuSEuR82cycbMPCx5Shrr5Mfo9JUrVPOJhlnnCI +zLwNl5CbIUQq9qsDRUhmOQAp5381jSqsluaXA56axladbDpc8s2o0FIJGfFcAs1zFKFcTDl2QwYH +7lIWPXaaVoSfDZhwGc8qR6+wjEcQxlhTE0MiIJPOqe3ochkX6nhgJhQk8mXkRv0QyHTdX7IY+nR+ +7GtgtycM1+5krrrsopjjpuend1GPff4KfEzWC7LJVTpQ0QcOXBim4aBIwH6yW9kCS8LYWm9lvtD9 +4RW3j6sJbDXkh6kmccae8WYBh5HwjVEFkXLC1niwky+d74Z2a13Np26HpKaY0+gn4zlTSspBL20f +kiWLJ2XK/310ZIkMSLBMWDHwQesbmwfV9lKjvnPOOhkdgXsqTZjzwr/daqeuHGFu7tGXdBAI3jiU +aOQwYZZghCTlK6jDeUjRwKV9SqLJfHVSeEsmzUESOdVzRCa0jssudxY2YZ0xRmRKbbV+MlEr8ODw +yPYcO3ldVxM7ZjnspzjR2CWxiZrxiw/3X4YwHiqLC2ZBeDlYKX29pEN/6zMKYM4uzou8yvn/d6ea +/DCnQgHEodl/TEBEzsfceScfHqxt5/JxUMYlEdXPe0a64mgGAoGZA9h2Lvdr41cWIi5KHYwW2X4f +jf4uTNZn29WAJVhKch+GVcCDhazV2Mtw7EGUVp09QBUshc3oIcECkanZV1Vgmr/A6vXno+DoAkGZ +D+r+iYct5wWJNMlco49gRG8szaULuMcO172TI6zjsbXv0mQGj6a35ClGo+U4LoMPQujhbV4cpZtZ +kch16n4+wSysH+/eiqmbP9Vnpyv/ePRrcD4EEjnRI5hbxrIMC8MwEFfPk61e8J1d62yDrXfxOyS/ +rWfp8IOucjimlfBNCdLDfJXwrw5qQVrayvpB/O693l1WzBaNL7cQuhOluvJXiMQk2hjJaalI2hRX +up5Te6JIwWuSo4wH/RQBIXa9jdROiCN17Rn2bqsIG0CjxLxvAMUFaZHqaC7mq4IXcqdKCFggERnP +jrYje1NW8QypnicoUsetzkFN1IKa7PCWJZw/SzQbIEzEAiaX4RVb/F84vlrVb5OZXV0zvu9AKEOa +aaz03uO4AmkJV1E6FhL9ehSFOghYexvOpJOkMvEQAYWQJtgfA7lcHR/A2179KC7sNa/5Sk0dgic+ +QCK06GmubSPn4TSCneanlbxbtit9fnc16sK/7xNry08EnA31G5cnMn27jJrAtxyoXRu/SmxguN6G +okxoCvZE+yAxpeeXaiq8ulrQoApW5xszHLkU5dXFTMqXsfepnNNhMvIuwnj9a7y+0zSpQsDgoV1G +lp5aSCzFklo0DU1W+Ii/Q1pjz8xmiZNtM7pCGq6vxWv0IP6x43JSsYvHYGUSS7BzzAE60CyrsAhg +o1AurS9VjY8V5eLpd5KbQGFikwpduZixw+2G9jY5LDbF25vcaivGDcMllQcxWMvP4lAoJ0uowWzN +ej7BIRWtrLb9DvdR9raM+rsjm4JKjAqQHjRSE5x6mHr29PSjDGO4o2h2vuKxwd6zjd9PuhYqKuKS +bZHLbXUfjbXj7zLvLKS6yBbVlfhhBwCp+IRS+hf7gmv+iV+QJZDlqe14etxxoKTG0ccwhKf/qU1V +15yi8MS5oBLklYVcR8VMzR6pBcHD9TATOB3hP5nIHGiB65tM6lzCPngDCcutMDojI509z26kttx8 +1UcvZwhYDisBHOvL5J67qaskCzvboXQog4+/d/8B21vaSm9O0qlrCv9+ayaR77g9jmk0cGeSlDlE +Adbg2lpB5Crx1ZKxIl9cyzULypwk0k0+1BYufUqNEd9MzZiE3IWI57Jh2jUNajAY3D5fDhnn5AnS +XzJ9Rf6qSyBuy3UNC6l6Okzsd99FtHcUE2kwJFOHKklV/X00mW0TxW19mvdTsME7yOEEgHacsjMh +D7owYuhKTDqlbNO3CPdSZBeJHCxnJ+gXuXJ/OmZMTyuTjdoUMcXE3/yhpMFmpVRi3xQxbfurT02n +mctB34OcL6eMjcNThoFcR1KcocQ3mSBcjok0O05w6ueEAzeuvMZhHlAkH7Au4ywy2tqx2/uH8FFm +ZvQKtcPDMb5jWzQZH78l8FOVcLOM8mLs4xNq3O5tSdX7r3TXGfJfeQRzbT0Zqtrm9n1HynjXcMso +XTqB7nmdi0kRnSMtMgjatAgGvhgZ5U4b+LASJiMoodWd90g4r2XpLM9mx3aYkWoviJ8O+W066hD+ +QTrrGqD0QoTTVBNUZokHNZZPSsT+v8LLRzEVWjYFn3yKq9EvBMgqQ4LpUT2rS0MtALdiDjrU/nE1 +XflC7jHnd8c+qWtrycHadJtxKYhZ+2q9Ev1DvgpDo2QUVTq/FghbcAS3u2eU8JNGgp1xHx8NjLWq +SRbvDUuFnVYHDruot3ZyqRpUytl4vHYPSTr4oG/FzsicyAXdJOmLihK3/pflUDW7KdQ/9TsdWZDQ +8WJhq45CpXqZpnyk28XKkMkiq0jlp/4Xp6RLsycd7/17xkW5Xxd4i3WC6ZwOMkLAJYf8mvlUohrd +EeuT0sB8S1u4v7XjqA8ulWIkhoYjw4p2OjBYH7Z4gWzPtV/I/lODo2dC1pxjtKDdUVGtYvDEzAsC +aeWmBYfXeKv0WLspTej9cCfFUuro/HjElZh/8ZlqYzGjUfZJDbfiG4K9zwuMXmysbIW9vm3woq0L ++Q0kQ/OpO0+LG5gxJ1YGNi2A4l0H6ux9BQt8n5mcv9hN/Cg0bOnOEtPhFHm7xfU5++ZghUjFxgd2 +P3goLxsvho00wiGdtkGhWfYGb8VCiQrCYwfRwrR9J17jFeCLXvzVjXu3tnxPzSMOGndGb/KTpf4v +IXJxStbyqK1m89uhwMbApTXrFhW9lX87ufq1VKcxhXT4DiOrGBult5HPvPENA2D6SApkY4ajDSKK +OIECMJ3GRD7CV5P9mIJDpkGGgK4SC81OMkdxJdy1FbR+pdFlsEkPDBHVtuvTqH55iUEJzW0e9KuD +Z4gNbCQkJTU8761ahyvzrbLXDdmZa/038n9AtONrRyyoWpOFmLOL0TKEipFWbTM3+J+LoDmtEK2Z +DbQKyfMFRe+5wyWO9RV9xSUGXNQkJrTSRW== \ No newline at end of file diff --git a/src/Application/Model/Filters/d3FieldLikeFilter.php b/src/Application/Model/Filters/d3FieldLikeFilter.php new file mode 100644 index 0000000..a95de4e --- /dev/null +++ b/src/Application/Model/Filters/d3FieldLikeFilter.php @@ -0,0 +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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 +bEenzxhyy0Q6I6oopXBu1W== \ No newline at end of file diff --git a/src/Application/Model/Filters/d3Filter.php b/src/Application/Model/Filters/d3Filter.php new file mode 100644 index 0000000..00bd871 --- /dev/null +++ b/src/Application/Model/Filters/d3Filter.php @@ -0,0 +1,349 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/Filters/d3FilterInterface.php b/src/Application/Model/Filters/d3FilterInterface.php new file mode 100644 index 0000000..38531fd --- /dev/null +++ b/src/Application/Model/Filters/d3FilterInterface.php @@ -0,0 +1,32 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/Filters/d3FilterList.php b/src/Application/Model/Filters/d3FilterList.php new file mode 100644 index 0000000..7c4ba14 --- /dev/null +++ b/src/Application/Model/Filters/d3FilterList.php @@ -0,0 +1,96 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/Filters/d3IndexFilter.php b/src/Application/Model/Filters/d3IndexFilter.php new file mode 100644 index 0000000..313f42f --- /dev/null +++ b/src/Application/Model/Filters/d3IndexFilter.php @@ -0,0 +1,133 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/Filters/d3ManufacturerFilter.php b/src/Application/Model/Filters/d3ManufacturerFilter.php new file mode 100644 index 0000000..87baeac --- /dev/null +++ b/src/Application/Model/Filters/d3ManufacturerFilter.php @@ -0,0 +1,207 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/Filters/d3PriceFilter.php b/src/Application/Model/Filters/d3PriceFilter.php new file mode 100644 index 0000000..b6e30ef --- /dev/null +++ b/src/Application/Model/Filters/d3PriceFilter.php @@ -0,0 +1,352 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/Filters/d3VendorFilter.php b/src/Application/Model/Filters/d3VendorFilter.php new file mode 100644 index 0000000..26a8f7e --- /dev/null +++ b/src/Application/Model/Filters/d3VendorFilter.php @@ -0,0 +1,204 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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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 +WE08AJDJjmJ7UdG= \ No newline at end of file diff --git a/src/Application/Model/d3_extsearch_statisticlog.php b/src/Application/Model/d3_extsearch_statisticlog.php new file mode 100644 index 0000000..d14505a --- /dev/null +++ b/src/Application/Model/d3_extsearch_statisticlog.php @@ -0,0 +1,174 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/d3_extsearch_synset.php b/src/Application/Model/d3_extsearch_synset.php new file mode 100644 index 0000000..70b1cc8 --- /dev/null +++ b/src/Application/Model/d3_extsearch_synset.php @@ -0,0 +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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 +JT/XosZPhKmbAUO05v5CKvBsZn1BjQAUKiEH \ No newline at end of file diff --git a/src/Application/Model/d3_extsearch_term.php b/src/Application/Model/d3_extsearch_term.php new file mode 100644 index 0000000..636b7b5 --- /dev/null +++ b/src/Application/Model/d3_extsearch_term.php @@ -0,0 +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 diff --git a/src/Application/Model/d3_oxutils_extsearch.php b/src/Application/Model/d3_oxutils_extsearch.php new file mode 100644 index 0000000..1612859 --- /dev/null +++ b/src/Application/Model/d3_oxutils_extsearch.php @@ -0,0 +1,57 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/d3_phonetic_de.php b/src/Application/Model/d3_phonetic_de.php new file mode 100644 index 0000000..401f167 --- /dev/null +++ b/src/Application/Model/d3_phonetic_de.php @@ -0,0 +1,275 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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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 +b8ECZR9hYOLx \ No newline at end of file diff --git a/src/Application/Model/d3_phonetic_de_voc.php b/src/Application/Model/d3_phonetic_de_voc.php new file mode 100644 index 0000000..1f9597c --- /dev/null +++ b/src/Application/Model/d3_phonetic_de_voc.php @@ -0,0 +1,282 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 +5dzCbr/Q3JINg0eNe///16gE8z74eHAa/fwETm== \ No newline at end of file diff --git a/src/Application/Model/d3_search.php b/src/Application/Model/d3_search.php new file mode 100644 index 0000000..a940107 --- /dev/null +++ b/src/Application/Model/d3_search.php @@ -0,0 +1,622 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/Model/d3_search_generator.php b/src/Application/Model/d3_search_generator.php new file mode 100644 index 0000000..04271f1 --- /dev/null +++ b/src/Application/Model/d3_search_generator.php @@ -0,0 +1,285 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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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 +n/2NQv7KchvnMObpUAI1hWDTI0t8I4Uxzr/mLW== \ No newline at end of file diff --git a/src/Application/Model/d3_semantic.php b/src/Application/Model/d3_semantic.php new file mode 100644 index 0000000..59322a6 --- /dev/null +++ b/src/Application/Model/d3_semantic.php @@ -0,0 +1,213 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Application/translations/de/d3_extsearch_lang.php b/src/Application/translations/de/d3_extsearch_lang.php new file mode 100644 index 0000000..12f4f3f --- /dev/null +++ b/src/Application/translations/de/d3_extsearch_lang.php @@ -0,0 +1,116 @@ + + * @link http://www.oxidmodule.com + */ + +$sLangName = "Deutsch"; + +// ------------------------------- +// RESOURCE IDENTITFIER = STRING +// ------------------------------- +$aLang = array( + +//Navigation + 'charset' => 'UTF-8', + + 'D3_EXTSEARCH_FIELD_NOTICE' => 'Suchbegriff', + + 'D3_EXTSEARCH_QUICK_HITS' => 'Treffer für', + 'D3_EXTSEARCH_QUICK_SIMILARHITS' => 'ähnliche Treffer für', + 'D3_EXTSEARCH_QUICK_MULTIPLEHITS' => 'Vorschläge für Ihre Suche', + 'D3_EXTSEARCH_QUICK_TOBASKET' => 'in den Warenkorb', + 'D3_EXTSEARCH_QUICK_SEARCH' => 'Suche ...', + 'D3_EXTSEARCH_QUICK_NOHIT' => 'Leider wurden keine Artikel gefunden.', + 'D3_EXTSEARCH_QUICK_TOMUCHHITS' => 'Für die Ergebnisliste wurden zu viele Treffer gefunden.
Klicken Sie hier für die Listenansicht.', + 'D3_EXTSEARCH_QUICK_STARTSEARCH' => 'weiter suchen...', + 'D3_EXTSEARCH_QUICK_ARTICLE' => 'Artikel', + 'D3_EXTSEARCH_QUICK_CATEGORY' => 'Kategorie', + 'D3_EXTSEARCH_QUICK_MANUFACTURER' => 'Marke', + 'D3_EXTSEARCH_QUICK_VENDOR' => 'Lieferant', + 'D3_EXTSEARCH_QUICK_CONTENT' => 'Information', + 'D3_EXTSEARCH_QUICK_CLOSE' => 'Suchfenster schliessen', + + 'D3_EXTSEARCH_EXT_NOARTMSG' => 'Zu Ihrem Begriff wurde leider kein Artikel gefunden. Wir haben daher ähnliche Artikel für Sie mit folgender Suche gezeigt:', + 'D3_EXTSEARCH_EXT_LESSARTMSG' => 'Zu Ihrem Begriff wurde leider nur sehr wenige Artikel gefunden. Wir haben die Liste mit ähnlichen Artikel aufgefüllt.', + 'D3_EXTSEARCH_EXT_PLUGINHEADLINE' => 'Schneller suchen, schneller finden...', + 'D3_EXTSEARCH_EXT_PLUGINBROWSERERROR' => 'Diese Sucherweiterung funktioniert derzeit leider nur mit Mozilla Firefox ab Version 2.0 oder Microsoft Internet Explorer ab Version 7.', + 'D3_EXTSEARCH_EXT_PLUGININSTALLMSG' => 'Installieren Sie unsere kostenlose Sucherweiterung. Damit fügen Sie unseren Shop zur Suchfunktion Ihres Browsers (rechts oben) hinzu. So werden Sie jederzeit und von jeder Stelle aus sofort fündig.
(verfügbar im Mozilla Firefox ab Version 2 und Microsoft Internet Explorer ab Version 7)', + 'D3_EXTSEARCH_EXT_PLUGININSTALLBTN' => 'Sucherweiterung installieren', + + 'D3_EXTSEARCH_EXT_SEARCHBOX' => 'Filter', + 'D3_EXTSEARCH_EXT_CHOOSECAT' => 'wählen Sie eine Kategorie', + 'D3_EXTSEARCH_EXT_HITSINCAT' => 'Treffer in', + 'D3_EXTSEARCH_EXT_THISCAT' => 'diesen Kategorien:', + 'D3_EXTSEARCH_EXT_ALLCATHITS' => 'zeige Treffer aller Kategorien', + 'D3_EXTSEARCH_EXT_CATEGORIES' => 'Kategorien:', + 'D3_EXTSEARCH_EXT_SEARCHINCATEGORIES' => 'suche in allen Kategorien', + 'D3_EXTSEARCH_EXT_HITSINVENDOR' => 'Treffer von', + 'D3_EXTSEARCH_EXT_THISVENDORS' => 'dazugehörige Lieferanten:', + 'D3_EXTSEARCH_EXT_VENDORS' => 'Lieferanten:', + 'D3_EXTSEARCH_EXT_SEARCHINVENDORS' => 'suche in allen Lieferanten', + 'D3_EXTSEARCH_EXT_ALLVENDORHITS' => 'zeige Treffer aller Lieferanten', + 'D3_EXTSEARCH_EXT_CHOOSEVENDOR' => 'wählen Sie einen Lieferant', + 'D3_EXTSEARCH_EXT_HITSINMANUFACTURER' => 'Treffer von', + 'D3_EXTSEARCH_EXT_THISMANUFACTURERS' => 'dazugehörige Marken:', + 'D3_EXTSEARCH_EXT_MANUFACTURERS' => 'Marken:', + 'D3_EXTSEARCH_EXT_SEARCHINMANUFACTURERS' => 'suche in allen Marken', + 'D3_EXTSEARCH_EXT_ALLMANUFACTURERHITS' => 'zeige Treffer aller Marken', + 'D3_EXTSEARCH_EXT_CHOOSEMANUFACTURER' => 'wählen Sie eine Marke', + 'D3_EXTSEARCH_EXT_HITSATTRIBS' => 'Eigenschaften der Treffer', + 'D3_EXTSEARCH_EXT_ATTRIBSNOSELECTION1' => '', + 'D3_EXTSEARCH_EXT_ATTRIBSNOSELECTION2' => 'wählen', + 'D3_EXTSEARCH_EXT_ATTRIBSDESELECT1' => '', + 'D3_EXTSEARCH_EXT_ATTRIBSDESELECT2' => 'abwählen', + 'D3_EXTSEARCH_EXT_ATTRIB_NOASSIGN' => 'zu "%s" nicht zugeordnete Artikel', + 'D3_EXTSEARCH_EXT_MULTIPLESELECT' => '"%s" mehrfach wählen', + 'D3_EXTSEARCH_EXT_ASSIGNFILTER' => 'Filter anwenden', + 'D3_EXTSEARCH_EXT_UNASSIGNFILTER' => 'abwählen', + 'D3_EXTSEARCH_EXT_CLEARFILTER' => 'Alle Filter löschen', + 'D3_EXTSEARCH_EXT_START_SEARCH' => 'Suche starten', + 'D3_EXTSEARCH_EXT_ALL' => 'Alle', + 'D3_EXTSEARCH_EXT_CHOOSEPRICE' => 'wählen Sie eine Preisspanne', + 'D3_EXTSEARCH_EXT_DESELECTPRICE' => 'alle Preise anzeigen', + 'D3_EXTSEARCH_EXT_PRICECATS' => 'Preisspannen', + 'D3_EXTSEARCH_EXT_PRICEFROM' => 'von', + 'D3_EXTSEARCH_EXT_PRICETO' => 'bis', + 'D3_EXTSEARCH_EXT_SIMILAR' => '(ähnlich)', + 'D3_EXTSEARCH_EXT_CATHIT' => '(Treffer aus Kategorie)', + 'D3_EXTSEARCH_EXT_CMSHEADLINE' => 'Informationen', + 'D3_EXTSEARCH_EXT_NOARTDESELECT' => 'Für diese Seite wurden Filter gesetzt, die zu keinem Ergebnis führen. '. + 'Setzen Sie die Filter zurück, um alle Artikel dieser Seite zu sehen.', + + 'D3_EXTSEARCH_IAS_SEARCH' => 'Suche', + 'D3_EXTSEARCH_IAS_STARTSEARCH' => 'Suchen', + + 'D3_EXTSEARCH_RSS_ATTRIBS' => '| %1$s: %2$s ', + 'D3_EXTSEARCH_RSS_INDEXFILTER' => '| Index: %1$s ', + 'D3_EXTSEARCH_RSS_PRICEFILTER' => '| Preis: %1$s ', + + 'D3_EXTSEARCH_ORDER_BYPRIO' => 'Relevanz', + 'WIDGET_LOCATOR_SORT_D3PRIORITY' => 'Relevanz', + 'D3PRIORITY' => 'Relevanz', + + 'D3_EXTSEARCH_SEARCHINPROGRESS' => 'Suche wird ausgeführt', + + 'D3_CUSTOMFIELDTEXT_LIKETITLE' => 'Begriff enthalten in Titel', + 'D3_CUSTOMFIELDTEXT_ISARTNUM' => 'Begriff ist gleich Artikelnummer', + 'D3_CUSTOMFIELDTEXT_ISBETWEENSTOCK' => 'Auswahl ist innerhalb des Lagerstandes', + 'D3_CUSTOMFIELDTEXT_CHOOSESTOCK' => 'Bitte Lagerstand wählen', + 'D3_CUSTOMFIELDTEXT_ISBETWEENPRICE' => 'Auswahl ist innerhalb der Preisspanne', + 'D3_CUSTOMFIELDTEXT_CHOOSEPRICE' => 'Bitte Preis wählen', + + 'D3_EXTSEARCH_DEBUG_UNABLE_QUERY' => 'Query kann auf Grund gestellter Bedingungen nicht generiert werden.', + 'D3_EXTSEARCH_DEBUG_UNABLE_DIRECTSHOW' => 'Im Debug-Mode kann nicht auf Detailseite gewechselt werden:', +); diff --git a/src/Application/translations/en/d3_extsearch_lang.php b/src/Application/translations/en/d3_extsearch_lang.php new file mode 100644 index 0000000..6e06f8a --- /dev/null +++ b/src/Application/translations/en/d3_extsearch_lang.php @@ -0,0 +1,116 @@ + + * @link http://www.oxidmodule.com + */ + +$sLangName = "English"; + +// ------------------------------- +// RESOURCE IDENTITFIER = STRING +// ------------------------------- +$aLang = array( + +//Navigation + 'charset' => 'UTF-8', + + 'D3_EXTSEARCH_FIELD_NOTICE' => 'search item', + + 'D3_EXTSEARCH_QUICK_HITS' => 'Hits for', + 'D3_EXTSEARCH_QUICK_SIMILARHITS' => 'similar hits for', + 'D3_EXTSEARCH_QUICK_MULTIPLEHITS' => 'suggestions', + 'D3_EXTSEARCH_QUICK_TOBASKET' => 'add to shopping cart', + 'D3_EXTSEARCH_QUICK_SEARCH' => 'Searching...', + 'D3_EXTSEARCH_QUICK_NOHIT' => 'No articles found.', + 'D3_EXTSEARCH_QUICK_TOMUCHHITS' => 'There are to much hits for this view.
Please click here for list view.', + 'D3_EXTSEARCH_QUICK_STARTSEARCH' => 'start further search...', + 'D3_EXTSEARCH_QUICK_ARTICLE' => 'article', + 'D3_EXTSEARCH_QUICK_CATEGORY' => 'category', + 'D3_EXTSEARCH_QUICK_MANUFACTURER' => 'brand', + 'D3_EXTSEARCH_QUICK_VENDOR' => 'vendor', + 'D3_EXTSEARCH_QUICK_CONTENT' => 'information', + 'D3_EXTSEARCH_QUICK_CLOSE' => 'window close', + + 'D3_EXTSEARCH_EXT_NOARTMSG' => 'To this term were only found a few articles. We show you similar articles. ', + 'D3_EXTSEARCH_EXT_LESSARTMSG' => 'To this term were only found a few articles. We added some similar articles to the list.', + 'D3_EXTSEARCH_EXT_PLUGINHEADLINE' => 'search faster, find faster', + 'D3_EXTSEARCH_EXT_PLUGINBROWSERERROR' => 'This search extension works in Mozilla Firefox from version 2.0 on and Microsoft Internet Explorer from version 7 on.', + 'D3_EXTSEARCH_EXT_PLUGININSTALLMSG' => 'Install our free advanced search. You will add our shop into the search function of your browser (top right). So you will always find everything to your convenience.
(available for Mozilla Firefox from Version 2 on and Microsoft Internet Explorer from Version 7 on)', + 'D3_EXTSEARCH_EXT_PLUGININSTALLBTN' => 'install plugin for advanced search', + + 'D3_EXTSEARCH_EXT_SEARCHBOX' => 'filters', + 'D3_EXTSEARCH_EXT_CHOOSECAT' => 'choose a category', + 'D3_EXTSEARCH_EXT_HITSINCAT' => 'hits in', + 'D3_EXTSEARCH_EXT_THISCAT' => 'these categories:', + 'D3_EXTSEARCH_EXT_ALLCATHITS' => 'show hits for all categories', + 'D3_EXTSEARCH_EXT_CATEGORIES' => 'Categories:', + 'D3_EXTSEARCH_EXT_SEARCHINCATEGORIES' => 'search in all categories', + 'D3_EXTSEARCH_EXT_HITSINVENDOR' => 'hits for', + 'D3_EXTSEARCH_EXT_THISVENDORS' => 'associated vendors:', + 'D3_EXTSEARCH_EXT_VENDORS' => 'Vendors:', + 'D3_EXTSEARCH_EXT_SEARCHINVENDORS' => 'search in all vendors', + 'D3_EXTSEARCH_EXT_ALLVENDORHITS' => 'show all vendor hits', + 'D3_EXTSEARCH_EXT_CHOOSEVENDOR' => 'choose a vendor', + 'D3_EXTSEARCH_EXT_HITSINMANUFACTURER' => 'hits for', + 'D3_EXTSEARCH_EXT_THISMANUFACTURERS' => 'associated brand:', + 'D3_EXTSEARCH_EXT_MANUFACTURERS' => 'Brand:', + 'D3_EXTSEARCH_EXT_SEARCHINMANUFACTURERS' => 'search in all brands', + 'D3_EXTSEARCH_EXT_ALLMANUFACTURERHITS' => 'show all brand hits', + 'D3_EXTSEARCH_EXT_CHOOSEMANUFACTURER' => 'choose a brand', + 'D3_EXTSEARCH_EXT_HITSATTRIBS' => 'associated specifications', + 'D3_EXTSEARCH_EXT_ATTRIBSNOSELECTION1' => 'choose', + 'D3_EXTSEARCH_EXT_ATTRIBSNOSELECTION2' => '', + 'D3_EXTSEARCH_EXT_ATTRIBSDESELECT1' => 'deselect', + 'D3_EXTSEARCH_EXT_ATTRIBSDESELECT2' => '', + 'D3_EXTSEARCH_EXT_ATTRIB_NOASSIGN' => 'not to "%s" assigned articles', + 'D3_EXTSEARCH_EXT_MULTIPLESELECT' => 'select multiple "%s"', + 'D3_EXTSEARCH_EXT_ASSIGNFILTER' => 'assign filter', + 'D3_EXTSEARCH_EXT_UNASSIGNFILTER' => 'deselect', + 'D3_EXTSEARCH_EXT_CLEARFILTER' => 'clear all filters', + 'D3_EXTSEARCH_EXT_START_SEARCH' => 'start search', + 'D3_EXTSEARCH_EXT_ALL' => 'all', + 'D3_EXTSEARCH_EXT_CHOOSEPRICE' => 'choose a price range', + 'D3_EXTSEARCH_EXT_DESELECTPRICE' => 'show all price ranges', + 'D3_EXTSEARCH_EXT_PRICECATS' => 'price range', + 'D3_EXTSEARCH_EXT_PRICEFROM' => 'from', + 'D3_EXTSEARCH_EXT_PRICETO' => 'to', + 'D3_EXTSEARCH_EXT_SIMILAR' => '(similar)', + 'D3_EXTSEARCH_EXT_CATHIT' => '(hit from category)', + 'D3_EXTSEARCH_EXT_CMSHEADLINE' => 'informations', + 'D3_EXTSEARCH_EXT_NOARTDESELECT' => 'For this site, filters have been set which do not lead to any result. '. + 'Reset the filter to see all articles on this page.', + + 'D3_EXTSEARCH_IAS_SEARCH' => 'search', + 'D3_EXTSEARCH_IAS_STARTSEARCH' => 'search', + + 'D3_EXTSEARCH_RSS_ATTRIBS' => '| %1$s: %2$s', + 'D3_EXTSEARCH_RSS_INDEXFILTER' => '| Index: %1$s', + 'D3_EXTSEARCH_RSS_PRICEFILTER' => '| Price: %1$s', + + 'D3_EXTSEARCH_ORDER_BYPRIO' => 'relevance', + 'WIDGET_LOCATOR_SORT_D3PRIORITY' => 'relevance', + 'D3PRIORITY' => 'relevance', + + 'D3_EXTSEARCH_SEARCHINPROGRESS' => 'search will performed', + + 'D3_CUSTOMFIELDTEXT_LIKETITLE' => 'Term included in title', + 'D3_CUSTOMFIELDTEXT_ISARTNUM' => 'Term is equal to item number', + 'D3_CUSTOMFIELDTEXT_ISBETWEENSTOCK' => 'Selection is within the stock', + 'D3_CUSTOMFIELDTEXT_CHOOSESTOCK' => 'Please select stock', + 'D3_CUSTOMFIELDTEXT_ISBETWEENPRICE' => 'Selection is within the price', + 'D3_CUSTOMFIELDTEXT_CHOOSEPRICE' => 'Please select stock', + + 'D3_EXTSEARCH_DEBUG_UNABLE_QUERY' => 'unable to generate query because of chosen settings', + 'D3_EXTSEARCH_DEBUG_UNABLE_DIRECTSHOW' => 'switch to details page avoided in debug mode:', +); diff --git a/src/Application/views/admin/blocks/d3_extsearch_article_extend.tpl b/src/Application/views/admin/blocks/d3_extsearch_article_extend.tpl new file mode 100644 index 0000000..31b13ca --- /dev/null +++ b/src/Application/views/admin/blocks/d3_extsearch_article_extend.tpl @@ -0,0 +1,18 @@ +[{$smarty.block.parent}] + + + + + + + + [{oxinputhelp ident="D3_EXTSEARCH_PUSH_DESC"}] + + \ No newline at end of file diff --git a/src/Application/views/admin/blocks/d3_extsearch_attribute_main.tpl b/src/Application/views/admin/blocks/d3_extsearch_attribute_main.tpl new file mode 100644 index 0000000..d9e8d85 --- /dev/null +++ b/src/Application/views/admin/blocks/d3_extsearch_attribute_main.tpl @@ -0,0 +1,11 @@ +[{$smarty.block.parent}] + + + + + + + + oxattribute__d3notuse4filter->value == 1}]CHECKED[{/if}] [{$readonly}]> + + \ No newline at end of file diff --git a/src/Application/views/admin/blocks/d3_extsearch_category_main.tpl b/src/Application/views/admin/blocks/d3_extsearch_category_main.tpl new file mode 100644 index 0000000..2c0713a --- /dev/null +++ b/src/Application/views/admin/blocks/d3_extsearch_category_main.tpl @@ -0,0 +1,11 @@ +[{$smarty.block.parent}] + + + + + + + + oxcategories__d3notuse4filter->value == 1}]CHECKED[{/if}] [{$readonly}]> + + \ No newline at end of file diff --git a/src/Application/views/admin/blocks/d3_extsearch_content_main.tpl b/src/Application/views/admin/blocks/d3_extsearch_content_main.tpl new file mode 100644 index 0000000..6c9ce83 --- /dev/null +++ b/src/Application/views/admin/blocks/d3_extsearch_content_main.tpl @@ -0,0 +1,11 @@ +[{$smarty.block.parent}] + + + + + + + + oxcontents__d3issearchable->value == 1}]CHECKED[{/if}] [{$readonly}]> + + \ No newline at end of file diff --git a/src/Application/views/admin/de/d3_extsearch_lang.php b/src/Application/views/admin/de/d3_extsearch_lang.php new file mode 100644 index 0000000..5abc2fd --- /dev/null +++ b/src/Application/views/admin/de/d3_extsearch_lang.php @@ -0,0 +1,365 @@ + + * @link http://www.oxidmodule.com + */ + +$sLangName = "Deutsch"; +// ------------------------------- +// RESOURCE IDENTITFIER = STRING +// ------------------------------- +$aLang = array( + +//Navigation + 'charset' => 'UTF-8', + 'd3mxextsearch' => ' Erweiterte Suche', + 'd3mxextsearch_settings' => 'Einstellungen', + 'd3mxextsearch_statistic' => 'Statistik', + 'd3mxextsearch_syneditor' => 'Synonym-Editor', + 'd3tbclextsearch_syneditor_main' => 'Stamm', + 'd3tbclextsearch_syneditor_manage' => 'Synonyme bearbeiten', + 'd3tbclextsearch_syneditor_family' => 'Wortverwandtschaften', + 'd3tbclextsearch_syneditor_synset' => 'Synonymgruppe bearbeiten', + 'd3tbclextsearch_settings_results' => 'Grundeinstellungen', + 'd3tbclextsearch_settings_navigation' => 'Filter + Anzeige', + 'd3tbclextsearch_settings_quick' => 'Schnelltreffer', + 'd3tbclextsearch_settings_browser' => 'Browser-Plugin', + 'd3tbclextsearch_settings_content' => 'Content-Suche', + 'd3tbclextsearch_settings_statistik' => 'Statistik', + + 'D3_EXTSEARCH_LIST_SETTLANG' => 'Einstellungen für Sprache', + 'D3_EXTSEARCH_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Erweiterte-Suche/', + 'D3_EXTSEARCH_HELPLINK_CONFIG' => '', + + 'D3_EXTSEARCH_TRANSL' => 'Erweiterte Suche', + + 'D3_EXTSEARCH_CONFIGVARS_SADDTITLE' => 'Modul-Edition:', + 'D3_EXTSEARCH_CONFIGVARS_BLUSEFILTERINARTICLELISTS' => 'Filter in Artikellisten verfügbar:', + 'D3_EXTSEARCH_CONFIGVARS_FEATUREBIT1' => 'Filter in Artikellisten verfügbar:', + + 'D3_EXTSEARCH_MAIN_DEBUGACTIVE_DESC' => 'Der Debugmodus gibt die verwendeten Datenbankabfragen zur einfacheren Programmierung und Fehlersuche im Frontend aus. Deaktivieren Sie diesen bitte unbedingt für den Livebetrieb, da mit aktiviertem Debugmodus das Datenbank-Caching nicht verwendet wird.', + 'D3_EXTSEARCH_MAIN_MAINSETTINGS' => 'allgemeine Einstellungen', + 'D3_EXTSEARCH_MAIN_FIELDLIST' => 'diese Felder für die Ähnlichkeitssuche und die Schnellsuche verwenden
Relevanz => Feldname (Bsp.: 50 => oxtitle)', + 'D3_EXTSEARCH_MAIN_SORTDEBUG' => 'Ergebnis-Feld-Analyse', + 'D3_EXTSEARCH_MAIN_SORTDEBUG_DESC' => 'Geben Sie Ihren Suchbegriff ein.
In der Tabelle werden zum Artikel auch die Relevanzwerte zu jedem Feld ausgegeben, in welchem der Treffer gefunden wurde. Die Relevanzwerte "..._IN_" definieren Sie in den Einstellungen der "erweiterten Suche". "D3PUSH" ist die Wichtigkeit des Artikels. Die Relevanz jedes Artikels in der Trefferliste ("d3Priority") ergibt sich aus der folgenden Formel:
((Summe aus allen "_IN_"-Feldern) x D3PUSH) + D3PUSH
..._PART_IN_... - in diesen Feldern ist der Suchbegriff mindestens Teil eines Wortes
..._WORD_IN_... - in diesen Felder kommt der Suchbegriff als frei stehendes Wort vor', + 'D3_EXTSEARCH_MAIN_SORTDEBUG_START' => 'Suche starten', + 'D3_EXTSEARCH_MAIN_NOFIELDSDEFINED' => 'Keine Felder definiert.
Standard: \'oxtitle\', \'oxsearchkeys\' und \'oxartnum\'', + 'D3_EXTSEARCH_MAIN_FIELDLIST_DESC' => 'Tragen Sie hier die Artikel-Tabellenfelder ein, die bei der Suche verwendet werden. Die Feldbezeichnungen entnehmen Sie bitte der Shopdatenbank. Ändern Sie diese Eintragungen, muß der Suchindex noch einmal neu erzeugt werden.

Vor den Feldnamen tragen Sie mit => getrennt die Relevanz des jeweiligen Feldes ein. Je höher die Relevanz, umso höher wird ein Artikel gezeigt, wenn der Suchbegriff in diesem Feld vorkommt (separat zu aktivieren). Wird der Suchbegriff in mehreren Feldern gefunden, addiert sich die Relevanz. Ist keine Relevanz angegeben, erhält das Feld automatisch den Wert 10.', + 'SHOP_CONFIG_SEARCHFIELDS' => 'Felder, in denen gesucht wird
"erweiterte Suche" verwendet eigene Einstellungen / Bearbeiten in ', + 'SHOP_CONFIG_SEARCHUSEAND' => 'Wenn mehrere Suchbegriffe eingegeben werden, müssen alle Suchbegriffe in einem Suchergebnis vorkommen (AND). (Wenn die Option nicht aktiv ist, muss nur ein Suchbegriff vorkommen (OR).)', + 'D3_EXTSEARCH_MAIN_PUTINLEAVEOUT' => 'Auslassungen oder Einfügungen erlauben', + 'D3_EXTSEARCH_MAIN_PUTINLEAVEOUT_DESC' => 'Mit dieser Option wird auch nach Artikeln gesucht, in deren Texten ein Buchstabe mehr (eingeschoben) oder weniger (ausgelassen) vorkommt. Jedoch kann sich dadurch auch die Trefferzahl erhöhen und das Ergebnis aufweichen. Auf Singular <-> Plural-Treffer hat diese Einstellung keinen Einfluß.', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS' => 'Verwendung mehrerer Suchworte', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_DESC' => 'Ist es sinnvoll, daß auch bei mehreren Suchworten diese nur im Zusammenhang gesucht werden, können Sie dies hier aktivieren. Andernfalls kann jedes der Suchworte separat und ohne eine Verbindung in den Ergebnissen vorkommen. Im Syntaxmodus kann der Nutzer den Modus selbst bestimmen, in dem er zusammenhängende Worte in Anführungszeichen setzt und/oder mit Plus- oder Minus-Zeichen einschränkt bzw. ausweitet.', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_SINGLE' => 'jedes Wort wird separat gesucht', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_WHOLE' => 'wird nur als zusammenhängender Begriff gesucht', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_SYNTAX' => 'vom Nutzer über Suchsyntax steuerbar', + 'D3_EXTSEARCH_MAIN_SORTING' => 'Artikelsortierung', + 'D3_EXTSEARCH_MAIN_ORDERBYPRIORITY' => 'Treffer nach Relevanz sortieren', + 'D3_EXTSEARCH_MAIN_ORDERBYPRIORITY_DESC' => 'Die Relevanz definiert, wie gut ein gefundener Artikel zum Suchbegriff passt. (Daher ist die Relevanzsortierung auch nur in der Suche verfügbar. In Kategorien steht diese nicht zur Verfügung.)
Hat der Kunde keine eigene Sortierung gewählt, werden die Suchtreffer nach Feldrelevanz sortiert. Die Relevanz legen Sie an den für die Suche definierten Datenbankfeldern fest. Die Summe der Relevanz der Felder, die den Suchbegriff enthalten, wird dann als Sortierkriterium verwendet. In Verbindung mit der Wichtigkeit der Artikel (separat zu aktivieren) kann sich die Relevanz vervielfachen.

Formel:
Sortierung = Relevanzsumme * Wichtigkeit + Wichtigkeit', + 'D3_EXTSEARCH_MAIN_ORDERBYPUSH' => 'Treffer nach Wichtigkeit sortieren', + 'D3_EXTSEARCH_MAIN_ORDERBYPUSH_DESC' => 'Die Wichtigkeit definiert die Empfehlungsposition eines Artikels innerhalb Ihres gesamten Sortimentes.
Hat der Kunde keine eigene Sortierung gewählt, werden die Suchtreffer nach Wichtigkeit sortiert. Die Wichtigkeit legen Sie am jeweiligen Artikel fest. Ohne aktivierte Feldrelevanz ist die Wichtigkeit einziges Sortierkriterium. In Verbindung mit Feldrelevanz wirkt die Wichtigkeit als Multiplikator. Treffer in niedrig priorisierten Feldern bei wichtigen Artikeln können diese damit vor unwichtige Artikel mit hohen Feldrelevanz setzen und die Reihenfolge so ggf. umkehren.

Formel:
Sortierung = Relevanzsumme * Wichtigkeit + Wichtigkeit', + 'D3_EXTSEARCH_MAIN_ORDERBYALTERNATIVE' => 'alternative Sortierung bei identischem Relevanzsortierwert', + 'D3_EXTSEARCH_MAIN_ORDERBYALTERNATIVE_DESC' => 'Die Sortierreihenfolge wird auf Basis der hier gesetzten Einstellungen für jeden Artikel berechnet. Haben mehrere Artikel einen identischen Sortierwert, können diese untereinander nach einem weiteren Kriterium sortiert werden. Als Angabe ist hier der Name eines Feldes der Artikel-Tabelle zugelassen (ohne Sprach-Zusatz). Mit asc und desc stellen Sie ein, ob auf- oder absteigend sortiert wird.', + 'D3_EXTSEARCH_MAIN_VARIANTSETTINGS' => 'Variantensuche', + 'D3_EXTSEARCH_MAIN_VARIANTSEARCH' => 'Shop sucht auch nach Variantenartikeln', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE' => 'wird eine Artikelvariante gefunden, wird ...', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE_SHOWPARENT' => '... deren Vaterartikel in der Trefferliste gezeigt', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE_SHOWVARIANT' => '... die Variante selbst in der Trefferliste gezeigt', + 'D3_EXTSEARCH_MAIN_VARIANTCHECKPARENTACTIVE' => 'Aktivstatus des Elternartikel ausdrücklich prüfen', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE_DESC' => 'Beachten Sie bei der Anzeige des Vaterartikels anstatt der Variante bitte darauf, dass die Vaterartikel auch aktiv und auswählbar sein müssen. Eine zusätzliche Prüfung darauf findet absichtlich nicht statt, da diese das Suchergebnis verfälschen würde.', + 'D3_EXTSEARCH_MAIN_VARIANTSEARCH_DESC' => 'Statt wie üblich nur nach regulären Artikeln zu suchen, findet der Shop mit dieser Option auch einzelne Variantenartikel. Tragen Sie bitte zusätzlich in der Feldliste des Moduls und im Shop unter \'Stammdaten -> Grundeinstellungen -> Einstell. -> Suche\' den Feldname \'oxvarselect\' ein und generieren Sie den Suchindex neu.', + 'D3_EXTSEARCH_MAIN_VARIANTCHECKPARENTACTIVE_DESC' => 'Wird nur verwendet, wenn Varianten als Treffer gezeigt werden. Im Normalfall sollte es zu einem inaktiven Elternartikel keine aktiven Varianten geben. Kommt diese Konstellation in Ihrem Shop aus einem bestimmten Grund dennoch vor, können Sie mit dieser Option die explizite Prüfung auf aktive Elternartikel aktivieren. Beachten Sie, dass diese Option viel Rechenleistung benötigt. Schalten Sie alternativ die Variantenartikel besser inaktiv.', + 'D3_EXTSEARCH_MAIN_OWNFORMFIELDS' => 'individuelle Filterfelder nutzen', + 'D3_EXTSEARCH_MAIN_OWNFORMFIELDS_DESC' => 'Erweitern Sie das Suchformular mit weiteren Filtermöglichkeiten. Um diese auch zu verwenden, muß dieser Haken gesetzt sein. Detailierte Erklärungen zu weiteren Suchfeldern finden Sie im Dokumentations-Ordner des Moduls.', + 'D3_EXTSEARCH_MAIN_LOGSETTINGS' => 'Statistik', + 'D3_EXTSEARCH_MAIN_LOGHITLESS' => 'ergebnislose Suchaktionen für Statistik mitschreiben', + 'D3_EXTSEARCH_MAIN_LOGHITLESS_DESC' => 'Startet der Kunde eine Suchanfrage, die keine Ergnisse liefern kann, werden die Suchbegriffe für Sie aufgezeichnet. Sie finden die Aufstellung dann unter der Registerkarte \'Logging\' und können Ihre Produkte ggf. auch für diese Begriffe optimieren.', + 'D3_EXTSEARCH_MAIN_LOGFORSEARCH' => 'alle Suchanfragen für Statistik mitschreiben (auch ohne shopweites Logging)', + 'D3_EXTSEARCH_MAIN_LOGFORSEARCH_DESC' => 'Schreibt alle Suchanfragen für die modulinterne Statistik mit. Diese Einstellung kann auch gesetzt werden, ohne daß andere Shopfunktionen mitgeschrieben werden. Ist das shopweite Logging aktiviert, werden die Suchanfragen generell mitgeschrieben.', + 'D3_EXTSEARCH_MAIN_PHONETICS' => 'phonetische Suche (nach Klang)', + 'D3_EXTSEARCH_MAIN_SIMILARSEARCH' => 'wenn kein Suchergebnis, Shop sucht nach ähnlichen klingenden Artikel (Bsp.: Suche: Pflanse, Treffer: Pflanze)', + 'D3_EXTSEARCH_MAIN_SIMILARSEARCH_DESC' => 'Hier aktivieren (oder deaktivieren) Sie die phonetische Suche. Damit fangen Sie zum Beispiel Schreibfehler in der Suchabfrage ab und der Kunde findet seine gewünschten Artikel trotzdem mit großer Wahrscheinlichkeit. Ist gleichzeitig die Suche nach Sinn (Semantic) aktiviert, wird zuerst versucht, sinngleiche Treffer zu finden. Schlägt dies fehl, werden Treffer über die Klangsuche ermittelt.', + 'D3_EXTSEARCH_MAIN_PHONETICLANG' => 'für die Ähnlichkeitssuche verwendete Sprache', + 'D3_EXTSEARCH_MAIN_PHONETICLANG_DESC' => 'Da sich die verschiedenen menschlichen Sprachen in Ihrer Aussprache und in der Wort- bzw. Buchstabenzusammensetzung unterscheiden, ist für ein optimales Suchergebnis ein sprachenabhängiges Verfahren zur Indexgenerierung nötig. Sollten Sie in Ihrem Shop hauptsächlich eine andere Sprache als die nebenstehend Angezeigte verwenden, fragen Sie bei uns nach, ob auch ein Modul für Ihre Sprache zur Verfügung steht.', + 'D3_EXTSEARCH_MAIN_SIMILAREXTLIST_1' => 'Shop zeigt zusätzlich ähnliche klingende Treffer, wenn reguläre Suche maximal', + 'D3_EXTSEARCH_MAIN_SIMILAREXTLIST_2' => 'Treffer', + 'D3_EXTSEARCH_MAIN_SIMILAREXTLIST_DESC' => 'Wenn die Suche nur wenige Treffer erzielt, kann man dem Kunden so auch ähnliche Artikel liefern. Diese ähnlichen Artikel werden in der Ergebnisliste nach den tatsächlichen Treffern gezeigt. Der Kunde wird mit einer Meldung über die aufgefüllte Liste informiert. Setzen Sie diese Einstellung bitte jedoch mit Bedacht ein, da die zusätzlichen Treffer die Kunden verwirren könnten.', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH' => 'Treffergenauigkeit bei kurzen Suchworten', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_LESS' => 'weniger Genauigkeit', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_REG' => 'normale Genauigkeit', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_MORE' => 'mehr Genauigkeit', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_DESC' => 'Für eine sinnvolle Trefferliste ist ein ausreichend langes Suchwort nötig. Je \'genauer\' Sie diese Einstellung setzen, umso präziser sind die Treffer.', + 'D3_EXTSEARCH_MAIN_SEMANTICS' => 'semantische Suche (nach Sinn)', + 'D3_EXTSEARCH_MAIN_SEMANTICSEARCH' => 'Shop sucht nach Artikeln mit ähnlichem Sinn (Bsp.: Suche: Gewächs, Treffer: Pflanze)', + 'D3_EXTSEARCH_MAIN_SEMANTICSEARCH_MISSING' => 'Shop sucht nach Artikeln mit ähnlichem Sinn (Bsp.: Suche: Gewächs, Treffer: Pflanze)
Lexikon ist nicht installiert!', + 'D3_EXTSEARCH_MAIN_SEMANTICSEARCH_DESC' => 'Setzen Sie diesen Haken, um eine sinngleiche Suche im Shop zu ermöglichen. Durch z.B. regionale Unterschiede kann es vorkommen, daß Ihre Kunden einen Artikel zwar anders bezeichnen, jedoch Ihr Produkt meinen. Gibt der Kunde nun seinen Wunsch ein, bekommt er gegebenenfalls die Begriffe gezeigt, die in Ihrem Shop das gewünschte Produkt besser beschreiben.
Die sinngleiche Suche wird für Artikelinhalte und Kategorienamen verwendet.', + 'D3_EXTSEARCH_MAIN_SEMANTICUSEPHONETIC' => 'enthält das Suchwort Schreibfehler, wird zusätzlich zur Sinnsuche versucht, die richtige Schreibweise zu ermitteln; erzeugt jedoch ggf. stark abweichende Treffer; erfordert aktivierte phonetische Suche', + 'D3_EXTSEARCH_MAIN_SEMANTICUSEPHONETIC_DESC' => 'Diese Einstellung erlaubt zur sinngleichen Suche auch die phonetische Suche, wenn keine sinngleichen Worte gefunden werden. Da hier jedoch der gewünschte Sinn nicht eindeutig klar ist, werden unter Umständen stark abweichende Treffer gezeigt. Wir empfehlen die Verwendung dieser Einstellung nur eingeschränkt.', + 'D3_EXTSEARCH_MAIN_SAVE' => 'Speichern', + 'D3_EXTSEARCH_MAIN_INDEX' => 'Suchindex', + 'D3_EXTSEARCH_MAIN_INDEXARTCNT' => 'Artikel pro Durchlauf für Index aufarbeiten', + 'D3_EXTSEARCH_MAIN_INDEXARTCNT_DESC' => 'Der Webserver bricht Scripte nach einer gewissen Laufzeit aus Sicherheitsgründen ab. Um die Generierung des Suchindexes dennoch fertigstellen zu können, verarbeitet dieses Script nur eine gewisse Anzahl Artikel und startet sich dann neu. Legen Sie hier fest, wie viele Artikel in einem Durchlauf bearbeitet werden sollen. Bricht die Generierung mit einem Fehler ab, reduzieren Sie die Zahl. Je niedriger die Anzahl, um so länger benötigt jedoch das Script.', + 'D3_EXTSEARCH_MAIN_INDEXERR' => 'Der benötigte Index für die fehlertolerante Suche ist lückenhaft. Klicken Sie hier, um die Liste neu zu generieren:', + 'D3_EXTSEARCH_MAIN_INDEXNOERR' => 'Der benötigte Index für die fehlertolerante Suche scheint vollständig. Im Moment ist keine Aktion nötig, wenn Sie die Sprache nicht geändert haben oder Artikel importiert haben.
Der Index muß für jede Sprache des Shop separat erstellt werden.', + 'D3_EXTSEARCH_MAIN_GENINDEXCMPL' => 'Suchindex komplett neu generieren', + 'D3_EXTSEARCH_MAIN_GENINDEXCMPL_DESC' => 'Generiert für alle im Shop vorhandenen Artikel den Suchindex neu. Dies kann unter Umständen länger dauern.', + 'D3_EXTSEARCH_MAIN_GENINDEXNEW' => 'neue Artikel in Suchindex aufnehmen', + 'D3_EXTSEARCH_MAIN_GENINDEXNEW_DESC' => 'Klicken Sie auf die nebenstehende Schaltfläche, um alle Artikel, die seit der letzten Indizierung geändert oder hinzugefügt wurden, in den Suchindex aufzunehmen. Alle bisherigen Artikel werden dabei ignoriert.', + 'D3_EXTSEARCH_MAIN_GENSEMANTICINDEX' => 'Lexikon für sinngleiche Suche neu indizieren', + 'D3_EXTSEARCH_MAIN_GENSEMANTICINDEX_DESC' => 'Für die Verbindung von sinngleicher Suche und phonetischer Suche benötigt auch das Lexikon den phonetischen Index. Mit dieser Schaltfläche starten Sie die Neuindizierung des Lexikons. Im Normalfall ist dies jedoch nicht notwendig.', + 'D3_EXTSEARCH_MAIN_SHOW_POPUP' => 'PopUp während des Suchvorgangs zeigen', + 'D3_EXTSEARCH_MAIN_CATEGORY' => 'Suche in Kategoriennamen', + 'D3_EXTSEARCH_MAIN_CATEGORY_SEARCH' => 'auch in Kategorienamen suchen und enthaltene Artikel finden', + 'D3_EXTSEARCH_MAIN_CATEGORY_ANDOR_DESC' => 'Diese Einstellung wird nur für die Suche in Kategorienamen verwendet. Für die Artikelsuche gibt es eine eigene Einstellung.', + 'D3_EXTSEARCH_MAIN_CATEGORY_ARTHANDLING' => 'Kategorie selbst oder deren Artikel anzeigen', + 'D3_EXTSEARCH_MAIN_CATEGORY_ARTINCAT' => 'Artikel aus Kategorie anzeigen', + 'D3_EXTSEARCH_MAIN_CATEGORY_CATINLIST' => 'Kategorie zur Auswahl anzeigen', + 'D3_EXTSEARCH_MAIN_CATEGORY_PRIORITY' => 'Relevanz bei Kategorietreffern', + 'D3_EXTSEARCH_MAIN_CATEGORY_PRIORITY_DESC' => 'Kategorietreffer erhalten diese Relevanz, wenn die Relevanzsortierung aktiviert ist. Hierbei steht diese Zahl im Zusammenhang mit der Feldrelevanz (siehe separate Einstellung).', + 'D3_EXTSEARCH_MAIN_MANUFACTURER' => 'Suche in Marken- und Lieferantennamen', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_SEARCH' => 'auch in Marken- und Lieferantennamen suchen und enthaltene Artikel finden', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_ANDOR_DESC' => 'Diese Einstellung wird nur für die Suche in Marken- und Lieferantennamen verwendet. Für die Artikelsuche gibt es eine eigene Einstellung.', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_PRIORITY' => 'Relevanz bei Marken-/Lieferantentreffern', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_PRIORITY_DESC' => 'Marken-/Lieferantentreffer erhalten diese Relevanz, wenn die Relevanzsortierung aktiviert ist. Hierbei steht diese Zahl im Zusammenhang mit der Feldrelevanz (siehe separate Einstellung).', + 'D3_EXTSEARCH_MAIN_ADMINPANEL' => 'Adminbereich', + 'D3_EXTSEARCH_MAIN_ADMINSHOWVARIANTS' => 'zeige nach Suche auch Varianten in Artikelliste', + 'D3_EXTSEARCH_MAIN_USEARTNUMSEARCH' => 'speziell nach Artikelnummern suchen', + 'D3_EXTSEARCH_MAIN_USEARTNUMSEARCH_DESC' => 'mit dieser Einstellung wird vor dem eigentlichen Suchlauf gezielt nach Artikeln gesucht, die den Suchbegriff als Artikelnummer haben.', + 'D3_EXTSEARCH_MAIN_DONTUSEOWNDBVIEWS' => 'Datenbankabfragen verwenden nicht die moduleigenen View-Tabellen', + 'D3_EXTSEARCH_MAIN_DONTUSEOWNDBVIEWS_DESC' => 'Aus Performance-Gründen verwendet die Suche nicht die shopeigenen View-Tabellen, sondern bringt optimierte Versionen dessen mit. Je nach Größe des Datenbank kann deren Verwendung die Geschwindigkeit von Datenbankabfragen bis um den Faktor 100 beschleunigen. Sollen die spezialisierten View-Tabellen nicht verwendet werden, setzen Sie diesen Haken. Dann werden die Abfragen über die shopeigenen View-Tabellen geleitet.
Beachten Sie, dass bei deaktivierung dieser Option die View-Tabellen noch einmal aktualisiert werden müssen.', + 'D3_EXTSEARCH_MAIN_GENERATOR_INCONSISTENTTABLE' => 'Die Artikel-Tabelle der Datenbank ist mit der Langtext-Tabelle nicht konsistent. Bitte bereinigen Sie dies vor der Ausführung des Generators.

Weitere Informationen finden Sie in der FAQ unter %1$s.', + 'D3_EXTSEARCH_MAIN_GENERATOR_FINISHED' => 'Beendet.', + 'D3_EXTSEARCH_MAIN_GENERATOR_NOTE' => 'Hinweis', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSED' => '%1$s Artikel bearbeitet
Generierung abgeschlossen!', + 'D3_EXTSEARCH_MAIN_GENERATOR_TERMPROCESSED' => '%1$s Wort/Wörter bearbeitet
Generierung abgeschlossen!', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING' => 'Bearbeite %1$s%', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING1' => 'Bearbeite %1$s / %2$s Artikel', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING3' => 'Bearbeite %1$s / %2$s Begriffe', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING2' => '%1$s% bearbeitet', + 'D3_EXTSEARCH_MAIN_GENERATOR_WAIT' => 'Bitte warten...', + 'D3_EXTSEARCH_MAIN_GENERATOR_CLOSEWND' => 'Fenster schließen', + + 'D3_EXTSEARCH_NAVI_MAINSETTINGS' => 'allgemeine Einstellungen', + 'D3_EXTSEARCH_NAVI_DISPTYPE' => 'Art der Filter-Anzeige', + 'D3_EXTSEARCH_NAVI_DISPTYPE_LINKLIST' => 'als Linkliste', + 'D3_EXTSEARCH_NAVI_DISPTYPE_DROPDOWN' => 'als DropDown-Liste (erfordert JavaScript)', + 'D3_EXTSEARCH_NAVI_DISPTYPE_DESC' => 'Stellen Sie hier die Anzeigeform der Kategorie-, Lieferanten- und Markenlisten ein. Die DropDown-Listen sparen in der Anzeige Platz, können jedoch bei vielen Einträgen unübersichtlich lang werden. Außerdem benötigen sie beim Kunden JavaScript. Alternativ empfehlen sich Linklisten, die in ihrer Länge auch eingeschränkt werden können.
Beide Anzeigeformen lassen sich im Template nachbearbeiten.', + 'D3_EXTSEARCH_NAVI_EMPTYSEARCH' => 'Suche ohne Suchbegriff zulassen', + 'D3_EXTSEARCH_NAVI_EMPTYSEARCH_DESC' => 'Es kann durchaus sinnvoll sein, auch Suchvorgänge ohne einen Suchbegriff zuzulassen. Möglicherweise werden die dann erhaltenen Treffer erst durch eine zusätzliche Einstellung gefiltert oder Sie möchten ein umfangreiches Suchformular aufbauen, welches möglicherweise kein frei definierbares Suchwort enthält.', + 'D3_EXTSEARCH_NAVI_CATFILTER' => 'Kategoriefilter', + 'D3_EXTSEARCH_NAVI_CATLIST' => 'zeige Kategorienliste', + 'D3_EXTSEARCH_NAVI_CATLIST_DESC' => 'Setzen Sie den Haken, um Ihrem Kunden bei einer umfangreichen Trefferliste eine Auswahl der betroffenen Kategorien anzuzeigen. Damit kann er sein Suchergebnis gezielt einschränken und damit verbessern. Angezeigt wird der Kategoriename und die Anzahl der darin enthaltenen Artikel der Trefferliste.', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT' => 'sortiert nach', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT_COUNT' => 'Anzahl der enthaltenen Artikel', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT_DATA' => 'eingestellter Sortierreihenfolge', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT_DESC' => 'Legen Sie hier fest, nach welchem Kriterium die Kategorieliste sortiert sein soll. Auf die Darstellung hat dies jedoch keinen Einfluß.', + 'D3_EXTSEARCH_NAVI_VENDORFILTER' => 'Lieferantenfilter', + 'D3_EXTSEARCH_NAVI_VENDORLIST' => 'zeige Lieferantenliste', + 'D3_EXTSEARCH_NAVI_VENDORLIST_DESC' => 'Ebenso wie für die Kategorien gibt es auch die Möglichkeit, die Trefferliste noch einmal nach den Lieferanten zu filtern. Dies schalten Sie hier ein. Diese Option ist nur verfügbar, wenn Sie generell die Lieferantent im Shop aktiviert haben und auch eine Suche danach erlauben. (\'Lieferantenliste laden und anzeigen\')', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT' => 'sortiert nach', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT_COUNT' => 'Anzahl der enthaltenen Artikel', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT_ALPHA' => 'alphabetisch', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT_DESC' => 'Bestimmen Sie die Anzeigereihenfolge, in der die Lieferanten aufgelistet sein sollen.', + 'D3_EXTSEARCH_NAVI_MANUFACTURERFILTER' => 'Markenfilter', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST' => 'zeige Markenliste', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_DESC' => 'Ebenso wie für die Kategorien gibt es auch die Möglichkeit, die Trefferliste noch einmal nach den Marken zu filtern. Dies schalten Sie hier ein. Diese Option ist nur verfügbar, wenn Sie generell die Marken im Shop aktiviert haben und auch eine Suche danach erlauben. (\'Markenliste laden und anzeigen\')', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT' => 'sortiert nach', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_COUNT' => 'Anzahl der enthaltenen Artikel', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_ALPHA' => 'alphabetisch', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_DESC' => 'Bestimmen Sie die Anzeigereihenfolge, in der die Marken aufgelistet sein sollen.', + 'D3_EXTSEARCH_NAVI_REDIRECTS' => 'Weiterleitungen', + 'D3_EXTSEARCH_NAVI_UNIQUEHIT' => 'bei 1 Artikeltreffer, Shop wechselt direkt zur Detailseite des Artikels', + 'D3_EXTSEARCH_NAVI_UNIQUEHIT_DESC' => 'Hat Ihr Kunde so präzise gesucht, daß er die gewünschte Information als Einziges in der Trefferliste hat, können Sie ihm den Umweg über die Trefferliste ersparen und liefern ihm sofort die Detailseite des gefunden Artikels.', + 'D3_EXTSEARCH_NAVI_UNIQUECONTENTHIT' => 'bei 1 CMS-/Texttreffer, Shop wechselt direkt zur CMS-Seite', + 'D3_EXTSEARCH_NAVI_UNIQUECONTENTHIT_DESC' => 'Enthält das Suchergebniss keine Artikel, jedoch einen einzigen CMS-Text, wird direkt auf die passende CMS-Seite weitergeleitet. Der Benutzer verlässt damit die Suchfunktion des Shops, seine Sucheinstellungen sind dann nicht mehr verfügbar.', + 'D3_EXTSEARCH_NAVI_UNIQUEVENDORHIT' => 'bei 1 Lieferantentreffer, Shop wechselt direkt zur Lieferanten-Seite des Shops', + 'D3_EXTSEARCH_NAVI_UNIQUEVENDORHIT_DESC' => 'Enthält das Suchergebniss keine Artikel, jedoch einen einzigen Lieferant, wird direkt auf die passende Lieferanten-Seite Ihres Shops weitergeleitet. Diese Option erfordert die "Suche in Marken- und Lieferantennamen". Der Benutzer verlässt damit die Suchfunktion des Shops, seine Sucheinstellungen sind dann nicht mehr verfügbar.', + 'D3_EXTSEARCH_NAVI_UNIQUEMANUFACTURERHIT' => 'bei 1 Markentreffer, Shop wechselt direkt zur Marken-Seite des Shops', + 'D3_EXTSEARCH_NAVI_UNIQUEMANUFACTURERHIT_DESC' => 'Enthält das Suchergebniss keine Artikel, jedoch eine einzige Marke, wird direkt auf die passende Marken-Seite Ihres Shops weitergeleitet. Diese Option erfordert die "Suche in Marken- und Lieferantennamen". Der Benutzer verlässt damit die Suchfunktion des Shops, seine Sucheinstellungen sind dann nicht mehr verfügbar.', + 'D3_EXTSEARCH_NAVI_CONTENTS' => 'Informationsseiten / CMS-Texte', + 'D3_EXTSEARCH_NAVI_CONTENTLIST' => 'suche in CMS-Texten', + 'D3_EXTSEARCH_NAVI_CONTENTLIST_DESC' => 'Neben Artikeln können Sie auch entsprechend markierte Texte suchen lassen. Setzen Sie dazu den entsprechenden Haken bei den jeweiligen CMS-Bausteinen ("Kundeninformationen > CMS-Seiten"). Die Texte werden in der regulären Trefferliste gezeigt.

Diese Option ist auch notwendig, wenn Texte zusätzlich in den Schnelltreffern gezeigt werden sollen. Setzen Sie die entsprechende Option dann auch im Tab "Schnelltreffer".', + 'D3_EXTSEARCH_NAVI_ATTRIBUTEFILTER' => 'Attributfilter', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST' => 'zeige Attributsliste', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_DESC' => 'Aktivieren Sie diese Option, wenn auch nach Attributen gefiltert werden soll.
Jedes Attribut kann in dessen Einstellungen ("Artikel verwalten > Attribute") von der Filterung ausgeschlossen werden, wenn dies nicht sinnvoll ist.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_COMBINE' => 'mehrfache Attributselektionen werden mit "ODER" verknüpft', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_COMBINE_DESC' => 'Aktivieren Sie diese Option, wenn beispielsweise bei gewählter Farbe und gewähltem Material auch Artikel gezeigt werden sollen, die nur eine der Eigenschaften haben. Ohne diese Option werden nur Artikel gezeigt, die beide Eigenschaften gleichzeit besitzen.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT' => 'Attribute sortiert nach', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_POS' => 'eingestellter Attributsposition', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_TITLE' => 'Attributstitel', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_DESC' => 'Hier definieren Sie die Reihenfolge der angezeigten Attribute.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTEVALUES_COMBINE' => 'mehrfache Attributwertselektionen ("Mehrfachauswahl") werden mit "UND" verknüpft', + 'D3_EXTSEARCH_NAVI_ATTRIBUTEVALUES_COMBINE_DESC' => 'Aktivieren Sie diese Option, wenn beispielsweise bei gewählter Farbe "rot" und "grün" nur Artikel gezeigt werden sollen, die beide Farben gleichzeitig haben. Ohne diese Option werden auch Artikel gezeigt, die nur eine der beiden Eigenschaften besitzen.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_SORT' => 'Attributswerte sortiert nach', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_SORT_COUNT' => 'Anzahl der enthaltenen Artikel', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_SORT_POS' => 'eingestellter Attributslistenposition', + 'D3_EXTSEARCH_NAVI_NOATTRIBUTEARTS' => 'auch nach nicht dem jeweiligen Attribut zugeordneten Artikeln filtern', + 'D3_EXTSEARCH_NAVI_NOATTRIBUTEARTS_DESC' => 'Die Attributsfilter bieten mit dieser Option die Wahlmöglichkeit, auch nach Artikeln zu filtern, die z.B. ausdrücklich keiner Farbe oder keinem Material zugeordnet sind.', + 'D3_EXTSEARCH_NAVI_SHOWNOTSELECTABLEATTRIBUTES' => 'nicht wählbare Attributswerte werden nicht ausgeblendet', + 'D3_EXTSEARCH_NAVI_SHOWNOTSELECTABLEATTRIBUTES_DESC' => 'Bei der Artikelfilterung über Attribute werden andere, nicht mehr wählbare Attribute normalerweise ausgeblendet. Aus optischen Gründen kann es dennoch notwendig sein, diese anzuzeigen. Mit dieser Option werden diese Attributswerte informatorisch gelistet, sind jedoch ausgegraut.
Beachten Sie, dass zur Ermittlung dieser Attribute eine zusätzliche Datenabfrage ausgeführt wird. Je nach Artikel-Attributs-Struktur kann dies zusätzliche Ladezeit benötigen.', + 'D3_EXTSEARCH_NAVI_CONTENTSEARCHINLONGTEXT' => 'in CMS-Texten auch Langtexte durchsuchen', + 'D3_EXTSEARCH_NAVI_CONTENTLONG_DESC' => 'Legen Sie fest, ob auch in den Langtexten der CMS-Bausteine gesucht werden soll.', + 'D3_EXTSEARCH_NAVI_SMALLLISTITEMS' => 'Kategorie-, Lieferanten-, Marken- und Textlisten begrenzen
(Kunde kann alle Treffer auf Wunsch anzeigen, funktioniert nur bei "Linklisten")', + 'D3_EXTSEARCH_NAVI_SMALLLISTITEMS_2' => ' Einträge', + 'D3_EXTSEARCH_NAVI_SMALLLISTITEMS_DESC' => 'Bei vielen Suchtreffern kann auch die Kategorie-, Marken-, Lieferanten- und Textliste sehr lang werden. Die Artikeltreffer rutschen so vielleicht nach unten aus dem Anzeigebereich heraus. Beschränken Sie die Anzahl der angezeigten Kategorien und Marken, um diese Listen kurz zu halten. Werden diese Listen dann tatsächlich gekürzt, steht Ihrem Kunden eine Schaltfläche zur Verfügung, um diese Listen auf Wunsch komplett anzuzeigen.', + 'D3_EXTSEARCH_NAVI_ALISTFILTER' => 'Filter werden auch in Artikellisten gezeigt', + 'D3_EXTSEARCH_NAVI_ALISTFILTER_DESC' => 'Auch Artikellisten können mit Filtern eingeschränkt werden. Filterungen sind in Kategorieansichten, Hersteller- und Lieferantenlisten möglich. Als Filter stehen die Einschränkungen über Kategorien, Hersteller, Lieferanten, Attribute oder Preise zur Verfügung. Als Optionen werden die Einstellungen für die Suche verwendet.
Ist dieser Eintrag nicht wählbar, ist diese Option wahrscheinlich in Ihrer Modullizenz nicht enthalten. Lassen Sie Ihre Lizenz hierfür erweitern.', + 'D3_EXTSEARCH_NAVI_PRICELIST' => 'zeige Preiskategorien', + 'D3_EXTSEARCH_NAVI_PRICEFILTER' => 'Preisfilter', + 'D3_EXTSEARCH_NAVI_PRICELIST_DESC' => 'Alle gefundenen Artikel werden in Preiskategorien aufgeteilt und diese als weitere Filterkriterien angeboten. So kann der Kunde eine gewisse Preisspanne für seine gewünschten Artikel wählen. Rabatte sind in den Kategoriepreisen nicht berücksichtig. Gefundene Artikel sind in dem Fall preiswerter, als die Suchanfrage vorgibt.', + 'D3_EXTSEARCH_NAVI_PRICELIST_ITEMS' => 'maximale Anzahl der Preiskategorien', + 'D3_EXTSEARCH_NAVI_PRICELIST_ITEMS_DESC' => 'So viele Preisspannen werden maximal angezeigt. Im Normalfall kann dies jedoch weniger sein, da leere Preisspannen (also ohne enthaltene Artikel) ausgefiltert werden.', + 'D3_EXTSEARCH_NAVI_PRICELIST_ROUNDED' => 'Preisspannen werden gerundet', + 'D3_EXTSEARCH_NAVI_PRICELIST_ROUNDED_DESC' => 'Die kleinste Preisspanne beginnt beim kleinstmöglichen Preis, die größte Preisspanne erstreckt sich bis zum höchten Preis. Die Grenzen dazwischen werden errechet. Diese können unter Umständen jedoch bei krummen Cent-Beträgen liegen. Mit der Option werden die Preise der Spannen gerundet, die Spannen sind jedoch dann weniger aussagekräftig.', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY' => 'Anzeige der Preisspannen', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_DESC' => 'Die Benutzung der Preisspannen über Schieberegler ist aus Gründen der Bedienbarkeit nicht in mobilen Templates möglich. Dort werden die Preisspannen weiterhin als DropDown gezeigt.', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_LISTTYPE' => 'als Dropdown', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_SLIDER' => 'als jQuery-Schieberegler', + 'D3_EXTSEARCH_NAVI_PRICELIST_REQU' => '* jQuery-Schieberegler erfordert installiertes jQuery-Framework in aktueller Version (getestet mit Version 1.4.2) mit Komponenten "jQueryUI Core", "jQueryUI Widget", "jQueryUI Mouse" und "jQueryUI Slider".', + 'D3_EXTSEARCH_NAVI_HIGHLIGHT' => 'gefundene Textstellen werden in Suchergebnissen hervorgehoben', + 'D3_EXTSEARCH_NAVI_HIGHLIGHT_DESC' => 'Manchmal taucht der gesuchte Begriff erst mitten in Beschreibungen auf. Mit dieser Option heben Sie den Begriff optisch hervor.

Stellen Sie dazu im Template \'d3_ext_search_highlight.tpl\' ein, wie die Hervorhebung aussehen soll. Ersetzen Sie dann in \'inc/product.tpl\' alle Variablen, die Hervorhebungen enthalten sollen, gegen den Smarty-Aufruf \[\{ d3_extsearch_highlight text=$variablenname \}\], wobei $variablenname gegen die tatsächliche Textvariable ersetzt wird.', + 'D3_EXTSEARCH_NAVI_INDEXFILTER' => 'Buchstabenindex', + 'D3_EXTSEARCH_NAVI_SHOWINDEX' => 'zeige Buchstabenindex', + 'D3_EXTSEARCH_NAVI_SHOWINDEX_DESC' => 'Der Buchstabenindex gibt Ihren Kunden die Möglichkeit, die Suchtreffer weiter nach dem Anfangsbuchstaben einzuschränken.

Die Buchstabenliste selbst können Sie im Template \'d3_inc_ext_search.tpl\' bearbeiten.', + 'D3_EXTSEARCH_NAVI_FILTERFIELDNAME' => 'Feldname, nach dem gefiltert wird', + 'D3_EXTSEARCH_NAVI_FILTERFIELDNAME_DESC' => 'Möglich sind hier alle Felder aus der Tabelle oxarticles (ohne Sprachzusatz).', + 'D3_EXTSEARCH_NAVI_OWNFORMFIELDS' => 'individuelle Filter', + 'D3_EXTSEARCH_NAVI_SAVE' => 'Speichern', + + 'D3_EXTSEARCH_QUICK' => 'Schnelltreffer', + 'D3_EXTSEARCH_QUICK_ACTIVE' => 'bei Eingabe des Suchbegriffs werden Vorschläge geliefert (wird nur bei Nutzern mit aktiviertem JavaScript angezeigt)', + 'D3_EXTSEARCH_QUICK_ACTIVE_DESC' => '
Geben Sie Ihrem Kunden die Möglichkeit, Artikel noch schneller zu finden. Die Schnellsuche stellt schon während der Eingabe des Suchbegriffs die ersten Treffer in einem eigenen Rahmen dar.
In mobilen Ansichten kann die Schnelltrefferliste aus Gründen der Bedienbarkeit nicht gezeigt werden.', + 'D3_EXTSEARCH_QUICK_FULLOBJECTS' => 'Schnellsuche lädt komplette Objekte, statt performanceoptimierter Zuweisung', + 'D3_EXTSEARCH_QUICK_FULLOBJECTS_DESC' => 'Für die gewöhnliche Darstellung der Schnellsuche reicht eine performanceoptimierte Zuweisung der Ergebnisdaten. Für die Anzeige von bestimmten Informationen (z.B. berechnete Preise etc.) ist es erforderlich, die kompletten Objekte zu laden. Dies vermindert jedoch die Ladegeschwindigkeit.', + 'D3_EXTSEARCH_QUICK_COUNT' => 'maximale Anzahl der zu ladenden Artikel in der Schnellsuche', + 'D3_EXTSEARCH_QUICK_COUNT_DESC' => 'Aus Performancegründen werden die Schnellsuchtreffer nur bis zu dieser definierten Anzahl gezeigt. Werden mehr Treffer gefunden, blendet sich die Artikelliste nicht ein, statt dessen wird ein Hinweis gezeigt. Erhöhen Sie den Wert, wenn Sie für häufig vorkommende Suchbegriffe keine Schnelltreffer erhalten. Kontrollieren Sie aber bitte unbedingt danach die Last Ihres Servers / Accounts. Der Standardwert ist 200.', + 'D3_EXTSEARCH_QUICK_LOADCATEGORIES' => 'zusätzlich auch nach entsprechend benannten Kategorien suchen', + 'D3_EXTSEARCH_QUICK_LOADCATEGORIES_DESC' => 'Neben Artikeln werden in der Schnellsuche auch Kategorien gesucht. Beachten Sie bitte, dass diese Option zusätzliche Resourcen verbraucht, die die Schnellsuche langsamer werden lassen.', + 'D3_EXTSEARCH_QUICK_LOADMANUFACTURERS' => 'zusätzlich auch nach entsprechend benannten Marken suchen', + 'D3_EXTSEARCH_QUICK_LOADMANUFACTURERS_DESC' => 'Neben Artikeln werden in der Schnellsuche auch Marken gesucht. Beachten Sie bitte, dass diese Option zusätzliche Resourcen verbraucht, die die Schnellsuche langsamer werden lassen.', + 'D3_EXTSEARCH_QUICK_LOADVENDORS' => 'zusätzlich auch nach entsprechend benannten Lieferanten suchen', + 'D3_EXTSEARCH_QUICK_LOADVENDORS_DESC' => 'Neben Artikeln werden in der Schnellsuche auch Lieferanten gesucht. Beachten Sie bitte, dass diese Option zusätzliche Resourcen verbraucht, die die Schnellsuche langsamer werden lassen.', + 'D3_EXTSEARCH_QUICK_LOADCONTENT' => 'zusätzlich auch nach entsprechend benannten Texten suchen', + 'D3_EXTSEARCH_QUICK_LOADCONTENT_DESC' => 'Neben Artikeln werden in der Schnellsuche auch Texte gesucht. Beachten Sie bitte, dass diese Option zusätzliche Resourcen verbraucht, die die Schnellsuche langsamer werden lassen.

Für die Verwendung dieser Option ist es erforderlich, dass die Textsuche auch für die reguläre Trefferliste aktiviert ist (Tab "Grundeinstellungen").', + 'D3_EXTSEARCH_QUICK_CMPLOBJ' => 'vor Oxid 4.3.0: komplettes Artikel-Objekt laden, sonst nur ID, Titel und Icon.
Nur bei Bedarf aktivieren, verbraucht mehr Ressourcen. ', + 'D3_EXTSEARCH_QUICK_CMPLOBJ_DESC' => 'Die Darstellung der Schnelltreffer kann von Ihnen in einem Template grafisch an Ihren Shop angepaßt werden. Vielleicht benötigen Sie für Ihre gewünschte Darstellung noch weitere Daten außer dem Arikelnamen und dem Link zum Artikel. So lassen sich z.B. auch Miniaturbilder, der Preis oder auch gleich ein Warenkorbbutton einblenden. Dazu benötigen Sie jedoch Informationen, die so im Standard nicht verfügbar sind. Setzen Sie diesen Haken, um alle Artikeldaten verfügbar zu machen.

Ab Shopversion 4.3.0 ist es unbedingt notwendig, das komplette Artikelobjekt zu laden. Diese Einstellung wird dann ignoriert.', + 'D3_EXTSEARCH_QUICK_LOADVARIANTS' => 'Variantenartikel laden und in der Schnellsuche anzeigen
Tragen Sie dazu in den Suchfeldern zusätzlich \'oxvarselect\' ein.', + 'D3_EXTSEARCH_QUICK_LOADVARIANTS_DESC' => 'Normalerweise sucht die Shopsuche nicht nach Artikelvarianten. Haben Sie jedoch viele Variantenartikel in Ihrem Shop, kann es sinnvoll sein, die Suche dafür freizuschalten.', + 'D3_EXTSEARCH_QUICK_SAVE' => 'Speichern', + 'D3_EXTSEARCH_QUICK_TPLNOTICE' => 'Hinweis: Um das Fenster der Schnellsuche grafisch anzupassen, erweitern Sie die Templateblöcke in \'d3_ext_search_suggestsearch.tpl\'.', + 'D3_EXTSEARCH_QUICK_IAS' => 'interaktive Suche (Markier-Suche)', + 'D3_EXTSEARCH_QUICK_SHOWIAS' => 'zeige interaktive Suche (Markier-Suche)', + 'D3_EXTSEARCH_QUICK_SHOWIAS_DESC' => 'Markieren Sie im Shop ein Wort, wird Ihnen in dessen Nähe ein kleines Formular eingeblendet, mit dessen Hilfe Sie sofort nach dem markierten Wort suchen können. Klicken Sie an eine andere Stelle im Shop, verschwindet das Fenster wieder.', + + 'D3_EXTSEARCH_STAT_TYPE' => 'Auswertung:', + 'D3_EXTSEARCH_STAT_NOHITS' => 'keine Auswertungen vorhanden', + 'D3_EXTSEARCH_STAT_NOREPORTBASE' => 'Ihr Shop unterstützt diese Auswertungen leider nicht.', + 'D3_EXTSEARCH_STAT_NOREPORTBASE_DESC' => 'Für die Verwendung der Statistik ist die OXID-Klasse "OeStatistics_Report_Base" erforderlich. Im OXID eShop wird dieses Script durch ein separat zu installierendes Modul "Statistiken" bereitgestellt. Daher kann die grafische Auswertung in Ihrem Shop ohne dessen Installation leider nicht genutzt werden.', + 'D3_EXTSEARCH_STAT_TYPEHITLESS' => 'Suchabfragen ohne Treffer', + 'D3_EXTSEARCH_STAT_TYPEMOSTHITS' => 'Suchabfragen mit den meisten Treffern', + 'D3_EXTSEARCH_STAT_TYPEMOSTSEARCHES' => 'häufigste Suchbegriffe', + 'D3_EXTSEARCH_STAT_LANG' => 'Sprache:', + 'D3_EXTSEARCH_STAT_TIME' => 'Zeitraum:', + 'D3_EXTSEARCH_STAT_GENERATESTAT' => 'Auswertung erstellen', + 'D3_EXTSEARCH_STAT_SEARCHWORD' => 'Suchwort', + 'D3_EXTSEARCH_STAT_HITS' => 'Treffer', + 'D3_EXTSEARCH_STAT_SEARCHES' => 'Anfragen', + 'D3_EXTSEARCH_STAT_TYPES_CATEGORY' => 'Kategorie', + 'D3_EXTSEARCH_STAT_TYPES_PRICE' => 'Preis', + 'D3_EXTSEARCH_STAT_TYPES_VENDOR' => 'Lieferant', + 'D3_EXTSEARCH_STAT_TYPES_MANUFACTURER' => 'Marken', + 'D3_EXTSEARCH_STAT_TYPES_OWNLIKE' => 'eig. Suchfeld (LIKE)', + 'D3_EXTSEARCH_STAT_TYPES_OWNIS' => 'eig. Suchfeld (IS)', + 'D3_EXTSEARCH_STAT_TYPES_OWNVALUE' => '%s => "%s"', + 'D3_EXTSEARCH_STAT_TYPES_ATTRIBUTE' => 'Attribute', + 'D3_EXTSEARCH_STAT_TYPES_INDEXLETTER' => 'Indexbuchstabe', + 'D3_EXTSEARCH_STAT_TYPES_UNKNOWN' => 'unbekannte Filterung', + 'D3_EXTSEARCH_STAT_STATDESC_HITLESS' => 'ergebnislose Suchanfragen in %s nach "%s" ', + 'D3_EXTSEARCH_STAT_STATDESC_MOSTSEARCHES' => 'Suchanfragen in %s nach "%s" ', + 'D3_EXTSEARCH_STAT_NOITEMS' => 'für die Einstellungen sind keine Einträge vorhanden', + 'D3_EXTSEARCH_STAT_NOITEMS_DESC' => 'Wenn Sie hier Daten erwartet haben, kontrollieren Sie bitte, ob die Statistikerfassung in den Moduleinstellungen passend aktiviert ist.', + 'D3_EXTSEARCH_STAT_SELECTFILTER' => 'Setzen Sie den gewünschten Filter und schicken Ihre Auswahl ab, um Ergebnisse zu erhalten.', + + 'D3_EXTSEARCH_PLUGIN_SETTINGS' => 'Einstellungen', + 'D3_EXTSEARCH_PLUGIN_SEARCHACTIVE' => 'dem Nutzer im Browser anbieten, das Such-Plugin zu installieren', + 'D3_EXTSEARCH_PLUGIN_SEARCHACTIVE_DESC' => 'Im Internet Explorer ab Version 7 und auch im Firefox ab Version 2 finden Sie im rechten oberen Eck eine Möglichkeit, von jeder beliebigen Stelle im Internet aus die wichtigsten Suchmaschinen zu starten. Bieten Sie Ihren Kunden an, auch Ihren Shop in diese Liste hinzuzufügen. So reicht es, in der Drop-Down-Box Ihren Shop auszuwählen und den Suchbegriff einzugeben. Sofort wird Ihr Shop mit den Suchtreffern gezeigt. Als Text wird Ihr Shoptitel verwendet, ein Icon können Sie weiter unten festlegen.', + 'D3_EXTSEARCH_PLUGIN_INSTALLLINK' => 'einen Installationslink in der Shop-Suche anzeigen', + 'D3_EXTSEARCH_PLUGIN_INSTALLLINK_DESC' => 'Kann Ihr Kunden Ihren Shop in die Suchmaschinenliste hinzufügen, wird dies im Browser durch eine farbige Umrandung angezigt. Dies ist jedoch nur wenig auffällig, viele Nutzer übersehen dies. Stellen Sie in den Suchergebnissen besser noch einen zusätzlichen Link dar, um auf diese Funktion hinzuweisen.', + 'D3_EXTSEARCH_PLUGIN_SEARCHICON' => 'Icon für Browserplugin', + 'D3_EXTSEARCH_PLUGIN_CHOOSEICON' => 'Bitte wählen Sie noch ein Icon.', + 'D3_EXTSEARCH_PLUGIN_SEARCHICON_DESC' => 'Legen Sie hier das Icon fest, welches im Browser-Plugin angezigt werden soll. Das Icon muß ein Größe von 16 x 16 Pxeln haben und im PNG- oder JPG-Format vorliegen.', + 'D3_EXTSEARCH_PLUGIN_SAVE' => 'Speichern', + 'D3_EXTSEARCH_PLUGIN_GENERATE' => 'Generierung', + 'D3_EXTSEARCH_PLUGIN_GENERATE_DESC' => 'Haben Sie Ihren Shoptitel geändert, ein neues Icon festgelegt oder sogar Ihren Shop auf eine neue Adresse umgezogen, ist es nötig, das Suchplugin zu aktualisieren. Weisen Sie bitte auch Ihre Kunden darauf hin, das Plugin zu aktualisieren. Es erneuert sich nicht automatisch.', + 'D3_EXTSEARCH_PLUGIN_STARTGENERATING' => 'Erstellung durchführen', + 'D3_EXTSEARCH_PLUGIN_GENERATEFILE' => 'Installations-Datei erstellen:', + 'D3_EXTSEARCH_PLUGIN_GENERATENOTICE' => 'Mit der Erstellung der Installations-Datei haben Sie alle erforderlichen Schritte durchgeführt. Startet Ihr Kunde die Integration, wird diese Datei automatisch von Ihrem Server ausgelesen.', + 'D3_EXTSEARCH_PLUGIN_CREATE_SUCC' => 'Plugindatei wurde erfolgreich generiert.', + 'D3_EXTSEARCH_PLUGIN_CREATE_NSUCC' => 'Plugindatei konnte nicht erstellt werden.', + + 'D3_EXTSEARCH REPORT_MOSTSEARCHES' => 'Suchbegriffe (nur im Suchmodul verfgb.)', + 'D3_EXTSEARCH_STATISTIC_MOSTSEARCHES' => 'häufigste Suchbegriffe', + 'D3_EXTSEARCH_STATISTIC_MOST_DESC' => 'So oft wurde der gewählte Begriff gesucht', + 'D3_EXTSEARCH_STATISTIC_FURTHERFILTERS' => '(durch weitere Filter eingeschränkt)', + 'D3_EXTSEARCH_STATISTIC_GRAPH' => 'grafische Auswertung', + + 'D3_EXTSEARCH_CONTENT_SEARCHABLE' => 'D³ CMS kann gesucht werden', + 'D3_EXTSEARCH_PUSH' => 'D³ Wichtigkeit des Artikels im Sortiment', + 'D3_EXTSEARCH_PUSH_1' => 'normal', + 'D3_EXTSEARCH_PUSH_2' => 'wichtiger', + 'D3_EXTSEARCH_PUSH_3' => 'besonders wichtig', + 'D3_EXTSEARCH_PUSH_DESC' => 'D³ Modul "erweiterte Suche": Die Wichtigkeit definiert die erste Reihenfolge der Artikel in der Suche (bei Verwendung der "erweiterten Suche"). In Verbindung mit Feldrelevanz funktioniert die Wichtigkeit als Faktor. Besonders wichtige Artikel haben zum Beispiel die 3 fache Relevanz von normal gewichteten Artikeln. Beachten Sie dies auch bei der Vergabe der Feldrelevanz.', + + 'D3_EXTSEARCH_ATTRIBUTE_NOTUSE4FILTER' => 'D³ Attribut wird in Suche für Filter NICHT verwendet', + 'D3_EXTSEARCH_CATEGORY_NOTUSE4FILTER' => 'D³ Kategorie wird in Suche für Filter und Kategorieergebnisse NICHT verwendet', + + 'D3_EXTSEARCH_SYNED_NOLEXICON' => 'Das semantische Lexikon ist nicht installiert! Weitere Informationen hierzu finden Sie im Modulhandbuch.', + 'D3_EXTSEARCH_SYNED_WORD' => 'Wort', + 'D3_EXTSEARCH_SYNED_WORD_DESC' => 'Suchen Sie nach einem bestimmten Begriff, geben Sie diesen hier ein und senden die Eingabe ab.', + 'D3_EXTSEARCH_SYNED_ALTWORD' => 'sinnähnliche Worte', + 'D3_EXTSEARCH_SYNED_SYNSETID' => 'Synonym-ID', + 'D3_EXTSEARCH_SYNED_SYNSETID_DESC' => 'Suchen Sie nach einer bestimmten Synonym-ID, geben Sie diese hier ein und senden die Eingabe ab.', + 'D3_EXTSEARCH_SYNED_SAVENEWSYN' => 'neues Synonym speichern', + 'D3_EXTSEARCH_SYNED_SAVENEWSYN_DESC' => 'Legen Sie hier einen weiteren Begriff für die gewählte Bedeutung ab.', + 'D3_EXTSEARCH_SYNED_DELETESYN' => 'Soll das Synonym wirklich gelöscht werden?', + + 'D3_EXTSEARCH_SYNED_MAIN_NEWWORD' => 'Neues Wort / Wortgruppe', + + 'D3_EXTSEARCH_SYNED_MAIN_WORD' => 'Wort / Wortgruppe:', + 'D3_EXTSEARCH_SYNED_MAIN_WORD_DESC' => 'Möchten Sie für eine neue Wortbedeutung passende Begriffe anlegen, notieren Sie hier den ersten Begriff. Fügen Sie den Begriff hier nur ein, wenn die Wortbedeutung noch nicht im Lexikon existiert. Ansonsten tragen Sie den neuen Begriff in der passenden Bedeutung im Tab "Synonyme bearbeiten" nach.', + 'D3_EXTSEARCH_SYNED_MAIN_COMMENT' => 'Kommentar:', + 'D3_EXTSEARCH_SYNED_MAIN_COMMENT_DESC' => 'Der Kommentar dient ausschließlich dazu, weitere interne Erklärungen zum Begriff ablegen zu können. Er wird für die Suche nicht verwendet.', + 'D3_EXTSEARCH_SYNED_MAIN_SYNSETID' => 'Synonym-ID:', + 'D3_EXTSEARCH_SYNED_MAIN_SYNSETID_DESC' => 'Unter einer einheitlichen Synonym-ID werden alle Begriffe mit gleicher Bedeutung abgelegt. Bei Neueinträgen wird automatisch eine neue ID vergeben. Wurde ein Begriff versehentlich der falschen Bedeutung zugewiesen, suchen Sie sich aus der passenden Bedeutung die Synonym-Id und ändern diese an Ihrem Begriff.', + 'D3_EXTSEARCH_SYNED_MAIN_LANGUAGE' => 'Sprache:', + 'D3_EXTSEARCH_SYNED_MAIN_LANGUAGE_DESC' => 'Bestimmen Sie hieran, aus welcher Sprache der ausgewählte Begriff stammt und in welcher dieser verwendet werden soll. Es stehen nur die im Shop aktivierten Sprachen zur Verfügung.', + 'D3_EXTSEARCH_SYNED_MAIN_LANGUAGE_DISABLED' => '(deaktiviert)', + + 'D3_EXTSEARCH_SYNED_MANAGE_DESC' => 'Die hier gezeigten Synonyme sind alternative Begriffe für die oben gewählte Bedeutung.', + 'D3_EXTSEARCH_SYNED_MANAGE_EDIT' => 'bearbeiten', + 'D3_EXTSEARCH_SYNED_MANAGE_EDIT_DESC' => 'Möchten Sie zusätzliche Details zu dem Begriff hinterlegen oder diesen einer anderen Bedeutung zuordnen, klicken Sie auf das Symbol. Der Adminbereich wechselt zum Bearbeitungsbereich für genau den Begriff.', + 'D3_EXTSEARCH_SYNED_MANAGE_SYNONYM' => 'Synonym', + + 'D3_EXTSEARCH_UPDATE_GENPHONETIC' => '"erweiterte Suche": Das Modulupdate führte Änderungen in der Datenbankstruktur für die Ähnlichkeitssuche aus. Aktualisieren Sie deshalb nach Abschluss dieser Installation den Suchindex im Adminbereich des Moduls.', + + 'GENERAL_ARTICLE_D3_PHONETIC' => 'erwSuche - phonetischer Index', + // Multilang-Fields for importer + 'GENERAL_ARTICLE_D3_SEARCHINDEXDATE' => 'erwSuche - Datum letzte Indizierung', + // Multilang-Fields for importer + 'GENERAL_ARTICLE_D3PUSH' => 'erwSuche - Artikelwichtigkeit', + // Multilang-Fields for importer + 'GENERAL_ARTICLE_OXVARSELECT' => 'Variantentitel', + +); diff --git a/src/Application/views/admin/de/module_options.php b/src/Application/views/admin/de/module_options.php new file mode 100644 index 0000000..2c8ae31 --- /dev/null +++ b/src/Application/views/admin/de/module_options.php @@ -0,0 +1,38 @@ + + * @link http://www.oxidmodule.com + */ + +$sModId = 'd3_extsearch'; + +$sD3Help_mappedTo = '

Unsere Module sind für die Standardthemes des '. + 'OXID-Shops vorbereitet. Sie müssen hier nichts eintragen, wenn sich das von Ihnen im Shop verwendete Theme von '. + 'einem dieser Standard-Themes ableitet (vererbt wird). Handelt es sich um ein komplett eigenes Theme, so tragen '. + 'Sie dessen Parent-Theme-ID bei dem OXID-Standard-Theme ein, dem es am nächsten kommt.

'. + '

Weitere Informationen hierzu finden Sie in unserem FAQ-Eintrag.

'; + +$aLang = array( + 'charset' => 'UTF-8', + + 'SHOP_MODULE_GROUP_d3thememapping_global' => 'Template-Blöcke dem eigenen Theme zuordnen (globale Einstellungen für D3-Module)', + 'SHOP_MODULE_GROUP_d3thememapping_module' => 'Template-Blöcke dem eigenen Theme zuordnen (Einstellung nur für dieses Modul)', + 'SHOP_MODULE_d3custParentThemeMappedToMobile_'.$sModId => 'Ist das hier eingetragene Theme aktiv, werden die "Mobile"-Templateblöcke des Moduls verwendet.', + 'SHOP_MODULE_d3custParentThemeMappedToAzure_'.$sModId => 'Ist das hier eingetragene Theme aktiv, werden die "Azure"-Templateblöcke des Moduls verwendet.', + 'SHOP_MODULE_d3custParentThemeMappedToFlow_'.$sModId => 'Ist das hier eingetragene Theme aktiv, werden die "Flow"-Templateblöcke des Moduls verwendet.', + + 'HELP_SHOP_MODULE_d3custParentThemeMappedToMobile_'.$sModId => $sD3Help_mappedTo, + 'HELP_SHOP_MODULE_d3custParentThemeMappedToAzure_'.$sModId => $sD3Help_mappedTo, + 'HELP_SHOP_MODULE_d3custParentThemeMappedToFlow_'.$sModId => $sD3Help_mappedTo, +); diff --git a/src/Application/views/admin/en/d3_extsearch_lang.php b/src/Application/views/admin/en/d3_extsearch_lang.php new file mode 100644 index 0000000..e442981 --- /dev/null +++ b/src/Application/views/admin/en/d3_extsearch_lang.php @@ -0,0 +1,365 @@ + + * @link http://www.oxidmodule.com + */ + +$sLangName = "English"; +// ------------------------------- +// RESOURCE IDENTITFIER = STRING +// ------------------------------- +$aLang = array( + +//Navigation + 'charset' => 'UTF-8', + 'd3mxextsearch' => ' Extended Search', + 'd3mxextsearch_settings' => 'Settings', + 'd3mxextsearch_statistic' => 'Statistic', + 'd3mxextsearch_syneditor' => 'Synonym Editor', + 'd3tbclextsearch_syneditor_main' => 'Main', + 'd3tbclextsearch_syneditor_manage' => 'Edit synonyms', + 'd3tbclextsearch_syneditor_family' => 'Synonym family', + 'd3tbclextsearch_syneditor_synset' => 'Edit synonym group', + 'd3tbclextsearch_settings_results' => 'Base Settings', + 'd3tbclextsearch_settings_navigation' => 'Filters + Display Settings', + 'd3tbclextsearch_settings_quick' => 'Suggest Search', + 'd3tbclextsearch_settings_browser' => 'Browser Plugins', + 'd3tbclextsearch_settings_content' => 'Content Search', + 'd3tbclextsearch_settings_statistik' => 'Statistic', + + 'D3_EXTSEARCH_LIST_SETTLANG' => 'settings for language', + 'D3_EXTSEARCH_HELPLINK' => 'Fragen-zu-speziellen-Modulen/Erweiterte-Suche/', + 'D3_EXTSEARCH_HELPLINK_CONFIG' => '', + + 'D3_EXTSEARCH_TRANSL' => 'Extended Search', + + 'D3_EXTSEARCH_CONFIGVARS_SADDTITLE' => 'module edition:', + 'D3_EXTSEARCH_CONFIGVARS_BLUSEFILTERINARTICLELISTS' => 'filters in article lists available:', + 'D3_EXTSEARCH_CONFIGVARS_FEATUREBIT1' => 'filters in article lists available:', + + 'D3_EXTSEARCH_MAIN_DEBUGACTIVE_DESC' => 'Debug mode outputs the used database queries for easier programming and debugging in the frontend. Be sure to deactivate it for live operation, as debug mode does not use database caching.', + 'D3_EXTSEARCH_MAIN_MAINSETTINGS' => 'Common Settings', + 'D3_EXTSEARCH_MAIN_FIELDLIST' => 'these fields will used in similar and quicksearch
relevance => field name (example.: 50 => oxtitle)', + 'D3_EXTSEARCH_MAIN_SORTDEBUG' => 'result field analysis', + 'D3_EXTSEARCH_MAIN_SORTDEBUG_DESC' => 'Insert your search term.
In the table you\'ll get all relevance values according to every field, which fits to the hit. You can change all relevance values "_IN_" in the "extended search" settings. "D3PUSH" is the articles importance. The relevance for each article in the result list ("d3Priority") is calculated by this formula:
((sum from all "_IN_" fields) x D3PUSH) + D3PUSH
..._PART_IN_... - search term is contained as part in content of these field
..._WORD_IN_... - search term is a single word in these field', + 'D3_EXTSEARCH_MAIN_SORTDEBUG_START' => 'start search', + 'D3_EXTSEARCH_MAIN_NOFIELDSDEFINED' => 'There are no fields defined.
Standard: \'oxtitle\', \'oxsearchkeys\' and \'oxartnum\'', + 'D3_EXTSEARCH_MAIN_FIELDLIST_DESC' => 'Enter the article table fields used in the search here. The field names can be found in the shop database. If you change these entries, the search index must be recreated again.

Before the field names, enter the relevance of the relevant field with => separated. The higher the relevance, the higher an article will be shown if the search term occurs in this field (to be activated separately). If the search term is found in several fields, the relevance adds up. If no relevance is specified, the field automatically receives the value 10.', + 'SHOP_CONFIG_SEARCHFIELDS' => 'Fields to be considered in Search
"extended search" use own settings / edit in ', + 'SHOP_CONFIG_SEARCHUSEAND' => 'If several search terms are entered, all search terms must appear in a search result (AND). (If the option is not active, only one search term must occur (OR).)', + 'D3_EXTSEARCH_MAIN_PUTINLEAVEOUT' => 'allow included and excluded letters in search string', + 'D3_EXTSEARCH_MAIN_PUTINLEAVEOUT_DESC' => 'This option also searches for items whose text contains one more letter (inserted) or less (omitted). However, this can also increase the number of hits and soften the result. This setting has no effect on singular <-> plural hits.', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS' => 'use of multiple search words', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_DESC' => 'If it makes sense that even with multiple search words these are only searched in context, you can activate this here. Otherwise, each of the search words may occur separately and without a link in the results. In syntax mode, the user can designate the mode himself by quoting contiguous words and / or restricting them with plus or minus signs.', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_SINGLE' => 'every word will searched separatly', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_WHOLE' => 'will used as complete string', + 'D3_EXTSEARCH_MAIN_MULIPLEWORDS_SYNTAX' => 'user controlled by search syntax', + 'D3_EXTSEARCH_MAIN_SORTING' => 'Article Sorting', + 'D3_EXTSEARCH_MAIN_ORDERBYPRIORITY' => 'sort hits by relevance', + 'D3_EXTSEARCH_MAIN_ORDERBYPRIORITY_DESC' => 'Relevance defines how well a found article matches the search term. (Therefore, relevance sorting is only available in the search, but not available in categories.)
If the customer has not selected their own sort, the search hits are sorted by field relevance. You determine the relevance to the database fields defined for the search. The sum of the relevance of the fields containing the search term is then used as a sorting criterion. In conjunction with the importance of the articles (to be activated separately) the relevance can multiply.

Formula:
Sorting = Relevance Sum * Importance + Importance', + 'D3_EXTSEARCH_MAIN_ORDERBYPUSH' => 'sort hits by importance', + 'D3_EXTSEARCH_MAIN_ORDERBYPUSH_DESC' => 'Importance defines the referral position of an item within your entire assortment.
If the customer has not chosen their own sort order, the search hits are sorted by importance. The importance you attach to each article. Without activated field relevance, the importance is the only sorting criterion. In connection with field relevance, the importance acts as a multiplier. Hits in low-priority fields in important articles can set them against unimportant articles with high field relevance and reverse the order if necessary.

Formula:
Sorting = Relevance Sum * Importance + Importance', + 'D3_EXTSEARCH_MAIN_ORDERBYALTERNATIVE' => 'additional sorting with identical relevance sort value', + 'D3_EXTSEARCH_MAIN_ORDERBYALTERNATIVE_DESC' => 'The sort order is calculated based on the settings set here for each item. If several articles have an identical sorting value, they can be sorted among themselves according to a further criterion. The name of a field of the article table is allowed here (without language addition). Use asc and desc to set whether to sort in ascending or descending order.', + 'D3_EXTSEARCH_MAIN_VARIANTSETTINGS' => 'Variant Search', + 'D3_EXTSEARCH_MAIN_VARIANTSEARCH' => 'shop search for variant articles too', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE' => 'if an article variant is found, show ...', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE_SHOWPARENT' => '... there parent article in list', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE_SHOWVARIANT' => '... the variant itself in list', + 'D3_EXTSEARCH_MAIN_VARIANTCHECKPARENTACTIVE' => 'check parent article active status explicitly', + 'D3_EXTSEARCH_MAIN_VARIANTUSAGE_DESC' => 'When displaying the parents article instead of the variant please note that the parents article must also be active and selectable. An additional check on it deliberately does not take place, because this would falsify the search result.', + 'D3_EXTSEARCH_MAIN_VARIANTSEARCH_DESC' => 'Instead of searching for regular articles as usual, the shop also finds individual variant articles with this option. Please also enter \'oxvarselect\' in the field list and regenerate the search index.', + 'D3_EXTSEARCH_MAIN_VARIANTCHECKPARENTACTIVE_DESC' => 'Only used if variants are shown as hits. Normally, there should be no active variants to an inactive parent. If, for some reason, this constellation still occurs in your store, you can use this option to enable explicit checking for active parent items. Note that this option requires a lot of processing power. Alternatively, make the variant articles better inactive.', + 'D3_EXTSEARCH_MAIN_OWNFORMFIELDS' => 'check for individual filter form fields', + 'D3_EXTSEARCH_MAIN_OWNFORMFIELDS_DESC' => 'Extend the search form with further filter options. In order to use these as well, this checkbox must be set. Detailed explanations of further search fields can be found in the documentation folder of the module.', + 'D3_EXTSEARCH_MAIN_LOGSETTINGS' => 'Statistic', + 'D3_EXTSEARCH_MAIN_LOGHITLESS' => 'log resultless searches in statistic', + 'D3_EXTSEARCH_MAIN_LOGHITLESS_DESC' => 'If the customer starts a search query that can not provide results, the search terms are recorded for you. You will find the list under the \'Logging\' tab and can also optimize your products for these terms.', + 'D3_EXTSEARCH_MAIN_LOGFORSEARCH' => 'log all search queries in statistic', + 'D3_EXTSEARCH_MAIN_LOGFORSEARCH_DESC' => 'logs all searches for the in-module statistics. This setting can also be set without other shop functions being logged. If the shop-wide logging is activated, the search queries are generally written.', + 'D3_EXTSEARCH_MAIN_PHONETICS' => 'Phonetic Search (search for similar sound)', + 'D3_EXTSEARCH_MAIN_SIMILARSEARCH' => 'if there is no search result, shop search for similar-sounding articles (e.g.: search: Pflanse, result: Pflanze)', + 'D3_EXTSEARCH_MAIN_SIMILARSEARCH_DESC' => 'Here you activate (or deactivate) the phonetic search. For example, this will catch you from typing errors in the search query, and the customer will most likely find your desired articles. If at the same time the search for meaning (semantic) is activated, it is first tried to find matching matches. If this fails, hits are determined by the sound search.', + 'D3_EXTSEARCH_MAIN_PHONETICLANG' => 'for similar search used language', + 'D3_EXTSEARCH_MAIN_PHONETICLANG_DESC' => 'Since the different human languages differ in their pronunciation and in the word or letter composition, a language-dependent index generation process is necessary for an optimal search result. If you mainly use a language other than the ones shown in your shop, please ask us if a module for your language is also available.', + 'D3_EXTSEARCH_MAIN_SIMILAREXTLIST_1' => 'shop show additional similar-sounding articles, if regular search contains max.', + 'D3_EXTSEARCH_MAIN_SIMILAREXTLIST_2' => 'results', + 'D3_EXTSEARCH_MAIN_SIMILAREXTLIST_DESC' => 'If the search scores only a few hits, you can also provide the customer with similar items. These similar items are shown in the result list after the actual matches. The customer will be informed with a message about the filled-in list. Please use this setting wisely, as the additional hits could confuse the customers.', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH' => 'result precision on short search terms', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_LESS' => 'less precision', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_REG' => 'normal precision', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_MORE' => 'more precision', + 'D3_EXTSEARCH_MAIN_MINPHONLENGTH_DESC' => 'For a meaningful hit list a sufficiently long search term is necessary. The more accurate you set this setting, the more accurate the hits.', + 'D3_EXTSEARCH_MAIN_SEMANTICS' => 'Semantic Search (search for similar type)', + 'D3_EXTSEARCH_MAIN_SEMANTICSEARCH' => 'shop search for articles with similar sense (e.g.: search: Gewächs, result: Pflanze)', + 'D3_EXTSEARCH_MAIN_SEMANTICSEARCH_MISSING' => 'shop search for articles with similar sense (e.g.: search: Gewächs, result: Pflanze)
Semantic lexicon isn\'t installed!', + 'D3_EXTSEARCH_MAIN_SEMANTICSEARCH_DESC' => 'Check this box to enable a same meaning search in the shop. By e.g. regional differences may cause your customers to label an item differently, but they may mean your product. If the customer now types in his request, he or she will be shown the terms that better describe the desired product in your shop.
The same meaning search is used for article content and category names.', + 'D3_EXTSEARCH_MAIN_SEMANTICUSEPHONETIC' => 'if the search term contains spelling errors, in addition to the search for meaning, the correct spelling is tried; however, may produce strongly deviant hits; requires activated phonetic search', + 'D3_EXTSEARCH_MAIN_SEMANTICUSEPHONETIC_DESC' => 'This setting also allows the same meaning search for the phonetic search, if no similar words are found. However, since the desired meaning is not clear, under certain circumstances strongly deviating hits are shown. We recommend using this setting only to a limited extent.', + 'D3_EXTSEARCH_MAIN_SAVE' => 'save', + 'D3_EXTSEARCH_MAIN_INDEX' => 'Search Index', + 'D3_EXTSEARCH_MAIN_INDEXARTCNT' => 'articles per work up run for index', + 'D3_EXTSEARCH_MAIN_INDEXARTCNT_DESC' => 'The web server aborts scripts after a certain period of time for security reasons. In order to be able to finish the generation of the search index nevertheless, this script processes only a certain number of articles and then restarts. Define here how many articles should be processed in one go. If the generation terminates with an error, reduce the number. The lower the number, the longer the script needs.', + 'D3_EXTSEARCH_MAIN_INDEXERR' => 'The required index for the fault-tolerant search is incomplete. Click here to regenerate the list:', + 'D3_EXTSEARCH_MAIN_INDEXNOERR' => 'The required index for the fault-tolerant search seems to be complete. At the moment, no action is necessary if you have not changed the language or have imported articles.
The index must be created separately for each language of the shop.', + 'D3_EXTSEARCH_MAIN_GENINDEXCMPL' => 'Generate search index completely', + 'D3_EXTSEARCH_MAIN_GENINDEXCMPL_DESC' => 'Generates the search index for all existing articles in the shop. This may take longer.', + 'D3_EXTSEARCH_MAIN_GENINDEXNEW' => 'Include new articles in search index', + 'D3_EXTSEARCH_MAIN_GENINDEXNEW_DESC' => 'Click the adjoining button to include all items that have been modified or added since the last indexing in the search index. All previous articles are ignored.', + 'D3_EXTSEARCH_MAIN_GENSEMANTICINDEX' => 'Reindex lexicon for same meaning search', + 'D3_EXTSEARCH_MAIN_GENSEMANTICINDEX_DESC' => 'For the connection of same meaning search and phonetic search also the lexicon needs the phonetic index. With this button you start the reindexing of the lexicon. Normally this is not necessary.', + 'D3_EXTSEARCH_MAIN_SHOW_POPUP' => 'show popup while searching', + 'D3_EXTSEARCH_MAIN_CATEGORY' => 'Search in category titles', + 'D3_EXTSEARCH_MAIN_CATEGORY_SEARCH' => 'search in category titles too and show containing articles', + 'D3_EXTSEARCH_MAIN_CATEGORY_ANDOR_DESC' => 'This setting is only used for searching in category names. There is a separate setting for the article search.', + 'D3_EXTSEARCH_MAIN_CATEGORY_ARTHANDLING' => 'Show category yourself or their products', + 'D3_EXTSEARCH_MAIN_CATEGORY_ARTINCAT' => 'Show articles from category', + 'D3_EXTSEARCH_MAIN_CATEGORY_CATINLIST' => 'Show category for selection', + 'D3_EXTSEARCH_MAIN_CATEGORY_PRIORITY' => 'relevance at category results', + 'D3_EXTSEARCH_MAIN_CATEGORY_PRIORITY_DESC' => 'Category hits get this relevance when relevance sorting is enabled. Here, this number is related to the field relevance (see separate setting).', + 'D3_EXTSEARCH_MAIN_MANUFACTURER' => 'Search in brand and vendor titles', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_SEARCH' => 'search in brand and vendor titles too and show assigned articles', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_ANDOR_DESC' => 'This setting is only used for the search in brand and vendor names. There is a separate setting for the article search.', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_PRIORITY' => 'relevance at brand / vendor results', + 'D3_EXTSEARCH_MAIN_MANUFACTURER_PRIORITY_DESC' => 'Brand / vendor hits receive this relevance when relevance sorting is enabled. Here, this number is related to the field relevance (see separate setting).', + 'D3_EXTSEARCH_MAIN_ADMINPANEL' => 'Admin Panel', + 'D3_EXTSEARCH_MAIN_ADMINSHOWVARIANTS' => 'in searchresults show variants in article list too', + 'D3_EXTSEARCH_MAIN_USEARTNUMSEARCH' => 'perform a specialized artnum search', + 'D3_EXTSEARCH_MAIN_USEARTNUMSEARCH_DESC' => 'With this setting, articles that have the search term as article number are searched for before the actual search.', + 'D3_EXTSEARCH_MAIN_DONTUSEOWNDBVIEWS' => 'Database queries do not use the module-specific view tables', + 'D3_EXTSEARCH_MAIN_DONTUSEOWNDBVIEWS_DESC' => 'For performance reasons, the search does not use the system-specific view tables, but comes with optimized versions of it. Depending on the size of the database, their use can speed the speed of database queries up to a factor of 100. If you do not want to use the specialized view tables, check this box. The queries are then routed through the on-look view tables.
Note that disabling this option requires the view tables to be updated again.', + 'D3_EXTSEARCH_MAIN_GENERATOR_INCONSISTENTTABLE' => 'The database article table is inconsistent to longtext table. Please fix it before executing this generator.

For further informations, check out our FAQ at %1$s.', + 'D3_EXTSEARCH_MAIN_GENERATOR_FINISHED' => 'Finished.', + 'D3_EXTSEARCH_MAIN_GENERATOR_NOTE' => 'Notice', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSED' => '%1$s article(s) processed
Finished!', + 'D3_EXTSEARCH_MAIN_GENERATOR_TERMPROCESSED' => '%1$s term(s) processed
Finished!', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING' => 'Processing %1$s%', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING1' => 'Processing: %1$s / %2$s article(s)', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING3' => 'Processing: %1$s / %2$s term(s)', + 'D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING2' => '%1$s% finished', + 'D3_EXTSEARCH_MAIN_GENERATOR_WAIT' => 'Please wait...', + 'D3_EXTSEARCH_MAIN_GENERATOR_CLOSEWND' => 'close window', + + 'D3_EXTSEARCH_NAVI_MAINSETTINGS' => 'Common Settings', + 'D3_EXTSEARCH_NAVI_DISPTYPE' => 'Type of filter display', + 'D3_EXTSEARCH_NAVI_DISPTYPE_LINKLIST' => 'as link list', + 'D3_EXTSEARCH_NAVI_DISPTYPE_DROPDOWN' => 'as dropdown list (requires java script)', + 'D3_EXTSEARCH_NAVI_DISPTYPE_DESC' => 'Here you set the display form of the category, supplier and brand lists. The drop-down lists save space in the display, but can be confusing for many entries. In addition, they need JavaScript from the customer. Alternatively, link lists are recommended, which can be restricted in their length.
Both forms of display can be edited in the template.', + 'D3_EXTSEARCH_NAVI_EMPTYSEARCH' => 'allow search without a term', + 'D3_EXTSEARCH_NAVI_EMPTYSEARCH_DESC' => 'It may be useful to allow searches without a search term. It may be that the resulting hits are filtered by an additional setting or you want to build an extensive search form, which may not contain a freely definable search term.', + 'D3_EXTSEARCH_NAVI_CATFILTER' => 'Category Filter', + 'D3_EXTSEARCH_NAVI_CATLIST' => 'show category list', + 'D3_EXTSEARCH_NAVI_CATLIST_DESC' => 'Check the box to show your customer a selection of the affected categories for a comprehensive hit list. This allows him to restrict his search result targeted and improve it. The category name and the number of articles in the hit list are displayed.', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT' => 'sort by', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT_COUNT' => 'count of related articles', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT_DATA' => 'defined sort', + 'D3_EXTSEARCH_NAVI_CATLIST_SORT_DESC' => 'Define the criterion according to which the category list should be sorted. However, this has no influence on the presentation.', + 'D3_EXTSEARCH_NAVI_VENDORFILTER' => 'Vendor Filter', + 'D3_EXTSEARCH_NAVI_VENDORLIST' => 'show vendor list', + 'D3_EXTSEARCH_NAVI_VENDORLIST_DESC' => 'Just as for the categories, there is also the option of filtering the hit list once again for the vendors. You switch this on here. This option is only available if you have generally activated the vendors in the shop and also allow a search for it. (\'Load and display vendor list\')', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT' => 'sort by', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT_COUNT' => 'count of related articles', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT_ALPHA' => 'alphabetical', + 'D3_EXTSEARCH_NAVI_VENDORLIST_SORT_DESC' => 'Determine the display order in which the vendors should be listed.', + 'D3_EXTSEARCH_NAVI_MANUFACTURERFILTER' => 'Brand Filter', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST' => 'show brand list', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_DESC' => 'Just as for the categories, there is also the option of filtering the hit list again by manufacturer. You switch this on here. This option is only available if you have generally activated the manufacturers in the shop and also allow a search for them. (\'Load and display manufacturer list\')', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT' => 'sort by', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_COUNT' => 'count of related articles', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_ALPHA' => 'alphabetical', + 'D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_DESC' => 'Determine the display order in which the manufacturers should be listed.', + 'D3_EXTSEARCH_NAVI_REDIRECTS' => 'Redirects', + 'D3_EXTSEARCH_NAVI_UNIQUEHIT' => 'at 1 article hit, shop goes directly to the detail page of the article', + 'D3_EXTSEARCH_NAVI_UNIQUEHIT_DESC' => 'If your customer has searched so precisely that he has the desired information as the only one in the hit list, you can spare him the detour via the hit list and immediately supply him with the detail page of the article found.', + 'D3_EXTSEARCH_NAVI_UNIQUECONTENTHIT' => 'at 1 CMS / text hit, shop changes directly to the CMS page', + 'D3_EXTSEARCH_NAVI_UNIQUECONTENTHIT_DESC' => 'If the search result contains no articles, but a single CMS text, it will be redirected directly to the appropriate CMS page. The user leaves the search function of the shop, his search settings are then no longer available.', + 'D3_EXTSEARCH_NAVI_UNIQUEVENDORHIT' => 'at 1 vendor hit, shop goes directly to the vendor page of the shop', + 'D3_EXTSEARCH_NAVI_UNIQUEVENDORHIT_DESC' => 'If the search result does not contain any articles, but only one vendor, it will be forwarded directly to the appropriate vendor page of your shop. This option requires "Search by manufacturer and vendor name". The user leaves the search function of the shop, his search settings are then no longer available.', + 'D3_EXTSEARCH_NAVI_UNIQUEMANUFACTURERHIT' => 'at 1 manufacturer, shop goes directly to the manufacturer page of the shop', + 'D3_EXTSEARCH_NAVI_UNIQUEMANUFACTURERHIT_DESC' => 'If the search result contains no articles, but a single manufacturer, it will be forwarded directly to the appropriate manufacturer page of your shop. This option requires "Search by manufacturer and vendor name". The user leaves the search function of the shop, his search settings are then no longer available.', + 'D3_EXTSEARCH_NAVI_CONTENTS' => 'Information pages / CMS Texts', + 'D3_EXTSEARCH_NAVI_CONTENTLIST' => 'search in CMS pages', + 'D3_EXTSEARCH_NAVI_CONTENTLIST_DESC' => 'In addition to articles, you can also search for correspondingly marked texts. To do this, place the appropriate check mark in the respective CMS blocks ("Customer Information> CMS Pages"). The texts are shown in the regular hit list.

This option is also necessary if texts should also be shown in the suggest matches. Then set the corresponding option also in the tab "Suggest Search".', + 'D3_EXTSEARCH_NAVI_ATTRIBUTEFILTER' => 'Attribute Filter', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST' => 'show attribute list', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_DESC' => 'Set this option, if attributes can used for filtering.
Every attribute can excluded from usage on its setting page ("Administer Products > Attributes").', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_COMBINE' => 'multiple attribute selection will combined via "OR"', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_COMBINE_DESC' => 'Activate this option if, for example, you also want to show articles that have only one of the properties when the selected color and material have been selected. Without this option, only items that have both properties at the same time will be shown.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT' => 'attributes sort by', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_POS' => 'defined attribute position', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_TITLE' => 'attribute title', + 'D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_DESC' => 'Here you define the order of the displayed attributes.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTEVALUES_COMBINE' => 'multiple attribute value selections ("multi selection") will combined via "AND"', + 'D3_EXTSEARCH_NAVI_ATTRIBUTEVALUES_COMBINE_DESC' => 'Activate this option, for example, if the selected color "red" and "green" only show items that have both colors at the same time. Without this option, articles with only one of the two properties will also be shown.', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_SORT' => 'attribute values sort by', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_SORT_COUNT' => 'count of related articles', + 'D3_EXTSEARCH_NAVI_ATTRIBUTELIST_SORT_POS' => 'defined attribute list position', + 'D3_EXTSEARCH_NAVI_NOATTRIBUTEARTS' => 'allow filter for articles, wich aren\'t assigned to this attribute', + 'D3_EXTSEARCH_NAVI_NOATTRIBUTEARTS_DESC' => 'With this option, the attribute filters offer the option of filtering for items that are e.g. expressly assigned to no color or material.', + 'D3_EXTSEARCH_NAVI_SHOWNOTSELECTABLEATTRIBUTES' => 'don\'t hide not selectable attribute values', + 'D3_EXTSEARCH_NAVI_SHOWNOTSELECTABLEATTRIBUTES_DESC' => 'Article filtering through attributes usually hides other attributes that can not be selected. For optical reasons, it may still be necessary to display them. With this option, these attribute values are listed by information, but they are greyed out.
Note that an additional data query is performed to determine these attributes. Depending on the item attribute structure, this may require extra loading time.', + 'D3_EXTSEARCH_NAVI_CONTENTSEARCHINLONGTEXT' => 'search in CMS longtexts too', + 'D3_EXTSEARCH_NAVI_CONTENTLONG_DESC' => 'Define whether the CMS blocks should also be searched in the long description texts.', + 'D3_EXTSEARCH_NAVI_SMALLLISTITEMS' => 'Limit category, vendor, manufacturer and text lists
(customer can show all results on request, only works with "link lists")', + 'D3_EXTSEARCH_NAVI_SMALLLISTITEMS_2' => ' entries', + 'D3_EXTSEARCH_NAVI_SMALLLISTITEMS_DESC' => 'For many search hits, the list of categories, manufacturers, vendors and texts can be very long. The article hits may slip out of the display area. Limit the number of categories and manufacturers displayed to keep these lists short. If these lists are then actually shortened, your customer will have a button available to display these lists completely on request.', + 'D3_EXTSEARCH_NAVI_ALISTFILTER' => 'show filters in article lists too (e.g. category, brand, vendor)', + 'D3_EXTSEARCH_NAVI_ALISTFILTER_DESC' => 'Article lists can also be restricted with filters. Filtering is possible in category views, manufacturer and vendor lists. Here you have category, manufacturer, supplier, attribute and price filters available. Options are the settings for the search.
If this entry is not selectable, this option is probably not included in your module license. Have your license extended for this.', + 'D3_EXTSEARCH_NAVI_PRICELIST' => 'show price steps', + 'D3_EXTSEARCH_NAVI_PRICEFILTER' => 'Price Filter', + 'D3_EXTSEARCH_NAVI_PRICELIST_DESC' => 'All found articles are divided into price categories and offered as further filter criteria. Thus, the customer can choose a certain price range for his desired items. Discounts are not included in the category prices. Found articles are less expensive than the search request.', + 'D3_EXTSEARCH_NAVI_PRICELIST_ITEMS' => 'maximum count of price steps', + 'D3_EXTSEARCH_NAVI_PRICELIST_ITEMS_DESC' => 'So many price ranges are displayed at the maximum. Normally, however, this can be less, since empty price ranges (ie without contained articles) are filtered out.', + 'D3_EXTSEARCH_NAVI_PRICELIST_ROUNDED' => 'price limits will rounded', + 'D3_EXTSEARCH_NAVI_PRICELIST_ROUNDED_DESC' => 'The smallest price range starts at the lowest possible price, the largest price range extends to the highest price. The boundaries in between are calculated. However, these can sometimes be at odd amounts. With the option, the prices of the margins are rounded, but the margins are less meaningful.', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY' => 'price steps display type', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_DESC' => 'The use of price ranges via sliders is not possible in mobile templates for reasons of usability. There, the price ranges are still shown as DropDown.', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_LISTTYPE' => 'as dropdown', + 'D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_SLIDER' => 'as jQuery slider', + 'D3_EXTSEARCH_NAVI_PRICELIST_REQU' => '* jQuery slider requires installed jQuery framework in actual version (tried with version 1.4.2) with components "jQueryUI Core", "jQueryUI Widget", "jQueryUI Mouse" and "jQueryUI Slider".', + 'D3_EXTSEARCH_NAVI_HIGHLIGHT' => 'highlight found contents in search results', + 'D3_EXTSEARCH_NAVI_HIGHLIGHT_DESC' => 'Sometimes the term you are looking for appears in the middle of descriptions. Use this option to visually highlight the term.

To do so, set what the highlighting should look like in the template \'d3_ext_search_highlight.tpl\'. In \'inc/product.tpl\', replace all variables that should contain accents with the Smarty call \[\{d3_extsearch_highlight text=$variable name\}\], replacing $ variable-name with the actual text variable.', + 'D3_EXTSEARCH_NAVI_INDEXFILTER' => 'Index Letters', + 'D3_EXTSEARCH_NAVI_SHOWINDEX' => 'show index letters', + 'D3_EXTSEARCH_NAVI_SHOWINDEX_DESC' => 'The letter index gives your customers the option of restricting the search hits further to the first letter.

You can edit the letter list itself in the template \'d3_inc_ext_search.tpl\'.', + 'D3_EXTSEARCH_NAVI_FILTERFIELDNAME' => 'used field name for index letter', + 'D3_EXTSEARCH_NAVI_FILTERFIELDNAME_DESC' => 'All fields from the table oxarticles (without language addition) are possible here.', + 'D3_EXTSEARCH_NAVI_OWNFORMFIELDS' => 'individual filters', + 'D3_EXTSEARCH_NAVI_SAVE' => 'save', + + 'D3_EXTSEARCH_QUICK' => 'suggest results', + 'D3_EXTSEARCH_QUICK_ACTIVE' => 'Suggestions are provided when the search term is entered (only displayed to users with JavaScript enabled)', + 'D3_EXTSEARCH_QUICK_ACTIVE_DESC' => '
Give your customer the opportunity to find items even faster. The suggest search already represents the first hits in a separate frame while entering the search term.
In mobile views, the quick hit list can not be shown for reasons of operability.', + 'D3_EXTSEARCH_QUICK_FULLOBJECTS' => 'Suggest search loads complete objects, instead of performance-optimized allocation', + 'D3_EXTSEARCH_QUICK_FULLOBJECTS_DESC' => 'For the usual representation of the suggest search, a performance-optimized assignment of the result data is sufficient. For the display of certain information (e.g., calculated prices, etc.), it is necessary to load the complete objects. However, this reduces the charging speed.', + 'D3_EXTSEARCH_QUICK_COUNT' => 'maximum number of items to be loaded in the suggest search', + 'D3_EXTSEARCH_QUICK_COUNT_DESC' => 'For performance reasons, the suggest search hits are only shown from a maximum number. If more hits are found, the article list does not blend in, instead a hint is shown. Increase the value if you do not get suggest hits for common search terms. But please check the load of your server / account afterwards. The default value is 200.', + 'D3_EXTSEARCH_QUICK_LOADCATEGORIES' => 'In addition, search for appropriately named categories', + 'D3_EXTSEARCH_QUICK_LOADCATEGORIES_DESC' => 'In addition to articles, categories are also searched in the suggest search. Please note that this option consumes additional resources, which slow down the suggest search.', + 'D3_EXTSEARCH_QUICK_LOADMANUFACTURERS' => 'In addition, also search for appropriately named manufacturers', + 'D3_EXTSEARCH_QUICK_LOADMANUFACTURERS_DESC' => 'In addition to articles, the suggest Search also searches for manufacturers. Please note that this option consumes additional resources, which slow down the suggest search.', + 'D3_EXTSEARCH_QUICK_LOADVENDORS' => 'In addition, also search for appropriately named vendors', + 'D3_EXTSEARCH_QUICK_LOADVENDORS_DESC' => 'In addition to articles, vendors are also searched in the suggest search. Please note that this option consumes additional resources, which slow down the suggest search.', + 'D3_EXTSEARCH_QUICK_LOADCONTENT' => 'In addition, also search for appropriately named texts', + 'D3_EXTSEARCH_QUICK_LOADCONTENT_DESC' => 'Besides articles, texts are also searched in the suggest search. Please note that this option consumes additional resources, which slow down the suggest search.

To use this option, it is necessary that the text search is also activated for the regular hit list ("Basic settings" tab).', + 'D3_EXTSEARCH_QUICK_CMPLOBJ' => 'before Oxid 4.3.0: load entire article object, otherwise only ID, title and icon.
Activate only when needed, consumes more resources. ', + 'D3_EXTSEARCH_QUICK_CMPLOBJ_DESC' => 'The presentation of the suggest matches can be adjusted graphically by you in a template to your shop. You may need additional data for your desired display except the article name and link to the article. Thus, for example, also thumbnails, the price or a shopping cart button. For this you need information that is not available in the standard version. Set this checkbox to make all article data available.

From Shop version 4.3.0 it is absolutely necessary to load the complete article object. This setting is then ignored.', + 'D3_EXTSEARCH_QUICK_LOADVARIANTS' => 'Load variant articles and show them in the suggest search
Enter additionally \'oxvarselect\' in the search fields.', + 'D3_EXTSEARCH_QUICK_LOADVARIANTS_DESC' => 'Normally the shop search does not search for product variants. However, if you have many variant articles in your shop, it may make sense to unlock the search.', + 'D3_EXTSEARCH_QUICK_SAVE' => 'save', + 'D3_EXTSEARCH_QUICK_TPLNOTICE' => 'Note: To graphically customize the suggest result window, expand the template blocks in \'d3_ext_search_suggestsearch.tpl\'.', + 'D3_EXTSEARCH_QUICK_IAS' => 'interactive search (selection search)', + 'D3_EXTSEARCH_QUICK_SHOWIAS' => 'show interactive search (if text part is selected)', + 'D3_EXTSEARCH_QUICK_SHOWIAS_DESC' => 'If you mark a word in the shop, a small form will be displayed near you, with the help of which you can immediately search for the highlighted word. If you click elsewhere in the shop, the window disappears.', + + 'D3_EXTSEARCH_STAT_TYPE' => 'evaluation:', + 'D3_EXTSEARCH_STAT_NOHITS' => 'no evaluations available', + 'D3_EXTSEARCH_STAT_NOREPORTBASE' => 'Your shop doesn\'t support this statistics.', + 'D3_EXTSEARCH_STAT_NOREPORTBASE_DESC' => 'To use statistics, the OXID class \'OeStatistics_Report_Base\' is required. In OXID eShop, this script is provided by a separate "Statistics" module. Therefore, the graphical evaluation in your shop can unfortunately not be used without its installation.', + 'D3_EXTSEARCH_STAT_TYPEHITLESS' => 'Search queries without hits', + 'D3_EXTSEARCH_STAT_TYPEMOSTHITS' => 'Search queries with the most hits', + 'D3_EXTSEARCH_STAT_TYPEMOSTSEARCHES' => 'most common search terms', + 'D3_EXTSEARCH_STAT_LANG' => 'language:', + 'D3_EXTSEARCH_STAT_TIME' => 'period:', + 'D3_EXTSEARCH_STAT_GENERATESTAT' => 'Create evaluation', + 'D3_EXTSEARCH_STAT_SEARCHWORD' => 'search term', + 'D3_EXTSEARCH_STAT_HITS' => 'hits', + 'D3_EXTSEARCH_STAT_SEARCHES' => 'requests', + 'D3_EXTSEARCH_STAT_TYPES_CATEGORY' => 'category', + 'D3_EXTSEARCH_STAT_TYPES_PRICE' => 'price', + 'D3_EXTSEARCH_STAT_TYPES_VENDOR' => 'vendor', + 'D3_EXTSEARCH_STAT_TYPES_MANUFACTURER' => 'brand', + 'D3_EXTSEARCH_STAT_TYPES_OWNLIKE' => 'own search field (LIKE)', + 'D3_EXTSEARCH_STAT_TYPES_OWNIS' => 'own search field (IS)', + 'D3_EXTSEARCH_STAT_TYPES_OWNVALUE' => '%s => "%s"', + 'D3_EXTSEARCH_STAT_TYPES_ATTRIBUTE' => 'attributes', + 'D3_EXTSEARCH_STAT_TYPES_INDEXLETTER' => 'index letter', + 'D3_EXTSEARCH_STAT_TYPES_UNKNOWN' => 'unknown filter', + 'D3_EXTSEARCH_STAT_STATDESC_HITLESS' => 'hitless searches in %s to "%s" ', + 'D3_EXTSEARCH_STAT_STATDESC_MOSTSEARCHES' => 'searches in %s to "%s" ', + 'D3_EXTSEARCH_STAT_NOITEMS' => 'there are no items for your search', + 'D3_EXTSEARCH_STAT_NOITEMS_DESC' => 'If you have expected data here, please check whether statistics collection is activated appropriately in the module settings.', + 'D3_EXTSEARCH_STAT_SELECTFILTER' => 'Set the desired filter and send your selection to get results.', + + 'D3_EXTSEARCH_PLUGIN_SETTINGS' => 'settings', + 'D3_EXTSEARCH_PLUGIN_SEARCHACTIVE' => 'offer the user in the browser to install the search plugin', + 'D3_EXTSEARCH_PLUGIN_SEARCHACTIVE_DESC' => 'In the Internet Explorer version 7 and also in Firefox version 2 or higher, you will find a way to start the most important search engines from anywhere on the Internet in the upper right corner. Offer your customers to add your shop to this list too. So it is enough to select your shop in the drop-down box and enter the search term. Immediately your shop will be shown with the search hits. As text your Shoptitel is used, an icon can be defined below.', + 'D3_EXTSEARCH_PLUGIN_INSTALLLINK' => 'show an installation link in the shop search', + 'D3_EXTSEARCH_PLUGIN_INSTALLLINK_DESC' => 'If your customer can add your shop to the search engine list, this is indicated in the browser by a colored border. However, this is not very noticeable, many users missed this out. It\'s better to add an additional link in the search results to indicate this feature.', + 'D3_EXTSEARCH_PLUGIN_SEARCHICON' => 'Icon for browser plugin', + 'D3_EXTSEARCH_PLUGIN_CHOOSEICON' => 'Please choose an icon.', + 'D3_EXTSEARCH_PLUGIN_SEARCHICON_DESC' => 'Define here the icon which should be attached in the browser plugin. The icon must have a size of 16 x 16 pixels and be available in PNG or JPG format.', + 'D3_EXTSEARCH_PLUGIN_SAVE' => 'save', + 'D3_EXTSEARCH_PLUGIN_GENERATE' => 'generation', + 'D3_EXTSEARCH_PLUGIN_GENERATE_DESC' => 'If you have changed your shop title, set a new icon or even moved your shop to a new address, it is necessary to update the search plugin. Please also advise your customers to update the plugin. It does not renew itself automatically.', + 'D3_EXTSEARCH_PLUGIN_STARTGENERATING' => 'start Creation', + 'D3_EXTSEARCH_PLUGIN_GENERATEFILE' => 'Create installation file:', + 'D3_EXTSEARCH_PLUGIN_GENERATENOTICE' => 'With the creation of the installation file you have completed all necessary steps. If your customer starts the integration, this file is automatically read from your server.', + 'D3_EXTSEARCH_PLUGIN_CREATE_SUCC' => 'Plugin file was generated successfully.', + 'D3_EXTSEARCH_PLUGIN_CREATE_NSUCC' => 'Plugin file could not be created.', + + 'D3_EXTSEARCH REPORT_MOSTSEARCHES' => 'Search terms (only available in search module)', + 'D3_EXTSEARCH_STATISTIC_MOSTSEARCHES' => 'most common search terms', + 'D3_EXTSEARCH_STATISTIC_MOST_DESC' => 'So often the chosen term was searched', + 'D3_EXTSEARCH_STATISTIC_FURTHERFILTERS' => '(limited by further filters)', + 'D3_EXTSEARCH_STATISTIC_GRAPH' => 'graphical analysis', + + 'D3_EXTSEARCH_CONTENT_SEARCHABLE' => 'D³ CMS is searchable', + 'D3_EXTSEARCH_PUSH' => 'D³ importance of these article in the whole assortment', + 'D3_EXTSEARCH_PUSH_1' => 'normal', + 'D3_EXTSEARCH_PUSH_2' => 'important', + 'D3_EXTSEARCH_PUSH_3' => 'very important', + 'D3_EXTSEARCH_PUSH_DESC' => 'D³ Modul "extended Suche": The importance defines the first order of the articles in the search (when using the "extended search"). In combination with field relevance, importance functions as a factor. For example, particularly important articles have the 3 times relevance of normally weighted articles. Note this also when assigning the field relevance.', + + 'D3_EXTSEARCH_ATTRIBUTE_NOTUSE4FILTER' => 'D³ Attribute will NOT used in search filters', + 'D3_EXTSEARCH_CATEGORY_NOTUSE4FILTER' => 'D³ Category will NOT used in search filters and for category results', + + 'D3_EXTSEARCH_SYNED_NOLEXICON' => 'The semantic lexicon isn\'t installed! Please check manual for further informations.', + 'D3_EXTSEARCH_SYNED_WORD' => 'word', + 'D3_EXTSEARCH_SYNED_WORD_DESC' => 'Search for a specific term, enter it here and submit.', + 'D3_EXTSEARCH_SYNED_ALTWORD' => 'same meaning words', + 'D3_EXTSEARCH_SYNED_SYNSETID' => 'Synonym ID', + 'D3_EXTSEARCH_SYNED_SYNSETID_DESC' => 'Search for a specific synonym ID, enter it here and submit.', + 'D3_EXTSEARCH_SYNED_SAVENEWSYN' => 'save new synonym', + 'D3_EXTSEARCH_SYNED_SAVENEWSYN_DESC' => 'Define another term for the chosen meaning here.', + 'D3_EXTSEARCH_SYNED_DELETESYN' => 'Should the synonym really be deleted?', + + 'D3_EXTSEARCH_SYNED_MAIN_NEWWORD' => 'New term / phrase', + + 'D3_EXTSEARCH_SYNED_MAIN_WORD' => 'term / phrase:', + 'D3_EXTSEARCH_SYNED_MAIN_WORD_DESC' => 'If you would like to create suitable terms for a new word meaning, note the first term here. Insert the term here only if the word meaning does not yet exist in the lexicon. Otherwise, enter the new term in the appropriate meaning in the "Edit synonyms" tab.', + 'D3_EXTSEARCH_SYNED_MAIN_COMMENT' => 'comment:', + 'D3_EXTSEARCH_SYNED_MAIN_COMMENT_DESC' => 'The comment serves exclusively to make further internal explanations to the term. It is not used for the search.', + 'D3_EXTSEARCH_SYNED_MAIN_SYNSETID' => 'Synonym ID:', + 'D3_EXTSEARCH_SYNED_MAIN_SYNSETID_DESC' => 'In a uniform synonym ID, all terms with the same meaning are stored. New entries will automatically be assigned a new ID. If a term has been mistakenly assigned the wrong meaning, choose the synonym ID from the appropriate meaning and change it to your term.', + 'D3_EXTSEARCH_SYNED_MAIN_LANGUAGE' => 'language:', + 'D3_EXTSEARCH_SYNED_MAIN_LANGUAGE_DESC' => 'Determine from this, from which language the selected term originates and in which this is to be used. Only the languages activated in the shop are available.', + 'D3_EXTSEARCH_SYNED_MAIN_LANGUAGE_DISABLED' => '(disabled)', + + 'D3_EXTSEARCH_SYNED_MANAGE_DESC' => 'The synonyms shown here are alternative terms for the meaning chosen above.', + 'D3_EXTSEARCH_SYNED_MANAGE_EDIT' => 'edit', + 'D3_EXTSEARCH_SYNED_MANAGE_EDIT_DESC' => 'If you want to add additional details to the term or assign it to a different meaning, click on the symbol. The admin area changes to the editing area for exactly the term.', + 'D3_EXTSEARCH_SYNED_MANAGE_SYNONYM' => 'Synonym', + + 'D3_EXTSEARCH_UPDATE_GENPHONETIC' => '"extended search": The module update made changes in the database structure for the similarity search. Therefore, after completing this installation, update the search index in the admin area of the module.', + + 'GENERAL_ARTICLE_D3_PHONETIC' => 'extSearch - phonetic index', // Multilang-Fields for importer + // Multilang-Fields for importer + 'GENERAL_ARTICLE_D3_SEARCHINDEXDATE' => 'extSearch - date of last search index generating', + // Multilang-Fields for importer + 'GENERAL_ARTICLE_D3PUSH' => 'extSearch - product importance', + // Multilang-Fields for importer + 'GENERAL_ARTICLE_OXVARSELECT' => 'variant title', + +); diff --git a/src/Application/views/admin/en/module_options.php b/src/Application/views/admin/en/module_options.php new file mode 100644 index 0000000..be81b2c --- /dev/null +++ b/src/Application/views/admin/en/module_options.php @@ -0,0 +1,38 @@ + + * @link http://www.oxidmodule.com + */ + +$sModId = 'd3_extsearch'; + +$sD3Help_mappedTo = '

Our modules are prepared for the default themes of the OXID eShop. '. + 'You don\'t need to enter anything here, if your used shop theme is (or extends) a default OXID theme. '. + 'Is it a completely individual Theme, please enter the parent theme id '. + 'to the OXID default theme that is closest to it.

'. + '

Read further informations in our FAQ.

'; + +$aLang = array( + 'charset' => 'UTF-8', + + 'SHOP_MODULE_GROUP_d3thememapping_global' => 'assign template blocks to your individual theme (global setting for D3 modules)', + 'SHOP_MODULE_GROUP_d3thememapping_module' => 'assign template blocks to your individual theme (setting for this module only)', + 'SHOP_MODULE_d3custParentThemeMappedToMobile_'.$sModId => 'If this herein referenced theme is active, "mobile" template blocks of the module is used.', + 'SHOP_MODULE_d3custParentThemeMappedToAzure_'.$sModId => 'If this herein referenced theme is active, "azure" template blocks of the module is used.', + 'SHOP_MODULE_d3custParentThemeMappedToFlow_'.$sModId => 'If this herein referenced theme is active, "flow" template blocks of the module is used.', + + 'HELP_SHOP_MODULE_d3custParentThemeMappedToMobile_'.$sModId => $sD3Help_mappedTo, + 'HELP_SHOP_MODULE_d3custParentThemeMappedToAzure_'.$sModId => $sD3Help_mappedTo, + 'HELP_SHOP_MODULE_d3custParentThemeMappedToFlow_'.$sModId => $sD3Help_mappedTo, +); diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearch_main.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearch_main.tpl new file mode 100644 index 0000000..d83fe2a --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearch_main.tpl @@ -0,0 +1,751 @@ +[{include file="headitem.tpl" title="d3tbclextsearch_settings_results"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + + + + + +
+ + [{block name="d3_cfg_extsearch_main__form"}] + [{include file="d3_cfg_mod_active.tpl"}] + + [{if $oView->getValueStatus() == 'error'}] +
+ [{oxmultilang ident="D3_CFG_MOD_GENERAL_NOCONFIG_DESC"}] +
+
+ + + + + [{else}] +
+
+ [{block name="d3_cfg_extsearch_main__main"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_MAINSETTINGS"}] + + +
+
+ + [{if $edit->getEditValue('aExtSearch_similarSearchFields') == ''}] +
[{oxmultilang ident="D3_EXTSEARCH_MAIN_NOFIELDSDEFINED"}]
+ [{/if}] +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_FIELDLIST_DESC"}] + [{assign var="clParam" value="cl="|cat:$oViewConf->getActiveClassName()}] + +
+
+
+
+
+ +
+
+ + getConfigParam('blSearchUseAND')}]checked[{/if}] [{$readonly}]> + [{oxinputhelp ident="HELP_"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_MULIPLEWORDS_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_useArtNumSearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_USEARTNUMSEARCH_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_findPutInAndLeaveOut') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_PUTINLEAVEOUT_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_ShowPopup') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_SHOWPOPUP_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__sorting"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_SORTING"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_orderByPriority') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_ORDERBYPRIORITY_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_orderByPush') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_ORDERBYPUSH_DESC"}] +
+
+
+
+
+ +
+
+ getEditValue('sExtSearch_orderByAlternative')}][{else}]oxtitle[{/if}]'>  + getEditValue('sExtSearch_orderDirAlternative') == "asc" || false == $edit->getEditValue('sExtSearch_orderByAlternative')}]checked[{/if}]>[{oxmultilang ident="CATEGORY_MAIN_ASC"}] + getEditValue('sExtSearch_orderDirAlternative') == "desc"}]checked[{/if}]>[{oxmultilang ident="CATEGORY_MAIN_DESC"}] + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_ORDERBYALTERNATIVE_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__variants"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_VARIANTSETTINGS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_VariantSearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_VARIANTSEARCH_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_VARIANTUSAGE_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_VariantCheckParentActive') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_VARIANTCHECKPARENTACTIVE_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__phonetics"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_PHONETICS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_similarSearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_SIMILARSEARCH_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_PHONETICLANG_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_similarExtList') == 1}]checked[{/if}]> + + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_SIMILAREXTLIST_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_MINPHONLENGTH_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__semantics"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_SEMANTICS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_semanticSearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_SEMANTICSEARCH_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_semanticUsePhonetic') == 1}]checked[{/if}] [{if $edit->getEditValue('blExtSearch_similarSearch') != 1}]disabled[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_SEMANTICUSEPHONETIC_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__category"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_CATEGORY"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_catSearch') == 1}]checked[{/if}]> +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_catSearchUseAND')}]checked[{/if}] [{$readonly}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_CATEGORY_ANDOR_DESC"}] +
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_CATEGORY_PRIORITY_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__manufacturer"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_MANUFACTURER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_manufacturerSearch') == 1}]checked[{/if}]> +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_manufacturerSearchUseAND')}]checked[{/if}] [{$readonly}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_MANUFACTURER_ANDOR_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_MANUFACTURER_PRIORITY_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__contents"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_CONTENTS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showContentList') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_CONTENTLIST_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_contentSearchLongtext') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_CONTENTLONG_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__redirects"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_REDIRECTS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_goToUniqueHit') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_UNIQUEHIT_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_goToUniqueContentHit') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_UNIQUECONTENTHIT_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_goToUniqueVendorHit') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_UNIQUEVENDORHIT_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_goToUniqueManufacturerHit') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_UNIQUEMANUFACTURERHIT_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__log"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_LOGSETTINGS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_logHitless') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_LOGHITLESS_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_generallyLogForSearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_LOGFORSEARCH_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_main__admin"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_ADMINPANEL"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_adminShowVariants') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_ADMINSHOWVARIANTS_DESC"}] +
+
+
+ [{/block}] +
+
+ + + + + +
+
+ + + +

+
+ +
+
+ [{block name="d3_cfg_extsearch_main__index"}] + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_INDEX"}] + + +
+
+ + + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_INDEXARTCNT_DESC"}] +
+
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+
+
+ + [{assign var="clParam" value="cl="|cat:$oViewConf->getActiveClassName()}] +
+
+   +
+
+ + + + + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_GENINDEXCMPL_DESC"}] +
+
+
+
+
+ [{if $oView->getIndexStatus() > 0}] + [{oxmultilang ident="D3_EXTSEARCH_MAIN_INDEXERR"}] + [{else}] + [{oxmultilang ident="D3_EXTSEARCH_MAIN_INDEXNOERR"}] + [{/if}] +
+
+ + + + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_GENINDEXNEW_DESC"}] +
+
+
+
+
+   +
+
+ + + + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_GENSEMANTICINDEX_DESC"}] +
+ [{/block}] + +
+
+
+
+ [{/if}] + [{/block}] +
+ +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearch_main_sortanalysis.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearch_main_sortanalysis.tpl new file mode 100644 index 0000000..4d99697 --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearch_main_sortanalysis.tpl @@ -0,0 +1,50 @@ + + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_SORTDEBUG"}] + + +
+ [{$sHiddenSid}] + + + + +
+ + [{oxmultilang ident="D3_EXTSEARCH_MAIN_SORTDEBUG_DESC"}] + +
+ + [{if $aAllList|count}] + + [{capture name="fieldNameLine"}] + + + [{foreach from=$aUsedFields item="sUsedField"}] + + [{/foreach}] + + [{/capture}] + + [{$smarty.capture.fieldNameLine}] + + [{foreach from=$aAllList item="aItem" name="itemlist"}] + + + [{foreach from=$aItem key="sKey" item="sItem"}] + [{if $sKey|in_array:$aUsedFields}] + + [{/if}] + [{/foreach}] + + + [{if $smarty.foreach.itemlist.iteration % 20 == 0}] + [{$smarty.capture.fieldNameLine}] + [{/if}] + [{/foreach}] + +
No:[{$sUsedField}]
[{$smarty.foreach.itemlist.iteration}][{$sItem}]
+ [{/if}] + + \ No newline at end of file diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearch_navigation.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearch_navigation.tpl new file mode 100644 index 0000000..17150bd --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearch_navigation.tpl @@ -0,0 +1,494 @@ +[{include file="headitem.tpl" title="d3tbclextsearch_settings_navigation"|oxmultilangassign}] + + + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + +[{if $oView->getValueStatus() == 'error'}] + + + + +
+ [{oxmultilang ident="D3_EXTSEARCH_MAIN_NOCONFIG_DESC"}]
+ +
+[{else}] + + + + +
+ [{block name="d3_cfg_extsearch_navigation__form"}] +
+
+ [{block name="d3_cfg_extsearch_navigation__main"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_MAINSETTINGS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_emptySearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_EMPTYSEARCH_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_showHighlightedText') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_HIGHLIGHT_DESC"}] +
+
+
+ + [{if $oView->d3UseAlistFilters()}] + [{assign var="blActionRestriction" value=""}] + [{else}] + [{assign var="blActionRestriction" value="readonly disabled"}] + [{assign var="blRestricted" value=true}] + [{/if}] +
+
+ +
+
+ + getEditValue('blExtSearch_useAListFilter') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_ALISTFILTER_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__catfilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_CATFILTER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showCatList') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_CATLIST_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_CATLIST_SORT_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__vendorfilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_VENDORFILTER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showVendorList') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_VENDORLIST_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_VENDORLIST_SORT_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__manufacturerfilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_MANUFACTURERFILTER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showManufacturerList') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_MANUFACTURERLIST_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_MANUFACTURERLIST_SORT_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__attributefilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_ATTRIBUTEFILTER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showAttributeList') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_ATTRIBUTELIST_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_useAttributeCombineOr') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_ATTRIBUTES_COMBINE_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_ATTRIBUTES_SORT_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_useAttributeValueCombineAnd') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_ATTRIBUTEVALUES_COMBINE_DESC"}] +
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_showNoAssignedAttributeArticles') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_NOATTRIBUTEARTS_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_showNotSelectableAttributes') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_SHOWNOTSELECTABLEATTRIBUTES_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__pricefilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_PRICEFILTER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showPriceSelector') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_PRICELIST_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_PRICELIST_ITEMS_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_PriceSelectorsRounded') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_PRICELIST_ROUNDED_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_PRICELIST_DISPLAY_DESC"}] +
+
[{oxmultilang ident="D3_EXTSEARCH_NAVI_PRICELIST_REQU"}]
+
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__indexfilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_INDEXFILTER"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_showFilterParam') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_SHOWINDEX_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_NAVI_FILTERFIELDNAME_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__ownformfilter"}] + + + [{oxmultilang ident="D3_EXTSEARCH_NAVI_OWNFORMFIELDS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_ownFormFields') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_MAIN_OWNFORMFIELDS_DESC"}] +
+
+
+ [{/block}] +
+
+ [{/block}] + + + + + +

+ + + +
+
+[{/if}] + +
+ +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearch_plugins.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearch_plugins.tpl new file mode 100644 index 0000000..5be6b53 --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearch_plugins.tpl @@ -0,0 +1,167 @@ +[{include file="headitem.tpl" title="d3tbclextsearch_settings_browser"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +[{if $oView->getValueStatus() == 'error'}] +
+ + [{$oViewConf->getHiddenSid()}] + + + + + + [{oxmultilang ident="D3_EXTSEARCH_MAIN_NOCONFIG_DESC"}]
+ +
+[{else}] + +
+ + [{$oViewConf->getHiddenSid()}] + + + + + +
+ [{oxmultilang ident="D3_EXTSEARCH_PLUGIN_SETTINGS"}] + + [{block name="d3_cfg_extsearch_plugins__form"}] + + + + + + + + + + + + + + [{/block}] +
+ + + + getEditValue('blExtSearch_enablePluginBrowserInstall') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_PLUGIN_SEARCHACTIVE_DESC"}] +
+ + + + getEditValue('blExtSearch_enablePluginLink') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_PLUGIN_INSTALLLINK_DESC"}] +
+ + +
+ [{if $edit->getEditValue('sExtSearch_PluginIcon')}][{$edit->getEditValue('sExtSearch_PluginIcon')}] [{else}][{oxmultilang ident="D3_EXTSEARCH_PLUGIN_CHOOSEICON"}][{/if}] + [{oxinputhelp ident="D3_EXTSEARCH_PLUGIN_SEARCHICON_DESC"}] +
+
+ + + + + + +

+ + + +
+ + +
+ +
+ [{oxmultilang ident="D3_EXTSEARCH_PLUGIN_GENERATE"}] + + [{oxmultilang ident="D3_EXTSEARCH_PLUGIN_GENERATEFILE"}] +
+ [{$oViewConf->getHiddenSid()}] + + + + + + + [{assign var="escapedCl" value=$oViewConf->getActiveClassName()|escape:"url"}] + [{assign var="clParam" value="cl="|cat:$escapedCl}] + + +

+ [{oxmultilang ident="D3_EXTSEARCH_PLUGIN_GENERATENOTICE"}] +
+ [{oxinputhelp ident="D3_EXTSEARCH_PLUGIN_GENERATE_DESC"}] +
+[{/if}] + +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearch_quicksearch.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearch_quicksearch.tpl new file mode 100644 index 0000000..787b7b8 --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearch_quicksearch.tpl @@ -0,0 +1,227 @@ +[{include file="headitem.tpl" title="d3tbclextsearch_settings_quick"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + + [{if $oView->getValueStatus() == 'error'}] + [{oxmultilang ident="D3_EXTSEARCH_MAIN_NOCONFIG_DESC"}]
+ + [{else}] + + + + +
+ + [{block name="d3_cfg_extsearch_quicksearch__form"}] +
+
+ [{block name="d3_cfg_extsearch_navigation__quick"}] + + + [{oxmultilang ident="D3_EXTSEARCH_QUICK"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_enableAjaxSearch') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_ACTIVE_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_ajaxSearchLoadFullObjects') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_FULLOBJECTS_DESC"}] +
+
+
+
+
+ +
+
+ + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_COUNT_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_QuickSearchLoadCategories') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_LOADCATEGORIES_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_QuickSearchLoadManufacturers') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_LOADMANUFACTURERS_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_QuickSearchLoadVendors') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_LOADVENDORS_DESC"}] +
+
+
+
+
+ +
+
+ + getEditValue('blExtSearch_QuickSearchLoadContent') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_LOADCONTENT_DESC"}] +
+
+
+ [{/block}] +
+
+ +
+
+ [{block name="d3_cfg_extsearch_navigation__ias"}] + + + [{oxmultilang ident="D3_EXTSEARCH_QUICK_IAS"}] + + +
+
+ +
+
+ + getEditValue('blExtSearch_ShowIAS') == 1}]checked[{/if}]> + [{oxinputhelp ident="D3_EXTSEARCH_QUICK_SHOWIAS_DESC"}] +
+
+
+ [{/block}] +
+
+ [{/block}] + + + + + +

+ + + +
+

[{oxmultilang ident="D3_EXTSEARCH_QUICK_TPLNOTICE"}] +
+[{/if}] +
+ +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearch_statistik.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearch_statistik.tpl new file mode 100644 index 0000000..43130ec --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearch_statistik.tpl @@ -0,0 +1,235 @@ +[{include file="headitem.tpl" title="d3tbclextsearch_settings_statistik"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + + + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + + + + + +
+ + [{if $edit->getErrorMessage()}] +
+ [{$edit->getErrorMessage()}] +
+ [{/if}] + + [{if $oView->getValueStatus() == 'error'}] + [{oxmultilang ident="D3_EXTSEARCH_MAIN_NOCONFIG_DESC"}]
+ + + + [{else}] +
+ + + + + + + + + + + + + + + + + + + + + + [{if $oView->getStatList()}] + [{assign var="blWhite" value=""}] + [{assign var="_cnt" value=0}] + [{foreach from=$oView->getStatList() item="searchword"}] + [{assign var="_cnt" value=$_cnt+1}] + [{if $listitem->blacklist == 1}] + [{assign var="listclass" value="listitem3"}] + [{else}] + [{assign var="listclass" value="listitem"|cat:$blWhite}] + [{/if}] + + + + + + [{if $blWhite == "2"}] + [{assign var="blWhite" value=""}] + [{else}] + [{assign var="blWhite" value="2"}] + [{/if}] + [{/foreach}] + [{elseif $aParams}] + + + + [{else}] + + + + [{/if}] +
+ + + + + + + + + + + + +

+ [{oxmultilang ident="D3_EXTSEARCH_STAT_SEARCHWORD"}] + + [{if $aParams.type == 'mosthits'}][{oxmultilang ident="D3_EXTSEARCH_STAT_HITS"}][{else}][{oxmultilang ident="D3_EXTSEARCH_STAT_SEARCHES"}][{/if}] + + [{oxmultilang ident="D3_EXTSEARCH_STATISTIC_GRAPH"}] +
+ [{$searchword->sWord}] + [{if $searchword->aFilters}][{*oxmultilang ident="D3_EXTSEARCH_STATISTIC_FURTHERFILTERS"*}] + [{foreach from=$searchword->aFilters item="oFilter"}] +
[{$oFilter->desc}]: [{$oFilter->value}]
+ [{/foreach}] + [{/if}] +
+ [{$searchword->iCount}] + + [{if $oView->checkReportBaseClass()}] + [{if $searchword->blGraph}] + + + + + [{else}] + + + + + [{/if}] + [{else}] + [{oxmultilang ident="D3_EXTSEARCH_STAT_NOREPORTBASE"}] [{oxinputhelp ident="D3_EXTSEARCH_STAT_NOREPORTBASE_DESC"}] + [{/if}] +
+ [{oxmultilang ident="D3_EXTSEARCH_STAT_NOITEMS"}] [{oxinputhelp ident="D3_EXTSEARCH_STAT_NOITEMS_DESC"}] +
+ [{oxmultilang ident="D3_EXTSEARCH_STAT_SELECTFILTER"}] +
+
+ [{/if}] +
+
+ +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_list.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_list.tpl new file mode 100644 index 0000000..98bb94b --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_list.tpl @@ -0,0 +1,126 @@ +[{include file="headitem.tpl" title="GENERAL_ADMIN_TITLE"|oxmultilangassign box="list"}] + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +[{assign var="where" value=$oView->getListFilter()}] + + + +
+ +
+ +[{include file="pagetabsnippet.tpl"}] + + + + + \ No newline at end of file diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_main.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_main.tpl new file mode 100644 index 0000000..32c1a4e --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_main.tpl @@ -0,0 +1,135 @@ +[{include file="headitem.tpl" title="d3mxextsearch_syneditor"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +
+ [{$oViewConf->getHiddenSid()}] + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + [{oxinputhelp ident="D3_EXTSEARCH_SYNED_MAIN_WORD_DESC"}] +
+ + + + [{oxinputhelp ident="D3_EXTSEARCH_SYNED_MAIN_COMMENT_DESC"}] +
+
+ + + + + + + + + +
+ + + [{if $oxid != '-1'}] + + [{else}] + [{$oView->getNextSynsetId()}] + [{/if}] + [{oxinputhelp ident="D3_EXTSEARCH_SYNED_MAIN_SYNSETID_DESC"}] +
+ + + + [{oxinputhelp ident="D3_EXTSEARCH_SYNED_MAIN_LANGUAGE_DESC"}] +
+ +
+
+ + + +
+
+ +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_manage.tpl b/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_manage.tpl new file mode 100644 index 0000000..555260d --- /dev/null +++ b/src/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_manage.tpl @@ -0,0 +1,143 @@ +[{include file="headitem.tpl" title="d3mxextsearch_syneditor"|oxmultilangassign}] + + + + + +[{if $readonly}] + [{assign var="readonly" value="readonly disabled"}] +[{else}] + [{assign var="readonly" value=""}] +[{/if}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + +
+ +[{oxmultilang ident="D3_EXTSEARCH_SYNED_MANAGE_DESC"}] + + + + +
+ + + + + + + [{assign var="blWhite" value=""}] + + + + + + [{foreach from=$aSynList item="sSynonym" key="termid"}] + [{assign var="listclass" value="listitem"|cat:$blWhite}] + + + + + + [{if $blWhite == "2"}] + [{assign var="blWhite" value=""}] + [{else}] + [{assign var="blWhite" value="2"}] + [{/if}] + [{/foreach}] + + + [{$oViewConf->getHiddenSid()}] + + + + + + + + [{assign var="listclass" value="listitem"|cat:$blWhite}] + + + + + +
[{oxmultilang ident="D3_EXTSEARCH_SYNED_MANAGE_EDIT"}] [{oxinputhelp ident="D3_EXTSEARCH_SYNED_MANAGE_EDIT_DESC"}][{oxmultilang ident="D3_EXTSEARCH_SYNED_MANAGE_SYNONYM"}] 
+ + + [{$sSynonym}] + + +
+ + + + [{oxinputhelp ident="D3_EXTSEARCH_SYNED_SAVENEWSYN_DESC"}] +
+
+ +[{include file="d3_cfg_mod_inc.tpl"}] diff --git a/src/Application/views/admin/tpl/d3_extsearch_plugin.tpl b/src/Application/views/admin/tpl/d3_extsearch_plugin.tpl new file mode 100644 index 0000000..5e90717 --- /dev/null +++ b/src/Application/views/admin/tpl/d3_extsearch_plugin.tpl @@ -0,0 +1,11 @@ + + + [{$oShop->getFieldData('oxname')}] + UTF-8 + UTF-8 +[{if $blHasIcon}] + data:[{$aImgInfo.mime}];base64, [{$sBase64Icon}] +[{/if}] + + + \ No newline at end of file diff --git a/src/Application/views/admin/tpl/d3_extsearch_popup.tpl b/src/Application/views/admin/tpl/d3_extsearch_popup.tpl new file mode 100644 index 0000000..31f9880 --- /dev/null +++ b/src/Application/views/admin/tpl/d3_extsearch_popup.tpl @@ -0,0 +1,40 @@ +[{assign var="iRefreshTime" value=$iRefreshTime|default:0}] + + + + + + [{$sTitle}] + [{if $sRefreshUrl}] + + [{/if}] + + + + [{if $sMessage}] +
+
+ [{$sMessage}] +
+ [{/if}] + + [{if $iProgressPercent}] +
+
+
+
+ [{assign var="sText" value="D3_EXTSEARCH_MAIN_GENERATOR_PROCESSING2"|oxmultilangassign}] + [{$sText|sprintf:$iProgressPercent}] +
+
+ [{/if}] + + [{if $blWait}] +
+ [{oxmultilang ident="D3_EXTSEARCH_MAIN_GENERATOR_WAIT"}] + [{else}] +
+ [{oxmultilang ident="D3_EXTSEARCH_MAIN_GENERATOR_CLOSEWND"}] + [{/if}] + + \ No newline at end of file diff --git a/src/Application/views/admin/tpl/reports/d3_extsearch_report_hitless.tpl b/src/Application/views/admin/tpl/reports/d3_extsearch_report_hitless.tpl new file mode 100644 index 0000000..28dfdb8 --- /dev/null +++ b/src/Application/views/admin/tpl/reports/d3_extsearch_report_hitless.tpl @@ -0,0 +1,47 @@ +
+ +[{if $drawStat}] + [{foreach from=$aStats item="aStat"}] + + + + +
+ + + + + + + + + + + + + [{foreach name=outer item=classe from=$aStat.classes}] + [{foreach key=key item=curr_point from=$classe}] + + [{/foreach}] + [{/foreach}] + + + [{foreach name=outer item=percent from=$aStat.percents}] + [{foreach key=key item=curr_point from=$percent}] + + + + [{/foreach}] + [{/foreach}] + + + +
 
[{$aStat.sHeadline}] [{if $aStat.sFilters}]([{$aStat.sFilters}])[{/if}]
 
[{$key}]
[{$key}][{$aStat.sSearchDate}]
  
+
+
+ [{/foreach}] +[{else}] + [{oxmultilang ident="GENERAL_NODATA"}] +[{/if}] +
+ diff --git a/src/Application/views/admin/tpl/reports/d3_extsearch_report_mostsearches.tpl b/src/Application/views/admin/tpl/reports/d3_extsearch_report_mostsearches.tpl new file mode 100644 index 0000000..f509621 --- /dev/null +++ b/src/Application/views/admin/tpl/reports/d3_extsearch_report_mostsearches.tpl @@ -0,0 +1,46 @@ +
+[{if $drawStat}] + [{foreach from=$aStats item="aStat"}] + + + + +
+ + + + + + + + + + + + + [{foreach name=outer item=classe from=$aStat.classes}] + [{foreach key=key item=curr_point from=$classe}] + + [{/foreach}] + [{/foreach}] + + + [{foreach name=outer item=percent from=$aStat.percents}] + [{foreach key=key item=curr_point from=$percent}] + + + + [{/foreach}] + [{/foreach}] + + + +
 
[{$aStat.sHeadline}] [{if $aStat.sFilters}]([{$aStat.sFilters}])[{/if}]
 
[{$key}]
[{$key}][{$aStat.sSearchDate}]
  
+
+
+ [{/foreach}] + [{else}] +[{oxmultilang ident="GENERAL_NODATA"}] +[{/if}] +
+ diff --git a/src/Application/views/blocks/layout/d3_extsearch_css.tpl b/src/Application/views/blocks/layout/d3_extsearch_css.tpl new file mode 100644 index 0000000..e1b6071 --- /dev/null +++ b/src/Application/views/blocks/layout/d3_extsearch_css.tpl @@ -0,0 +1,21 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] + +[{if $mod_d3_extsearch}] + [{if $oModCfg_d3_extsearch->isThemeIdMappedTo('mobile')}] + [{assign var="sCssName" value="out/src/css/d3extsearch_mobile.min.css"}] + [{elseif $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] + [{assign var="sCssName" value="out/src/css/d3extsearch_flow.min.css"}] + [{elseif $oModCfg_d3_extsearch->isThemeIdMappedTo('azure')}] + [{assign var="sCssName" value="out/src/css/d3extsearch_azure.min.css"}] + [{else}] + [{assign var="sCssName" value="out/src/css/d3extsearch_allthemes.min.css"}] + [{/if}] + + [{oxstyle include=$oViewConf->getModuleUrl('d3_extsearch', $sCssName)}] + + [{if $blSearchPluginInstall == '1' && $sSearchPluginURL}] + + [{/if}] +[{/if}] diff --git a/src/Application/views/blocks/layout/d3_extsearch_js.tpl b/src/Application/views/blocks/layout/d3_extsearch_js.tpl new file mode 100644 index 0000000..9c1cdad --- /dev/null +++ b/src/Application/views/blocks/layout/d3_extsearch_js.tpl @@ -0,0 +1,112 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] + +[{if $mod_d3_extsearch && false == $oModCfg_d3_extsearch->isThemeIdMappedTo('mobile')}] + [{if $blUseSuggestSearch}] + [{strip}] + [{block name="d3_extsearch_js__suggest"}] + [{block name="d3_extsearch_js__suggest_jsfile"}] + [{oxscript include=$oViewConf->getModuleUrl('d3_extsearch', 'out/src/js/d3extsearch.min.js')}] + [{/block}] + + [{block name="d3_extsearch_js__suggest_jssuggestcall"}] + [{assign var="sCharSet" value="charset"|oxmultilangassign}] + [{capture name="d3script"}][{strip}] + $(document).ready(function () { + $('#searchParam').d3extsearchsuggest({ + sWaitMessage: '[{$sD3QSWaitMessage|strip|escape:"htmlall":$sCharSet}]', + sParentThemeId: '[{$oModCfg_d3_extsearch->getReferenceThemeId()}]', + sRequestUrl: '[{$oViewConf->getModuleUrl('d3_extsearch')|cat:"public/d3_extsearch_response.php?shp="|cat:$oViewConf->getActiveShopId()|cat:"&"}]', + }); + }); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3script}] + [{/block}] + + [{if !$blD3EmptySearch}] + [{assign var="sSBDefault" value="D3_EXTSEARCH_FIELD_NOTICE"|oxmultilangassign}] + [{oxscript add="var sD3SearchBoxDefault = '"|cat:$sSBDefault|cat:"';"}] + [{else}] + [{oxscript add="var sD3SearchBoxDefault = '';"}] + [{/if}] + [{/block}] + [{/strip}] + [{/if}] + + [{if $blD3ShowIAS}] + [{strip}] + [{block name="d3_extsearch_js__ias"}] + [{block name="d3_extsearch_js__ias_jsfile"}] + [{oxscript include=$oViewConf->getModuleUrl('d3_extsearch', 'out/src/js/d3extsearch_ias.min.js')}] + [{/block}] + + [{block name="d3_extsearch_js__suggest_jsiascall"}] + [{assign var="sCharSet" value="charset"|oxmultilangassign}] + [{capture name="d3script"}][{strip}] + $(document).ready(function () { + $(document).d3extsearchias(); + }); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3script}] + [{/block}] + +
+
+
X
+ +
+
+
+ [{$oViewConf->getHiddenSid()}] + + + + + +
+
+
+ [{/block}] + [{/strip}] + [{/if}] + + [{if $blD3ShowSearchPopup}] + [{block name="d3_extsearch_js__popup"}] +
+ [{oxmultilang ident="D3_EXTSEARCH_SEARCHINPROGRESS"}] +
+ + + +
+ [{/block}] + [{else}] + [{block name="d3_extsearch_js__nopopup"}] + + [{/block}] + [{/if}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/blocks/page/list/d3extsearch_alist_filters.tpl b/src/Application/views/blocks/page/list/d3extsearch_alist_filters.tpl new file mode 100644 index 0000000..8c7397a --- /dev/null +++ b/src/Application/views/blocks/page/list/d3extsearch_alist_filters.tpl @@ -0,0 +1,15 @@ +[{$smarty.block.parent}] + +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch && $blD3ShowFilters && !$place}] + [{assign var="sTplName" value="d3_list_filters_"|cat:$oModCfg_d3_extsearch->getMappedThemeId()|cat:'.tpl'}] + + [{if $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] + [{capture append="oxidBlock_sidebar"}] + [{include file=$sTplName sidebar_class="d3sidebar"}] + [{/capture}] + [{else}] + [{** display filter across articles **}] + [{include file=$sTplName sidebar_class="d3topbar"}] + [{/if}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/blocks/page/list/d3extsearch_alist_noartfilters.tpl b/src/Application/views/blocks/page/list/d3extsearch_alist_noartfilters.tpl new file mode 100644 index 0000000..1649f8a --- /dev/null +++ b/src/Application/views/blocks/page/list/d3extsearch_alist_noartfilters.tpl @@ -0,0 +1,27 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch && $oView->getArticleList()|@count == 0 && $blD3HasSelectedFilters}] +
+
+ [{$oViewConf->getHiddenSid()}] + + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + + [{oxmultilang ident="D3_EXTSEARCH_EXT_NOARTDESELECT"}] + + [{block name="d3_inc_ext_search__filter_clear"}] +
+ +
+ [{/block}] +
+
+[{/if}] + +[{$smarty.block.parent}] \ No newline at end of file diff --git a/src/Application/views/blocks/page/search/d3_inc_ext_search.tpl b/src/Application/views/blocks/page/search/d3_inc_ext_search.tpl new file mode 100644 index 0000000..47e8895 --- /dev/null +++ b/src/Application/views/blocks/page/search/d3_inc_ext_search.tpl @@ -0,0 +1,43 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] + +[{if $mod_d3_extsearch}] + [{block name="d3extsearch_filters"}] + [{if $oModCfg_d3_extsearch->isThemeIdMappedTo('mobile')}] + [{include file="d3_inc_ext_search_mobile.tpl"}] + [{elseif $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] + [{** to move the filters across the article boxes, remove the capture tags and the sidebar class definition**}] + [{capture append="oxidBlock_sidebar"}] + [{include file="d3_search_filters_flow.tpl" sidebar_class="d3sidebar"}] + [{/capture}] + [{include file="d3_search_contents_flow.tpl"}] + [{else}] + [{include file="d3_inc_ext_search_azure.tpl"}] + [{/if}] + + [{if $oView->getArticleList()|@count == 0 && $blD3HasSelectedFilters}] +
+
+ [{$oViewConf->getHiddenSid()}] + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + + [{oxmultilang ident="D3_EXTSEARCH_EXT_NOARTDESELECT"}] + + [{block name="d3_inc_ext_search__filter_clear"}] +
+ +
+ [{/block}] +
+
+ [{/if}] + [{/block}] +[{/if}] + +[{$smarty.block.parent}] \ No newline at end of file diff --git a/src/Application/views/blocks/widget/header/d3_extsearch_headersearch.tpl b/src/Application/views/blocks/widget/header/d3_extsearch_headersearch.tpl new file mode 100644 index 0000000..0ea04c3 --- /dev/null +++ b/src/Application/views/blocks/widget/header/d3_extsearch_headersearch.tpl @@ -0,0 +1,19 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] + +[{if $mod_d3_extsearch && false == $oModCfg_d3_extsearch->isThemeIdMappedTo('mobile')}] + [{block name="widget_header_search_form_replacement"}] + [{capture assign="content"}][{$smarty.block.parent}][{/capture}] + + [{capture assign="search"}][{strip}] + name="search" + [{/strip}][{/capture}] + + [{capture assign="replace"}][{strip}] + name="search" id="search" onSubmit="d3_extsearch_popup.popup.load();" autocomplete="off" spellcheck="false" + [{/strip}][{/capture}] + + [{$content|replace:$search:$replace}] + [{/block}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/Application/views/blocks/widget/header/d3_extsearch_searchfield.tpl b/src/Application/views/blocks/widget/header/d3_extsearch_searchfield.tpl new file mode 100644 index 0000000..7878be1 --- /dev/null +++ b/src/Application/views/blocks/widget/header/d3_extsearch_searchfield.tpl @@ -0,0 +1,45 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] + +[{if $mod_d3_extsearch && false == $oModCfg_d3_extsearch->isThemeIdMappedTo('mobile')}] + + [{capture assign="content"}][{$smarty.block.parent}][{/capture}] + + [{capture assign="search"}][{strip}] + id="searchParam" + [{/strip}][{/capture}] + + [{capture assign="replace"}][{strip}] + id="searchParam" autocomplete="off" autocorrect="off" autocapitilize="off" spellcheck="false" + [{/strip}][{/capture}] + + [{$content|replace:$search:$replace}] + + [{if $blOwnFormFields}] + [{*** Fuegen Sie hier bei Bedarf noch weitere Filtermoeglichkeiten hinzu ***}] + [{* Gesucht wird nach Teilen mit LIKE *}] + [{oxmultilang ident="D3_CUSTOMFIELDTEXT_LIKETITLE"}] +
+ [{**}] + [{* Gesucht wird nach genauem Wortlaut mit = *}] + [{oxmultilang ident="D3_CUSTOMFIELDTEXT_ISARTNUM"}] +
+ [{**}] + [{oxmultilang ident="D3_CUSTOMFIELDTEXT_ISBETWEENSTOCK"}] +
+ [{oxmultilang ident="D3_CUSTOMFIELDTEXT_ISBETWEENPRICE"}] +
+ [{/if}] +[{else}] + [{$smarty.block.parent}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/blocks/widget/locator/d3_list_disabledefaultfilters.tpl b/src/Application/views/blocks/widget/locator/d3_list_disabledefaultfilters.tpl new file mode 100644 index 0000000..e057828 --- /dev/null +++ b/src/Application/views/blocks/widget/locator/d3_list_disabledefaultfilters.tpl @@ -0,0 +1,2 @@ +[{** don't display default block content (original attribute filters)**}] +[{*$smarty.block.parent*}] diff --git a/src/Application/views/blocks/widget/product/d3_extsearch_listitemgrid_flowtitlebox.tpl b/src/Application/views/blocks/widget/product/d3_extsearch_listitemgrid_flowtitlebox.tpl new file mode 100644 index 0000000..f0ae940 --- /dev/null +++ b/src/Application/views/blocks/widget/product/d3_extsearch_listitemgrid_flowtitlebox.tpl @@ -0,0 +1,16 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch && $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] +
+ +[{*** D3 Modul "extSearch" CHANGE START ***}] + [{d3_extsearch_highlight text=$product->oxarticles__oxtitle->value}] [{d3_extsearch_highlight text=$product->oxarticles__oxvarselect->value}] +[{*** D3 Modul "extSearch" CHANGE END ***}] + +[{*** D3 Modul "extSearch" ADD START ***}] + [{if $product->blIsSimilar}][{oxmultilang ident="D3_EXTSEARCH_EXT_SIMILAR"}][{/if}] + [{if $product->isD3CatHit}][{oxmultilang ident="D3_EXTSEARCH_EXT_CATHIT"}][{/if}] +[{*** D3 Modul "extSearch" ADD END ***}] +
+[{else}] + [{$smarty.block.parent}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/blocks/widget/product/d3_extsearch_listitemgrid_title.tpl b/src/Application/views/blocks/widget/product/d3_extsearch_listitemgrid_title.tpl new file mode 100644 index 0000000..1f95559 --- /dev/null +++ b/src/Application/views/blocks/widget/product/d3_extsearch_listitemgrid_title.tpl @@ -0,0 +1,92 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch && false == $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] + [{assign var="product" value=$oView->getProduct()}] + [{assign var="blDisableToCart" value=$oView->getDisableToCart()}] + [{assign var="iIndex" value=$oView->getIndex()}] + [{assign var="showMainLink" value=$oView->getShowMainLink()}] + + [{if $showMainLink}] + [{assign var='_productLink' value=$product->getMainLink()}] + [{else}] + [{assign var='_productLink' value=$product->getLink()}] + [{/if}] + [{assign var="blShowToBasket" value=true}] [{* tobasket or more info ? *}] + [{if $blDisableToCart || $product->isNotBuyable()||$product->hasMdVariants()||($oViewConf->showSelectListsInList() && $product->getSelections(1))||$product->getVariants()}] + [{assign var="blShowToBasket" value=false}] + [{/if}] + [{capture name=product_price}] + [{block name="widget_product_listitem_grid_price"}] + [{oxhasrights ident="SHOWARTICLEPRICE"}] + [{if $product->getTPrice()}] + + [{oxmultilang ident="REDUCED_FROM_2"}] [{oxprice price=$product->getTPrice() currency=$oView->getActCurrency()}] + + [{/if}] + [{block name="widget_product_listitem_grid_price_value"}] + [{if $product->getPrice()}] + + + [{if $product->isRangePrice()}] + [{oxmultilang ident="PRICE_FROM"}] + [{if !$product->isParentNotBuyable()}] + [{assign var="oPrice" value=$product->getMinPrice()}] + [{else}] + [{assign var="oPrice" value=$product->getVarMinPrice()}] + [{/if}] + [{else}] + [{if !$product->isParentNotBuyable()}] + [{assign var="oPrice" value=$product->getPrice()}] + [{else}] + [{assign var="oPrice" value=$product->getVarMinPrice()}] + [{/if}] + [{/if}] + + [{oxprice price=$oPrice currency=$oView->getActCurrency()}] + [{if $oView->isVatIncluded()}] + [{if !($product->hasMdVariants() || ($oViewConf->showSelectListsInList() && $product->getSelections(1)) || $product->getVariants())}] *[{/if}] + [{/if}] + + [{/if}] + [{/block}] + [{if $product->getUnitPrice()}] + + [{$product->getUnitQuantity()}] [{$product->getUnitName()}] | [{oxprice price=$product->getUnitPrice() currency=$oView->getActCurrency()}] /[{$product->getUnitName()}] + + [{elseif $product->oxarticles__oxweight->value}] + + [{oxmultilang ident="WEIGHT" suffix="COLON"}] + [{$product->oxarticles__oxweight->value}] [{oxmultilang ident="KG"}] + + [{/if}] + [{/oxhasrights}] + [{/block}] + [{/capture}] + + +[{*** D3 Modul "extSearch" CHANGE START ***}] + [{d3_extsearch_highlight text=$product->oxarticles__oxtitle->value}] [{d3_extsearch_highlight text=$product->oxarticles__oxvarselect->value}] + [{if $product->blIsSimilar}][{oxmultilang ident="D3_EXTSEARCH_EXT_SIMILAR"}][{/if}] + [{if $product->isD3CatHit}][{oxmultilang ident="D3_EXTSEARCH_EXT_CATHIT"}][{/if}] +[{*** D3 Modul "extSearch" CHANGE END ***}] + +
+ [{$product->oxarticles__oxtitle->value}] [{$product->oxarticles__oxvarselect->value}] +
+
+ + [{block name="widget_product_listitem_grid_tobasket"}] +
+ [{oxhasrights ident="TOBASKET"}] + [{$smarty.capture.product_price}] + [{if !$blShowToBasket}] + [{oxmultilang ident="MORE_INFO"}] + [{else}] + [{assign var="listType" value=$oView->getListType()}] + oxarticles__oxid->value`&am=1"}]" class="toCart button" title="[{oxmultilang ident="TO_CART"}]">[{oxmultilang ident="TO_CART"}] + [{/if}] + [{/oxhasrights}] +
+ [{/block}] +[{else}] + [{$smarty.block.parent}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/blocks/widget/product/d3_extsearch_listiteminfogrid_title.tpl b/src/Application/views/blocks/widget/product/d3_extsearch_listiteminfogrid_title.tpl new file mode 100644 index 0000000..3d3e508 --- /dev/null +++ b/src/Application/views/blocks/widget/product/d3_extsearch_listiteminfogrid_title.tpl @@ -0,0 +1,24 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch}] + [{if $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] +
+ + [{d3_extsearch_highlight text=$product->oxarticles__oxtitle->value}] [{d3_extsearch_highlight text=$product->oxarticles__oxvarselect->value}] + + + [{if $product->blIsSimilar}][{oxmultilang ident="D3_EXTSEARCH_EXT_SIMILAR"}][{/if}] + [{if $product->isD3CatHit}][{oxmultilang ident="D3_EXTSEARCH_EXT_CATHIT"}][{/if}] +
+ [{else}] +
+ + [{d3_extsearch_highlight text=$product->oxarticles__oxtitle->value}] [{d3_extsearch_highlight text=$product->oxarticles__oxvarselect->value}] + + + [{if $product->blIsSimilar}][{oxmultilang ident="D3_EXTSEARCH_EXT_SIMILAR"}][{/if}] + [{if $product->isD3CatHit}][{oxmultilang ident="D3_EXTSEARCH_EXT_CATHIT"}][{/if}] +
+ [{/if}] +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_description.tpl b/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_description.tpl new file mode 100644 index 0000000..3010df3 --- /dev/null +++ b/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_description.tpl @@ -0,0 +1,15 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] + +[{if $mod_d3_extsearch}] +
+ [{if $recommid}] +
[{d3_extsearch_highlight text=$product->text|truncate:160:"..."}]
+ [{else}] + [{oxhasrights ident="SHOWSHORTDESCRIPTION"}] + [{d3_extsearch_highlight text=$product->oxarticles__oxshortdesc->value|truncate:160:"..."}] + [{/oxhasrights}] + [{/if}] +
+[{else}] + [{$smarty.block.parent}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_flowtitlebox.tpl b/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_flowtitlebox.tpl new file mode 100644 index 0000000..5cd95d7 --- /dev/null +++ b/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_flowtitlebox.tpl @@ -0,0 +1,19 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch && $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] + +
+ +[{*** D3 Modul "extSearch" CHANGE START ***}] + [{d3_extsearch_highlight text=$product->oxarticles__oxtitle->value}] [{d3_extsearch_highlight text=$product->oxarticles__oxvarselect->value}] + [{*** D3 Modul "extSearch" CHANGE END ***}] + + +[{*** D3 Modul "extSearch" ADD START ***}] + [{if $product->blIsSimilar}][{oxmultilang ident="D3_EXTSEARCH_EXT_SIMILAR"}][{/if}] + [{if $product->isD3CatHit}][{oxmultilang ident="D3_EXTSEARCH_EXT_CATHIT"}][{/if}] +[{*** D3 Modul "extSearch" ADD END ***}] +
+ +[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_selections.tpl b/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_selections.tpl new file mode 100644 index 0000000..a95477e --- /dev/null +++ b/src/Application/views/blocks/widget/product/d3_extsearch_listitemline_selections.tpl @@ -0,0 +1,30 @@ +[{d3modcfgcheck modid="d3_extsearch"}][{/d3modcfgcheck}] +[{if $mod_d3_extsearch && false == $oModCfg_d3_extsearch->isThemeIdMappedTo('flow')}] +
+ + [{d3_extsearch_highlight text=$product->oxarticles__oxtitle->value}] [{d3_extsearch_highlight text=$product->oxarticles__oxvarselect->value}] + + [{if $product->blIsSimilar}][{oxmultilang ident="D3_EXTSEARCH_EXT_SIMILAR"}][{/if}] + [{if $product->isD3CatHit}][{oxmultilang ident="D3_EXTSEARCH_EXT_CATHIT"}][{/if}] +
+ [{if $aVariantSelections && $aVariantSelections.selections}] +
+ [{foreach from=$aVariantSelections.selections item=oSelectionList key=iKey}] + [{include file="widget/product/selectbox.tpl" oSelectionList=$oSelectionList sJsAction="js-fnSubmit"}] + [{/foreach}] +
+ [{elseif $oViewConf->showSelectListsInList()}] + [{assign var="oSelections" value=$product->getSelections(1)}] + [{if $oSelections}] +
+ [{foreach from=$oSelections item=oList name=selections}] + [{include file="widget/product/selectbox.tpl" oSelectionList=$oList sFieldName="sel" iKey=$smarty.foreach.selections.index blHideDefault=true sSelType="seldrop" sJsAction="js-fnSubmit"}] + [{/foreach}] +
+ [{/if}] + [{/if}] +
+
+[{else}] + [{$smarty.block.parent}] +[{/if}] diff --git a/src/Application/views/tpl/azure/d3_inc_ext_search.tpl b/src/Application/views/tpl/azure/d3_inc_ext_search.tpl new file mode 100644 index 0000000..d1ccb8f --- /dev/null +++ b/src/Application/views/tpl/azure/d3_inc_ext_search.tpl @@ -0,0 +1,200 @@ +[{if !$oView->getArticleCount()}] + [{block name="d3_cfg_extsearch_search_noarticlemessage"}] +

[{oxcontent ident="d3extsearch_noarticlefound" field="oxtitle"}]

+ [{oxcontent ident="d3extsearch_noarticlefound"}] + [{/block}] +[{/if}] + +[{if $oView->d3GetCMSList()}] + [{block name="d3_cfg_extsearch_search_cms_results"}] +
+

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

+
+ + + [{foreach from=$oView->d3GetCMSList() item="oContent"}] + [{assign var="TitleCharCount" value=$oContent->oxcontents__oxtitle->value|count_characters}] + [{math equation="100-s" s=$TitleCharCount assign="iTextLength"}] + + [{/foreach}] +
+
+
+ [{/block}] +[{/if}] + +[{assign var="similarSearch" value=$oView->getSearchResultStatusMessage()}] +[{if $similarSearch}] + [{block name="d3_cfg_extsearch_search_similar_messages"}] +
+
+ [{if $similarSearch == 'similar'}] + [{oxmultilang ident="D3_EXTSEARCH_EXT_NOARTMSG"}] [{$oView->getUsedParams()}] + [{elseif $similarSearch == 'combined'}] + [{oxmultilang ident="D3_EXTSEARCH_EXT_LESSARTMSG"}] + [{/if}] +
+
+ [{/block}] +[{/if}] + +[{if $blSearchPluginLink == 1}] + [{block name="d3_cfg_extsearch_search_plugin"}] +
+

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

+
+ + [{oxmultilang ident="D3_EXTSEARCH_EXT_PLUGININSTALLMSG"}] +
+
+
+ [{/block}] +[{/if}] + +[{if $oView->d3HasFilters()}] + [{block name="d3_cfg_extsearch_search_filters"}] +
+ [{block name="d3_cfg_extsearch_search_filters_headline"}] +

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

+ [{/block}] + + [{block name="d3_cfg_extsearch_search_filters_content"}] +
+
+ [{$oViewConf->getHiddenSid()}] + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + + [{block name="d3_inc_ext_search__filter"}] + [{if $oView->d3HasCategoryList()}] + [{block name="d3_inc_ext_search__filter_category"}] + [{include file="d3_ext_search_filter_category.tpl" cssclass="" sSelectedCategoryId=$sSelectedCategoryId sSelectedCategory=$sSelectedCategory}] + [{/block}] + [{/if}] + + [{if $oView->d3HasVendorList()}] + [{block name="d3_inc_ext_search__filter_vendor"}] + [{include file="d3_ext_search_filter_vendor.tpl" cssclass="" sSelectedVendorId=$sSelectedVendorId sSelectedVendor=$sSelectedVendor}] + [{/block}] + [{/if}] + + [{if $oView->d3HasManufacturerList()}] + [{block name="d3_inc_ext_search__filter_manufacturer"}] + [{include file="d3_ext_search_filter_manufacturer.tpl" cssclass="" sSelectedManufacturerId=$sSelectedManufacturerId sSelectedManufacturer=$sSelectedManufacturer}] + [{/block}] + [{/if}] + + [{if $oView->d3HasAttributeList()}] + [{foreach from=$oView->d3GetAttributeList() name=search key=key item=oAttribute}] + [{block name="d3_inc_ext_search__filter_attribute"}] + [{include file="d3_ext_search_filter_attribute.tpl" cssclass="" key=$key oAttribute=$oAttribute}] + [{/block}] + [{/foreach}] + [{/if}] + + [{if $oView->d3HasPriceFilter()}] + [{block name="d3_inc_ext_search__filter_price"}] + [{include file="d3_ext_search_filter_priceselector.tpl" cssclass="" infoMinValue=$oView->d3GetPriceSliderInfoMinValue() infoMaxValue=$oView->d3GetPriceSliderInfoMaxValue() originalMinValue=$oView->d3GetPriceSliderOriginalMinValue() originalMaxValue=$oView->d3GetPriceSliderOriginalMaxValue() inputMinValue=$oView->d3GetPriceSliderInputMinValue() inputMaxValue=$oView->d3GetPriceSliderInputMaxValue() aPriceLimits=$oView->d3getPriceLimits() aPriceSteps=$oView->d3getPriceSteps()}] + [{/block}] + [{/if}] + + + + [{block name="d3_inc_ext_search__filter_clear"}] +
+ +
+ [{/block}] + +
+ [{/block}] +
+
+ [{/block}] +
+ [{/block}] +[{/if}] + +[{if $oView->d3HasIndexList()}] + [{block name="d3_cfg_extsearch_search_index"}] +
+ [{include file="d3_ext_search_filter.tpl" d3fdesc="D3_EXTSEARCH_EXT_ALL"|oxmultilangassign d3fparam="all"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="A"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="B"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="C"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="D"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="E"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="F"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="G"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="H"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="I"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="J"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="K"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="L"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="M"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="N"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="O"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="P"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Q"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="R"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="S"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="T"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="U"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="V"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="W"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="X"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Y"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Z"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="1"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="2"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="3"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="4"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="5"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="6"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="7"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="8"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="9"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="0"}] +
+ [{/block}] +[{/if}] diff --git a/src/Application/views/tpl/azure/d3extsearch_alist_filters.tpl b/src/Application/views/tpl/azure/d3extsearch_alist_filters.tpl new file mode 100644 index 0000000..4776d2c --- /dev/null +++ b/src/Application/views/tpl/azure/d3extsearch_alist_filters.tpl @@ -0,0 +1,66 @@ +[{if $oView->d3HasFilters()}] + [{block name="d3_cfg_extsearch_alist_filters"}] +
+ [{$oViewConf->getHiddenSid()}] + + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + +
+ [{block name="d3_inc_ext_search__filter"}] + [{if $oView->d3HasCategoryList()}] + [{block name="d3_inc_ext_search__filter_category"}] + [{include file="d3_ext_search_filter_category.tpl" cssclass="" sSelectedCategoryId=$sSelectedCategoryId sSelectedCategory=$sSelectedCategory}] + [{/block}] + [{/if}] + + [{if $oView->d3HasVendorList()}] + [{block name="d3_inc_ext_search__filter_vendor"}] + [{include file="d3_ext_search_filter_vendor.tpl" cssclass="" sSelectedVendorId=$sSelectedVendorId sSelectedVendor=$sSelectedVendor}] + [{/block}] + [{/if}] + + [{if $oView->d3HasManufacturerList()}] + [{block name="d3_inc_ext_search__filter_manufacturer"}] + [{include file="d3_ext_search_filter_manufacturer.tpl" cssclass="" sSelectedManufacturerId=$sSelectedManufacturerId sSelectedManufacturer=$sSelectedManufacturer}] + [{/block}] + [{/if}] + + [{if $oView->d3HasAttributeList()}] + [{foreach from=$oView->d3GetAttributeList() name=search key=key item=oAttribute}] + [{block name="d3_inc_ext_search__filter_attribute"}] + [{include file="d3_ext_search_filter_attribute.tpl" cssclass="" key=$key oAttribute=$oAttribute}] + [{/block}] + [{/foreach}] + [{/if}] + + [{if $oView->d3HasPriceFilter()}] + [{block name="d3_inc_ext_search__filter_price"}] + [{include file="d3_ext_search_filter_priceselector.tpl" cssclass="" infoMinValue=$oView->d3GetPriceSliderInfoMinValue() infoMaxValue=$oView->d3GetPriceSliderInfoMaxValue() originalMinValue=$oView->d3GetPriceSliderOriginalMinValue() originalMaxValue=$oView->d3GetPriceSliderOriginalMaxValue() inputMinValue=$oView->d3GetPriceSliderInputMinValue() inputMaxValue=$oView->d3GetPriceSliderInputMaxValue() aPriceLimits=$oView->d3getPriceLimits() aPriceSteps=$oView->d3getPriceSteps()}] + [{/block}] + [{/if}] + + + + [{block name="d3_inc_ext_search__filter_clear"}] +
+ +
+ [{/block}] + [{/block}] +
+
+ [{/block}] +[{/if}] diff --git a/src/Application/views/tpl/d3_ddoevisualcmsadmin_extsearch.tpl b/src/Application/views/tpl/d3_ddoevisualcmsadmin_extsearch.tpl new file mode 100644 index 0000000..4995058 --- /dev/null +++ b/src/Application/views/tpl/d3_ddoevisualcmsadmin_extsearch.tpl @@ -0,0 +1,51 @@ +[{block name="d3_cfg_extsearch_visualcms"}] + +[{capture name="sOxidContent"}][{strip}] + [{include file=$sOriginalTplName}] +[{/strip}][{/capture}] + +[{capture name="sSearchContent"}][{strip}] +
+[{/strip}][{/capture}] + +[{capture name="sModuleContent"}] +
+
+ +
+ +
+
+[{/capture}] + +[{$smarty.capture.sOxidContent|replace:$smarty.capture.sSearchContent:$smarty.capture.sModuleContent}] + +[{capture name="d3JsFnc"}][{strip}] + $('ul.nav-tabs').find('li a[href="#tab_settings_advanced"]').click(function() { + var CmsId = $('div.selectize-input').find('div.item').attr('data-value'); + var isNewItem = $('#elm_edit_new').is(":checked"); + + if (CmsId != 'CMSFOLDER_NONE' && !isNewItem) { + sURI = "[{$oViewConf->getSelfLink()}]" + "&cl=[{$oViewConf->getActiveClassName()}]&fnc=d3GetIsSearchStatus" + "&id=" + encodeURIComponent(CmsId); + sURI = sURI.replace(/&/g, '&'); + + $.ajax({ + url: sURI, + type: "GET", + success: function (a) { + $('#elm_edit_d3issearchable').prop("checked", a == 'true'); + } + }) + } else { + $('#elm_edit_d3issearchable').prop("checked", false); + } + }); +[{/strip}][{/capture}] +[{oxscript add=$smarty.capture.d3JsFnc}] +[{oxscript}] + +[{/block}] \ No newline at end of file diff --git a/src/Application/views/tpl/d3_ext_search_filter.tpl b/src/Application/views/tpl/d3_ext_search_filter.tpl new file mode 100644 index 0000000..b59cf07 --- /dev/null +++ b/src/Application/views/tpl/d3_ext_search_filter.tpl @@ -0,0 +1,11 @@ +[{block name="d3_cfg_extsearch_indexletter"}] + [{if $oView->isHitForIndexLetter($d3fparam)}] + + [{else}] + + [{/if}] +[{/block}] \ No newline at end of file diff --git a/src/Application/views/tpl/d3_ext_search_highlight.tpl b/src/Application/views/tpl/d3_ext_search_highlight.tpl new file mode 100644 index 0000000..f9adbfa --- /dev/null +++ b/src/Application/views/tpl/d3_ext_search_highlight.tpl @@ -0,0 +1,3 @@ +[{block name="d3_cfg_extsearch_highlight"}][{strip}] + [{$content}] +[{/strip}][{/block}] \ No newline at end of file diff --git a/src/Application/views/tpl/d3_ext_search_suggestsearch.tpl b/src/Application/views/tpl/d3_ext_search_suggestsearch.tpl new file mode 100644 index 0000000..d0f2280 --- /dev/null +++ b/src/Application/views/tpl/d3_ext_search_suggestsearch.tpl @@ -0,0 +1,148 @@ +[{block name="d3extsearch_suggest_main"}] +
+
+ [{block name="d3extsearch_suggest_headline"}] + [{if $blStartSearch}] + [{oxmultilang ident="D3_EXTSEARCH_QUICK_SEARCH"}] + [{else}] + + [{if $useMultipleObjectTypes}] + [{oxmultilang ident="D3_EXTSEARCH_QUICK_MULTIPLEHITS"}] + [{else}] + [{$iHitCount}] [{if $similar}][{oxmultilang ident="D3_EXTSEARCH_QUICK_SIMILARHITS"}][{else}][{oxmultilang ident="D3_EXTSEARCH_QUICK_HITS"}][{/if}] "[{$sSearchparam}]" + [{/if}] + [{/if}] + [{/block}] +
+ + [{capture assign="sCssClasses"}][{strip}] + [{if $oHitList|@count}] hasArticleItems[{/if}] + [{if $oCatHitList|@count}] hasCategoryItems[{/if}] + [{if $oManHitList|@count}] hasManufacturerItems[{/if}] + [{if $oVendorHitList|@count}] hasVendorItems[{/if}] + [{if $oContentHitList|@count}] hasContentItems[{/if}] + [{/strip}][{/capture}] + + [{strip}] + [{if !$blStartSearch}] + [{block name="d3extsearch_suggest_list"}] +
+ + [{if $oHitList|@count}] + [{block name="d3extsearch_suggest_list_article"}] +
+

[{oxmultilang ident="PRODUCTS"}]

+ [{foreach name="hitlist" from=$oHitList item="oHit"}] + [{block name="d3extsearch_suggest_listitem_article"}] + [{strip}] + +
[{$oHit->getFieldData('oxtitle')}]
+ [{$oHit->getFieldData('oxtitle')}] + [{if $oHit->getFieldData('oxvarselect')}] [{$oHit->getFieldData('oxvarselect')}][{/if}] +
+ [{/strip}] + [{assign var="blItem" value=true}] + [{/block}] + [{/foreach}] +
+ [{/block}] + [{/if}] + + [{if $useMultipleObjectTypes && $oCatHitList|@count}] + [{block name="d3extsearch_suggest_list_category"}] +
+

[{oxmultilang ident="CATEGORIES"}]

+ [{foreach name="cathitlist" from=$oCatHitList item="oHit"}] + [{block name="d3extsearch_suggest_listitem_category"}] + [{strip}] + + [{$oHit->getFieldData('oxtitle')}] + + [{/strip}] + [{assign var="blItem" value=true}] + [{/block}] + [{/foreach}] +
+ [{/block}] + [{/if}] + + [{if $useMultipleObjectTypes && $oManHitList|@count}] + [{block name="d3extsearch_suggest_list_manufacturer"}] +
+

[{oxmultilang ident="MANUFACTURERS"}]

+ [{foreach name="manhitlist" from=$oManHitList item="oHit"}] + [{block name="d3extsearch_suggest_listitem_manufacturer"}] + [{strip}] + + [{$oHit->getFieldData('oxtitle')}] + + [{/strip}] + [{assign var="blItem" value=true}] + [{/block}] + [{/foreach}] +
+ [{/block}] + [{/if}] + + [{if $useMultipleObjectTypes && $oVendorHitList|@count}] + [{block name="d3extsearch_suggest_list_vendor"}] +
+

[{oxmultilang ident="DISTRIBUTORS"}]

+ [{foreach name="vendorhitlist" from=$oVendorHitList item="oHit"}] + [{block name="d3extsearch_suggest_listitem_vendor"}] + [{strip}] + + [{$oHit->getFieldData('oxtitle')}] + + [{/strip}] + [{assign var="blItem" value=true}] + [{/block}] + [{/foreach}] +
+ [{/block}] + [{/if}] + + [{if $useMultipleObjectTypes && $oContentHitList|@count}] + [{block name="d3extsearch_suggest_listitem_content"}] +
+

[{oxmultilang ident="SERVICES"}]

+ [{foreach name="contenthitlist" from=$oContentHitList item="oHit"}] + [{block name="d3extsearch_suggest_listitem_content"}] + [{strip}] + + [{$oHit->getFieldData('oxtitle')}] + + [{/strip}] + [{assign var="blItem" value=true}] + [{/block}] + [{/foreach}] +
+ [{/block}] + [{/if}] + + [{block name="d3extsearch_suggest_furtherlinks"}] + [{if $blToMuchHits}] + + [{oxmultilang ident="D3_EXTSEARCH_QUICK_TOMUCHHITS"}] + + [{elseif !$blItem}] + + [{oxmultilang ident="D3_EXTSEARCH_QUICK_NOHIT"}] + + [{/if}] + [{/block}] +
+ [{/block}] + [{if $oHit}] + [{block name="d3extsearch_suggest_searchbutton"}] + + [{/block}] + [{/if}] + [{/if}] + [{/strip}] +
+[{/block}] diff --git a/src/Application/views/tpl/filterelements/attribute.tpl b/src/Application/views/tpl/filterelements/attribute.tpl new file mode 100644 index 0000000..2440781 --- /dev/null +++ b/src/Application/views/tpl/filterelements/attribute.tpl @@ -0,0 +1,77 @@ +[{assign var="sIdKey" value=$key|replace:".":""}] +[{assign var="blShowMultipleSelector" value=true}] +
+
+ + [{block name="d3_inc_ext_search__filter_attribute_single"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_attribute_multi"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_attribute_multiselector"}] +
+ + +
+ + [{capture name="d3JsFnc"}][{strip}] + function toggleMultiAttrib(blChecked, sId) { + if (blChecked) { + document.getElementById('d3searchattrib__multi__' + sId).style.display = 'block'; + document.getElementById('d3searchattrib__' + sId).style.display = 'none'; + if (selectorElement = document.getElementById('d3searchattrib__multiselector__' + sId)) { + selectorElement.style.display = 'none'; + } + } + } + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + + [{if $oView->d3AttributeFilterUseMultipleValues($key)}] + [{capture name="d3JsFnc"}][{strip}] + toggleMultiAttrib(true, '[{$key}]'); + if (selectorElement = document.getElementById('d3searchattribmultiselector[[{$key}]]')) { + selectorElement.checked = 'checked'; + } + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{/if}] + [{/block}] +
\ No newline at end of file diff --git a/src/Application/views/tpl/filterelements/category.tpl b/src/Application/views/tpl/filterelements/category.tpl new file mode 100644 index 0000000..7e065ed --- /dev/null +++ b/src/Application/views/tpl/filterelements/category.tpl @@ -0,0 +1,75 @@ +[{assign var="sIdKey" value="category"}] +[{assign var="blShowMultipleSelector" value=true}] +
+
+ + [{block name="d3_inc_ext_search__filter_category_single"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_category_multi"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_category_multiselector"}] +
+ + +
+ + [{capture name="d3JsFnc"}][{strip}] + function toggleMultiCategory(blChecked) { + if (blChecked) { + document.getElementById('d3searchcategory__multi').style.display = 'block'; + document.getElementById('searchcategory').style.display = 'none'; + document.getElementById('d3searchcategory__multiselector').style.display = 'none'; + } + } + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + + [{if $oView->d3CategoryFilterUseMultipleValues()}] + [{capture name="d3JsFnc"}][{strip}] + toggleMultiCategory(true); + document.getElementById('d3searchcategorymultiselector').checked = 'checked'; + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{/if}] + [{/block}] +
\ No newline at end of file diff --git a/src/Application/views/tpl/filterelements/jqslider.tpl b/src/Application/views/tpl/filterelements/jqslider.tpl new file mode 100644 index 0000000..6c9978b --- /dev/null +++ b/src/Application/views/tpl/filterelements/jqslider.tpl @@ -0,0 +1,63 @@ +[{block name="d3_cfg_extsearch_jqsliderscript"}] + [{assign var="elementId" value="d3extsearch_"|cat:$sliderId}] + [{assign var="fieldMinId" value="d3extsearch_"|cat:$sliderId|cat:"fieldMinId"}] + [{assign var="fieldMaxId" value="d3extsearch_"|cat:$sliderId|cat:"fieldMaxId"}] + [{assign var="priceInfoMinId" value="d3extsearch_"|cat:$sliderId|cat:"PriceInfoMinId"}] + [{assign var="priceInfoMaxId" value="d3extsearch_"|cat:$sliderId|cat:"PriceInfoMaxId"}] + [{assign var="psovFieldName" value=$psovFieldName|default:"d3psov"}] + [{assign var="selectorFieldName" value=$selectorFieldName|default:"priceselector"}] + + [{block name="d3_cfg_extsearch_jqsliderscript_touchjs"}] + [{oxscript include=$oViewConf->getModuleUrl('d3_extsearch', 'out/src/js/jquery.ui.touch-punch.min.js')}] + [{/block}] + [{block name="d3_cfg_extsearch_jqsliderscript_sliderjs"}] + [{oxscript include=$oViewConf->getModuleUrl('d3_extsearch', 'out/src/js/d3extsearch_slider.min.js')}] + [{/block}] + + [{capture name="d3script"}][{strip}] + $('#[{$elementId}]').d3extsearchslider({ + limitMin: [{$aPriceLimits.min}], + limitMax: [{$aPriceLimits.max}], + stepsMin: [{$aPriceSteps.min}], + stepsMax: [{$aPriceSteps.max}], + infoMinId: '[{$priceInfoMinId}]', + infoMaxId: '[{$priceInfoMaxId}]', + fieldMinId: '[{$fieldMinId}]', + fieldMaxId: '[{$fieldMaxId}]', + }); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3script}] + + [{assign var="sCssInc" value=$oViewConf->getModuleUrl('d3_extsearch', 'out/src/css/d3extsearch_slider.min.css')}] + [{oxstyle include=$sCssInc}] +[{/block}] + +[{block name="d3_cfg_extsearch_jqsliderinfo"}] + +[{/block}] + +[{block name="d3_cfg_extsearch_alist_jqsliderfields"}] +
+ + + [{$currency->sign}] - + [{$currency->sign}] +
+ + [{capture name="d3script"}][{strip}] + document.getElementById('d3extsearch[{$elementId}]info').style.display = 'block'; + document.getElementById('d3extsearch[{$elementId}]fields').style.display = 'none'; + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3script}] + +
+
+
+
+[{/block}] \ No newline at end of file diff --git a/src/Application/views/tpl/filterelements/manufacturer.tpl b/src/Application/views/tpl/filterelements/manufacturer.tpl new file mode 100644 index 0000000..da2ab0b --- /dev/null +++ b/src/Application/views/tpl/filterelements/manufacturer.tpl @@ -0,0 +1,75 @@ +[{assign var="sIdKey" value="manufacturer"}] +[{assign var="blShowMultipleSelector" value=true}] +
+
+ + [{block name="d3_inc_ext_search__filter_manufacturer_single"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_manufacturer_multi"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_manufacturer_multiselector"}] +
+ + +
+ + [{capture name="d3JsFnc"}][{strip}] + function toggleMultiManufacturer(blChecked) { + if (blChecked) { + document.getElementById('d3searchmanufacturer__multi').style.display = 'block'; + document.getElementById('searchmanufacturer').style.display = 'none'; + document.getElementById('d3searchmanufacturer__multiselector').style.display = 'none'; + } + } + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + + [{if $oView->d3ManufacturerFilterUseMultipleValues()}] + [{capture name="d3JsFnc"}][{strip}] + toggleMultiManufacturer(true); + document.getElementById('d3searchmanufacturermultiselector').checked = 'checked'; + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{/if}] + [{/block}] +
\ No newline at end of file diff --git a/src/Application/views/tpl/filterelements/priceselector.tpl b/src/Application/views/tpl/filterelements/priceselector.tpl new file mode 100644 index 0000000..c2ce3d3 --- /dev/null +++ b/src/Application/views/tpl/filterelements/priceselector.tpl @@ -0,0 +1,30 @@ +[{assign var="currency" value=$oView->getActCurrency()}] +
+
+ [{if $oView->d3HasjQuerySlider() && $oView->d3CanShowPriceFilterSlider()}] + [{include file="d3_ext_search_filter_jqslider.tpl" + sliderId="PriceFilter" + formId="d3searchfilterform" + aPriceLimits=$aPriceLimits + aPriceSteps=$aPriceSteps + infoMinValue=$infoMinValue + infoMaxValue=$infoMaxValue + originalMinValue=$originalMinValue + originalMaxValue=$originalMaxValue + inputMinValue=$inputMinValue + inputMaxValue=$inputMaxValue + }] + [{elseif !$oView->d3HasjQuerySlider()}] + + [{/if}] +
\ No newline at end of file diff --git a/src/Application/views/tpl/filterelements/vendor.tpl b/src/Application/views/tpl/filterelements/vendor.tpl new file mode 100644 index 0000000..6e9cbd3 --- /dev/null +++ b/src/Application/views/tpl/filterelements/vendor.tpl @@ -0,0 +1,75 @@ +[{assign var="sIdKey" value="vendor"}] +[{assign var="blShowMultipleSelector" value=true}] +
+
+ + [{block name="d3_inc_ext_search__filter_vendor_single"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_vendor_multi"}] + + [{/block}] + + [{block name="d3_inc_ext_search__filter_vendor_multiselector"}] +
+ + +
+ + [{capture name="d3JsFnc"}][{strip}] + function toggleMultiVendor(blChecked) { + if (blChecked) { + document.getElementById('d3searchvendor__multi').style.display = 'block'; + document.getElementById('searchvendor').style.display = 'none'; + document.getElementById('d3searchvendor__multiselector').style.display = 'none'; + } + } + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + + [{if $oView->d3VendorFilterUseMultipleValues()}] + [{capture name="d3JsFnc"}][{strip}] + toggleMultiVendor(true); + document.getElementById('d3searchvendormultiselector').checked = 'checked'; + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{/if}] + [{/block}] +
\ No newline at end of file diff --git a/src/Application/views/tpl/flow/d3_list_filters.tpl b/src/Application/views/tpl/flow/d3_list_filters.tpl new file mode 100644 index 0000000..faf0fa9 --- /dev/null +++ b/src/Application/views/tpl/flow/d3_list_filters.tpl @@ -0,0 +1,78 @@ +[{if $oView->d3HasFilters()}] + [{block name="d3_cfg_extsearch_alist_filters"}] +
+ [{block name="d3_cfg_extsearch_alist_filters_headline"}] +

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

+ [{/block}] + + [{block name="d3_cfg_extsearch_alist_filters_content"}] +
+
+ [{$oViewConf->getHiddenSid()}] + + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + +
+ [{block name="d3_inc_ext_search__filter"}] + [{if $oView->d3HasCategoryList()}] + [{block name="d3_inc_ext_search__filter_category"}] + [{include file="d3_ext_search_filter_category.tpl" cssclass="" sSelectedCategoryId=$sSelectedCategoryId sSelectedCategory=$sSelectedCategory}] + [{/block}] + [{/if}] + + [{if $oView->d3HasVendorList()}] + [{block name="d3_inc_ext_search__filter_vendor"}] + [{include file="d3_ext_search_filter_vendor.tpl" cssclass="" sSelectedVendorId=$sSelectedVendorId sSelectedVendor=$sSelectedVendor}] + [{/block}] + [{/if}] + + [{if $oView->d3HasManufacturerList()}] + [{block name="d3_inc_ext_search__filter_manufacturer"}] + [{include file="d3_ext_search_filter_manufacturer.tpl" cssclass="" sSelectedManufacturerId=$sSelectedManufacturerId sSelectedManufacturer=$sSelectedManufacturer}] + [{/block}] + [{/if}] + + [{if $oView->d3HasAttributeList()}] + [{foreach from=$oView->d3GetAttributeList() name=search key=key item=oAttribute}] + [{block name="d3_inc_ext_search__filter_attribute"}] + [{include file="d3_ext_search_filter_attribute.tpl" cssclass="" key=$key oAttribute=$oAttribute}] + [{/block}] + [{/foreach}] + [{/if}] + + [{if $oView->d3HasPriceFilter()}] + [{block name="d3_inc_ext_search__filter_price"}] + [{include file="d3_ext_search_filter_priceselector.tpl" cssclass="" infoMinValue=$oView->d3GetPriceSliderInfoMinValue() infoMaxValue=$oView->d3GetPriceSliderInfoMaxValue() originalMinValue=$oView->d3GetPriceSliderOriginalMinValue() originalMaxValue=$oView->d3GetPriceSliderOriginalMaxValue() inputMinValue=$oView->d3GetPriceSliderInputMinValue() inputMaxValue=$oView->d3GetPriceSliderInputMaxValue() aPriceLimits=$oView->d3getPriceLimits() aPriceSteps=$oView->d3getPriceSteps()}] + [{/block}] + [{/if}] + + + + [{block name="d3_inc_ext_search__filter_clear"}] +
+ +
+ [{/block}] + [{/block}] +
+
+
+ [{/block}] +
+ [{/block}] +[{/if}] diff --git a/src/Application/views/tpl/flow/d3_search_contents.tpl b/src/Application/views/tpl/flow/d3_search_contents.tpl new file mode 100644 index 0000000..82fb60b --- /dev/null +++ b/src/Application/views/tpl/flow/d3_search_contents.tpl @@ -0,0 +1,78 @@ +[{if !$oView->getArticleCount()}] + [{block name="d3_cfg_extsearch_search_noarticlemessage"}] +

[{oxcontent ident="d3extsearch_noarticlefound" field="oxtitle"}]

+ [{oxcontent ident="d3extsearch_noarticlefound"}] + [{/block}] +[{/if}] + +[{if $oView->d3GetCMSList()}] + [{block name="d3_cfg_extsearch_search_cms_results"}] +
+

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

+
+ + + [{foreach from=$oView->d3GetCMSList() item="oContent"}] + [{assign var="TitleCharCount" value=$oContent->oxcontents__oxtitle->value|count_characters}] + [{math equation="100-s" s=$TitleCharCount assign="iTextLength"}] + + [{/foreach}] +
+
+
+ [{/block}] +[{/if}] + +[{if $blSearchPluginLink == 1}] + [{block name="d3_cfg_extsearch_search_plugin"}] +
+

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

+
+ + [{oxmultilang ident="D3_EXTSEARCH_EXT_PLUGININSTALLMSG"}] + +
+
+ [{/block}] +[{/if}] + +[{assign var="similarSearch" value=$oView->getSearchResultStatusMessage()}] +[{if $similarSearch}] + [{block name="d3_cfg_extsearch_search_similar_messages"}] +
+
+ [{if $similarSearch == 'similar'}] + [{oxmultilang ident="D3_EXTSEARCH_EXT_NOARTMSG"}] [{$oView->getUsedParams()}] + [{elseif $similarSearch == 'combined'}] + [{oxmultilang ident="D3_EXTSEARCH_EXT_LESSARTMSG"}] + [{/if}] +
+
+ [{/block}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/tpl/flow/d3_search_filters.tpl b/src/Application/views/tpl/flow/d3_search_filters.tpl new file mode 100644 index 0000000..2b788dd --- /dev/null +++ b/src/Application/views/tpl/flow/d3_search_filters.tpl @@ -0,0 +1,121 @@ +[{if $oView->d3HasFilters()}] + [{block name="d3_cfg_extsearch_search_filters"}] +
+ [{block name="d3_cfg_extsearch_search_filters_headline"}] +

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

+ [{/block}] + + [{block name="d3_cfg_extsearch_search_filters_content"}] +
+
+ [{$oViewConf->getHiddenSid()}] + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + + [{block name="d3_inc_ext_search__filter"}] + [{if $oView->d3HasCategoryList()}] + [{block name="d3_inc_ext_search__filter_category"}] + [{include file="d3_ext_search_filter_category.tpl" cssclass="" sSelectedCategoryId=$sSelectedCategoryId sSelectedCategory=$sSelectedCategory}] + [{/block}] + [{/if}] + + [{if $oView->d3HasVendorList()}] + [{block name="d3_inc_ext_search__filter_vendor"}] + [{include file="d3_ext_search_filter_vendor.tpl" cssclass="" sSelectedVendorId=$sSelectedVendorId sSelectedVendor=$sSelectedVendor}] + [{/block}] + [{/if}] + + [{if $oView->d3HasManufacturerList()}] + [{block name="d3_inc_ext_search__filter_manufacturer"}] + [{include file="d3_ext_search_filter_manufacturer.tpl" cssclass="" sSelectedManufacturerId=$sSelectedManufacturerId sSelectedManufacturer=$sSelectedManufacturer}] + [{/block}] + [{/if}] + + [{if $oView->d3HasAttributeList()}] + [{foreach from=$oView->d3GetAttributeList() name=search key=key item=oAttribute}] + [{block name="d3_inc_ext_search__filter_attribute"}] + [{include file="d3_ext_search_filter_attribute.tpl" cssclass="" key=$key oAttribute=$oAttribute}] + [{/block}] + [{/foreach}] + [{/if}] + + [{if $oView->d3HasPriceFilter()}] + [{block name="d3_inc_ext_search__filter_price"}] + [{include file="d3_ext_search_filter_priceselector.tpl" cssclass="" infoMinValue=$oView->d3GetPriceSliderInfoMinValue() infoMaxValue=$oView->d3GetPriceSliderInfoMaxValue() originalMinValue=$oView->d3GetPriceSliderOriginalMinValue() originalMaxValue=$oView->d3GetPriceSliderOriginalMaxValue() inputMinValue=$oView->d3GetPriceSliderInputMinValue() inputMaxValue=$oView->d3GetPriceSliderInputMaxValue() aPriceLimits=$oView->d3getPriceLimits() aPriceSteps=$oView->d3getPriceSteps()}] + [{/block}] + [{/if}] + + + + [{block name="d3_inc_ext_search__filter_clear"}] +
+ +
+ [{/block}] + +
+ [{/block}] +
+
+ [{/block}] +
+ [{/block}] +[{/if}] + +[{if $oView->d3HasIndexList()}] + [{block name="d3_cfg_extsearch_search_index"}] +
+ [{include file="d3_ext_search_filter.tpl" d3fdesc="D3_EXTSEARCH_EXT_ALL"|oxmultilangassign d3fparam="all"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="A"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="B"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="C"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="D"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="E"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="F"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="G"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="H"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="I"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="J"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="K"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="L"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="M"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="N"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="O"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="P"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Q"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="R"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="S"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="T"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="U"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="V"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="W"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="X"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Y"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Z"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="1"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="2"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="3"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="4"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="5"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="6"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="7"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="8"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="9"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="0"}] +
+ [{/block}] +[{/if}] diff --git a/src/Application/views/tpl/mobile/d3_inc_ext_search.tpl b/src/Application/views/tpl/mobile/d3_inc_ext_search.tpl new file mode 100644 index 0000000..cc9c47a --- /dev/null +++ b/src/Application/views/tpl/mobile/d3_inc_ext_search.tpl @@ -0,0 +1,333 @@ +[{if !$oView->getArticleCount()}] + [{block name="d3_cfg_extsearch_searchmobile_noarticlemessage"}] +

[{oxcontent ident="d3extsearch_noarticlefound" field="oxtitle"}]

+ [{oxcontent ident="d3extsearch_noarticlefound"}] + [{/block}] +[{/if}] + +[{if $oView->d3GetCMSList()}] + [{block name="d3_cfg_extsearch_searchmobile_cms_results"}] +
+

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

+
+
    + [{foreach from=$oView->d3GetCMSList() item="oContent"}] + [{assign var="TitleCharCount" value=$oContent->oxcontents__oxtitle->value|count_characters}] + [{math equation="100-s" s=$TitleCharCount assign="iTextLength"}] +
  • + [{$oContent->oxcontents__oxtitle->value}]
    +
  • + [{/foreach}] +
+
+
+ [{/block}] +[{/if}] + +[{assign var="similarSearch" value=$oView->getSearchResultStatusMessage()}] +[{if $similarSearch}] + [{block name="d3_cfg_extsearch_searchmobile_similar_messages"}] +
+
+ [{if $similarSearch == 'similar'}] + [{oxmultilang ident="D3_EXTSEARCH_EXT_NOARTMSG"}] [{$oView->getUsedParams()}] + [{elseif $similarSearch == 'combined'}] + [{oxmultilang ident="D3_EXTSEARCH_EXT_LESSARTMSG"}] + [{/if}] +
+
+ [{/block}] +[{/if}] + +[{if $oView->getArticleCount()}] + [{block name="d3_cfg_extsearch_searchmobile_filterbox"}] +
+
+ +
+
+
+ + [{oxmultilang ident="FILTER_LIST"}] +
+
+ + [{if $oView->d3HasFilters()}] + [{block name="d3_cfg_extsearch_searchmobile_filters"}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + [{assign var="blFilterOpen" value=false}] + + [{block name="d3_inc_ext_search__filter"}] + [{if $oView->d3HasCategoryList()}] + + + [{/if}] + + [{if $oView->d3HasVendorList()}] + + + [{/if}] + + + [{if $oView->d3HasManufacturerList()}] + + + [{/if}] + + [{if $oView->d3HasAttributeList()}] + [{foreach from=$oView->d3GetAttributeList() name=search key=key item=oAttribute}] + + + [{/foreach}] + [{/if}] + + [{if $oView->d3HasPriceFilter()}] + [{assign var="currency" value=$oView->getActCurrency()}] + + + + [{/if}] + + [{/block}] + +
+ [{/block}] + [{/if}] +
+ + [{if $oView->d3HasIndexList()}] + [{block name="d3_cfg_extsearch_searchmobile_index"}] +
+ [{include file="d3_ext_search_filter.tpl" d3fdesc="D3_EXTSEARCH_EXT_ALL"|oxmultilangassign d3fparam="all"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="1"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="2"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="3"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="4"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="5"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="6"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="7"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="8"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="9"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="0"}] +
+ [{include file="d3_ext_search_filter.tpl" d3fparam="A"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="B"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="C"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="D"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="E"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="F"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="G"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="H"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="I"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="J"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="K"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="L"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="M"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="N"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="O"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="P"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Q"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="R"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="S"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="T"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="U"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="V"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="W"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="X"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Y"}] + [{include file="d3_ext_search_filter.tpl" d3fparam="Z"}] +
+
+ [{/block}] + [{/if}] +
+ + [{capture name="d3JsFnc"}][{strip}] + $('div.dropdown').oxDropDown(); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{oxscript include="js/widgets/oxattribute.js" priority=10}] + [{capture name="d3JsFnc"}][{strip}] + $('#filterItems').oxAttribute({blShowFilter:'$blFilterOpen'}); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{capture name="d3JsFnc"}][{strip}] + $('#sortItems').oxAttribute({blShowFilter:'$blFilterOpen'}); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + +
+ [{/block}] +[{/if}] \ No newline at end of file diff --git a/src/Application/views/tpl/mobile/d3extsearch_alist_filters.tpl b/src/Application/views/tpl/mobile/d3extsearch_alist_filters.tpl new file mode 100644 index 0000000..c91d9a7 --- /dev/null +++ b/src/Application/views/tpl/mobile/d3extsearch_alist_filters.tpl @@ -0,0 +1,204 @@ +[{block name="d3_cfg_extsearch_searchmobile_filterbox"}] +
+
+ +
+
+
+ + [{oxmultilang ident="FILTER_LIST"}] +
+
+ + [{if $oView->d3HasFilters()}] + [{block name="d3_cfg_extsearch_alistmobile_filters"}] + +
+ [{$oViewConf->getHiddenSid()}] + + + + + [{foreach from=$oView->getNavigationParams() key="keyname" item="value"}] + [{if $keyname != 'searchcnid' && $keyname != 'searchvendor' && $keyname != 'searchmanufacturer'}] + + [{/if}] + [{/foreach}] + + [{assign var="blFilterOpen" value=false}] + + [{block name="d3_inc_ext_search__filter"}] + [{if $oView->d3HasVendorList()}] + + + [{/if}] + + [{if $oView->d3HasManufacturerList()}] + + + [{/if}] + + [{if $oView->d3HasAttributeList()}] + [{foreach from=$oView->d3GetAttributeList() name=search key=key item=oAttribute}] + + + [{/foreach}] + [{/if}] + + [{if $oView->d3HasPriceFilter()}] + [{assign var="currency" value=$oView->getActCurrency()}] + + + [{/if}] + [{/block}] +
+ [{/block}] + [{/if}] +
+
+ + [{oxscript include="js/widgets/oxdropdown.js" priority=10}] + [{capture name="d3JsFnc"}][{strip}] + $('div.dropdown').oxDropDown(); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{oxscript include="js/widgets/oxattribute.js" priority=10}] + [{capture name="d3JsFnc"}][{strip}] + $('#filterItems').oxAttribute({blShowFilter:'$blFilterOpen'}); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] + [{capture name="d3JsFnc"}][{strip}] + $('#sortItems').oxAttribute({blShowFilter:'$blFilterOpen'}); + [{/strip}][{/capture}] + [{oxscript add=$smarty.capture.d3JsFnc}] +
+[{/block}] \ No newline at end of file diff --git a/src/Core/Smarty/Plugins/function.d3_extsearch_highlight.php b/src/Core/Smarty/Plugins/function.d3_extsearch_highlight.php new file mode 100644 index 0000000..b4f5a2d --- /dev/null +++ b/src/Core/Smarty/Plugins/function.d3_extsearch_highlight.php @@ -0,0 +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 diff --git a/src/Core/d3_extsearch_conf.php b/src/Core/d3_extsearch_conf.php new file mode 100644 index 0000000..2cf6799 --- /dev/null +++ b/src/Core/d3_extsearch_conf.php @@ -0,0 +1,14 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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+cPvLUvLTVkTsO9kLmTFjER6p0ESa0AjWY7T0Xb9dGHR/ZEjhvnS3mRy1lEiYN6Gta449fYu67 +nKSQQu0kX9PjFZVaZMXozdL462Fkt4wJSlasgH/ABJT55lAX6JBO4krX1Bg0fu6FgRgVVSurUI3B +JEUJQYiQkEfN3hsoh8hP3In4lyYk5lcIKcqu5KzxBXe3RSTYrO/Gpex23EEyO8JN05YW/oNwg98n +L3LYkO1iotqf1JPbAij7LI/T0QJWyhPUn9pc4kZggPpztG9CUYfmljHiNKmSQLwExjrolgOoP0YI +8KdkEVyJ+BawpVVjUV0bxaKOFzyikX0fVkvNvmPrOl+QhH5/mJleYpW4O/T4ya7pfoyZbv7U9/aU +Y1TNJEuDAMFL12Ll9xX0GaoRmWGOPRMjBBd/x3hRRuPqnFwnK4jBVagkS3l3h5zdC+koV91BNMvD +77wzEO8lK4HGUDMfsGl14gxd+2g838cIJKRkyJDQ9+wuixQTwFg/4ALp1uK38mWUKk/YeSYX3nWC +5bs6VLqMWO/NgtUTnyAFbd+9JV10ZeZcamze8a3L1MjLSIcJeq+060Av+l/fJd5yMzE3pVSodtt+ +/KNgNK57ZSdBPABPvIoEU5HdVUaq/1KesWxNZh68O1O1NZ0AXD/1Ozn4wVh2VPWMax5CH6q3JqEM +XFdricYobXcqwB+ODh7XCpNHBYaEJxUSQu/9TGL3t7+UoGHESc65SQ45Vie+lwmOwPQMfy1OVH6t +3zslAoojEMr3FekdcSQm5gxdI0== \ No newline at end of file diff --git a/src/IntelliSenseHelper.php b/src/IntelliSenseHelper.php new file mode 100644 index 0000000..3f63cb0 --- /dev/null +++ b/src/IntelliSenseHelper.php @@ -0,0 +1,52 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Component; + +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +class d3_oxcmp_basket_extsearch extends d3_oxcmp_basket_extsearch_parent +{ + protected $_oOwnSearchHandler; + /** + * @return string + */ + protected function _getRedirectUrl() + { + $sUrl = parent::_getRedirectUrl(); + + $aParamList = array(); + /** @var d3Filter $oFilter */ + foreach ($this->_d3getOwnSearchHandler()->getFilterList() as $oFilter) { + if (false == $oFilter->isUsingSessionStorage()) { + $aParamList = array_merge($aParamList, $oFilter->getRequestParameterNameList(true)); + } + } + $aParamList = array_unique($aParamList); + + $sAdd = ''; + + foreach ($aParamList as $sParam) { + $mTransferParam = Registry::get(Request::class)->getRequestParameter($sParam); + if ($mTransferParam) { + if (is_array($mTransferParam)) { + foreach ($mTransferParam as $key => $value) { + $sAdd .= $sParam . '[' . $key . ']=' . $value . '&'; + } + } else { + $sAdd .= $sParam . '=' . Registry::get(Request::class)->getRequestParameter($sParam) . "&"; + } + } + } + + $sUrl .= $sAdd; + + return $sUrl; + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + protected function _d3getOwnSearchHandler() + { + if (!$this->_oOwnSearchHandler) { + /** @var d3_search $oSearch */ + $oSearch = oxNew(d3_search::class); + $this->_oOwnSearchHandler = $oSearch; + } + + return $this->_oOwnSearchHandler; + } +} diff --git a/src/Modules/Application/Component/d3_oxcmp_utils_extsearch.php b/src/Modules/Application/Component/d3_oxcmp_utils_extsearch.php new file mode 100644 index 0000000..6e1f529 --- /dev/null +++ b/src/Modules/Application/Component/d3_oxcmp_utils_extsearch.php @@ -0,0 +1,205 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Component; + +use D3\Extsearch\Application\Model\d3_search; +use D3\ModCfg\Application\Model\d3utils; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use D3\ModCfg\Application\Model\d3filesystem; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use \OxidEsales\Eshop\Application\Model\Search; +use \OxidEsales\Eshop\Core\Controller\BaseController; +use \OxidEsales\Eshop\Application\Controller\FrontendController; + +class d3_oxcmp_utils_extsearch extends d3_oxcmp_utils_extsearch_parent +{ + private $_sModId = 'd3_extsearch'; + + public $blIsComponent = true; + + protected $_sOldPluginName = 'se_browserinstall.xml'; + + public $aArtExtendsFields = array('oxlongdesc', 'oxtags'); + + protected $_d3SimilarQuickSearch; + + /** @var d3_search */ + public $oD3SearchHandler; + + /** @var Search */ + public $oD3oxSearchHandler; + + /** + * constructor + */ + public function __construct() + { + // required for parent class method check + $this->setClassKey('oxcmp_utils'); + + /** @var d3utils $oD3Utils */ + $oD3Utils = Registry::get(d3utils::class); + if ($oD3Utils->hasParentClassMethod($this, '__construct')) { + parent::__construct(); + } + } + + public function init() + { + parent::init(); + + if (!$this->isAdmin()) { + if ($this->_d3GetSet()->isActive()) { + /** @var $oParentView BaseController */ + $oParentView = $this->getParent(); + $oParentView->addTplParam('blD3ShowIAS', $this->_d3GetSet()->getValue('blExtSearch_ShowIAS')); + $oParentView->addTplParam('blD3EmptySearch', $this->_d3GetSet()->getValue('blExtSearch_emptySearch')); + $oParentView->addTplParam('blD3ShowSearchPopup', $this->_d3GetSet()->getValue('blExtSearch_ShowPopup')); + $oParentView->addTplParam('sSearchPluginURL', $this->_d3GetSearchPluginUrl()); + $oParentView->addTplParam('oD3ExtSearchCmpUtils', $this); + $oParentView->addTplParam('blUseSuggestSearch', $this->_d3GetSet()->getValue('blExtSearch_enableAjaxSearch')); + } + } + } + + /** + * @return mixed + */ + public function render() + { + $ret = parent::render(); + + if (!$this->isAdmin() && $this->_d3GetSet()->isActive()) { + /** @var $oParentView BaseController */ + $oParentView = $this->getParent(); + $oParentView->addTplParam( + 'blSearchPluginInstall', + $this->_d3GetSet()->getValue('blExtSearch_enablePluginBrowserInstall') + ); + $oParentView->addTplParam('blOwnFormFields', $this->_d3GetSet()->getValue('blExtSearch_ownFormFields')); + } + + if (!$this->isAdmin() + && $this->_d3GetSet()->isActive() + && $this->_d3GetSet()->getValue('blExtSearch_enableAjaxSearch') + ) { + /** @var $oParentView BaseController */ + $oParentView = $this->getParent(); + $oParentView->addTplParam('sD3QSWaitMessage', $this->_getD3SearchHandler()->suggestGetWaitMessage()); + } + + // change OXIDs list type dependend by search only parameters + + if (!$this->isAdmin() // + && $this->_d3GetSet()->isActive() // + && $this->_d3GetSet()->getValue('blExtSearch_useAListFilter') + ) { + /** @var $oParentView FrontendController */ + $oParentView = $this->getParent(); + + if ($oParentView->getListType() == 'search' + && Registry::get(Request::class)->getRequestEscapedParameter('isextsearch') == 'alist' + ) { + $oParentView->setListType('list'); + } + } + + return $ret; + } + + /** + * @return d3_cfg_mod + */ + private function _d3GetSet() + { + return d3_cfg_mod::get($this->_d3getModId()); + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + protected function _getD3SearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(d3_search::class); + } + + return $this->oD3SearchHandler; + } + + /** + * generates article list for browsers search engines + */ + public function d3_browser_suggest() + { + // zwingend, um die Gültigkeit des Dokuments sicherzustellen + // fängt Fehlausgaben anderer Module ab + ob_end_clean(); + + // we don't require a complete object + $blOldFullObject = $this->_d3GetSet()->getValue('blExtSearch_QuickSearchLoadFullObject'); + $this->_d3GetSet()->setValue('blExtSearch_QuickSearchLoadFullObject', false); + + echo $this->_getD3SearchHandler()->browserSuggestGetContent(); + + // restore setting + $this->_d3GetSet()->setValue('blExtSearch_QuickSearchLoadFullObject', $blOldFullObject); + + Registry::getConfig()->pageClose(); + die(); + } + + /** + * @return bool|string + */ + protected function _d3GetSearchPluginUrl() + { + $oShop = Registry::getConfig()->getActiveShop(); + + $oFS = oxNew(d3filesystem::class); + if ($oFS->exists( + $oFS->trailingslashit(Registry::getConfig()->getConfigParam('sShopDir')) . $this->_sOldPluginName + ) + ) { + $sFileName = $this->_sOldPluginName; + } else { + $sPattern = "[^a-zA-Z0-9]"; + $sFileName = 'searchplugin_' . strtolower( + preg_replace('@' . $sPattern . '@', '_', $oShop->getFieldData('oxname')) + ) . ".xml"; + } + + $sURI = $oFS->trailingslashit(Registry::getConfig()->getConfigParam('sShopURL')) . $sFileName; + $sPath = $oFS->trailingslashit(Registry::getConfig()->getConfigParam('sShopDir')) . $sFileName; + + if ($oFS->exists($sPath)) { + return $sURI; + } + + return false; + } +} diff --git a/src/Modules/Application/Component/d3_oxwarticledetails_extsearch.php b/src/Modules/Application/Component/d3_oxwarticledetails_extsearch.php new file mode 100644 index 0000000..552ae8c --- /dev/null +++ b/src/Modules/Application/Component/d3_oxwarticledetails_extsearch.php @@ -0,0 +1,232 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Component; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_ext_search; +use D3\Extsearch\Modules\Application\Controller\d3_alist_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_manufacturerlist_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_vendorlist_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\Registry; +use \OxidEsales\Eshop\Application\Model\Search; +use \OxidEsales\Eshop\Application\Controller\SearchController; +use \OxidEsales\Eshop\Application\Controller\ArticleListController; +use \OxidEsales\Eshop\Application\Controller\ManufacturerListController; +use \OxidEsales\Eshop\Application\Controller\VendorListController; + +class d3_oxwarticledetails_extsearch extends d3_oxwarticledetails_extsearch_parent +{ + /** @var Search */ + public $oD3SearchHandler = null; + /** @var d3_search */ + public $oD3OwnSearchHandler = null; + protected $_aSelectedAttributes; + private $_sModId = 'd3_extsearch'; + + public function init() + { + if (false == is_array($this->_aComponentNames)) { + $this->_aComponentNames = array(); + } + + if (false == in_array('oxcmp_utils', array_change_key_case(array_keys($this->_aComponentNames)), CASE_LOWER)) { + $this->_aComponentNames['oxcmp_utils'] = 1; + } + + parent::init(); + } + + /** + * performance, use a class wide instance + * + * @return d3_oxsearch_extsearch|Search + */ + protected function _d3GetSearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(Search::class); + } + + return $this->oD3SearchHandler; + } + + /** + * @return array + */ + public function getAttributeFilters() + { + if (null == $this->_aSelectedAttributes) { + $this->_aSelectedAttributes = $this->_d3GetSearchHandler()->getAttributeFilters(); + + $this->addTplParam('aD3AttribFilters', $this->_aSelectedAttributes); + } + + return $this->_aSelectedAttributes; + } + + /** + * @return mixed + */ + public function d3getFilterPageId() + { + switch (strtolower($this->getListType())) { + case 'search': + $sClassNameAdd = 'search##'; + $sIdent = md5(rawurlencode(strtolower(Registry::get(Request::class)->getRequestParameter('searchparam')))); + break; + case 'manufacturer': + $sClassNameAdd = '##'; + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('mnid'); + break; + default: + $sClassNameAdd = '##'; + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('cnid'); + } + + $sPageId = $sClassNameAdd. + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + $sIdent; + + return $sPageId; + } + + /** + * @return array + */ + public function getNavigationParams() + { + $aParams = parent::getNavigationParams(); + + $sListType = Registry::get(Request::class)->getRequestEscapedParameter('listtype'); + /** @var d3_ext_search|d3_alist_extsearch|d3_manufacturerlist_extsearch|d3_vendorlist_extsearch $oController */ + if ('search' == $sListType) { + $oController = oxNew(SearchController::class); + } elseif ('vendor' == $sListType) { + $oController = oxNew(VendorListController::class); + } elseif ('manufacturer' == $sListType) { + $oController = oxNew(ManufacturerListController::class); + } else { + $oController = oxNew(ArticleListController::class); + } + $aSearchParams = $oController->getNavigationParams(); + $this->_d3GetSearchHandler()->d3RemoveEmptyParameters($aParams); + + $aParams = array_merge($aSearchParams, $aParams); + + return $aParams; + } + + /** + * @return string + */ + public function getSearchCategory() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getUserSingleSelection(); + } + + /** + * @return bool + */ + public function d3CategoryFilterUseMultipleValues() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->hasUserMultiSelection(); + } + + /** + * @return string + */ + public function getSearchVendor() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getUserSingleSelection(); + } + + /** + * @return bool + */ + public function d3VendorFilterUseMultipleValues() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->hasUserMultiSelection(); + } + + /** + * @return string + */ + public function getSearchManufacturer() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getUserSingleSelection(); + } + + /** + * @return bool + */ + public function d3ManufacturerFilterUseMultipleValues() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->hasUserMultiSelection(); + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + public function d3GetOwnSearchHandler() + { + if (!$this->oD3OwnSearchHandler) { + $this->oD3OwnSearchHandler = oxNew(d3_search::class); + } + + return $this->oD3OwnSearchHandler; + } + + /** + * Returns page sort identificator. It is used as identificator in session variable aSorting[ident] + * + * @return string + */ + public function getSortIdent() + { + if ($this->d3GetSet()->isActive() + && Registry::get(Request::class)->getRequestParameter('isextsearch') === 'search' + ) { + return 'd3extsearch'; + } elseif (method_exists(get_parent_class(), 'getSortIdent')) { + return parent::getSortIdent(); + } else { + return null; + } + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + return d3_cfg_mod::get($this->_d3getModId()); + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } +} diff --git a/src/Modules/Application/Controller/Admin/d3_article_list_extsearch.php b/src/Modules/Application/Controller/Admin/d3_article_list_extsearch.php new file mode 100644 index 0000000..400e2a6 --- /dev/null +++ b/src/Modules/Application/Controller/Admin/d3_article_list_extsearch.php @@ -0,0 +1,272 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller\Admin; + +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use D3\ModCfg\Application\Model\d3utils; +use \OxidEsales\Eshop\Application\Model\Article; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\DatabaseProvider; +use OxidEsales\Eshop\Core\StrMb; +use OxidEsales\Eshop\Core\TableViewNameGenerator; + +class d3_article_list_extsearch extends d3_article_list_extsearch_parent +{ + private $_sModId = 'd3_extsearch'; + + /** + * @return string + */ + public function render() + { + $sRet = parent::render(); + + if ($this->_d3GetSet()->getValue('blExtSearch_adminShowVariants')) { + if (!in_array('oxvarselect', $this->getViewDataElement("pwrsearchfields"))) { + $aSearchFields = $this->getViewDataElement("pwrsearchfields"); + $aSearchFields[] = 'oxvarselect'; + $this->addTplParam("pwrsearchfields", $aSearchFields); + } + } + + return $sRet; + } + + /** + * @return d3_cfg_mod + */ + protected function _d3GetSet() + { + return d3_cfg_mod::get($this->_d3getModId()); + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } + + /** + * @param Article $oListObject + * + * @return mixed|string + */ + protected function _buildSelectString($oListObject = null) + { + $sSql = parent::_buildSelectString($oListObject); + + // wenn für Admin Variantensuche + if ($this->_d3GetSet()->isActive() + && $this->_d3GetSet()->getValue('blExtSearch_adminShowVariants') + && $this->_d3IsSearch() + ) { + $sViewName = $oListObject->getViewName(); + $oD3Utils = Registry::get(d3utils::class); + $aReplSearch = array( + 'from ' . $sViewName, + ", `" . $sViewName . '`.`' . $oD3Utils->getMultiLangFieldName( + 'oxtitle', + '', + $oListObject + )."`", + ", `" . $sViewName . '`.`' . $oD3Utils->getMultiLangFieldName( + 'oxvarselect', + '', + $oListObject + )."`" + ); + + $aReplReplacement = array( + 'from ' . $sViewName . ' LEFT JOIN ' . $oListObject->getViewName() . ' oxp '. + 'ON ' . $sViewName . '.oxparentid = oxp.oxid', + ', if(' . $sViewName . '.' . $oD3Utils->getMultiLangFieldName( + 'oxparentid', + '', + $oListObject + ) . ', CONCAT(oxp.' . $oD3Utils->getMultiLangFieldName( + 'oxtitle', + '', + $oListObject + ) . '," ",' . $sViewName . '.' . $oD3Utils->getMultiLangFieldName( + 'oxvarselect', + '', + $oListObject + ) . '),' . $sViewName . '.' . $oD3Utils->getMultiLangFieldName( + 'oxtitle', + '', + $oListObject + ) . ') as oxtitle', + ', if(' . $sViewName . '.' . $oD3Utils->getMultiLangFieldName( + 'oxparentid', + '', + $oListObject + ) . ', CONCAT(oxp.' . $oD3Utils->getMultiLangFieldName( + 'oxtitle', + '', + $oListObject + ) . '," ",' . $sViewName . '.' . $oD3Utils->getMultiLangFieldName( + 'oxvarselect', + '', + $oListObject + ) . '),' . $sViewName . '.' . $oD3Utils->getMultiLangFieldName( + 'oxvarselect', + '', + $oListObject + ) . ') as oxvarselect' + ); + + $sSql = str_replace($aReplSearch, $aReplReplacement, $sSql); + } + + return $sSql; + } + + /** + * Adding empty parent check + * + * @param array $aWhere SQL condition array + * @param string $sQ SQL query string + * + * @return mixed|string + */ + protected function _prepareWhereQuery($aWhere, $sQ) + { + $sQ = parent::_prepareWhereQuery($aWhere, $sQ); + + // wenn für Admin Variantensuche + if ($this->_d3GetSet()->isActive() + && $this->_d3GetSet()->getValue('blExtSearch_adminShowVariants') + && $this->_d3IsSearch() + ) { + $oTableViewNameGenerator = Registry::get(TableViewNameGenerator::class); + $oArticle = oxNew(Article::class); + $aReplSearch = array(" and " . $oTableViewNameGenerator->getViewName('oxarticles') . ".oxparentid = '' "); + $aReplReplacement = array(''); + + $sSearchKey = strtolower(Registry::get(TableViewNameGenerator::class)->getViewName('oxarticles')) . '.' . + Registry::get(d3utils::class)->getMultiLangFieldName('oxtitle', '', $oArticle); + $aLowerWhere = array_change_key_case($aWhere); + $aKeys = array_keys($aLowerWhere); + $aOrgKeys = array_keys($aWhere); + $sIdent = array_search($sSearchKey, $aKeys); + $sOrgSearchKey = $aOrgKeys[$sIdent]; + $sQuotedOrgSearchKey = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quoteIdentifier($sOrgSearchKey); + + if (in_array($sSearchKey, $aKeys)) { + $aReplSearch[] = '( ' . $sQuotedOrgSearchKey . " like '" . $aWhere[$sOrgSearchKey] . "' )"; + $aReplReplacement[] = '( ' . $sQuotedOrgSearchKey . " like '" . $aWhere[$sOrgSearchKey] . "' OR `oxp`.`" . + Registry::get(d3utils::class)->getMultiLangFieldName('oxtitle', '', $oArticle) . + "` LIKE '" . $aWhere[$sOrgSearchKey] . "' )"; + } + + $sQ = str_replace($aReplSearch, $aReplReplacement, $sQ); + } + + return $sQ; + } + + /** + * Sets articles sorting by category. + * + * @param string $sSql sql string + * + * @return string + */ + protected function _changeselect($sSql) + { + $sSql = parent::_changeselect($sSql); + + $sType = false; + $sValue = false; + + // wenn für Admin Variantensuche + if ($this->_d3GetSet()->isActive() + && $this->_d3GetSet()->getValue('blExtSearch_adminShowVariants') + && $this->_d3IsSearch() + ) { + $sArtCat = Registry::get(Request::class)->getRequestEscapedParameter("art_category"); + if ($sArtCat && strstr($sArtCat, "@@") !== false) { + list($sType, $sValue) = explode("@@", $sArtCat); + } elseif ($sArtCat) { + $sValue = $sArtCat; + $sType = 'cat'; + } + + $oTableViewNameGenerator = Registry::get(TableViewNameGenerator::class); + $sTable = $oTableViewNameGenerator->getViewName("oxarticles"); + + // D3 pattern changed + $sPattern = "from\s+$sTable\s+(.*?)\s{0,1}where"; + + switch ($sType) { + // add category + case 'cat': + /** @var $oStr StrMb */ + $oStr = getStr(); + $sO2CView = $oTableViewNameGenerator->getViewName("oxobject2category"); + // d3 sumatch added again (\\1) + $sLJAdd = strstr( + $sSql, + $sO2CView + ) ? '' : " LEFT JOIN $sO2CView ON $sTable.oxid = $sO2CView.oxobjectid "; + // 2012-07-04 changed to lowercase, because OXID regexp doesn't match uppercase :( + $sInsert = "from $sTable \\1 $sLJAdd where $sO2CView.oxcatnid = " . DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quote( + $sValue + ) . " AND "; + // D3 pattern changed + $sSql = $oStr->preg_replace("/$sPattern/i", $sInsert, $sSql); + break; + // add category + case 'mnf': + $sSql .= " and $sTable.oxmanufacturerid = " . DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quote($sValue); + break; + // add vendor + case 'vnd': + $sSql .= " and $sTable.oxvendorid = " . DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->quote($sValue); + break; + } + } + + return $sSql; + } + + /** + * @return bool + */ + protected function _d3IsSearch() + { + if ($this->_d3GetSet()->getFieldData('oxactive') + && $aWhere = Registry::get(Request::class)->getRequestEscapedParameter('where') + ) { + if (is_array($aWhere)) { + $aWhere = $aWhere['oxarticles']; + + foreach ($aWhere as $sValue) { + if ($sValue && is_string($sValue) && strlen($sValue)) { + return true; + } + } + } + + return false; + } else { + return false; + } + } +} diff --git a/src/Modules/Application/Controller/Admin/d3_ddoevisualcmsadmin_extsearch.php b/src/Modules/Application/Controller/Admin/d3_ddoevisualcmsadmin_extsearch.php new file mode 100644 index 0000000..585e20f --- /dev/null +++ b/src/Modules/Application/Controller/Admin/d3_ddoevisualcmsadmin_extsearch.php @@ -0,0 +1,47 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller\Admin; + +use OxidEsales\Eshop\Application\Model\Content; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +class d3_ddoevisualcmsadmin_extsearch extends d3_ddoevisualcmsadmin_extsearch_parent +{ + public function render() + { + $sRet = parent::render(); + + $this->addTplParam('sOriginalTplName', $sRet); + $sRet = 'd3_ddeovisualcmsadmin_extsearch.tpl'; + + return $sRet; + } + + public function d3GetIsSearchStatus() + { + $oContent = oxNew(Content::class); + if (($oContent->load(Registry::get(Request::class)->getRequestEscapedParameter('id'))) + && $oContent->getFieldData('d3issearchable') + ) { + echo 'true'; + } else { + echo "false"; + } + + die(); + } +} \ No newline at end of file diff --git a/src/Modules/Application/Controller/d3_alist_extsearch.php b/src/Modules/Application/Controller/d3_alist_extsearch.php new file mode 100644 index 0000000..4f2ecb5 --- /dev/null +++ b/src/Modules/Application/Controller/d3_alist_extsearch.php @@ -0,0 +1,484 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Application\Controller\d3_xlist_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use D3\Extsearch\Core\d3_extsearch_conf; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Application\Model\Category; +use OxidEsales\Eshop\Application\Model\ArticleList; +use OxidEsales\Eshop\Application\Model\ManufacturerList; +use OxidEsales\Eshop\Application\Model\VendorList; +use OxidEsales\Eshop\Application\Model\CategoryList; + +class d3_alist_extsearch extends d3_alist_extsearch_parent +{ + /** @var d3_xlist_extsearch */ + protected $_oXListController; + private $_blUseAlistFilter; + + /** + * @return string + */ + public function render() + { + $this->d3GetXListController()->render(); + + return parent::render(); + } + + /** + * @param Category $oCategory + * + * @return ArticleList + */ + protected function _loadArticles($oCategory) + { + $oArtList = parent::_loadArticles($oCategory); + + /** @var ArticleList $oArtList */ + if ($oArtList && $oArtList->count()) { + $this->d3GetXListController()->addAListFilters($oCategory); + } + + if ($this->_iCntPages) { + $this->d3GetXListController()->addAListFilters($oCategory); + } + + $this->d3GetXListController()->setTplParams(); + + return $oArtList; + } + + /** + * @return bool|string + */ + public function getSearchCategory() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchVendor() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchManufacturer() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getUserSingleSelection(); + } + + /** + * @param string $sUrl + * @param int $iPage + * @param null $iLang + * + * @return string + */ + protected function _addPageNrParam($sUrl, $iPage, $iLang = null) + { + if (false == $this->_d3UseAlistFilters()) { + return parent::_addPageNrParam($sUrl, $iPage, $iLang); + } + + $sUrl = parent::_addPageNrParam($sUrl, $iPage, $iLang); + + $sUrlAdd = $this->getViewDataElement('additionalparams'); + + if ($sUrlAdd) { + $sUrl .= ((strpos($sUrl, '?') === false) ? '?' : '') . $sUrlAdd; + } + + return $sUrl; + } + + /** + * returns additional url params for dynamic url building + * + * @return string + */ + public function getDynUrlParams() + { + $sRet = parent::getDynUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sRet .= $this->d3GetXListController()->d3AddBaseUrlParams($sRet); + } + + return $sRet; + } + + /** + * Returns additional URL parameters which must be added to list products urls + * + * @return string + */ + public function getAddUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sAddParams .= $this->d3GetXListController()->d3AddBaseUrlParams($sAddParams); + } + + return $sAddParams; + } + + /** + * Returns additional URL parameters which must be added to list products seo urls + */ + public function getAddSeoUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sAddParams .= $this->d3GetXListController()->d3AddBaseUrlParams($sAddParams); + } + + return $sAddParams; + } + + /** + * Returns array of params => values which are used in hidden forms and as additional url params + * + * @return array + */ + public function getNavigationParams() + { + $aParams = parent::getNavigationParams(); + + $aParams = $this->d3GetXListController()->addNavigationParams($aParams); + + return $aParams; + } + + /** + * @return string + */ + public function getAdditionalParams() + { + $this->_sAdditionalParams = parent::getAdditionalParams(); + + if ($this->d3GetSet()->isActive()) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + $this->_sAdditionalParams .= $this->d3GetXListController()->getD3AdditionalParams(); + + if (!strstr($this->_sAdditionalParams, $sSeparator.'isextsearch=') + && $this->d3haveFiltersUserSelection() + ) { + $this->_sAdditionalParams .= $sSeparator.'isextsearch=alist'; + } + } + + return $this->_sAdditionalParams; + } + + /** + * @return bool + */ + public function d3haveFiltersUserSelection() + { + /** @var d3Filter $oFilter */ + foreach ($this->_d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + return true; + } + } + + return false; + } + + /** + * @return string + */ + public function d3getFilterPageId() + { + return $this->d3GetXListController()->d3getFilterPageId(); + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + return $this->d3GetXListController()->d3GetSet(); + } + + /** + * @return d3_oxsearch_extsearch + */ + protected function _d3GetSearchHandler() + { + return $this->d3GetXListController()->d3GetSearchHandler(); + } + + /** + * @return d3_search + */ + protected function _d3GetOwnSearchHandler() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler(); + } + + /** + * @return CategoryList + */ + public function d3GetCategoryList() + { + return $this->d3GetXListController()->d3GetCategoryList(); + } + + /** + * @return bool + */ + public function d3HasCategoryList() + { + return $this->d3GetXListController()->d3HasCategoryList(); + } + + /** + * @return VendorList + */ + public function d3GetVendorList() + { + return $this->d3GetXListController()->d3GetVendorList(); + } + + /** + * @return bool + */ + public function d3HasVendorList() + { + return $this->d3GetXListController()->d3HasVendorList(); + } + + /** + * @return ManufacturerList + */ + public function d3GetManufacturerList() + { + return $this->d3GetXListController()->d3GetManufacturerList(); + } + + /** + * @return bool + */ + public function d3HasManufacturerList() + { + return $this->d3GetXListController()->d3HasManufacturerList(); + } + + /** + * @return array + */ + public function d3GetAttributeList() + { + return $this->d3GetXListController()->d3GetAttributeList(); + } + + /** + * @return bool + */ + public function d3HasAttributeList() + { + return $this->d3GetXListController()->d3HasAttributeList(); + } + + /** + * @param $sAttrId + * @return bool + */ + public function d3AttributeFilterUseMultipleValues($sAttrId) + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->hasUserMultiSelection($sAttrId); + } + + /** + * @return bool + */ + public function d3CategoryFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->hasUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3VendorFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->hasUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3ManufacturerFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->hasUserMultiSelection(); + } + + /** + * @return array + */ + public function d3getPriceSteps() + { + return $this->d3GetXListController()->d3getPriceSteps(); + } + + /** + * @return bool + */ + public function d3HasjQuerySlider() + { + return $this->d3GetXListController()->d3HasjQuerySlider(); + } + + /** + * @return string + */ + public function d3GetDeselectValue() + { + return $this->d3GetXListController()->d3GetDeselectValue(); + } + + /** + * @param $sOptionTitle + * @return string + */ + public function d3GetMultipleSelectionTranslation($sOptionTitle) + { + return $this->d3GetXListController()->d3GetMultipleSelectionTranslation($sOptionTitle); + } + + /** + * @return bool + */ + public function d3HasFilters() + { + return $this->d3GetXListController()->d3HasFilters(); + } + + /** + * @return bool + */ + public function d3HasPriceFilter() + { + return $this->d3GetXListController()->d3HasPriceFilter(); + } + + /** + * @return bool + */ + public function d3CanShowPriceFilterSlider() + { + return $this->d3GetXListController()->d3CanShowPriceFilterSlider(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMaxValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMaxValue(); + } + + /** + * @return array + */ + public function d3getPriceLimits() + { + return $this->d3GetXListController()->d3getPriceLimits(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMaxValue(); + } + + public function d3ClearFilter() + { + $this->d3GetXListController()->d3ClearFilter(); + } + + /** + * @return bool + */ + private function _d3UseAlistFilters() + { + if (null === $this->_blUseAlistFilter) { + $this->_blUseAlistFilter = $this->d3GetSet()->isActive() + && ($this->d3GetSet()->getLicenseConfigData(d3_extsearch_conf::SERIAL_BIT_HAS_FILTERS_IN_ALIST, false) || $this->d3GetSet()->isDemo()) + && $this->d3GetSet()->getValue('blExtSearch_useAListFilter'); + } + return $this->_blUseAlistFilter; + } + + /** + * @return d3_xlist_extsearch + */ + public function d3GetXListController() + { + if (false == $this->_oXListController) { + $this->_oXListController = oxNew(d3_xlist_extsearch::class, $this); + } + return $this->_oXListController; + } +} diff --git a/src/Modules/Application/Controller/d3_details_extsearch.php b/src/Modules/Application/Controller/d3_details_extsearch.php new file mode 100644 index 0000000..86dd22b --- /dev/null +++ b/src/Modules/Application/Controller/d3_details_extsearch.php @@ -0,0 +1,184 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Controller\d3_vendorlist_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_manufacturerlist_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_alist_extsearch; +use D3\Extsearch\Modules\Application\Controller\d3_ext_search; +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Application\Model\Search; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Application\Controller\SearchController; +use OxidEsales\Eshop\Application\Controller\ArticleListController; +use OxidEsales\Eshop\Application\Controller\VendorListController; +use OxidEsales\Eshop\Application\Controller\ManufacturerListController; + +class d3_details_extsearch extends d3_details_extsearch_parent +{ + /** @var d3_oxsearch_extsearch */ + public $oD3SearchHandler = null; + protected $_aSelectedAttributes; + private $_sModId = 'd3_extsearch'; + + /** + * @return array + */ + public function getNavigationParams() + { + $aParams = parent::getNavigationParams(); + + $oController = $this->d3GetBaseController(); + $aSearchParams = $oController->getNavigationParams(); + + $aParams = array_merge($aSearchParams, $aParams); + + $this->_d3GetSearchHandler()->d3RemoveEmptyParameters($aParams); + + return $aParams; + } + + /** + * @return array + */ + public function getAttributeFilters() + { + if (null == $this->_aSelectedAttributes) { + $this->_aSelectedAttributes = $this->_d3GetSearchHandler()->getAttributeFilters(); + + $this->addTplParam('aD3AttribFilters', $this->_aSelectedAttributes); + } + + return $this->_aSelectedAttributes; + } + + /** + * performance, use a class wide instance + * + * @return d3_oxsearch_extsearch|Search + */ + protected function _d3GetSearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(Search::class); + } + + return $this->oD3SearchHandler; + } + + /** + * @return mixed + */ + public function d3getFilterPageId() + { + switch (strtolower($this->getListType())) { + case 'search': + $sClassNameAdd = 'search##'; + $sIdent = md5(rawurlencode(strtolower(Registry::get(Request::class)->getRequestParameter('searchparam')))); + break; + case 'manufacturer': + $sClassNameAdd = '##'; + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('mnid'); + break; + default: + $sClassNameAdd = '##'; + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('cnid'); + } + + $sPageId = $sClassNameAdd. + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + $sIdent; + + return $sPageId; + } + + /** + * @return string + */ + public function getDynUrlParams() + { + $sRet = parent::getDynUrlParams(); + + $oController = $this->d3GetBaseController(); + + if (method_exists($oController, 'd3GetXListController')) { + $sRet .= $oController->d3GetXListController()->d3AddBaseUrlParams($sRet); + } else { + $sRet .= $oController->d3AddBaseUrlParams($sRet); + } + + return $sRet; + } + + /** + * @return d3_alist_extsearch|d3_ext_search|d3_manufacturerlist_extsearch|d3_vendorlist_extsearch + */ + public function d3GetBaseController() + { + $sListType = Registry::get(Request::class)->getRequestEscapedParameter('listtype'); + + /** @var d3_ext_search|d3_alist_extsearch|d3_manufacturerlist_extsearch|d3_vendorlist_extsearch $oController */ + if ('search' == $sListType) { + $oController = oxNew(SearchController::class); + } elseif ('vendor' == $sListType) { + $oController = oxNew(VendorListController::class); + } elseif ('manufacturer' == $sListType) { + $oController = oxNew(ManufacturerListController::class); + } else { + $oController = oxNew(ArticleListController::class); + } + + return $oController; + } + + /** + * Returns page sort identificator. It is used as identificator in session variable aSorting[ident] + * + * @return string + */ + public function getSortIdent() + { + if ($this->d3GetSet()->isActive() + && Registry::get(Request::class)->getRequestParameter('isextsearch') === 'search' + ) { + return 'd3extsearch'; + } elseif (method_exists(get_parent_class(), 'getSortIdent')) { + return parent::getSortIdent(); + } else { + return null; + } + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + return d3_cfg_mod::get($this->_d3getModId()); + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } +} diff --git a/src/Modules/Application/Controller/d3_ext_search.php b/src/Modules/Application/Controller/d3_ext_search.php new file mode 100644 index 0000000..034fb83 --- /dev/null +++ b/src/Modules/Application/Controller/d3_ext_search.php @@ -0,0 +1,1245 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Modules\Application\Model\d3_oxarticlelist_extsearch; +use D3\Extsearch\Application\Controller\d3_xlist_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Application\Model\d3_extsearch_statisticlog; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use D3\ModCfg\Application\Model\d3database; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use D3\ModCfg\Application\Model\Log\d3log; +use OxidEsales\Eshop\Application\Model\CategoryList; +use OxidEsales\Eshop\Application\Model\VendorList; +use OxidEsales\Eshop\Application\Model\ManufacturerList; +use OxidEsales\Eshop\Application\Model\ArticleList; +use OxidEsales\Eshop\Application\Model\Search; +use OxidEsales\Eshop\Application\Model\Article; +use OxidEsales\Eshop\Application\Model\Vendor; +use OxidEsales\Eshop\Application\Model\Manufacturer; +use OxidEsales\Eshop\Application\Model\Content; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Core\DatabaseProvider; + +/** + * extends the OXID default search by adding error tolerance and further filters + */ +class d3_ext_search extends d3_ext_search_parent +{ + const OWNFIELD_IS = 'is'; + const OWNFIELD_LIKE = 'like'; + + // default log type + private $_sModId = 'd3_extsearch'; // in ModCfg used module ident + protected $_iAllArtCnt = 0; + + protected $_iCntPages = null; + + protected $_sD3AdditionalParams = null; + + /** @var d3_xlist_extsearch */ + protected $_oXListController; + + /** @var Search */ + public $oD3SearchHandler = null; + + /** @var d3_search */ + public $oD3OwnSearchHandler = null; + + public $aPriceSteps; + + public $oRegularyArtList; + + /** @var CategoryList|\oxCategoryList */ + public $oSearchCatList; + + protected $_aBlockRedirectParams = array(); + + public $aPriceSelector; + + public $sPriceSelector; + + protected $_aSortColumns; + + public $aSearchContentList; + + public $aSearchVendorList = array(); + + public $aSearchManufacturerList = array(); + + public $aSearchAttribList; + + public $aSearchAttributeList; + + /** @var VendorList */ + public $oSearchVendorList; + + /** @var ManufacturerList */ + public $oSearchManufacturerList; + + public $blSearchFilterParam; + + /** + * Search title + * @var string + */ + protected $_sSearchTitle = null; + + /** @var d3_oxarticlelist_extsearch */ + protected $_aArticleList; + + /** + * @return null + */ + public function init() + { + if (Registry::get(Request::class)->getRequestEscapedParameter('fnc') == 'd3ClearFilter') { + $this->d3ClearFilter(); + } + + $this->_d3CheckEmptySearchParam(); + + // contains the default search calls + $sRet = parent::init(); + + if ($this->d3GetSet()->isActive()) { + // if search string is empty and empty string is allowed + if ($this->isEmptySearch() == true + && $sRet == false + && $this->d3GetSet()->getValue('blExtSearch_emptySearch') + ) { + $this->_d3PerformEmptySearch(); + } + + $this->_d3AddAllTplParams(); + + // writes search items into oxlog table, if set + $this->_handleLogging(); + + // get related CMS contents and write log + if ($this->d3GetSet()->getValue('blExtSearch_showContentList')) { + $this->_getCMSList(); + } + + // check for one hit, then redirect to object page + $this->_directShowCheck(); + + if ($this->_iAllArtCnt) { + $this->d3GetXListController()->addSearchFilters($this->_iAllArtCnt); + } + } + + $this->_sThisAction = "search"; + + return $sRet; + } + + protected function _d3CheckEmptySearchParam() + { + if ($this->d3GetSet()->isActive()) { + // performance: disable imposible SEO generating from search url, must set before parent::init() + $this->_aBlockRedirectParams[] = 'searchparam'; + + // if searchstr is description text + if ($this->getSearchParam() == Registry::getLang()->translateString('D3_EXTSEARCH_FIELD_NOTICE')) { + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $_POST['searchparam'] = ''; + } else { + $_GET['searchparam'] = ''; + } + } + } + } + + /** + * @return bool + */ + protected function _d3CheckForCategoryList() + { + if ($this->d3GetSet()->getValue('blExtSearch_showCatList') + && ($this->_iAllArtCnt + || ($this->d3GetSet()->getValue('blExtSearch_emptySearch') + && $this->d3GetSet()->getValue('blExtSearch_catSearch') + && $this->d3GetSet()->getValue('sExtSearch_showCatArticles') == 'catinlist' + ) + ) + ) { + return true; + } else { + return false; + } + } + + /** + * restart the search methods + */ + protected function _d3PerformEmptySearch() + { + /** @var $oSearchList ArticleList */ + $oSearchList = $this->_d3GetSearchHandler()->getSearchArticles( + $this->getSearchParam(), + $this->d3getCategoryFilter()->getUserSingleSelection(), + $this->d3getVendorFilter()->getUserSingleSelection(), + $this->d3getManufacturerFilter()->getUserSingleSelection(), + $this->getSortingSql($this->getSortIdent()) + ); + + // skip count calculation if no articles in list found + if ($oSearchList->count()) { + $this->_iAllArtCnt = $this->_d3GetSearchHandler()->getSearchArticleCount( + $this->getSearchParam(), + $this->d3getCategoryFilter()->getUserSingleSelection(), + $this->d3getVendorFilter()->getUserSingleSelection(), + $this->d3getManufacturerFilter()->getUserSingleSelection() + ); + } else { + $this->_iAllArtCnt = 0; + } + + // list of found articles ... and it's counter + $this->_aArticleList = $oSearchList; + + // calculate the page navigation values + $iNrofCatArticles = (int)Registry::getConfig()->getConfigParam('iNrofCatArticles'); + $iNrofCatArticles = $iNrofCatArticles ? $iNrofCatArticles : 1; + $this->_iCntPages = round($this->_iAllArtCnt / $iNrofCatArticles + 0.49); + } + + protected function _d3AddAllTplParams() + { + // send browser plugin status to smarty + $this->addTplParam('blSearchPluginLink', $this->d3GetSet()->getValue('blExtSearch_enablePluginLink')); + + $this->addTplParam('blD3HasSelectedFilters', $this->d3HasSelectedFilters()); + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + return d3_cfg_mod::get($this->_d3getModId()); + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } + + /** + * @return array + */ + public function getSortColumns() + { + $this->_aSortColumns = parent::getSortColumns(); + $aPriorityAlias = array(); + + if (method_exists($this->_d3GetSearchHandler(), 'd3getPriorityAlias')) { + $aPriorityAlias = $this->_d3GetSearchHandler()->d3getPriorityAlias(); + } + + if ($this->d3GetSet()->isActive() + && $this->d3GetSet()->getValue('blExtSearch_orderByPriority') + && !in_array($aPriorityAlias['sortby'], $this->_aSortColumns) + ) { + $this->_aSortColumns[] = $aPriorityAlias['sortby']; + } + + return $this->_aSortColumns; + } + + /** + * @param $oSearchHandler + */ + public function d3SetSearchHandler($oSearchHandler) + { + $this->oD3SearchHandler = $oSearchHandler; + } + + /** + * performance, use a class wide instance + * + * @return d3_oxsearch_extsearch|Search + */ + protected function _d3GetSearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(Search::class); + } + + return $this->oD3SearchHandler; + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + protected function _d3GetOwnSearchHandler() + { + if (!$this->oD3OwnSearchHandler) { + $this->oD3OwnSearchHandler = oxNew(d3_search::class); + } + + return $this->oD3OwnSearchHandler; + } + + /** + * adds modul generated log items + */ + protected function _handleLogging() + { + startProfile('extSearch::logging'); + + if (($this->d3GetSet()->getValue('blExtSearch_generallyLogForSearch')) + || $this->d3GetSet()->getValue('blExtSearch_logHitless') + && $this->_iAllArtCnt === 0 + ) { + $aParams = array(); + $sShopID = Registry::getConfig()->getShopId(); + $sSid = Registry::getSession()->getId(); + $iLang = Registry::getLang()->getTplLanguage(); + + $sTime = date('Y-m-d H:i:s'); + $sUserID = Registry::getSession()->getVariable('usr'); + + $iArtCount = $this->_d3GetSearchHandler()->getSearchRegularyArticleCount( + $this->getSearchParam(), + $this->d3getCategoryFilter()->getUserSingleSelection(), + $this->d3getVendorFilter()->getUserSingleSelection(), + $this->d3getManufacturerFilter()->getUserSingleSelection() + ); + + /** @var d3Filter $oFilter */ + foreach($this->_d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + $aParams[$oFilter->getStatisticLogIndex()] = $oFilter->getUserSelection(); + } + } + + /** @var d3_extsearch_statisticlog $oLog */ + $oLog = oxNew(d3_extsearch_statisticlog::class); + $oLog->assign( + array( + 'oxtime' => $sTime, + 'oxshopid' => $sShopID, + 'oxuserid' => $sUserID, + 'oxsessid' => $sSid, + 'oxlang' => $iLang, + 'oxsearchparam' => $this->getSearchParam(), + 'oxparameter' => $aParams, + 'd3count' => $iArtCount + ) + ); + $oLog->save(); + } + + stopProfile('extSearch::logging'); + } + + /** + * check for one hit, then redirect to articles details page + */ + protected function _directShowCheck() + { + if (Registry::get(Request::class)->getRequestEscapedParameter('d3avoiddirectshow') == 1 + || ( + !Registry::get(Request::class)->getRequestParameter('searchparam') + && !$this->d3GetSet()->getValue('blExtSearch_emptySearch') + ) + ) { + return; + } + + if ($this->d3GetSet()->getValue('blExtSearch_goToUniqueHit') + && $this->_iAllArtCnt == 1 + && !count($this->aSearchContentList) + ) { + // get key list to detect the first (and once) article in list + $aArticleList = $this->_aArticleList->getArray(); + $aKeys = $this->_getKeyList($aArticleList); + // get SEO url for redirect + /** @var $oArticle Article */ + $oArticle = $aArticleList[$aKeys[0]]; + $this->_d3GetOwnSearchHandler()->performDirectShow(null, null, $oArticle); + return; + } + + if ($this->d3GetSet()->getValue('blExtSearch_goToUniqueContentHit') + && !$this->_iAllArtCnt + && is_array($this->aSearchContentList) + && count($this->aSearchContentList) == '1' + ) { + $aKeys = $this->_getKeyList($this->aSearchContentList); + // get SEO url for redirect + /** @var $oContent Content */ + $oContent = $this->aSearchContentList[$aKeys[0]]; + $this->_d3GetOwnSearchHandler()->performDirectShow(null, null, $oContent); + return; + } + + if ($this->d3GetSet()->getValue('blExtSearch_goToUniqueVendorHit') + && !$this->_iAllArtCnt + && $this->_getSearchVendorList() + && count($this->aSearchVendorList) == '1' + ) { + $aKeys = $this->_getKeyList($this->aSearchVendorList); + $this->_d3GetOwnSearchHandler()->performDirectShow( + $this->aSearchVendorList[$aKeys[0]], + Vendor::class + ); + return; + } + + if ($this->d3GetSet()->getValue('blExtSearch_goToUniqueManufacturerHit') + && !$this->_iAllArtCnt + && $this->_getSearchManufacturerList() + && count($this->aSearchManufacturerList) == '1' + ) { + $aKeys = $this->_getKeyList($this->aSearchManufacturerList); + $this->_d3GetOwnSearchHandler()->performDirectShow( + $this->aSearchManufacturerList[$aKeys[0]], + Manufacturer::class + ); + return; + } + } + + /** + * Template variable getter. Returns hits related category list + * + * @return CategoryList + */ + public function d3GetCategoryList() + { + return $this->d3getCategoryFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasCategoryList() + { + return $this->d3getCategoryFilter()->canShowFilter(); + } + + /** + * Template variable getter. Returns hits related attribute list (generating in $this->_d3GetAttributeList()) + * + * @return array + */ + public function d3GetAttributeList() + { + return $this->d3getAttributeFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasAttributeList() + { + return $this->d3getAttributeFilter()->canShowFilter(); + } + + /** + * gets first letters in database field of all hits + */ + protected function d3GetIndexList() + { + return $this->d3getIndexLetterFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasIndexList() + { + return $this->d3getIndexLetterFilter()->canShowFilter(); + } + + /** + * checks, if commited letter is containing in generated indexlist (contains first letter occurence) + * + * @param string $sLetter + * + * @return bool + */ + public function isHitForIndexLetter($sLetter) + { + $oIndexList = $this->d3getIndexList(); + if ($sLetter == 'all' + || ( + $oIndexList->count() + && $this->d3getIndexLetterFilter()->isLetterInList($sLetter) + ) + ) { + return true; + } else { + return false; + } + } + + /** + * Template variable getter. Returns hits related vendor list + * @return VendorList + */ + public function d3GetVendorList() + { + return $this->d3getVendorFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasVendorList() + { + return $this->d3getVendorFilter()->canShowFilter(); + } + + /** + * Template variable getter. Returns hits related manufacturer list + * @return ManufacturerList + */ + public function d3GetManufacturerList() + { + return $this->d3getManufacturerFilter()->getFilterList(); + } + + /** + * @return bool + */ + public function d3HasManufacturerList() + { + return $this->d3getManufacturerFilter()->canShowFilter(); + } + + /** + * generates a content list by given search parameter + */ + protected function _getCMSList() + { + if ($this->d3GetSet()->d3getLog() && $this->d3GetSet()->getFieldData('oxismodulelog')) { + $this->d3GetSet()->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + "", + "generating CMS list" + ); + } + + // calls database query execution + $this->aSearchContentList = $this->_d3GetSearchHandler()->getSearchContents(); + } + + /** + * generates a vendor list by given search parameter + */ + protected function _getSearchVendorList() + { + if ($this->d3GetSet()->d3getLog() && $this->d3GetSet()->getFieldData('oxismodulelog')) { + $this->d3GetSet()->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + "", + "generating vendor list" + ); + } + + // calls database query execution + $this->aSearchVendorList = $this->_d3GetSearchHandler()->getVendorNameHits(); + + return true; + } + + /** + * generates a manufacturer list by given search parameter + */ + protected function _getSearchManufacturerList() + { + if ($this->d3GetSet()->d3getLog() && $this->d3GetSet()->getFieldData('oxismodulelog')) { + $this->d3GetSet()->d3getLog()->log( + d3log::INFO, + __CLASS__, + __FUNCTION__, + __LINE__, + "", + "generating manufacturer list" + ); + } + + // calls database query execution + $this->aSearchManufacturerList = $this->_d3GetSearchHandler()->getManufacturerNameHits(); + + return true; + } + + /** + * Template variable getter. Returns searched content list (generated in $this->_getCMSList() above) + * + * @return array + */ + public function d3GetCMSList() + { + if (isset($this->aSearchContentList) + && is_array($this->aSearchContentList) + && count($this->aSearchContentList) + ) { + return $this->aSearchContentList; + } + + return array(); + } + + /** + * extracts article list keys (articles oxId) from given list + * + * @param array $aList + * + * @return array + */ + protected function _getKeyList($aList = array()) + { + $aKeys = array(); + + if (count($aList)) { + foreach (array_keys($aList) as $key) { + $aKeys[] = $key; + } + } + + return $aKeys; + } + + /** + * extends all navigation URLs with modul specific parameters + * + * @param bool $blAddPageNr + * + * @return string + */ + protected function _getRequestParams($blAddPageNr = true) + { + $sURL = parent::_getRequestParams($blAddPageNr); + $sURLAdd = ''; + + if ($this->d3GetSet()->isActive()) { + + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + if (substr($sURL, -1) !== $sSeparator) { + $sURLAdd .= $sSeparator; + } + + $oFilterList = $this->_d3GetOwnSearchHandler()->getFilterList(); + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + $sURLAdd .= $oFilter->getNavigationParameterString(); + } + + if ((strlen($sURLAdd) || $this->d3getAttributeFilter()->d3HasAttributeValues()) && + false == strstr($sURL, 'isextsearch=') && + ($sExtSearchFlag = Registry::get(Request::class)->getRequestEscapedParameter('isextsearch')) + ) { + $sURLAdd .= $sSeparator."isextsearch=".$sExtSearchFlag; + } + } + + return $sURL.$sURLAdd; + } + + /** + * Returns additional URL parameters which must be added to list products urls + * + * @return string + */ + public function getAddUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + $sAddParams .= $this->d3AddBaseUrlParams($sAddParams); + + return $sAddParams; + } + + /** + * Returns array of params => values which are used in hidden forms and as additional url params + * + * @return array + */ + public function getNavigationParams() + { + $aParams = parent::getNavigationParams(); + $aAddParams = array(); + + if ($this->d3GetSet()->isActive()) { + $this->_d3GetSearchHandler()->d3RemoveEmptyParameters($aParams); + + $oFilterList = $this->_d3GetOwnSearchHandler()->getFilterList(); + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + $aAddParams = array_merge($aAddParams, $oFilter->convertNavigationParameterArrayToList($oFilter->getNavigationParameterArray())); + } + if (false == isset($aParams['isextsearch']) + && (count($aAddParams) || $this->_d3GetSearchHandler()->getAttributeFilters()) + && ($sExtSearchFlag = Registry::get(Request::class)->getRequestEscapedParameter('isextsearch')) + ) { + $aAddParams['isextsearch'] = $sExtSearchFlag; + } + } + + return array_merge($aParams, $aAddParams); + } + + /** + * @return string + */ + public function getAdditionalParams() + { + $this->_sAdditionalParams = parent::getAdditionalParams(); + + if ($this->d3GetSet()->isActive()) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + $this->_sAdditionalParams .= $this->_sD3AdditionalParams; + + if (!strstr($this->_sAdditionalParams, $sSeparator.'isextsearch=') + && $this->d3HaveFiltersUserSelection() + ) { + $this->_sAdditionalParams .= $sSeparator.'isextsearch=search'; + } + + } + + return $this->_sAdditionalParams; + } + + /** + * @return bool + */ + public function d3HaveFiltersUserSelection() + { + /** @var d3Filter $oFilter */ + foreach ($this->_d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + return true; + } + } + + return false; + } + + /** + * returns additional url params for dynamic url building + * + * @return string + */ + public function getDynUrlParams() + { + $sRet = parent::getDynUrlParams(); + + $sRet .= $this->d3AddBaseUrlParams($sRet); + + return $sRet; + } + + /** + * @param string $sBase + * @return string + */ + public function d3AddBaseUrlParams($sBase = '') + { + $sRet = ''; + if ($this->d3GetSet()->isActive()) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + if (substr($sBase, -1) !== $sSeparator) { + $sRet .= $sSeparator; + } + + /** @var d3Filter $oFilter */ + foreach ($this->_d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + $blExists = false; + foreach ($oFilter->getParameterCheckPattern('@', true) as $sPattern) { + if (preg_match($sPattern, $sBase)) { + $blExists = true; + break; + } + } + + if (false === $blExists) { + $sRet .= $oFilter->getNavigationParameterString(false, true); + } + } + + if (false == strstr($sBase, $sSeparator.'isextsearch=') && + (strlen($sRet) || $this->d3getAttributeFilter()->d3HasAttributeValues()) && + false == strstr($sRet, $sSeparator.'isextsearch=') // + && ($sExtSearchFlag = Registry::get(Request::class)->getRequestEscapedParameter('isextsearch')) // + ) { + $sRet .= "isextsearch=".$sExtSearchFlag.$sSeparator; + } + } + + return $sRet; + } + + /** + * set default sorting to priority, if prio is enabled and there's + * no sorting selected + * + * @param $sCnid + * + * @return array + */ + public function getSorting($sCnid) + { + $aSorting = parent::getSorting($sCnid); + + if ($this->d3GetSet()->isActive() + && !count($aSorting) + && $this->d3GetSet()->getValue('blExtSearch_orderByPriority') + ) { + $aSorting = $this->_d3GetSearchHandler()->d3GetPriorityAlias(); + } + + if ($aSorting) { + if (method_exists($this, 'setListOrderBy')) { + $this->setListOrderBy($aSorting['sortby']); + } else { + $this->_sListOrderBy = $aSorting['sortby']; + } + + if (method_exists($this, 'setListOrderDirection')) { + $this->setListOrderDirection($aSorting['sortdir']); + } else { + $this->_sListOrderDir = $aSorting['sortdir']; + } + } + + return $aSorting; + } + + /** + * ignore field exist check for prio sorting + * @return array + */ + public function getUserSelectedSorting() + { + $sSortBy = Registry::get(Request::class)->getRequestParameter($this->getSortOrderByParameterName()); + $aPriorityAlias = $this->_d3GetSearchHandler()->d3GetPriorityAlias(); + + if ($sSortBy === $aPriorityAlias['sortby']) { + $sSortDir = Registry::get(Request::class)->getRequestParameter($this->getSortOrderParameterName()); + $aSorting = array('sortby' => $sSortBy, 'sortdir' => $sSortDir); + } else { + $this->_d3AddMissingSortFieldName($sSortBy); + $aSorting = parent::getUserSelectedSorting(); + } + + return $aSorting; + } + + /** + * add sort fieldname, if it isn't available yet after clear cache - small bug in shop + * @param $sSortBy + */ + protected function _d3AddMissingSortFieldName($sSortBy) + { + /** @var $oArticle article */ + if (($oArticle = oxNew(article::class)) + && false == in_array($sSortBy, $oArticle->getFieldNames()) + ) { + $oQB = d3database::getInstance()->getQueryBuilder(); + $oQB->select('oxid') + ->from($oArticle->getViewName()) + ->setMaxResults(1); + $sSelect = $oQB->getSQL(); + $sId = DatabaseProvider::getDb(DatabaseProvider::FETCH_MODE_ASSOC)->getOne($sSelect); + // loading a random article via load method fix this + $oArticle->load($sId); + } + } + + /** + * @return bool + */ + public function d3HasFilters() + { + return $this->d3HasCategoryList() + || $this->d3HasVendorList() + || $this->d3HasManufacturerList() + || $this->d3HasAttributeList() + || $this->d3HasPriceFilter(); + } + + /** + * @return bool + */ + public function d3HasPriceFilter() + { + return $this->d3getPriceFilter()->canShowFilter(); + } + + /** + * @return bool + */ + public function d3CanShowPriceFilterSlider() + { + return $this->d3getPriceFilter()->canShowPriceFilterSlider(); + } + + /** + * Template variable getter. Returns price selector list + * + * @return array + */ + public function d3getPriceSteps() + { + return $this->d3GetXListController()->d3getPriceSteps(); + } + + /** + * @return bool + */ + public function d3HasPriceSteps() + { + return (bool) ($this->d3getPriceSteps() || $this->getViewDataElement('sSelectedPriceStep')); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMaxValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMaxValue(); + } + + /** + * set, if only similar hits are related or a combined article list (regular and similar articles) is returned + * + * @return bool|string + */ + public function getSearchResultStatusMessage() + { + $blSimilar = false; + $blRegular = false; + + if ($this->d3GetSet()->isActive()) { + if ($this->_aArticleList) { + foreach ($this->_aArticleList->getArray() as $oArticle) { + if ($oArticle->blIsSimilar) { + $blSimilar = true; + } else { + $blRegular = true; + } + } + } + + // if regular and similar articles (combined mode) + if ($blRegular && $blSimilar) { + return 'combined'; + } elseif ($blSimilar) { + return 'similar'; + } else { + return false; + } + } else { + return false; + } + } + + /** + * @return array|string + */ + public function getUsedParams() + { + if (is_array($this->_d3GetSearchHandler()->getFilteredSearchArray())) { + return implode(" ", $this->_d3GetSearchHandler()->getFilteredSearchArray()); + } elseif (is_string($this->_d3GetSearchHandler()->getFilteredSearchArray())) { + return $this->_d3GetSearchHandler()->getFilteredSearchArray(); + } + + return ''; + } + + /** + * @return bool + */ + public function d3HasjQuerySlider() + { + return $this->d3GetXListController()->d3HasjQuerySlider(); + } + + /** + * @return array + */ + public function d3getPriceLimits() + { + return $this->d3GetXListController()->d3getPriceLimits(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMaxValue(); + } + + /** + * @return string + */ + public function _getSearchParamForHtml() + { + return htmlspecialchars_decode(parent::getSearchParamForHtml(), ENT_QUOTES); + } + + /** + * Returns page sort indentificator. It is used as intentificator in session variable aSorting[ident] + * + * @return string + */ + public function getSortIdent() + { + if ($this->d3GetSet()->isActive()) { + return 'd3extsearch'; + } elseif (method_exists(get_parent_class(), 'getSortIdent')) { + return parent::getSortIdent(); + } else { + return null; + } + } + + /** + * Returns search title. It will be setted in oxLocator + * + * @return string + */ + public function getSearchTitle() + { + return $this->_sSearchTitle; + } + + /** + * Returns search title setter + * @param string $sTitle search title + */ + public function setSearchTitle($sTitle) + { + $this->_sSearchTitle = $sTitle; + } + + /** + * @return bool + */ + public function d3CategoryFilterUseMultipleValues() + { + return $this->d3getCategoryFilter()->hasUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3VendorFilterUseMultipleValues() + { + return $this->d3getVendorFilter()->hasUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3ManufacturerFilterUseMultipleValues() + { + return $this->d3getManufacturerFilter()->hasUserMultiSelection(); + } + + /** + * @param $sAttrId + * + * @return bool + */ + public function d3AttributeFilterUseMultipleValues($sAttrId) + { + return $this->d3getAttributeFilter()->hasUserMultiSelection($sAttrId); + } + + /** + * @return string + */ + public function d3GetDeselectValue() + { + return $this->_d3GetSearchHandler()->d3GetDeselectValue(); + } + + /** + * @return string + */ + public function d3getFilterPageId() + { + $sPageId = "search##". + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + md5(rawurlencode(strtolower(Registry::get(Request::class)->getRequestParameter('searchparam')))); + + return $sPageId; + } + + /** + * @param $sOptionTitle + * + * @return string + */ + public function d3GetMultipleSelectionTranslation($sOptionTitle) + { + return sprintf(Registry::getLang()->translateString('D3_EXTSEARCH_EXT_MULTIPLESELECT'), $sOptionTitle); + } + + public function d3ClearFilter() + { + $this->_d3GetSearchHandler()->d3ClearFilters(); + $this->setFncName(null); + } + + /** + * @return bool + */ + public function d3HasSelectedFilters() + { + $oFilterList = $this->_d3GetOwnSearchHandler()->getFilterList(); + /** @var d3Filter $oFilter */ + foreach ($oFilterList->getArray() as $oFilter) { + if ($oFilter->hasUserSelection()) { + return true; + } + } + + return false; + } + + /** + * @return bool|string + */ + public function getSearchCategory() + { + return $this->d3getCategoryFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchVendor() + { + return $this->d3getVendorFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchManufacturer() + { + return $this->d3getManufacturerFilter()->getUserSingleSelection(); + } + + /** + * @return d3_xlist_extsearch + */ + public function d3GetXListController() + { + if (false == $this->_oXListController) { + $this->_oXListController = oxNew(d3_xlist_extsearch::class, $this); + } + return $this->_oXListController; + } + + public function d3getCategoryFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter(); + } + + public function d3getVendorFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter(); + } + + public function d3getManufacturerFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter(); + } + + public function d3getIndexLetterFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getIndexLetterFilter(); + } + + public function d3getPriceFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getPriceFilter(); + } + + public function d3getFieldIsFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getFieldIsFilter(); + } + + public function d3getFieldLikeFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getFieldLikeFilter(); + } + + public function d3getAttributeFilter() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter(); + } +} diff --git a/src/Modules/Application/Controller/d3_manufacturerlist_extsearch.php b/src/Modules/Application/Controller/d3_manufacturerlist_extsearch.php new file mode 100644 index 0000000..e7d06a1 --- /dev/null +++ b/src/Modules/Application/Controller/d3_manufacturerlist_extsearch.php @@ -0,0 +1,481 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Application\Controller\d3_xlist_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use D3\Extsearch\Core\d3_extsearch_conf; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Application\Model\Manufacturer; +use OxidEsales\Eshop\Application\Model\ManufacturerList; +use OxidEsales\Eshop\Application\Model\VendorList; +use OxidEsales\Eshop\Application\Model\CategoryList; + +class d3_manufacturerlist_extsearch extends d3_manufacturerlist_extsearch_parent +{ + /** @var d3_xlist_extsearch */ + protected $_oXListController; + private $_blUseAlistFilter; + + /** + * @return string + */ + public function render() + { + $this->d3GetXListController()->render(); + + return parent::render(); + } + + /** + * @param Manufacturer $oCategory + * + * @return array + */ + protected function _loadArticles($oCategory) + { + $aRet = parent::_loadArticles($oCategory); + $aKeys = array_keys($aRet); + + $iArtCnt = $aRet[$aKeys[1]]; + + if ($iArtCnt) { + $this->d3GetXListController()->addAListFilters($oCategory); + } + + $this->d3GetXListController()->setTplParams(); + + return $aRet; + } + + /** + * @return bool|string + */ + public function getSearchCategory() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchVendor() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchManufacturer() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getUserSingleSelection(); + } + + /** + * @param string $sUrl + * @param int $iPage + * @param null $iLang + * + * @return string + */ + protected function _addPageNrParam($sUrl, $iPage, $iLang = null) + { + if (false == $this->_d3UseAlistFilters()) { + return parent::_addPageNrParam($sUrl, $iPage, $iLang); + } + + $sUrl = parent::_addPageNrParam($sUrl, $iPage, $iLang); + + $sUrlAdd = $this->getViewDataElement('additionalparams'); + + if ($sUrlAdd) { + $sUrl .= ((strpos($sUrl, '?') === false) ? '?' : '') . $sUrlAdd; + } + + return $sUrl; + } + + /** + * returns additional url params for dynamic url building + * + * @return string + */ + public function getDynUrlParams() + { + $sRet = parent::getDynUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sRet .= $this->d3GetXListController()->d3AddBaseUrlParams($sRet); + } + + return $sRet; + } + + /** + * Returns additional URL parameters which must be added to list products urls + * + * @return string + */ + public function getAddUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sAddParams .= $this->d3GetXListController()->d3AddBaseUrlParams($sAddParams); + } + + return $sAddParams; + } + + /** + * Returns additional URL parameters which must be added to list products seo urls + */ + public function getAddSeoUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sAddParams .= $this->d3GetXListController()->d3AddBaseUrlParams($sAddParams); + } + + return $sAddParams; + } + + /** + * Returns array of params => values which are used in hidden forms and as additional url params + * + * @return array + */ + public function getNavigationParams() + { + $aParams = parent::getNavigationParams(); + + $aParams = $this->d3GetXListController()->addNavigationParams($aParams); + + return $aParams; + } + + /** + * @return string + */ + public function getAdditionalParams() + { + $this->_sAdditionalParams = parent::getAdditionalParams(); + + if ($this->d3GetSet()->isActive()) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + $this->_sAdditionalParams .= $this->d3GetXListController()->getD3AdditionalParams(); + + if (!strstr($this->_sAdditionalParams, $sSeparator.'isextsearch=') + && $this->d3HaveFiltersUserSelection() + ) { + $this->_sAdditionalParams .= $sSeparator.'isextsearch=alist'; + } + } + + return $this->_sAdditionalParams; + } + + /** + * @return bool + */ + public function d3HaveFiltersUserSelection() + { + /** @var d3Filter $oFilter */ + foreach ($this->_d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + return true; + } + } + + return false; + } + + /** + * @return string + */ + public function d3getFilterPageId() + { + return $this->d3GetXListController()->d3getFilterPageId(); + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + return $this->d3GetXListController()->d3GetSet(); + } + + /** + * @return d3_oxsearch_extsearch + */ + protected function _d3GetSearchHandler() + { + return $this->d3GetXListController()->d3GetSearchHandler(); + } + + /** + * @return d3_search + */ + protected function _d3GetOwnSearchHandler() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler(); + } + + /** + * @return CategoryList + */ + public function d3GetCategoryList() + { + return $this->d3GetXListController()->d3GetCategoryList(); + } + + /** + * @return bool + */ + public function d3HasCategoryList() + { + return $this->d3GetXListController()->d3HasCategoryList(); + } + + /** + * @return VendorList + */ + public function d3GetVendorList() + { + return $this->d3GetXListController()->d3GetVendorList(); + } + + /** + * @return bool + */ + public function d3HasVendorList() + { + return $this->d3GetXListController()->d3HasVendorList(); + } + + /** + * @return ManufacturerList + */ + public function d3GetManufacturerList() + { + return $this->d3GetXListController()->d3GetManufacturerList(); + } + + /** + * @return bool + */ + public function d3HasManufacturerList() + { + return $this->d3GetXListController()->d3HasManufacturerList(); + } + + /** + * @return array + */ + public function d3GetAttributeList() + { + return $this->d3GetXListController()->d3GetAttributeList(); + } + + /** + * @return bool + */ + public function d3HasAttributeList() + { + return $this->d3GetXListController()->d3HasAttributeList(); + } + + /** + * @param $sAttrId + * @return bool + */ + public function d3AttributeFilterUseMultipleValues($sAttrId) + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->hasUserMultiSelection($sAttrId); + } + + /** + * @return bool + */ + public function d3CategoryFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3VendorFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3ManufacturerFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getUserMultiSelection(); + } + + /** + * @return array + */ + public function d3getPriceSteps() + { + return $this->d3GetXListController()->d3getPriceSteps(); + } + + /** + * @return bool + */ + public function d3HasjQuerySlider() + { + return $this->d3GetXListController()->d3HasjQuerySlider(); + } + + /** + * @return string + */ + public function d3GetDeselectValue() + { + return $this->d3GetXListController()->d3GetDeselectValue(); + } + + /** + * @param $sOptionTitle + * @return string + */ + public function d3GetMultipleSelectionTranslation($sOptionTitle) + { + return $this->d3GetXListController()->d3GetMultipleSelectionTranslation($sOptionTitle); + } + + /** + * @return bool + */ + public function d3HasFilters() + { + return $this->d3GetXListController()->d3HasFilters(); + } + + /** + * @return bool + */ + public function d3HasPriceFilter() + { + return $this->d3GetXListController()->d3HasPriceFilter(); + } + + /** + * @return bool + */ + public function d3CanShowPriceFilterSlider() + { + return $this->d3GetXListController()->d3CanShowPriceFilterSlider(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMaxValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMaxValue(); + } + + /** + * @return array + */ + public function d3getPriceLimits() + { + return $this->d3GetXListController()->d3getPriceLimits(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMaxValue(); + } + + public function d3ClearFilter() + { + $this->d3GetXListController()->d3ClearFilter(); + } + + /** + * @return bool + */ + private function _d3UseAlistFilters() + { + if (null === $this->_blUseAlistFilter) { + $this->_blUseAlistFilter = $this->d3GetSet()->isActive() + && ($this->d3GetSet()->getLicenseConfigData(d3_extsearch_conf::SERIAL_BIT_HAS_FILTERS_IN_ALIST, false) || $this->d3GetSet()->isDemo()) + && $this->d3GetSet()->getValue('blExtSearch_useAListFilter'); + } + return $this->_blUseAlistFilter; + } + + /** + * @return d3_xlist_extsearch + */ + public function d3GetXListController() + { + if (false == $this->_oXListController) { + $this->_oXListController = oxNew(d3_xlist_extsearch::class, $this); + } + return $this->_oXListController; + } +} diff --git a/src/Modules/Application/Controller/d3_oxlocator_extsearch.php b/src/Modules/Application/Controller/d3_oxlocator_extsearch.php new file mode 100644 index 0000000..d81aa15 --- /dev/null +++ b/src/Modules/Application/Controller/d3_oxlocator_extsearch.php @@ -0,0 +1,433 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxarticlelist_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use D3\Extsearch\Core\d3_extsearch_conf; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; +use OxidEsales\Eshop\Application\Model\Article; +use OxidEsales\Eshop\Application\Model\Category; +use OxidEsales\Eshop\Application\Model\ArticleList; +use \OxidEsales\Eshop\Application\Controller\FrontendController; + +class d3_oxlocator_extsearch extends d3_oxlocator_extsearch_parent +{ + /** @var Article */ + protected $_oNextProduct = null; + + /** @var Article */ + protected $_oBackProduct = null; + + /** @var array */ + protected $_aD3Params = array(); + + private $_sModId = 'd3_extsearch'; + + /** @var d3_details_extsearch */ + protected $_d3LocatorTarget; + + /** @var d3_search */ + public $oD3OwnSearchHandler; + + /** + * @param $oCurrArticle + * @param $oLocatorTarget + */ + public function setLocatorData($oCurrArticle, $oLocatorTarget) + { + $this->_d3LocatorTarget = $oLocatorTarget; + + parent::setLocatorData($oCurrArticle, $oLocatorTarget); + } + + /** + * @param d3_ext_search $oLocatorTarget + * @param Article $oCurrArticle + * + * @return null|void + */ + protected function _setListLocatorData($oLocatorTarget, $oCurrArticle) + { + parent::_setListLocatorData($oLocatorTarget, $oCurrArticle); + + /** @var $oCategory Category */ + if ($this->_d3ExtSearchNeedExtensionForCurrentLocator() + && ($oCategory = $oLocatorTarget->getActiveCategory()) + ) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + + // loading data for article navigation + /** @var $oIdList d3_oxarticlelist_extsearch */ + $oIdList = oxNew(ArticleList::class); + + if ($oLocatorTarget->showSorting()) { + $oLocatorTarget->getSorting($this->d3GetSortIdent($oLocatorTarget)); + $oIdList->setCustomSorting($oLocatorTarget->getSortingSql($this->d3GetSortIdent($oLocatorTarget))); + } + + if ($oCategory->isPriceCategory()) { + $oIdList->loadPriceIds($oCategory->getFieldData('oxpricefrom'), $oCategory->getFieldData('oxpriceto')); + } else { + $sActCat = $oCategory->getId(); + $oIdList->loadCategoryIds($sActCat, Registry::getSession()->getVariable('session_attrfilter')); + } + + //page number + $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle); + + $sAddSearch = $this->_d3GetSearchUrlAdd(); + + // setting product position in list, amount of articles etc + $oCategory->__set('iCntOfProd', $oIdList->count()); + $oCategory->__set('iProductPos', $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget)); + + $sPageNr = $this->_getPageNumber($iPage); + $oCategory->__set('toListLink', $this->_makeLink($oCategory->__get('link'), $sPageNr . ($sPageNr ? $sSeparator : '') . $sAddSearch)); + $this->_oNextProduct ? + $oCategory->__set('nextProductLink', $this->_makeLink($this->_oNextProduct->getLink(), $sAddSearch)) : + null; + + $this->_oBackProduct ? + $oCategory->__set('prevProductLink', $this->_makeLink($this->_oBackProduct->getLink(), $sAddSearch)) : + null; + + $sFormat = Registry::getLang()->translateString('searchResult'); + $oLocatorTarget->setSearchTitle(sprintf($sFormat, $this->_d3GetParamForSearch('searchparam', true))); + // for compatibility reasons for a while. will be removed in future + $oLocatorTarget->addTplParam('sSearchTitle', $oLocatorTarget->getSearchTitle()); + + if ($this->_d3GetRawUrlParamForSearch('searchparam')) { + $oLocatorTarget->addTplParam('searchparam', $this->_d3GetRawUrlParamForSearch('searchparam')); + } + + /** @var d3Filter $oFilter */ + foreach ($this->d3GetOwnSearchHandler()->getFilterList()->getArray() as $oFilter) { + foreach ($oFilter->getNavigationParameterArray() as $sKey => $sValue) { + $oLocatorTarget->addTplParam($sKey, $sValue); + } + } + + if ($this->_d3GetParamForSearch('searchparam', true)) { + $oLocatorTarget->addTplParam('searchparamforhtml', $this->_d3GetParamForSearch('searchparam', true)); + } + + if ($this->_d3GetParamForSearch('isextsearch', false)) { + $oLocatorTarget->addTplParam('isextseach', Registry::get(Request::class)->getRequestEscapedParameter('isextsearch')); + } + + $oCategory->__set('toListLink', $oCategory->__get('toListLink') . $sSeparator.'d3avoiddirectshow=1'); + + $oLocatorTarget->setActiveCategory($oCategory); + // for compatibility reasons for a while. will be removed in future + $oLocatorTarget->addTplParam('actCategory', $oLocatorTarget->getActiveCategory()); + } + } + + /** + * @param FrontendController $oLocatorTarget + * @param Article $oCurrArticle + */ + protected function _setVendorLocatorData($oLocatorTarget, $oCurrArticle) + { + parent::_setVendorLocatorData($oLocatorTarget, $oCurrArticle); + + /** @var $oVendor Category */ + if ($this->_d3ExtSearchNeedExtensionForCurrentLocator() + && ($oVendor = $oLocatorTarget->getActVendor()) + ) { + $sVendorId = $oVendor->getId(); + + // loading data for article navigation + $oIdList = oxNew(ArticleList::class); + if ($oLocatorTarget->showSorting()) { + $oIdList->setCustomSorting($oLocatorTarget->getSortingSql($oLocatorTarget->getSortIdent())); + } + $oIdList->loadVendorIds($sVendorId); + + //page number + $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle); + + $sAddSearch = $this->_d3GetSearchUrlAdd(); + + // setting product position in list, amount of articles etc + $oVendor->__set('iCntOfProd', $oIdList->count()); + $oVendor->__set('iProductPos', $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget)); + + $oVendor->__set('toListLink', $this->_makeLink($oVendor->getLink(), $this->_getPageNumber($iPage) . $sAddSearch)); + $this->_oNextProduct ? + $oVendor->__set('nextProductLink', $this->_makeLink($this->_oNextProduct->getLink(), $sAddSearch)) : + null; + $this->_oBackProduct ? + $oVendor->__set('prevProductLink', $this->_makeLink($this->_oBackProduct->getLink(), $sAddSearch)) : + null; + + $oLocatorTarget->setActiveCategory($oVendor); + } + } + + /** + * @param FrontendController $oLocatorTarget + * @param Article $oCurrArticle + */ + protected function _setManufacturerLocatorData($oLocatorTarget, $oCurrArticle) + { + parent::_setManufacturerLocatorData($oLocatorTarget, $oCurrArticle); + + /** @var $oManufacturer Category */ + if ($this->_d3ExtSearchNeedExtensionForCurrentLocator() + && ($oManufacturer = $oLocatorTarget->getActManufacturer()) + ) { + $sManufacturerId = $oManufacturer->getId(); + + // loading data for article navigation + $oIdList = oxNew(ArticleList::class); + if ($oLocatorTarget->showSorting()) { + $oIdList->setCustomSorting($oLocatorTarget->getSortingSql($oLocatorTarget->getSortIdent())); + } + $oIdList->loadManufacturerIds($sManufacturerId); + + //page number + $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle); + + $sAddSearch = $this->_d3GetSearchUrlAdd(); + + // setting product position in list, amount of articles etc + $oManufacturer->__set('iCntOfProd', $oIdList->count()); + $oManufacturer->__set('iProductPos', $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget)); + + $oManufacturer->__set('toListLink', $this->_makeLink($oManufacturer->getLink(), $this->_getPageNumber($iPage). $sAddSearch)); + $this->_oNextProduct ? + $oManufacturer->__set('nextProductLink', $this->_makeLink($this->_oNextProduct->getLink(), $sAddSearch)) : + null; + $this->_oBackProduct ? + $oManufacturer->__set('prevProductLink', $this->_makeLink($this->_oBackProduct->getLink(), $sAddSearch)) : + null; + + // active Manufacturer + $oLocatorTarget->setActiveCategory($oManufacturer); + } + } + + /** + * @param d3_ext_search $oLocatorTarget + * @param Article $oCurrArticle + * + * @return null|void + */ + protected function _setSearchLocatorData($oLocatorTarget, $oCurrArticle) + { + if (false == $this->_d3ExtSearchNeedExtensionForCurrentLocator()) { + parent::_setSearchLocatorData($oLocatorTarget, $oCurrArticle); + return; + } + + /** @var $oSearchCat Category|\stdClass */ + $oSearchCat = $oLocatorTarget->getActSearch(); + if ($oSearchCat) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + + // loading data for article navigation + /** @var $oIdList d3_oxarticlelist_extsearch */ + $oIdList = oxNew(ArticleList::class); + + if ($oLocatorTarget->showSorting()) { + $oLocatorTarget->getSorting($this->d3GetSortIdent($oLocatorTarget)); + $oIdList->setCustomSorting($oLocatorTarget->getSortingSql($this->d3GetSortIdent($oLocatorTarget))); + } + + $oIdList->loadSearchIds( + $this->_d3GetParamForSearch('searchparam', false), + $this->_d3GetRawUrlParamForSearch('searchcnid'), + $this->_d3GetRawUrlParamForSearch('searchvendor'), + $this->_d3GetRawUrlParamForSearch('searchmanufacturer') + ); + + //page number + $iPage = $this->_findActPageNumber($oLocatorTarget->getActPage(), $oIdList, $oCurrArticle); + + $sAddSearch = $this->_d3GetSearchUrlAdd(); + + // setting product position in list, amount of articles etc + $oSearchCat->iCntOfProd = $oIdList->count(); + $oSearchCat->iProductPos = $this->_getProductPos($oCurrArticle, $oIdList, $oLocatorTarget); + + $sPageNr = $this->_getPageNumber($iPage); + $oSearchCat->toListLink = + $this->_makeLink($oSearchCat->link, $sPageNr . ($sPageNr ? $sSeparator : '') . $sAddSearch); + $oSearchCat->nextProductLink = + $this->_oNextProduct ? $this->_makeLink($this->_oNextProduct->getLink(), $sAddSearch) : null; + $oSearchCat->prevProductLink = + $this->_oBackProduct ? $this->_makeLink($this->_oBackProduct->getLink(), $sAddSearch) : null; + + $sFormat = Registry::getLang()->translateString('searchResult'); + $oLocatorTarget->setSearchTitle(sprintf($sFormat, $this->_d3GetParamForSearch('searchparam', true))); + // for compatibility reasons for a while. will be removed in future + $oLocatorTarget->addTplParam('sSearchTitle', $oLocatorTarget->getSearchTitle()); + + if ($this->_d3GetRawUrlParamForSearch('searchparam')) { + $oLocatorTarget->addTplParam('searchparam', $this->_d3GetRawUrlParamForSearch('searchparam')); + } + + /** @var d3Filter $oFilter */ + foreach ($this->d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + foreach ($oFilter->getNavigationParameterArray() as $sId => $sValue) { + $oLocatorTarget->addTplParam($sId, $sValue); + } + } + } + + if ($this->_d3GetParamForSearch('searchparam', true)) { + $oLocatorTarget->addTplParam('searchparamforhtml', $this->_d3GetParamForSearch('searchparam', true)); + } + + $oSearchCat->toListLink = $oSearchCat->toListLink . $sSeparator.'d3avoiddirectshow=1'; + + $oLocatorTarget->setActiveCategory($oSearchCat); + // for compatibility reasons for a while. will be removed in future + $oLocatorTarget->addTplParam('actCategory', $oLocatorTarget->getActiveCategory()); + } + } + + /** + * @param $oLocatorTarget + * + * @return string + */ + public function d3GetSortIdent($oLocatorTarget) + { + if (method_exists($oLocatorTarget, 'getSortIdent')) { + return $oLocatorTarget->getSortIdent(); + } + + return 'alist'; + } + + /** + * @param $sParamName + * @param bool $blFormParam + * + * @return mixed + */ + protected function _d3GetParamForSearch($sParamName, $blFormParam = false) + { + if (!$this->_aD3Params[$sParamName . $blFormParam]) { + $this->_aD3Params[$sParamName . $blFormParam] = + $blFormParam ? + Registry::get(Request::class)->getRequestParameter($sParamName) : + Registry::get(Request::class)->getRequestEscapedParameter($sParamName); + } + + return $this->_aD3Params[$sParamName . $blFormParam]; + } + + /** + * @param $sParamName + * + * @return string + */ + protected function _d3GetRawUrlParamForSearch($sParamName) + { + return rawurldecode($this->_d3GetParamForSearch($sParamName)); + } + + /** + * @return string + */ + protected function _d3GetSearchUrlAdd() + { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + + $sAddSearch = "searchparam=" . $this->_d3GetRawUrlParamForSearch('searchparam').$sSeparator; + $sAddSearch .= "listtype=" . $this->_sType.$sSeparator; + + $sAddSearch2 = ''; + + /** @var d3Filter $oFilter */ + foreach ($this->d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + $sAddSearch2 .= $oFilter->getNavigationParameterString(); + } + + if (Registry::get(Request::class)->getRequestEscapedParameter('isextsearch') && + (strlen($sAddSearch2) || $this->_d3LocatorTarget->getAttributeFilters()) + ) { + $sAddSearch2 .= $sSeparator."isextsearch=" . Registry::get(Request::class)->getRequestEscapedParameter('isextsearch'); + } + + return $sAddSearch.$sAddSearch2; + } + + /** + * @return string + */ + private function _d3getModId() + { + return $this->_sModId; + } + + /** + * @return d3_cfg_mod + */ + protected function _d3GetSet() + { + return d3_cfg_mod::get($this->_d3getModId()); + } + + /** + * @return bool + */ + private function _d3UseAlistFilters() + { + return ($this->_d3GetSet()->getLicenseConfigData(d3_extsearch_conf::SERIAL_BIT_HAS_FILTERS_IN_ALIST, false) || $this->_d3GetSet()->isDemo()) // + && $this->_d3GetSet()->getValue('blExtSearch_useAListFilter'); + } + + /** + * @return bool + */ + protected function _d3ExtSearchNeedExtensionForCurrentLocator () + { + if (false == $this->_d3GetSet()->isActive() // + || false == method_exists(Registry::getConfig()->getActiveView(), 'getListType') + || ( // + false == $this->_d3UseAlistFilters() // + && Registry::getConfig()->getActiveView()->getListType() != 'search' // + ) // + ) { + return false; + } + + return true; + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + public function d3GetOwnSearchHandler() + { + if (!$this->oD3OwnSearchHandler) { + $this->oD3OwnSearchHandler = oxNew(d3_search::class); + } + + return $this->oD3OwnSearchHandler; + } +} diff --git a/src/Modules/Application/Controller/d3_rss_extsearch.php b/src/Modules/Application/Controller/d3_rss_extsearch.php new file mode 100644 index 0000000..a4cd783 --- /dev/null +++ b/src/Modules/Application/Controller/d3_rss_extsearch.php @@ -0,0 +1,137 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use OxidEsales\Eshop\Application\Model\Search; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Core\Request; + +class d3_rss_extsearch extends d3_rss_extsearch_parent +{ + /** @var d3_oxsearch_extsearch */ + public $oD3SearchHandler = null; + /** @var d3_search */ + public $oD3OwnSearchHandler = null; + protected $_aSelectedAttributes; + protected $_sD3AdditionalParams = null; + + /** + * performance, use a class wide instance + * + * @return d3_oxsearch_extsearch|Search + */ + protected function _d3GetSearchHandler() + { + if (!$this->oD3SearchHandler) { + $this->oD3SearchHandler = oxNew(Search::class); + } + + return $this->oD3SearchHandler; + } + + /** + * @return mixed + */ + public function d3getFilterPageId() + { + if ($this->getConfig()->getConfigParam('bl_rssSearch')) { + $sClassNameAdd = 'search##'; + $sIdent = md5(rawurlencode(strtolower(Registry::get(Request::class)->getRequestParameter('searchparam')))); + } else { + $sClassNameAdd = '##'; + $sIdent = Registry::get(Request::class)->getRequestEscapedParameter('cat'); + } + + $sPageId = $sClassNameAdd. + Registry::getLang()->getLanguageAbbr()."##". + Registry::getConfig()->getShopId()."##". + $sIdent; + + return $sPageId; + } + + /** + * @return array + */ + public function getAttributeFilters() + { + if (null == $this->_aSelectedAttributes) { + $oAttributeFilter = $this->d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter(); + $oAttributeFilter->setIgnoreSessionAttributes(true); + $this->_aSelectedAttributes = $oAttributeFilter->getAttributeFilters(); + $oAttributeFilter->setIgnoreSessionAttributes(false); + + $this->addTplParam('aD3AttribFilters', $this->_aSelectedAttributes); + } + + return $this->_aSelectedAttributes; + } + + /** + * @return bool|string + */ + public function getSearchCategory() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getUserSingleSelection(); + } + + public function d3CategoryFilterUseMultipleValues() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->hasUserMultiSelection(); + } + + /** + * @return bool|string + */ + public function getSearchVendor() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getUserSingleSelection(); + } + + public function d3VendorFilterUseMultipleValues() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->hasUserMultiSelection(); + } + + /** + * @return bool|string + */ + public function getSearchManufacturer() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getUserSingleSelection(); + } + + public function d3ManufacturerFilterUseMultipleValues() + { + return $this->d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->hasUserMultiSelection(); + } + + /** + * performance, use a class wide instance + * + * @return d3_search + */ + public function d3GetOwnSearchHandler() + { + if (!$this->oD3OwnSearchHandler) { + $this->oD3OwnSearchHandler = oxNew(d3_search::class); + } + + return $this->oD3OwnSearchHandler; + } +} \ No newline at end of file diff --git a/src/Modules/Application/Controller/d3_vendorlist_extsearch.php b/src/Modules/Application/Controller/d3_vendorlist_extsearch.php new file mode 100644 index 0000000..6c497c7 --- /dev/null +++ b/src/Modules/Application/Controller/d3_vendorlist_extsearch.php @@ -0,0 +1,481 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Application\Controller; + +use D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch; +use D3\Extsearch\Application\Controller\d3_xlist_extsearch; +use D3\Extsearch\Application\Model\d3_search; +use D3\Extsearch\Application\Model\Filters\d3Filter; +use D3\Extsearch\Core\d3_extsearch_conf; +use D3\ModCfg\Application\Model\Configuration\d3_cfg_mod; +use OxidEsales\Eshop\Application\Model\Vendor; +use OxidEsales\Eshop\Application\Model\ManufacturerList; +use OxidEsales\Eshop\Application\Model\VendorList; +use OxidEsales\Eshop\Application\Model\CategoryList; + +class d3_vendorlist_extsearch extends d3_vendorlist_extsearch_parent +{ + /** @var d3_xlist_extsearch */ + protected $_oXListController; + private $_blUseAlistFilter; + + /** + * @return string + */ + public function render() + { + $this->d3GetXListController()->render(); + + return parent::render(); + } + + /** + * @param Vendor $oCategory + * + * @return array + */ + protected function _loadArticles($oCategory) + { + $aRet = parent::_loadArticles($oCategory); + $aKeys = array_keys($aRet); + + $iArtCnt = $aRet[$aKeys[1]]; + + if ($iArtCnt) { + $this->d3GetXListController()->addAListFilters($oCategory); + } + + $this->d3GetXListController()->setTplParams(); + + return $aRet; + } + + /** + * @return bool|string + */ + public function getSearchCategory() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchVendor() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->getUserSingleSelection(); + } + + /** + * @return bool|string + */ + public function getSearchManufacturer() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->getUserSingleSelection(); + } + + /** + * @param string $sUrl + * @param int $iPage + * @param null $iLang + * + * @return string + */ + protected function _addPageNrParam($sUrl, $iPage, $iLang = null) + { + if (false == $this->_d3UseAlistFilters()) { + return parent::_addPageNrParam($sUrl, $iPage, $iLang); + } + + $sUrl = parent::_addPageNrParam($sUrl, $iPage, $iLang); + + $sUrlAdd = $this->getViewDataElement('additionalparams'); + + if ($sUrlAdd) { + $sUrl .= ((strpos($sUrl, '?') === false) ? '?' : '') . $sUrlAdd; + } + + return $sUrl; + } + + /** + * returns additional url params for dynamic url building + * + * @return string + */ + public function getDynUrlParams() + { + $sRet = parent::getDynUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sRet .= $this->d3GetXListController()->d3AddBaseUrlParams($sRet); + } + + return $sRet; + } + + /** + * Returns additional URL parameters which must be added to list products urls + * + * @return string + */ + public function getAddUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sAddParams .= $this->d3GetXListController()->d3AddBaseUrlParams($sAddParams); + } + + return $sAddParams; + } + + /** + * Returns additional URL parameters which must be added to list products seo urls + */ + public function getAddSeoUrlParams() + { + $sAddParams = parent::getAddUrlParams(); + + if ($this->_d3UseAlistFilters()) { + $sAddParams .= $this->d3GetXListController()->d3AddBaseUrlParams($sAddParams); + } + + return $sAddParams; + } + + /** + * Returns array of params => values which are used in hidden forms and as additional url params + * + * @return array + */ + public function getNavigationParams() + { + $aParams = parent::getNavigationParams(); + + $aParams = $this->d3GetXListController()->addNavigationParams($aParams); + + return $aParams; + } + + /** + * @return string + */ + public function getAdditionalParams() + { + $this->_sAdditionalParams = parent::getAdditionalParams(); + + if ($this->d3GetSet()->isActive()) { + $sSeparator = htmlspecialchars(ini_get('arg_separator.output')); + $this->_sAdditionalParams .= $this->d3GetXListController()->getD3AdditionalParams(); + + if (!strstr($this->_sAdditionalParams, $sSeparator.'isextsearch=') + && $this->d3HaveFiltersUserSelection() + ) { + $this->_sAdditionalParams .= $sSeparator.'isextsearch=alist'; + } + } + + return $this->_sAdditionalParams; + } + + /** + * @return bool + */ + public function d3HaveFiltersUserSelection() + { + /** @var d3Filter $oFilter */ + foreach ($this->_d3GetOwnSearchHandler()->getFilterList() as $oFilter) { + if ($oFilter->hasUserSelection()) { + return true; + } + } + + return false; + } + + /** + * @return string + */ + public function d3getFilterPageId() + { + return $this->d3GetXListController()->d3getFilterPageId(); + } + + /** + * @return d3_cfg_mod + */ + public function d3GetSet() + { + return $this->d3GetXListController()->d3GetSet(); + } + + /** + * @return d3_oxsearch_extsearch + */ + protected function _d3GetSearchHandler() + { + return $this->d3GetXListController()->d3GetSearchHandler(); + } + + /** + * @return d3_search + */ + protected function _d3GetOwnSearchHandler() + { + return $this->d3GetXListController()->d3GetOwnSearchHandler(); + } + + /** + * @return CategoryList + */ + public function d3GetCategoryList() + { + return $this->d3GetXListController()->d3GetCategoryList(); + } + + /** + * @return bool + */ + public function d3HasCategoryList() + { + return $this->d3GetXListController()->d3HasCategoryList(); + } + + /** + * @return VendorList + */ + public function d3GetVendorList() + { + return $this->d3GetXListController()->d3GetVendorList(); + } + + /** + * @return bool + */ + public function d3HasVendorList() + { + return $this->d3GetXListController()->d3HasVendorList(); + } + + /** + * @return ManufacturerList + */ + public function d3GetManufacturerList() + { + return $this->d3GetXListController()->d3GetManufacturerList(); + } + + /** + * @return bool + */ + public function d3HasManufacturerList() + { + return $this->d3GetXListController()->d3HasManufacturerList(); + } + + /** + * @return array + */ + public function d3GetAttributeList() + { + return $this->d3GetXListController()->d3GetAttributeList(); + } + + /** + * @return bool + */ + public function d3HasAttributeList() + { + return $this->d3GetXListController()->d3HasAttributeList(); + } + + /** + * @param $sAttrId + * @return bool + */ + public function d3AttributeFilterUseMultipleValues($sAttrId) + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getAttributeFilter()->hasUserMultiSelection($sAttrId); + } + + /** + * @return bool + */ + public function d3CategoryFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getCategoryFilter()->hasUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3VendorFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getVendorFilter()->hasUserMultiSelection(); + } + + /** + * @return bool + */ + public function d3ManufacturerFilterUseMultipleValues() + { + return $this->_d3GetOwnSearchHandler()->getFilterList()->getManufacturerFilter()->hasUserMultiSelection(); + } + + /** + * @return array + */ + public function d3getPriceSteps() + { + return $this->d3GetXListController()->d3getPriceSteps(); + } + + /** + * @return bool + */ + public function d3HasjQuerySlider() + { + return $this->d3GetXListController()->d3HasjQuerySlider(); + } + + /** + * @return string + */ + public function d3GetDeselectValue() + { + return $this->d3GetXListController()->d3GetDeselectValue(); + } + + /** + * @param $sOptionTitle + * @return string + */ + public function d3GetMultipleSelectionTranslation($sOptionTitle) + { + return $this->d3GetXListController()->d3GetMultipleSelectionTranslation($sOptionTitle); + } + + /** + * @return bool + */ + public function d3HasFilters() + { + return $this->d3GetXListController()->d3HasFilters(); + } + + /** + * @return bool + */ + public function d3HasPriceFilter() + { + return $this->d3GetXListController()->d3HasPriceFilter(); + } + + /** + * @return bool + */ + public function d3CanShowPriceFilterSlider() + { + return $this->d3GetXListController()->d3CanShowPriceFilterSlider(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInfoMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInfoMaxValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderInputMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderInputMaxValue(); + } + + /** + * @return array + */ + public function d3getPriceLimits() + { + return $this->d3GetXListController()->d3getPriceLimits(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMinValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMinValue(); + } + + /** + * @return string + */ + public function d3GetPriceSliderOriginalMaxValue() + { + return $this->d3GetXListController()->d3GetPriceSliderOriginalMaxValue(); + } + + public function d3ClearFilter() + { + $this->d3GetXListController()->d3ClearFilter(); + } + + /** + * @return bool + */ + private function _d3UseAlistFilters() + { + if (null === $this->_blUseAlistFilter) { + $this->_blUseAlistFilter = $this->d3GetSet()->isActive() + && ($this->d3GetSet()->getLicenseConfigData(d3_extsearch_conf::SERIAL_BIT_HAS_FILTERS_IN_ALIST, false) || $this->d3GetSet()->isDemo()) + && $this->d3GetSet()->getValue('blExtSearch_useAListFilter'); + } + return $this->_blUseAlistFilter; + } + + /** + * @return d3_xlist_extsearch + */ + public function d3GetXListController() + { + if (false == $this->_oXListController) { + $this->_oXListController = oxNew(d3_xlist_extsearch::class, $this); + } + return $this->_oXListController; + } +} diff --git a/src/Modules/Application/Model/d3_oxarticle_phonetic.php b/src/Modules/Application/Model/d3_oxarticle_phonetic.php new file mode 100644 index 0000000..49ec85e --- /dev/null +++ b/src/Modules/Application/Model/d3_oxarticle_phonetic.php @@ -0,0 +1,132 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Modules/Application/Model/d3_oxarticlelist_extsearch.php b/src/Modules/Application/Model/d3_oxarticlelist_extsearch.php new file mode 100644 index 0000000..e74fcd2 --- /dev/null +++ b/src/Modules/Application/Model/d3_oxarticlelist_extsearch.php @@ -0,0 +1,829 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and 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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 +Ykup/G== \ No newline at end of file diff --git a/src/Modules/Application/Model/d3_oxrssfeed_extsearch.php b/src/Modules/Application/Model/d3_oxrssfeed_extsearch.php new file mode 100644 index 0000000..97aa9a4 --- /dev/null +++ b/src/Modules/Application/Model/d3_oxrssfeed_extsearch.php @@ -0,0 +1,169 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 \ No newline at end of file diff --git a/src/Modules/Application/Model/d3_oxsearch_extsearch.php b/src/Modules/Application/Model/d3_oxsearch_extsearch.php new file mode 100644 index 0000000..6c91b50 --- /dev/null +++ b/src/Modules/Application/Model/d3_oxsearch_extsearch.php @@ -0,0 +1,3768 @@ +1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199); +?> +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 diff --git a/src/Modules/Core/d3_oxutilsview_extsearch.php b/src/Modules/Core/d3_oxutilsview_extsearch.php new file mode 100644 index 0000000..3385cab --- /dev/null +++ b/src/Modules/Core/d3_oxutilsview_extsearch.php @@ -0,0 +1,35 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\Modules\Core; + +use OxidEsales\Eshop\Core\Registry; + +class d3_oxutilsview_extsearch extends d3_oxutilsview_extsearch_parent +{ + /** + * @param \Smarty $oSmarty + * + * @return null|void + */ + protected function _fillCommonSmartyProperties($oSmarty) + { + parent::_fillCommonSmartyProperties($oSmarty); + + $oSmarty->plugins_dir[] = Registry::getConfig()->getActiveView()->getViewConfig()->getModulePath( + 'd3_extsearch' + ) . 'Core/Smarty/Plugins'; + } +} diff --git a/src/build/Gruntfile.js b/src/build/Gruntfile.js new file mode 100644 index 0000000..8f5e3f6 --- /dev/null +++ b/src/build/Gruntfile.js @@ -0,0 +1,13 @@ +module.exports = function(grunt) { + + // measures the time each task takes + require('time-grunt')(grunt); + + var path = require('path'); + + // load grunt config + require('load-grunt-config')(grunt, { + configPath: path.join(process.cwd(), 'grunt'), + }); + +}; \ No newline at end of file diff --git a/src/build/grunt/aliases.yaml b/src/build/grunt/aliases.yaml new file mode 100644 index 0000000..b87d548 --- /dev/null +++ b/src/build/grunt/aliases.yaml @@ -0,0 +1,13 @@ +production: + - "jshint:module" + - "less:module" + - "less:module_unminified" + - "uglify:module" + +development: + - "less:module_sourcemap" + - "less:module_unminified" + - "uglify:module" + +default: + - "production" diff --git a/src/build/grunt/jshint.js b/src/build/grunt/jshint.js new file mode 100644 index 0000000..f8d0d28 --- /dev/null +++ b/src/build/grunt/jshint.js @@ -0,0 +1,18 @@ +module.exports = { + + options: { + curly: true, + eqeqeq: false, + eqnull: true, + browser: true, + globals: { + jQuery: true + } + }, + module: { + src: [ + "sources/js/*.js" + ] + } + +}; diff --git a/src/build/grunt/less.js b/src/build/grunt/less.js new file mode 100644 index 0000000..f761333 --- /dev/null +++ b/src/build/grunt/less.js @@ -0,0 +1,58 @@ +module.exports = { + + options: { + yuicompress: true, + optimization: 2, + plugins: [ + new (require('less-plugin-autoprefix'))({ + browsers: [ + "last 10 versions", + "> 0.2%", + "> 0.1% in DE", + ] + }) + ] + }, + + module: { + options: { + sourceMap: false, + sourceMapFileInline: false, + compress: true, + }, + files: { + "../out/src/css/d3extsearch_allthemes.min.css": "sources/less/styles_allthemes.less", + "../out/src/css/d3extsearch_flow.min.css": "sources/less/styles_flow.less", + "../out/src/css/d3extsearch_azure.min.css": "sources/less/styles_azure.less", + "../out/src/css/d3extsearch_mobile.min.css": "sources/less/styles_mobile.less", + "../out/src/css/d3extsearch_slider.min.css": "sources/less/styles_slider.less", + } + }, + + module_sourcemap: { + options: { + sourceMap: true, + sourceMapFileInline: true, + compress: true, + }, + files: { + "../out/src/css/d3extsearch_allthemes.min.css": "sources/less/styles_allthemes.less", + "../out/src/css/d3extsearch_flow.min.css": "sources/less/styles_flow.less", + "../out/src/css/d3extsearch_azure.min.css": "sources/less/styles_azure.less", + "../out/src/css/d3extsearch_mobile.min.css": "sources/less/styles_mobile.less", + "../out/src/css/d3extsearch_slider.min.css": "sources/less/styles_slider.less", + } + }, + + module_unminified: { + options: { + sourceMap: false, + sourceMapFileInline: false, + compress: false, + }, + files: { + "../out/src/css/d3extsearch_allthemes.css": "sources/less/styles_allthemes.less", + } + }, + +}; diff --git a/src/build/grunt/uglify.js b/src/build/grunt/uglify.js new file mode 100644 index 0000000..9180b83 --- /dev/null +++ b/src/build/grunt/uglify.js @@ -0,0 +1,22 @@ +module.exports = { + + options: { + preserveComments: 'some' + }, + + module: { + options: { + sourceMap: false, + }, + files: [ + { + expand: true, + src: "*.js", + cwd: "sources/js/", + dest: "../out/src/js/", + ext: ".min.js", + extDot: "last" + } + ] + }, +}; diff --git a/src/build/grunt/watch.js b/src/build/grunt/watch.js new file mode 100644 index 0000000..369c90a --- /dev/null +++ b/src/build/grunt/watch.js @@ -0,0 +1,8 @@ +module.exports = { + + development: { + files: [ "sources/**/*.js", "sources/**/*.less" ], + tasks: [ "development" ] + } + +}; \ No newline at end of file diff --git a/src/build/package.json b/src/build/package.json new file mode 100644 index 0000000..b8e0a4e --- /dev/null +++ b/src/build/package.json @@ -0,0 +1,18 @@ +{ + "name": "D3_Extsearch", + "version": "1.0.0", + "description": "", + "main": "Gruntfile.js", + "keywords": [], + "author": "D3 Data Development (Inh. Thomas Dartsch)", + "devDependencies": { + "grunt": "^0.4.5", + "grunt-contrib-jshint": "^0.11.2", + "grunt-contrib-less": "^1.0.1", + "grunt-contrib-uglify": "^0.9.1", + "grunt-contrib-watch": "^0.6.1", + "less-plugin-autoprefix": "^1.5.1", + "load-grunt-config": "^0.17.1", + "time-grunt": "^1.1.1" + } +} diff --git a/src/build/sources/js/d3extsearch.js b/src/build/sources/js/d3extsearch.js new file mode 100644 index 0000000..2e91eaa --- /dev/null +++ b/src/build/sources/js/d3extsearch.js @@ -0,0 +1,444 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @license + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ + +$( function() { + $.widget( "ui.d3extsearchsuggest", { + // default options + options: { + currentEvent: null, + oAjaxResponseElement: null, + isSend: 0, + coloredId: null, + oldColoredId: null, + iActLine: null, + iCode: null, + blNavigate: null, + iRet: null, + sSelection: null, + oSelection: null, + iDelay: 600, // delay before submit to server, if is already submitted + sD3SearchBoxDefault: "", + sWaitMessage: "", + sParentThemeId: "flow", + sRequestUrl: null, + sSearchFormId: "search", + sCloseBtnId: "d3extsearch_suggest_closebtn", + sResultListId: "#searchItemList", + sResultItemClass: ".d3QSItem", + sStartSearchButtonId: "d3extsearch_suggest_startsearch", + sResponseElementId: "xajax_resp", + sResponseElementClass: "xajax_resp_cl", + sWaitMsgIdentificator: "#d3_extsearch_quicksearch.searchWaitMsg", + sRequestFncName: "getSuggestContent", + sSearchParamName: "searchParam", + sActClassName: "item_act", + sInactClassName: "item_inact", + sActiveElementStyleDisplay: "block", + sActiveElementStyleTop: null, + sActiveElementStyleLeft: null, + blAutomatedActiveElementStyleWidth: false, + sActiveElementStyleWidth: null, + iScrollTopOffset: 29, + blEnableLeftRightNavigation: true, + blToggleLeftRightDirection: false + }, + + _create: function () { + var self = this; + var el = this.element; + var options = this.options; + + this.addResponseElement(); + el.keyup(function(event) { + self.keyHandler(event); + }); + $("#" + options.sSearchFormId).submit(function(event) { + self.keyHandler(event); + }); + }, + + addResponseElement: function () { + var options = this.options; + var ResponseElement = $("#" + options.sResponseElementId); + if (ResponseElement.length === 0) { + options.oAjaxResponseElement = $("
", { + "id": options.sResponseElementId, + "class": options.sResponseElementClass + " xajax_resp_" + options.sParentThemeId + }).appendTo("body"); + } else { + options.oAjaxResponseElement = ResponseElement; + } + }, + + mouseHandler: function (elementId, iLine) { + var options = this.options; + options.oldColoredId = options.coloredId; + options.coloredId = elementId; + options.iActLine = iLine; + options.blNavigate = true; + this.changeResultItemColor(options.coloredId, options.oldColoredId); + }, + + keyHandler: function (event) { + event.preventDefault(); + var options = this.options; + options.currentEvent = event; + var isSubmitEvent = event.type.toLowerCase() === "submit"; + var sKey = isSubmitEvent ? "Enter" : event.key; + + if (isSubmitEvent || options.oAjaxResponseElement.is(":visible")) { + if (sKey.toLowerCase() === "arrowup") { + this.handleArrowUpKey(); + } else if ( + (sKey.toLowerCase() === "arrowleft" || sKey.toLowerCase() === "pageup") && options.blEnableLeftRightNavigation + ) { + this.handleArrowLeftKey(); + } else if ( + (sKey.toLowerCase() === "arrowright" || sKey.toLowerCase() === "pagedown") && options.blEnableLeftRightNavigation + ) { + this.handleArrowRightKey(); + } else if (sKey.toLowerCase() === "arrowdown") { + this.handleArrowDownKey(); + } else if (sKey.toLowerCase() === "enter") { + if (options.blNavigate) { // if suggest search window is open + this.handleEnterKeyOnSelectedItem(); + } else { + this.handleEnterKeyWithoutSelectedItem(); + } + } else if (sKey.toLowerCase() === "escape") { + this.handleEscapeKey(); + } else { + this.handleOtherKeys(); + } + } else { // there's no suggest search window + this.showSuggestWindow(); + } + }, + + handleArrowUpKey: function () { + var options = this.options; + if (options.iActLine > 0) { + options.iActLine--; + } + if (options.coloredId) { + options.oldColoredId = options.coloredId; + } + options.blNavigate = true; + options.coloredId = this.getResultItemIdByLine(options.iActLine); + this.changeResultItemColor(options.coloredId, options.oldColoredId); + }, + + handleArrowDownKey: function () { + var options = this.options; + var iNodesCount = this.getResultItemCount(); + + if (options.iActLine < iNodesCount - 1) { + options.iActLine++; + } + + if (options.coloredId) { + options.oldColoredId = options.coloredId; + } + options.blNavigate = true; + options.coloredId = this.getResultItemIdByLine(options.iActLine); + this.changeResultItemColor(options.coloredId, options.oldColoredId); + }, + + handleArrowLeftKey: function () { + var options = this.options; + var iIndex = null; + var iDirection = null; + var aTypes = this.getTypesList(); + + if (options.iActLine < 0) { + iIndex = 0; + iDirection = 0; + } else { + var sCurrType = $("#" + this.getResultItemIdByLine(options.iActLine)).attr("data-object-type"); + if (sCurrType !== null) { + if (sCurrType && sCurrType.length && aTypes.length > 1) { + iIndex = $.inArray(sCurrType, aTypes); + iDirection = options.blToggleLeftRightDirection ? 1 : -1; + } + } else { + console.error("selected item has no data-object-type attribute, can not switch to next group"); + } + } + + if (iIndex !== null) { + var sNewType = aTypes[iIndex + iDirection]; + var sElementId = this.findFirstElementIdByObjectType(sNewType); + if (sElementId !== null) { + if (options.coloredId) { + options.oldColoredId = options.coloredId; + } + options.coloredId = sElementId; + this.changeResultItemColor(options.coloredId, options.oldColoredId); + options.oldColoredId = options.coloredId; + } + } + }, + + handleArrowRightKey: function () { + var options = this.options; + var iIndex = null; + var iDirection = null; + var aTypes = this.getTypesList(); + + if (options.iActLine < 0) { + iIndex = 0; + iDirection = 0; + } else { + var sCurrType = $("#" + this.getResultItemIdByLine(options.iActLine)).attr("data-object-type"); + if (sCurrType) { + if (sCurrType && sCurrType.length && aTypes.length > 1) { + iIndex = $.inArray(sCurrType, aTypes); + iDirection = options.blToggleLeftRightDirection ? -1 : 1; + } + } else { + console.error("selected item has no data-object-type attribute, can not switch to next group"); + } + } + + if (iIndex !== null) { + var sNewType = aTypes[iIndex + iDirection]; + var sElementId = this.findFirstElementIdByObjectType(sNewType); + if (sElementId) { + if (options.coloredId) { + options.oldColoredId = options.coloredId; + } + options.coloredId = sElementId; + this.changeResultItemColor(options.coloredId, options.oldColoredId); + options.oldColoredId = options.coloredId; + } + } + }, + + getTypesList: function () { + var types = []; + this.getResultItemListElement().each(function () { + var objecttype = $(this).attr("data-object-type"); + if (objecttype) { + if (objecttype.length && $.inArray(objecttype, types) < 0) { + types.push(objecttype); + } + } else { + console.error("no data-object-type attributes for grouping found"); + } + }); + return types; + }, + + findFirstElementIdByObjectType: function (sType) { + var options = this.options; + var sId = null; + this.getResultItemListElement().each(function (index) { + if ($(this).attr("data-object-type") === sType) { + options.iActLine = index; + sId = $(this).attr("id"); + return false; + } + }); + + return sId; + }, + + handleEnterKeyOnSelectedItem: function () { + var options = this.options; + var element = $("#" + this.getResultItemIdByLine(options.iActLine)); + window.location.href = element.attr("href"); + }, + + handleEnterKeyWithoutSelectedItem: function () { + var options = this.options; + + if (options.isSend) { + window.clearTimeout(options.isSend); + options.oAjaxResponseElement.hide(); + } + var searchFormElement = $("#" + options.sSearchFormId); + searchFormElement.off("submit"); + searchFormElement.submit(); + }, + + handleEscapeKey: function () { + var options = this.options; + options.oAjaxResponseElement.hide(); + }, + + handleOtherKeys: function () { + var options = this.options; + var event = options.currentEvent; + var sKey = event.key; + + if (sKey !== "ArrowLeft" && sKey !== "ArrowRight") { + this.showSuggestWindow(); + } + }, + + showSuggestWindow: function () { + var options = this.options; + + if (options.currentEvent.key.toLowerCase() === "enter") { + return; + } + + if ($(options.sWaitMsgIdentificator).length === 0) { + this.showWaitMessage(); + options.isSend = window.setTimeout(this.showResult(), 0); + } else { + this.showWaitMessage(); + if (options.isSend) { + window.clearTimeout(options.isSend); + } + options.isSend = window.setTimeout(this.showResult(), options.iDelay); + } + + return null; + }, + + showWaitMessage: function () { + var options = this.options; + options.oAjaxResponseElement.html($("
").html(options.sWaitMessage).text()); + this.setResponseElementStyle(); + }, + + showResult: function () { + var options = this.options; + var el = this.element; + var self = this; + // don't use oD3SearchJQ.ajax, because it sends one letter per request + $.get(options.sRequestUrl + "fnc=" + options.sRequestFncName + "&" + options.sSearchParamName + "=" + el.val(), function (text) { + options.oAjaxResponseElement.html(text); + self.setItemsMouseHandler(); + self.setResponseElementStyle(); + self.setStartSearchButtonHandler(); + }); + + options.iActLine = -1; + options.coloredId = -1; + options.oldColoredId = -1; + + options.blNavigate = false; + }, + + setResponseElementStyle: function () { + var options = this.options; + var el = this.element; + + function ResponseStyles() { + this.top = options.sActiveElementStyleTop ? + options.sActiveElementStyleTop : + (el.offset().top + ( el.height() + 5 ) + "px"); + this.left = options.sActiveElementStyleLeft ? + options.sActiveElementStyleLeft : + (el.offset().left + "px"); + if (options.blAutomatedActiveElementStyleWidth) { + this.width = options.sActiveElementStyleWidth ? + options.sActiveElementStyleWidth : + (el.width() + "px"); + } + } + + options.oAjaxResponseElement.show().css(new ResponseStyles()).click(function(event){ // required to prevent close on inside click + event.stopPropagation(); + }); + this.element.click(function(event) { + event.stopPropagation(); + }); + $("body").click(function() { + options.oAjaxResponseElement.hide(); + }); + $("#" + options.sCloseBtnId).click(function(event) { + event.stopPropagation(); + options.oAjaxResponseElement.hide(); + }); + + }, + + getResultItemListElement: function () { + var options = this.options; + return $(options.sResultListId).find("a" + options.sResultItemClass); + }, + + getResultItemCount: function () { + return this.getResultItemListElement().length; + }, + + getResultItemIdByLine:function (iLine) { + var iRet = null; + this.getResultItemListElement().each(function (index, value) { + if (index === iLine) { + iRet = $(this).attr("id"); + } + }); + + return iRet; + }, + + changeResultItemColor: function (newId, oldId) { + var options = this.options; + + if (oldId !== -1 && oldId !== newId) { + // don't use toggleClass, because this method is to slow for this case + $("#" + oldId).addClass(options.sInactClassName).removeClass(options.sActClassName); + } + + if (oldId !== newId) { + $("#" + newId).addClass(options.sActClassName).removeClass(options.sInactClassName); + } + + this.scrollToSelectedElement(newId); + }, + + scrollToSelectedElement: function (elementId) { + var options = this.options; + var currentEvent = options.currentEvent; + var itemElement = $("#" + elementId); + + // if list doesn't exist or event is mouse event + if (itemElement.length === 0 || currentEvent.type.toLowerCase().indexOf("mouse") >= 0) { + return; + } + + var listElement = $(options.sResultListId); + var iPosition = itemElement.position().top + listElement.scrollTop() - options.iScrollTopOffset; + listElement.stop(true).animate({ + scrollTop: iPosition + }, "slow"); + }, + + setItemsMouseHandler: function () { + var self = this; + var options = this.options; + this.getResultItemListElement().each(function (index) { + $(this).mouseover(function(event) { + options.currentEvent = event; + var sElementId = self.getResultItemIdByLine(index); + self.mouseHandler(sElementId, index); + }); + }); + }, + + setStartSearchButtonHandler: function () { + var self = this; + var options = this.options; + + $("#" + options.sStartSearchButtonId).click(function(event) { + event.preventDefault(); + self.handleEnterKeyWithoutSelectedItem(); + }); + } + }); +}(jQuery)); \ No newline at end of file diff --git a/src/build/sources/js/d3extsearch_ias.js b/src/build/sources/js/d3extsearch_ias.js new file mode 100644 index 0000000..95e4a88 --- /dev/null +++ b/src/build/sources/js/d3extsearch_ias.js @@ -0,0 +1,91 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @license + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ + +$( function() { + $.widget( "ui.d3extsearchias", { + // default options + options: { + sElementId: "IAS_box", + sInputElementId: "IAS_input", + sCloseElementId: "IAS_closebtn", + iPosOffset: 10, // in px + sLastSelection: "", + iDelay: 600, // in ms between click outside and deactivating of the box + oClearWnd: null + }, + + _create: function () { + var self = this; + var el = this.element; + var options = this.options; + + $("#" + options.sElementId).mouseup(function(event) { + event.stopPropagation(); + }); + $("body").mouseup(function(event) { + self.checkIasWindow(event); + }); + $("#" + options.sCloseElementId).click(function() { + self.clearIasWindow(); + }); + }, + + showIasWindow: function (event) { + var options = this.options; + var oIASBoxElement = $("#" + options.sElementId); + var oIASInputElement = $("#" + options.sInputElementId); + if (oIASBoxElement.length) { + var sSelection = this.getSelection(); + if (sSelection !== options.sLastSelection && sSelection.length > 0) { + oIASBoxElement.show().css({ + "top":event.pageY + options.iPosOffset + "px", + "left":event.pageX + options.iPosOffset + "px" + }); + oIASInputElement.val(sSelection); + options.sLastSelection = sSelection; + } + } + }, + + checkIasWindow: function (event) { + if (this.getSelection()) { + this.showIasWindow(event); + } else { + this.clearIasWindow(); + } + }, + + clearIasWindow: function () { + var options = this.options; + $("#" + options.sElementId).hide(); + options.sLastSelection = ""; + }, + + getSelection: function () { + var oSelection; + if (window.getSelection) { + oSelection = window.getSelection(); + } else if (document.getSelection) { + // NC compatible + oSelection = document.getSelection(); + } else if (document.selection) { + // IE compatible + oSelection = document.selection.createRange().text; + } + + return oSelection.toString(); + } + }); +}(jQuery)); + diff --git a/src/build/sources/js/d3extsearch_slider.js b/src/build/sources/js/d3extsearch_slider.js new file mode 100644 index 0000000..60268dc --- /dev/null +++ b/src/build/sources/js/d3extsearch_slider.js @@ -0,0 +1,91 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @license + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ + +(function ( $ ) +{ + d3extsearchslider = { + options: { + fieldMinId: "d3extsearch_PriceFilterfieldMinId", + fieldMaxId: "d3extsearch_PriceFilterfieldMaxId", + infoMinId: "d3extsearch_PriceFilterPriceInfoMinId", + infoMaxId: "d3extsearch_PriceFilterPriceInfoMaxId", + formId: "d3searchfilterform", + }, + + _create: function () + { + var self = this; + var options = self.options; + var el = self.element; + + if (typeof options.limitMin !== "undefined") { + $('input#' + options.fieldMinId + ',input#' + options.fieldMaxId).hide(); + $(el).slider( + { + range: true, + min: options.limitMin, + max: options.limitMax, + step: 100, + values: [options.stepsMin, options.stepsMax], + slide: function (e, ui) { + $("#" + options.infoMinId).html( + $(el).slider( + "option", + "values" + )[0] / 100 + ); + $("#" + options.infoMaxId).html( + $(el).slider( + "option", + "values" + )[1] / 100 + ); + }, + change: function (e, ui) { + $("input#" + options.fieldMinId).val( + $(el).slider( + "option", + "values" + )[0] / 100 + ); + $("input#" + options.fieldMaxId).val( + $(el).slider( + "option", + "values" + )[1] / 100 + ); + $("#" + options.infoMinId).html( + $(el).slider( + "option", + "values" + )[0] / 100 + ); + $("#" + options.infoMaxId).html( + $(el).slider( + "option", + "values" + )[1] / 100 + ); + d3_extsearch_popup.popup.load(); + $("form#" + options.formId).submit(); + } + } + ); + } + } + }; + + $.widget( "ui.d3extsearchslider", d3extsearchslider ); + +})( jQuery ); diff --git a/src/build/sources/less/layout/default.less b/src/build/sources/less/layout/default.less new file mode 100644 index 0000000..1219840 --- /dev/null +++ b/src/build/sources/less/layout/default.less @@ -0,0 +1,82 @@ +body { + .product strong.h3 #similar { + font-weight: normal; + color: @d3_color_gray_medium; + } + + @import "filters"; + + @import "suggest"; + + @import "iasbox"; +} + +#d3extsearch_mask { + display: none; + visibility: hidden; + + &.on { + z-index: 1500; + width: 100%; + visibility: visible; + top: 0; + position: fixed; + .opacity(0.7); + left: 0; + height: 100%; + display: block; + background-color: @d3_color_background_black; + } +} + +#d3extsearch_message { + &:extend(#d3extsearch_mask); +} + +#similar { + padding-left: 10px; + color: @d3_color_gray_medium; +} + +#d3extsearch_message { + &.d3extsearch_popup { + &.load { + &.on { + color: @d3_color_text_white; + text-align: center; + font-size: 18px; + z-index: 2000; + width: 270px; + visibility: visible; + top: 50%; + position: fixed; + padding: 20px 10px 10px 10px; + margin: -75px 0 0 -135px; + left: 50%; + height: 62px; + display: block; + border: 0 solid @d3_color_azure_dark; + background: linear-gradient(@d3_color_azure_light, @d3_color_azure_medium, @d3_color_azure_dark) repeat scroll 0 0 rgba(0, 0, 0, 0); + .text-shadow(0 -1px 0 @d3_color_azure_dark); + .border-radius(5px); + } + } + } +} + +.dropdown-menu .dropdown-option div { + background-color: @d3_color_background_white; + color: @d3_color_gray_medium; + cursor: default; + display: block; + padding: 8px 5px; + white-space: normal; +} + +.d3extsearch_highlight { + color: @d3_color_red; +} + +.filterselector.filterselector_hidden { + display: none; +} diff --git a/src/build/sources/less/layout/filters.less b/src/build/sources/less/layout/filters.less new file mode 100644 index 0000000..f87428b --- /dev/null +++ b/src/build/sources/less/layout/filters.less @@ -0,0 +1,173 @@ +.d3_extsearch_navigation { + &.baseframe { + float: none; + clear: both; + font-size: 10px; + width: 748px; + + &.fit { + height: 21px; + margin: 0; + } + } + + .indexlink, + .indexlink_usable { + .border-radius(3px 3px 0 0); + font-size: 11px; + height: 16px; + color: @d3_color_index; + border: 1px solid @d3_color_index; + border-bottom-style: none; + padding: 2px; + text-align: center; + float: left; + } + + .indexlink { + min-width: 13px; + } + + .indexlink_usable { + background-color: @d3_color_gray_light; + border-color: @d3_color_gray_medium; + min-width: 9px; + } + + .headline { + background: @d3_color_gray_light none repeat scroll 0 0; + border: 1px solid @d3_color_gray_medium; + border-left: 8px solid @d3_color_gray_medium; + border-bottom-style: none; + color: @d3_color_gray_dark; + padding: 5px 5px 8px 7px; + width: 727px; + margin: 0; + font-size: 11px; + } + + .message { + padding: 5px; + border: 1px solid @d3_color_gray_medium; + font-weight: bold; + } + + .list { + border: 1px solid @d3_color_gray_medium; + border-top-style: none; + padding: 8px 5px 8px 7px; + + .fullitem { + float: none; + clear: both; + width: 100%; + text-align: center; + margin: 5px; + } + + .item { + float: left; + font-size: 12px; + margin-bottom: 4px; + padding: 2px 14px; + + select { + width: 100%; + } + + option.desc { + background-color: @d3_color_gray_light; + text-align: center; + } + + option.highlight { + background-color: @d3_color_gray_light; + } + } + + .clearitem { + float: none; + clear: both; + } + } + + .list_link { + background: transparent url("@{d3_imgpath_bg}/oxid.gif") no-repeat scroll 0 -298px; + padding-left: 14px; + padding-top: 2px; + } + + .active { + background-color: @d3_color_azure_dark; + color: @d3_color_text_white; + + a { + color: @d3_color_text_white; + } + } + + a.search_results_list_link { + font-size: 10px; + } + + .buttonframe { + text-align: center; + padding-top: 5px; + } + + .button { + border: 1px solid @d3_color_gray_medium; + padding: 2px; + } + + .login_button { + border: 1px solid @d3_color_gray_light; + } + + .letter_all { + width: 22px; + border-left: solid 1px; + } +} + +#d3searchfilterform { + .fullitem { + &:extend(body .d3_extsearch_navigation .list .fullitem); + } + + .item { + margin-bottom: 10px; + + &:extend(body .d3_extsearch_navigation .list .item); + + select { + &:extend(body .d3_extsearch_navigation .list .item select); + } + + option.desc { + &:extend(body .d3_extsearch_navigation .list .item option.desc); + } + } +} + +.ui-widget-content { + .ui-state-default#d3extsearch_priceslider1, + .ui-state-default#d3extsearch_priceslider2 { + border: none; + background: no-repeat transparent; + height: 17px; + width: 11px; + } + + .ui-state-default#d3extsearch_priceslider1 { + background-image: url("@{d3_imgpath_img}/extsearch_slider_left.png"); + } + + .ui-state-default#d3extsearch_priceslider2 { + background-image: url("@{d3_imgpath_img}/extsearch_slider_right.png"); + } +} + +div#page.pageLayout .d3_extsearch_navigation .list { + .border-radius(0 0 3px 3px); +} \ No newline at end of file diff --git a/src/build/sources/less/layout/iasbox.less b/src/build/sources/less/layout/iasbox.less new file mode 100644 index 0000000..a9180c6 --- /dev/null +++ b/src/build/sources/less/layout/iasbox.less @@ -0,0 +1,46 @@ +.IAS_box { + .border-radius(3px); + .box-shadow(4px 4px 4px @d3_color_iasbox_shadow); + height: 70px; + width: 200px; + background-color: @d3_color_background_white; + position: absolute; + left: 50px; + top: 50px; + display: none; + z-index: 1000; + border: 2px solid @d3_color_iasbox; + + input, + span { + margin: 3px; + width: 185px; + } + + span { + float: right; + margin-top: 0; + + input { + margin: 0; + width: 100px; + float: right; + text-align: center; + } + } + + .headline { + background-color: @d3_color_iasbox; + color: @d3_color_text_white; + font-weight: bold; + + .closebtn { + cursor: pointer; + float: right; + border: 1px outset @d3_color_border_black; + padding: 0 3px; + font-size: 8px; + line-height: 10px; + } + } +} \ No newline at end of file diff --git a/src/build/sources/less/layout/suggest.less b/src/build/sources/less/layout/suggest.less new file mode 100644 index 0000000..0dff009 --- /dev/null +++ b/src/build/sources/less/layout/suggest.less @@ -0,0 +1,158 @@ +.xajax_resp_cl { + display: none; + position: absolute; + z-index: 20000; + width: 500px; +} + +#d3_extsearch_quicksearch { + .box-shadow(4px 4px 4px @d3_color_gray_dark); + background-color: @d3_color_background_white; + border: 1px solid @d3_color_border_black; + width: 100%; + + .headline { + position: relative; + color: @d3_color_background_white; + background-color: @d3_color_azure_dark; + border-bottom: 1px solid @d3_color_border_black; + padding: 3px; + font-weight: bold; + text-align: left; + font-size: 11px; + } + + .closebtn { + position: absolute; + right: 3px; + top: 1px; + cursor: pointer; + float: right; + border: 0 outset @d3_color_border_black; + padding: 0 0; + background: url("@{d3_imgpath_bg}/d3extsearch_close.gif") no-repeat scroll 0 0 transparent; + height: 18px; + width: 20px; + } + + .list { + max-height: 300px; + overflow: auto; + + .articlebox, + .categorybox, + .vendorbox, + .contentbox, + .manufacturerbox { + width: 100%; + padding: 10px; + } + + &.hasCategoryItems .articlebox, + &.hasManufacturerItems .articlebox, + &.hasVendorItems .articlebox, + &.hasContentItems .articlebox { + width: 70%; + float: left; + clear: left; + border-right: 1px solid @d3_color_gray_medium; + .box-sizing(border-box); + } + + &.hasArticleItems { + .categorybox, + .manufacturerbox, + .vendorbox, + .contentbox { + width: 30%; + float: right; + clear: right; + .box-sizing(border-box); + } + } + } + + .item_inact, + .item_act { + cursor: pointer; + clear: both; + padding: 4px 3px; + background-color: @d3_color_background_white; + text-align: left; + width: 100%; + color: @d3_color_text_black; + text-decoration: none; + font-size: 11px; + display: block; + overflow: hidden; + + .imgframe { + float: left; + margin-right: 10px; + border: 1px solid @d3_color_gray_light; + height: 52px; + width: 52px; + background-color: @d3_color_background_white; + text-align: center; + + img { + text-align: center; + max-width: 50px; + max-height: 50px; + } + } + } + + .item_act { + background-color: @d3_color_suggest_item_active; + color: @d3_color_text_white; + } + + a:hover { + &.item_inact { + color: @d3_color_text_black; + text-decoration: none; + } + + &.item_act { + color: @d3_color_text_white; + text-decoration: none; + } + } + + .d3_extsearch_footer { + background-color: @d3_color_azure_dark; + border-top: 1px solid @d3_color_border_black; + color: @d3_color_text_white; + display: block; + height: 19px; + + &:hover { + background-color: @d3_color_azure_medium; + } + } + + .d3_extsearch_footer a { + padding: 3px; + display: table; + background: none repeat scroll 0 0 transparent; + border: medium none; + color: @d3_color_text_white; + width: 344px; + + &:hover { + text-decoration: none; + color: @d3_color_text_black; + width: 344px; + } + } + + .d3extsearch_suggest h3 { + font-size: 12px; + line-height: 12px; + margin: 5px 0; + font-weight: bold; + border-bottom: 1px solid @d3_color_gray_medium; + padding-bottom: 5px; + } +} \ No newline at end of file diff --git a/src/build/sources/less/ressources/copyright.less b/src/build/sources/less/ressources/copyright.less new file mode 100644 index 0000000..771d4fb --- /dev/null +++ b/src/build/sources/less/ressources/copyright.less @@ -0,0 +1,12 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ \ No newline at end of file diff --git a/src/build/sources/less/ressources/includes.less b/src/build/sources/less/ressources/includes.less new file mode 100644 index 0000000..8378d36 --- /dev/null +++ b/src/build/sources/less/ressources/includes.less @@ -0,0 +1,3 @@ +@d3_oxid_path: "../../../../../../Application/views/@{d3_current_theme_folder}/build/less"; + +@import (reference) "@{d3_oxid_path}/flow"; diff --git a/src/build/sources/less/ressources/mixins.less b/src/build/sources/less/ressources/mixins.less new file mode 100644 index 0000000..e69de29 diff --git a/src/build/sources/less/ressources/mixins_lib.less b/src/build/sources/less/ressources/mixins_lib.less new file mode 100644 index 0000000..b0b5544 --- /dev/null +++ b/src/build/sources/less/ressources/mixins_lib.less @@ -0,0 +1,31 @@ +.text-shadow (@string: 0 1px 3px rgba(0, 0, 0, 0.25)) { + text-shadow: @string; +} + +.box-shadow (@string) { + -webkit-box-shadow: @string; + -moz-box-shadow: @string; + box-shadow: @string; +} + +.box-sizing (@type: border-box) { + -webkit-box-sizing: @type; + -moz-box-sizing: @type; + box-sizing: @type; +} + +.border-radius (@radius: 5px) { + -webkit-border-radius: @radius; + -moz-border-radius: @radius; + border-radius: @radius; + + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} + +.opacity (@opacity: 0.5) { + -webkit-opacity: @opacity; + -moz-opacity: @opacity; + opacity: @opacity; +} \ No newline at end of file diff --git a/src/build/sources/less/ressources/variables.less b/src/build/sources/less/ressources/variables.less new file mode 100644 index 0000000..d44f1c3 --- /dev/null +++ b/src/build/sources/less/ressources/variables.less @@ -0,0 +1,43 @@ +// *** paths *** + +@d3_current_theme_folder: "flow"; +@d3_imgpath_bg: "../bg"; +@d3_imgpath_img: "../../img"; + +// *** theme dependend class name + +@d3_class_themeid: flow; + +// *** colors *** + +@d3_color_white: #FFF; +@d3_color_gray_light: #E2E2E2; +@d3_color_gray_medium: #999; +@d3_color_gray_dark: #545454; +@d3_color_black: #000; +@d3_color_orange: @brand-secondary; +@d3_color_red: #D11104; +@d3_color_azure_light: lighten(@d3_color_azure_medium, 10%); +@d3_color_azure_medium: @brand-primary; +@d3_color_azure_dark: darken(@d3_color_azure_medium, 10%); + +@d3_transparency_shadow: 60%; + +// *** elements *** + +@d3_color_text_black: @d3_color_black; +@d3_color_text_white: @d3_color_white; +@d3_color_border_black: @d3_color_black; +@d3_color_border_white: @d3_color_white; +@d3_color_background_black: @d3_color_black; +@d3_color_background_white: @d3_color_white; + +@d3_color_suggest_item_active: @d3_color_orange; + +@d3_color_index: @d3_color_gray_light; + +@d3_color_iasbox: @d3_color_orange; +@d3_color_iasbox_shadow: @d3_color_gray_dark; + +@d3_color_suggestbox_shadow: fade(@d3_color_azure_medium, @d3_transparency_shadow); + diff --git a/src/build/sources/less/styles_allthemes.less b/src/build/sources/less/styles_allthemes.less new file mode 100644 index 0000000..3b50106 --- /dev/null +++ b/src/build/sources/less/styles_allthemes.less @@ -0,0 +1,11 @@ +@import (inline) "ressources/copyright.less"; +@import "ressources/includes"; + +@import "ressources/mixins_lib"; +@import "ressources/variables"; +@import "ressources/mixins"; + +@import "layout/default"; +@import "themes/mobile"; +@import "themes/azure"; +@import "themes/flow"; \ No newline at end of file diff --git a/src/build/sources/less/styles_azure.less b/src/build/sources/less/styles_azure.less new file mode 100644 index 0000000..015bb95 --- /dev/null +++ b/src/build/sources/less/styles_azure.less @@ -0,0 +1,9 @@ +@import (inline) "ressources/copyright.less"; +@import "ressources/includes"; + +@import "ressources/mixins_lib"; +@import "ressources/variables"; +@import "ressources/mixins"; + +@import "layout/default"; +@import "themes/azure"; \ No newline at end of file diff --git a/src/build/sources/less/styles_flow.less b/src/build/sources/less/styles_flow.less new file mode 100644 index 0000000..7a1da79 --- /dev/null +++ b/src/build/sources/less/styles_flow.less @@ -0,0 +1,9 @@ +@import (inline) "ressources/copyright.less"; +@import "ressources/includes"; + +@import "ressources/mixins_lib"; +@import "ressources/variables"; +@import "ressources/mixins"; + +@import "layout/default"; +@import "themes/flow"; \ No newline at end of file diff --git a/src/build/sources/less/styles_mobile.less b/src/build/sources/less/styles_mobile.less new file mode 100644 index 0000000..4b1904e --- /dev/null +++ b/src/build/sources/less/styles_mobile.less @@ -0,0 +1,9 @@ +@import (inline) "ressources/copyright.less"; +@import "ressources/includes"; + +@import "ressources/mixins_lib"; +@import "ressources/variables"; +@import "ressources/mixins"; + +@import "layout/default"; +@import "themes/mobile"; \ No newline at end of file diff --git a/src/build/sources/less/styles_slider.less b/src/build/sources/less/styles_slider.less new file mode 100644 index 0000000..ca228f0 --- /dev/null +++ b/src/build/sources/less/styles_slider.less @@ -0,0 +1,253 @@ +@import "ressources/variables"; +/*! + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +@import "ressources/includes"; + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} + +.ui-helper-hidden-accessible { + position: absolute !important; + clip: rect(1px 1px 1px 1px); +} + +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} + +.ui-helper-clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.ui-helper-clearfix { + display: inline-block; +} + +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { + height: 1%; +} + +.ui-helper-clearfix { + display: block; +} + +/* end clearfix */ +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter: ~"Alpha(Opacity = 0)"; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px + */ + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Verdana, Arial, sans-serif; + font-size: 1.1em; +} + +.ui-widget .ui-widget { + font-size: 1em; +} + +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { + font-family: Verdana, Arial, sans-serif; + font-size: 1em; +} + +.ui-widget-content { + border: 1px solid #aaaaaa; + background: #ffffff 50% 50% repeat-x; + color: #222222; +} + +.ui-widget-content a { + color: #222222; +} + +.ui-widget-header { + border: 1px solid #aaaaaa; + background: #cccccc 50% 50% repeat-x; + color: #222222; + font-weight: bold; +} + +.ui-widget-header a { + color: #222222; +} + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + -khtml-border-top-left-radius: 4px; + border-top-left-radius: 4px; +} + +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + -khtml-border-top-right-radius: 4px; + border-top-right-radius: 4px; +} + +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + -khtml-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + -khtml-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { + position: relative; + text-align: left; +} + +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} + +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +.ui-slider-horizontal { + height: .8em; +} + +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} + +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} + +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} + +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} + +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} + +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} + +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} + +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} \ No newline at end of file diff --git a/src/build/sources/less/themes/azure.less b/src/build/sources/less/themes/azure.less new file mode 100644 index 0000000..588c950 --- /dev/null +++ b/src/build/sources/less/themes/azure.less @@ -0,0 +1,36 @@ +body { + div#page.pageLayout .d3_extsearch_navigation { + &.baseframe { + width: 736px; + } + + .headline { + width: 727px; + border-width: 1px; + .border-radius(3px 3px 0 0); + } + } + + .d3_extsearch_navigation { + &.d3theme_azure .list .item { + width: 216px; + } + + .indexlink, + .indexlink_usable { + min-width: 15px; + border-left: none; + cursor: default; + } + } + + #d3searchfilterform.d3theme_azure .item { + width: 214px; + } + + + .xajax_resp_cl.xajax_resp_azure { + right: 484px !important; + left: auto !important; + } +} \ No newline at end of file diff --git a/src/build/sources/less/themes/flow.less b/src/build/sources/less/themes/flow.less new file mode 100644 index 0000000..131887d --- /dev/null +++ b/src/build/sources/less/themes/flow.less @@ -0,0 +1,127 @@ +@import "flow_xs"; +@import "flow_sm"; +@import "flow_md"; +@import "flow_lg"; + +body { + .d3_extsearch_navigation { + &.baseframe { + &.d3theme_@{d3_class_themeid} { + &.d3sidebar.fit { + height: 63px; + } + &.fit { + margin-bottom: 10px; + } + } + } + + &.d3theme_@{d3_class_themeid} { + &.d3sidebar { + #d3searchfilterform .item { + margin-bottom: 10px; + } + + @d3_element-width: floor(100% / 13 * 10) / 10; + .indexlink, + .indexlink_usable { + min-width: @d3_element-width; + } + + .letter_all { + width: @d3_element-width * 3; + } + } + + &.baseframe { + width: auto; + + .message { + margin-bottom: 10px; + font-family: @font-family-base; + font-size: 12px; + } + .content.list { + .make-row(); + } + } + .list { + border-style: none; + padding: 0; + } + + .indexlink, + .indexlink_usable { + min-width: 2.6%; + height: 21px; + } + + .letter_all { + width: 6.4%; + } + } + } + + .d3sidebar { + margin-bottom: 10px; + } + + .xajax_resp_cl.xajax_resp_@{d3_class_themeid} { + margin-top: 9px; + } + + .xajax_resp_@{d3_class_themeid} { + #d3_extsearch_quicksearch { + .box-shadow(0 0 8px @d3_color_suggestbox_shadow); + .border-radius(4px); + + .headline { + background-color: @d3_color_azure_medium; + line-height: 1.2; + height: auto; + padding: 5px; + font-size: 14px; + .border-radius(4px 4px 0 0); + } + + .closebtn { + height: 18px; + width: 20px; + margin: 3px; + } + + .d3_extsearch_footer { + padding: 5px; + line-height: 1.2; + height: auto; + .border-radius(0 0 4px 4px); + } + } + } + + .IAS_box.IAS_box_@{d3_class_themeid} { + border-color: @d3_color_iasbox; + width: auto; + height: auto; + + span { + margin: 0 0 0 10px; + padding: 0; + width: auto; + } + + .headline { + background-color: @d3_color_iasbox; + + label { + margin-bottom: 0; + } + + .closebtn { + margin: 4px; + border: 1px solid @d3_color_border_white; + font-size: 10px; + } + } + } +} diff --git a/src/build/sources/less/themes/flow_lg.less b/src/build/sources/less/themes/flow_lg.less new file mode 100644 index 0000000..e69de29 diff --git a/src/build/sources/less/themes/flow_md.less b/src/build/sources/less/themes/flow_md.less new file mode 100644 index 0000000..fd3c1cf --- /dev/null +++ b/src/build/sources/less/themes/flow_md.less @@ -0,0 +1,11 @@ +body { + .d3_extsearch_navigation { + &.d3theme_@{d3_class_themeid} { + &.d3sidebar { + #d3searchfilterform .item { + .make-md-column(@grid-columns); + } + } + } + } +} \ No newline at end of file diff --git a/src/build/sources/less/themes/flow_sm.less b/src/build/sources/less/themes/flow_sm.less new file mode 100644 index 0000000..2637c1a --- /dev/null +++ b/src/build/sources/less/themes/flow_sm.less @@ -0,0 +1,11 @@ +body { + .d3_extsearch_navigation { + &.d3theme_@{d3_class_themeid} { + &.d3sidebar { + #d3searchfilterform .item { + .make-sm-column(@grid-columns * 0.5); + } + } + } + } +} \ No newline at end of file diff --git a/src/build/sources/less/themes/flow_xs.less b/src/build/sources/less/themes/flow_xs.less new file mode 100644 index 0000000..d49f20d --- /dev/null +++ b/src/build/sources/less/themes/flow_xs.less @@ -0,0 +1,11 @@ +body { + .d3_extsearch_navigation { + &.d3theme_@{d3_class_themeid} { + &.d3sidebar { + #d3searchfilterform .item { + .make-xs-column(@grid-columns); + } + } + } + } +} \ No newline at end of file diff --git a/src/build/sources/less/themes/mobile.less b/src/build/sources/less/themes/mobile.less new file mode 100644 index 0000000..55d9b37 --- /dev/null +++ b/src/build/sources/less/themes/mobile.less @@ -0,0 +1,42 @@ +.d3extsearch_mobile { + h3 { + margin-top: 0; + padding-left: 17px; + } + + .content.list { + margin-bottom: 30px; + + li a { + line-height: 3; + } + } + + .message { + padding: 17px; + } + + &.spacer { + margin-top: 17px; + } + + .indexlink, + .indexlink_usable { + background-color: @d3_color_background_white; + border: 2px solid @d3_color_gray_light; + color: @d3_color_gray_light; + float: left; + padding: 10px 18px; + } + + .indexlink_usable { + border: 2px solid @d3_color_azure_medium; + color: @d3_color_azure_medium; + + &.active, + &.active a { + background-color: @d3_color_azure_medium; + color: @d3_color_text_white; + } + } +} diff --git a/src/menu.xml b/src/menu.xml new file mode 100644 index 0000000..2614d7b --- /dev/null +++ b/src/menu.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/metadata.php b/src/metadata.php new file mode 100644 index 0000000..44dbd03 --- /dev/null +++ b/src/metadata.php @@ -0,0 +1,347 @@ + + * @link http://www.oxidmodule.com + */ + +use D3\Extsearch\setup as ModuleSetup; +use D3\ModCfg\Application\Model\d3utils; +use OxidEsales\VisualCmsModule\Application\Controller\Admin\VisualCmsAdmin as VisualCMSAdmin; +use OxidEsales\Eshop\Application\Controller as OxidController; +use OxidEsales\Eshop\Application\Model as OxidModel; +use OxidEsales\Eshop\Application\Component as OxidComponent; +use OxidEsales\Eshop\Core as OxidCore; + +/** + * Metadata version + */ +$sMetadataVersion = '2.0'; + +$sModuleId = 'd3_extsearch'; +/** + * Module information + */ +$aModule = array( + 'id' => $sModuleId, + 'title' => + (class_exists(d3utils::class) ? d3utils::getInstance()->getD3Logo() : 'D³') . ' Erweiterte Suche / Extended Search', + 'description' => array( + 'de' => 'Stellt fehlertolerante Suche und weitere Filtermöglichkeiten zur Verfügung.
Aktivieren Sie die Moduleinträge bitte immer und steuern Sie die Modulaktivität ausschließlich im Adminbereich des Moduls.', + 'en' => '', + ), + 'thumbnail' => 'picture.png', + 'version' => '6.1.0.0', + 'author' => 'D³ Data Development (Inh.: Thomas Dartsch)', + 'email' => 'support@shopmodule.com', + 'url' => 'http://www.oxidmodule.com/', + 'extend' => array( + OxidController\Admin\ArticleList::class => \D3\Extsearch\Modules\Application\Controller\Admin\d3_article_list_extsearch::class, + OxidController\ArticleDetailsController::class => \D3\Extsearch\Modules\Application\Controller\d3_details_extsearch::class, + OxidModel\Article::class => \D3\Extsearch\Modules\Application\Model\d3_oxarticle_phonetic::class, + OxidModel\ArticleList::class => \D3\Extsearch\Modules\Application\Model\d3_oxarticlelist_extsearch::class, + OxidComponent\BasketComponent::class => \D3\Extsearch\Modules\Application\Component\d3_oxcmp_basket_extsearch::class, + OxidComponent\UtilsComponent::class => \D3\Extsearch\Modules\Application\Component\d3_oxcmp_utils_extsearch::class, + OxidComponent\Widget\ArticleDetails::class => \D3\Extsearch\Modules\Application\Component\d3_oxwarticledetails_extsearch::class, + OxidComponent\Locator::class => \D3\Extsearch\Modules\Application\Controller\d3_oxlocator_extsearch::class, + OxidController\ArticleListController::class => \D3\Extsearch\Modules\Application\Controller\d3_alist_extsearch::class, + OxidController\ManufacturerListController::class => \D3\Extsearch\Modules\Application\Controller\d3_manufacturerlist_extsearch::class, + OxidController\VendorListController::class => \D3\Extsearch\Modules\Application\Controller\d3_vendorlist_extsearch::class, + OxidController\RssController::class => \D3\Extsearch\Modules\Application\Controller\d3_rss_extsearch::class, + OxidModel\RssFeed::class => \D3\Extsearch\Modules\Application\Model\d3_oxrssfeed_extsearch::class, + OxidModel\Search::class => \D3\Extsearch\Modules\Application\Model\d3_oxsearch_extsearch::class, + OxidController\SearchController::class => \D3\Extsearch\Modules\Application\Controller\d3_ext_search::class, + OxidCore\UtilsView::class => \D3\Extsearch\Modules\Core\d3_oxutilsview_extsearch::class, + VisualCmsAdmin::class => \D3\Extsearch\Modules\Application\Controller\Admin\d3_ddoevisualcmsadmin_extsearch::class, + ), + 'controllers' => array( + 'd3_cfg_extsearch' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch::class, + 'd3_cfg_extsearch_list' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_list::class, + 'd3_cfg_extsearch_main' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_main::class, + 'd3_cfg_extsearch_navigation' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_navigation::class, + 'd3_cfg_extsearch_quicksearch' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_quicksearch::class, + 'd3_cfg_extsearch_plugins' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_plugins::class, + 'd3_cfg_extsearch_licence' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_licence::class, + + 'd3_cfg_extsearchstat' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchstat::class, + 'd3_cfg_extsearchstat_list' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchstat_list::class, + 'd3_cfg_extsearch_statistik' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearch_statistik::class, + + 'd3_cfg_extsearchsyneditor' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchsyneditor::class, + 'd3_cfg_extsearchsyneditor_list' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchsyneditor_list::class, + 'd3_cfg_extsearchsyneditor_main' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchsyneditor_main::class, + 'd3_cfg_extsearchsyneditor_manage' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchsyneditor_manage::class, + + 'd3_cfg_extsearchlog' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchlog::class, + 'd3_cfg_extsearchlog_list' => \D3\Extsearch\Application\Controller\Admin\d3_cfg_extsearchlog_list::class, + + 'd3_extsearch_response' => \D3\Extsearch\Application\Controller\d3_extsearch_response::class, + + 'd3_extsearch_report_base' => \D3\Extsearch\Application\Controller\Admin\Reports\d3_extsearch_report_base::class, + 'd3_extsearch_report_hitless' => \D3\Extsearch\Application\Controller\Admin\Reports\d3_extsearch_report_hitless::class, + 'd3_extsearch_report_mostsearches' => \D3\Extsearch\Application\Controller\Admin\Reports\d3_extsearch_report_mostsearches::class, + ), + 'templates' => array( + 'd3_cfg_extsearch_main.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearch_main.tpl', + 'd3_cfg_extsearch_main_sortanalysis.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearch_main_sortanalysis.tpl', + 'd3_cfg_extsearch_navigation.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearch_navigation.tpl', + 'd3_cfg_extsearch_plugins.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearch_plugins.tpl', + 'd3_cfg_extsearch_quicksearch.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearch_quicksearch.tpl', + 'd3_cfg_extsearch_statistik.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearch_statistik.tpl', + 'd3_cfg_extsearchsyneditor_list.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_list.tpl', + 'd3_cfg_extsearchsyneditor_main.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_main.tpl', + 'd3_cfg_extsearchsyneditor_manage.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_cfg_extsearchsyneditor_manage.tpl', + 'd3_extsearch_report_hitless.tpl' => 'd3/extsearch/Application/views/admin/tpl/reports/d3_extsearch_report_hitless.tpl', + 'd3_extsearch_report_mostsearches.tpl' => 'd3/extsearch/Application/views/admin/tpl/reports/d3_extsearch_report_mostsearches.tpl', + 'd3_extsearch_plugin.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_extsearch_plugin.tpl', + 'd3_extsearch_popup.tpl' => 'd3/extsearch/Application/views/admin/tpl/d3_extsearch_popup.tpl', + + 'd3_ext_search_suggestsearch.tpl' => 'd3/extsearch/Application/views/tpl/d3_ext_search_suggestsearch.tpl', + + 'd3_ext_search_highlight.tpl' => 'd3/extsearch/Application/views/tpl/d3_ext_search_highlight.tpl', + + 'd3_ext_search_filter.tpl' => 'd3/extsearch/Application/views/tpl/d3_ext_search_filter.tpl', + 'd3_inc_ext_search_azure.tpl' => 'd3/extsearch/Application/views/tpl/azure/d3_inc_ext_search.tpl', + 'd3_list_filters_azure.tpl' => 'd3/extsearch/Application/views/tpl/azure/d3extsearch_alist_filters.tpl', + 'd3_search_contents_flow.tpl' => 'd3/extsearch/Application/views/tpl/flow/d3_search_contents.tpl', + 'd3_search_filters_flow.tpl' => 'd3/extsearch/Application/views/tpl/flow/d3_search_filters.tpl', + 'd3_list_filters_flow.tpl' => 'd3/extsearch/Application/views/tpl/flow/d3_list_filters.tpl', + 'd3_inc_ext_search_mobile.tpl' => 'd3/extsearch/Application/views/tpl/mobile/d3_inc_ext_search.tpl', + 'd3_list_filters_mobile.tpl' => 'd3/extsearch/Application/views/tpl/mobile/d3extsearch_alist_filters.tpl', + + 'd3_ext_search_filter_category.tpl' => 'd3/extsearch/Application/views/tpl/filterelements/category.tpl', + 'd3_ext_search_filter_vendor.tpl' => 'd3/extsearch/Application/views/tpl/filterelements/vendor.tpl', + 'd3_ext_search_filter_manufacturer.tpl' => 'd3/extsearch/Application/views/tpl/filterelements/manufacturer.tpl', + 'd3_ext_search_filter_attribute.tpl' => 'd3/extsearch/Application/views/tpl/filterelements/attribute.tpl', + 'd3_ext_search_filter_priceselector.tpl' => 'd3/extsearch/Application/views/tpl/filterelements/priceselector.tpl', + 'd3_ext_search_filter_jqslider.tpl' => 'd3/extsearch/Application/views/tpl/filterelements/jqslider.tpl', + + 'd3_ddeovisualcmsadmin_extsearch.tpl' => 'd3/extsearch/Application/views/tpl/d3_ddoevisualcmsadmin_extsearch.tpl', + ), + 'events' => [ + 'onActivate' => '\D3\Extsearch\setup\Events::onActivate', + ], + 'settings' => array( + array( + 'group' => 'd3thememapping_module', + 'name' => 'd3custParentThemeMappedToFlow_'.$sModuleId, + 'type' => 'str', + 'value' => '' + ), + array( + 'group' => 'd3thememapping_module', + 'name' => 'd3custParentThemeMappedToMobile_'.$sModuleId, + 'type' => 'str', + 'value' => '' + ), + array( + 'group' => 'd3thememapping_module', + 'name' => 'd3custParentThemeMappedToAzure_'.$sModuleId, + 'type' => 'str', + 'value' => '' + ), + ), + 'blocks' => array( + array( + 'template' => 'page/search/search.tpl', + 'block' => 'search_results', + 'file' => 'Application/views/blocks/page/search/d3_inc_ext_search.tpl', + 'position' => 1, + ), + array( + 'template' => 'layout/base.tpl', + 'block' => 'head_css', + 'file' => 'Application/views/blocks/layout/d3_extsearch_css.tpl', + 'position' => 1, + ), + array( + 'template' => 'layout/base.tpl', + 'block' => 'base_js', + 'file' => 'Application/views/blocks/layout/d3_extsearch_js.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/header/search.tpl', + 'block' => 'widget_header_search_form', + 'file' => 'Application/views/blocks/widget/header/d3_extsearch_headersearch.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/header/search.tpl', + 'block' => 'header_search_field', + 'file' => 'Application/views/blocks/widget/header/d3_extsearch_searchfield.tpl', + 'position' => 1, + ), + array( + 'template' => 'page/list/list.tpl', + 'block' => 'page_list_listbody', + 'file' => 'Application/views/blocks/page/list/d3extsearch_alist_noartfilters.tpl', + 'position' => 1, + ), + array( + 'template' => 'page/list/list.tpl', + 'block' => 'page_list_listhead', + 'file' => 'Application/views/blocks/page/list/d3extsearch_alist_filters.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/locator/attributes.tpl', + 'block' => 'widget_locator_attributes', + 'file' => 'Application/views/blocks/widget/locator/d3_list_disabledefaultfilters.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/product/listitem_infogrid.tpl', + 'block' => 'widget_product_listitem_infogrid_titlebox', + 'file' => 'Application/views/blocks/widget/product/d3_extsearch_listiteminfogrid_title.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/product/listitem_grid.tpl', + 'block' => 'widget_product_listitem_grid', + 'file' => 'Application/views/blocks/widget/product/d3_extsearch_listitemgrid_title.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/product/listitem_grid.tpl', + 'block' => 'widget_product_listitem_infogrid_titlebox', + 'file' => 'Application/views/blocks/widget/product/d3_extsearch_listitemgrid_flowtitlebox.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/product/listitem_line.tpl', + 'block' => 'widget_product_listitem_line_titlebox', + 'file' => 'Application/views/blocks/widget/product/d3_extsearch_listitemline_flowtitlebox.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/product/listitem_line.tpl', + 'block' => 'widget_product_listitem_line_selections', + 'file' => 'Application/views/blocks/widget/product/d3_extsearch_listitemline_selections.tpl', + 'position' => 1, + ), + array( + 'template' => 'widget/product/listitem_line.tpl', + 'block' => 'widget_product_listitem_line_description', + 'file' => 'Application/views/blocks/widget/product/d3_extsearch_listitemline_description.tpl', + 'position' => 1, + ), + array( + 'template' => 'content_main.tpl', + 'block' => 'admin_content_main_form', + 'file' => 'Application/views/admin/blocks/d3_extsearch_content_main.tpl', + 'position' => 1, + ), + array( + 'template' => 'attribute_main.tpl', + 'block' => 'admin_attribute_main_form', + 'file' => 'Application/views/admin/blocks/d3_extsearch_attribute_main.tpl', + 'position' => 1, + ), + array( + 'template' => 'category_main.tpl', + 'block' => 'admin_category_main_form', + 'file' => 'Application/views/admin/blocks/d3_extsearch_category_main.tpl', + 'position' => 1, + ), + array( + 'template' => 'article_extend.tpl', + 'block' => 'admin_article_extend_form', + 'file' => 'Application/views/admin/blocks/d3_extsearch_article_extend.tpl', + 'position' => 1, + ), + ), + 'd3FileRegister' => array( + 'd3/extsearch/IntelliSenseHelper.php', + 'd3/extsearch/metadata.php', + 'd3/extsearch/core/smarty/plugins/function.d3_extsearch_highlight.php', + 'd3/extsearch/Application/Model/d3_phonetic_de.php', + 'd3/extsearch/Application/Model/d3_phonetic_de_voc.php', + 'd3/extsearch/public/d3_extsearch_response.php', + 'd3/extsearch/Application/translations/de/d3_extsearch_lang.php', + 'd3/extsearch/Application/translations/en/d3_extsearch_lang.php', + 'd3/extsearch/Application/views/admin/de/d3_extsearch_lang.php', + 'd3/extsearch/Application/views/admin/de/module_options.php', + 'd3/extsearch/Application/views/admin/en/d3_extsearch_lang.php', + 'd3/extsearch/Application/views/admin/en/module_options.php', + 'd3/extsearch/setup/d3_extsearch_semanticstructure.php', + 'd3/extsearch/setup/d3_extsearch_semantic_synset.php', + 'd3/extsearch/setup/d3_extsearch_semantic_term.php', + 'd3/extsearch/setup/d3_extsearch_statisticlog.php', + + 'd3/extsearch/Application/Controller/d3_extsearch_response.php', + 'd3/extsearch/Application/Controller/d3_xlist_extsearch.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_navigation.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_list.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_main.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_licence.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchsyneditor.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchsyneditor_list.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchlog.php', + 'd3/extsearch/Application/Controller/Admin/Reports/d3_extsearch_report_hitless.php', + 'd3/extsearch/Application/Controller/Admin/Reports/d3_extsearch_report_base.php', + 'd3/extsearch/Application/Controller/Admin/Reports/d3_extsearch_report_mostsearches.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchlog_list.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchsyneditor_manage.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchstat.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchstat_list.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_plugins.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_quicksearch.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearchsyneditor_main.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch_statistik.php', + 'd3/extsearch/Application/Controller/Admin/d3_cfg_extsearch.php', + 'd3/extsearch/Application/Model/d3_extsearch_statisticlog.php', + 'd3/extsearch/Application/Model/d3_oxutils_extsearch.php', + 'd3/extsearch/Application/Model/d3_semantic.php', + 'd3/extsearch/Application/Model/d3_search.php', + 'd3/extsearch/Application/Model/d3_extsearch_term.php', + 'd3/extsearch/Application/Model/d3_extsearch_synset.php', + 'd3/extsearch/Application/Model/d3_search_generator.php', + 'd3/extsearch/Application/Model/Filters/d3Filter.php', + 'd3/extsearch/Application/Model/Filters/d3FieldIsFilter.php', + 'd3/extsearch/Application/Model/Filters/d3VendorFilter.php', + 'd3/extsearch/Application/Model/Filters/d3FilterList.php', + 'd3/extsearch/Application/Model/Filters/d3IndexFilter.php', + 'd3/extsearch/Application/Model/Filters/d3AttributeFilter.php', + 'd3/extsearch/Application/Model/Filters/d3ManufacturerFilter.php', + 'd3/extsearch/Application/Model/Filters/d3CategoryFilter.php', + 'd3/extsearch/Application/Model/Filters/d3FieldLikeFilter.php', + 'd3/extsearch/Application/Model/Filters/d3PriceFilter.php', + 'd3/extsearch/Application/Model/Filters/d3FilterInterface.php', + 'd3/extsearch/setup/d3_extsearch_update.php', + 'd3/extsearch/Core/d3_extsearch_conf.php', + + 'd3/extsearch/Modules/Application/Component/d3_oxcmp_basket_extsearch.php', + 'd3/extsearch/Modules/Application/Component/d3_oxcmp_utils_extsearch.php', + 'd3/extsearch/Modules/Application/Component/d3_oxwarticledetails_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_manufacturerlist_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_vendorlist_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_oxlocator_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_alist_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_details_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_rss_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/Admin/d3_article_list_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/Admin/d3_ddoevisualcmsadmin_extsearch.php', + 'd3/extsearch/Modules/Application/Controller/d3_ext_search.php', + 'd3/extsearch/Modules/Application/Model/d3_oxsearch_extsearch.php', + 'd3/extsearch/Modules/Application/Model/d3_oxarticlelist_extsearch.php', + 'd3/extsearch/Modules/Application/Model/d3_oxarticle_phonetic.php', + 'd3/extsearch/Modules/Application/Model/d3_oxrssfeed_extsearch.php', + 'd3/extsearch/Modules/Core/d3_oxutilsview_extsearch.php', + + 'd3/extsearch/setup/Events.php', + ), + 'd3SetupClasses' => array( + ModuleSetup\d3_extsearch_update::class, + ), +); diff --git a/src/out/.htaccess b/src/out/.htaccess new file mode 100644 index 0000000..38660d5 --- /dev/null +++ b/src/out/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/src/out/admin/img/d3_extsearch_quicksearch.jpg b/src/out/admin/img/d3_extsearch_quicksearch.jpg new file mode 100644 index 0000000..b2fc623 Binary files /dev/null and b/src/out/admin/img/d3_extsearch_quicksearch.jpg differ diff --git a/src/out/img/extsearch_slider_left.png b/src/out/img/extsearch_slider_left.png new file mode 100644 index 0000000..f4aac08 Binary files /dev/null and b/src/out/img/extsearch_slider_left.png differ diff --git a/src/out/img/extsearch_slider_right.png b/src/out/img/extsearch_slider_right.png new file mode 100644 index 0000000..d069de8 Binary files /dev/null and b/src/out/img/extsearch_slider_right.png differ diff --git a/src/out/src/bg/d3extsearch_close.gif b/src/out/src/bg/d3extsearch_close.gif new file mode 100644 index 0000000..009c62d Binary files /dev/null and b/src/out/src/bg/d3extsearch_close.gif differ diff --git a/src/out/src/css/d3extsearch_allthemes.css b/src/out/src/css/d3extsearch_allthemes.css new file mode 100644 index 0000000..c24f389 --- /dev/null +++ b/src/out/src/css/d3extsearch_allthemes.css @@ -0,0 +1,601 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ +@media screen and (max-width: 767px) { +} +@media (min-width: 768px) { +} +@media (min-width: 768px) { +} +@media (max-width: 767px) { +} +@media (min-width: 768px) { +} +@media (min-width: 768px) { +} +@media (max-width: 767px) { +} +@media (max-width: 767px) { +} +body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:before, +body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:after { + content: " "; + display: table; +} +body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:after { + clear: both; +} +body .product strong.h3 #similar { + font-weight: normal; + color: #999; +} +body .d3_extsearch_navigation.baseframe { + float: none; + clear: both; + font-size: 10px; + width: 748px; +} +body .d3_extsearch_navigation.baseframe.fit { + height: 21px; + margin: 0; +} +body .d3_extsearch_navigation .indexlink, +body .d3_extsearch_navigation .indexlink_usable { + border-radius: 3px 3px 0 0; + background-clip: padding-box; + font-size: 11px; + height: 16px; + color: #E2E2E2; + border: 1px solid #E2E2E2; + border-bottom-style: none; + padding: 2px; + text-align: center; + float: left; +} +body .d3_extsearch_navigation .indexlink { + min-width: 13px; +} +body .d3_extsearch_navigation .indexlink_usable { + background-color: #E2E2E2; + border-color: #999; + min-width: 9px; +} +body .d3_extsearch_navigation .headline { + background: #E2E2E2 none repeat scroll 0 0; + border: 1px solid #999; + border-left: 8px solid #999; + border-bottom-style: none; + color: #545454; + padding: 5px 5px 8px 7px; + width: 727px; + margin: 0; + font-size: 11px; +} +body .d3_extsearch_navigation .message { + padding: 5px; + border: 1px solid #999; + font-weight: bold; +} +body .d3_extsearch_navigation .list { + border: 1px solid #999; + border-top-style: none; + padding: 8px 5px 8px 7px; +} +body .d3_extsearch_navigation .list .fullitem, +body #d3searchfilterform .fullitem { + float: none; + clear: both; + width: 100%; + text-align: center; + margin: 5px; +} +body .d3_extsearch_navigation .list .item, +body #d3searchfilterform .item { + float: left; + font-size: 12px; + margin-bottom: 4px; + padding: 2px 14px; +} +body .d3_extsearch_navigation .list .item select, +body #d3searchfilterform .item select { + width: 100%; +} +body .d3_extsearch_navigation .list .item option.desc, +body #d3searchfilterform .item option.desc { + background-color: #E2E2E2; + text-align: center; +} +body .d3_extsearch_navigation .list .item option.highlight { + background-color: #E2E2E2; +} +body .d3_extsearch_navigation .list .clearitem { + float: none; + clear: both; +} +body .d3_extsearch_navigation .list_link { + background: transparent url("../bg/oxid.gif") no-repeat scroll 0 -298px; + padding-left: 14px; + padding-top: 2px; +} +body .d3_extsearch_navigation .active { + background-color: #00748d; + color: #FFF; +} +body .d3_extsearch_navigation .active a { + color: #FFF; +} +body .d3_extsearch_navigation a.search_results_list_link { + font-size: 10px; +} +body .d3_extsearch_navigation .buttonframe { + text-align: center; + padding-top: 5px; +} +body .d3_extsearch_navigation .button { + border: 1px solid #999; + padding: 2px; +} +body .d3_extsearch_navigation .login_button { + border: 1px solid #E2E2E2; +} +body .d3_extsearch_navigation .letter_all { + width: 22px; + border-left: solid 1px; +} +body #d3searchfilterform .item { + margin-bottom: 10px; +} +body .ui-widget-content .ui-state-default#d3extsearch_priceslider1, +body .ui-widget-content .ui-state-default#d3extsearch_priceslider2 { + border: none; + background: no-repeat transparent; + height: 17px; + width: 11px; +} +body .ui-widget-content .ui-state-default#d3extsearch_priceslider1 { + background-image: url("../../img/extsearch_slider_left.png"); +} +body .ui-widget-content .ui-state-default#d3extsearch_priceslider2 { + background-image: url("../../img/extsearch_slider_right.png"); +} +body div#page.pageLayout .d3_extsearch_navigation .list { + border-radius: 0 0 3px 3px; + background-clip: padding-box; +} +body .xajax_resp_cl { + display: none; + position: absolute; + z-index: 20000; + width: 500px; +} +body #d3_extsearch_quicksearch { + -webkit-box-shadow: 4px 4px 4px #545454; + box-shadow: 4px 4px 4px #545454; + background-color: #FFF; + border: 1px solid #000; + width: 100%; +} +body #d3_extsearch_quicksearch .headline { + position: relative; + color: #FFF; + background-color: #00748d; + border-bottom: 1px solid #000; + padding: 3px; + font-weight: bold; + text-align: left; + font-size: 11px; +} +body #d3_extsearch_quicksearch .closebtn { + position: absolute; + right: 3px; + top: 1px; + cursor: pointer; + float: right; + border: 0 outset #000; + padding: 0 0; + background: url("../bg/d3extsearch_close.gif") no-repeat scroll 0 0 transparent; + height: 18px; + width: 20px; +} +body #d3_extsearch_quicksearch .list { + max-height: 300px; + overflow: auto; +} +body #d3_extsearch_quicksearch .list .articlebox, +body #d3_extsearch_quicksearch .list .categorybox, +body #d3_extsearch_quicksearch .list .vendorbox, +body #d3_extsearch_quicksearch .list .contentbox, +body #d3_extsearch_quicksearch .list .manufacturerbox { + width: 100%; + padding: 10px; +} +body #d3_extsearch_quicksearch .list.hasCategoryItems .articlebox, +body #d3_extsearch_quicksearch .list.hasManufacturerItems .articlebox, +body #d3_extsearch_quicksearch .list.hasVendorItems .articlebox, +body #d3_extsearch_quicksearch .list.hasContentItems .articlebox { + width: 70%; + float: left; + clear: left; + border-right: 1px solid #999; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +body #d3_extsearch_quicksearch .list.hasArticleItems .categorybox, +body #d3_extsearch_quicksearch .list.hasArticleItems .manufacturerbox, +body #d3_extsearch_quicksearch .list.hasArticleItems .vendorbox, +body #d3_extsearch_quicksearch .list.hasArticleItems .contentbox { + width: 30%; + float: right; + clear: right; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +body #d3_extsearch_quicksearch .item_inact, +body #d3_extsearch_quicksearch .item_act { + cursor: pointer; + clear: both; + padding: 4px 3px; + background-color: #FFF; + text-align: left; + width: 100%; + color: #000; + text-decoration: none; + font-size: 11px; + display: block; + overflow: hidden; +} +body #d3_extsearch_quicksearch .item_inact .imgframe, +body #d3_extsearch_quicksearch .item_act .imgframe { + float: left; + margin-right: 10px; + border: 1px solid #E2E2E2; + height: 52px; + width: 52px; + background-color: #FFF; + text-align: center; +} +body #d3_extsearch_quicksearch .item_inact .imgframe img, +body #d3_extsearch_quicksearch .item_act .imgframe img { + text-align: center; + max-width: 50px; + max-height: 50px; +} +body #d3_extsearch_quicksearch .item_act { + background-color: #FC6621; + color: #FFF; +} +body #d3_extsearch_quicksearch a:hover.item_inact { + color: #000; + text-decoration: none; +} +body #d3_extsearch_quicksearch a:hover.item_act { + color: #FFF; + text-decoration: none; +} +body #d3_extsearch_quicksearch .d3_extsearch_footer { + background-color: #00748d; + border-top: 1px solid #000; + color: #FFF; + display: block; + height: 19px; +} +body #d3_extsearch_quicksearch .d3_extsearch_footer:hover { + background-color: #009EC0; +} +body #d3_extsearch_quicksearch .d3_extsearch_footer a { + padding: 3px; + display: table; + background: none repeat scroll 0 0 transparent; + border: medium none; + color: #FFF; + width: 344px; +} +body #d3_extsearch_quicksearch .d3_extsearch_footer a:hover { + text-decoration: none; + color: #000; + width: 344px; +} +body #d3_extsearch_quicksearch .d3extsearch_suggest h3 { + font-size: 12px; + line-height: 12px; + margin: 5px 0; + font-weight: bold; + border-bottom: 1px solid #999; + padding-bottom: 5px; +} +body .IAS_box { + border-radius: 3px; + background-clip: padding-box; + -webkit-box-shadow: 4px 4px 4px #545454; + box-shadow: 4px 4px 4px #545454; + height: 70px; + width: 200px; + background-color: #FFF; + position: absolute; + left: 50px; + top: 50px; + display: none; + z-index: 1000; + border: 2px solid #FC6621; +} +body .IAS_box input, +body .IAS_box span { + margin: 3px; + width: 185px; +} +body .IAS_box span { + float: right; + margin-top: 0; +} +body .IAS_box span input { + margin: 0; + width: 100px; + float: right; + text-align: center; +} +body .IAS_box .headline { + background-color: #FC6621; + color: #FFF; + font-weight: bold; +} +body .IAS_box .headline .closebtn { + cursor: pointer; + float: right; + border: 1px outset #000; + padding: 0 3px; + font-size: 8px; + line-height: 10px; +} +#d3extsearch_mask, +#d3extsearch_message { + display: none; + visibility: hidden; +} +#d3extsearch_mask.on { + z-index: 1500; + width: 100%; + visibility: visible; + top: 0; + position: fixed; + filter: alpha(opacity=70); + -webkit-opacity: 0.7; + -moz-opacity: 0.7; + opacity: 0.7; + left: 0; + height: 100%; + display: block; + background-color: #000; +} +#similar { + padding-left: 10px; + color: #999; +} +#d3extsearch_message.d3extsearch_popup.load.on { + color: #FFF; + text-align: center; + font-size: 18px; + z-index: 2000; + width: 270px; + visibility: visible; + top: 50%; + position: fixed; + padding: 20px 10px 10px 10px; + margin: -75px 0 0 -135px; + left: 50%; + height: 62px; + display: block; + border: 0 solid #00748d; + background: -webkit-gradient(linear, left top, left bottom, from(#00c8f3), color-stop(#009EC0), to(#00748d)) repeat scroll 0 0 rgba(0, 0, 0, 0); + background: -webkit-linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0, 0, 0, 0); + background: linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0, 0, 0, 0); + text-shadow: 0 -1px 0 #00748d; + border-radius: 5px; + background-clip: padding-box; +} +.dropdown-menu .dropdown-option div { + background-color: #FFF; + color: #999; + cursor: default; + display: block; + padding: 8px 5px; + white-space: normal; +} +.d3extsearch_highlight { + color: #D11104; +} +.filterselector.filterselector_hidden { + display: none; +} +.d3extsearch_mobile h3 { + margin-top: 0; + padding-left: 17px; +} +.d3extsearch_mobile .content.list { + margin-bottom: 30px; +} +.d3extsearch_mobile .content.list li a { + line-height: 3; +} +.d3extsearch_mobile .message { + padding: 17px; +} +.d3extsearch_mobile.spacer { + margin-top: 17px; +} +.d3extsearch_mobile .indexlink, +.d3extsearch_mobile .indexlink_usable { + background-color: #FFF; + border: 2px solid #E2E2E2; + color: #E2E2E2; + float: left; + padding: 10px 18px; +} +.d3extsearch_mobile .indexlink_usable { + border: 2px solid #009EC0; + color: #009EC0; +} +.d3extsearch_mobile .indexlink_usable.active, +.d3extsearch_mobile .indexlink_usable.active a { + background-color: #009EC0; + color: #FFF; +} +body div#page.pageLayout .d3_extsearch_navigation.baseframe { + width: 736px; +} +body div#page.pageLayout .d3_extsearch_navigation .headline { + width: 727px; + border-width: 1px; + border-radius: 3px 3px 0 0; + background-clip: padding-box; +} +body .d3_extsearch_navigation.d3theme_azure .list .item { + width: 216px; +} +body .d3_extsearch_navigation .indexlink, +body .d3_extsearch_navigation .indexlink_usable { + min-width: 15px; + border-left: none; + cursor: default; +} +body #d3searchfilterform.d3theme_azure .item { + width: 214px; +} +body .xajax_resp_cl.xajax_resp_azure { + right: 484px !important; + left: auto !important; +} +body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item { + position: relative; + float: left; + width: 100%; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item { + float: left; + width: 50%; + } +} +body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 992px) { + body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item { + float: left; + width: 100%; + } +} +body .d3_extsearch_navigation.baseframe.d3theme_flow.d3sidebar.fit { + height: 63px; +} +body .d3_extsearch_navigation.baseframe.d3theme_flow.fit { + margin-bottom: 10px; +} +body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item { + margin-bottom: 10px; +} +body .d3_extsearch_navigation.d3theme_flow.d3sidebar .indexlink, +body .d3_extsearch_navigation.d3theme_flow.d3sidebar .indexlink_usable { + min-width: 7.6%; +} +body .d3_extsearch_navigation.d3theme_flow.d3sidebar .letter_all { + width: 22.8%; +} +body .d3_extsearch_navigation.d3theme_flow.baseframe { + width: auto; +} +body .d3_extsearch_navigation.d3theme_flow.baseframe .message { + margin-bottom: 10px; + font-family: Raleway, "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; +} +body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list { + margin-left: -15px; + margin-right: -15px; +} +body .d3_extsearch_navigation.d3theme_flow .list { + border-style: none; + padding: 0; +} +body .d3_extsearch_navigation.d3theme_flow .indexlink, +body .d3_extsearch_navigation.d3theme_flow .indexlink_usable { + min-width: 2.6%; + height: 21px; +} +body .d3_extsearch_navigation.d3theme_flow .letter_all { + width: 6.4%; +} +body .d3sidebar { + margin-bottom: 10px; +} +body .xajax_resp_cl.xajax_resp_flow { + margin-top: 9px; +} +body .xajax_resp_flow #d3_extsearch_quicksearch { + -webkit-box-shadow: 0 0 8px rgba(0, 158, 192, 0.6); + box-shadow: 0 0 8px rgba(0, 158, 192, 0.6); + border-radius: 4px; + background-clip: padding-box; +} +body .xajax_resp_flow #d3_extsearch_quicksearch .headline { + background-color: #009EC0; + line-height: 1.2; + height: auto; + padding: 5px; + font-size: 14px; + border-radius: 4px 4px 0 0; + background-clip: padding-box; +} +body .xajax_resp_flow #d3_extsearch_quicksearch .closebtn { + height: 18px; + width: 20px; + margin: 3px; +} +body .xajax_resp_flow #d3_extsearch_quicksearch .d3_extsearch_footer { + padding: 5px; + line-height: 1.2; + height: auto; + border-radius: 0 0 4px 4px; + background-clip: padding-box; +} +body .IAS_box.IAS_box_flow { + border-color: #FC6621; + width: auto; + height: auto; +} +body .IAS_box.IAS_box_flow span { + margin: 0 0 0 10px; + padding: 0; + width: auto; +} +body .IAS_box.IAS_box_flow .headline { + background-color: #FC6621; +} +body .IAS_box.IAS_box_flow .headline label { + margin-bottom: 0; +} +body .IAS_box.IAS_box_flow .headline .closebtn { + margin: 4px; + border: 1px solid #FFF; + font-size: 10px; +} diff --git a/src/out/src/css/d3extsearch_allthemes.min.css b/src/out/src/css/d3extsearch_allthemes.min.css new file mode 100644 index 0000000..65d9457 --- /dev/null +++ b/src/out/src/css/d3extsearch_allthemes.min.css @@ -0,0 +1,12 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */@media screen and (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (max-width:767px){}body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:before,body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:after{content:" ";display:table}body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:after{clear:both}body .product strong.h3 #similar{font-weight:normal;color:#999}body .d3_extsearch_navigation.baseframe{float:none;clear:both;font-size:10px;width:748px}body .d3_extsearch_navigation.baseframe.fit{height:21px;margin:0}body .d3_extsearch_navigation .indexlink,body .d3_extsearch_navigation .indexlink_usable{border-radius:3px 3px 0 0;background-clip:padding-box;font-size:11px;height:16px;color:#E2E2E2;border:1px solid #E2E2E2;border-bottom-style:none;padding:2px;text-align:center;float:left}body .d3_extsearch_navigation .indexlink{min-width:13px}body .d3_extsearch_navigation .indexlink_usable{background-color:#E2E2E2;border-color:#999;min-width:9px}body .d3_extsearch_navigation .headline{background:#E2E2E2 none repeat scroll 0 0;border:1px solid #999;border-left:8px solid #999;border-bottom-style:none;color:#545454;padding:5px 5px 8px 7px;width:727px;margin:0;font-size:11px}body .d3_extsearch_navigation .message{padding:5px;border:1px solid #999;font-weight:bold}body .d3_extsearch_navigation .list{border:1px solid #999;border-top-style:none;padding:8px 5px 8px 7px}body .d3_extsearch_navigation .list .fullitem,body #d3searchfilterform .fullitem{float:none;clear:both;width:100%;text-align:center;margin:5px}body .d3_extsearch_navigation .list .item,body #d3searchfilterform .item{float:left;font-size:12px;margin-bottom:4px;padding:2px 14px}body .d3_extsearch_navigation .list .item select,body #d3searchfilterform .item select{width:100%}body .d3_extsearch_navigation .list .item option.desc,body #d3searchfilterform .item option.desc{background-color:#E2E2E2;text-align:center}body .d3_extsearch_navigation .list .item option.highlight{background-color:#E2E2E2}body .d3_extsearch_navigation .list .clearitem{float:none;clear:both}body .d3_extsearch_navigation .list_link{background:transparent url("../bg/oxid.gif") no-repeat scroll 0 -298px;padding-left:14px;padding-top:2px}body .d3_extsearch_navigation .active{background-color:#00748d;color:#FFF}body .d3_extsearch_navigation .active a{color:#FFF}body .d3_extsearch_navigation a.search_results_list_link{font-size:10px}body .d3_extsearch_navigation .buttonframe{text-align:center;padding-top:5px}body .d3_extsearch_navigation .button{border:1px solid #999;padding:2px}body .d3_extsearch_navigation .login_button{border:1px solid #E2E2E2}body .d3_extsearch_navigation .letter_all{width:22px;border-left:solid 1px}body #d3searchfilterform .item{margin-bottom:10px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1,body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{border:none;background:no-repeat transparent;height:17px;width:11px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1{background-image:url("../../img/extsearch_slider_left.png")}body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{background-image:url("../../img/extsearch_slider_right.png")}body div#page.pageLayout .d3_extsearch_navigation .list{border-radius:0 0 3px 3px;background-clip:padding-box}body .xajax_resp_cl{display:none;position:absolute;z-index:20000;width:500px}body #d3_extsearch_quicksearch{-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;background-color:#FFF;border:1px solid #000;width:100%}body #d3_extsearch_quicksearch .headline{position:relative;color:#FFF;background-color:#00748d;border-bottom:1px solid #000;padding:3px;font-weight:bold;text-align:left;font-size:11px}body #d3_extsearch_quicksearch .closebtn{position:absolute;right:3px;top:1px;cursor:pointer;float:right;border:0 outset #000;padding:0 0;background:url("../bg/d3extsearch_close.gif") no-repeat scroll 0 0 transparent;height:18px;width:20px}body #d3_extsearch_quicksearch .list{max-height:300px;overflow:auto}body #d3_extsearch_quicksearch .list .articlebox,body #d3_extsearch_quicksearch .list .categorybox,body #d3_extsearch_quicksearch .list .vendorbox,body #d3_extsearch_quicksearch .list .contentbox,body #d3_extsearch_quicksearch .list .manufacturerbox{width:100%;padding:10px}body #d3_extsearch_quicksearch .list.hasCategoryItems .articlebox,body #d3_extsearch_quicksearch .list.hasManufacturerItems .articlebox,body #d3_extsearch_quicksearch .list.hasVendorItems .articlebox,body #d3_extsearch_quicksearch .list.hasContentItems .articlebox{width:70%;float:left;clear:left;border-right:1px solid #999;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .list.hasArticleItems .categorybox,body #d3_extsearch_quicksearch .list.hasArticleItems .manufacturerbox,body #d3_extsearch_quicksearch .list.hasArticleItems .vendorbox,body #d3_extsearch_quicksearch .list.hasArticleItems .contentbox{width:30%;float:right;clear:right;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .item_inact,body #d3_extsearch_quicksearch .item_act{cursor:pointer;clear:both;padding:4px 3px;background-color:#FFF;text-align:left;width:100%;color:#000;text-decoration:none;font-size:11px;display:block;overflow:hidden}body #d3_extsearch_quicksearch .item_inact .imgframe,body #d3_extsearch_quicksearch .item_act .imgframe{float:left;margin-right:10px;border:1px solid #E2E2E2;height:52px;width:52px;background-color:#FFF;text-align:center}body #d3_extsearch_quicksearch .item_inact .imgframe img,body #d3_extsearch_quicksearch .item_act .imgframe img{text-align:center;max-width:50px;max-height:50px}body #d3_extsearch_quicksearch .item_act{background-color:#FC6621;color:#FFF}body #d3_extsearch_quicksearch a:hover.item_inact{color:#000;text-decoration:none}body #d3_extsearch_quicksearch a:hover.item_act{color:#FFF;text-decoration:none}body #d3_extsearch_quicksearch .d3_extsearch_footer{background-color:#00748d;border-top:1px solid #000;color:#FFF;display:block;height:19px}body #d3_extsearch_quicksearch .d3_extsearch_footer:hover{background-color:#009EC0}body #d3_extsearch_quicksearch .d3_extsearch_footer a{padding:3px;display:table;background:none repeat scroll 0 0 transparent;border:medium none;color:#FFF;width:344px}body #d3_extsearch_quicksearch .d3_extsearch_footer a:hover{text-decoration:none;color:#000;width:344px}body #d3_extsearch_quicksearch .d3extsearch_suggest h3{font-size:12px;line-height:12px;margin:5px 0;font-weight:bold;border-bottom:1px solid #999;padding-bottom:5px}body .IAS_box{border-radius:3px;background-clip:padding-box;-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;height:70px;width:200px;background-color:#FFF;position:absolute;left:50px;top:50px;display:none;z-index:1000;border:2px solid #FC6621}body .IAS_box input,body .IAS_box span{margin:3px;width:185px}body .IAS_box span{float:right;margin-top:0}body .IAS_box span input{margin:0;width:100px;float:right;text-align:center}body .IAS_box .headline{background-color:#FC6621;color:#FFF;font-weight:bold}body .IAS_box .headline .closebtn{cursor:pointer;float:right;border:1px outset #000;padding:0 3px;font-size:8px;line-height:10px}#d3extsearch_mask,#d3extsearch_message{display:none;visibility:hidden}#d3extsearch_mask.on{z-index:1500;width:100%;visibility:visible;top:0;position:fixed;filter:alpha(opacity=70);-webkit-opacity:.7;-moz-opacity:.7;opacity:.7;left:0;height:100%;display:block;background-color:#000}#similar{padding-left:10px;color:#999}#d3extsearch_message.d3extsearch_popup.load.on{color:#FFF;text-align:center;font-size:18px;z-index:2000;width:270px;visibility:visible;top:50%;position:fixed;padding:20px 10px 10px 10px;margin:-75px 0 0 -135px;left:50%;height:62px;display:block;border:0 solid #00748d;background:-webkit-gradient(linear, left top, left bottom, from(#00c8f3), color-stop(#009EC0), to(#00748d)) repeat scroll 0 0 rgba(0,0,0,0);background:-webkit-linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);background:linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);text-shadow:0 -1px 0 #00748d;border-radius:5px;background-clip:padding-box}.dropdown-menu .dropdown-option div{background-color:#FFF;color:#999;cursor:default;display:block;padding:8px 5px;white-space:normal}.d3extsearch_highlight{color:#D11104}.filterselector.filterselector_hidden{display:none}.d3extsearch_mobile h3{margin-top:0;padding-left:17px}.d3extsearch_mobile .content.list{margin-bottom:30px}.d3extsearch_mobile .content.list li a{line-height:3}.d3extsearch_mobile .message{padding:17px}.d3extsearch_mobile.spacer{margin-top:17px}.d3extsearch_mobile .indexlink,.d3extsearch_mobile .indexlink_usable{background-color:#FFF;border:2px solid #E2E2E2;color:#E2E2E2;float:left;padding:10px 18px}.d3extsearch_mobile .indexlink_usable{border:2px solid #009EC0;color:#009EC0}.d3extsearch_mobile .indexlink_usable.active,.d3extsearch_mobile .indexlink_usable.active a{background-color:#009EC0;color:#FFF}body div#page.pageLayout .d3_extsearch_navigation.baseframe{width:736px}body div#page.pageLayout .d3_extsearch_navigation .headline{width:727px;border-width:1px;border-radius:3px 3px 0 0;background-clip:padding-box}body .d3_extsearch_navigation.d3theme_azure .list .item{width:216px}body .d3_extsearch_navigation .indexlink,body .d3_extsearch_navigation .indexlink_usable{min-width:15px;border-left:none;cursor:default}body #d3searchfilterform.d3theme_azure .item{width:214px}body .xajax_resp_cl.xajax_resp_azure{right:484px !important;left:auto !important}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{position:relative;float:left;width:100%;min-height:1px;padding-left:15px;padding-right:15px}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{position:relative;min-height:1px;padding-left:15px;padding-right:15px}@media (min-width:768px){body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{float:left;width:50%}}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{position:relative;min-height:1px;padding-left:15px;padding-right:15px}@media (min-width:992px){body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{float:left;width:100%}}body .d3_extsearch_navigation.baseframe.d3theme_flow.d3sidebar.fit{height:63px}body .d3_extsearch_navigation.baseframe.d3theme_flow.fit{margin-bottom:10px}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{margin-bottom:10px}body .d3_extsearch_navigation.d3theme_flow.d3sidebar .indexlink,body .d3_extsearch_navigation.d3theme_flow.d3sidebar .indexlink_usable{min-width:7.6%}body .d3_extsearch_navigation.d3theme_flow.d3sidebar .letter_all{width:22.8%}body .d3_extsearch_navigation.d3theme_flow.baseframe{width:auto}body .d3_extsearch_navigation.d3theme_flow.baseframe .message{margin-bottom:10px;font-family:Raleway,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list{margin-left:-15px;margin-right:-15px}body .d3_extsearch_navigation.d3theme_flow .list{border-style:none;padding:0}body .d3_extsearch_navigation.d3theme_flow .indexlink,body .d3_extsearch_navigation.d3theme_flow .indexlink_usable{min-width:2.6%;height:21px}body .d3_extsearch_navigation.d3theme_flow .letter_all{width:6.4%}body .d3sidebar{margin-bottom:10px}body .xajax_resp_cl.xajax_resp_flow{margin-top:9px}body .xajax_resp_flow #d3_extsearch_quicksearch{-webkit-box-shadow:0 0 8px rgba(0,158,192,0.6);box-shadow:0 0 8px rgba(0,158,192,0.6);border-radius:4px;background-clip:padding-box}body .xajax_resp_flow #d3_extsearch_quicksearch .headline{background-color:#009EC0;line-height:1.2;height:auto;padding:5px;font-size:14px;border-radius:4px 4px 0 0;background-clip:padding-box}body .xajax_resp_flow #d3_extsearch_quicksearch .closebtn{height:18px;width:20px;margin:3px}body .xajax_resp_flow #d3_extsearch_quicksearch .d3_extsearch_footer{padding:5px;line-height:1.2;height:auto;border-radius:0 0 4px 4px;background-clip:padding-box}body .IAS_box.IAS_box_flow{border-color:#FC6621;width:auto;height:auto}body .IAS_box.IAS_box_flow span{margin:0 0 0 10px;padding:0;width:auto}body .IAS_box.IAS_box_flow .headline{background-color:#FC6621}body .IAS_box.IAS_box_flow .headline label{margin-bottom:0}body .IAS_box.IAS_box_flow .headline .closebtn{margin:4px;border:1px solid #FFF;font-size:10px} \ No newline at end of file diff --git a/src/out/src/css/d3extsearch_azure.min.css b/src/out/src/css/d3extsearch_azure.min.css new file mode 100644 index 0000000..8cb611c --- /dev/null +++ b/src/out/src/css/d3extsearch_azure.min.css @@ -0,0 +1,12 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */@media screen and (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (max-width:767px){}body .product strong.h3 #similar{font-weight:normal;color:#999}body .d3_extsearch_navigation.baseframe{float:none;clear:both;font-size:10px;width:748px}body .d3_extsearch_navigation.baseframe.fit{height:21px;margin:0}body .d3_extsearch_navigation .indexlink,body .d3_extsearch_navigation .indexlink_usable{border-radius:3px 3px 0 0;background-clip:padding-box;font-size:11px;height:16px;color:#E2E2E2;border:1px solid #E2E2E2;border-bottom-style:none;padding:2px;text-align:center;float:left}body .d3_extsearch_navigation .indexlink{min-width:13px}body .d3_extsearch_navigation .indexlink_usable{background-color:#E2E2E2;border-color:#999;min-width:9px}body .d3_extsearch_navigation .headline{background:#E2E2E2 none repeat scroll 0 0;border:1px solid #999;border-left:8px solid #999;border-bottom-style:none;color:#545454;padding:5px 5px 8px 7px;width:727px;margin:0;font-size:11px}body .d3_extsearch_navigation .message{padding:5px;border:1px solid #999;font-weight:bold}body .d3_extsearch_navigation .list{border:1px solid #999;border-top-style:none;padding:8px 5px 8px 7px}body .d3_extsearch_navigation .list .fullitem,body #d3searchfilterform .fullitem{float:none;clear:both;width:100%;text-align:center;margin:5px}body .d3_extsearch_navigation .list .item,body #d3searchfilterform .item{float:left;font-size:12px;margin-bottom:4px;padding:2px 14px}body .d3_extsearch_navigation .list .item select,body #d3searchfilterform .item select{width:100%}body .d3_extsearch_navigation .list .item option.desc,body #d3searchfilterform .item option.desc{background-color:#E2E2E2;text-align:center}body .d3_extsearch_navigation .list .item option.highlight{background-color:#E2E2E2}body .d3_extsearch_navigation .list .clearitem{float:none;clear:both}body .d3_extsearch_navigation .list_link{background:transparent url("../bg/oxid.gif") no-repeat scroll 0 -298px;padding-left:14px;padding-top:2px}body .d3_extsearch_navigation .active{background-color:#00748d;color:#FFF}body .d3_extsearch_navigation .active a{color:#FFF}body .d3_extsearch_navigation a.search_results_list_link{font-size:10px}body .d3_extsearch_navigation .buttonframe{text-align:center;padding-top:5px}body .d3_extsearch_navigation .button{border:1px solid #999;padding:2px}body .d3_extsearch_navigation .login_button{border:1px solid #E2E2E2}body .d3_extsearch_navigation .letter_all{width:22px;border-left:solid 1px}body #d3searchfilterform .item{margin-bottom:10px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1,body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{border:none;background:no-repeat transparent;height:17px;width:11px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1{background-image:url("../../img/extsearch_slider_left.png")}body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{background-image:url("../../img/extsearch_slider_right.png")}body div#page.pageLayout .d3_extsearch_navigation .list{border-radius:0 0 3px 3px;background-clip:padding-box}body .xajax_resp_cl{display:none;position:absolute;z-index:20000;width:500px}body #d3_extsearch_quicksearch{-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;background-color:#FFF;border:1px solid #000;width:100%}body #d3_extsearch_quicksearch .headline{position:relative;color:#FFF;background-color:#00748d;border-bottom:1px solid #000;padding:3px;font-weight:bold;text-align:left;font-size:11px}body #d3_extsearch_quicksearch .closebtn{position:absolute;right:3px;top:1px;cursor:pointer;float:right;border:0 outset #000;padding:0 0;background:url("../bg/d3extsearch_close.gif") no-repeat scroll 0 0 transparent;height:18px;width:20px}body #d3_extsearch_quicksearch .list{max-height:300px;overflow:auto}body #d3_extsearch_quicksearch .list .articlebox,body #d3_extsearch_quicksearch .list .categorybox,body #d3_extsearch_quicksearch .list .vendorbox,body #d3_extsearch_quicksearch .list .contentbox,body #d3_extsearch_quicksearch .list .manufacturerbox{width:100%;padding:10px}body #d3_extsearch_quicksearch .list.hasCategoryItems .articlebox,body #d3_extsearch_quicksearch .list.hasManufacturerItems .articlebox,body #d3_extsearch_quicksearch .list.hasVendorItems .articlebox,body #d3_extsearch_quicksearch .list.hasContentItems .articlebox{width:70%;float:left;clear:left;border-right:1px solid #999;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .list.hasArticleItems .categorybox,body #d3_extsearch_quicksearch .list.hasArticleItems .manufacturerbox,body #d3_extsearch_quicksearch .list.hasArticleItems .vendorbox,body #d3_extsearch_quicksearch .list.hasArticleItems .contentbox{width:30%;float:right;clear:right;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .item_inact,body #d3_extsearch_quicksearch .item_act{cursor:pointer;clear:both;padding:4px 3px;background-color:#FFF;text-align:left;width:100%;color:#000;text-decoration:none;font-size:11px;display:block;overflow:hidden}body #d3_extsearch_quicksearch .item_inact .imgframe,body #d3_extsearch_quicksearch .item_act .imgframe{float:left;margin-right:10px;border:1px solid #E2E2E2;height:52px;width:52px;background-color:#FFF;text-align:center}body #d3_extsearch_quicksearch .item_inact .imgframe img,body #d3_extsearch_quicksearch .item_act .imgframe img{text-align:center;max-width:50px;max-height:50px}body #d3_extsearch_quicksearch .item_act{background-color:#FC6621;color:#FFF}body #d3_extsearch_quicksearch a:hover.item_inact{color:#000;text-decoration:none}body #d3_extsearch_quicksearch a:hover.item_act{color:#FFF;text-decoration:none}body #d3_extsearch_quicksearch .d3_extsearch_footer{background-color:#00748d;border-top:1px solid #000;color:#FFF;display:block;height:19px}body #d3_extsearch_quicksearch .d3_extsearch_footer:hover{background-color:#009EC0}body #d3_extsearch_quicksearch .d3_extsearch_footer a{padding:3px;display:table;background:none repeat scroll 0 0 transparent;border:medium none;color:#FFF;width:344px}body #d3_extsearch_quicksearch .d3_extsearch_footer a:hover{text-decoration:none;color:#000;width:344px}body #d3_extsearch_quicksearch .d3extsearch_suggest h3{font-size:12px;line-height:12px;margin:5px 0;font-weight:bold;border-bottom:1px solid #999;padding-bottom:5px}body .IAS_box{border-radius:3px;background-clip:padding-box;-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;height:70px;width:200px;background-color:#FFF;position:absolute;left:50px;top:50px;display:none;z-index:1000;border:2px solid #FC6621}body .IAS_box input,body .IAS_box span{margin:3px;width:185px}body .IAS_box span{float:right;margin-top:0}body .IAS_box span input{margin:0;width:100px;float:right;text-align:center}body .IAS_box .headline{background-color:#FC6621;color:#FFF;font-weight:bold}body .IAS_box .headline .closebtn{cursor:pointer;float:right;border:1px outset #000;padding:0 3px;font-size:8px;line-height:10px}#d3extsearch_mask,#d3extsearch_message{display:none;visibility:hidden}#d3extsearch_mask.on{z-index:1500;width:100%;visibility:visible;top:0;position:fixed;filter:alpha(opacity=70);-webkit-opacity:.7;-moz-opacity:.7;opacity:.7;left:0;height:100%;display:block;background-color:#000}#similar{padding-left:10px;color:#999}#d3extsearch_message.d3extsearch_popup.load.on{color:#FFF;text-align:center;font-size:18px;z-index:2000;width:270px;visibility:visible;top:50%;position:fixed;padding:20px 10px 10px 10px;margin:-75px 0 0 -135px;left:50%;height:62px;display:block;border:0 solid #00748d;background:-webkit-gradient(linear, left top, left bottom, from(#00c8f3), color-stop(#009EC0), to(#00748d)) repeat scroll 0 0 rgba(0,0,0,0);background:-webkit-linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);background:linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);text-shadow:0 -1px 0 #00748d;border-radius:5px;background-clip:padding-box}.dropdown-menu .dropdown-option div{background-color:#FFF;color:#999;cursor:default;display:block;padding:8px 5px;white-space:normal}.d3extsearch_highlight{color:#D11104}.filterselector.filterselector_hidden{display:none}body div#page.pageLayout .d3_extsearch_navigation.baseframe{width:736px}body div#page.pageLayout .d3_extsearch_navigation .headline{width:727px;border-width:1px;border-radius:3px 3px 0 0;background-clip:padding-box}body .d3_extsearch_navigation.d3theme_azure .list .item{width:216px}body .d3_extsearch_navigation .indexlink,body .d3_extsearch_navigation .indexlink_usable{min-width:15px;border-left:none;cursor:default}body #d3searchfilterform.d3theme_azure .item{width:214px}body .xajax_resp_cl.xajax_resp_azure{right:484px !important;left:auto !important} \ No newline at end of file diff --git a/src/out/src/css/d3extsearch_flow.min.css b/src/out/src/css/d3extsearch_flow.min.css new file mode 100644 index 0000000..91e854d --- /dev/null +++ b/src/out/src/css/d3extsearch_flow.min.css @@ -0,0 +1,12 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */@media screen and (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (max-width:767px){}body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:before,body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:after{content:" ";display:table}body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list:after{clear:both}body .product strong.h3 #similar{font-weight:normal;color:#999}body .d3_extsearch_navigation.baseframe{float:none;clear:both;font-size:10px;width:748px}body .d3_extsearch_navigation.baseframe.fit{height:21px;margin:0}body .d3_extsearch_navigation .indexlink,body .d3_extsearch_navigation .indexlink_usable{border-radius:3px 3px 0 0;background-clip:padding-box;font-size:11px;height:16px;color:#E2E2E2;border:1px solid #E2E2E2;border-bottom-style:none;padding:2px;text-align:center;float:left}body .d3_extsearch_navigation .indexlink{min-width:13px}body .d3_extsearch_navigation .indexlink_usable{background-color:#E2E2E2;border-color:#999;min-width:9px}body .d3_extsearch_navigation .headline{background:#E2E2E2 none repeat scroll 0 0;border:1px solid #999;border-left:8px solid #999;border-bottom-style:none;color:#545454;padding:5px 5px 8px 7px;width:727px;margin:0;font-size:11px}body .d3_extsearch_navigation .message{padding:5px;border:1px solid #999;font-weight:bold}body .d3_extsearch_navigation .list{border:1px solid #999;border-top-style:none;padding:8px 5px 8px 7px}body .d3_extsearch_navigation .list .fullitem,body #d3searchfilterform .fullitem{float:none;clear:both;width:100%;text-align:center;margin:5px}body .d3_extsearch_navigation .list .item,body #d3searchfilterform .item{float:left;font-size:12px;margin-bottom:4px;padding:2px 14px}body .d3_extsearch_navigation .list .item select,body #d3searchfilterform .item select{width:100%}body .d3_extsearch_navigation .list .item option.desc,body #d3searchfilterform .item option.desc{background-color:#E2E2E2;text-align:center}body .d3_extsearch_navigation .list .item option.highlight{background-color:#E2E2E2}body .d3_extsearch_navigation .list .clearitem{float:none;clear:both}body .d3_extsearch_navigation .list_link{background:transparent url("../bg/oxid.gif") no-repeat scroll 0 -298px;padding-left:14px;padding-top:2px}body .d3_extsearch_navigation .active{background-color:#00748d;color:#FFF}body .d3_extsearch_navigation .active a{color:#FFF}body .d3_extsearch_navigation a.search_results_list_link{font-size:10px}body .d3_extsearch_navigation .buttonframe{text-align:center;padding-top:5px}body .d3_extsearch_navigation .button{border:1px solid #999;padding:2px}body .d3_extsearch_navigation .login_button{border:1px solid #E2E2E2}body .d3_extsearch_navigation .letter_all{width:22px;border-left:solid 1px}body #d3searchfilterform .item{margin-bottom:10px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1,body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{border:none;background:no-repeat transparent;height:17px;width:11px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1{background-image:url("../../img/extsearch_slider_left.png")}body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{background-image:url("../../img/extsearch_slider_right.png")}body div#page.pageLayout .d3_extsearch_navigation .list{border-radius:0 0 3px 3px;background-clip:padding-box}body .xajax_resp_cl{display:none;position:absolute;z-index:20000;width:500px}body #d3_extsearch_quicksearch{-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;background-color:#FFF;border:1px solid #000;width:100%}body #d3_extsearch_quicksearch .headline{position:relative;color:#FFF;background-color:#00748d;border-bottom:1px solid #000;padding:3px;font-weight:bold;text-align:left;font-size:11px}body #d3_extsearch_quicksearch .closebtn{position:absolute;right:3px;top:1px;cursor:pointer;float:right;border:0 outset #000;padding:0 0;background:url("../bg/d3extsearch_close.gif") no-repeat scroll 0 0 transparent;height:18px;width:20px}body #d3_extsearch_quicksearch .list{max-height:300px;overflow:auto}body #d3_extsearch_quicksearch .list .articlebox,body #d3_extsearch_quicksearch .list .categorybox,body #d3_extsearch_quicksearch .list .vendorbox,body #d3_extsearch_quicksearch .list .contentbox,body #d3_extsearch_quicksearch .list .manufacturerbox{width:100%;padding:10px}body #d3_extsearch_quicksearch .list.hasCategoryItems .articlebox,body #d3_extsearch_quicksearch .list.hasManufacturerItems .articlebox,body #d3_extsearch_quicksearch .list.hasVendorItems .articlebox,body #d3_extsearch_quicksearch .list.hasContentItems .articlebox{width:70%;float:left;clear:left;border-right:1px solid #999;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .list.hasArticleItems .categorybox,body #d3_extsearch_quicksearch .list.hasArticleItems .manufacturerbox,body #d3_extsearch_quicksearch .list.hasArticleItems .vendorbox,body #d3_extsearch_quicksearch .list.hasArticleItems .contentbox{width:30%;float:right;clear:right;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .item_inact,body #d3_extsearch_quicksearch .item_act{cursor:pointer;clear:both;padding:4px 3px;background-color:#FFF;text-align:left;width:100%;color:#000;text-decoration:none;font-size:11px;display:block;overflow:hidden}body #d3_extsearch_quicksearch .item_inact .imgframe,body #d3_extsearch_quicksearch .item_act .imgframe{float:left;margin-right:10px;border:1px solid #E2E2E2;height:52px;width:52px;background-color:#FFF;text-align:center}body #d3_extsearch_quicksearch .item_inact .imgframe img,body #d3_extsearch_quicksearch .item_act .imgframe img{text-align:center;max-width:50px;max-height:50px}body #d3_extsearch_quicksearch .item_act{background-color:#FC6621;color:#FFF}body #d3_extsearch_quicksearch a:hover.item_inact{color:#000;text-decoration:none}body #d3_extsearch_quicksearch a:hover.item_act{color:#FFF;text-decoration:none}body #d3_extsearch_quicksearch .d3_extsearch_footer{background-color:#00748d;border-top:1px solid #000;color:#FFF;display:block;height:19px}body #d3_extsearch_quicksearch .d3_extsearch_footer:hover{background-color:#009EC0}body #d3_extsearch_quicksearch .d3_extsearch_footer a{padding:3px;display:table;background:none repeat scroll 0 0 transparent;border:medium none;color:#FFF;width:344px}body #d3_extsearch_quicksearch .d3_extsearch_footer a:hover{text-decoration:none;color:#000;width:344px}body #d3_extsearch_quicksearch .d3extsearch_suggest h3{font-size:12px;line-height:12px;margin:5px 0;font-weight:bold;border-bottom:1px solid #999;padding-bottom:5px}body .IAS_box{border-radius:3px;background-clip:padding-box;-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;height:70px;width:200px;background-color:#FFF;position:absolute;left:50px;top:50px;display:none;z-index:1000;border:2px solid #FC6621}body .IAS_box input,body .IAS_box span{margin:3px;width:185px}body .IAS_box span{float:right;margin-top:0}body .IAS_box span input{margin:0;width:100px;float:right;text-align:center}body .IAS_box .headline{background-color:#FC6621;color:#FFF;font-weight:bold}body .IAS_box .headline .closebtn{cursor:pointer;float:right;border:1px outset #000;padding:0 3px;font-size:8px;line-height:10px}#d3extsearch_mask,#d3extsearch_message{display:none;visibility:hidden}#d3extsearch_mask.on{z-index:1500;width:100%;visibility:visible;top:0;position:fixed;filter:alpha(opacity=70);-webkit-opacity:.7;-moz-opacity:.7;opacity:.7;left:0;height:100%;display:block;background-color:#000}#similar{padding-left:10px;color:#999}#d3extsearch_message.d3extsearch_popup.load.on{color:#FFF;text-align:center;font-size:18px;z-index:2000;width:270px;visibility:visible;top:50%;position:fixed;padding:20px 10px 10px 10px;margin:-75px 0 0 -135px;left:50%;height:62px;display:block;border:0 solid #00748d;background:-webkit-gradient(linear, left top, left bottom, from(#00c8f3), color-stop(#009EC0), to(#00748d)) repeat scroll 0 0 rgba(0,0,0,0);background:-webkit-linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);background:linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);text-shadow:0 -1px 0 #00748d;border-radius:5px;background-clip:padding-box}.dropdown-menu .dropdown-option div{background-color:#FFF;color:#999;cursor:default;display:block;padding:8px 5px;white-space:normal}.d3extsearch_highlight{color:#D11104}.filterselector.filterselector_hidden{display:none}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{position:relative;float:left;width:100%;min-height:1px;padding-left:15px;padding-right:15px}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{position:relative;min-height:1px;padding-left:15px;padding-right:15px}@media (min-width:768px){body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{float:left;width:50%}}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{position:relative;min-height:1px;padding-left:15px;padding-right:15px}@media (min-width:992px){body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{float:left;width:100%}}body .d3_extsearch_navigation.baseframe.d3theme_flow.d3sidebar.fit{height:63px}body .d3_extsearch_navigation.baseframe.d3theme_flow.fit{margin-bottom:10px}body .d3_extsearch_navigation.d3theme_flow.d3sidebar #d3searchfilterform .item{margin-bottom:10px}body .d3_extsearch_navigation.d3theme_flow.d3sidebar .indexlink,body .d3_extsearch_navigation.d3theme_flow.d3sidebar .indexlink_usable{min-width:7.6%}body .d3_extsearch_navigation.d3theme_flow.d3sidebar .letter_all{width:22.8%}body .d3_extsearch_navigation.d3theme_flow.baseframe{width:auto}body .d3_extsearch_navigation.d3theme_flow.baseframe .message{margin-bottom:10px;font-family:Raleway,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px}body .d3_extsearch_navigation.d3theme_flow.baseframe .content.list{margin-left:-15px;margin-right:-15px}body .d3_extsearch_navigation.d3theme_flow .list{border-style:none;padding:0}body .d3_extsearch_navigation.d3theme_flow .indexlink,body .d3_extsearch_navigation.d3theme_flow .indexlink_usable{min-width:2.6%;height:21px}body .d3_extsearch_navigation.d3theme_flow .letter_all{width:6.4%}body .d3sidebar{margin-bottom:10px}body .xajax_resp_cl.xajax_resp_flow{margin-top:9px}body .xajax_resp_flow #d3_extsearch_quicksearch{-webkit-box-shadow:0 0 8px rgba(0,158,192,0.6);box-shadow:0 0 8px rgba(0,158,192,0.6);border-radius:4px;background-clip:padding-box}body .xajax_resp_flow #d3_extsearch_quicksearch .headline{background-color:#009EC0;line-height:1.2;height:auto;padding:5px;font-size:14px;border-radius:4px 4px 0 0;background-clip:padding-box}body .xajax_resp_flow #d3_extsearch_quicksearch .closebtn{height:18px;width:20px;margin:3px}body .xajax_resp_flow #d3_extsearch_quicksearch .d3_extsearch_footer{padding:5px;line-height:1.2;height:auto;border-radius:0 0 4px 4px;background-clip:padding-box}body .IAS_box.IAS_box_flow{border-color:#FC6621;width:auto;height:auto}body .IAS_box.IAS_box_flow span{margin:0 0 0 10px;padding:0;width:auto}body .IAS_box.IAS_box_flow .headline{background-color:#FC6621}body .IAS_box.IAS_box_flow .headline label{margin-bottom:0}body .IAS_box.IAS_box_flow .headline .closebtn{margin:4px;border:1px solid #FFF;font-size:10px} \ No newline at end of file diff --git a/src/out/src/css/d3extsearch_mobile.min.css b/src/out/src/css/d3extsearch_mobile.min.css new file mode 100644 index 0000000..994efa7 --- /dev/null +++ b/src/out/src/css/d3extsearch_mobile.min.css @@ -0,0 +1,12 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */@media screen and (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (max-width:767px){}body .product strong.h3 #similar{font-weight:normal;color:#999}body .d3_extsearch_navigation.baseframe{float:none;clear:both;font-size:10px;width:748px}body .d3_extsearch_navigation.baseframe.fit{height:21px;margin:0}body .d3_extsearch_navigation .indexlink,body .d3_extsearch_navigation .indexlink_usable{border-radius:3px 3px 0 0;background-clip:padding-box;font-size:11px;height:16px;color:#E2E2E2;border:1px solid #E2E2E2;border-bottom-style:none;padding:2px;text-align:center;float:left}body .d3_extsearch_navigation .indexlink{min-width:13px}body .d3_extsearch_navigation .indexlink_usable{background-color:#E2E2E2;border-color:#999;min-width:9px}body .d3_extsearch_navigation .headline{background:#E2E2E2 none repeat scroll 0 0;border:1px solid #999;border-left:8px solid #999;border-bottom-style:none;color:#545454;padding:5px 5px 8px 7px;width:727px;margin:0;font-size:11px}body .d3_extsearch_navigation .message{padding:5px;border:1px solid #999;font-weight:bold}body .d3_extsearch_navigation .list{border:1px solid #999;border-top-style:none;padding:8px 5px 8px 7px}body .d3_extsearch_navigation .list .fullitem,body #d3searchfilterform .fullitem{float:none;clear:both;width:100%;text-align:center;margin:5px}body .d3_extsearch_navigation .list .item,body #d3searchfilterform .item{float:left;font-size:12px;margin-bottom:4px;padding:2px 14px}body .d3_extsearch_navigation .list .item select,body #d3searchfilterform .item select{width:100%}body .d3_extsearch_navigation .list .item option.desc,body #d3searchfilterform .item option.desc{background-color:#E2E2E2;text-align:center}body .d3_extsearch_navigation .list .item option.highlight{background-color:#E2E2E2}body .d3_extsearch_navigation .list .clearitem{float:none;clear:both}body .d3_extsearch_navigation .list_link{background:transparent url("../bg/oxid.gif") no-repeat scroll 0 -298px;padding-left:14px;padding-top:2px}body .d3_extsearch_navigation .active{background-color:#00748d;color:#FFF}body .d3_extsearch_navigation .active a{color:#FFF}body .d3_extsearch_navigation a.search_results_list_link{font-size:10px}body .d3_extsearch_navigation .buttonframe{text-align:center;padding-top:5px}body .d3_extsearch_navigation .button{border:1px solid #999;padding:2px}body .d3_extsearch_navigation .login_button{border:1px solid #E2E2E2}body .d3_extsearch_navigation .letter_all{width:22px;border-left:solid 1px}body #d3searchfilterform .item{margin-bottom:10px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1,body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{border:none;background:no-repeat transparent;height:17px;width:11px}body .ui-widget-content .ui-state-default#d3extsearch_priceslider1{background-image:url("../../img/extsearch_slider_left.png")}body .ui-widget-content .ui-state-default#d3extsearch_priceslider2{background-image:url("../../img/extsearch_slider_right.png")}body div#page.pageLayout .d3_extsearch_navigation .list{border-radius:0 0 3px 3px;background-clip:padding-box}body .xajax_resp_cl{display:none;position:absolute;z-index:20000;width:500px}body #d3_extsearch_quicksearch{-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;background-color:#FFF;border:1px solid #000;width:100%}body #d3_extsearch_quicksearch .headline{position:relative;color:#FFF;background-color:#00748d;border-bottom:1px solid #000;padding:3px;font-weight:bold;text-align:left;font-size:11px}body #d3_extsearch_quicksearch .closebtn{position:absolute;right:3px;top:1px;cursor:pointer;float:right;border:0 outset #000;padding:0 0;background:url("../bg/d3extsearch_close.gif") no-repeat scroll 0 0 transparent;height:18px;width:20px}body #d3_extsearch_quicksearch .list{max-height:300px;overflow:auto}body #d3_extsearch_quicksearch .list .articlebox,body #d3_extsearch_quicksearch .list .categorybox,body #d3_extsearch_quicksearch .list .vendorbox,body #d3_extsearch_quicksearch .list .contentbox,body #d3_extsearch_quicksearch .list .manufacturerbox{width:100%;padding:10px}body #d3_extsearch_quicksearch .list.hasCategoryItems .articlebox,body #d3_extsearch_quicksearch .list.hasManufacturerItems .articlebox,body #d3_extsearch_quicksearch .list.hasVendorItems .articlebox,body #d3_extsearch_quicksearch .list.hasContentItems .articlebox{width:70%;float:left;clear:left;border-right:1px solid #999;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .list.hasArticleItems .categorybox,body #d3_extsearch_quicksearch .list.hasArticleItems .manufacturerbox,body #d3_extsearch_quicksearch .list.hasArticleItems .vendorbox,body #d3_extsearch_quicksearch .list.hasArticleItems .contentbox{width:30%;float:right;clear:right;-webkit-box-sizing:border-box;box-sizing:border-box}body #d3_extsearch_quicksearch .item_inact,body #d3_extsearch_quicksearch .item_act{cursor:pointer;clear:both;padding:4px 3px;background-color:#FFF;text-align:left;width:100%;color:#000;text-decoration:none;font-size:11px;display:block;overflow:hidden}body #d3_extsearch_quicksearch .item_inact .imgframe,body #d3_extsearch_quicksearch .item_act .imgframe{float:left;margin-right:10px;border:1px solid #E2E2E2;height:52px;width:52px;background-color:#FFF;text-align:center}body #d3_extsearch_quicksearch .item_inact .imgframe img,body #d3_extsearch_quicksearch .item_act .imgframe img{text-align:center;max-width:50px;max-height:50px}body #d3_extsearch_quicksearch .item_act{background-color:#FC6621;color:#FFF}body #d3_extsearch_quicksearch a:hover.item_inact{color:#000;text-decoration:none}body #d3_extsearch_quicksearch a:hover.item_act{color:#FFF;text-decoration:none}body #d3_extsearch_quicksearch .d3_extsearch_footer{background-color:#00748d;border-top:1px solid #000;color:#FFF;display:block;height:19px}body #d3_extsearch_quicksearch .d3_extsearch_footer:hover{background-color:#009EC0}body #d3_extsearch_quicksearch .d3_extsearch_footer a{padding:3px;display:table;background:none repeat scroll 0 0 transparent;border:medium none;color:#FFF;width:344px}body #d3_extsearch_quicksearch .d3_extsearch_footer a:hover{text-decoration:none;color:#000;width:344px}body #d3_extsearch_quicksearch .d3extsearch_suggest h3{font-size:12px;line-height:12px;margin:5px 0;font-weight:bold;border-bottom:1px solid #999;padding-bottom:5px}body .IAS_box{border-radius:3px;background-clip:padding-box;-webkit-box-shadow:4px 4px 4px #545454;box-shadow:4px 4px 4px #545454;height:70px;width:200px;background-color:#FFF;position:absolute;left:50px;top:50px;display:none;z-index:1000;border:2px solid #FC6621}body .IAS_box input,body .IAS_box span{margin:3px;width:185px}body .IAS_box span{float:right;margin-top:0}body .IAS_box span input{margin:0;width:100px;float:right;text-align:center}body .IAS_box .headline{background-color:#FC6621;color:#FFF;font-weight:bold}body .IAS_box .headline .closebtn{cursor:pointer;float:right;border:1px outset #000;padding:0 3px;font-size:8px;line-height:10px}#d3extsearch_mask,#d3extsearch_message{display:none;visibility:hidden}#d3extsearch_mask.on{z-index:1500;width:100%;visibility:visible;top:0;position:fixed;filter:alpha(opacity=70);-webkit-opacity:.7;-moz-opacity:.7;opacity:.7;left:0;height:100%;display:block;background-color:#000}#similar{padding-left:10px;color:#999}#d3extsearch_message.d3extsearch_popup.load.on{color:#FFF;text-align:center;font-size:18px;z-index:2000;width:270px;visibility:visible;top:50%;position:fixed;padding:20px 10px 10px 10px;margin:-75px 0 0 -135px;left:50%;height:62px;display:block;border:0 solid #00748d;background:-webkit-gradient(linear, left top, left bottom, from(#00c8f3), color-stop(#009EC0), to(#00748d)) repeat scroll 0 0 rgba(0,0,0,0);background:-webkit-linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);background:linear-gradient(#00c8f3, #009EC0, #00748d) repeat scroll 0 0 rgba(0,0,0,0);text-shadow:0 -1px 0 #00748d;border-radius:5px;background-clip:padding-box}.dropdown-menu .dropdown-option div{background-color:#FFF;color:#999;cursor:default;display:block;padding:8px 5px;white-space:normal}.d3extsearch_highlight{color:#D11104}.filterselector.filterselector_hidden{display:none}.d3extsearch_mobile h3{margin-top:0;padding-left:17px}.d3extsearch_mobile .content.list{margin-bottom:30px}.d3extsearch_mobile .content.list li a{line-height:3}.d3extsearch_mobile .message{padding:17px}.d3extsearch_mobile.spacer{margin-top:17px}.d3extsearch_mobile .indexlink,.d3extsearch_mobile .indexlink_usable{background-color:#FFF;border:2px solid #E2E2E2;color:#E2E2E2;float:left;padding:10px 18px}.d3extsearch_mobile .indexlink_usable{border:2px solid #009EC0;color:#009EC0}.d3extsearch_mobile .indexlink_usable.active,.d3extsearch_mobile .indexlink_usable.active a{background-color:#009EC0;color:#FFF} \ No newline at end of file diff --git a/src/out/src/css/d3extsearch_slider.min.css b/src/out/src/css/d3extsearch_slider.min.css new file mode 100644 index 0000000..81e9c21 --- /dev/null +++ b/src/out/src/css/d3extsearch_slider.min.css @@ -0,0 +1,9 @@ +/*! + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */@media screen and (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (min-width:768px){}@media (min-width:768px){}@media (max-width:767px){}@media (max-width:767px){}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{position:absolute !important;clip:rect(1px 1px 1px 1px)}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui-helper-clearfix{display:inline-block}* html .ui-helper-clearfix{height:1%}.ui-helper-clearfix{display:block}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity = 0)}.ui-state-disabled{cursor:default !important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #aaaaaa;background:#ffffff 50% 50% repeat-x;color:#222222}.ui-widget-content a{color:#222222}.ui-widget-header{border:1px solid #aaaaaa;background:#cccccc 50% 50% repeat-x;color:#222222;font-weight:bold}.ui-widget-header a{color:#222222}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-0.3em;margin-left:-0.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-0.3em;margin-left:0;margin-bottom:-0.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0} \ No newline at end of file diff --git a/src/out/src/js/d3extsearch.min.js b/src/out/src/js/d3extsearch.min.js new file mode 100644 index 0000000..ab9537d --- /dev/null +++ b/src/out/src/js/d3extsearch.min.js @@ -0,0 +1,14 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @license + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ +$(function(){$.widget("ui.d3extsearchsuggest",{options:{currentEvent:null,oAjaxResponseElement:null,isSend:0,coloredId:null,oldColoredId:null,iActLine:null,iCode:null,blNavigate:null,iRet:null,sSelection:null,oSelection:null,iDelay:600,sD3SearchBoxDefault:"",sWaitMessage:"",sParentThemeId:"flow",sRequestUrl:null,sSearchFormId:"search",sCloseBtnId:"d3extsearch_suggest_closebtn",sResultListId:"#searchItemList",sResultItemClass:".d3QSItem",sStartSearchButtonId:"d3extsearch_suggest_startsearch",sResponseElementId:"xajax_resp",sResponseElementClass:"xajax_resp_cl",sWaitMsgIdentificator:"#d3_extsearch_quicksearch.searchWaitMsg",sRequestFncName:"getSuggestContent",sSearchParamName:"searchParam",sActClassName:"item_act",sInactClassName:"item_inact",sActiveElementStyleDisplay:"block",sActiveElementStyleTop:null,sActiveElementStyleLeft:null,blAutomatedActiveElementStyleWidth:!1,sActiveElementStyleWidth:null,iScrollTopOffset:29,blEnableLeftRightNavigation:!0,blToggleLeftRightDirection:!1},_create:function(){var a=this,b=this.element,c=this.options;this.addResponseElement(),b.keyup(function(b){a.keyHandler(b)}),$("#"+c.sSearchFormId).submit(function(b){a.keyHandler(b)})},addResponseElement:function(){var a=this.options,b=$("#"+a.sResponseElementId);0===b.length?a.oAjaxResponseElement=$("
",{id:a.sResponseElementId,class:a.sResponseElementClass+" xajax_resp_"+a.sParentThemeId}).appendTo("body"):a.oAjaxResponseElement=b},mouseHandler:function(a,b){var c=this.options;c.oldColoredId=c.coloredId,c.coloredId=a,c.iActLine=b,c.blNavigate=!0,this.changeResultItemColor(c.coloredId,c.oldColoredId)},keyHandler:function(a){a.preventDefault();var b=this.options;b.currentEvent=a;var c="submit"===a.type.toLowerCase(),d=c?"Enter":a.key;c||b.oAjaxResponseElement.is(":visible")?"arrowup"===d.toLowerCase()?this.handleArrowUpKey():"arrowleft"!==d.toLowerCase()&&"pageup"!==d.toLowerCase()||!b.blEnableLeftRightNavigation?"arrowright"!==d.toLowerCase()&&"pagedown"!==d.toLowerCase()||!b.blEnableLeftRightNavigation?"arrowdown"===d.toLowerCase()?this.handleArrowDownKey():"enter"===d.toLowerCase()?b.blNavigate?this.handleEnterKeyOnSelectedItem():this.handleEnterKeyWithoutSelectedItem():"escape"===d.toLowerCase()?this.handleEscapeKey():this.handleOtherKeys():this.handleArrowRightKey():this.handleArrowLeftKey():this.showSuggestWindow()},handleArrowUpKey:function(){var a=this.options;a.iActLine>0&&a.iActLine--,a.coloredId&&(a.oldColoredId=a.coloredId),a.blNavigate=!0,a.coloredId=this.getResultItemIdByLine(a.iActLine),this.changeResultItemColor(a.coloredId,a.oldColoredId)},handleArrowDownKey:function(){var a=this.options,b=this.getResultItemCount();a.iActLine1&&(b=$.inArray(e,d),c=a.blToggleLeftRightDirection?1:-1):console.error("selected item has no data-object-type attribute, can not switch to next group")}if(null!==b){var f=d[b+c],g=this.findFirstElementIdByObjectType(f);null!==g&&(a.coloredId&&(a.oldColoredId=a.coloredId),a.coloredId=g,this.changeResultItemColor(a.coloredId,a.oldColoredId),a.oldColoredId=a.coloredId)}},handleArrowRightKey:function(){var a=this.options,b=null,c=null,d=this.getTypesList();if(a.iActLine<0)b=0,c=0;else{var e=$("#"+this.getResultItemIdByLine(a.iActLine)).attr("data-object-type");e?e&&e.length&&d.length>1&&(b=$.inArray(e,d),c=a.blToggleLeftRightDirection?-1:1):console.error("selected item has no data-object-type attribute, can not switch to next group")}if(null!==b){var f=d[b+c],g=this.findFirstElementIdByObjectType(f);g&&(a.coloredId&&(a.oldColoredId=a.coloredId),a.coloredId=g,this.changeResultItemColor(a.coloredId,a.oldColoredId),a.oldColoredId=a.coloredId)}},getTypesList:function(){var a=[];return this.getResultItemListElement().each(function(){var b=$(this).attr("data-object-type");b?b.length&&$.inArray(b,a)<0&&a.push(b):console.error("no data-object-type attributes for grouping found")}),a},findFirstElementIdByObjectType:function(a){var b=this.options,c=null;return this.getResultItemListElement().each(function(d){if($(this).attr("data-object-type")===a)return b.iActLine=d,c=$(this).attr("id"),!1}),c},handleEnterKeyOnSelectedItem:function(){var a=this.options,b=$("#"+this.getResultItemIdByLine(a.iActLine));window.location.href=b.attr("href")},handleEnterKeyWithoutSelectedItem:function(){var a=this.options;a.isSend&&(window.clearTimeout(a.isSend),a.oAjaxResponseElement.hide());var b=$("#"+a.sSearchFormId);b.off("submit"),b.submit()},handleEscapeKey:function(){this.options.oAjaxResponseElement.hide()},handleOtherKeys:function(){var a=this.options,b=a.currentEvent,c=b.key;"ArrowLeft"!==c&&"ArrowRight"!==c&&this.showSuggestWindow()},showSuggestWindow:function(){var a=this.options;if("enter"!==a.currentEvent.key.toLowerCase())return 0===$(a.sWaitMsgIdentificator).length?(this.showWaitMessage(),a.isSend=window.setTimeout(this.showResult(),0)):(this.showWaitMessage(),a.isSend&&window.clearTimeout(a.isSend),a.isSend=window.setTimeout(this.showResult(),a.iDelay)),null},showWaitMessage:function(){var a=this.options;a.oAjaxResponseElement.html($("
").html(a.sWaitMessage).text()),this.setResponseElementStyle()},showResult:function(){var a=this.options,b=this.element,c=this;$.get(a.sRequestUrl+"fnc="+a.sRequestFncName+"&"+a.sSearchParamName+"="+b.val(),function(b){a.oAjaxResponseElement.html(b),c.setItemsMouseHandler(),c.setResponseElementStyle(),c.setStartSearchButtonHandler()}),a.iActLine=-1,a.coloredId=-1,a.oldColoredId=-1,a.blNavigate=!1},setResponseElementStyle:function(){function a(){this.top=b.sActiveElementStyleTop?b.sActiveElementStyleTop:c.offset().top+(c.height()+5)+"px",this.left=b.sActiveElementStyleLeft?b.sActiveElementStyleLeft:c.offset().left+"px",b.blAutomatedActiveElementStyleWidth&&(this.width=b.sActiveElementStyleWidth?b.sActiveElementStyleWidth:c.width()+"px")}var b=this.options,c=this.element;b.oAjaxResponseElement.show().css(new a).click(function(a){a.stopPropagation()}),this.element.click(function(a){a.stopPropagation()}),$("body").click(function(){b.oAjaxResponseElement.hide()}),$("#"+b.sCloseBtnId).click(function(a){a.stopPropagation(),b.oAjaxResponseElement.hide()})},getResultItemListElement:function(){var a=this.options;return $(a.sResultListId).find("a"+a.sResultItemClass)},getResultItemCount:function(){return this.getResultItemListElement().length},getResultItemIdByLine:function(a){var b=null;return this.getResultItemListElement().each(function(c,d){c===a&&(b=$(this).attr("id"))}),b},changeResultItemColor:function(a,b){var c=this.options;-1!==b&&b!==a&&$("#"+b).addClass(c.sInactClassName).removeClass(c.sActClassName),b!==a&&$("#"+a).addClass(c.sActClassName).removeClass(c.sInactClassName),this.scrollToSelectedElement(a)},scrollToSelectedElement:function(a){var b=this.options,c=b.currentEvent,d=$("#"+a);if(!(0===d.length||c.type.toLowerCase().indexOf("mouse")>=0)){var e=$(b.sResultListId),f=d.position().top+e.scrollTop()-b.iScrollTopOffset;e.stop(!0).animate({scrollTop:f},"slow")}},setItemsMouseHandler:function(){var a=this,b=this.options;this.getResultItemListElement().each(function(c){$(this).mouseover(function(d){b.currentEvent=d;var e=a.getResultItemIdByLine(c);a.mouseHandler(e,c)})})},setStartSearchButtonHandler:function(){var a=this,b=this.options;$("#"+b.sStartSearchButtonId).click(function(b){b.preventDefault(),a.handleEnterKeyWithoutSelectedItem()})}})}(jQuery)); \ No newline at end of file diff --git a/src/out/src/js/d3extsearch_ias.min.js b/src/out/src/js/d3extsearch_ias.min.js new file mode 100644 index 0000000..b72e265 --- /dev/null +++ b/src/out/src/js/d3extsearch_ias.min.js @@ -0,0 +1,14 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @license + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ +$(function(){$.widget("ui.d3extsearchias",{options:{sElementId:"IAS_box",sInputElementId:"IAS_input",sCloseElementId:"IAS_closebtn",iPosOffset:10,sLastSelection:"",iDelay:600,oClearWnd:null},_create:function(){var a=this,b=(this.element,this.options);$("#"+b.sElementId).mouseup(function(a){a.stopPropagation()}),$("body").mouseup(function(b){a.checkIasWindow(b)}),$("#"+b.sCloseElementId).click(function(){a.clearIasWindow()})},showIasWindow:function(a){var b=this.options,c=$("#"+b.sElementId),d=$("#"+b.sInputElementId);if(c.length){var e=this.getSelection();e!==b.sLastSelection&&e.length>0&&(c.show().css({top:a.pageY+b.iPosOffset+"px",left:a.pageX+b.iPosOffset+"px"}),d.val(e),b.sLastSelection=e)}},checkIasWindow:function(a){this.getSelection()?this.showIasWindow(a):this.clearIasWindow()},clearIasWindow:function(){var a=this.options;$("#"+a.sElementId).hide(),a.sLastSelection=""},getSelection:function(){var a;return window.getSelection?a=window.getSelection():document.getSelection?a=document.getSelection():document.selection&&(a=document.selection.createRange().text),a.toString()}})}(jQuery)); \ No newline at end of file diff --git a/src/out/src/js/d3extsearch_slider.min.js b/src/out/src/js/d3extsearch_slider.min.js new file mode 100644 index 0000000..09d0386 --- /dev/null +++ b/src/out/src/js/d3extsearch_slider.min.js @@ -0,0 +1,14 @@ +/** + * This Software is the property of Data Development and is protected + * by copyright law - it is NOT Freeware. + * Any unauthorized use of this software without a valid license + * is a violation of the license agreement and will be prosecuted by + * civil and criminal law. + * http://www.shopmodule.com + * + * @license + * @copyright (C) D3 Data Development (Inh. Thomas Dartsch) + * @author D3 Data Development - Daniel Seifert + * @link http://www.oxidmodule.com + */ +!function(a){d3extsearchslider={options:{fieldMinId:"d3extsearch_PriceFilterfieldMinId",fieldMaxId:"d3extsearch_PriceFilterfieldMaxId",infoMinId:"d3extsearch_PriceFilterPriceInfoMinId",infoMaxId:"d3extsearch_PriceFilterPriceInfoMaxId",formId:"d3searchfilterform"},_create:function(){var b=this,c=b.options,d=b.element;void 0!==c.limitMin&&(a("input#"+c.fieldMinId+",input#"+c.fieldMaxId).hide(),a(d).slider({range:!0,min:c.limitMin,max:c.limitMax,step:100,values:[c.stepsMin,c.stepsMax],slide:function(b,e){a("#"+c.infoMinId).html(a(d).slider("option","values")[0]/100),a("#"+c.infoMaxId).html(a(d).slider("option","values")[1]/100)},change:function(b,e){a("input#"+c.fieldMinId).val(a(d).slider("option","values")[0]/100),a("input#"+c.fieldMaxId).val(a(d).slider("option","values")[1]/100),a("#"+c.infoMinId).html(a(d).slider("option","values")[0]/100),a("#"+c.infoMaxId).html(a(d).slider("option","values")[1]/100),d3_extsearch_popup.popup.load(),a("form#"+c.formId).submit()}}))}},a.widget("ui.d3extsearchslider",d3extsearchslider)}(jQuery); \ No newline at end of file diff --git a/src/out/src/js/jquery.ui.touch-punch.min.js b/src/out/src/js/jquery.ui.touch-punch.min.js new file mode 100644 index 0000000..e0b85c0 --- /dev/null +++ b/src/out/src/js/jquery.ui.touch-punch.min.js @@ -0,0 +1,11 @@ +/*! + * jQuery UI Touch Punch 0.2.3 + * + * Copyright 2011–2014, Dave Furfero + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Depends: + * jquery.ui.widget.js + * jquery.ui.mouse.js + */ +!function(a){function f(a,b){if(!(a.originalEvent.touches.length>1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery); \ No newline at end of file diff --git a/src/picture.png b/src/picture.png new file mode 100644 index 0000000..95508d8 Binary files /dev/null and b/src/picture.png differ diff --git a/src/public/.htaccess b/src/public/.htaccess new file mode 100644 index 0000000..38660d5 --- /dev/null +++ b/src/public/.htaccess @@ -0,0 +1,11 @@ + + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + order deny,allow + allow from all + + \ No newline at end of file diff --git a/src/public/d3_extsearch_response.php b/src/public/d3_extsearch_response.php new file mode 100644 index 0000000..132708f --- /dev/null +++ b/src/public/d3_extsearch_response.php @@ -0,0 +1,37 @@ + + * @link http://www.oxidmodule.com + */ + +use D3\Extsearch\Application\Controller\d3_extsearch_response; +use OxidEsales\Eshop\Core\Registry; + +/** + * Returns shop base path. + * + * @return string + */ +function getShopBasePath() +{ + return dirname(__FILE__) . '/../../../../'; +} + +require_once getShopBasePath() . "/bootstrap.php"; + +/** @var d3_extsearch_response $oResponse */ +$oResponse = oxNew(d3_extsearch_response::class); +$oResponse->init($_GET); + +Registry::getConfig()->pageClose(); \ No newline at end of file diff --git a/src/setup/d3_extsearch_semantic_synset.php b/src/setup/d3_extsearch_semantic_synset.php new file mode 100644 index 0000000..ab59890 --- /dev/null +++ b/src/setup/d3_extsearch_semantic_synset.php @@ -0,0 +1,84 @@ +aESSemanticTables = array( + 'd3_extsearch_synset' => array( + 'sName' => 'd3_extsearch_synset', + 'sType' => 'MyISAM', + 'sComment' => '', + ), +); + +$this->aESSemanticFields = array( + 'D3SYN_SYNSET_OXID' => array( + 'sTableName' => 'd3_extsearch_synset', + 'sFieldName' => 'OXID', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_SYNSET_IS_VISIBLE' => array( + 'sTableName' => 'd3_extsearch_synset', + 'sFieldName' => 'IS_VISIBLE', + 'sType' => 'BIT(1)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_SYNSET_USER_COMMENT' => array( + 'sTableName' => 'd3_extsearch_synset', + 'sFieldName' => 'USER_COMMENT', + 'sType' => 'LONGTEXT', + 'blNull' => true, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), +); + +$this->aESSemanticIndizes = array( + 'SYNSET_PRIMARY' => array( + 'sTableName' => 'd3_extsearch_synset', + 'sType' => d3database::INDEX_TYPE_PRIMARY, + 'aFields' => array( + 'OXID' => 'OXID', + ), + 'blMultilang' => false, + ), + 'IS_VISIBLE' => array( + 'sTableName' => 'd3_extsearch_synset', + 'sType' => '', + 'aFields' => array( + 'IS_VISIBLE' => 'IS_VISIBLE', + ), + 'blMultilang' => false, + ), +); + +$this->aESSemanticRenameFields = array( + 'SYNSET_OXID' => array( + 'sTableName' => 'd3_extsearch_synset', + 'mOldFieldNames' => array('id', 'ID', 'oxid'), // is case sensitive + 'sFieldName' => 'OXID', + 'blMultilang' => false, + ), + 'SYNSET_ISVISIBLE' => array( + 'sTableName' => 'd3_extsearch_synset', + 'mOldFieldNames' => array('is_visible'), // is case sensitive + 'sFieldName' => 'IS_VISIBLE', + 'blMultilang' => false, + ), + 'SYNSET_USER_COMMENT' => array( + 'sTableName' => 'd3_extsearch_synset', + 'mOldFieldNames' => array('user_comment'), // is case sensitive + 'sFieldName' => 'USER_COMMENT', + 'blMultilang' => false, + ), +); diff --git a/src/setup/d3_extsearch_semantic_term.php b/src/setup/d3_extsearch_semantic_term.php new file mode 100644 index 0000000..8af9fc3 --- /dev/null +++ b/src/setup/d3_extsearch_semantic_term.php @@ -0,0 +1,158 @@ +aESSemanticTables = array( + 'd3_extsearch_term' => array( + 'sName' => 'd3_extsearch_term', + 'sType' => 'MyISAM', + 'sComment' => '', + ), +); + +$this->aESSemanticFields = array( + 'D3SYN_TERM_OXID' => array( + 'sTableName' => 'd3_extsearch_term', + 'sFieldName' => 'OXID', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_TERM_LANGUAGE_ID' => array( + 'sTableName' => 'd3_extsearch_term', + 'sFieldName' => 'LANGUAGE_ID', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_TERM_SYNSET_ID' => array( + 'sTableName' => 'd3_extsearch_term', + 'sFieldName' => 'SYNSET_ID', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_TERM_USER_COMMENT' => array( + 'sTableName' => 'd3_extsearch_term', + 'sFieldName' => 'USER_COMMENT', + 'sType' => 'VARCHAR(255)', + 'blNull' => true, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_TERM_WORD' => array( + 'sTableName' => 'd3_extsearch_term', + 'sFieldName' => 'WORD', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3SYN_TERM_D3_PHONETIC' => array( + 'sTableName' => 'd3_extsearch_term', + 'sFieldName' => 'D3_PHONETIC', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), +); + +$this->aESSemanticIndizes = array( + 'D3TERM_PRIMARY' => array( + 'sTableName' => 'd3_extsearch_term', + 'sType' => d3database::INDEX_TYPE_PRIMARY, + 'aFields' => array( + 'OXID' => 'OXID', + ), + 'blMultilang' => false, + ), + 'FK36446CA3843755' => array( + 'sTableName' => 'd3_extsearch_term', + 'sType' => '', + 'sName' => 'FK36446CA3843755', + 'aFields' => array( + 'SYNSET_ID' => 'SYNSET_ID', + ), + 'blMultilang' => false, + ), + 'FK36446C5CA8CBD5' => array( + 'sTableName' => 'd3_extsearch_term', + 'sType' => '', + 'sName' => 'FK36446C5CA8CBD5', + 'aFields' => array( + 'LANGUAGE_ID' => 'LANGUAGE_ID', + ), + 'blMultilang' => false, + ), + 'WORD' => array( + 'sTableName' => 'd3_extsearch_term', + 'sType' => '', + 'aFields' => array( + 'WORD' => 'WORD', + ), + 'blMultilang' => false, + ), + 'D3_PHONETIC' => array( + 'sTableName' => 'd3_extsearch_term', + 'sType' => '', + 'aFields' => array( + 'D3_PHONETIC' => 'D3_PHONETIC', + ), + 'blMultilang' => false, + ), +); + +$this->aESSemanticRenameFields = array( + 'TERM_OXID' => array( + 'sTableName' => 'd3_extsearch_term', + 'mOldFieldNames' => array('id', 'ID', 'oxid'), // is case sensitive + 'sFieldName' => 'OXID', + 'blMultilang' => false, + ), + 'TERM_LANGUAGEID' => array( + 'sTableName' => 'd3_extsearch_term', + 'mOldFieldNames' => array('language_id'), // is case sensitive + 'sFieldName' => 'LANGUAGE_ID', + 'blMultilang' => false, + ), + 'TERM_SYNSETID' => array( + 'sTableName' => 'd3_extsearch_term', + 'mOldFieldNames' => array('synset_id'), // is case sensitive + 'sFieldName' => 'SYNSET_ID', + 'blMultilang' => false, + ), + 'TERM_USERCOMMENT' => array( + 'sTableName' => 'd3_extsearch_term', + 'mOldFieldNames' => array('user_comment'), // is case sensitive + 'sFieldName' => 'USER_COMMENT', + 'blMultilang' => false, + ), + 'TERM_WORD' => array( + 'sTableName' => 'd3_extsearch_term', + 'mOldFieldNames' => array('word'), // is case sensitive + 'sFieldName' => 'WORD', + 'blMultilang' => false, + ), + 'TERM_D3PHONETIC' => array( + 'sTableName' => 'd3_extsearch_term', + 'mOldFieldNames' => array('d3_phonetic'), // is case sensitive + 'sFieldName' => 'D3_PHONETIC', + 'blMultilang' => false, + ), +); diff --git a/src/setup/d3_extsearch_semanticstructure.php b/src/setup/d3_extsearch_semanticstructure.php new file mode 100644 index 0000000..c7477cd --- /dev/null +++ b/src/setup/d3_extsearch_semanticstructure.php @@ -0,0 +1,43 @@ +aESSemanticTables); + unset($this->aESSemanticFields); + unset($this->aESSemanticIndizes); + unset($this->aESSemanticRenameFields); + + require($sScript); + + if (isset($this->aESSemanticTables) + && is_array($this->aESSemanticTables) + && count($this->aESSemanticTables) + ) { + $this->aSemanticTables = array_merge($this->aSemanticTables, $this->aESSemanticTables); + } + + if (isset($this->aESSemanticFields) + && is_array($this->aESSemanticFields) + && count($this->aESSemanticFields) + ) { + $this->aFields = array_merge($this->aFields, $this->aESSemanticFields); + } + + if (isset($this->aESSemanticIndizes) + && is_array($this->aESSemanticIndizes) + && count($this->aESSemanticIndizes) + ) { + $this->aIndizes = array_merge($this->aIndizes, $this->aESSemanticIndizes); + } + + if (isset($this->aESSemanticRenameFields) + && is_array($this->aESSemanticRenameFields) + && count($this->aESSemanticRenameFields) + ) { + $this->aRenameFields = array_merge($this->aRenameFields, $this->aESSemanticRenameFields); + } +} diff --git a/src/setup/d3_extsearch_statisticlog.php b/src/setup/d3_extsearch_statisticlog.php new file mode 100644 index 0000000..d5a932d --- /dev/null +++ b/src/setup/d3_extsearch_statisticlog.php @@ -0,0 +1,194 @@ +aESStatisticTables = array( + 'd3_extsearch_term' => array( + 'sName' => 'd3_extsearch_statisticlog', + 'sType' => 'InnoDb', + 'sComment' => 'extSearch statistic log', + ), +); + +$this->aESStatisticFields = array( + 'OXID' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXID', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => '', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXTIME' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXTIME', + 'sType' => 'DATETIME', + 'blNull' => false, + 'sDefault' => '0000-00-00 00:00:00', + 'sComment' => 'Creation Time', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXSHOPID' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXSHOPID', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => 'Shop Id (oxshops)', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXUSERID' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXUSERID', + 'sType' => 'CHAR(32)', + 'blNull' => true, + 'sDefault' => false, + 'sComment' => 'User Id (oxuser)', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXSESSID' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXSESSID', + 'sType' => 'CHAR(32)', + 'blNull' => true, + 'sDefault' => false, + 'sComment' => 'Session Id', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXLANG' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXLANG', + 'sType' => 'CHAR(32)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => 'Session Id', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXSEARCHPARAM' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXSEARCHPARAM', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => 'Search Parameters', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXPARAMETER' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXPARAMETER', + 'sType' => 'VARCHAR(255)', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => 'additional Search Parameters', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3COUNT' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'D3COUNT', + 'sType' => 'INT(5)', + 'blNull' => false, + 'sDefault' => '0', + 'sComment' => 'Article Count', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'OXTIMESTAMP' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sFieldName' => 'OXTIMESTAMP', + 'sType' => 'TIMESTAMP', + 'blNull' => false, + 'sDefault' => 'CURRENT_TIMESTAMP', + 'sComment' => 'Timestamp', + 'sExtra' => '', + 'blMultilang' => false, + ), +); + +$this->aESStatisticIndizes = array( + 'OXID' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sType' => d3database::INDEX_TYPE_PRIMARY, + 'aFields' => array( + 'OXID' => 'OXID', + ), + ), + 'OXTIME' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sType' => '', + 'sName' => 'OXTIME', + 'aFields' => array( + 'OXTIME' => 'OXTIME', + ), + ), + 'OXSHOPID' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sType' => '', + 'sName' => 'OXSHOPID', + 'aFields' => array( + 'OXSHOPID'=> 'OXSHOPID', + ), + ), + 'OXLANG' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sType' => '', + 'sName' => 'OXLANG', + 'aFields' => array( + 'OXLANG' => 'OXLANG', + ), + ), + 'OXSEARCHPARAM' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sType' => '', + 'sName' => 'OXSEARCHPARAM', + 'aFields' => array( + 'OXSEARCHPARAM' => 'OXSEARCHPARAM', + ), + ), + 'D3COUNT' => array( + 'sTableName' => 'd3_extsearch_statisticlog', + 'sType' => '', + 'sName' => 'D3COUNT', + 'aFields' => array( + 'D3COUNT' => 'D3COUNT', + ), + ), +); + +$this->aESStatisticRenameFields = array(); + +if (isset($this->aESStatisticTables) + && is_array($this->aESStatisticTables) + && count($this->aESStatisticTables) +) { + $this->aStatisticTables = array_merge($this->aStatisticTables, $this->aESStatisticTables); +} + +if (isset($this->aESStatisticFields) + && is_array($this->aESStatisticFields) + && count($this->aESStatisticFields) +) { + $this->aFields = array_merge($this->aFields, $this->aESStatisticFields); +} + +if (isset($this->aESStatisticIndizes) + && is_array($this->aESStatisticIndizes) + && count($this->aESStatisticIndizes) +) { + $this->aIndizes = array_merge($this->aIndizes, $this->aESStatisticIndizes); +} + +if (isset($this->aESStatisticRenameFields) + && is_array($this->aESStatisticRenameFields) + && count($this->aESStatisticRenameFields) +) { + $this->aRenameFields = array_merge($this->aRenameFields, $this->aESStatisticRenameFields); +} diff --git a/src/setup/d3_extsearch_update.php b/src/setup/d3_extsearch_update.php new file mode 100644 index 0000000..80337d0 --- /dev/null +++ b/src/setup/d3_extsearch_update.php @@ -0,0 +1,447 @@ + + * @link http://www.oxidmodule.com + */ + +namespace D3\Extsearch\setup; + +use D3\ModCfg\Application\Model\Install\d3install_updatebase; +use OxidEsales\Eshop\Core\Registry; +use OxidEsales\Eshop\Application\Model\Shop; + +/** + * Class d3_extsearch_update + */ +class d3_extsearch_update extends d3install_updatebase +{ + public $sModKey = 'd3_extsearch'; + public $sModName = 'erweiterte Suche'; + public $sModVersion = '6.1.0.0'; + public $sModRevision = '6100'; + public $sBaseConf = 'iEIv2==Qk56TXgyeEdiNTFtVDZnUE5QdlNUcmpLVEVpY2ZtUFdYSmM1VnE5YnE5Znk3STA3eE9GQ2lyR +loxL0t4c2lTSlY3THpuZjY3TUExRUFrME1VVm9yWjduQTZvQ21nN1h4K3hyb1M4OHVtbWdpUTFMMmsxV +m1VcnpxYVg4OG1LZk9MZEQ5Q1YrOUZ5bGxIanBQRmg5aDIzLzh6a2dmNHRJUmlLVnErYW5rZlBMV2xkS +XdFTW0xcDArOWZXTTJGR2F2aHJYbDZya0hMZk1PRllUa1V0TkFma1NKTEYzcmdlWDRVOU54dlQ3OWF0Z +k5ITkc2OVIwb3AzeUkrYmJjUzI5QVk0U2pEUDFWM1pJeDRNMTBSWTM1dU9xV2JNNFNRb0JaUmo3bjBtU +Vk5SjFEQklHK1FvY1hXNVNCdTJyZU5oZnJXSktmclV3Z3lrVzlWWnkzTVZYV2hRPT0='; + public $sRequirements = ''; + public $sBaseValue = 'TyUzQTglM0ElMjJzdGRDbGFzcyUyMiUzQTY5JTNBJTdCcyUzQTI4JTNBJTIyZDNfY2ZnX21vZF9fYUxpY2Vuc2VJbmZvTWFpbCUyMiUzQmElM0EyJTNBJTdCcyUzQTQyJTNBJTIyTk9MSUNLRVlfXzQ3OTM2Mzg3MDJiNjc3MTVmMWRmYmZjODMyNDY2OTE0JTIyJTNCcyUzQTE5JTNBJTIyMjAxMy0wMS0xNiUyMDEyJTNBMTAlM0E0MCUyMiUzQnMlM0E0NCUzQSUyMk5PU0VSSUFMSURfXzQ3OTM2Mzg3MDJiNjc3MTVmMWRmYmZjODMyNDY2OTE0JTIyJTNCcyUzQTE5JTNBJTIyMjAxMy0wMS0xNiUyMDEyJTNBMTElM0E0MiUyMiUzQiU3RHMlM0E0MiUzQSUyMmQzX2NmZ19tb2RfX2FFeHRTZWFyY2hfc2ltaWxhclNlYXJjaEZpZWxkcyUyMiUzQmElM0E0JTNBJTdCaSUzQTAlM0JzJTNBMTQlM0ElMjI1MCUyMCUzRCUzRSUyMG94YXJ0bnVtJTIyJTNCaSUzQTElM0JzJTNBMTMlM0ElMjI1MCUyMCUzRCUzRSUyMG94dGl0bGUlMjIlM0JpJTNBMiUzQnMlM0ExOCUzQSUyMjQwJTIwJTNEJTNFJTIwb3hzZWFyY2hrZXlzJTIyJTNCaSUzQTMlM0JzJTNBMTclM0ElMjIyMCUyMCUzRCUzRSUyMG94c2hvcnRkZXNjJTIyJTNCJTdEcyUzQTQzJTNBJTIyZDNfY2ZnX21vZF9fc0V4dFNlYXJjaF9NdWx0aVNlYXJjaHdvcmRVc2FnZSUyMiUzQnMlM0ExMCUzQSUyMnNpbmdsZVdvcmQlMjIlM0JzJTNBMzklM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF91c2VBcnROdW1TZWFyY2glMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzklM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9vcmRlckJ5UHJpb3JpdHklMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzUlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9vcmRlckJ5UHVzaCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0E0NCUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX2ZpbmRQdXRJbkFuZExlYXZlT3V0JTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTM3JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfb3duRm9ybUZpZWxkcyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNyUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX1ZhcmlhbnRTZWFyY2glMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzUlM0ElMjJkM19jZmdfbW9kX19zRXh0U2VhcmNoX1ZhcmlhbnRVc2FnZSUyMiUzQnMlM0ExMCUzQSUyMnNob3dQYXJlbnQlMjIlM0JzJTNBMzclM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaW1pbGFyU2VhcmNoJTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fc0V4dFNlYXJjaF9sYW5nRmlsZSUyMiUzQnMlM0EyMiUzQSUyMmQzX3Bob25ldGljX2RlX3ZvYy5waHAlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaW1pbGFyRXh0TGlzdCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzNyUzQSUyMmQzX2NmZ19tb2RfX2lFeHRTZWFyY2hfc2ltaWxhckV4dExpc3QlMjIlM0JzJTNBMiUzQSUyMjEwJTIyJTNCcyUzQTM2JTNBJTIyZDNfY2ZnX21vZF9faUV4dFNlYXJjaF9taW5QaG9uTGVuZ3RoJTIyJTNCcyUzQTElM0ElMjIzJTIyJTNCcyUzQTM4JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfc2VtYW50aWNTZWFyY2glMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDMlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zZW1hbnRpY1VzZVBob25ldGljJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTQzJTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfc2VtYW50aWNBbGxvd1Z1bGdhciUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMyUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX2NhdFNlYXJjaCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EzOCUzQSUyMmQzX2NmZ19tb2RfX3NFeHRTZWFyY2hfc2hvd0NhdEFydGljbGVzJTIyJTNCcyUzQTglM0ElMjJhcnRpbmNhdCUyMiUzQnMlM0EzMCUzQSUyMmQzX2NmZ19tb2RfX2lFeHRTZWFyY2hfY2F0UHJpbyUyMiUzQnMlM0EyJTNBJTIyNTAlMjIlM0JzJTNBNDIlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9tYW51ZmFjdHVyZXJTZWFyY2glMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzklM0ElMjJkM19jZmdfbW9kX19pRXh0U2VhcmNoX21hbnVmYWN0dXJlclByaW8lMjIlM0JzJTNBMiUzQSUyMjUwJTIyJTNCcyUzQTM5JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfc2hvd0NvbnRlbnRMaXN0JTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTQ1JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfY29udGVudFNlYXJjaExvbmd0ZXh0JTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTM0JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfbG9nSGl0bGVzcyUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0E0NSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX2dlbmVyYWxseUxvZ0ZvclNlYXJjaCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E0MSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX2FkbWluU2hvd1ZhcmlhbnRzJTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTM4JTNBJTIyZDNfY2ZnX21vZF9faUV4dFNlYXJjaF9hcnRpY2xlc1BlclRpY2slMjIlM0JzJTNBMiUzQSUyMjEwJTIyJTNCcyUzQTM1JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfZW1wdHlTZWFyY2glMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBNDMlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaG93SGlnaGxpZ2h0ZWRUZXh0JTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTM3JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfZ29Ub1VuaXF1ZUhpdCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0EzNSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX3Nob3dDYXRMaXN0JTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTM1JTNBJTIyZDNfY2ZnX21vZF9fc0V4dFNlYXJjaF9vcmRlckNhdExpc3QlMjIlM0JzJTNBNyUzQSUyMmNvdW50ZXIlMjIlM0JzJTNBNDIlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaG93T25lSXRlbUNhdExpc3QlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaG93VmVuZG9yTGlzdCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzOCUzQSUyMmQzX2NmZ19tb2RfX3NFeHRTZWFyY2hfb3JkZXJWZW5kb3JMaXN0JTIyJTNCcyUzQTclM0ElMjJjb3VudGVyJTIyJTNCcyUzQTQ1JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfc2hvd09uZUl0ZW1WZW5kb3JMaXN0JTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTQ0JTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfc2hvd01hbnVmYWN0dXJlckxpc3QlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBNDQlM0ElMjJkM19jZmdfbW9kX19zRXh0U2VhcmNoX29yZGVyTWFudWZhY3R1cmVyTGlzdCUyMiUzQnMlM0E3JTNBJTIyY291bnRlciUyMiUzQnMlM0E1MSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX3Nob3dPbmVJdGVtTWFudWZhY3R1cmVyTGlzdCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E0MSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX3Nob3dBdHRyaWJ1dGVMaXN0JTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTQxJTNBJTIyZDNfY2ZnX21vZF9fc0V4dFNlYXJjaF9vcmRlckF0dHJpYnV0ZUxpc3QlMjIlM0JzJTNBNyUzQSUyMmNvdW50ZXIlMjIlM0JzJTNBNTUlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaG93Tm9Bc3NpZ25lZEF0dHJpYnV0ZUFydGljbGVzJTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTQxJTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfc2hvd1ByaWNlU2VsZWN0b3IlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBNDElM0ElMjJkM19jZmdfbW9kX19pRXh0U2VhcmNoX3ByaWNlU2VsZWN0b3JJdGVtcyUyMiUzQnMlM0ExJTNBJTIyNSUyMiUzQnMlM0E0NSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX1ByaWNlU2VsZWN0b3JzUm91bmRlZCUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0E0NSUzQSUyMmQzX2NmZ19tb2RfX3NFeHRTZWFyY2hfUHJpY2VTZWxlY3RvcnNEaXNwVHlwZSUyMiUzQnMlM0E4JTNBJTIyanFzbGlkZXIlMjIlM0JzJTNBMzklM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9zaG93RmlsdGVyUGFyYW0lMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBMzklM0ElMjJkM19jZmdfbW9kX19zRXh0U2VhcmNoX2ZpbHRlclBhcmFtRmllbGQlMjIlM0JzJTNBNyUzQSUyMm94dGl0bGUlMjIlM0JzJTNBNDAlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9lbmFibGVBamF4U2VhcmNoJTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTQ1JTNBJTIyZDNfY2ZnX21vZF9fc0V4dFNlYXJjaF9RdWlja1NlYXJjaE1heEFydGljbGVzJTIyJTNCcyUzQTMlM0ElMjIyMDAlMjIlM0JzJTNBNDklM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9RdWlja1NlYXJjaExvYWRDYXRlZ29yaWVzJTIyJTNCcyUzQTElM0ElMjIxJTIyJTNCcyUzQTUyJTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfUXVpY2tTZWFyY2hMb2FkTWFudWZhY3R1cmVycyUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0E0NiUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX1F1aWNrU2VhcmNoTG9hZFZlbmRvcnMlMjIlM0JzJTNBMSUzQSUyMjElMjIlM0JzJTNBNDYlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9RdWlja1NlYXJjaExvYWRDb250ZW50JTIyJTNCcyUzQTElM0ElMjIwJTIyJTNCcyUzQTMxJTNBJTIyZDNfY2ZnX21vZF9fYmxFeHRTZWFyY2hfU2hvd0lBUyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzMyUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX1Nob3dQb3B1cCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E0OCUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX1ZhcmlhbnRDaGVja1BhcmVudEFjdGl2ZSUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E0MSUzQSUyMmQzX2NmZ19tb2RfX3NFeHRTZWFyY2hfb3JkZXJCeUFsdGVybmF0aXZlJTIyJTNCcyUzQTclM0ElMjJveHRpdGxlJTIyJTNCcyUzQTQyJTNBJTIyZDNfY2ZnX21vZF9fc0V4dFNlYXJjaF9vcmRlckRpckFsdGVybmF0aXZlJTIyJTNCcyUzQTMlM0ElMjJhc2MlMjIlM0JzJTNBNTAlM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF9lbmFibGVQbHVnaW5Ccm93c2VySW5zdGFsbCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E0MCUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX2VuYWJsZVBsdWdpbkxpbmslMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0JzJTNBMzglM0ElMjJkM19jZmdfbW9kX19ibEV4dFNlYXJjaF91c2VBTGlzdEZpbHRlciUyMiUzQnMlM0ExJTNBJTIyMSUyMiUzQnMlM0E0NSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX3VzZUF0dHJpYnV0ZUNvbWJpbmVPciUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0EzOCUzQSUyMmQzX2NmZ19tb2RfX3NFeHRTZWFyY2hfb3JkZXJBdHRyaWJ1dGVzJTIyJTNCcyUzQTUlM0ElMjJveHBvcyUyMiUzQnMlM0E1MSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX3VzZUF0dHJpYnV0ZVZhbHVlQ29tYmluZUFuZCUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E1MSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX3Nob3dOb3RTZWxlY3RhYmxlQXR0cmlidXRlcyUyMiUzQnMlM0ExJTNBJTIyMCUyMiUzQnMlM0E0OSUzQSUyMmQzX2NmZ19tb2RfX2JsRXh0U2VhcmNoX2FqYXhTZWFyY2hMb2FkRnVsbE9iamVjdHMlMjIlM0JzJTNBMSUzQSUyMjAlMjIlM0IlN0Q='; + + public $sMinModCfgVersion = '5.1.0.0'; + + protected $_aUpdateMethods = array( + array('check' => 'checkModCfgItemExist', + 'do' => 'updateModCfgItemExist'), + array('check' => 'checkRenameFields', + 'do' => 'fixRenameFields'), + array('check' => 'checkIndexRefreshMsg', + 'do' => 'fixIndexRefreshMsg'), + array('check' => 'checkStatisticTablesExist', + 'do' => 'addStatisticTables'), + array('check' => 'checkSynsetTablesExist', + 'do' => 'addSynsetTables'), + array('check' => 'checkFields', + 'do' => 'fixFields'), + array('check' => 'checkIndizes', + 'do' => 'fixIndizes'), + array('check' => 'checkContentNoArtItemExist', + 'do' => 'updateContentNoArtItemExist'), + array('check' => 'hasUnregisteredFiles', + 'do' => 'showUnregisteredFiles'), + array('check' => 'checkModCfgSameRevision', + 'do' => 'updateModCfgSameRevision'), + ); + + public $aFields = array( + 'D3_PHONETIC' => array( + 'sTableName' => 'oxartextends', + 'sFieldName' => 'D3_PHONETIC', + 'sType' => 'LONGTEXT', + 'blNull' => false, + 'sDefault' => false, + 'sComment' => 'modExtSearch', + 'sExtra' => '', + 'blMultilang' => true, + ), + 'D3_SEARCHINDEXDATE' => array( + 'sTableName' => 'oxarticles', + 'sFieldName' => 'D3_SEARCHINDEXDATE', + 'sType' => 'DATETIME', + 'blNull' => false, + 'sDefault' => '0000-00-00 00:00:00', + 'sComment' => 'modExtSearch', + 'sExtra' => '', + 'blMultilang' => true, + ), + 'D3PUSH' => array( + 'sTableName' => 'oxarticles', + 'sFieldName' => 'D3PUSH', + 'sType' => 'TINYINT(1)', + 'blNull' => false, + 'sDefault' => '1', + 'sComment' => 'search sort criteria', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3ISSEARCHABLE' => array( + 'sTableName' => 'oxcontents', + 'sFieldName' => 'D3ISSEARCHABLE', + 'sType' => 'TINYINT(1)', + 'blNull' => false, + 'sDefault' => '0', + 'sComment' => 'modExtSearch', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3NOTUSE4FILTER' => array( + 'sTableName' => 'oxattribute', + 'sFieldName' => 'D3NOTUSE4FILTER', + 'sType' => 'TINYINT(1)', + 'blNull' => false, + 'sDefault' => '0', + 'sComment' => 'attrib use in extsearch', + 'sExtra' => '', + 'blMultilang' => false, + ), + 'D3NOTUSE4FILTERCAT' => array( + 'sTableName' => 'oxcategories', + 'sFieldName' => 'D3NOTUSE4FILTER', + 'sType' => 'TINYINT(1)', + 'blNull' => false, + 'sDefault' => '0', + 'sComment' => 'category use in extsearch', + 'sExtra' => '', + 'blMultilang' => false, + ), + ); + + public $aIndizes = array(); + + public $aRenameFields = array( + 'D3_PHONETIC' => array( + 'sTableName' => 'oxarticles', + 'mOldFieldNames' => array('d3_phonetic'), // is case sensitive + 'sFieldName' => 'D3_PHONETIC', + 'blMultilang' => true, + ), + 'D3_SEARCHINDEXDATE' => array( + 'sTableName' => 'oxarticles', + 'mOldFieldNames' => array('d3_searchIndexDate'), // is case sensitive + 'sFieldName' => 'D3_SEARCHINDEXDATE', + 'blMultilang' => true, + ), + 'D3PUSH' => array( + 'sTableName' => 'oxarticles', + 'mOldFieldNames' => array('d3push'), // is case sensitive + 'sFieldName' => 'D3PUSH', + 'blMultilang' => false, + ), + 'D3NOTUSE4FILTER' => array( + 'sTableName' => 'oxattribute', + 'mOldFieldNames' => array('d3notuse4filter'), // is case sensitive + 'sFieldName' => 'D3NOTUSE4FILTER', + 'blMultilang' => false, + ), + ); + + public $aSemanticTables = array(); + public $aStatisticTables = array(); + + public $aOldModuleFiles = array( + 'd3/d3_extsearch/models/d3_extsearch_update.php', + ); + + protected $_aRefreshMetaModuleIds = array('d3_extsearch'); + + /** + * constructor + */ + public function __construct() + { + require('d3_extsearch_semanticstructure.php'); + require('d3_extsearch_statisticlog.php'); + + parent::__construct(); + } + + /** + * @return bool + */ + public function checkIndexRefreshMsg() + { + if (Registry::getSession()->getVariable('checkIndexRefreshMsg')) { + return true; + } + + return false; + } + + /** + * @return bool + */ + public function fixIndexRefreshMsg() + { + $blRet = true; + + if (Registry::getSession()->getVariable('checkIndexRefreshMsg')) { + Registry::getSession()->setVariable('checkIndexRefreshMsg', false); + $this->_confirmMessage('D3_EXTSEARCH_UPDATE_GENPHONETIC'); + } + + return $blRet; + } + + /** + * @return bool + */ + public function checkContentNoArtItemExist() + { + $blRet = false; + foreach ($this->getShopList() as $oShop) { + /** @var $oShop Shop */ + $aWhere = array( + 'oxloadid' => 'd3extsearch_noarticlefound', + 'oxshopid' => $oShop->getId(), + ); + + $blRet = $this->_checkTableItemNotExist('oxcontents', $aWhere); + + if ($blRet) { + return $blRet; + } + } + + return $blRet; + } + + /** + * @return bool + */ + public function updateContentNoArtItemExist() + { + $blRet = false; + + foreach ($this->getShopList() as $oShop) { + /** @var $oShop Shop */ + $aWhere = array( + 'oxloadid' => 'd3extsearch_noarticlefound', + 'oxshopid' => $oShop->getId(), + ); + + if ($this->_checkTableItemNotExist('oxcontents', $aWhere)) { + $aWhere = array(); + $aInsertFields = array( + array ( + 'fieldname' => 'OXID', + 'content' => "md5('d3extsearch_noarticlefound " . $oShop->getId() . "')", + 'force_update' => true, + 'use_quote' => false, + ), + array ( + 'fieldname' => 'OXLOADID', + 'content' => "d3extsearch_noarticlefound", + 'force_update' => true, + 'use_quote' => true, + ), + array ( + 'fieldname' => 'OXSHOPID', + 'content' => $oShop->getId(), + 'force_update' => true, + 'use_quote' => true, + ), + array ( + 'fieldname' => 'OXSNIPPET', + 'content' => "1", + 'force_update' => true, + 'use_quote' => true, + ), + array ( + 'fieldname' => 'OXTYPE', + 'content' => "0", + 'force_update' => true, + 'use_quote' => true, + ), + array ( + 'fieldname' => 'OXACTIVE', + 'content' => "1", + 'force_update' => false, + 'use_quote' => true, + 'use_multilang' => true, + ), + array ( + 'fieldname' => 'OXPOSITION', + 'content' => "", + 'force_update' => true, + 'use_quote' => true, + ), + array ( + 'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXTITLE', 'de'), + 'content' => "Leider wurden keine Artikel gefunden", + 'force_update' => false, + 'use_quote' => true, + 'use_multilang' => true, + ), + array ( + 'fieldname' => 'OXCONTENT', + 'content' => "

Versuchen Sie es mit einem anderen Suchbegriff, einer anderen ". + "Schreibweise oder anderen Filtern bitte noch einmal.

Erhalten Sie dennoch keine ". + "Ergebnisse, kontaktieren Sie uns bitte ". + "getSelfLink()|cat:\"cl=contact\"}]\">hier.". + "


", + 'force_update' => false, + 'use_quote' => true, + 'use_multilang' => true, + ), + array ( + 'fieldname' => $this->_getLangAbbrFieldName('oxcontents', 'OXTITLE', 'en'), + 'content' => "Sorry, no items were found.", + 'force_update' => false, + 'use_quote' => true, + ), + array ( + 'fieldname' => 'OXCATID', + 'content' => "kgo83a794223bfd23cbb091d0a34019d", + 'force_update' => true, + 'use_quote' => true, + ), + array ( + 'fieldname' => 'OXFOLDER', + 'content' => "CMSFOLDER_USERINFO", + 'force_update' => true, + 'use_quote' => true, + ), + ); + + $this->setInitialExecMethod(__METHOD__); + $blRet = $this->_updateTableItem2('oxcontents', $aInsertFields, $aWhere); + + if ($this->getStepByStepMode()) { + break; + } + } + } + + return $blRet; + } + + /** + * @return bool true, if table is missing + */ + public function checkStatisticTablesExist() + { + foreach ($this->aStatisticTables as $aStatisticTable) { + if (($blRet = $this->_checkTableNotExist($aStatisticTable['sName']))) { + return $blRet; + }; + } + + return false; + } + + /** + * @return bool + */ + public function addStatisticTables() + { + $this->setInitialExecMethod(__METHOD__); + + $blDoRet = false; + foreach ($this->aStatisticTables as $aStatisticTable) { + if ($this->_checkTableNotExist($aStatisticTable['sName'])) { + if ($this->hasExecute()) { + $iCount = $this->getUpdateStepCount(); + Registry::getSession()->setVariable('iD3UpdatebaseCount', $iCount + 1); + } + + $blDoRet = $this->_addTable2( + $aStatisticTable['sName'], + $this->aFields, + $this->aIndizes, + $aStatisticTable['sComment'], + $aStatisticTable['sType'] + ); + + if ($this->getUpdateBreak() || false == $blDoRet) { + return $blDoRet; + } + } + } + + return $blDoRet; + } + + /** + * @return bool true, if table is missing + */ + public function checkSynsetTablesExist() + { + foreach ($this->aSemanticTables as $aSemanticTable) { + if (($blRet = $this->_checkTableNotExist($aSemanticTable['sName']))) { + return $blRet; + }; + } + + return false; + } + + /** + * @return bool + */ + public function addSynsetTables() + { + $this->setInitialExecMethod(__METHOD__); + + $blDoRet = false; + foreach ($this->aSemanticTables as $aSemanticTable) { + if ($this->_checkTableNotExist($aSemanticTable['sName'])) { + + if ($this->hasExecute()) { + $iCount = $this->getUpdateStepCount(); + Registry::getSession()->setVariable('iD3UpdatebaseCount', $iCount + 1); + } + + $blDoRet = $this->_addTable2( + $aSemanticTable['sName'], + $this->aFields, + $this->aIndizes, + $aSemanticTable['sComment'], + $aSemanticTable['sType'] + ); + + if ($this->getUpdateBreak() || false == $blDoRet) { + return $blDoRet; + } + } + } + + return $blDoRet; + } + + /** + * @return bool + */ + public function hasUnregisteredFiles() + { + return $this->_hasUnregisteredFiles('d3_extsearch', array('blocks', 'd3FileRegister')); + } + + /** + * @return bool + */ + public function showUnregisteredFiles() + { + return $this->_showUnregisteredFiles('d3_extsearch', array('blocks', 'd3FileRegister')); + } +}