Blame view

backend/models/UploadFileCrossingForm.php 1.61 KB
706a1491   Mihail   add form, model a...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  <?php
  namespace backend\models;
  
  use yii\base\ErrorException;
  use yii\base\Model;
  use yii\web\UploadedFile;
  use Yii;
  use common\components\CustomVarDamp;
  
  /**
   * UploadForm is the model behind the upload form.
   */
  class UploadFileCrossingForm extends Model
  {
      /**
       * @var UploadedFile file attribute
       */
      // атрибуты формы
      public $file;
      public $delete_prefix1;
      public $delete_prefix2;
      public $file_path;
  
  
  
      public function rules()
      {
          return [
              ['file', 'required', 'message' => 'Не выбран файл!' ],
5c35d76d   Mihail   add xls parser
30
              [['file'], 'file', 'extensions' => ['csv'], 'checkExtensionByMimeType'=>false ],
706a1491   Mihail   add form, model a...
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
              [['delete_prefix1', 'delete_prefix2'], 'boolean' ],
  
          ];
      }
  
      public function attributeLabels()
      {
          return [
              'file' => Yii::t('app', 'Источник'),
              'delete_prefix1' => Yii::t('app', 'Удалять префикс в артикуле товара 1'),
              'delete_prefix2' => Yii::t('app', 'Удалять префикс в артикуле товара 2'),
          ];
      }
  
      public function readFile( $options = [] ){
  
          $data = Yii::$app->multiparser->parse( $this->file_path, $options );
          if( !is_array( $data ) ){
              throw new ErrorException("Ошибка чтения из файла кроссов {$this->file_path}");
          }
3942e7a3   Mihail   fixed issue with ...
51
52
          if( file_exists($this->file_path) )
              unlink($this->file_path);
706a1491   Mihail   add form, model a...
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  
          return $data;
      }
  
      public function fields()
      {
          return [
  
              'delete_price1',
              'delete_price2'
  
          ];
      }
  
  
  }