From d107530cf260c446fca1d7fd19a82157e9501be6 Mon Sep 17 00:00:00 2001 From: blackc2004 Date: Thu, 10 Dec 2015 15:07:46 -0800 Subject: [PATCH] extension download --- app/extensions/app_languages.php | 11 ++ app/extensions/extension_download.php | 187 ++++++++++++++++++++++++++ app/extensions/extensions.php | 3 + themes/enhanced/template.php | 4 + 4 files changed, 205 insertions(+) create mode 100644 app/extensions/extension_download.php diff --git a/app/extensions/app_languages.php b/app/extensions/app_languages.php index d70072975a..1a15d94a98 100644 --- a/app/extensions/app_languages.php +++ b/app/extensions/app_languages.php @@ -1729,6 +1729,17 @@ $text['button-save']['ro'] = "Salvează"; $text['button-save']['ar-eg'] = "حفظ"; $text['button-save']['he'] = "שמור"; +$text['button-export']['en-us'] = "Export"; +$text['button-export']['es-cl'] = "Exportación"; +$text['button-export']['pt-pt'] = "Exportação"; +$text['button-export']['fr-fr'] = "Exportation"; +$text['button-export']['pt-br'] = "Exportação "; +$text['button-export']['pl'] = "Eksportuj"; +$text['button-export']['sv-se'] = "Export"; +$text['button-export']['uk'] = ""; +$text['button-export']['de-at'] = "Export"; +$text['button-export']['he'] = "יצוא"; + $text['button-edit']['en-us'] = "Edit"; $text['button-edit']['es-cl'] = "Editar"; $text['button-edit']['pt-pt'] = "Editar"; diff --git a/app/extensions/extension_download.php b/app/extensions/extension_download.php new file mode 100644 index 0000000000..3fa035b416 --- /dev/null +++ b/app/extensions/extension_download.php @@ -0,0 +1,187 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ +include "root.php"; +require_once "resources/require.php"; +require_once "resources/check_auth.php"; +require_once "resources/paging.php"; +if (if_group("superadmin")) { + //access granted +} +else { + echo "access denied"; + exit; +} + +//add multi-lingual support +$language = new text; +$text = $language->get(); + +function array2csv(array &$array) +{ + if (count($array) == 0) { + return null; + } + ob_start(); + $df = fopen("php://output", 'w'); + fputcsv($df, array_keys(reset($array))); + foreach ($array as $row) { + fputcsv($df, $row); + } + fclose($df); + return ob_get_clean(); +} + +function download_send_headers($filename) { + // disable caching + $now = gmdate("D, d M Y H:i:s"); + header("Expires: Tue, 03 Jul 2001 06:00:00 GMT"); + header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate"); + header("Last-Modified: {$now} GMT"); + + // force download + header("Content-Type: application/force-download"); + header("Content-Type: application/octet-stream"); + header("Content-Type: application/download"); + + // disposition / encoding on response body + header("Content-Disposition: attachment;filename={$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(); + +} + +$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_full_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"; + +//begin the page content + require_once "resources/header.php"; + + echo "
\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + foreach ($columns as $value) { + echo "\n"; + echo " "; + echo " "; + echo " "; + echo ""; + if ($c==0) { $c=1; } else { $c=0; } + } + + echo " \n"; + echo " \n"; + echo " "; + + echo "
"; + echo " Column Name"; + echo " Description"; + echo "
"; + echo " $value"; + echo ""; + echo "
\n"; + echo "
"; + echo " \n"; + echo "
"; + echo "

"; + echo "
"; + +//include the footer + require_once "resources/footer.php"; +?> \ No newline at end of file diff --git a/app/extensions/extensions.php b/app/extensions/extensions.php index a2d7b28597..15619513ae 100644 --- a/app/extensions/extensions.php +++ b/app/extensions/extensions.php @@ -123,6 +123,9 @@ require_once "resources/paging.php"; echo " \n"; echo "
\n"; echo " \n"; + if (if_group("superadmin")) { + echo " \n"; + } echo " "; echo " "; echo " \n"; diff --git a/themes/enhanced/template.php b/themes/enhanced/template.php index 23aadd820a..1ff8bd9091 100644 --- a/themes/enhanced/template.php +++ b/themes/enhanced/template.php @@ -1254,6 +1254,10 @@ SPAN.playback_progress_bar { } }); + $("#selecctall").change(function(){ + $(".checkbox1").prop('checked', $(this).prop("checked")); + }); + // linkify rows (except the last - the list_control_icons cell) // on a table with a class of 'tr_hover', according to the href // attribute of the tag