Blame view

common/components/parsers/CsvParser.php 1.41 KB
ad2e91f7   Mihail   move multyparser ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  <?php
  /**
  
   */
  namespace common\components\parsers;
  
  /**
   * Class CsvParser
   * @package yii\multiparser
   * @todo - перевести на анг. яз.
   */
  class CsvParser extends TableParser
  {
      /** @var string - разделитель csv */
      public $delimiter = ';';
  
  
  
      /**
5c35d76d   Mihail   add xls parser
20
       * метод устанавливает настройки конвертера
ad2e91f7   Mihail   move multyparser ...
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
       */
      public function setup()
      {
          parent::setup();
  
      }
  
      public function read()
      {
          parent::read();
  
          $this->cleanUp();
  
          return $this->result;
      }
  
  
      protected function readRow(  )
      {
          $this->row = fgetcsv( $this->file, 0, $this->delimiter );
      }
  
      protected  function isEmptyRow(){
  
          $is_empty = false;
  
          if ($this->row === false || $this->row === NULL ) {
              return true;
          }
  
          $j = 0;
          for ($i = 1; $i <= count( $this->row ); $i++) {
  
              if ( !isset( $this->row[ $i - 1 ] ) ) {
                  continue;
              }
  
              if ( $this->isEmptyColumn( $this->row[$i - 1] ) ) {
                  $j++;
              }
  
              if ( $j >= $this->min_column_quantity ) {
                  $is_empty = true;
                  break;
              }
          }
  
          return $is_empty;
      }
  
      protected  function isEmptyColumn( $val ){
          return $val == '';
      }
  
      protected  function setResult(  ){
          $this->result[] = $this->row;
      }
  }