You are here

public function DrupalMySQLiSource::importFromFile in Backup and Migrate 8.4

Import to this source from the given backup file. This is the main restore function for this source.

Parameters

\BackupMigrate\Core\File\BackupFileReadableInterface $file: The file to read the backup from. It will not be opened for reading

Return value

bool|int

Overrides MySQLiSource::importFromFile

File

src/Source/DrupalMySQLiSource.php, line 16

Class

DrupalMySQLiSource
Class DrupalMySQLiSource.

Namespace

BackupMigrate\Drupal\Source

Code

public function importFromFile(BackupFileReadableInterface $file) {
  $num = 0;
  if ($conn = $this
    ->_getConnection()) {

    // Open (or rewind) the file.
    $file
      ->openForRead();

    // Read one line at a time and run the query.
    while ($line = $this
      ->_readSQLCommand($file)) {

      //        if (_backup_migrate_check_timeout()) {
      //          return FALSE;
      //        }
      if ($line) {

        // Execute the sql query from the file.
        $stmt = $conn
          ->prepare($line);
        if (!$stmt) {
          return FALSE;
        }
        $stmt
          ->execute();
        $num++;
      }
    }

    // Close the file, we're done reading it.
    $file
      ->close();
  }
  return $num;
}