get($_SESSION['domain']['language']['code'], 'app/call_forward'); //set the row style $c = 0; $row_style["0"] = "row_style0"; $row_style["1"] = "row_style1"; //get data $sql = " select extension_uuid, extension, forward_all_enabled, forward_all_destination, follow_me_enabled, follow_me_uuid, do_not_disturb from v_extensions "; if (!empty($_GET['show']) && $_GET['show'] == "all" && permission_exists('call_forward_all')) { $sql .= "where true "; } else { $sql .= "where domain_uuid = :domain_uuid "; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; } $sql .= "and enabled = 'true' "; if (!permission_exists('extension_edit')) { if (is_array($_SESSION['user']['extension']) && count($_SESSION['user']['extension']) > 0) { $sql .= "and ("; $x = 0; foreach($_SESSION['user']['extension'] as $row) { if ($x > 0) { $sql .= "or "; } $sql .= "extension = '".$row['user']."' "; $x++; } $sql .= ")"; } else { //used to hide any results when a user has not been assigned an extension $sql .= "and extension = 'disabled' "; } } $sql .= order_by($order_by ?? null, $order ?? null, 'extension', 'asc'); $database = new database; $extensions = $database->select($sql, $parameters, 'all'); unset($parameters); //determine keys and stats unset($stats); //set defaults $stats['dnd'] = $stats['follow_me'] = $stats['call_forward'] = $stats['active'] = 0; $show_stat = false; if (is_array($extensions) && @sizeof($extensions) != 0) { foreach ($extensions as $row) { if (permission_exists('call_forward')) { $stats['call_forward'] += $row['forward_all_enabled'] == 'true' && $row['forward_all_destination'] ? 1 : 0; } if (permission_exists('follow_me')) { $stats['follow_me'] += $row['follow_me_enabled'] == 'true' && is_uuid($row['follow_me_uuid']) ? 1 : 0; } if (permission_exists('do_not_disturb')) { $stats['dnd'] += $row['do_not_disturb'] == 'true' ? 1 : 0; } } $stats['active'] = @sizeof($extensions) - $stats['call_forward'] - $stats['follow_me'] - $stats['dnd']; } if (is_array($stats) && @sizeof($stats) != 0) { $show_stat = true; } //begin widget echo "
\n"; //doughnut chart echo "
\n"; echo "
\n"; echo "
\n"; echo "\n"; //details echo "
"; echo "\n"; echo "\n"; echo "\n"; if (permission_exists('call_forward')) { echo " \n"; } if (permission_exists('follow_me')) { echo " \n"; } if (permission_exists('do_not_disturb')) { echo " \n"; } echo "\n"; // data if (is_array($extensions) && @sizeof($extensions) != 0) { foreach ($extensions as $row) { $tr_link = PROJECT_PATH."/app/call_forward/call_forward_edit.php?id=".$row['extension_uuid']; echo "\n"; echo " \n"; if (permission_exists('call_forward')) { echo " \n"; } if (permission_exists('follow_me')) { //get destination count $follow_me_destination_count = 0; if ($row['follow_me_enabled'] == 'true' && is_uuid($row['follow_me_uuid'])) { $sql = "select count(*) from v_follow_me_destinations "; $sql .= "where follow_me_uuid = :follow_me_uuid "; $sql .= "and domain_uuid = :domain_uuid "; $parameters['follow_me_uuid'] = $row['follow_me_uuid']; $parameters['domain_uuid'] = $_SESSION['domain_uuid']; $database = new database; $follow_me_destination_count = $database->select($sql, $parameters, 'column'); unset($sql, $parameters); } echo " \n"; } if (permission_exists('do_not_disturb')) { echo " \n"; } echo "\n"; $c = ($c) ? 0 : 1; } unset($extensions); } echo "
".$text['label-extension']."".$text['label-call_forward']."".$text['label-follow_me']."".$text['label-dnd']."
".escape($row['extension'])."".($row['forward_all_enabled'] == 'true' ? escape(format_phone($row['forward_all_destination'])) : ' ')."".($follow_me_destination_count ? $text['label-enabled'].' ('.$follow_me_destination_count.')' : ' ')."".($row['do_not_disturb'] == 'true' ? $text['label-enabled'] : ' ')."
\n"; echo "
"; //$n++; echo "\n"; echo "
\n"; ?>