diff --git a/app/devices/device_download.php b/app/devices/device_download.php new file mode 100644 index 0000000000..d0a4c24623 --- /dev/null +++ b/app/devices/device_download.php @@ -0,0 +1,142 @@ + + 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_devices "; + $sql .= " where domain_uuid = '".$domain_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $devices = $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($devices); + die(); + +} + +$columns[] = 'device_uuid'; +$columns[] = 'domain_uuid'; +$columns[] = 'device_mac_address'; +$columns[] = 'device_label'; +$columns[] = 'device_template'; +$columns[] = 'device_description'; + +$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"; +?> diff --git a/app/devices/devices.php b/app/devices/devices.php index 59d8355a2e..ad66246b83 100644 --- a/app/devices/devices.php +++ b/app/devices/devices.php @@ -174,6 +174,9 @@ echo " \n"; echo " \n"; echo "
\n"; + if (if_group("superadmin")) { + echo " \n"; + } if (permission_exists('device_all')) { if ($_GET['showall'] == 'true') { echo " ";