]> _ Git - cubist_cms-back.git/commitdiff
wait #6046 @0:20
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 15 Jun 2023 16:25:19 +0000 (18:25 +0200)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 15 Jun 2023 16:25:19 +0000 (18:25 +0200)
src/app/Middleware/EmailObfuscate.php
src/public/emailobfuscator/emailobfuscator.js

index f033596b54da9cdfe3972a41d384755aa27a0947..5a902d2245870903f20d400d5d2e2922dcb8ee09 100644 (file)
@@ -8,10 +8,8 @@ use Illuminate\Contracts\Support\Renderable;
 use Illuminate\Http\Request;
 use Illuminate\Http\Response;
 
-class EmailObfuscate extends CubistMiddleware
-{
-    public function handle(Request $request, Closure $next)
-    {
+class EmailObfuscate extends CubistMiddleware {
+    public function handle(Request $request, Closure $next) {
         parent::handle($request, $next);
         if ($this->onAdmin()) {
             return $this->getResponse();
@@ -33,20 +31,22 @@ class EmailObfuscate extends CubistMiddleware
      * @param $content
      * @return mixed
      */
-    public function obfuscate($content)
-    {
+    public function obfuscate($content) {
         $content = preg_replace_callback('/href="(mailto:)([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)/', [$this, '_replaceMailto'], $content);
+        $content = preg_replace_callback('/(\w+)="([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)/', [$this, '_replaceAttr'], $content);
         $content = preg_replace_callback('/([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)/', [$this, '_replaceEmail'], $content);
         return $content;
     }
 
-    protected function _replaceMailto($matches)
-    {
+    protected function _replaceAttr($matches) {
+        return 'data-m-class="fdkt5" data-m-content="' . base64_encode($matches[1]) . ':' . base64_encode($matches[2] . "@" . $matches[3] . "." . $matches[4]) . "#hdfr";
+    }
+
+    protected function _replaceMailto($matches) {
         return 'data-m-class="gfo45" data-m-content="a654d5:' . base64_encode($matches[2] . "@" . $matches[3] . "." . $matches[4]) . "#hdfr";
     }
 
-    protected function _replaceEmail($matches)
-    {
+    protected function _replaceEmail($matches) {
         return '<span data-m-class="8fr4g" data-m-content="56548df:' . base64_encode($matches[1] . "@" . $matches[2] . "." . $matches[3]) . '#fde4"></span>';
     }
 }
index 5096e5a5ef156b4833c79298bb9973eeaeb867a1..b92da575807e42f8d6010edcd466d5784eb905e9 100644 (file)
@@ -9,6 +9,18 @@ document.addEventListener("DOMContentLoaded", function () {
         e.setAttribute('href', 'mailto:' + email);
     });
 
+    // fdkt5
+    document.querySelectorAll('[data-m-class="fdkt5"]').forEach(function (e) {
+        var encoded = e.getAttribute('data-m-content');
+        var m = /^([a-zA-Z0-9\/\+=]*):([a-zA-Z0-9\/\+=]*)#hdfr$/i.exec(encoded);
+        if (null === m) {
+            return;
+        }
+        var email = atob(m[2]);
+        e.setAttribute(atob(m[1]), email);
+    });
+
+
     document.querySelectorAll('[data-m-class="8fr4g"]').forEach(function (e) {
         var encoded = e.getAttribute('data-m-content');
         var m = /^56548df:([a-zA-Z0-9\/\+=]*)#fde4$/i.exec(encoded);