diff --git a/Sccp_manager.class.php b/Sccp_manager.class.php index ed7000a..c1de6b0 100644 --- a/Sccp_manager.class.php +++ b/Sccp_manager.class.php @@ -976,22 +976,9 @@ class Sccp_manager extends \FreePBX_Helpers implements \BMO { } $driver = $this->FreePBX->Core->getAllDriversInfo(); - // Below is always set to replace; good for Develop, but needs to be updated for release - $sccp_driver_replace = ''; - if (empty($driver['sccp'])) { - $sccp_driver_replace = 'yes'; - } else { - if (empty($driver['sccp']['Version'])) { - $sccp_driver_replace = 'yes'; - } else { - if ($driver['sccp']['Version'] != $this->sccp_driver_ver . $driver_revision[$ver_id]) { - $sccp_driver_replace = 'yes'; - } - } - } $this->sccpvalues['sccp_compatible'] = array('keyword' => 'sccp_compatible', 'data' => $ver_id, 'type' => '1', 'seq' => '99'); - $this->sccppath = $this->extconfigs->validate_init_path($confDir, $this->sccpvalues, $sccp_driver_replace); + $this->sccppath = $this->extconfigs->validate_init_path($confDir, $this->sccpvalues); $driver = $this->FreePBX->Core->getAllDriversInfo(); // Check that Sccp Driver has been updated by above $read_config = $this->cnf_read->getConfig('sccp.conf'); diff --git a/install.php b/install.php index f80a411..174545a 100644 --- a/install.php +++ b/install.php @@ -65,6 +65,7 @@ if ($chanSCCPWarning) { outn("Error: installed version of chan-sccp is not compatible. Please upgrade chan-sccp"); } Setup_RealTime(); +addDriver($sccp_compatible); outn("
"); outn("Install Complete !"); outn("
"); @@ -851,4 +852,19 @@ function Setup_RealTime() } } +function addDriver($sccp_compatible) { + outn("
  • " . _("Adding driver ...") . "
  • "); + $file = "/var/www/html/admin/modules/core/functions.inc/drivers/Sccp.class.php"; + $contents = ""; + file_put_contents($file, $contents); + + $cnf_int = \FreePBX::Config(); + $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'); + file_put_contents("{$dir}/sccp.conf", $sccpfile); + } +} + ?> diff --git a/module.xml b/module.xml index 57723fe..cd5c29f 100644 --- a/module.xml +++ b/module.xml @@ -1,7 +1,7 @@ sccp_manager SCCP Manager - 14.3.0.1 + 14.3.0.0 setup SCCP Connectivity Steve Lad, Alex GP diff --git a/conf/Sccp.class.php.v433 b/sccpManClasses/Sccp.class.php.v433 similarity index 98% rename from conf/Sccp.class.php.v433 rename to sccpManClasses/Sccp.class.php.v433 index e2377ca..1c80f4b 100644 --- a/conf/Sccp.class.php.v433 +++ b/sccpManClasses/Sccp.class.php.v433 @@ -2,9 +2,12 @@ // vim: set ai ts=4 sw=4 ft=php: // Version for SCCP Manager 13.0.X // -// Template for Sccp Driver -/* - * Required Functions for Core Drivers +/* This is the driver for Sccp_manager in FreePBX. + It is loaded via an include, written by the installer, at + modules/core/functions.inc/drivers + and provides the following required methods. it provides the interface between + FreePBX extensions and sccp_manager lines + * * getInfo * addDevice * delDevice diff --git a/sccpManClasses/extconfigs.class.php b/sccpManClasses/extconfigs.class.php index c969263..e2cc40d 100644 --- a/sccpManClasses/extconfigs.class.php +++ b/sccpManClasses/extconfigs.class.php @@ -15,9 +15,9 @@ class extconfigs } public function info() { - $Ver = '13.1.1'; + $Ver = '13.2.0'; return array('Version' => $Ver, - 'about' => 'Default Setings and Enums ver: ' . $Ver); + 'about' => 'Default Settings and Enums ver: ' . $Ver); } public function getextConfig($id = '', $index = '') { @@ -216,36 +216,50 @@ class extconfigs 'New Zealand' => array('offset' => '720', 'daylight' => true) ); - public function validate_init_path($confDir = '', $db_vars, $sccp_driver_replace = '') - { -// global $db; -// global $amp_conf; -// *** Setings for Provision Sccp - $adv_config = array('tftproot' => '', 'firmware' => 'firmware', 'settings' => 'settings', - 'locales' => 'locales', 'languages' => 'languages', 'templates' => 'templates', 'dialplan' => 'dialplan', 'softkey' => 'softkey'); -// 'pro' /tftpboot - root dir -// /tftpboot/locales/locales/%Languge_name% -// /tftpboot/settings/XMLdefault.cnf.xml -// /tftpboot/settings/SEP[MAC].cnf.xml -// /tftpboot/firmware/79xx/SCCPxxxx.loads - $adv_tree['pro'] = array('templates' => 'tftproot', 'settings' => 'tftproot', 'locales' => 'tftproot', 'firmware' => 'tftproot', 'languages' => 'locales', 'dialplan' => 'tftproot', 'softkey' => 'tftproot'); + public function validate_init_path($confDir = '', $db_vars) { + $adv_config = array('tftproot' => '', + 'firmware' => 'firmware', + 'settings' => 'settings', + 'locales' => 'locales', + 'languages' => 'languages', + 'templates' => 'templates', + 'dialplan' => 'dialplan', + 'softkey' => 'softkey' + ); -// 'def' /tftpboot - root dir -// /tftpboot/languages/%Languge_name% -// /tftpboot/XMLdefault.cnf.xml -// /tftpboot/SEP[MAC].cnf.xml -// /tftpboot/SCCPxxxx.loads - $adv_tree['def'] = array('templates' => 'tftproot', 'settings' => '', 'locales' => '', 'firmware' => '', 'languages' => 'tftproot', 'dialplan' => '', 'softkey' => ''); -// $adv_tree['def'] = Array('templates' => 'tftproot', 'settings' => '', 'locales' => 'tftproot', 'firmware' => 'tftproot', 'languages' => ''); -// $adv_tree['def'] = Array('templates' => 'tftproot', 'settings' => '', 'locales' => 'tftproot', 'firmware' => 'tftproot', 'languages' => 'tftproot'); -//* **************------ **** - $base_tree = array('tftp_templates' => 'templates', 'tftp_path_store' => 'settings', 'tftp_lang_path' => 'languages', 'tftp_firmware_path' => 'firmware', 'tftp_dialplan' => 'dialplan', 'tftp_softkey' => 'softkey'); + $adv_tree['pro'] = array('templates' => 'tftproot', + 'settings' => 'tftproot', + 'locales' => 'tftproot', + 'firmware' => 'tftproot', + 'languages' => 'locales', + 'dialplan' => 'tftproot', + 'softkey' => 'tftproot' + ); + + $adv_tree['def'] = array('templates' => 'tftproot', + 'settings' => '', + 'locales' => '', + 'firmware' => '', + 'languages' => 'tftproot', + 'dialplan' => '', + 'softkey' => '' + ); + + $base_tree = array('tftp_templates' => 'templates', + 'tftp_path_store' => 'settings', + 'tftp_lang_path' => 'languages', + 'tftp_firmware_path' => 'firmware', + 'tftp_dialplan' => 'dialplan', + 'tftp_softkey' => 'softkey' + ); if (empty($confDir)) { return array('error' => 'empty СonfDir'); } - $base_config = array('asterisk' => $confDir, 'sccp_conf' => $confDir . '/sccp.conf', 'tftp_path' => ''); + $base_config = array('asterisk' => $confDir, + 'sccp_conf' => "$confDir/sccp.conf", + 'tftp_path' => ''); // Test Base dir (/tftproot) if (!empty($db_vars["tftp_path"])) { @@ -314,21 +328,7 @@ class extconfigs } } } - print_r($base_config, 1); -// die(print_r($base_config,1)); -// $base_config['External_ini'] = $adv_config; -// $base_config['External_mode'] = $adv_tree_mode; - /* - if (!empty($this->sccppath["tftp_path"])) { - $this->sccppath["tftp_DP"] = $this->sccppath["tftp_path"] . '/Dialplan'; - if (!file_exists($this->sccppath["tftp_DP"])) { - if (!mkdir($this->sccppath["tftp_DP"], 0777, true)) { - die('Error creating DialPlan template dir'); - } - } - } - */ // TFTP -REWrite double model if (empty($_SERVER['DOCUMENT_ROOT'])) { if (!empty($this->paren_class)) { @@ -345,27 +345,9 @@ class extconfigs copy($filename, $dst_path . basename($filename)); } } - - $dst = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/core/functions.inc/drivers/Sccp.class.php'; - if (!file_exists($dst) || $sccp_driver_replace == 'yes') { - $src_path = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/' . basename($dst) . '.v' . $db_vars['sccp_compatible']['data']; - if (file_exists($src_path)) { - copy($src_path, $dst); - } else { - // Set new default - $src_path = $_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/' . basename($dst) . '.v433'; - copy($src_path, $dst); - } - } - - if (!file_exists($base_config["sccp_conf"])) { // System re Config - $sccpfile = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/admin/modules/sccp_manager/conf/sccp.conf'); - file_put_contents($base_config["sccp_conf"], $sccpfile); - } - return $base_config; } - // Type declaration in below function is incompatible with PHP 5 + public function validate_RealTime( $connector ) { // This method only checks that asterisk is correctly configured for Realtime