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