From ef77bce159d8cfac874586d6e09e70d0971335f7 Mon Sep 17 00:00:00 2001 From: steve-lad <72376554+steve-lad@users.noreply.github.com> Date: Wed, 14 Jul 2021 13:10:15 +0200 Subject: [PATCH] Add retrieve device files --- assets/js/sccp_manager.js | 9 ++++++ sccpManTraits/ajaxHelper.php | 8 ++++- sccpManTraits/helperFunctions.php | 25 ++++++++++++---- views/advserver.model.php | 50 +++++++++++++++++++++++++++++-- 4 files changed, 84 insertions(+), 8 deletions(-) diff --git a/assets/js/sccp_manager.js b/assets/js/sccp_manager.js index f146090..ecf3ce6 100644 --- a/assets/js/sccp_manager.js +++ b/assets/js/sccp_manager.js @@ -513,7 +513,16 @@ $(document).ready(function () { } // ----------------------- Server.model form ---------------- + if ($(this).data('id') === 'get_ext_files') { + var dev_cmd = 'get_ext_files'; + var dev_fld = ["device"]; + datas = 'enabled=0' + 'type=firmware' + 'name=' + '&'; + for (var i = 0; i < dev_fld.length; i++) { + datas = datas + dev_fld[i] + '=' + $('#ext_' + dev_fld[i]).val() + '&'; + } + ; + } if ($(this).data('id') === 'model_add') { var dev_cmd = 'model_add'; // var dev_fld = ["model","vendor","dns","buttons","loadimage","loadinformationid","validate","enabled"]; diff --git a/sccpManTraits/ajaxHelper.php b/sccpManTraits/ajaxHelper.php index 9f59784..b9b20d9 100644 --- a/sccpManTraits/ajaxHelper.php +++ b/sccpManTraits/ajaxHelper.php @@ -21,6 +21,7 @@ trait ajaxHelper { case 'getUserGrid': case 'getSoftKey': case 'getDialTemplate': + case 'get_ext_files': case 'create_hw_tftp': case 'reset_dev': case 'reset_token': @@ -382,6 +383,11 @@ trait ajaxHelper { break; case 'validateMac': break; + case 'get_ext_files': + dbug('request is ', $_REQUEST); + return true; + break; + } } @@ -554,7 +560,7 @@ trait ajaxHelper { $save_settings[] = array('status' => true); $this->createDefaultSccpXml(); - $this->getFilesFromProvisioner(); + //$this->getFileListFromProvisioner(); return $save_settings; } diff --git a/sccpManTraits/helperFunctions.php b/sccpManTraits/helperFunctions.php index 82bfa0c..69950e7 100644 --- a/sccpManTraits/helperFunctions.php +++ b/sccpManTraits/helperFunctions.php @@ -250,7 +250,7 @@ trait helperfunctions { } return false; } - // temporary helper function to save xml with proper indentation + // helper function to save xml with proper indentation public function saveXml($xml, $filename) { $dom = new \DOMDocument("1.0"); $dom->preserveWhiteSpace = false; @@ -259,13 +259,28 @@ trait helperfunctions { $dom->save($filename); } - public function getFilesFromProvisioner() { + public function getFileListFromProvisioner() { - $provisionerUrl = "https://github.com/dkgroot/provision_sccp/raw/master/tftpboot/"; + $provisionerUrl = "https://github.com/dkgroot/provision_sccp/raw/master/"; + + // Get master tftpboot directory structure + + file_put_contents("{$this->sccppath['tftp_path']}/masterFilesStructure.xml",file_get_contents("{$provisionerUrl}tools/tftpbootFiles.xml")); + //$xmlData = simplexml_load_file("{$provisionerUrl}tools/tftpbootFiles.xml"); + return true; + + } + + public function getFilesFromProvisioner($type = "",$name = "",$device = "") { + + $provisionerUrl = "https://github.com/dkgroot/provision_sccp/raw/master/"; + + // Get master tftpboot directory structure + $xmlData = simplexml_load_file("{$provisionerUrl}tools/tftpbootFiles.xml"); // Ringtones - $ringDir = 'ringtones/'; + $ringDir = 'tftpboot/ringtones/'; $ringList = 'ringlist.xml'; - $xmlData = simplexml_load_file("{$provisionerUrl}{$ringDir}{$ringList}"); + //$xmlData = simplexml_load_file("{$provisionerUrl}{$ringDir}{$ringList}"); //preg_match_all("|>([0-9a-z]+.xml)|U", $availableFiles, $out); foreach ($xmlData as $child) { $fileToSave = str_replace("\\","/",(string)$child->FileName); diff --git a/views/advserver.model.php b/views/advserver.model.php index 5d5d2d5..3361159 100644 --- a/views/advserver.model.php +++ b/views/advserver.model.php @@ -32,6 +32,8 @@