public function DisplayFormPart(WebPage $oP, $sPartId)
 {
     switch ($sPartId) {
         case 'interactive_fields_html':
             $this->GetInteractiveFieldsWidget($oP, 'interactive_fields_html');
             break;
         default:
             return parent::DisplayFormPart($oP, $sPartId);
     }
 }
 protected function SuggestField($sClass, $sAttCode)
 {
     switch ($sAttCode) {
         case 'id':
             // replace 'id' by 'friendlyname'
             $sAttCode = 'friendlyname';
             break;
         default:
             $oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
             if ($oAttDef instanceof AttributeExternalKey) {
                 $sAttCode .= '_friendlyname';
             }
     }
     return parent::SuggestField($sClass, $sAttCode);
 }
 public function DisplayFormPart(WebPage $oP, $sPartId)
 {
     switch ($sPartId) {
         case 'interactive_fields_spreadsheet':
             $this->GetInteractiveFieldsWidget($oP, 'interactive_fields_spreadsheet');
             break;
         case 'spreadsheet_options':
             $sChecked = utils::ReadParam('no_localize', 0) == 1 ? ' checked ' : '';
             $oP->add('<fieldset><legend>' . Dict::S('Core:BulkExport:SpreadsheetOptions') . '</legend>');
             $oP->add('<table>');
             $oP->add('<tr>');
             $oP->add('<td><input type="checkbox" id="spreadsheet_no_localize" name="no_localize" value="1"' . $sChecked . '><label for="spreadsheet_no_localize"> ' . Dict::S('Core:BulkExport:OptionNoLocalize') . '</label></td>');
             $oP->add('</tr>');
             $oP->add('</table>');
             $oP->add('</fieldset>');
             break;
         default:
             return parent::DisplayFormPart($oP, $sPartId);
     }
 }
 public function DisplayFormPart(WebPage $oP, $sPartId)
 {
     switch ($sPartId) {
         case 'interactive_fields_csv':
             $this->GetInteractiveFieldsWidget($oP, 'interactive_fields_csv');
             break;
         case 'csv_options':
             $oP->add('<fieldset><legend>' . Dict::S('Core:BulkExport:CSVOptions') . '</legend>');
             $oP->add('<table class="export_parameters"><tr><td style="vertical-align:top">');
             $oP->add('<h3>' . Dict::S('UI:CSVImport:SeparatorCharacter') . '</h3>');
             $sRawSeparator = utils::ReadParam('separator', ',', true, 'raw_data');
             $aSep = array(';' => Dict::S('UI:CSVImport:SeparatorSemicolon+'), ',' => Dict::S('UI:CSVImport:SeparatorComma+'), 'tab' => Dict::S('UI:CSVImport:SeparatorTab+'));
             $sOtherSeparator = '';
             if (!array_key_exists($sRawSeparator, $aSep)) {
                 $sOtherSeparator = $sRawSeparator;
                 $sRawSeparator = 'other';
             }
             $aSep['other'] = Dict::S('UI:CSVImport:SeparatorOther') . ' <input type="text" size="3" name="other-separator" value="' . htmlentities($sOtherSeparator, ENT_QUOTES, 'UTF-8') . '"/>';
             foreach ($aSep as $sVal => $sLabel) {
                 $sChecked = $sVal == $sRawSeparator ? 'checked' : '';
                 $oP->add('<input type="radio" name="separator" value="' . htmlentities($sVal, ENT_QUOTES, 'UTF-8') . '" ' . $sChecked . '/>&nbsp;' . $sLabel . '<br/>');
             }
             $oP->add('</td><td style="vertical-align:top">');
             $oP->add('<h3>' . Dict::S('UI:CSVImport:TextQualifierCharacter') . '</h3>');
             $sRawQualifier = utils::ReadParam('text-qualifier', '"', true, 'raw_data');
             $aQualifiers = array('"' => Dict::S('UI:CSVImport:QualifierDoubleQuote+'), '\'' => Dict::S('UI:CSVImport:QualifierSimpleQuote+'));
             $sOtherQualifier = '';
             if (!array_key_exists($sRawQualifier, $aQualifiers)) {
                 $sOtherQualifier = $sRawQualifier;
                 $sRawQualifier = 'other';
             }
             $aQualifiers['other'] = Dict::S('UI:CSVImport:QualifierOther') . ' <input type="text" size="3" name="other-text-qualifier" value="' . htmlentities($sOtherQualifier, ENT_QUOTES, 'UTF-8') . '"/>';
             foreach ($aQualifiers as $sVal => $sLabel) {
                 $sChecked = $sVal == $sRawQualifier ? 'checked' : '';
                 $oP->add('<input type="radio" name="text-qualifier" value="' . htmlentities($sVal, ENT_QUOTES, 'UTF-8') . '" ' . $sChecked . '/>&nbsp;' . $sLabel . '<br/>');
             }
             $sChecked = utils::ReadParam('no_localize', 0) == 1 ? ' checked ' : '';
             $oP->add('</td><td style="vertical-align:top">');
             $oP->add('<h3>' . Dict::S('Core:BulkExport:CSVLocalization') . '</h3>');
             $oP->add('<input type="checkbox" id="csv_no_localize" name="no_localize" value="1"' . $sChecked . '><label for="csv_no_localize"> ' . Dict::S('Core:BulkExport:OptionNoLocalize') . '</label>');
             $oP->add('<br/>');
             $oP->add('<br/>');
             $oP->add(Dict::S('UI:CSVImport:Encoding') . ': <select name="charset" style="font-family:Arial,Helvetica,Sans-serif">');
             // IE 8 has some troubles if the font is different
             $aPossibleEncodings = utils::GetPossibleEncodings(MetaModel::GetConfig()->GetCSVImportCharsets());
             $sDefaultEncoding = MetaModel::GetConfig()->Get('csv_file_default_charset');
             foreach ($aPossibleEncodings as $sIconvCode => $sDisplayName) {
                 $sSelected = '';
                 if ($sIconvCode == $sDefaultEncoding) {
                     $sSelected = ' selected';
                 }
                 $oP->add('<option value="' . $sIconvCode . '"' . $sSelected . '>' . $sDisplayName . '</option>');
             }
             $oP->add('</select>');
             $oP->add('</td></tr></table>');
             $oP->add('</fieldset>');
             break;
         default:
             return parent::DisplayFormPart($oP, $sPartId);
     }
 }
 public function ReadParameters()
 {
     parent::ReadParameters();
     $this->aStatusInfo['localize'] = utils::ReadParam('no_localize', 0) != 1;
 }
 public function DisplayFormPart(WebPage $oP, $sPartId)
 {
     switch ($sPartId) {
         case 'interactive_fields_csv':
             $this->GetInteractiveFieldsWidget($oP, 'interactive_fields_csv');
             break;
         case 'csv_options':
             $oP->add('<fieldset><legend>' . Dict::S('Core:BulkExport:CSVOptions') . '</legend>');
             $oP->add('<table class="export_parameters"><tr><td style="vertical-align:top">');
             $oP->add('<h3>' . Dict::S('UI:CSVImport:SeparatorCharacter') . '</h3>');
             $sRawSeparator = utils::ReadParam('separator', ',', true, 'raw_data');
             $aSep = array(';' => Dict::S('UI:CSVImport:SeparatorSemicolon+'), ',' => Dict::S('UI:CSVImport:SeparatorComma+'), 'tab' => Dict::S('UI:CSVImport:SeparatorTab+'));
             $sOtherSeparator = '';
             if (!array_key_exists($sRawSeparator, $aSep)) {
                 $sOtherSeparator = $sRawSeparator;
                 $sRawSeparator = 'other';
             }
             $aSep['other'] = Dict::S('UI:CSVImport:SeparatorOther') . ' <input type="text" size="3" name="other-separator" value="' . htmlentities($sOtherSeparator, ENT_QUOTES, 'UTF-8') . '"/>';
             foreach ($aSep as $sVal => $sLabel) {
                 $sChecked = $sVal == $sRawSeparator ? 'checked' : '';
                 $oP->add('<input type="radio" name="separator" value="' . htmlentities($sVal, ENT_QUOTES, 'UTF-8') . '" ' . $sChecked . '/>&nbsp;' . $sLabel . '<br/>');
             }
             $oP->add('</td><td style="vertical-align:top">');
             $oP->add('<h3>' . Dict::S('UI:CSVImport:TextQualifierCharacter') . '</h3>');
             $sRawQualifier = utils::ReadParam('text-qualifier', '"', true, 'raw_data');
             $aQualifiers = array('"' => Dict::S('UI:CSVImport:QualifierDoubleQuote+'), '\'' => Dict::S('UI:CSVImport:QualifierSimpleQuote+'));
             $sOtherQualifier = '';
             if (!array_key_exists($sRawQualifier, $aQualifiers)) {
                 $sOtherQualifier = $sRawQualifier;
                 $sRawQualifier = 'other';
             }
             $aQualifiers['other'] = Dict::S('UI:CSVImport:QualifierOther') . ' <input type="text" size="3" name="other-text-qualifier" value="' . htmlentities($sOtherQualifier, ENT_QUOTES, 'UTF-8') . '"/>';
             foreach ($aQualifiers as $sVal => $sLabel) {
                 $sChecked = $sVal == $sRawQualifier ? 'checked' : '';
                 $oP->add('<input type="radio" name="text-qualifier" value="' . htmlentities($sVal, ENT_QUOTES, 'UTF-8') . '" ' . $sChecked . '/>&nbsp;' . $sLabel . '<br/>');
             }
             $sChecked = utils::ReadParam('no_localize', 0) == 1 ? ' checked ' : '';
             $oP->add('</td><td style="vertical-align:top">');
             $oP->add('<h3>' . Dict::S('Core:BulkExport:CSVLocalization') . '</h3>');
             $oP->add('<input type="checkbox" id="csv_no_localize" name="no_localize" value="1"' . $sChecked . '><label for="csv_no_localize"> ' . Dict::S('Core:BulkExport:OptionNoLocalize') . '</label>');
             $oP->add('</td></tr></table>');
             $oP->add('</fieldset>');
             break;
         default:
             return parent::DisplayFormPart($oP, $sPartId);
     }
 }