You are here

uc_price_per_role.migrate.inc in Ubercart Price Per Role 7

Same filename and directory in other branches
  1. 6 uc_price_per_role.migrate.inc

Hooks for handling UberCart Price per role fields on destination nodes.

File

uc_price_per_role.migrate.inc
View source
<?php

/**
 * @file
 * Hooks for handling UberCart Price per role fields on destination nodes.
 */

/**
 * Implements hook_migrate_fields_node().
 */
function uc_price_per_role_migrate_fields_node($type) {
  $enabled = variable_get('uc_price_per_role_enabled', array());
  $fields = array();
  foreach (user_roles() as $rid => $role) {
    if ($enabled[$rid]) {
      $fields['role_prices_' . $rid] = t('Purchase price for %role users.', array(
        '%role' => $role,
      ));
    }
  }
  return $fields;
}

/**
 * Implements hook_migrate_prepare_node().
 */
function uc_price_per_role_migrate_prepare_node(&$node, $tblinfo, $row) {
  foreach ($tblinfo->fields as $destfield => $values) {
    if ($values['srcfield'] && isset($row->{$values}['srcfield'])) {
      $newvalue = $row->{$values}['srcfield'];
    }
    else {
      $newvalue = $values['default_value'];
    }
    if (drupal_substr($destfield, 0, drupal_strlen('role_prices_')) == 'role_prices_') {
      $rid = drupal_substr($destfield, drupal_strlen('role_prices_'));
      $node->role_prices[$rid] = $newvalue;
    }
  }
  return $errors;
}

Functions

Namesort descending Description
uc_price_per_role_migrate_fields_node Implements hook_migrate_fields_node().
uc_price_per_role_migrate_prepare_node Implements hook_migrate_prepare_node().