diff --git a/src/drivers/webextension/_locales/nl/messages.json b/src/drivers/webextension/_locales/nl/messages.json
new file mode 100644
index 000000000..34e509455
--- /dev/null
+++ b/src/drivers/webextension/_locales/nl/messages.json
@@ -0,0 +1,178 @@
+{
+ "github": { "message": "Fork Wappalyzer op GitHub!" },
+ "twitter": { "message": "Volg Wappalyzer op Twitter" },
+ "website": { "message": "Ga naar wappalyzer.com" },
+ "noAppsDetected": { "message": "Geen toepassingen gedetecteerd" },
+ "nothingToDo": { "message": "Hier is niets te doen" },
+ "optionTracking": { "message": "Stuur anoniem geïdentificeerd technologieën naar wappalyzer.com" },
+ "optionThemeMode": { "message": "Donkere modus compatibiliteit inschakelen" },
+ "optionUpgradeMessage": { "message": "Vertel me over upgrades" },
+ "optionDynamicIcon": { "message": "Gebruik technologie icoon in plaats van Wappalyzer logo" },
+ "options": { "message": "Instellingen" },
+ "optionsSave": { "message": "Instellingen opslaan" },
+ "optionsSaved": { "message": "Opgeslagen instellingen" },
+ "optionBadge": { "message": "Toon het aantal technologieën aangegeven op het pictogram" },
+ "optionShowCached": { "message": "In cache opgeslagen detecties opnemen in resultaten" },
+ "optionApiKey": { "message": "API-sleutel" },
+ "optionApiKeyDescription": { "message": "Krijg je API-sleutel " },
+ "disableOnDomain": { "message": "Uitschakelen op deze website" },
+ "clearCache": { "message": "Detecties in cache wissen" },
+ "categoryPin": { "message": "Altijd pictogram tonen" },
+ "termsAccept": { "message": "Daar ben ik het mee eens" },
+ "termsDecline": { "message": "Uitschakelen" },
+ "termsContent": { "message": "Deze extensie stuurt anonieme informatie over websites die u bezoekt, met inbegrip van domeinnaam en geïdentificeerde technologieën, naar wappalyzer.com. Dit kan worden uitgeschakeld in de instellingen." },
+ "privacyPolicy": { "message": "Privacybeleid" },
+ "createAlert": { "message": "Maak een waarschuwing voor deze website" },
+ "leadLists": { "message": "Lead generation tools" },
+ "tabTechnologies": { "message": "Technologieën" },
+ "tabPro": { "message": "Meer lezen" },
+ "creditBalance": { "message": "Kredietbalans:" },
+ "proMessageHeading": { "message": "PRO-functies ontgrendelen" },
+ "proMessage": { "message": "Meld u aan voor een PRO-plan om bedrijfs- en contactinformatie te bekijken voor websites die u bezoekt" },
+ "proButton": { "message": "Vergelijk aanbiedingen" },
+ "proInfo": { "message": "Meer lezen" },
+ "proEmpty": { "message": "Geen resultaten gevonden" },
+ "proCrawl": { "message": "Geen resultaten gevonden, gelieve later terug te komen" },
+ "formSave": { "message": "Opslaan" },
+
+ "setCompany": { "message": "Bedrijfsinformatie" },
+ "setKeywords": { "message": "Trefwoorden" },
+ "setEmail": { "message": "E-mailadressen" },
+ "setPhone": { "message": "Telefoonnummers" },
+ "setAddress": { "message": "Adressen" },
+ "setContact": { "message": "Contactinformatie" },
+ "setSocial": { "message": "Social media-accounts " },
+ "setMeta": { "message": "Metadata" },
+ "setLocale": { "message": "Locale" },
+ "setTrackers": { "message": "Trackers" },
+ "setSecurity": { "message": "Beveiliging" },
+
+ "attributeIpCountry": { "message": "Land van het IP" },
+ "attributeIpRegion": { "message": "Regio van het IP" },
+ "attributeLanguage": { "message": "Taal" },
+ "attributeEmail": { "message": "E-mailadressen" },
+ "attributeVerifiedEmail": { "message": "E-mailadres (geverifieerd)" },
+ "attributeSafeEmail": { "message": "E-mailadres (zeker)" },
+ "attributePhone": { "message": "Telefoonnummer" },
+ "attributeSkype": { "message": "Skype" },
+ "attributeWhatsapp": { "message": "WhatsApp" },
+ "attributeInferredCompanyName": { "message": "Afgeleide bedrijfsnaam" },
+ "attributeTwitter": { "message": "Twitter" },
+ "attributeFacebook": { "message": "Facebook" },
+ "attributeInstagram": { "message": "Instagram" },
+ "attributeGithub": { "message": "GitHub" },
+ "attributeTiktok": { "message": "TikTok" },
+ "attributeYoutube": { "message": "YouTube" },
+ "attributePinterest": { "message": "Pinterest" },
+ "attributeLinkedin": { "message": "LinkedIn" },
+ "attributeOwler": { "message": "Owler" },
+ "attributeTitle": { "message": "Titel" },
+ "attributeDescription": { "message": "Omschrijving" },
+ "attributeCopyright": { "message": "Copyright" },
+ "attributeCopyrightYear": { "message": "Copyright jaar" },
+ "attributeResponsive": { "message": "Adaptief" },
+ "attributeCertInfo_issuer": { "message": "Afgever van het certificaat" },
+ "attributeCertInfo_protocol": { "message": "Certificaatprotocol" },
+ "attributeCertInfo_validTo": { "message": "Verval van het certificaat" },
+ "attributeHttps": { "message": "SSL/TLS geactiveerd" },
+ "attributeTrackerGoogleAnalytics": { "message": "Google Analytics" },
+ "attributeTrackerGoogleAdSense": { "message": "Google AdSense" },
+ "attributeTrackerMedianet": { "message": "Medianet" },
+ "attributeTrackerFacebook": { "message": "Facebook" },
+ "attributeTrackerOptimizely": { "message": "Optimizely" },
+ "attributeCompanyName": { "message": "Bedrijfsnaam" },
+ "attributeIndustry": { "message": "Industrie" },
+ "attributeAbout": { "message": "Over ons" },
+ "attributeLocations": { "message": "Locatie" },
+ "attributeCompanySize": { "message": "Bedrijfsgrootte" },
+ "attributeCompanyType": { "message": "Bedrijfstype" },
+ "attributeCompanyFounded": { "message": "Oprichting van het bedrijf" },
+ "attributeKeywords": { "message": "Trefwoorden" },
+ "attributeDns_spf": { "message": "SPF-registratie" },
+ "attributeDns_dmarc": { "message": "DMARC-registratie" },
+ "attributeSchemaOrgTypes": { "message": "Typen schema.org" },
+
+ "categoryName1": { "message": "CMS" },
+ "categoryName2": { "message": "Forum" },
+ "categoryName3": { "message": "Databasebeheerder" },
+ "categoryName4": { "message": "Documentatietool" },
+ "categoryName5": { "message": "Widget" },
+ "categoryName6": { "message": "Online winkel" },
+ "categoryName7": { "message": "Fotogalerij" },
+ "categoryName8": { "message": "Wiki" },
+ "categoryName9": { "message": "Serverbeheerders" },
+ "categoryName10": { "message": "Statistiektool" },
+ "categoryName11": { "message": "Blog" },
+ "categoryName12": { "message": "JavaScript Framework" },
+ "categoryName13": { "message": "Outil de suivi de problèmes" },
+ "categoryName14": { "message": "Video speler" },
+ "categoryName15": { "message": "Commentaar systeems" },
+ "categoryName16": { "message": "Beveiliging" },
+ "categoryName17": { "message": "Lettertypescript" },
+ "categoryName18": { "message": "Framework web" },
+ "categoryName19": { "message": "Diverse" },
+ "categoryName20": { "message": "Editor" },
+ "categoryName21": { "message": "LMS" },
+ "categoryName22": { "message": "Webserver" },
+ "categoryName23": { "message": "Cache-tool" },
+ "categoryName24": { "message": "WYSIWYG editor" },
+ "categoryName25": { "message": "JavaScript graphics" },
+ "categoryName26": { "message": "Framework mobielk" },
+ "categoryName27": { "message": "Programmeertaal" },
+ "categoryName28": { "message": "Besturingssysteem" },
+ "categoryName29": { "message": "Zoekmachine" },
+ "categoryName30": { "message": "Webmail" },
+ "categoryName31": { "message": "CDN" },
+ "categoryName32": { "message": "Marketingsoftware" },
+ "categoryName33": { "message": "Extensie voor webserver" },
+ "categoryName34": { "message": "Database" },
+ "categoryName35": { "message": "Kaarten" },
+ "categoryName36": { "message": "Reclamebureau " },
+ "categoryName37": { "message": "Netwerkapparaat" },
+ "categoryName38": { "message": "Multimediaserver" },
+ "categoryName39": { "message": "Webcams" },
+ "categoryName40": { "message": "Printer" },
+ "categoryName41": { "message": "Betaalservice" },
+ "categoryName42": { "message": "Tagmanager" },
+ "categoryName43": { "message": "Paywall" },
+ "categoryName44": { "message": "CI systeem" },
+ "categoryName45": { "message": "SCADA systeem" },
+ "categoryName46": { "message": "Toegang op afstand" },
+ "categoryName47": { "message": "Ontwikkelingstool" },
+ "categoryName48": { "message": "Netwerkopslag" },
+ "categoryName49": { "message": "RSS-feedlezer" },
+ "categoryName51": { "message": "Créateur de \"Landing Page\"" },
+ "categoryName50": { "message": "Système de gestion de documents" },
+ "categoryName52": { "message": "Chat en direct" },
+ "categoryName53": { "message": "CRM" },
+ "categoryName54": { "message": "SEO" },
+ "categoryName55": { "message": "Boekhouding" },
+ "categoryName56": { "message": "Crypto-mijnwerker" },
+ "categoryName57": { "message": "Statische sitegenerator" },
+ "categoryName58": { "message": "User Onboarding" },
+ "categoryName59": { "message": "JavaScript-bibliotheken" },
+ "categoryName60": { "message": "Containers" },
+ "categoryName61": { "message": "SaaS" },
+ "categoryName62": { "message": "PaaS" },
+ "categoryName63": { "message": "IaaS" },
+ "categoryName64": { "message": "Proxy inversé" },
+ "categoryName65": { "message": "Load Balancer" },
+ "categoryName66": { "message": "UI-frameworks" },
+ "categoryName67": { "message": "Naleving van cookies" },
+ "categoryName68": { "message": "Toegankelijkheid" },
+ "categoryName69": { "message": "Sociale netwerken verbinding" },
+ "categoryName70": { "message": "SSL/TLS-certificaatautoriteits" },
+ "categoryName71": { "message": "Partnerprogramma's Program" },
+ "categoryName72": { "message": "Afspraken plannen" },
+ "categoryName73": { "message": "Enquêtes" },
+ "categoryName74": { "message": "A/B testing" },
+ "categoryName75": { "message": "E-mail" },
+ "categoryName76": { "message": "Aanpassingen" },
+ "categoryName77": { "message": "Retargeting" },
+ "categoryName78": { "message": "RUM" },
+ "categoryName79": { "message": "Geolokatie" },
+ "categoryName80": { "message": "WordPress thema's" },
+ "categoryName81": { "message": "Shopify thema's" },
+ "categoryName82": { "message": "Drupal thema's" },
+ "categoryName83": { "message": "Browser vingerafdrukken" }
+}
diff --git a/src/drivers/webextension/images/icons/Concrete CMS.csv b/src/drivers/webextension/images/icons/Concrete CMS.csv
new file mode 100644
index 000000000..cbecbf31f
--- /dev/null
+++ b/src/drivers/webextension/images/icons/Concrete CMS.csv
@@ -0,0 +1,4 @@
+
diff --git a/src/drivers/webextension/images/icons/Concrete5.png b/src/drivers/webextension/images/icons/Concrete5.png
deleted file mode 100644
index 7dc61f31f..000000000
Binary files a/src/drivers/webextension/images/icons/Concrete5.png and /dev/null differ
diff --git a/src/drivers/webextension/images/icons/OceanWP.png b/src/drivers/webextension/images/icons/OceanWP.png
new file mode 100644
index 000000000..7f936e93c
Binary files /dev/null and b/src/drivers/webextension/images/icons/OceanWP.png differ
diff --git a/src/drivers/webextension/js/tictactoe.js b/src/drivers/webextension/js/tictactoe.js
index 67ea86419..5bc838df9 100644
--- a/src/drivers/webextension/js/tictactoe.js
+++ b/src/drivers/webextension/js/tictactoe.js
@@ -32,6 +32,8 @@ const players = ['x', 'o']
function fill(cell, player) {
cell.value = player
+ cell.el.firstChild && cell.el.removeChild(cell.el.firstChild)
+
cell.el.appendChild(icons[player].cloneNode(true))
}
@@ -109,6 +111,8 @@ function check(dryrun) {
}
if (!dryrun) {
+ paused = true
+
if (complete.player) {
scores[complete.player].score++
diff --git a/src/technologies.json b/src/technologies.json
index 026704c61..e45be4184 100644
--- a/src/technologies.json
+++ b/src/technologies.json
@@ -337,7 +337,7 @@
"cookies": {
"BITRIX_SM_LAST_IP": "",
"BITRIX_SM_SALE_UID": "",
- "BITRIX_SM_GUEST_ID": ""
+ "BITRIX_SM_GUEST_ID": ""
},
"scripts": "bitrix(?:\\.info/|/js/main/core)",
"implies": "PHP",
@@ -5027,7 +5027,7 @@
"website": "https://commerce7.com",
"xhr": "api\\.commerce7\\.com"
},
- "Concrete5": {
+ "Concrete CMS": {
"cats": [
1
],
@@ -5035,7 +5035,7 @@
"CONCRETE5": ""
},
"cpe": "cpe:/a:concrete5:concrete5",
- "icon": "Concrete5.png",
+ "icon": "Concrete CMS.svg",
"implies": "PHP",
"js": {
"CCM_IMAGE_PATH": ""
@@ -5044,7 +5044,7 @@
"generator": "^concrete5 - ([\\d.]+)$\\;version:\\1"
},
"scripts": "/concrete/js/",
- "website": "https://concrete5.org"
+ "website": "https://www.concretecms.com"
},
"Conekta": {
"cats": [
@@ -14044,6 +14044,23 @@
"implies": "PHP",
"website": "https://www.oxid-esales.com"
},
+ "OceanWP": {
+ "cats": [
+ 80
+ ],
+ "description": "OceanWP is a fast-loading WordPress theme that has great support for third-party plugins and drag-and-drop page builders.",
+ "icon": "OceanWP.png",
+ "pricing": [
+ "low",
+ "recurring"
+ ],
+ "dom": "link[rel='stylesheet'][id*='oceanwp-style-css']",
+ "html": [
+ "]* href=[\\'\"][^']+oceanwp/.*\\.css\\?ver=([0-9.]+)\\;version:\\1"
+ ],
+ "requires": "WordPress",
+ "website": "https://oceanwp.org"
+ },
"Occasion": {
"cats": [
72