mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-06 11:43:50 +00:00
Extensions: Database class integration.
This commit is contained in:
@@ -39,6 +39,60 @@ else {
|
||||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//define available columns
|
||||
$available_columns[] = 'extension_uuid';
|
||||
$available_columns[] = 'domain_uuid';
|
||||
$available_columns[] = 'extension';
|
||||
$available_columns[] = 'number_alias';
|
||||
$available_columns[] = 'password';
|
||||
$available_columns[] = 'accountcode';
|
||||
$available_columns[] = 'effective_caller_id_name';
|
||||
$available_columns[] = 'effective_caller_id_number';
|
||||
$available_columns[] = 'outbound_caller_id_name';
|
||||
$available_columns[] = 'outbound_caller_id_number';
|
||||
$available_columns[] = 'emergency_caller_id_name';
|
||||
$available_columns[] = 'emergency_caller_id_number';
|
||||
$available_columns[] = 'directory_first_name';
|
||||
$available_columns[] = 'directory_last_name';
|
||||
$available_columns[] = 'directory_visible';
|
||||
$available_columns[] = 'directory_exten_visible';
|
||||
$available_columns[] = 'limit_max';
|
||||
$available_columns[] = 'limit_destination';
|
||||
$available_columns[] = 'missed_call_app';
|
||||
$available_columns[] = 'missed_call_data';
|
||||
$available_columns[] = 'user_context';
|
||||
$available_columns[] = 'toll_allow';
|
||||
$available_columns[] = 'call_timeout';
|
||||
$available_columns[] = 'call_group';
|
||||
$available_columns[] = 'call_screen_enabled';
|
||||
$available_columns[] = 'user_record';
|
||||
$available_columns[] = 'hold_music';
|
||||
$available_columns[] = 'auth_acl';
|
||||
$available_columns[] = 'cidr';
|
||||
$available_columns[] = 'sip_force_contact';
|
||||
$available_columns[] = 'nibble_account';
|
||||
$available_columns[] = 'sip_force_expires';
|
||||
$available_columns[] = 'mwi_account';
|
||||
$available_columns[] = 'sip_bypass_media';
|
||||
$available_columns[] = 'unique_id';
|
||||
$available_columns[] = 'dial_string';
|
||||
$available_columns[] = 'dial_user';
|
||||
$available_columns[] = 'dial_domain';
|
||||
$available_columns[] = 'do_not_disturb';
|
||||
$available_columns[] = 'forward_all_destination';
|
||||
$available_columns[] = 'forward_all_enabled';
|
||||
$available_columns[] = 'forward_busy_destination';
|
||||
$available_columns[] = 'forward_busy_enabled';
|
||||
$available_columns[] = 'forward_no_answer_destination';
|
||||
$available_columns[] = 'forward_no_answer_enabled';
|
||||
$available_columns[] = 'follow_me_uuid';
|
||||
$available_columns[] = 'enabled';
|
||||
$available_columns[] = 'description';
|
||||
$available_columns[] = 'forward_caller_id_uuid';
|
||||
$available_columns[] = 'absolute_codec_string';
|
||||
$available_columns[] = 'forward_user_not_registered_destination';
|
||||
$available_columns[] = 'forward_user_not_registered_enabled';
|
||||
|
||||
function array2csv(array &$array)
|
||||
{
|
||||
if (count($array) == 0) {
|
||||
@@ -71,76 +125,27 @@ function download_send_headers($filename) {
|
||||
header("Content-Transfer-Encoding: binary");
|
||||
}
|
||||
|
||||
if (isset($_REQUEST["column_group"])) {
|
||||
|
||||
$columns = implode(",",$_REQUEST["column_group"]);
|
||||
$sql = "select " . $columns . " from v_extensions ";
|
||||
$sql .= " where domain_uuid = '".$domain_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$extensions = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
|
||||
unset ($sql, $prep_statement);
|
||||
// print_r($extensions);
|
||||
|
||||
download_send_headers("data_export_" . date("Y-m-d") . ".csv");
|
||||
echo array2csv($extensions);
|
||||
die();
|
||||
if (is_array($_REQUEST["column_group"]) && @sizeof($_REQUEST["column_group"]) != 0) {
|
||||
//validate submitted columns
|
||||
foreach($_REQUEST["column_group"] as $column_name) {
|
||||
if (in_array($column_name, $available_columns)) {
|
||||
$selected_columns[] = $column_name;
|
||||
}
|
||||
}
|
||||
if (is_array($selected_columns) && @sizeof($selected_columns) != 0) {
|
||||
$sql = "select ".implode(', ', $selected_columns)." from v_extensions ";
|
||||
$sql .= "where domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $domain_uuid;
|
||||
$database = new database;
|
||||
$extensions = $database->select($sql, $parameters, 'all');
|
||||
unset($sql, $parameters, $selected_columns);
|
||||
|
||||
download_send_headers("data_export_".date("Y-m-d").".csv");
|
||||
echo array2csv($extensions);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$columns[] = 'extension_uuid';
|
||||
$columns[] = 'domain_uuid';
|
||||
$columns[] = 'extension';
|
||||
$columns[] = 'number_alias';
|
||||
$columns[] = 'password';
|
||||
$columns[] = 'accountcode';
|
||||
$columns[] = 'effective_caller_id_name';
|
||||
$columns[] = 'effective_caller_id_number';
|
||||
$columns[] = 'outbound_caller_id_name';
|
||||
$columns[] = 'outbound_caller_id_number';
|
||||
$columns[] = 'emergency_caller_id_name';
|
||||
$columns[] = 'emergency_caller_id_number';
|
||||
$columns[] = 'directory_first_name';
|
||||
$columns[] = 'directory_last_name';
|
||||
$columns[] = 'directory_visible';
|
||||
$columns[] = 'directory_exten_visible';
|
||||
$columns[] = 'limit_max';
|
||||
$columns[] = 'limit_destination';
|
||||
$columns[] = 'missed_call_app';
|
||||
$columns[] = 'missed_call_data';
|
||||
$columns[] = 'user_context';
|
||||
$columns[] = 'toll_allow';
|
||||
$columns[] = 'call_timeout';
|
||||
$columns[] = 'call_group';
|
||||
$columns[] = 'call_screen_enabled';
|
||||
$columns[] = 'user_record';
|
||||
$columns[] = 'hold_music';
|
||||
$columns[] = 'auth_acl';
|
||||
$columns[] = 'cidr';
|
||||
$columns[] = 'sip_force_contact';
|
||||
$columns[] = 'nibble_account';
|
||||
$columns[] = 'sip_force_expires';
|
||||
$columns[] = 'mwi_account';
|
||||
$columns[] = 'sip_bypass_media';
|
||||
$columns[] = 'unique_id';
|
||||
$columns[] = 'dial_string';
|
||||
$columns[] = 'dial_user';
|
||||
$columns[] = 'dial_domain';
|
||||
$columns[] = 'do_not_disturb';
|
||||
$columns[] = 'forward_all_destination';
|
||||
$columns[] = 'forward_all_enabled';
|
||||
$columns[] = 'forward_busy_destination';
|
||||
$columns[] = 'forward_busy_enabled';
|
||||
$columns[] = 'forward_no_answer_destination';
|
||||
$columns[] = 'forward_no_answer_enabled';
|
||||
$columns[] = 'follow_me_uuid';
|
||||
$columns[] = 'enabled';
|
||||
$columns[] = 'description';
|
||||
$columns[] = 'forward_caller_id_uuid';
|
||||
$columns[] = 'absolute_codec_string';
|
||||
$columns[] = 'forward_user_not_registered_destination';
|
||||
$columns[] = 'forward_user_not_registered_enabled';
|
||||
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
@@ -149,32 +154,30 @@ $row_style["1"] = "row_style1";
|
||||
require_once "resources/header.php";
|
||||
|
||||
echo "<form method='post' name='frm' action='extension_download.php' autocomplete='off'>\n";
|
||||
echo "<table class='tr_hover' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
|
||||
echo "<div style='float: right;'>\n";
|
||||
echo "<input type='button' class='btn' alt='".$text['button-back']."' onclick=\"window.location='extensions.php'\" value='".$text['button-back']."'>\n";
|
||||
echo "<input type='submit' class='btn' value='".$text['button-export']."'>\n";
|
||||
echo "</div>\n";
|
||||
echo "<b>".$text['header-export']."</b>\n";
|
||||
echo "<br /><br />\n";
|
||||
|
||||
echo "<table class='tr_hover' width='100%' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo " <td valign='top' align='left' nowrap='nowrap'><b>".$text['header-export']."</b><br /></td>\n";
|
||||
echo " <td valign='top' align='right' colspan='2'>\n";
|
||||
echo " <input type='button' class='btn' name='' alt='".$text['button-back']."' onclick=\"window.location='extensions.php'\" value='".$text['button-back']."'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " <th><input type=\"checkbox\" id=\"selectall\" onclick=\"checkbox_toggle();\"/></th>\n";
|
||||
echo " <th>Column Name</th>\n";
|
||||
echo " <th>Description</th>\n";
|
||||
echo " <th style='padding: 0;'><input type='checkbox' id='selectall' onclick='checkbox_toggle();'/></th>\n";
|
||||
echo " <th width='100%'>".$text['label-column_name']."</th>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
foreach ($columns as $value) {
|
||||
foreach ($available_columns as $column_name) {
|
||||
echo "<tr>\n";
|
||||
echo " <td width = '20px' valign='top' class='".$row_style[$c]."'><input class=\"checkbox1\" type=\"checkbox\" name=\"column_group[]\" value=\"$value\"/>";
|
||||
echo "</td>";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'> $value";
|
||||
echo "</td>";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>";
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
if ($c==0) { $c=1; } else { $c=0; }
|
||||
echo " <td valign='middle' class='".$row_style[$c]."' style='padding: 0;'><input class='checkbox1' type='checkbox' name='column_group[]' value='".$column_name."' /></td>\n";
|
||||
echo " <td valign='middle' class='".$row_style[$c]."'>".$column_name."</td>\n";
|
||||
echo "</tr>\n";
|
||||
$c = $c ? 0 : 1;
|
||||
}
|
||||
|
||||
echo " <tr>\n";
|
||||
echo " <td colspan='3' align='right'>\n";
|
||||
echo " <td colspan='2' align='right'>\n";
|
||||
echo " <br>";
|
||||
echo " <input type='submit' class='btn' value='".$text['button-export']."'>\n";
|
||||
echo " </td>\n";
|
||||
|
||||
Reference in New Issue
Block a user