You are here

class MigratePathautoHandler in Migrate Extras 7.2

Same name and namespace in other branches
  1. 6.2 pathauto.inc \MigratePathautoHandler

Field handler.

Hierarchy

Expanded class hierarchy of MigratePathautoHandler

1 string reference to 'MigratePathautoHandler'
migrate_extras_migrate_api in ./migrate_extras.migrate.inc

File

./pathauto.inc, line 11
Support for the Pathauto module.

View source
class MigratePathautoHandler extends MigrateDestinationHandler {
  public function __construct() {
    $this
      ->registerTypes(array(
      'node',
      'user',
      'taxonomy_term',
    ));
  }

  /**
   * Make the destination field visible.
   */
  public function fields() {
    if (module_exists('pathauto')) {
      return array(
        'pathauto' => t('Pathauto: Perform aliasing (set to 0 to prevent alias generation during migration'),
      );
    }
    else {
      return array();
    }
  }
  public function prepare($entity, stdClass $row) {
    if (isset($entity->pathauto)) {
      if (!isset($entity->path)) {
        $entity->path = array();
      }
      elseif (is_string($entity->path)) {

        // If MigratePathEntityHandler->prepare() hasn't run yet, support
        // the alias (set as $entity->path as a string) being formatted properly
        // in the path alias array.
        $path = $entity->path;
        $entity->path = array();
        $entity->path['alias'] = $path;
      }
      $entity->path['pathauto'] = $entity->pathauto;
      if (!isset($entity->path['alias'])) {
        $entity->path['alias'] = '';
      }
      unset($entity->pathauto);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MigrateHandler::$dependencies protected property List of other handler classes which should be invoked before the current one.
MigrateHandler::$typesHandled protected property List of "types" handled by this handler. Depending on the kind of handler, these may be destination types, field types, etc.
MigrateHandler::getDependencies public function
MigrateHandler::getTypesHandled public function
MigrateHandler::handlesType public function Does this handler handle the given type? 1
MigrateHandler::registerTypes protected function Register a list of types handled by this class
MigratePathautoHandler::fields public function Make the destination field visible.
MigratePathautoHandler::prepare public function
MigratePathautoHandler::__construct public function Overrides MigrateHandler::__construct