From ab7b295b8753b8c46a7cc1691d01cf820a00b4e6 Mon Sep 17 00:00:00 2001 From: steve-lad <72376554+steve-lad@users.noreply.github.com> Date: Sat, 31 Jul 2021 17:07:37 +0200 Subject: [PATCH] switch basedir path source Use $amp_conf['AMPWEBROOT'] instead of $_SERVER['DOCUMENT_ROOT'] as at least in one case the latter appears to be empty --- install.php | 25 ++++++++++++++++--------- sccpManClasses/Sccp.class.php.v433 | 3 ++- sccpManClasses/extconfigs.class.php | 3 ++- sccpManClasses/formcreate.class.php | 3 ++- sccpManTraits/bmoFunctions.php | 3 ++- views/advserver.model.php | 3 ++- 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/install.php b/install.php index a720b2c..253b758 100644 --- a/install.php +++ b/install.php @@ -341,9 +341,10 @@ function CheckSCCPManagerDBVersion() function CheckPermissions() { + global $amp_conf; outn("
  • " . _("Checking Filesystem Permissions") . "
  • "); - $dst = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/views'; - if (fileowner($_SERVER['DOCUMENT_ROOT']) != fileowner($dst)) { + $dst = $amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/views'; + if (fileowner($amp_conf['AMPWEBROOT']) != fileowner($dst)) { die_freepbx('Please (re-)check permissions by running "amportal chown. Installation Failed"'); } } @@ -922,16 +923,17 @@ function Setup_RealTime() } function addDriver($sccp_compatible) { + global $amp_conf; + global $cnf_int; outn("
  • " . _("Adding driver ...") . "
  • "); - $file = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/core/functions.inc/drivers/Sccp.class.php'; + $file = $amp_conf['AMPWEBROOT'] . '/admin/modules/core/functions.inc/drivers/Sccp.class.php'; $contents = ""; file_put_contents($file, $contents); - global $cnf_int; $dir = $cnf_int->get('ASTETCDIR'); if (!file_exists("{$dir}/sccp.conf")) { // System re Config outn("
  • " . _("Adding default configuration file ...") . "
  • "); - $sccpfile = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/sccp.conf'); + $sccpfile = file_get_contents($amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/conf/sccp.conf'); file_put_contents("{$dir}/sccp.conf", $sccpfile); } } @@ -942,14 +944,15 @@ function checkTftpServer() { global $settingsFromDb; global $extconfigs; global $thisInstaller; + global $amp_conf; $confDir = $cnf_int->get('ASTETCDIR'); $tftpRootPath = ""; // put the rewrite rules into the required location if (file_exists("{$confDir}/sccpManagerRewrite.rules")) { rename("{$confDir}/sccpManagerRewrite.rules", "{$confDir}/sccpManagerRewrite.rules.bu"); } - copy($_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/mappingRulesHeader',"{$confDir}/sccpManagerRewrite.rules"); - file_put_contents("{$confDir}/sccpManagerRewrite.rules", file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/contrib/rewrite.rules'), FILE_APPEND); + copy($amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/conf/mappingRulesHeader',"{$confDir}/sccpManagerRewrite.rules"); + file_put_contents("{$confDir}/sccpManagerRewrite.rules", file_get_contents($amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/contrib/rewrite.rules'), FILE_APPEND); file_put_contents("{$confDir}/sccpManagerRewrite.rules", "\n# Do not disable this rule - this is required by sccp_manager\nri ^(.+\.tlzz)?$ settings/\\1", FILE_APPEND); // TODO: add option to use external server $remoteFileName = ".sccp_manager_installer_probe_sentinel_temp".mt_rand(0, 9999999); @@ -1015,6 +1018,7 @@ function cleanUpSccpSettings() { global $db; global $aminterface; global $sccp_compatible; + global $amp_conf; // Get current default settings from db $stmt = $db->prepare("SELECT keyword, sccpsettings.* FROM sccpsettings"); @@ -1042,9 +1046,12 @@ function cleanUpSccpSettings() { } } */ - + // TODO: It seems that DOCUMENT ROOT is not always set so maybe should switch to AMPWEBROOT. + // need to declare amp_conf global each time. + //global $amp_conf; + //dbug($amp_conf['AMPWEBROOT']); // Clean up sccpsettings to remove legacy values. - $xml_vars = $_SERVER['DOCUMENT_ROOT'] . "/admin/modules/sccp_manager/conf/sccpgeneral.xml.v{$sccp_compatible}"; + $xml_vars = $amp_conf['AMPWEBROOT'] . "/admin/modules/sccp_manager/conf/sccpgeneral.xml.v{$sccp_compatible}"; $thisInstaller->xml_data = simplexml_load_file($xml_vars); $thisInstaller->initVarfromXml(); foreach ( array_diff_key($settingsFromDb,$thisInstaller->sccpvalues) as $key => $valueArray) { diff --git a/sccpManClasses/Sccp.class.php.v433 b/sccpManClasses/Sccp.class.php.v433 index 5e135b7..931de55 100644 --- a/sccpManClasses/Sccp.class.php.v433 +++ b/sccpManClasses/Sccp.class.php.v433 @@ -228,9 +228,10 @@ class Sccp extends \FreePBX\modules\Core\Driver { } public function getDeviceDisplay($display, $deviceInfo, $currentComponent, $primarySection) { + global $amp_conf; $activeCodecs = array(); // load xml data to get help from same source as rest of module - $xml_vars = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/sccpgeneral.xml.v433'; + $xml_vars = $amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/conf/sccpgeneral.xml.v433'; $this->xml_data = simplexml_load_file($xml_vars); // load metainfo from chan-sccp - help information if not in xml. Only load first time as static data. if (empty($this->sccpHelpInfo)) { diff --git a/sccpManClasses/extconfigs.class.php b/sccpManClasses/extconfigs.class.php index 5ad23ea..d8dd747 100644 --- a/sccpManClasses/extconfigs.class.php +++ b/sccpManClasses/extconfigs.class.php @@ -237,6 +237,7 @@ class extconfigs ); public function updateTftpStructure($settingsFromDb) { + global $amp_conf; $adv_config = array('tftproot' => $settingsFromDb['tftp_path']['data'], 'firmware' => 'firmware', 'settings' => 'settings', @@ -352,7 +353,7 @@ class extconfigs } // TODO: Need to add index.cnf, after setting defaults correctly if (!file_exists("{$baseConfig['tftp_templates_path']}/XMLDefault.cnf.xml_template")) { - $src_path = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/'; + $src_path = $amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/conf/'; $dst_path = "{$baseConfig["tftp_templates_path"]}/"; foreach (glob("{$src_path}*.*_template") as $filename) { copy($filename, $dst_path . basename($filename)); diff --git a/sccpManClasses/formcreate.class.php b/sccpManClasses/formcreate.class.php index 0652bdd..cb0634a 100644 --- a/sccpManClasses/formcreate.class.php +++ b/sccpManClasses/formcreate.class.php @@ -630,6 +630,7 @@ class formcreate function addElementSLNA($child, $fvalues, $sccp_defaults,$npref, $installedLangs) { // Input element Select SLS - System Language with add from external + global $amp_conf; $res_n = (string)$child ->name; $res_id = $npref.$res_n; $child->value =''; @@ -681,7 +682,7 @@ class formcreate
    diff --git a/sccpManTraits/bmoFunctions.php b/sccpManTraits/bmoFunctions.php index a212910..633ad4f 100644 --- a/sccpManTraits/bmoFunctions.php +++ b/sccpManTraits/bmoFunctions.php @@ -138,8 +138,9 @@ trait bmoFunctions { } public function getRightNav($request) { + global $amp_conf; if (isset($request['tech_hardware']) && ($request['tech_hardware'] == 'cisco')) { - return load_view($_SERVER['DOCUMENT_ROOT'] .'/admin/modules/sccp_manager/views/hardware.rnav.php', array('request' => $request)); + return load_view($amp_conf['AMPWEBROOT'] .'/admin/modules/sccp_manager/views/hardware.rnav.php', array('request' => $request)); } } diff --git a/views/advserver.model.php b/views/advserver.model.php index f2c9751..081cebb 100644 --- a/views/advserver.model.php +++ b/views/advserver.model.php @@ -5,6 +5,7 @@ * and open the template in the editor. */ $requestType = 'firmware'; +global $amp_conf; ?>
    @@ -160,7 +161,7 @@ foreach ($firmwareDir[0] as $child) { } }; -include($_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/views/getFileModal.html'); +include($amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/views/getFileModal.html'); ?>