From fdd1542b66e1c80941b903235c3a989657caa967 Mon Sep 17 00:00:00 2001 From: Matthew Vale Date: Fri, 11 Dec 2015 14:57:14 +0000 Subject: [PATCH] patch for SunOS corrected collection of switch version during detect_switch --- app/system/system.php | 8 +++++--- core/install/resources/classes/detect_switch.php | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/system/system.php b/app/system/system.php index f9e63ce403..49887f1d11 100644 --- a/app/system/system.php +++ b/app/system/system.php @@ -87,11 +87,13 @@ $document['title'] = $text['title-sys-status']; $git_path = normalize_path_to_os($_SERVER["DOCUMENT_ROOT"]."/.git"); if(file_exists($git_path)){ - $git_branch = shell_exec('git --git-dir='.$git_path.' name-rev --name-only HEAD'); + $git_exe = 'git'; + if (strtoupper(substr(PHP_OS, 0, 3)) === 'SUN') { $git_exe = shell_exec('which git')); } + $git_branch = shell_exec($git_exe.' --git-dir='.$git_path.' name-rev --name-only HEAD'); rtrim($git_branch); - $git_commit = shell_exec('git --git-dir='.$git_path.' rev-parse HEAD'); + $git_commit = shell_exec($git_exe.' --git-dir='.$git_path.' rev-parse HEAD'); rtrim($git_commit); - $git_origin = shell_exec('git --git-dir='.$git_path.' config --get remote.origin.url'); + $git_origin = shell_exec($git_exe.' --git-dir='.$git_path.' config --get remote.origin.url'); rtrim($git_commit); echo "\n"; echo " \n"; diff --git a/core/install/resources/classes/detect_switch.php b/core/install/resources/classes/detect_switch.php index 92ab726465..b23910fab1 100644 --- a/core/install/resources/classes/detect_switch.php +++ b/core/install/resources/classes/detect_switch.php @@ -128,10 +128,11 @@ require_once "resources/classes/EventSocket.php"; throw new Exception('Failed to use event socket'); } $FS_Version = $this->event_socket_request('api version'); - preg_match("/FreeSWITCH Version (\d+\.\d+\.\d+(?:\.\d+)?).*\(.*?(\d+\w+)\s*\)/", $FS_Version, $matches); + preg_match("/FreeSWITCH Version (\d+)\.(\d+)\.(\d+(?:\.\d+)?).*\(.*?(\d+\w+)\s*\)/", $FS_Version, $matches); $this->_major = $matches[1]; $this->_minor = $matches[2]; $this->_build = $matches[3]; + $this->_bits = $matches[4]; $FS_Vars = $this->event_socket_request('api global_getvar'); foreach (explode("\n",$FS_Vars) as $FS_Var){ preg_match("/(\w+_dir)=(.*)/", $FS_Var, $matches);