add('
');
$oP->add_ready_script(
<<'+this.options.labels.title+' ';
sHtmlForm += ''+this.options.labels.comments+' ';
*/
/* first select params specific to the export format */
$oExporter = BulkExport::FindExporter($sFormat);
if ($oExporter === null) {
$aSupportedFormats = BulkExport::FindSupportedFormats();
$oP->add("Invalid output format: '$sFormat'. The supported formats are: ".implode(', ', array_keys($aSupportedFormats)));
$oP->add('
');
return $oP;
}
$UIContentBlock = UIContentBlockUIBlockFactory::MakeStandard('form_part_'.$sFormat)->AddCSSClass('form_part');
$oForm->AddSubBlock($UIContentBlock);
$UIContentBlock->AddSubBlock($oExporter->GetFormPart($oP, $sFormat.'_options'));
$aSelectedClasses = utils::ReadParam('list_classes', '', false, utils::ENUM_SANITIZATION_FILTER_RAW_DATA);
$oPanel = PanelUIBlockFactory::MakeNeutral(Dict::S('UI:Export:Class:SelectedClasses'));
$oForm->AddSubBlock($oPanel);
$oMulticolumn = MultiColumnUIBlockFactory::MakeStandard('selected_classes');
$oPanel->AddSubBlock($oMulticolumn);
$oMulticolumn->AddCSSClass('ibo-multi-column--export');
$oColumn1 = ColumnUIBlockFactory::MakeStandard();
$oMulticolumn->AddColumn($oColumn1);
$oColumn2 = ColumnUIBlockFactory::MakeStandard();
$oMulticolumn->AddColumn($oColumn2);
foreach ($aSelectedClasses as $i => $sClass) {
$oBlock = FieldUIBlockFactory::MakeStandard(MetaModel::GetName($sClass)) ;
$oValue = SelectUIBlockFactory::MakeForSelect($sClass);
$oValue->AddOption(SelectOptionUIBlockFactory::MakeForSelectOption('standard', Dict::S('UI:Export:Class:Standard'), true));
$oValue->AddOption(SelectOptionUIBlockFactory::MakeForSelectOption('user', Dict::S('UI:Export:Class:User'), false));
$oValue->AddOption(SelectOptionUIBlockFactory::MakeForSelectOption('custom', Dict::S('UI:Export:Class:Custom'), false));
$oBlock->AddSubBlock($oValue);
if ($i%2 == 0) {
$oColumn1->AddSubBlock($oBlock);
} else {
$oColumn2->AddSubBlock($oBlock);
}
}
$oP->add('');
return $oP;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///
///
/// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* function DisplayForm(WebPage $oP, $sAction = '', $sExpression = '', $sFormat = null)
{
$oExportSearch = null;
$oP->add_script(DateTimeFormat::GetJSSQLToCustomFormat());
$sJSDefaultDateTimeFormat = json_encode((string)AttributeDateTime::GetFormat());
$oP->add_script(
<<LinkScriptFromAppRoot('js/tabularfieldsselector.js');
$oP->LinkScriptFromAppRoot('js/jquery.dragtable.js');
$oP->LinkStylesheetFromAppRoot('css/dragtable.css');
/* $oForm = FormUIBlockFactory::MakeStandard("export-form");
$oForm->SetAction($sAction);
$oForm->AddDataAttribute("state", "not-yet-started");
$oP->AddSubBlock($oForm);*
$bExpressionIsValid = true;
$sExpressionError = '';
if ($sExpression === null) {
$bExpressionIsValid = false;
} else if ($sExpression !== '') {
try {
$oExportSearch = DBObjectSearch::FromOQL($sExpression);
$oExportSearch->UpdateContextFromUser();
}
catch (OQLException $e) {
$bExpressionIsValid = false;
$sExpressionError = $e->getMessage();
}
}
if (!$bExpressionIsValid) {
DisplayExpressionForm($oP, $sAction, $sExpression, $sExpressionError,$oForm);
return;
}
$oForm->AddSubBlock(InputUIBlockFactory::MakeForHidden("expression", $sExpression));
$oExportSearch = DBObjectSearch::FromOQL($sExpression);
$oExportSearch->UpdateContextFromUser();
$aFormPartsByFormat = array();
$aAllFormParts = array();
// One specific format was chosen
$oSelect = InputUIBlockFactory::MakeForHidden("format", utils::EscapeHtml($sFormat));
$oForm->AddSubBlock($oSelect);
/* $oExporter = BulkExport::FindExporter($sFormat, $oExportSearch);
$aParts = $oExporter->EnumFormParts();
foreach ($aParts as $sPartId => $void) {
$aAllFormParts[$sPartId] = $oExporter;
}
$aFormPartsByFormat[$sFormat] = array_keys($aAllFormParts);
foreach ($aAllFormParts as $sPartId => $oExport) {
$UIContentBlock = UIContentBlockUIBlockFactory::MakeStandard('form_part_'.$sPartId)->AddCSSClass('form_part');
$oForm->AddSubBlock($UIContentBlock);
$UIContentBlock->AddSubBlock($oExport->GetFormPart($oP, $sPartId));
}*
//end of form
$oBlockExport = UIContentBlockUIBlockFactory::MakeStandard("export-feedback")->SetIsHidden(true);
$oBlockExport->AddSubBlock(new Html(''.Dict::S('ExcelExport:PreparingExport').'
'));
$oBlockExport->AddSubBlock(new Html(''));
$oP->AddSubBlock($oBlockExport);
if ($sFormat == null) {//if it's global export
$oP->AddSubBlock(ButtonUIBlockFactory::MakeForPrimaryAction('export', Dict::S('UI:Button:Export'), 'export', false, 'export-btn'));
}
$oBlockResult = UIContentBlockUIBlockFactory::MakeStandard("export_text_result")->SetIsHidden(true);
$oBlockResult->AddSubBlock(new Html(Dict::S('Core:BulkExport:ExportResult')));
$oTextArea = new TextArea('export_content', '', 'export_content');
$oTextArea->AddCSSClass('ibo-input-text--export');
$oBlockResult->AddSubBlock($oTextArea);
$oP->AddSubBlock($oBlockResult);
$sJSParts = json_encode($aFormPartsByFormat);
$oP->add_ready_script(
<<