Пример #1
0
 $iCategory = utils::ReadParam('category', '');
 $iRuleIndex = utils::ReadParam('rule', 0);
 $oAuditCategory = MetaModel::GetObject('AuditCategory', $iCategory);
 $oDefinitionFilter = DBObjectSearch::FromOQL($oAuditCategory->Get('definition_set'));
 FilterByContext($oDefinitionFilter, $oAppContext);
 $oDefinitionSet = new CMDBObjectSet($oDefinitionFilter);
 $oFilter = GetRuleResultFilter($iRuleIndex, $oDefinitionFilter, $oAppContext);
 $oErrorObjectSet = new CMDBObjectSet($oFilter);
 $oAuditRule = MetaModel::GetObject('AuditRule', $iRuleIndex);
 $sFileName = utils::ReadParam('filename', null, true, 'string');
 $bAdvanced = utils::ReadParam('advanced', false);
 $sAdvanced = $bAdvanced ? '&advanced=1' : '';
 if ($sFileName != null) {
     $oP = new CSVPage("iTop - Export");
     $sCharset = MetaModel::GetConfig()->Get('csv_file_default_charset');
     $sCSVData = cmdbAbstractObject::GetSetAsCSV($oErrorObjectSet, array('localize_values' => true, 'fields_advanced' => $bAdvanced), $sCharset);
     if ($sCharset == 'UTF-8') {
         $sOutputData = UTF8_BOM . $sCSVData;
     } else {
         $sOutputData = $sCSVData;
     }
     if ($sFileName == '') {
         // Plain text => Firefox will NOT propose to download the file
         $oP->add_header("Content-type: text/plain; charset={$sCharset}");
     } else {
         $oP->add_header("Content-type: text/csv; charset={$sCharset}");
     }
     $oP->add($sOutputData);
     $oP->TrashUnexpectedOutput();
     $oP->output();
     exit;
Пример #2
0
\t\t\$('select[name^=field]').change( DoCheckMapping );
\t\taDefaultKeys = new Array({$sDefaultKeys});
\t\tDoCheckMapping();
EOF
);
            }
            break;
        case 'get_csv_template':
            $sClassName = utils::ReadParam('class_name');
            $sFormat = utils::ReadParam('format', 'csv');
            if (MetaModel::IsValidClass($sClassName)) {
                $oSearch = new DBObjectSearch($sClassName);
                $oSearch->AddCondition('id', 0, '=');
                // Make sure we create an empty set
                $oSet = new CMDBObjectSet($oSearch);
                $sResult = cmdbAbstractObject::GetSetAsCSV($oSet, array('showMandatoryFields' => true));
                $sClassDisplayName = MetaModel::GetName($sClassName);
                $sDisposition = utils::ReadParam('disposition', 'inline');
                if ($sDisposition == 'attachment') {
                    switch ($sFormat) {
                        case 'xlsx':
                            $oPage = new ajax_page("");
                            $oPage->SetContentType('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
                            $oPage->SetContentDisposition('attachment', $sClassDisplayName . '.xlsx');
                            require_once APPROOT . '/application/excelexporter.class.inc.php';
                            $writer = new XLSXWriter();
                            $writer->setAuthor(UserRights::GetUserFriendlyName());
                            $aHeaders = array(0 => explode(',', $sResult));
                            // comma is the default separator
                            $writer->writeSheet($aHeaders, $sClassDisplayName, array());
                            $oPage->add($writer->writeToString());
Пример #3
0
         } else {
             $bViewLink = false;
         }
         $sFields = implode(',', $aFields);
         $aExtraParams = array('menu' => false, 'toolkit_menu' => false, 'display_limit' => false, 'localize_values' => $bLocalize, 'zlist' => false, 'extra_fields' => $sFields, 'view_link' => $bViewLink);
     } else {
         $aExtraParams = array('menu' => false, 'toolkit_menu' => false, 'display_limit' => false, 'localize_values' => $bLocalize, 'zlist' => 'details');
     }
     $oResultBlock = new DisplayBlock($oFilter, 'list', false, $aExtraParams);
     $oResultBlock->Display($oP, 'expresult');
     break;
 case 'csv':
     $oP = new CSVPage("iTop - Export");
     $sFields = implode(',', $aFields);
     $sCharset = utils::ReadParam('charset', MetaModel::GetConfig()->Get('csv_file_default_charset'), true, 'raw_data');
     $sCSVData = cmdbAbstractObject::GetSetAsCSV($oSet, array('fields' => $sFields, 'fields_advanced' => $bFieldsAdvanced, 'localize_values' => $bLocalize), $sCharset);
     if ($sCharset == 'UTF-8') {
         $sOutputData = UTF8_BOM . $sCSVData;
     } else {
         $sOutputData = $sCSVData;
     }
     if ($sFileName == '') {
         // Plain text => Firefox will NOT propose to download the file
         $oP->add_header("Content-type: text/plain; charset={$sCharset}");
     } else {
         $oP->add_header("Content-type: text/csv; charset={$sCharset}");
     }
     $oP->add($sOutputData);
     break;
 case 'spreadsheet':
     $oP = new WebPage("iTop - Export for spreadsheet");