Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
taskonsite-архив-перенесен
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dmitry Korolev
taskonsite-архив-перенесен
Commits
140451ed
Commit
140451ed
authored
Mar 11, 2019
by
john
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
3009
parent
1c19a163
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
316 additions
and
316 deletions
+316
-316
backend/web/plugins/editormd/documentation.js
backend/web/plugins/editormd/documentation.js
+1
-1
backend/web/plugins/editormd/examples/php/editormd.uploader.class.php
...plugins/editormd/examples/php/editormd.uploader.class.php
+279
-311
backend/web/plugins/editormd/examples/php/upload.php
backend/web/plugins/editormd/examples/php/upload.php
+2
-2
common/modules/documentation/controllers/DocumentationAdminController.php
...ocumentation/controllers/DocumentationAdminController.php
+32
-0
common/modules/documentation/models/DocList.php
common/modules/documentation/models/DocList.php
+1
-1
common/modules/documentation/views/documentation-admin/index.php
...modules/documentation/views/documentation-admin/index.php
+1
-1
No files found.
backend/web/plugins/editormd/documentation.js
View file @
140451ed
...
...
@@ -35,7 +35,7 @@ $(function ()
imageUpload
:
true
,
imageFormats
:
[
"
jpg
"
,
"
jpeg
"
,
"
gif
"
,
"
png
"
,
"
bmp
"
,
"
webp
"
],
imageUploadURL
:
"
./php/upload.php
"
,
imageUploadURL
:
"
/documentation/documentation-admin/upload
"
,
onload
:
function
()
{
console
.
log
(
'
onload
'
,
this
);
...
...
backend/web/plugins/editormd/examples/php/editormd.uploader.class.php
View file @
140451ed
<?php
/**
/**
*
* Editor.md PHP简易上传类(仅供演示用,生产环境使用还需谨慎考虑)
*
...
...
@@ -11,9 +11,9 @@
* @UpdateTime: 2015-06-02 15:36:23
* Copyright@2015 Editor.md all right reserved.
*/
class
EditorMdUploader
{
class
EditorMdUploader
{
public
$files
;
// $_FILES数组
public
$fileExit
;
// 文件扩展名
public
$saveName
;
// 最终保存的文件名
...
...
@@ -21,16 +21,16 @@
public
$savePath
;
// 保存本地文件路径
public
$randomLength
=
''
;
// 生成随机文件名的长度,当为日期时为日期的格式
public
$randomNameType
=
1
;
// 生成随机的形式, NULL为保留原文件名, 1生成随机字符串, 2生成日期文件名
public
$formats
=
array
(
// 允许上传的文件格式
public
$formats
=
array
(
// 允许上传的文件格式
'gif'
,
'jpg'
,
'jpeg'
,
'png'
,
'bmp'
);
public
$maxSize
=
1024
;
// 最大上传文件大小,单位KB
public
$cover
=
true
;
// 是否覆盖同名文件, 1覆盖,0不覆盖
public
$redirect
=
false
;
// 是否进行URL跳转
public
$redirectURL
=
""
;
// 上传成功或出错后要转到的URL
public
$errors
=
array
(
// 错误信息
public
$errors
=
array
(
// 错误信息
'empty'
=>
'上传文件不能为空'
,
'format'
=>
'上传的文件格式不符合规定'
,
'format'
=>
'上传的文件格式不符合规定'
,
'maxsize'
=>
'上传的文件太大'
,
'unwritable'
=>
'保存目录不可写,请更改权限'
,
'not_exist'
=>
'保存目录不存在'
,
...
...
@@ -50,7 +50,6 @@
* @param Intiger $maxSize 允许最大的上传文件大小,以KB为单位
* @return viod
*/
public
function
__construct
(
$savePath
,
$saveURL
,
$formats
,
$randomNameType
=
1
,
$randomLength
=
''
,
$cover
=
true
,
$maxSize
=
1024
)
{
$this
->
savePath
=
$savePath
;
...
...
@@ -69,11 +68,9 @@
* @param array $configs 配置项数组
* @return void
*/
public
function
config
(
$configs
)
{
foreach
(
$configs
as
$key
=>
$value
)
{
foreach
(
$configs
as
$key
=>
$value
)
{
$this
->
$key
=
$value
;
}
}
...
...
@@ -85,11 +82,9 @@
* @param string $name fileInput's name
* @return boolean 返回是否上传成功的布尔值
*/
public
function
upload
(
$name
)
{
if
(
empty
(
$_FILES
[
$name
][
'name'
]))
//上传文件为空时
{
if
(
empty
(
$_FILES
[
$name
][
'name'
]))
{
//上传文件为空时
$this
->
message
(
$this
->
errors
[
'empty'
]);
return
false
;
...
...
@@ -97,15 +92,13 @@
$this
->
files
=
$_FILES
[
$name
];
if
(
!
file_exists
(
$this
->
savePath
))
//目录不存在
{
if
(
!
file_exists
(
$this
->
savePath
))
{
//目录不存在
$this
->
message
(
$this
->
errors
[
'not_exist'
]);
return
false
;
}
if
(
!
is_writable
(
$this
->
savePath
))
//目录不可写
{
if
(
!
is_writable
(
$this
->
savePath
))
{
//目录不可写
$this
->
message
(
$this
->
errors
[
'unwritable'
]);
return
false
;
...
...
@@ -124,13 +117,11 @@
* @access private
* @return boolean
*/
private
function
moveFile
()
{
$files
=
$this
->
files
;
if
(
$this
->
formats
!=
""
&&
!
in_array
(
$this
->
fileExt
,
$this
->
formats
))
{
if
(
$this
->
formats
!=
""
&&
!
in_array
(
$this
->
fileExt
,
$this
->
formats
))
{
$formats
=
implode
(
','
,
$this
->
formats
);
$message
=
"您上传的文件"
.
$files
[
"name"
]
.
"是"
.
$this
->
fileExt
.
"格式的,系统不允许上传,您只能上传"
.
$formats
.
"格式的文件。"
;
$this
->
message
(
$message
);
...
...
@@ -138,63 +129,58 @@
return
false
;
}
if
(
$files
[
"size"
]
/
1024
>
$this
->
maxSize
)
{
if
(
$files
[
"size"
]
/
1024
>
$this
->
maxSize
)
{
$message
=
"您上传的 "
.
$files
[
"name"
]
.
",文件大小超出了系统限定值"
.
$this
->
maxSize
.
" KB,不能上传。"
;
$this
->
message
(
$message
);
return
false
;
}
if
(
!
$this
->
cover
)
//当不能覆盖时
{
if
(
file_exists
(
$this
->
savePath
.
$this
->
saveName
))
//有相同的文件存在
{
if
(
!
$this
->
cover
)
{
//当不能覆盖时
if
(
file_exists
(
$this
->
savePath
.
$this
->
saveName
))
{
//有相同的文件存在
$this
->
message
(
$this
->
saveName
.
$this
->
errors
[
'same_file'
]);
return
false
;
}
}
if
(
!@
move_uploaded_file
(
$files
[
"tmp_name"
],
iconv
(
"utf-8"
,
"gbk"
,
$this
->
savePath
.
$this
->
saveName
)))
{
switch
(
$files
[
"errors"
])
{
if
(
!@
move_uploaded_file
(
$files
[
"tmp_name"
],
$this
->
savePath
.
DIRECTORY_SEPARATOR
.
$this
->
saveName
))
{
switch
(
$files
[
"error"
])
{
case
'0'
:
$message
=
"文件上传成功
"
;
$message
=
"Загрузка файла успешно завершена
"
;
break
;
case
'1'
:
$message
=
"上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值
"
;
$message
=
"Загруженный файл превышает значение параметра upload_max_filesize в php.ini
"
;
break
;
case
'2'
:
$message
=
"上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值
"
;
$message
=
"Размер загружаемого файла превышает значение, указанное параметром MAX_FILE_SIZE в форме HTML
"
;
break
;
case
'3'
:
$message
=
"文件只有部分被上传
"
;
$message
=
"Загружена только часть файла
"
;
break
;
case
'4'
:
$message
=
"没有文件被上传
"
;
$message
=
"Файлы не были загружены
"
;
break
;
case
'6'
:
$message
=
"找不到临时目录
"
;
$message
=
"Временный каталог не найден
"
;
break
;
case
'7'
:
$message
=
"写文件到硬盘时出错
"
;
$message
=
"Ошибка записи файла на жесткий диск
"
;
break
;
case
'8'
:
$message
=
"某个扩展停止了文件的上传
"
;
$message
=
"Расширение перестало загружать файлы
"
;
break
;
case
'999'
:
default
:
$message
=
"未知错误,请检查文件是否损坏、是否超大等原因。
"
;
$message
=
"Неизвестная ошибка, проверьте, не поврежден ли файл, не слишком ли он большой и т. Д.
"
;
break
;
}
...
...
@@ -214,29 +200,23 @@
* @access private
* @return string $fileName 返回生成的文件名字符串
*/
private
function
randomFileName
()
{
if
(
$this
->
randomNameType
==
1
)
// 生成时间格式文件名
{
$fileName
=
''
;
if
(
$this
->
randomNameType
==
1
)
{
// 生成时间格式文件名
date_default_timezone_set
(
'PRC'
);
//设置时区
$date
=
date
(
$this
->
randomLength
);
$fileName
=
$date
.
"_"
.
mt_rand
(
10000
,
99999
);
}
elseif
(
$this
->
randomNameType
==
2
)
// 生成随机字符文件名
{
}
elseif
(
$this
->
randomNameType
==
2
)
{
// 生成随机字符文件名
$chars
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'
;
$max
=
strlen
(
$chars
)
-
1
;
mt_srand
((
double
)
microtime
()
*
1000000
);
mt_srand
((
double
)
microtime
()
*
1000000
);
for
(
$i
=
0
;
$i
<
$this
->
randomLength
;
$i
++
)
{
for
(
$i
=
0
;
$i
<
$this
->
randomLength
;
$i
++
)
{
$fileName
.=
$chars
[
mt_rand
(
0
,
$max
)];
}
}
else
{
}
else
{
$fileName
=
''
;
}
...
...
@@ -249,13 +229,11 @@
* @access private
* @return void
*/
private
function
setSeveName
()
{
$this
->
saveName
=
$this
->
randomFileName
()
.
"."
.
$this
->
fileExt
;
$this
->
saveName
=
$this
->
randomFileName
()
.
"."
.
$this
->
fileExt
;
if
(
$this
->
saveName
==
''
)
//如果没生成随机文件名,就保留原文件名
{
if
(
$this
->
saveName
==
''
)
{
//如果没生成随机文件名,就保留原文件名
$this
->
saveName
=
$this
->
files
[
'name'
];
}
}
...
...
@@ -266,7 +244,6 @@
* @access public
* @return string
*/
public
function
getSeveName
()
{
return
$this
->
saveName
;
...
...
@@ -278,7 +255,6 @@
* @access public
* @return string
*/
public
function
getFileExt
(
$fileName
)
{
return
trim
(
strtolower
(
substr
(
strrchr
(
$fileName
,
'.'
),
1
)));
...
...
@@ -291,7 +267,6 @@
* @param array $configs 配置项数组
* @return void
*/
public
function
redirect
()
{
header
(
'location: '
.
$this
->
redirectURL
);
...
...
@@ -303,7 +278,6 @@
* @access public
* @return void
*/
public
function
message
(
$message
,
$success
=
0
)
{
$array
=
array
(
...
...
@@ -313,29 +287,23 @@
$url
=
$this
->
saveURL
.
$this
->
saveName
;
// 适用于跨域上传时,跳转到中介页面等
if
(
$this
->
redirect
)
{
if
(
$this
->
redirect
)
{
$this
->
redirectURL
.=
"&success="
.
$success
.
"&message="
.
$message
;
if
(
$success
==
1
)
{
if
(
$success
==
1
)
{
$this
->
redirectURL
.=
'&url='
.
$url
;
}
$this
->
redirect
();
}
else
{
if
(
$success
==
1
)
{
}
else
{
if
(
$success
==
1
)
{
$array
[
'url'
]
=
$url
;
}
else
{
}
else
{
$array
[
'message'
]
=
$message
;
}
echo
json_encode
(
$array
);
}
}
}
}
backend/web/plugins/editormd/examples/php/upload.php
View file @
140451ed
...
...
@@ -41,11 +41,11 @@
if
(
$imageUploader
->
upload
(
$name
))
{
$imageUploader
->
message
(
'
上传成功!
'
,
1
);
$imageUploader
->
message
(
'
Загружен успешно!
'
,
1
);
}
else
{
$imageUploader
->
message
(
'
上传失败!
'
,
0
);
$imageUploader
->
message
(
'
Загрузка не удалась!
'
,
0
);
}
}
?>
\ No newline at end of file
common/modules/documentation/controllers/DocumentationAdminController.php
View file @
140451ed
...
...
@@ -24,6 +24,7 @@ class DocumentationAdminController extends AdminController
'Update'
=>
'Редактирование контента'
,
'Delete'
=>
'Удаление контента'
,
'View'
=>
'Просмотр контента'
,
'Upload'
=>
'Загрузка картинок'
,
];
}
...
...
@@ -235,4 +236,35 @@ class DocumentationAdminController extends AdminController
}
}
public
function
actionUpload
()
{
require
(
\yii\helpers\FileHelper
::
normalizePath
(
\Yii
::
getAlias
(
'@webroot'
)
.
DIRECTORY_SEPARATOR
.
'plugins'
.
DIRECTORY_SEPARATOR
.
'editormd'
.
DIRECTORY_SEPARATOR
.
'examples'
.
DIRECTORY_SEPARATOR
.
'php'
.
DIRECTORY_SEPARATOR
.
'editormd.uploader.class.php'
));
$savePath
=
\yii\helpers\FileHelper
::
normalizePath
(
\Yii
::
getAlias
(
'@frontend'
)
.
DIRECTORY_SEPARATOR
.
'web'
.
DIRECTORY_SEPARATOR
.
'uploads'
.
DIRECTORY_SEPARATOR
.
'documentation'
.
DIRECTORY_SEPARATOR
);
$saveURL
=
Yii
::
$app
->
params
[
'frontUrl'
]
.
'/uploads/documentation/'
;
$formats
=
array
(
'image'
=>
array
(
'gif'
,
'jpg'
,
'jpeg'
,
'png'
,
'bmp'
)
);
$name
=
'editormd-image-file'
;
if
(
isset
(
$_FILES
[
$name
]))
{
$imageUploader
=
new
\EditorMdUploader
(
$savePath
,
$saveURL
,
$formats
[
'image'
],
false
);
// Ymdhis表示按日期生成文件名,利用date()函数
$imageUploader
->
config
(
array
(
'maxSize'
=>
1024
,
// 允许上传的最大文件大小,以KB为单位,默认值为1024
'randomNameType'
=>
2
,
'randomLength'
=>
20
,
'cover'
=>
true
// 是否覆盖同名文件,默认为true
));
if
(
$imageUploader
->
upload
(
$name
))
{
$imageUploader
->
message
(
'Загружен успешно!'
,
1
);
}
else
{
$imageUploader
->
message
(
'Загрузка не удалась!'
,
0
);
}
}
}
}
common/modules/documentation/models/DocList.php
View file @
140451ed
...
...
@@ -139,7 +139,7 @@ class DocList extends \yii\db\ActiveRecord
$list
=
[];
$thisLevel
=
DocList
::
find
()
->
where
([
'='
,
'parent_id'
,
$parent_id
])
->
orderBy
([
'position'
=>
SORT_ASC
])
->
all
();
foreach
(
$thisLevel
as
$level
)
{
if
(
$updated
->
id
==
$level
->
id
&&
!
$ignore
)
if
(
$updated
&&
$updated
->
id
==
$level
->
id
&&
!
$ignore
)
continue
;
$l
=
''
;
...
...
common/modules/documentation/views/documentation-admin/index.php
View file @
140451ed
...
...
@@ -43,7 +43,7 @@ use common\modules\documentation\models\DocList;
],
[
'class'
=>
'common\components\ColorActionColumn'
,
'template'
=>
'{
view} {
update} {delete}'
,
'template'
=>
'{update} {delete}'
,
// 'buttons' => [
// 'copy' => function ($url, $model, $key) {
// return '<a href="' . Url::toRoute(['copy', 'id' => $model->id]) . '">' . Html::beginTag('i', [
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment