extracted function to reduce code complexity
authorEduardo <[email protected]>
Thu, 30 Nov 2023 13:00:01 +0000 (14:00 +0100)
committerEduardo <[email protected]>
Thu, 30 Nov 2023 13:00:01 +0000 (14:00 +0100)
page-generator/generator.php

index afaea9ae2cde09d35ef400aef61d4567019c9e3f..3984c5c742b495d8fdad82a51793a391e23de1b3 100644 (file)
@@ -287,9 +287,7 @@ class CodeGenerator
 
             // if class not empty add class
             $filtered_classes = $this->filter_meta_classes($class);
-            if (!empty($filtered_classes)) {
-                $html .= ' class="' . implode(' ', $filtered_classes) . '"';
-            }
+            $html .= $this->class_html_or_empty($filtered_classes);
 
             $html .= '>';
         } elseif (!$is_p_closed && !$open) {
@@ -310,8 +308,8 @@ class CodeGenerator
 
             // if class not empty and text empty add class
             $filtered_classes = $this->filter_meta_classes($class);
-            if (empty($text) && !empty($filtered_classes)) {
-                $html .= ' class="' . implode(' ', $filtered_classes) . '"';
+            if (empty($text)) {
+                $html .= $this->class_html_or_empty($filtered_classes);
             }
 
             $html .= '>';
@@ -335,8 +333,8 @@ class CodeGenerator
             $html .= '<h2';
             // if text is empty add class, title and url
             $filtered_classes = $this->filter_meta_classes($class);
-            if (empty($text) && !empty($filtered_classes)) {
-                $html .= ' class="' . implode(' ', $filtered_classes) . '"';
+            if (empty($text)) {
+                $html .= $this->class_html_or_empty($filtered_classes);
             }
 
             $html .= '>';
@@ -419,9 +417,7 @@ class CodeGenerator
 
         // if class not empty add class
         $filtered_classes = $this->filter_meta_classes($class);
-        if (!empty($filtered_classes)) {
-            $html .= ' class="' . implode(' ', $filtered_classes) . '"';
-        }
+        $html .= $this->class_html_or_empty($filtered_classes);
 
         // if has title and url = a with title
         if (!empty($url)) {
@@ -454,6 +450,11 @@ class CodeGenerator
         return $html;
     }
 
+    private function class_html_or_empty(array $filtered_classes): string
+    {
+        return !empty($filtered_classes) ? ' class="' . implode(' ', $filtered_classes) . '"' : "";
+    }
+
     private function str_val_or_empty(array $arr, string $key): string
     {
         return isset($arr[$key]) ? $arr[$key] : "";