Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
3 / 3 |
CRAP | |
100.00% |
16 / 16 |
ViewMode | |
100.00% |
1 / 1 |
|
100.00% |
5 / 5 |
11 | |
100.00% |
16 / 16 |
initializeIterator | |
100.00% |
1 / 1 |
6 | |
100.00% |
10 / 10 |
|||
query | |
100.00% |
1 / 1 |
1 | |
100.00% |
4 / 4 |
|||
fields | |
100.00% |
1 / 1 |
1 | |
100.00% |
0 / 0 |
|||
getIds | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
calculateDependencies | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\node\Plugin\migrate\source\d6\ViewMode. | |
*/ | |
namespace Drupal\node\Plugin\migrate\source\d6; | |
/** | |
* The view mode source. | |
* | |
* @MigrateSource( | |
* id = "d6_view_mode", | |
* source_provider = "content" | |
* ) | |
*/ | |
class ViewMode extends ViewModeBase { | |
/** | |
* {@inheritdoc} | |
*/ | |
protected function initializeIterator() { | |
$rows = array(); | |
$result = $this->prepareQuery()->execute(); | |
while ($field_row = $result->fetchAssoc()) { | |
$field_row['display_settings'] = unserialize($field_row['display_settings']); | |
foreach ($this->getViewModes() as $view_mode) { | |
if (isset($field_row['display_settings'][$view_mode]) && empty($field_row['display_settings'][$view_mode]['exclude'])) { | |
if (!isset($rows[$view_mode])) { | |
$rows[$view_mode]['entity_type'] = 'node'; | |
$rows[$view_mode]['view_mode'] = $view_mode; | |
} | |
} | |
} | |
} | |
return new \ArrayIterator($rows); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function query() { | |
$query = $this->select('content_node_field_instance', 'cnfi') | |
->fields('cnfi', array( | |
'display_settings', | |
)); | |
return $query; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function fields() { | |
return array( | |
'display_settings' => $this->t('Serialize data with display settings.'), | |
); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function getIds() { | |
$ids['view_mode']['type'] = 'string'; | |
return $ids; | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function calculateDependencies() { | |
$this->dependencies = parent::calculateDependencies(); | |
if (isset($this->configuration['constants']['targetEntityType'])) { | |
$this->addDependency('module', $this->entityManager->getDefinition($this->configuration['constants']['targetEntityType'])->getProvider()); | |
} | |
return $this->dependencies; | |
} | |
} |