cc658b4c
Yarik
Big commit
|
1
2
3
4
|
<?php
namespace common\models;
|
d55d2fe0
Yarik
Multilanguage
|
5
|
use common\modules\language\behaviors\LanguageBehavior;
|
cc658b4c
Yarik
Big commit
|
6
|
use common\modules\product\models\Product;
|
b569ac34
Eugeny Galkovskiy
MESSAGES !!!! EVGEN!
|
7
|
use Yii;
|
d55d2fe0
Yarik
Multilanguage
|
8
9
10
|
use yii\db\ActiveQuery;
use yii\db\ActiveRecord;
use yii\web\Request;
|
cc658b4c
Yarik
Big commit
|
11
12
13
14
|
use yii\web\UploadedFile;
/**
* This is the model class for table "product_spec".
|
72a992f5
Yarik
Import browser v1.0
|
15
16
17
18
19
|
* @property integer $product_spec_id
* @property integer $product_id
* @property string $tech_spec_link
* @property string $tech_char_link
* @property Product $product
|
d55d2fe0
Yarik
Multilanguage
|
20
|
* * From language behavior *
|
72a992f5
Yarik
Import browser v1.0
|
21
22
23
24
25
26
27
|
* @property ProductSpecLang $lang
* @property ProductSpecLang[] $langs
* @property ProductSpecLang $object_lang
* @property string $ownerKey
* @property string $langKey
* @property ProductSpecLang[] $model_langs
* @property bool $transactionStatus
|
d55d2fe0
Yarik
Multilanguage
|
28
|
* @method string getOwnerKey()
|
72a992f5
Yarik
Import browser v1.0
|
29
|
* @method void setOwnerKey( string $value )
|
d55d2fe0
Yarik
Multilanguage
|
30
|
* @method string getLangKey()
|
72a992f5
Yarik
Import browser v1.0
|
31
|
* @method void setLangKey( string $value )
|
d55d2fe0
Yarik
Multilanguage
|
32
33
34
|
* @method ActiveQuery getLangs()
* @method ActiveQuery getLang( integer $language_id )
* @method ProductSpecLang[] generateLangs()
|
72a992f5
Yarik
Import browser v1.0
|
35
36
37
38
|
* @method void loadLangs( Request $request )
* @method bool linkLangs()
* @method bool saveLangs()
* @method bool getTransactionStatus()
|
d55d2fe0
Yarik
Multilanguage
|
39
|
* * End language behavior *
|
cc658b4c
Yarik
Big commit
|
40
|
*/
|
72a992f5
Yarik
Import browser v1.0
|
41
|
class ProductSpec extends ActiveRecord
|
cc658b4c
Yarik
Big commit
|
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
{
/**
* @var UploadedFile
*/
public $techSpecFile;
/**
* @var UploadedFile
*/
public $techCharFile;
/**
* @inheritdoc
*/
public static function tableName()
{
return 'product_spec';
}
|
d55d2fe0
Yarik
Multilanguage
|
62
63
64
65
66
67
68
69
|
public function behaviors()
{
return [
'language' => [
'class' => LanguageBehavior::className(),
],
];
}
|
72a992f5
Yarik
Import browser v1.0
|
70
|
|
cc658b4c
Yarik
Big commit
|
71
72
73
74
75
76
77
78
|
/**
* @inheritdoc
*/
public function rules()
{
return [
[
[
|
cc658b4c
Yarik
Big commit
|
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
'techSpecFile',
'techCharFile',
],
'file',
'extensions' => 'txt, pdf, xls, xlsx',
],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
|
b569ac34
Eugeny Galkovskiy
MESSAGES !!!! EVGEN!
|
94
95
96
97
98
99
|
'product_spec_id' => Yii::t('app', 'product_spec_id'),
'product_id' => Yii::t('app', 'product_id'),
'tech_spec_link' => Yii::t('app', 'tech_spec_link'),
'tech_char_link' => Yii::t('app', 'tech_char_link'),
'techSpecFile' => Yii::t('app', 'techSpecFile'),
'techCharFile' => Yii::t('app', 'techCharFile'),
|
cc658b4c
Yarik
Big commit
|
100
101
102
103
104
105
|
];
}
public function upload()
{
$storage = \Yii::getAlias('@storage');
|
72a992f5
Yarik
Import browser v1.0
|
106
|
$product_dir = $storage . '/product_spec/' . $this->product_id;
|
cc658b4c
Yarik
Big commit
|
107
108
109
110
|
if(!is_dir($product_dir)) {
mkdir($product_dir);
}
if($this->validate()) {
|
72a992f5
Yarik
Import browser v1.0
|
111
112
113
|
if(!empty( $this->techSpecFile )) {
$path = $product_dir . '/' . $this->techSpecFile->baseName . '.' . $this->techSpecFile->extension;
$this->tech_spec_link = $this->techSpecFile->baseName . '.' . $this->techSpecFile->extension;
|
cc658b4c
Yarik
Big commit
|
114
115
|
$this->techSpecFile->saveAs($path);
}
|
72a992f5
Yarik
Import browser v1.0
|
116
117
118
|
if(!empty( $this->techCharFile )) {
$path = $product_dir . '/' . $this->techCharFile->baseName . '.' . $this->techCharFile->extension;
$this->tech_char_link = $this->techCharFile->baseName . '.' . $this->techCharFile->extension;
|
cc658b4c
Yarik
Big commit
|
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
$this->techCharFile->saveAs($path);
}
return true;
} else {
return false;
}
}
/**
* @return \yii\db\ActiveQuery
*/
public function getProduct()
{
return $this->hasOne(Product::className(), [ 'product_id' => 'product_id' ]);
}
|
72a992f5
Yarik
Import browser v1.0
|
135
136
137
138
|
public function getTechSpecUrl()
{
if(!empty( $this->tech_spec_link )) {
return '/storage/product_spec/' . $this->product_id . '/' . $this->tech_spec_link;
|
cc658b4c
Yarik
Big commit
|
139
140
141
142
|
} else {
return false;
}
}
|
72a992f5
Yarik
Import browser v1.0
|
143
144
145
146
147
|
public function getTechCharUrl()
{
if(!empty( $this->tech_char_link )) {
return '/storage/product_spec/' . $this->product_id . '/' . $this->tech_char_link;
|
cc658b4c
Yarik
Big commit
|
148
149
150
151
152
|
} else {
return false;
}
}
}
|