AntonLV 10 лет назад
Родитель
Сommit
3a3b805483

+ 16 - 0
studio/classes/BxDolStudioSettingsQuery.php

@@ -42,6 +42,22 @@ class BxDolStudioSettingsQuery extends BxDolStudioPageQuery
                 $sWhereClause .= "AND `tt`.`name`=:name";
                 $sLimitClause .= "LIMIT 1";
                 break;
+
+            case 'all':
+                if(!empty($aParams['in_group'])) {
+                    if(!is_array($aParams['in_group']))
+                        $aParams['in_group'] = array($aParams['in_group']);
+
+                    $sWhereClause .= "AND `tt`.`group` IN (" . $this->implode_escape($aParams['in_group']) . ")";
+                }
+
+                if(!empty($aParams['not_in_group'])) {
+                    if(!is_array($aParams['not_in_group']))
+                        $aParams['not_in_group'] = array($aParams['not_in_group']);
+
+                    $sWhereClause .= "AND `tt`.`group` NOT IN (" . $this->implode_escape($aParams['not_in_group']) . ")";
+                }
+                break;
         }
 
         $aMethod['params'][0] = "SELECT " . ($bReturnCount ? "SQL_CALC_FOUND_ROWS" : "") . "

+ 1 - 1
studio/template/scripts/BxBaseStudioSettings.php

@@ -29,7 +29,7 @@ class BxBaseStudioSettings extends BxDolStudioSettings
     public function getPageMenu($aMenu = array(), $aMarkers = array())
     {
         $aTypes = $aMenu = array();
-        if($this->oDb->getTypes(array('type' => 'all'), $aTypes) > 0 ) {
+        if($this->oDb->getTypes(array('type' => 'all', 'not_in_group' => array(BX_DOL_STUDIO_STG_GROUP_TEMPLATES)), $aTypes) > 0 ) {
             $aTypesGrouped = array();
             foreach($aTypes as $aType)
                 $aTypesGrouped[$aType['group']][] = $aType;