PhotosAccess.php in Album Photos 6.0.x
File
photos_access/src/Plugin/migrate/destination/PhotosAccess.php
View source
<?php
namespace Drupal\photos_access\Plugin\migrate\destination;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\migrate\Row;
use Drupal\migrate\Plugin\migrate\destination\DestinationBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
class PhotosAccess extends DestinationBase implements ContainerFactoryPluginInterface {
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
return new static($configuration, $plugin_id, $plugin_definition, $migration);
}
public function import(Row $row, array $old_destination_id_values = []) {
$db = \Drupal::database();
$db
->insert('photos_access_album')
->fields([
'id' => $row
->getDestinationProperty('id'),
'nid' => $row
->getDestinationProperty('nid'),
'viewid' => $row
->getDestinationProperty('viewid'),
'pass' => $row
->getDestinationProperty('pass'),
])
->execute();
return [
$row
->getDestinationProperty('id'),
];
}
public function getIds() {
$ids['id']['type'] = 'integer';
return $ids;
}
public function fields(MigrationInterface $migration = NULL) {
return [
'id' => 'ID',
'nid' => 'Node ID',
'viewid' => 'Access type',
'pass' => 'Password',
];
}
}