| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Defines base for migration destinations.
 
-  */
 
- /**
 
-  * Abstract base class for destination handling.
 
-  *
 
-  * Derived classes are expected to define __toString(), returning a string
 
-  * describing the type of destination and significant options. See
 
-  * MigrateDestinationEntity for an example.
 
-  */
 
- abstract class MigrateDestination {
 
-   /**
 
-    * To support MigrateSQLMap maps, derived destination classes should return
 
-    * schema field definition(s) corresponding to the primary key of the destination
 
-    * being implemented. These are used to construct the destination key fields
 
-    * of the map table for a migration using this destination.
 
-    *
 
-    * abstract static public function getKeySchema()
 
-    */
 
-   /**
 
-    * Derived classes must implement __toString().
 
-    *
 
-    * @return string
 
-    *  Description of the destination being migrated into
 
-    */
 
-   abstract public function __toString();
 
-   /**
 
-    * Derived classes must implement fields(), returning a list of available
 
-    * destination fields.
 
-    *
 
-    * @param Migration $migration
 
-    *  Optionally, the migration containing this destination.
 
-    * @return array
 
-    *  Keys: machine names of the fields (to be passed to addFieldMapping)
 
-    *  Values: Human-friendly descriptions of the fields.
 
-    */
 
-   abstract public function fields();
 
-   /**
 
-    * Derived classes must implement either bulkRollback or rollback() according to
 
-    * the signatures below, to rollback (usually by deletion) previously-migrated
 
-    * items.
 
-    *
 
-    * $ids is an array of single-field keys to be deleted
 
-    * abstract public function bulkRollback(array $ids);
 
-    *
 
-    * $key is an array of fields keying a single entry to delete
 
-    * abstract public function rollback(array $key);
 
-    */
 
-   /**
 
-    * Derived classes must implement import(), to construct one new object (pre-pppulated
 
-    * using field mappings in the Migration). It is expected to call prepare and
 
-    * complete handlers, passing them $row (the raw data from the source).
 
-    */
 
-   abstract public function import(stdClass $object, stdClass $row);
 
-   /**
 
-    * Derived classes may implement preImport() and/or postImport(), to do any
 
-    * processing they need done before or after looping over all source rows.
 
-    * Similarly, preRollback() or postRollback() may be implemented.
 
-    *
 
-    * abstract public function preImport();
 
-    * abstract public function postImport();
 
-    * abstract public function preRollback();
 
-    * abstract public function postRollback();
 
-    */
 
-   /**
 
-    * Maintain stats on the number of destination objects created or updated.
 
-    *
 
-    * @var int
 
-    */
 
-   protected $numCreated = 0;
 
-   public function getCreated() {
 
-     return $this->numCreated;
 
-   }
 
-   protected $numUpdated = 0;
 
-   public function getUpdated() {
 
-     return $this->numUpdated;
 
-   }
 
-   /**
 
-    * Reset numCreated and numUpdated back to 0.
 
-    */
 
-   public function resetStats() {
 
-     $this->numCreated = 0;
 
-     $this->numUpdated = 0;
 
-   }
 
-   /**
 
-    * Null constructor
 
-    */
 
-   public function __construct() {
 
-   }
 
- }
 
- /**
 
-  * All destination handlers should be derived from MigrateDestinationHandler
 
-  */
 
- abstract class MigrateDestinationHandler extends MigrateHandler {
 
-   // abstract function arguments(...)
 
-   /**
 
-    * Any one or more of these methods may be implemented
 
-    */
 
-   //abstract public function fields();
 
-   //abstract public function prepare($entity, stdClass $row);
 
-   //abstract public function complete($entity, stdClass $row);
 
- }
 
 
  |