--- C:/Users/lv98063/Documents/Pessoal/Downloads/zabbix-2.4.5.tar/zabbix-2.4.5/zabbix-2.4.5/frontends/php/report2.php qua abr 22 04:56:03 2015 +++ C:/Users/lv98063/Documents/Zabbix/report2.php seg jul 6 15:53:29 2015 @@ -45,7 +45,8 @@ $fields = array( 'filter_timesince' => array(T_ZBX_STR, O_OPT, P_UNSET_EMPTY, null, null), 'filter_timetill' => array(T_ZBX_STR, O_OPT, P_UNSET_EMPTY, null, null), // ajax - 'filterState' => array(T_ZBX_INT, O_OPT, P_ACT, null, null) + 'filterState' => array(T_ZBX_INT, O_OPT, P_ACT, null, null), + 'exportFile' => array(T_ZBX_STR, O_OPT, P_SYS, null, null) ); check_fields($fields); @@ -382,6 +383,7 @@ elseif (isset($_REQUEST['filter_hostid'])) { // filter buttons $filterForm->addItemToBottomRow(new CSubmit('filter_set',_('Filter'))); $filterForm->addItemToBottomRow(new CSubmit('filter_rst', _('Reset'))); + $filterForm->addItemToBottomRow(new CSubmit('exportFile',_('Export'))); $reportWidget->addFlicker($filterForm, CProfile::get('web.avail_report.filter.state', 0)); @@ -400,6 +402,18 @@ elseif (isset($_REQUEST['filter_hostid'])) { $triggers = API::Trigger()->get($triggerOptions); CArrayHelper::sort($triggers, array('host', 'description')); + + if(hasRequest('exportFile')){ + $csvText = "Host;Name;Problems;Ok\n"; + foreach ($triggers as $trigger){ + $availability = calculateAvailability($trigger['triggerid'], getRequest('filter_timesince'), getRequest('filter_timetill')); + $csvText .= $trigger['hosts'][0]['name'].";".$trigger['description'].";".sprintf('%.4f%%', $availability['true']).";".sprintf('%.4f%%', $availability['false'])."\n"; + } + $filename = 'temp/report2_'.time().".csv"; + $file = fopen($filename,'w+'); + fwrite($file,$csvText); + fclose($file); + } $paging = getPagingLine($triggers); @@ -426,4 +440,25 @@ elseif (isset($_REQUEST['filter_hostid'])) { $reportWidget->show(); } +if (hasRequest('exportFile')) { +?> + +