From 78c7028f4890396d12143129d89ad50bbc5fafea Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come.chilliet@fusiondirectory.org>
Date: Mon, 26 Jul 2021 15:24:19 +0200
Subject: [PATCH] :ambulance: fix(management) Fix subaction detection when
 there is a number in action name

This fixes ldap2zone action.

issue #6180
---
 include/management/class_managementListing.inc | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/include/management/class_managementListing.inc b/include/management/class_managementListing.inc
index a0b97a932..30726f289 100644
--- a/include/management/class_managementListing.inc
+++ b/include/management/class_managementListing.inc
@@ -484,9 +484,8 @@ class managementListing
         unset($_REQUEST['dn']);
       }
 
-      if (preg_match('/^([a-zA-Z]+)_([a-zA-Z_]+)$/', $result['action'], $m)) {
-        $result['action']     = $m[1];
-        $result['subaction']  = $m[2];
+      if (strpos($result['action'], '_') !== FALSE) {
+        list($result['action'], $result['subaction']) = explode('_', $result['action'], 2);
       }
       return $result;
     }
@@ -524,9 +523,8 @@ class managementListing
       }
     }
 
-    if (preg_match('/^([a-zA-Z\.]+)_([a-zA-Z_\.]+)$/', $result['action'], $m)) {
-      $result['action']     = $m[1];
-      $result['subaction']  = $m[2];
+    if (strpos($result['action'], '_') !== FALSE) {
+      list($result['action'], $result['subaction']) = explode('_', $result['action'], 2);
     }
     return $result;
   }
-- 
GitLab