diff --git a/core/default_settings/default_settings.php b/core/default_settings/default_settings.php index cabc812f5a..365d37259a 100644 --- a/core/default_settings/default_settings.php +++ b/core/default_settings/default_settings.php @@ -128,10 +128,40 @@ $default_settings = $database->select($sql, $parameters, 'all'); unset($sql, $parameters); +//get default setting categories + $sql = "select "; + $sql .= "distinct(d1.default_setting_category), "; + $sql .= "( "; + $sql .= " select "; + $sql .= " count(d2.default_setting_category) "; + $sql .= " from v_default_settings as d2 "; + $sql .= " where d2.default_setting_category = d1.default_setting_category "; + if (isset($search) && strlen($search) > 0) { + $sql .= " and ("; + $sql .= " lower(d2.default_setting_category) like :search "; + $sql .= " or lower(d2.default_setting_subcategory) like :search "; + $sql .= " or lower(d2.default_setting_name) like :search "; + $sql .= " or lower(d2.default_setting_value) like :search "; + $sql .= " or lower(d2.default_setting_description) like :search "; + $sql .= " ) "; + $parameters['search'] = '%'.$search.'%'; + } + $sql .= ") as quantity "; + $sql .= "from v_default_settings as d1 "; + $sql .= "order by d1.default_setting_category asc "; + $database = new database; + $rows = $database->select($sql, $parameters, 'all'); + if (is_array($rows) && @sizeof($rows) != 0) { + foreach ($rows as $row) { + $default_setting_categories[$row['default_setting_category']] += $row['quantity']; + } + } + unset($sql, $rows, $row); + //get the list of categories - if (is_array($default_settings) && @sizeof($default_settings) != 0) { - foreach ($default_settings as $default_setting) { - $category = strtolower($default_setting['default_setting_category']); + if (is_array($default_setting_categories) && @sizeof($default_setting_categories) != 0) { + foreach ($default_setting_categories as $default_setting_category => $quantity) { + $category = strtolower($default_setting_category); switch ($category) { case "api" : $category = "API"; break; case "cdr" : $category = "CDR"; break; @@ -142,11 +172,11 @@ $category = str_replace("-", " ", $category); $category = ucwords($category); } - $categories[$default_setting['default_setting_category']]['formatted'] = $category; - $categories[$default_setting['default_setting_category']]['count']++; + $categories[$default_setting_category]['formatted'] = $category; + $categories[$default_setting_category]['count'] = $quantity; } ksort($categories); - unset($default_setting, $category); + unset($default_setting_categories, $default_setting_category, $category); } //create token @@ -180,7 +210,7 @@ //show the content echo "