Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 29 |
UserUpdate7002 | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
110 | |
0.00% |
0 / 29 |
__construct | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 6 |
|||
create | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 7 |
|||
transform | |
0.00% |
0 / 1 |
56 | |
0.00% |
0 / 16 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\user\Plugin\migrate\process\d6\UserUpdate7002. | |
*/ | |
namespace Drupal\user\Plugin\migrate\process\d6; | |
use Drupal\migrate\MigrateExecutableInterface; | |
use Drupal\migrate\ProcessPluginBase; | |
use Drupal\migrate\Row; | |
use Drupal\Core\Config\Config; | |
use Drupal\Core\Plugin\ContainerFactoryPluginInterface; | |
use Symfony\Component\DependencyInjection\ContainerInterface; | |
/** | |
* Converts user time zones from time zone offsets to time zone names. | |
* | |
* @MigrateProcessPlugin( | |
* id = "user_update_7002" | |
* ) | |
*/ | |
class UserUpdate7002 extends ProcessPluginBase implements ContainerFactoryPluginInterface { | |
/** | |
* System timezones. | |
* | |
* @var array | |
*/ | |
protected static $timezones; | |
/** | |
* Contains the system.theme configuration object. | |
* | |
* @var \Drupal\Core\Config\Config | |
*/ | |
protected $dateConfig; | |
/** | |
* {@inheritdoc} | |
*/ | |
public function __construct(array $configuration, $plugin_id, array $plugin_definition, Config $date_config) { | |
parent::__construct($configuration, $plugin_id, $plugin_definition); | |
$this->dateConfig = $date_config; | |
if (!isset(static::$timezones)) { | |
static::$timezones = system_time_zones(); | |
} | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) { | |
return new static( | |
$configuration, | |
$plugin_id, | |
$plugin_definition, | |
$container->get('config.factory')->get('system.date') | |
); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) { | |
$timezone = NULL; | |
if ($row->hasSourceProperty('timezone_name')) { | |
if (isset(static::$timezones[$row->getSourceProperty('timezone_name')])) { | |
$timezone = $row->getSourceProperty('timezone_name'); | |
} | |
} | |
if (!$timezone && $row->hasSourceProperty('event_timezone')) { | |
if (isset(static::$timezones[$row->getSourceProperty('event_timezone')])) { | |
$timezone = $row->getSourceProperty('event_timezone'); | |
} | |
} | |
if ($timezone === NULL) { | |
$timezone = $this->dateConfig->get('timezone.default'); | |
} | |
return $timezone; | |
} | |
} |