Blame view

backend/models/UploadFileParsingForm.php 1.32 KB
3cf42f5c   Mihail   init commit - bas...
1
  <?php
b13b1c83   Mihail   final version par...
2
  namespace backend\models;
3cf42f5c   Mihail   init commit - bas...
3
4
5
  
  use yii\base\Model;
  use yii\web\UploadedFile;
dc10d651   Mihail   add value filter ...
6
  use backend\components\ParserHandler;
b13b1c83   Mihail   final version par...
7
  use Yii;
3cf42f5c   Mihail   init commit - bas...
8
9
10
11
  
  /**
   * UploadForm is the model behind the upload form.
   */
77422ce3   Mihail   edit upload form
12
  class UploadFileParsingForm extends Model
3cf42f5c   Mihail   init commit - bas...
13
14
15
16
17
  {
      /**
       * @var UploadedFile file attribute
       */
      public $file;
02359b64   Mihail   add mail parser a...
18
19
20
21
22
      public $importer;
      public $action;
  //    public $delimiter;
  //    public $delimiter_flag;
  //    public $delete_prefix;
3cf42f5c   Mihail   init commit - bas...
23
24
25
26
27
28
29
  
      /**
       * @return array the validation rules.
       */
      public function rules()
      {
          return [
dc10d651   Mihail   add value filter ...
30
              [['file'], 'file', 'extensions' => ['csv', 'xml'] ],
02359b64   Mihail   add mail parser a...
31
32
33
34
35
              ['importer', 'safe'],
              ['action', 'boolean']
  //            ['delimiter', 'string', 'max' => 1],
  //            ['delimiter', 'default', 'value' => ';'],
  
b13b1c83   Mihail   final version par...
36
37
38
39
40
41
42
43
44
          ];
      }
  
      public function attributeLabels()
      {
          return [
              'file' => Yii::t('app', 'Источник'),
              'first_line' => Yii::t('app', 'Первая значимая строка'),
              'first_column' => Yii::t('app', 'Первый значимый столбец'),
3cf42f5c   Mihail   init commit - bas...
45
46
          ];
      }
500b481a   Administrator   JSON
47
48
49
50
51
52
53
54
55
56
  
      public function readFile($filePath){
          $parser = new ParserHandler( $filePath, $this );
          $data = $parser->run();
  
          if( !is_array($data) ){
              $data = ['No results'];
          }
          return $data;
      }
3cf42f5c   Mihail   init commit - bas...
57
  }