From c3009f4884ad3e501213d288cbc0b5940d0ae0e7 Mon Sep 17 00:00:00 2001 From: Julien C Date: Thu, 15 Feb 2024 11:30:41 +0100 Subject: [PATCH] add optionnals parameters isVisible and isEnable on TypeAndSearch --- core/class/eqLogic.class.php | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/core/class/eqLogic.class.php b/core/class/eqLogic.class.php index 718c971011..15ed9457ca 100644 --- a/core/class/eqLogic.class.php +++ b/core/class/eqLogic.class.php @@ -226,7 +226,7 @@ public static function byCategorie($_category) { return self::cast(DB::Prepare($sql, $values, DB::FETCH_TYPE_ALL, PDO::FETCH_CLASS, __CLASS__)); } - public static function byTypeAndSearchConfiguration($_eqType_name, $_configuration) { + public static function byTypeAndSearchConfiguration($_eqType_name, $_configuration, $_onlyEnable=false, $_onlyVisible=false) { if (is_array($_configuration)) { $values = array( 'eqType_name' => $_eqType_name, @@ -234,8 +234,14 @@ public static function byTypeAndSearchConfiguration($_eqType_name, $_configurati ); $sql = 'SELECT ' . DB::buildField(__CLASS__) . ' FROM eqLogic - WHERE eqType_name=:eqType_name - AND JSON_CONTAINS(configuration,:configuration) + WHERE eqType_name=:eqType_name'; + if ($_onlyEnable) { + $sql .= ' AND isEnable=1'; + } + if ($_onlyVisible) { + $sql .= ' AND isVisible=1'; + } + $sql .= ' AND JSON_CONTAINS(configuration,:configuration) ORDER BY name'; if ($_eqType_name != null && class_exists($_eqType_name)) { return DB::Prepare($sql, $values, DB::FETCH_TYPE_ALL, PDO::FETCH_CLASS, $_eqType_name); @@ -248,7 +254,14 @@ public static function byTypeAndSearchConfiguration($_eqType_name, $_configurati ); $sql = 'SELECT ' . DB::buildField(__CLASS__) . ' FROM eqLogic - WHERE eqType_name=:eqType_name + WHERE eqType_name=:eqType_name'; + if ($_onlyEnable) { + $sql .= ' AND isEnable=1'; + } + if ($_onlyVisible) { + $sql .= ' AND isVisible=1'; + } + $sql .= ' AND configuration LIKE :configuration ORDER BY name'; if ($_eqType_name != null && class_exists($_eqType_name)) { @@ -257,9 +270,9 @@ public static function byTypeAndSearchConfiguration($_eqType_name, $_configurati return self::cast(DB::Prepare($sql, $values, DB::FETCH_TYPE_ALL, PDO::FETCH_CLASS, __CLASS__)); } - public static function byTypeAndSearhConfiguration($_eqType_name, $_configuration) { + public static function byTypeAndSearhConfiguration($_eqType_name, $_configuration, $_onlyEnable=false, $_onlyVisible=false) { trigger_error('eqLogic::byTypeAndSearhConfiguration() is deprecated since Core v4.4, eqLogic::byTypeAndSearchConfiguration() has been introduced since Core v4.1', E_USER_DEPRECATED); - return self::byTypeAndSearchConfiguration($_eqType_name, $_configuration); + return self::byTypeAndSearchConfiguration($_eqType_name, $_configuration, $_onlyEnable, $_onlyVisible); } public static function searchByString($_search) {