Пример #1
0
 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();
     }
 }