From 7ab6eba5560c3a4a3b1a1d70a923624583ec432a Mon Sep 17 00:00:00 2001 From: steve-lad <72376554+steve-lad@users.noreply.github.com> Date: Sun, 1 Aug 2021 12:13:49 +0200 Subject: [PATCH] Finalise optimisation of getSccpModelInformation Use foreach with reference instead of iterator. --- Sccp_manager.class.php | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/Sccp_manager.class.php b/Sccp_manager.class.php index a3c23a3..49796d8 100644 --- a/Sccp_manager.class.php +++ b/Sccp_manager.class.php @@ -1085,44 +1085,45 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { $dir_list = $this->findAllFiles($dir, $file_ext, 'dirFileBaseName'); break; } - $raw_settings = $this->dbinterface->getDb_model_info($get, $format_list, $filter); + $modelList = $this->dbinterface->getDb_model_info($get, $format_list, $filter); if ($validate) { - for ($i = 0; $i < count($raw_settings); $i++) { - if (!empty($raw_settings[$i]['loadimage'])) { - $raw_settings[$i]['validate'] = 'no;'; + foreach ($modelList as &$raw_settings) { + if (!empty($raw_settings['loadimage'])) { + $raw_settings['validate'] = 'no;'; switch ($search_mode) { case 'pro': case 'on': case 'internal': - if (in_array($raw_settings[$i]['loadimage'], $dir_list, true)) { - $raw_settings[$i]['validate'] = 'yes;'; + if (in_array($raw_settings['loadimage'], $dir_list, true)) { + $raw_settings['validate'] = 'yes;'; } break; case 'internal2': break; case 'off': default: // Place in root TFTP dir - if (in_array("{$dir}/{$raw_settings[$i]['loadimage']}", $dir_list, true)) { - $raw_settings[$i]['validate'] = 'yes;'; + if (in_array("{$dir}/{$raw_settings['loadimage']}", $dir_list, true)) { + $raw_settings['validate'] = 'yes;'; } break; } } else { - $raw_settings[$i]['validate'] = '-;'; + $raw_settings['validate'] = '-;'; } - if (!empty($raw_settings[$i]['nametemplate'])) { - $file = $this->sccppath['tftp_templates_path'] . '/' . $raw_settings[$i]['nametemplate']; + if (!empty($raw_settings['nametemplate'])) { + $file = $this->sccppath['tftp_templates_path'] . '/' . $raw_settings['nametemplate']; if (file_exists($file)) { - $raw_settings[$i]['validate'] .= 'yes'; + $raw_settings['validate'] .= 'yes'; } else { - $raw_settings[$i]['validate'] .= 'no'; + $raw_settings['validate'] .= 'no'; } } else { - $raw_settings[$i]['validate'] .= '-'; + $raw_settings['validate'] .= '-'; } } } - return $raw_settings; + unset($raw_settings); + return $modelList; } function getHintInformation($sort = true, $filter = array()) {