- Update call block permissions
The call_block_all permission was pulling double duty. - Changed the code to use call_block_all only for SHOW ALL to call block across all domains. - Permission call_block_extension will be used instead for the purpose of showing the extension list. - If someone doesn't call_block_permission then their assigned extensions will be use with each call block item they add.
This commit is contained in:
parent
dcf1f9d17c
commit
8beecfbb89
|
|
@ -5,7 +5,7 @@
|
|||
$apps[$x]['uuid'] = "9ed63276-e085-4897-839c-4f2e36d92d6c";
|
||||
$apps[$x]['category'] = "Switch";
|
||||
$apps[$x]['subcategory'] = "";
|
||||
$apps[$x]['version'] = "1.0";
|
||||
$apps[$x]['version'] = "1.1";
|
||||
$apps[$x]['license'] = "Mozilla Public License 1.1";
|
||||
$apps[$x]['url'] = "http://www.fusionpbx.com";
|
||||
$apps[$x]['description']['en-us'] = "A tool to block incoming numbers.";
|
||||
|
|
@ -73,7 +73,6 @@
|
|||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_block_all";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "admin";
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = "call_block_extension";
|
||||
$apps[$x]['permissions'][$y]['groups'][] = "superadmin";
|
||||
|
|
@ -202,4 +201,4 @@
|
|||
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = "char(36)";
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = "";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -103,8 +103,7 @@
|
|||
$sql = "select count(*) from view_call_block ";
|
||||
$sql .= "where true ";
|
||||
if ($show == "all" && permission_exists('call_block_all')) {
|
||||
//$sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) ";
|
||||
//$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
//show all records across all domains
|
||||
}
|
||||
else {
|
||||
$sql .= "and ( ";
|
||||
|
|
@ -115,7 +114,7 @@
|
|||
$sql .= ") ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
}
|
||||
if (!permission_exists('call_block_all') && !empty($_SESSION['user']['extension'])) {
|
||||
if (!permission_exists('call_block_extension') && !empty($_SESSION['user']['extension'])) {
|
||||
$sql .= "and extension_uuid in (";
|
||||
$x = 0;
|
||||
foreach ($_SESSION['user']['extension'] as $field) {
|
||||
|
|
@ -181,7 +180,7 @@
|
|||
$sql .= ") ";
|
||||
$parameters['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
}
|
||||
if (!permission_exists('call_block_all') && !empty($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) {
|
||||
if (!permission_exists('call_block_extension') && !empty($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) {
|
||||
$sql .= "and extension_uuid in (";
|
||||
$x = 0;
|
||||
foreach ($_SESSION['user']['extension'] as $field) {
|
||||
|
|
@ -403,4 +402,4 @@
|
|||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -75,7 +75,7 @@
|
|||
$action_array = explode(':', $_POST["call_block_action"]);
|
||||
$call_block_app = $action_array[0];
|
||||
$call_block_data = $action_array[1] ?? null;
|
||||
|
||||
|
||||
//sanitize the data
|
||||
$extension_uuid = preg_replace("#[^a-fA-F0-9./]#", "", $extension_uuid);
|
||||
$call_block_country_code = preg_replace('#[^0-9./]#', '', $call_block_country_code ?? '');
|
||||
|
|
@ -176,7 +176,7 @@
|
|||
}
|
||||
|
||||
//if user doesn't have call block all then use the assigned extension_uuid
|
||||
if (!permission_exists('call_block_all')) {
|
||||
if (!permission_exists('call_block_extension')) {
|
||||
$extension_uuid = $_SESSION['user']['extension'][0]['extension_uuid'];
|
||||
}
|
||||
|
||||
|
|
@ -422,7 +422,7 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
if (permission_exists('call_block_all')) {
|
||||
if (permission_exists('call_block_extension')) {
|
||||
echo "<tr>\n";
|
||||
echo "<td width='30%' class='vncell' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-extension']."\n";
|
||||
|
|
@ -612,7 +612,7 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
if (empty($_REQUEST["id"])) {
|
||||
|
||||
//without block all permission, limit to assigned extension(s)
|
||||
if (!permission_exists('call_block_all') && !empty($_SESSION['user']['extension'])) {
|
||||
if (!permission_exists('call_block_extension') && !empty($_SESSION['user']['extension'])) {
|
||||
foreach ($_SESSION['user']['extension'] as $assigned_extension) {
|
||||
$assigned_extensions[$assigned_extension['extension_uuid']] = $assigned_extension['user'];
|
||||
}
|
||||
|
|
@ -658,7 +658,7 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
echo button::create(['type'=>'button','id'=>'action_bar_sub_button_back','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'collapse'=>'hide-xs','style'=>'display: none;','link'=>'call_block.php']);
|
||||
if ($result) {
|
||||
$select_margin = 'margin-left: 15px;';
|
||||
if (permission_exists('call_block_all')) {
|
||||
if (permission_exists('call_block_extension')) {
|
||||
echo "<select class='formfld' style='".$select_margin."' name='extension_uuid'>\n";
|
||||
echo " <option value='' disabled='disabled'>".$text['label-extension']."</option>\n";
|
||||
echo " <option value='' selected='selected'>".$text['label-all']."</option>\n";
|
||||
|
|
@ -812,4 +812,4 @@ if (permission_exists('call_block_all') || permission_exists('call_block_ring_gr
|
|||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
?>
|
||||
|
|
@ -317,7 +317,7 @@ if (!class_exists('call_block')) {
|
|||
foreach ($rows as $x => $row) {
|
||||
|
||||
//build insert array
|
||||
if (permission_exists('call_block_all')) {
|
||||
if (permission_exists('call_block_extension')) {
|
||||
$array['call_block'][$x]['call_block_uuid'] = uuid();
|
||||
$array['call_block'][$x]['domain_uuid'] = $_SESSION['domain_uuid'];
|
||||
$array['call_block'][$x]['call_block_direction'] = $this->call_block_direction;
|
||||
|
|
@ -431,4 +431,4 @@ if (!class_exists('call_block')) {
|
|||
} //class
|
||||
}
|
||||
|
||||
?>
|
||||
?>
|
||||
Loading…
Reference in New Issue