Hi Jeff
Now got 3 systems doing it. We had an issue a little while back when the first line was blank which upset xml files. Could this be related?
This is the phone section from tftpSQL.php. Is it correct? Thanks
// Phones
//
$sql = "SELECT * FROM IPphone WHERE location='local' AND macaddr<>'' AND provision<>''";
foreach ($dbh->query($sql) as $row) {
$lmacaddr = strtolower($row['macaddr']);
$umacaddr = strtoupper($row['macaddr']);
if ( array_key_exists( 'hausecluster', $row ) ) {
if ($row['hausecluster'] == "YES") {
$row['provision'] = preg_replace ( '/\$localip/',"$haclusterip", $row['provision'] );
}
}
else {
$row['provision'] = preg_replace ( '/\$localip/',"$localip", $row['provision'] );
}
$row['provision'] = preg_replace ( '/\$MAC/',"$umacaddr", $row['provision'] );
$row['provision'] = preg_replace ( '/\$mac/',"$lmacaddr", $row['provision'] );
$files = split ("\n]",$row['provision']);
foreach ($files as $thisfile) {
$row['provision'] = preg_replace ( '/\n]/',"", $row['provision'] );
if (preg_match(' /\["(.*)"/ ',$thisfile,$matches)) {
$cfgfilename = "/tftpboot/" . $matches[1];
//
// remove support for Grandstream and spa 2/3 for initial release
//
if (preg_match(" /Grandstream/",$row['device'])) {
continue;
if (!file_exists("/usr/local/src/GS_CFG_GEN/bin/encode.sh")) {
continue;
}
$row['provision'] = preg_replace ( ' /\["(.*)"/ ',"", $row['provision'] );
$fh = fopen("/tftpboot/gsconfig", 'w') or die('Could not open file!');
fwrite($fh,$row['provision']) or die('Could not write to file');
fclose($fh);
`/usr/local/src/GS_CFG_GEN/bin/encode.sh $fmacaddr /tftpboot/gsconfig tftpboot/$cfgfilename`;
}
elseif (preg_match(" /SPA-2/",$row['device'])) {
continue;
if (file_exists ($cfgfilename . 'line1')) {
$row['provision'] = preg_replace ( '/\_x_/','/_2_/', $row['provision'] );
$cfgfilename .= ".line2";
}
else {
$row['provision'] = preg_replace ( '/\_x_/','/_1_/', $row['provision'] );
$cfgfilename .= ".line1";
}
$fh = fopen($cfgfilename, 'w') or die('Could not open file!');
fwrite($fh,$row['provision']) or die('Could not write to file');
fclose($fh);
}
elseif (preg_match(" /SPA-3/",$row['device'])) {
continue;
$cfgfilename .= ".line";
$fh = fopen($cfgfilename, 'w') or die('Could not open file!');
fwrite($fh,$row['provision']) or die('Could not write to file');
fclose($fh);
}
else {
$row['provision'] = preg_replace ( ' /\["(.*)"\n/ ',"", $row['provision'] );
$fh = fopen($cfgfilename, 'w') or die('Could not open file!');
fwrite($fh,$row['provision']) or die('Could not write to file');
fclose($fh);
}
}
}
}
/*