You are here

public function FilterFormat::prepareRow in Drupal 10

Same name in this branch
  1. 10 core/modules/filter/src/Plugin/migrate/source/d6/FilterFormat.php \Drupal\filter\Plugin\migrate\source\d6\FilterFormat::prepareRow()
  2. 10 core/modules/filter/src/Plugin/migrate/source/d7/FilterFormat.php \Drupal\filter\Plugin\migrate\source\d7\FilterFormat::prepareRow()
Same name and namespace in other branches
  1. 8 core/modules/filter/src/Plugin/migrate/source/d6/FilterFormat.php \Drupal\filter\Plugin\migrate\source\d6\FilterFormat::prepareRow()
  2. 9 core/modules/filter/src/Plugin/migrate/source/d6/FilterFormat.php \Drupal\filter\Plugin\migrate\source\d6\FilterFormat::prepareRow()

Adds additional data to the row.

Parameters

\Drupal\migrate\Row $row: The row object.

Return value

bool FALSE if this row needs to be skipped.

Overrides SourcePluginBase::prepareRow

File

core/modules/filter/src/Plugin/migrate/source/d6/FilterFormat.php, line 46

Class

FilterFormat
Drupal 6 filter source from database.

Namespace

Drupal\filter\Plugin\migrate\source\d6

Code

public function prepareRow(Row $row) {
  $filters = [];
  $roles = $row
    ->getSourceProperty('roles');
  $row
    ->setSourceProperty('roles', array_values(array_filter(explode(',', $roles))));
  $format = $row
    ->getSourceProperty('format');

  // Find filters for this row.
  $results = $this
    ->select('filters', 'f')
    ->fields('f', [
    'module',
    'delta',
    'weight',
  ])
    ->condition('format', $format)
    ->execute();
  foreach ($results as $raw_filter) {
    $module = $raw_filter['module'];
    $delta = $raw_filter['delta'];
    $filter = [
      'module' => $module,
      'delta' => $delta,
      'weight' => $raw_filter['weight'],
      'settings' => [],
    ];

    // Load the filter settings for the filter module, modules can use
    // hook_migration_d6_filter_formats_prepare_row() to add theirs.
    if ($raw_filter['module'] == 'filter') {
      if (!$delta) {
        if ($setting = $this
          ->variableGet("allowed_html_{$format}", NULL)) {
          $filter['settings']['allowed_html'] = $setting;
        }
        if ($setting = $this
          ->variableGet("filter_html_help_{$format}", NULL)) {
          $filter['settings']['filter_html_help'] = $setting;
        }
        if ($setting = $this
          ->variableGet("filter_html_nofollow_{$format}", NULL)) {
          $filter['settings']['filter_html_nofollow'] = $setting;
        }
      }
      elseif ($delta == 2 && ($setting = $this
        ->variableGet("filter_url_length_{$format}", NULL))) {
        $filter['settings']['filter_url_length'] = $setting;
      }
    }
    $filters[] = $filter;
  }
  $row
    ->setSourceProperty('filters', $filters);
  return parent::prepareRow($row);
}