mirror of
https://github.com/kuaifan/dootask.git
synced 2026-03-17 19:23:26 +00:00
no message
This commit is contained in:
parent
324d7ea487
commit
6759e2b30c
@ -257,7 +257,7 @@ class FileController extends AbstractController
|
|||||||
'userid' => $userid,
|
'userid' => $userid,
|
||||||
'created_id' => $user->userid,
|
'created_id' => $user->userid,
|
||||||
]);
|
]);
|
||||||
$file->checkName();
|
$file->handleDuplicateName();
|
||||||
$file->saveBeforePids();
|
$file->saveBeforePids();
|
||||||
//
|
//
|
||||||
$data = File::find($file->id);
|
$data = File::find($file->id);
|
||||||
@ -308,7 +308,7 @@ class FileController extends AbstractController
|
|||||||
'userid' => $userid,
|
'userid' => $userid,
|
||||||
'created_id' => $user->userid,
|
'created_id' => $user->userid,
|
||||||
]);
|
]);
|
||||||
$file->checkName();
|
$file->handleDuplicateName();
|
||||||
$data = AbstractModel::transaction(function() use ($file) {
|
$data = AbstractModel::transaction(function() use ($file) {
|
||||||
$content = FileContent::select(['content', 'text', 'size'])->whereFid($file->cid)->orderByDesc('id')->first();
|
$content = FileContent::select(['content', 'text', 'size'])->whereFid($file->cid)->orderByDesc('id')->first();
|
||||||
$file->size = $content?->size ?: 0;
|
$file->size = $content?->size ?: 0;
|
||||||
@ -385,7 +385,7 @@ class FileController extends AbstractController
|
|||||||
}
|
}
|
||||||
//
|
//
|
||||||
$file->pid = $pid;
|
$file->pid = $pid;
|
||||||
$file->checkName();
|
$file->handleDuplicateName();
|
||||||
$file->saveBeforePids();
|
$file->saveBeforePids();
|
||||||
$files[] = $file;
|
$files[] = $file;
|
||||||
}
|
}
|
||||||
@ -695,7 +695,7 @@ class FileController extends AbstractController
|
|||||||
'userid' => $userid,
|
'userid' => $userid,
|
||||||
'created_id' => $user->userid,
|
'created_id' => $user->userid,
|
||||||
]);
|
]);
|
||||||
$dirRow->checkName();
|
$dirRow->handleDuplicateName();
|
||||||
if ($dirRow->saveBeforePids()) {
|
if ($dirRow->saveBeforePids()) {
|
||||||
$addItem[] = File::find($dirRow->id);
|
$addItem[] = File::find($dirRow->id);
|
||||||
}
|
}
|
||||||
@ -762,7 +762,7 @@ class FileController extends AbstractController
|
|||||||
'userid' => $userid,
|
'userid' => $userid,
|
||||||
'created_id' => $user->userid,
|
'created_id' => $user->userid,
|
||||||
]);
|
]);
|
||||||
$file->checkName();
|
$file->handleDuplicateName();
|
||||||
// 开始创建
|
// 开始创建
|
||||||
return AbstractModel::transaction(function () use ($addItem, $webkitRelativePath, $type, $user, $data, $file) {
|
return AbstractModel::transaction(function () use ($addItem, $webkitRelativePath, $type, $user, $data, $file) {
|
||||||
$file->size = $data['size'] * 1024;
|
$file->size = $data['size'] * 1024;
|
||||||
|
|||||||
@ -198,32 +198,28 @@ class File extends AbstractModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查文件名
|
* 处理重名
|
||||||
* @param boolean $rename 重复是否自动重命名
|
* @return void
|
||||||
* @return bool
|
|
||||||
*/
|
*/
|
||||||
public function checkName($rename = true)
|
public function handleDuplicateName()
|
||||||
{
|
{
|
||||||
$exist = self::wherePid($this->pid)->whereUserid($this->userid)->whereName($this->name)->exists();
|
$builder = self::wherePid($this->pid)->whereUserid($this->userid)->whereExt($this->ext);
|
||||||
|
$exist = $builder->clone()->whereName($this->name)->exists();
|
||||||
if (!$exist) {
|
if (!$exist) {
|
||||||
return true; // 未重名
|
return; // 未重名,不需要处理
|
||||||
}
|
}
|
||||||
if (!$rename) {
|
// 发现重名,自动重命名
|
||||||
return false; // 重名不需要自动重命名
|
|
||||||
}
|
|
||||||
// 自动重命名
|
|
||||||
$nextNum = 2;
|
$nextNum = 2;
|
||||||
if (preg_match("/(.*?)(\s+\(\d+\))*$/", $this->name)) {
|
if (preg_match("/(.*?)(\s+\(\d+\))*$/", $this->name)) {
|
||||||
$preName = preg_replace("/(.*?)(\s+\(\d+\))*$/", "$1", $this->name);
|
$preName = preg_replace("/(.*?)(\s+\(\d+\))*$/", "$1", $this->name);
|
||||||
$nextNum = self::wherePid($this->pid)->whereUserid($this->userid)->where("name", "LIKE", "{$preName}%")->count() + 1;
|
$nextNum = $builder->clone()->where("name", "LIKE", "{$preName}%")->count() + 1;
|
||||||
}
|
}
|
||||||
$newName = "{$this->name} ({$nextNum})";
|
$newName = "{$this->name} ({$nextNum})";
|
||||||
if (self::wherePid($this->pid)->whereUserid($this->userid)->whereName($newName)->exists()) {
|
if ($builder->clone()->whereName($newName)->exists()) {
|
||||||
$nextNum = rand(100, 9999);
|
$nextNum = rand(100, 9999);
|
||||||
$newName = "{$this->name} ({$nextNum})";
|
$newName = "{$this->name} ({$nextNum})";
|
||||||
}
|
}
|
||||||
$this->name = $newName;
|
$this->name = $newName;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -504,7 +500,7 @@ class File extends AbstractModel
|
|||||||
'userid' => $newUserid,
|
'userid' => $newUserid,
|
||||||
'created_id' => 0,
|
'created_id' => 0,
|
||||||
]);
|
]);
|
||||||
$file->checkName();
|
$file->handleDuplicateName();
|
||||||
$file->saveBeforePids();
|
$file->saveBeforePids();
|
||||||
|
|
||||||
// 移交文件
|
// 移交文件
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "DooTask",
|
"name": "DooTask",
|
||||||
"version": "0.17.5",
|
"version": "0.17.7",
|
||||||
"description": "DooTask is task management system.",
|
"description": "DooTask is task management system.",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "./cmd dev",
|
"start": "./cmd dev",
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
70305cdb15a321af
|
c07ad9fe85dfaae9
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 7af75419e19bc0f96923896326ffa05f9deff282
|
Subproject commit 72acf02c1d4cca30fae4d736d7f7bb3db1c515b8
|
||||||
Loading…
x
Reference in New Issue
Block a user