function migrate() { if ($this->import_throttled_import) { $result = ''; $this->import_skip_first = $this->state->skip_first; $this->import_field_separator = $this->state->field_separator; $params = new DSCParameter(); $params->setValue('skip_first', $this->import_skip_first); $params->setValue('num_records', $this->import_num_records); $params->setValue('num_fields', $this->import_fields_num); $params->setValue('clear_fields', $this->import_clear_fields); $params->setValue('chunk_size', $this->import_chunk_size); $params->setValue('preserve_header', $this->import_preserve_header); $params->setValue('offset', $this->import_offset); $params->setValue('begin_import', $this->import_begin_import); $params->setValue('throttled_import', true); $params->setValue('rec_deliminer', $this->import_rec_deliminer); $params->setValue('field_deliminer', $this->import_field_separator); while (true) { $data = TiendaCSV::fromFileToArray($this->source_import, $this->import_fields, $this->import_fields_num, $this->parse_method, $params); $c = count($data[0]); $this->set('data', $data[0]); $result .= $this->migrate_data(); if ($c != $this->import_num_records) { break; } $params->setValue('offset', $data[1]); $params->setValue('begin_import', false); } return $result; } else { return $this->migrate_data(); } }