@@ -74,8 +74,10 @@ function enableCentreonBrokerInDB($id)
74
74
return ;
75
75
}
76
76
77
- $ query = "UPDATE cfg_centreonbroker SET config_activate = '1' WHERE config_id = " . $ id ;
78
- $ pearDB ->query ($ query );
77
+ $ query = "UPDATE cfg_centreonbroker SET config_activate = '1' WHERE config_id = :config_id " ;
78
+ $ statement = $ pearDB ->prepare ($ query );
79
+ $ statement ->bindValue (':config_id ' , (int ) $ id , \PDO ::PARAM_INT );
80
+ $ statement ->execute ();
79
81
}
80
82
81
83
/**
@@ -91,8 +93,10 @@ function disablCentreonBrokerInDB($id)
91
93
return ;
92
94
}
93
95
94
- $ query = "UPDATE cfg_centreonbroker SET config_activate = '0' WHERE config_id = " . $ id ;
95
- $ pearDB ->query ($ query );
96
+ $ query = "UPDATE cfg_centreonbroker SET config_activate = '0' WHERE config_id = :config_id " ;
97
+ $ statement = $ pearDB ->prepare ($ query );
98
+ $ statement ->bindValue (':config_id ' , (int ) $ id , \PDO ::PARAM_INT );
99
+ $ statement ->execute ();
96
100
}
97
101
98
102
/**
@@ -104,8 +108,10 @@ function deleteCentreonBrokerInDB($ids = array())
104
108
{
105
109
global $ pearDB ;
106
110
111
+ $ statement = $ pearDB ->prepare ("DELETE FROM cfg_centreonbroker WHERE config_id = :config_id " );
107
112
foreach ($ ids as $ key => $ value ) {
108
- $ pearDB ->query ("DELETE FROM cfg_centreonbroker WHERE config_id = " . $ key );
113
+ $ statement ->bindValue (':config_id ' , (int ) $ key , \PDO ::PARAM_INT );
114
+ $ statement ->execute ();
109
115
}
110
116
}
111
117
@@ -194,13 +200,7 @@ function multipleCentreonBrokerInDB($ids, $nbrDup)
194
200
foreach ($ ids as $ id => $ value ) {
195
201
$ cbObj = new CentreonConfigCentreonBroker ($ pearDB );
196
202
197
- $ query = "SELECT config_name, config_filename, config_activate, ns_nagios_server,
198
- event_queue_max_size, cache_directory, daemon "
199
- . "FROM cfg_centreonbroker "
200
- . "WHERE config_id = " . $ id . " " ;
201
- $ dbResult = $ pearDB ->query ($ query );
202
- $ row = $ dbResult ->fetch ();
203
- $ dbResult ->closeCursor ();
203
+ $ row = getCfgBrokerData ((int ) $ id );
204
204
205
205
# Prepare values
206
206
$ values = array ();
@@ -210,14 +210,11 @@ function multipleCentreonBrokerInDB($ids, $nbrDup)
210
210
$ values ['event_queue_max_size ' ] = $ row ['event_queue_max_size ' ];
211
211
$ values ['cache_directory ' ] = $ row ['cache_directory ' ];
212
212
$ values ['activate_watchdog ' ]['activate_watchdog ' ] = $ row ['daemon ' ];
213
- $ query = "SELECT config_key, config_value, config_group, config_group_id "
214
- . "FROM cfg_centreonbroker_info "
215
- . "WHERE config_id = " . $ id . " " ;
216
- $ dbResult = $ pearDB ->query ($ query );
217
213
$ values ['output ' ] = array ();
218
214
$ values ['input ' ] = array ();
219
215
$ values ['logger ' ] = array ();
220
- while ($ rowOpt = $ dbResult ->fetch ()) {
216
+ $ brokerCfgInfoData = getCfgBrokerInfoData ((int ) $ id );
217
+ foreach ($ brokerCfgInfoData as $ rowOpt ) {
221
218
if ($ rowOpt ['config_key ' ] == 'filters ' ) {
222
219
continue ;
223
220
} elseif ($ rowOpt ['config_key ' ] == 'category ' ) {
@@ -228,7 +225,6 @@ function multipleCentreonBrokerInDB($ids, $nbrDup)
228
225
$ rowOpt ['config_value ' ];
229
226
}
230
227
}
231
- $ dbResult ->closeCursor ();
232
228
233
229
# Convert values radio button
234
230
foreach ($ values as $ group => $ groups ) {
@@ -254,16 +250,18 @@ function multipleCentreonBrokerInDB($ids, $nbrDup)
254
250
255
251
# Copy the configuration
256
252
$ j = 1 ;
253
+ $ query = "SELECT COUNT(*) as nb FROM cfg_centreonbroker WHERE config_name = :config_name " ;
254
+ $ statement = $ pearDB ->prepare ($ query );
257
255
for ($ i = 1 ; $ i <= $ nbrDup [$ id ]; $ i ++) {
258
256
$ nameNOk = true ;
259
257
260
258
# Find the name
261
259
while ($ nameNOk ) {
262
260
$ newname = $ row ['config_name ' ] . '_ ' . $ j ;
263
261
$ newfilename = $ j . '_ ' . $ row ['config_filename ' ];
264
- $ query = " SELECT COUNT(*) as nb FROM cfg_centreonbroker WHERE config_name = ' " . $ newname . " ' " ;
265
- $ res = $ pearDB -> query ( $ query );
266
- $ rowNb = $ res ->fetch ();
262
+ $ statement -> bindValue ( ' : config_name' , $ newname, \ PDO :: PARAM_STR ) ;
263
+ $ statement -> execute ( );
264
+ $ rowNb = $ statement ->fetch (\ PDO :: FETCH_ASSOC );
267
265
if ($ rowNb ['nb ' ] == 0 ) {
268
266
$ nameNOk = false ;
269
267
}
@@ -293,3 +291,54 @@ function isPositiveNumeric($size): bool
293
291
}
294
292
return $ isPositive ;
295
293
}
294
+
295
+ /**
296
+ * Getting Centreon CFG broker data
297
+ *
298
+ * @param int $configId
299
+ * @return array
300
+ */
301
+ function getCfgBrokerData (int $ configId ): array
302
+ {
303
+ global $ pearDB ;
304
+
305
+ $ query = "SELECT config_name, config_filename, config_activate, ns_nagios_server,
306
+ event_queue_max_size, cache_directory, daemon "
307
+ . "FROM cfg_centreonbroker "
308
+ . "WHERE config_id = :config_id " ;
309
+ try {
310
+ $ statement = $ pearDB ->prepare ($ query );
311
+ $ statement ->bindValue (':config_id ' , $ configId , \PDO ::PARAM_INT );
312
+ $ statement ->execute ();
313
+ $ cfgBrokerData = $ statement ->fetch (\PDO ::FETCH_ASSOC );
314
+ } catch (PDOException $ exception ) {
315
+ throw new \Exception ("Cannot fetch Broker config data " );
316
+ }
317
+ $ statement ->closeCursor ();
318
+ return $ cfgBrokerData ;
319
+ }
320
+
321
+ /**
322
+ * Getting Centreon CFG broker Info data
323
+ *
324
+ * @param int $configId
325
+ * @return array
326
+ */
327
+ function getCfgBrokerInfoData (int $ configId ): array
328
+ {
329
+ global $ pearDB ;
330
+
331
+ $ query = "SELECT config_key, config_value, config_group, config_group_id "
332
+ . "FROM cfg_centreonbroker_info "
333
+ . "WHERE config_id = :config_id " ;
334
+ try {
335
+ $ statement = $ pearDB ->prepare ($ query );
336
+ $ statement ->bindValue (':config_id ' , $ configId , \PDO ::PARAM_INT );
337
+ $ statement ->execute ();
338
+ $ cfgBrokerInfoData = $ statement ->fetchAll (\PDO ::FETCH_ASSOC );
339
+ } catch (\PDOException $ exception ) {
340
+ throw new \Exception ("Cannot fetch Broker info config data " );
341
+ }
342
+ $ statement ->closeCursor ();
343
+ return $ cfgBrokerInfoData ;
344
+ }
0 commit comments