You are here

class MigrateSourceReservation in MERCI (Manage Equipment Reservations, Checkout and Inventory) 7.3

Hierarchy

Expanded class hierarchy of MigrateSourceReservation

File

merci_migrate/merci_reservation.inc, line 47

View source
class MigrateSourceReservation extends MigrateSourceSQL {

  // Your constructor will initialize any parameters to your migration. It's
  // important to pass through the options, so general options such as
  // cache_counts will work.
  public function __construct() {
    $query = db_select('node', 'n')
      ->condition('n.type', 'merci_reservation')
      ->condition('n.status', 1, '=')
      ->fields('n');
    parent::__construct($query);
  }
  public function fields($migration = NULL) {
    $properties = entity_get_property_info('node');
    $fields = array();
    foreach ($properties['properties'] as $name => $property_info) {
      if (isset($property_info['setter callback'])) {
        $fields[$name] = $property_info['description'];
      }
    }

    // Then add in anything provided by handlers
    $fields += migrate_handler_invoke_all('Entity', 'fields', 'node', 'merci_reservation');
    return $fields;
  }

  /**
   * Implementation of MigrateSource::getNextRow().
   *
   * @return object
   */
  public function getNextRow() {
    $row = parent::getNextRow();
    if ($row) {
      $node = node_load($row->nid);
      if (is_object($node)) {
        $node->merci_reservations = merci_reservation_items($node);
        $node->reservation_items = array();
        foreach ($node->merci_reservations as $reservation) {
          $node->reservation_items[] = array(
            $reservation['merci_item_nid'],
            $row->nid,
          );
        }
        return $node;
      }
      else {
        return NULL;
      }
    }
    else {
      return NULL;
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MigrateSource::$activeMap protected property The MigrateMap class for the current migration.
MigrateSource::$activeMigration protected property The Migration class currently invoking us, during rewind() and next().
MigrateSource::$cacheCounts protected property Whether this instance should cache the source count.
MigrateSource::$cacheKey protected property Key to use for caching counts.
MigrateSource::$currentKey protected property The primary key of the current row
MigrateSource::$currentRow protected property The current row from the quey
MigrateSource::$highwaterField protected property Information on the highwater mark for the current migration, if any.
MigrateSource::$idList protected property List of source IDs to process.
MigrateSource::$mapRowAdded protected property By default, next() will directly read the map row and add it to the data row. A source plugin implementation may do this itself (in particular, the SQL source can incorporate the map table into the query) - if so, it should set this TRUE so we…
MigrateSource::$multikeySeparator protected property Used in the case of multiple key sources that need to use idlist.
MigrateSource::$numIgnored protected property Number of rows intentionally ignored (prepareRow() returned FALSE)
MigrateSource::$originalHighwater protected property The highwater mark at the beginning of the import operation.
MigrateSource::$skipCount protected property Whether this instance should not attempt to count the source.
MigrateSource::$trackChanges protected property If TRUE, we will maintain hashed source rows to determine whether incoming data has changed.
MigrateSource::count public function Return a count of available source records, from the cache if appropriate. Returns -1 if the source is not countable.
MigrateSource::current public function Implementation of Iterator::current() - called when entering a loop iteration, returning the current row
MigrateSource::dataChanged protected function Determine whether this row has changed, and therefore whether it should be processed.
MigrateSource::getCurrentKey public function
MigrateSource::getIgnored public function
MigrateSource::getProcessed public function
MigrateSource::hash protected function Generate a hash of the source row. 3
MigrateSource::key public function Implementation of Iterator::key - called when entering a loop iteration, returning the key of the current row. It must be a scalar - we will serialize to fulfill the requirement, but using getCurrentKey() is preferable.
MigrateSource::next public function Implementation of Iterator::next() - subclasses of MigrateSource should implement getNextRow() to retrieve the next valid source rocord to process.
MigrateSource::prepareRow protected function Give the calling migration a shot at manipulating, and possibly rejecting, the source row.
MigrateSource::resetStats public function Reset numIgnored back to 0.
MigrateSource::rewind public function Implementation of Iterator::rewind() - subclasses of MigrateSource should implement performRewind() to do any class-specific setup for iterating source records.
MigrateSource::valid public function Implementation of Iterator::valid() - called at the top of the loop, returning TRUE to process the loop and FALSE to terminate it
MigrateSourceReservation::fields public function Returns a list of fields available to be mapped from the source query. Overrides MigrateSourceSQL::fields
MigrateSourceReservation::getNextRow public function Implementation of MigrateSource::getNextRow(). Overrides MigrateSourceSQL::getNextRow
MigrateSourceReservation::__construct public function Simple initialization. Overrides MigrateSourceSQL::__construct
MigrateSourceSQL::$batch protected property Current data batch.
MigrateSourceSQL::$batchSize protected property Number of records to fetch from the database during each batch. A value of zero indicates no batching is to be done.
MigrateSourceSQL::$fields protected property List of available source fields.
MigrateSourceSQL::$highwaterSeen protected property Whether, in the current iteration, we have reached the highwater mark.
MigrateSourceSQL::$mapJoinable protected property If the map is a MigrateSQLMap, and the table is compatible with the source query, we can join directly to the map and make things much faster and simpler.
MigrateSourceSQL::$numProcessed protected property Number of eligible rows processed so far (used for itemlimit checking). Overrides MigrateSource::$numProcessed
MigrateSourceSQL::$originalQuery protected property The SQL query objects from which to obtain data, and counts of data.
MigrateSourceSQL::$result protected property The result object from executing the query - traversed to process the incoming data.
MigrateSourceSQL::$usingHighwater protected property Whether this source is configured to use a highwater mark, and there is a highwater mark present to use.
MigrateSourceSQL::computeCount public function Return a count of all available source records.
MigrateSourceSQL::getNextBatch protected function Downloads the next set of data from the source database.
MigrateSourceSQL::options public static function Return an options array for PDO sources.
MigrateSourceSQL::performRewind public function Implementation of MigrateSource::performRewind().
MigrateSourceSQL::query public function Return a reference to the base query, in particular so Migration classes can add conditions/joins/etc to the query for a source defined in a base class.
MigrateSourceSQL::setMapJoinable public function
MigrateSourceSQL::__toString public function Return a string representing the source query.