Fix Enable/Disable buttons in Phone Types - now contextual on page Reformulate sub views (enabled or disabled not all) Change page Layout and formatting Fix response feedback Tidy up html Fix issue with running validate
395 lines
22 KiB
PHP
395 lines
22 KiB
PHP
<?php
|
|
/*
|
|
* To change this license header, choose License Headers in Project Properties.
|
|
* To change this template file, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
$requestType = 'firmware';
|
|
global $amp_conf;
|
|
?>
|
|
|
|
<div class="fpbx-container container-fluid">
|
|
<div class="row">
|
|
<div class="col-sm-12">
|
|
<div class="display no-border">
|
|
<div id="toolbar-model">
|
|
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target=".add_new_model">
|
|
<i class="fa fa-plus"></i> <?php echo _("Add model"); ?>
|
|
</button>
|
|
<button data-id="model_disabled" id=buttonDeviceDisable class="btn btn-danger sccp_update btn-tab-select" data-type="sccp_model" data-table="table-models" disabled data-section="all">
|
|
<i class="glyphicon glyphicon-remove"></i>
|
|
<span><?php echo _('Disable') ?></span>
|
|
</button>
|
|
<button data-id="model_enabled" id=buttonDeviceEnable class="btn btn-success sccp_update btn-tab-select" data-table="table-models" data-type="sccp_model" disabled data-section="all">
|
|
<i class="fa fa-check"></i>
|
|
<span><?php echo _('Enable') ?></span>
|
|
</button>
|
|
<div class="btn-group">
|
|
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
|
|
<BtnCaption class="dropdown_capture"><?php echo _('Show Enabled') ?></BtnCaption>
|
|
<span class="caret"></span>
|
|
</a>
|
|
<ul class="dropdown-menu">
|
|
<li><a class="dropitem" data-id="enabled" tabindex="-1" href="#">
|
|
<span><?php echo _('Show Enabled') ?></span></a></li>
|
|
<li><a class="dropitem" data-id="expansion" tabindex="-1" href="#">
|
|
<span><?php echo _('Show Expansion Modules')?></span></a></li>
|
|
<li><a class="dropitem" data-id="disabled" tabindex="-1" href="#">
|
|
<span><?php echo _('Show Disabled') ?></span></a></li>
|
|
</ul>
|
|
</div>
|
|
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target=".get_ext_file_<?php echo $requestType; ?>"><i class="fa fa-bolt"></i> <?php echo _("Update Files from Provisioner"); ?>
|
|
</button>
|
|
</div>
|
|
<table data-cookie="true" data-row-style="SetRowColor" data-cookie-id-table="sccp_model-all" data-cache="false" data-show-refresh="true" data-toolbar="#toolbar-model" data-maintain-selected="true" data-show-columns="true" data-show-toggle="true" data-toggle="table" data-pagination="true" data-search="true" class="table table-condensed" id="table-models" data-id="model" data-unique-id="model">
|
|
<thead>
|
|
<tr>
|
|
<th data-checkbox="true"></th>
|
|
<th data-sortable="false" data-formatter="StatusIconFormatter" data-field="enabled"><?php echo _('Enabled');?></th>
|
|
<th data-sortable="true" data-field="model"><?php echo _('Device Model');?></th>
|
|
<th data-sortable="true" data-field="vendor"><?php echo _('Vendor');?></th>
|
|
<th data-sortable="false" data-formatter="DisplayDnsFormatter" data-field="dns"><?php echo _('Expansion Module');?></th>
|
|
<th data-sortable="false" data-field="buttons"><?php echo _('Buttons');?></th>
|
|
<th data-sortable="false" data-field="loadinformationid"><?php echo _('Loadinformation ID');?></th>
|
|
<th data-sortable="false" data-formatter="SetColFirmNf" data-field="loadimage"><?php echo _('Loadimage');?></th>
|
|
<th data-sortable="false" data-formatter="SetColTemplNf" data-field="nametemplate"><?php echo _('Model template');?></th>
|
|
<th data-field="actions" data-formatter="DispayActionsModelFormatter"><?php echo _('Actions');?></th>
|
|
</tr>
|
|
</thead>
|
|
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Begin Form Input New -->
|
|
<div class="modal fade add_new_model" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
<h4 class="modal-title" id="gridSystemModalLabel"><?php echo _('Add new model');?></h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_model"><?php echo _('Device Model');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_model"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<input type="text" class="form-control" id="new_model" name="new_model" value="79XX">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_model-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_vendor"><?php echo _('Vendor name');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_vendor"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<input type="text" class="form-control" id="new_vendor" name="new_vendor" value="CISCO">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_vendor-help" class="help-block fpbx-help-block">Use "CISCO" for the Skinny Client Control Protocol and "CISCO-SIP" for the CISCO Sip Protocol</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_dns"><?php echo _('Expansion Module');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_dns"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<select name="new_dns" id="new_dns">
|
|
<option value="1" selected='selected'>Phone - no sidecars.</option>
|
|
<option value="2">Phone - one sidecar.</option>
|
|
<option value="3">Phone - two sidecars.</option>
|
|
<option value="0">Sidecar</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_dns-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_buttons"><?php echo _('Model Line Buttons');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_buttons"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<input type="number" min="1" min="96" class="form-control" id="new_buttons" name="new_buttons" value="1">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_buttons-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_loadimage"><?php echo _('Load Image');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_loadimage"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<input type="text" class="form-control" id="new_loadimage" name="new_loadimage" value="">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_loadimage-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_loadinformationid"><?php echo _('Load Information ID');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_loadinformationid"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<input type="text" class="form-control" id="new_loadinformationid" name="new_loadinformationid" value="">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_loadinformationid-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="element-container">
|
|
<div class="row">
|
|
<div class="form-group">
|
|
<div class="col-md-3">
|
|
<label class="control-label" for="new_nametemplate"><?php echo _('Model template XML');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="new_nametemplate"></i>
|
|
</div>
|
|
<div class="col-md-9">
|
|
<input type="text" class="form-control" id="new_nametemplate" name="new_nametemplate" value="">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-12">
|
|
<span id="new_nametemplate-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _('Close');?></button>
|
|
<button type="button" class="btn btn-primary sccp_update" data-id="model_add" id="add_new_model" data-dismiss="modal"><?php echo _('Add New model - Disabled');?></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
|
|
$selectArray = array();
|
|
//below probably unnecessary as installer should ensure that a copy always exists
|
|
// TODO: Maybe should always check here to ensure that have latest
|
|
if (!file_exists("{$this->sccppath['tftp_path']}/masterFilesStructure.xml")) {
|
|
if (!$this->getFileListFromProvisioner($this->sccppath['tftp_path'])) {
|
|
// File does not exist and cannot get from internet.
|
|
return $result;
|
|
};
|
|
}
|
|
$tftpBootXml = simplexml_load_file("{$this->sccppath['tftp_path']}/masterFilesStructure.xml");
|
|
$firmwareDir = $tftpBootXml->xpath("//Directory[@name='firmware']");
|
|
|
|
foreach ($firmwareDir[0] as $child) {
|
|
if (!empty((string)$child['name'])) {
|
|
$selectArray[(string)$child['name']] = (string)$child['name'];
|
|
}
|
|
};
|
|
|
|
include($amp_conf['AMPWEBROOT'] . '/admin/modules/sccp_manager/views/getFileModal.html');
|
|
|
|
?>
|
|
<div class="modal fade" id="edit_model" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
|
<h4 class="modal-title" id="gridSystemModalLabel"><?php echo _('Modal title');?></h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_model"><?php echo _('Device Model');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_model"></i>
|
|
</div><div class="col-md-9">
|
|
<input type="text" class="form-control" id="editd_model" name="editd_model" value="79XX" disabled>
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_model-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div></div></div>
|
|
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_vendor"><?php echo _('Vendor name');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_vendor"></i>
|
|
</div><div class="col-md-9">
|
|
<input type="text" class="form-control" id="editd_vendor" name="editd_vendor" value="CISCO">
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_vendor-help" class="help-block fpbx-help-block">Use "CISCO" for the Skinny Client Control Protocol and "CISCO-SIP" for the CISCO Sip Protocol</span>
|
|
</div></div></div>
|
|
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_dns"><?php echo _('Expansion Module');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_dns"></i>
|
|
</div><div class="col-md-9">
|
|
<select name="editd_dns" id="editd_dns">
|
|
<option value="1" selected='selected'>Phone - no sidecars.</option>
|
|
<option value="2">Phone - one sidecar.</option>
|
|
<option value="3">Phone - two sidecars.</option>
|
|
<option value="0">Sidecar</option>
|
|
</select>
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_dns-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div></div></div>
|
|
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_buttons"><?php echo _('Model Line Buttons');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_buttons"></i>
|
|
</div><div class="col-md-9">
|
|
<input type="number" min="1" min="96" class="form-control" id="editd_buttons" name="editd_buttons" value="1">
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_buttons-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div></div></div>
|
|
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_loadimage"><?php echo _('Load Image');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_loadimage"></i>
|
|
</div><div class="col-md-9">
|
|
<input type="text" class="form-control" id="editd_loadimage" name="editd_loadimage" value="">
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_loadimage-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div></div></div>
|
|
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_loadinformationid"><?php echo _('Load Information ID');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_loadinformationid"></i>
|
|
</div><div class="col-md-9">
|
|
<input type="text" class="form-control" id="editd_loadinformationid" name="editd_loadinformationid" value="">
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_loadinformationid-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div></div></div>
|
|
|
|
<div class="element-container"><div class="row"> <div class="form-group"><div class="col-md-3">
|
|
<label class="control-label" for="editd_nametemplate"><?php echo _('Model template XML');?></label>
|
|
<i class="fa fa-question-circle fpbx-help-icon" data-for="editd_nametemplate"></i>
|
|
</div><div class="col-md-9">
|
|
<input type="text" class="form-control" id="editd_nametemplate" name="editd_nametemplate" value="">
|
|
</div> </div></div>
|
|
<div class="row"><div class="col-md-12">
|
|
<span id="editd_nametemplate-help" class="help-block fpbx-help-block">Help.</span>
|
|
</div></div></div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo _('Close');?></button>
|
|
<button type="button" class="btn btn-primary sccp_update" data-id="model_apply" data-dismiss="modal"><?php echo _('apply');?></button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
$(function() {
|
|
$('#table-models').bootstrapTable({data: <?php echo $this->deviceModelData ?>});
|
|
})
|
|
|
|
function load_model(elmnt,clr) {
|
|
var drow = $("#table-models").bootstrapTable('getRowByUniqueId',clr);
|
|
if (drow == null) {
|
|
alert(drow);
|
|
} else {
|
|
document.getElementById("editd_model").value = clr;
|
|
document.getElementById("editd_loadimage").value = drow['loadimage'];
|
|
document.getElementById("editd_nametemplate").value = drow['nametemplate'];
|
|
document.getElementById("editd_loadinformationid").value = drow['loadinformationid'];
|
|
document.getElementById("editd_dns").value = drow['dns'];
|
|
document.getElementById("editd_vendor").value = drow['vendor'];
|
|
document.getElementById("editd_buttons").value = drow['buttons'];
|
|
}
|
|
}
|
|
|
|
function StatusIconFormatter(value, row) {
|
|
return (value === '1') ? '<i class="fa fa-check-square-o" style="color:green" title="<?php echo _("Device is enabled")?>"></i>' : '<i class="fa fa-square-o" title="<?php echo _("Device is disabled")?>"></i>';
|
|
}
|
|
function DisplayDnsFormatter(value, row, index) {
|
|
var exp_model = ['Expansion Module', 'Not Available', 'One ExpModule', 'Two ExpModule'];
|
|
return exp_model[value];
|
|
}
|
|
|
|
function DispayActionsModelFormatter(value, row, index) {
|
|
var exp_model = '';
|
|
// exp_model += '<a href="#edit_model" class="btn btn-info" onclick="load_model(this, "'+row['model']+'")" data-toggle="modal"><i class="fa fa-pencil"></i></a>';
|
|
exp_model += '<a href="#edit_model" onclick="load_model(this, "'+row['model']+'")" data-toggle="modal"><i class="fa fa-pencil"></i></a> ';
|
|
exp_model += '</a> <a class="btn-item-delete" data-for="model" data-id="' + row['model'] + '"><i class="fa fa-trash"></i></a>';
|
|
return exp_model;
|
|
}
|
|
|
|
function SetColFirmNf(value, row, index) {
|
|
//if (row['validate'].split(';')[0] === 'no') {
|
|
if (row['fwfound'] === 'no') {
|
|
return "File not found<br />" + value;
|
|
}
|
|
return value;
|
|
}
|
|
function SetColTemplNf(value, row, index) {
|
|
//if (row['validate'].split(';')[1] === 'no') {
|
|
if (row['templatefound'] === 'no') {
|
|
return "File not found<br /> " + value ;
|
|
}
|
|
return value;
|
|
}
|
|
|
|
function SetRowColor(row, index) {
|
|
var tclass = "active";
|
|
if (row['enabled'] === "1") {
|
|
tclass = "success";
|
|
}
|
|
if (row['fwfound'] !== 'yes') {
|
|
tclass = (row['enabled'] === "1") ? "danger" : "warning";
|
|
}
|
|
return {classes: tclass};
|
|
}
|
|
|
|
</script>
|