@@ -117,15 +117,20 @@ public static function getCategoryTree(): array {
117117
118118 $ cat_table = PluginFormcreatorCategory::getTable ();
119119 $ form_table = PluginFormcreatorForm::getTable ();
120+ $ knowbaseitems_knowbaseitemcategories_table = KnowbaseItem_KnowbaseItemCategory::getTable ();
121+
122+ if (version_compare (GLPI_VERSION , '10.0.6 ' ) > 0 ) {
123+ $ knowbase_category = KnowbaseItemCategory::SEEALL ;
124+ } else {
125+ $ knowbase_category = 0 ;
126+ }
120127
121128 $ query_faqs = KnowbaseItem::getListRequest ([
122129 'faq ' => '1 ' ,
123130 'contains ' => '' ,
124- 'knowbaseitemcategories_id ' => 0 ,
131+ 'knowbaseitemcategories_id ' => $ knowbase_category ,
125132 ]);
126- // GLPI 9.5 returns an array
127- $ subQuery = new DBMysqlIterator ($ DB );
128- $ subQuery ->buildQuery ($ query_faqs );
133+ $ query_faqs ['SELECT ' ] = [$ query_faqs ['FROM ' ] . '. ' . 'id ' ];
129134
130135 $ dbUtils = new DbUtils ();
131136 $ entityRestrict = $ dbUtils ->getEntitiesRestrictCriteria ($ form_table , "" , "" , true , false );
@@ -139,18 +144,15 @@ public static function getCategoryTree(): array {
139144 // Get base query, add count and category condition
140145 $ count_forms_criteria = PluginFormcreatorForm::getFormListQuery ();
141146 $ count_forms_criteria ['COUNT ' ] = 'count ' ;
142- $ count_forms_criteria ['WHERE ' ]["$ form_table. $ categoryFk " ] = new QueryExpression ("$ cat_table.id " );
147+ $ count_forms_criteria ['WHERE ' ]["` $ form_table`.` $ categoryFk` " ] = new QueryExpression ("` $ cat_table`.`id` " );
143148
144149 $ count1 = new QuerySubQuery ($ count_forms_criteria );
145150 $ count2 = new QuerySubQuery ([
146151 'COUNT ' => 'count ' ,
147- 'FROM ' => ' glpi_knowbaseitems_knowbaseitemcategories ' ,
152+ 'FROM ' => $ knowbaseitems_knowbaseitemcategories_table ,
148153 'WHERE ' => [
149- 'knowbaseitems_id ' => new QuerySubQuery ([
150- 'SELECT ' => 'faqs.id ' ,
151- 'FROM ' => (new QuerySubQuery ($ query_faqs , 'faqs ' ))
152- ]),
153- [(new QueryExpression ("knowbaseitemcategories_id = $ cat_table.knowbaseitemcategories_id " ))],
154+ 'knowbaseitems_id ' => new QuerySubQuery ($ query_faqs ),
155+ [(new QueryExpression ("` $ knowbaseitems_knowbaseitemcategories_table`.`knowbaseitemcategories_id` = ` $ cat_table`.`knowbaseitemcategories_id` " ))],
154156 ]
155157 ]);
156158 $ request = [
0 commit comments