Skip to content

Commit 4c4c42f

Browse files
committed
Refactor FileBind and File
1 parent 82c5ced commit 4c4c42f

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

src/behaviors/FileBind.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function bindSingle($storage, $ownerId, $ownerType, $fileId)
3434
if ($file->tmp) {
3535
$file = $this->saveTmpDirToStorage($file, $ownerId);
3636
if ($file) {
37-
$this->deleteCurrentFiles($storage, $ownerId, $ownerType, $file);
37+
$this->deleteCurrentFiles($storage, $ownerId, $ownerType, [$file->id => $file]);
3838
$file->updateAttributes($file->getDirtyAttributes());
3939
$file->setStorage($storage);
4040
}
@@ -75,7 +75,7 @@ public function bindMultiple($storage, $ownerId, $ownerType, $files)
7575
unset($newFiles[$fileId]);
7676
continue;
7777
}
78-
$this->deleteCurrentFiles($storage, $ownerId, $ownerType, null, $newFiles);
78+
$this->deleteCurrentFiles($storage, $ownerId, $ownerType, $newFiles);
7979
} else {
8080
$this->deleteCurrentFiles($storage, $ownerId, $ownerType);
8181
}
@@ -107,17 +107,15 @@ private function saveTmpDirToStorage(File $file, $ownerId)
107107
* @param Storage $storage
108108
* @param int $ownerId The id of the owner
109109
* @param int $ownerType The type of the owner
110-
* @param rkit\filemanager\models\File $exceptFile
111110
* @param rkit\filemanager\models\File[] $exceptFiles
112111
* @return void
113112
*/
114-
private function deleteCurrentFiles($storage, $ownerId, $ownerType, $exceptFile = null, $exceptFiles = [])
113+
private function deleteCurrentFiles($storage, $ownerId, $ownerType, $exceptFiles = [])
115114
{
116115
$currentFiles = File::findAllByOwner($ownerId, $ownerType);
117116
foreach ($currentFiles as $currFile) {
118-
$isExceptFile = $exceptFile !== null && $currFile->id === $exceptFile->id;
119117
$isExceptFiles = count($exceptFiles) && array_key_exists($currFile->id, $exceptFiles);
120-
if (!$isExceptFile && !$isExceptFiles) {
118+
if (!$isExceptFiles) {
121119
$currFile->setStorage($storage);
122120
$currFile->delete();
123121
}

src/models/File.php

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,8 @@ public function beforeSave($insert)
116116
if (!file_exists($this->path)) {
117117
return false;
118118
}
119-
if (!Yii::$app instanceof \yii\console\Application) {
120-
$this->user_id = Yii::$app->user->isGuest ? 0 : Yii::$app->user->id; // @codeCoverageIgnore
121-
$this->ip = ip2long(Yii::$app->request->getUserIP()); // @codeCoverageIgnore
122-
} // @codeCoverageIgnore
123119

120+
$this->fillUserInfo();
124121
$this->fillMetaInfo();
125122

126123
if ($this->owner_id === null) {
@@ -134,6 +131,14 @@ public function beforeSave($insert)
134131
return false; // @codeCoverageIgnore
135132
}
136133

134+
private function fillUserInfo()
135+
{
136+
if (!Yii::$app instanceof \yii\console\Application) {
137+
$this->user_id = Yii::$app->user->isGuest ? 0 : Yii::$app->user->id; // @codeCoverageIgnore
138+
$this->ip = ip2long(Yii::$app->request->getUserIP()); // @codeCoverageIgnore
139+
} // @codeCoverageIgnore
140+
}
141+
137142
private function fillMetaInfo()
138143
{
139144
$pathInfo = pathinfo($this->path);

0 commit comments

Comments
 (0)