Browse code

Some 3.5.x optimizations and bugfixes

Benjamin Roth authored on05/10/2016 11:48:37
Showing1 changed files
... ...
@@ -43,36 +43,49 @@ class tl_content_eSM_artLayout extends \Backend
43 43
   {
44 44
     $groups = array();
45 45
 
46
-    // Get article model
47
-    $Article = \ArticleModel::findByPk($dc->activeRecord->pid);
48 46
 
49
-    // Check for article layout
50
-    if ($Article->es_type)
47
+    if ($dc->activeRecord->ptable == 'tl_article')
51 48
     {
52
-      // Get layout model
53
-      $ArticleLayout = \ArticleLayoutsModel::findByPk($Article->es_type);
49
+      // Get article model
50
+      $Article = \ArticleModel::findByPk($dc->activeRecord->pid);
54 51
 
55
-      // Build array of allowed elements if restriction is set
56
-      if ($ArticleLayout !== null && $ArticleLayout->restrictContentElements)
52
+      // Check for article layout
53
+      if ($Article->es_type)
57 54
       {
58
-        $arrAllowedCTE = deserialize($ArticleLayout->allowedElements,true);
59
-      }
60
-    }
55
+        // Get layout model
56
+        $ArticleLayout = \ArticleLayoutsModel::findByPk($Article->es_type);
61 57
 
62
-    // Build elements groups
63
-    foreach ($GLOBALS['TL_CTE'] as $k => $v)
64
-    {
65
-      foreach (array_keys($v) as $kk) {
58
+        // Build array of allowed elements if restriction is set
59
+        if ($ArticleLayout !== null && $ArticleLayout->restrictContentElements)
60
+        {
61
+          $arrAllowedCTE = deserialize($ArticleLayout->allowedElements, true);
62
+        }
63
+      }
66 64
 
67
-        // Skip not allowed elements
68
-        if (isset($arrAllowedCTE))
65
+      // Build elements groups
66
+      foreach ($GLOBALS['TL_CTE'] as $k => $v)
67
+      {
68
+        foreach (array_keys($v) as $kk)
69 69
         {
70
-          if (!in_array($kk, $arrAllowedCTE))
70
+
71
+          // Skip not allowed elements
72
+          if (isset($arrAllowedCTE))
71 73
           {
72
-            continue;
74
+            if (!in_array($kk, $arrAllowedCTE))
75
+            {
76
+              continue;
77
+            }
73 78
           }
79
+          $groups[$k][] = $kk;
80
+        }
81
+      }
82
+    } else {
83
+      foreach ($GLOBALS['TL_CTE'] as $k=>$v)
84
+      {
85
+        foreach (array_keys($v) as $kk)
86
+        {
87
+          $groups[$k][] = $kk;
74 88
         }
75
-        $groups[$k][] = $kk;
76 89
       }
77 90
     }
78 91