v3.22发布

pull/86/head
warlee 2016-08-10 11:59:23 +08:00
parent 94ed0841e4
commit 80c477e21e
32 changed files with 2838 additions and 2702 deletions

View File

@ -1,6 +1,21 @@
###ver3.2 `2015/10/25` ### ver3.22 `2016/8/10`
----- -----
####update: #### update:
- 去掉异常请求判断问题(有误判)
- 删除默认存入到回收站;相关优化
- 没有GD库含有图片则默认显示
- 远程下载优化
- 本地文件输出加入缓存机制;支持断点续传;多线程下载
#### fix bug
- 修复验证码出错问题
- 优化对话框打开问题
### ver3.21 `2015/10/25`
-----
#### update:
- 编辑器函数列表匹配优化;底部高度优化 - 编辑器函数列表匹配优化;底部高度优化
- 文件文件夹属性:文件下载地址:下载临时地址【永久下载地址、临时下载地址】 - 文件文件夹属性:文件下载地址:下载临时地址【永久下载地址、临时下载地址】
- 扩展名限制优化 - 扩展名限制优化
@ -15,7 +30,7 @@
- 3.菜单处理 - 3.菜单处理
- 4.文件打开预览处理 - 4.文件打开预览处理
####fix bug #### fix bug
- 远程下载windows下重命名失败问题 - 远程下载windows下重命名失败问题
- 自动更新失败问题 - 自动更新失败问题
- 编辑器 中文光标错位问题 - 编辑器 中文光标错位问题
@ -39,18 +54,18 @@
- 视频播放关闭问题 - 视频播放关闭问题
###ver3.12 `2015/3/31` ### ver3.12 `2015/3/31`
----- -----
####update: #### update:
- 兼容ie中文导致菜单保存丢失问题 - 兼容ie中文导致菜单保存丢失问题
###ver3.11 `2015/3/30` ### ver3.11 `2015/3/30`
----- -----
####update: #### update:
- 用户没有权限,提示优化 - 用户没有权限,提示优化
- 用户配置数据保存,写入失败提示 - 用户配置数据保存,写入失败提示
####fix bug #### fix bug
- 分享mp3音乐播放路径问题 - 分享mp3音乐播放路径问题
- 火狐bug修复 - 火狐bug修复
- 分享页面、文件夹office预览问题 - 分享页面、文件夹office预览问题
@ -61,14 +76,14 @@
工具栏火狐兼容性bug 工具栏火狐兼容性bug
###ver3.1 `2015/3/26` ### ver3.1 `2015/3/26`
----- -----
####update: #### update:
- 分享可以修改路径;避免文件移动后原始分享路径失效问题 - 分享可以修改路径;避免文件移动后原始分享路径失效问题
- 分享后自动刷新当前目录;跟新配置数据 - 分享后自动刷新当前目录;跟新配置数据
- 文件管理 当前文件夹不可写,对应右键菜单功能屏蔽 - 文件管理 当前文件夹不可写,对应右键菜单功能屏蔽
####fix bug #### fix bug
- cookie自动登录失败导致页面css丢失问题 - cookie自动登录失败导致页面css丢失问题
- cookie路径导致语言设置失败问题 - cookie路径导致语言设置失败问题
- 应用中心css丢失问题 - 应用中心css丢失问题
@ -79,9 +94,9 @@
- 菜单编辑中文部分乱码 - 菜单编辑中文部分乱码
- 图片预览优化 - 图片预览优化
###ver3.0 `2015/3/23` ### ver3.0 `2015/3/23`
----- -----
####update: #### update:
- 文档分享[文件、文件夹分享;支持添加密码;文件分享支持多种格式在线预览] - 文档分享[文件、文件夹分享;支持添加密码;文件分享支持多种格式在线预览]
- 回收站;(避免误删除) - 回收站;(避免误删除)
- 系统设置(自定义程序的一些配置) - 系统设置(自定义程序的一些配置)
@ -132,7 +147,7 @@
- 统一proxy后office打开权限问题解决加密方式生成临时访问地址 - 统一proxy后office打开权限问题解决加密方式生成临时访问地址
- 播放器更多格式支持wmv、avi、mpg等 - 播放器更多格式支持wmv、avi、mpg等
####fix bug and 优化: #### fix bug and 优化:
- win下 中文路径导致的问题处理 - win下 中文路径导致的问题处理
- public中拖拽问题 复制粘贴问题 - public中拖拽问题 复制粘贴问题
- 桌面任务栏,右键菜单绑定丢失问题 - 桌面任务栏,右键菜单绑定丢失问题
@ -158,7 +173,7 @@
- 下载有BOM问题 - 下载有BOM问题
- wwwroot识别问题 - wwwroot识别问题
####fix bug 3.01 beta1: #### fix bug 3.01 beta1:
- 新建用户下拉菜单出不来问题 - 新建用户下拉菜单出不来问题
- 分享bug - 分享bug
- 设置中心开启游客ui兼容性问题 - 设置中心开启游客ui兼容性问题
@ -180,38 +195,38 @@
###ver2.8 `2014/11/23` ### ver2.8 `2014/11/23`
----- -----
####update: #### update:
- 上传控件优化 - 上传控件优化
- 兼容性优化支持ie8以上 - 兼容性优化支持ie8以上
- 更新font-awesome到最新版本 - 更新font-awesome到最新版本
####fix bug: #### fix bug:
- 安全优化 - 安全优化
- 上传图片取消大文件压缩选项 - 上传图片取消大文件压缩选项
- 优化部分操作下显示问题 - 优化部分操作下显示问题
###ver2.73 `2014/9/17` ### ver2.73 `2014/9/17`
####fix bug: #### fix bug:
- 安全优化补丁 - 安全优化补丁
###ver2.72 `2014/9/16` ### ver2.72 `2014/9/16`
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 任意执行远程下载apache 扩漏洞:判断扩展名中是否含有.php. - 任意执行远程下载apache 扩漏洞:判断扩展名中是否含有.php.
- 不存在的用户 - 不存在的用户
- 桌面开始按钮被tab盖住了 - 桌面开始按钮被tab盖住了
- 主题切换,错位问题 - 主题切换,错位问题
- 透明对话框拖动时 标题栏不显示问题 - 透明对话框拖动时 标题栏不显示问题
###ver2.71 `2014/8/31` ### ver2.71 `2014/8/31`
----- -----
####update: #### update:
- 编辑器配置保存:文字大小、主题风格;主题修改 - 编辑器配置保存:文字大小、主题风格;主题修改
- 精简初始桌面应用 - 精简初始桌面应用
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 修改用户密码失败: - 修改用户密码失败:
- 打开设置设置壁纸,关掉,再打开个人中心,桌面乱掉 - 打开设置设置壁纸,关掉,再打开个人中心,桌面乱掉
- 桌面开始菜单 最大化问题 - 桌面开始菜单 最大化问题
@ -220,9 +235,9 @@
- appstore 添加应用tips不见 - appstore 添加应用tips不见
###ver2.7 `2014/8/25` ### ver2.7 `2014/8/25`
----- -----
####update: #### update:
- 安全及性能优化 - 安全及性能优化
- 静态文件加入?版本标识,版本更新后不缓存 - 静态文件加入?版本标识,版本更新后不缓存
- webuploader 升级到0.14 优化部分上传问题 - webuploader 升级到0.14 优化部分上传问题
@ -231,7 +246,7 @@
- 自建office解析服务器配置 - 自建office解析服务器配置
- 最大化全屏 - 最大化全屏
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- install 加入iconv、mbstring检测 - install 加入iconv、mbstring检测
- 右键重命名 快捷键冒泡处理 - 右键重命名 快捷键冒泡处理
- 文件列表图片缩略图拖拽问题 - 文件列表图片缩略图拖拽问题
@ -240,15 +255,15 @@
###ver2.61 `2014/7/12` ### ver2.61 `2014/7/12`
----- -----
####update: #### update:
- 实时搜索,根据搜索框内容变化,实时选中匹配到的结果; - 实时搜索,根据搜索框内容变化,实时选中匹配到的结果;
- 弹出搜索框遍历子文件夹递归搜索 - 弹出搜索框遍历子文件夹递归搜索
- session key 加入kod_前缀 避免和其他系统key冲突 - session key 加入kod_前缀 避免和其他系统key冲突
- 编辑器选中优化 选择鼠标到窗口外事件处理 - 编辑器选中优化 选择鼠标到窗口外事件处理
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- backspace后退截获浏览器事件,作为后退前一次访问的文件夹; - backspace后退截获浏览器事件,作为后退前一次访问的文件夹;
- 搜索首字母不匹配问题 - 搜索首字母不匹配问题
- 弹出层中的弹出层关闭,父窗口失去焦点问题。 - 弹出层中的弹出层关闭,父窗口失去焦点问题。
@ -265,9 +280,9 @@
- ie 8~10样式问题调整 - ie 8~10样式问题调整
###ver2.6 `2014/7/6` ### ver2.6 `2014/7/6`
----- -----
####update: #### update:
- 完全性优化;加入严格的校验机制 - 完全性优化;加入严格的校验机制
- 首次运行环境检测[data目录检测必须的函数支持提示] - 首次运行环境检测[data目录检测必须的函数支持提示]
- 上传已存在处理——创建副本(另外包括粘贴,解压) - 上传已存在处理——创建副本(另外包括粘贴,解压)
@ -278,7 +293,7 @@
- 右键等部分菜单效果优化 - 右键等部分菜单效果优化
- 远程下载加入进度条,下载速度等信息 - 远程下载加入进度条,下载速度等信息
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 下载前判断当前目录可写 - 下载前判断当前目录可写
- 文件扩展名处理,分为用户方式和扩展名权限方式 - 文件扩展名处理,分为用户方式和扩展名权限方式
- 上传结束提示:是否成功、失败原因 - 上传结束提示:是否成功、失败原因
@ -294,9 +309,9 @@
- 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题) - 选中文件时,移动到屏幕可视区域(解决上下左右选中文件滚动条不一致问题)
###ver2.51 `2014/6/22` ### ver2.51 `2014/6/22`
----- -----
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 登录多次密码输入错误验证码bug解决 - 登录多次密码输入错误验证码bug解决
- 修复漏洞:创建副本加入权限控制。和拖文件拽权限一致 - 修复漏洞:创建副本加入权限控制。和拖文件拽权限一致
@ -304,23 +319,23 @@
- 树目录同步优化 - 树目录同步优化
###ver2.5 `2014/6/15` ### ver2.5 `2014/6/15`
----- -----
####update: #### update:
- 增加创建副本功能 按住ctrl拖拽即可可以到当前也可以到文件夹。 - 增加创建副本功能 按住ctrl拖拽即可可以到当前也可以到文件夹。
- 多选拖拽优化:剪切到、移动到某个文件夹 - 多选拖拽优化:剪切到、移动到某个文件夹
- 创建副本功能 - 创建副本功能
- 树目录和文件列表一致性保持 更新相互通知 - 树目录和文件列表一致性保持 更新相互通知
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 桌面重命名bug - 桌面重命名bug
- 统一对话框部分bug - 统一对话框部分bug
- php notice 提示解决 - php notice 提示解决
- ajax返回非json 则展示服务错误的返回 - ajax返回非json 则展示服务错误的返回
- 所有入口都加入index.php 解决部分服务器没有设置默认入口问题 - 所有入口都加入index.php 解决部分服务器没有设置默认入口问题
###ver2.4 `2014/6/8` ### ver2.4 `2014/6/8`
####update: #### update:
- 语言选择 - 语言选择
- 远程下载文件名优化 - 远程下载文件名优化
- 树目录事件优化 - 树目录事件优化
@ -331,9 +346,9 @@
- 懒加载优化 - 懒加载优化
###ver2.3 `2014/6/2` ### ver2.3 `2014/6/2`
----- -----
####update: #### update:
- 拖动url——创建ext app - 拖动url——创建ext app
- 文件管理,树目录变化后(增删改)自动同步到文件列表 - 文件管理,树目录变化后(增删改)自动同步到文件列表
- 文件管理,文件列表变化后(增删改)自动同步到树目录 - 文件管理,文件列表变化后(增删改)自动同步到树目录
@ -341,7 +356,7 @@
- 对话框打开关闭动画 - 对话框打开关闭动画
- 其他多处优化 - 其他多处优化
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 文件名限制bug - 文件名限制bug
- 同目录多个程序cookie bug修复 - 同目录多个程序cookie bug修复
- 地址栏 最后显示宽度问题 - 地址栏 最后显示宽度问题
@ -349,9 +364,9 @@
- 树目录显示优化 - 树目录显示优化
- 登录记住密码优化 - 登录记住密码优化
###ver2.2 `2014/5/11` ### ver2.2 `2014/5/11`
----- -----
####update: #### update:
- 公共目录支持(多个用户可以共享目录,写权限跟随用户组权限设定) - 公共目录支持(多个用户可以共享目录,写权限跟随用户组权限设定)
- 自动升级优化 - 自动升级优化
- 文件管理工具栏 增加菜单选项,方便移动设备操作 - 文件管理工具栏 增加菜单选项,方便移动设备操作
@ -359,15 +374,15 @@
- 树目录去掉库,改为个人目录等多处文案修改 - 树目录去掉库,改为个人目录等多处文案修改
- 默认打开用户目录 - 默认打开用户目录
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 桌面任务栏点不中bug - 桌面任务栏点不中bug
- 部分文案问题 - 部分文案问题
- 众多细节优化 - 众多细节优化
###ver2.1 `2014/4/2` ### ver2.1 `2014/4/2`
----- -----
####update: #### update:
- 文件夹拖拽上传,完美解决(保持原始目录结构) - 文件夹拖拽上传,完美解决(保持原始目录结构)
- 解压缩优化;解压中文问题。解压缩整体速度 - 解压缩优化;解压中文问题。解压缩整体速度
- 树目录增加快捷键支持(上下、左右展开树目录;复制、粘贴、剪切、删除、打开、搜索、新建文件(夹)、) - 树目录增加快捷键支持(上下、左右展开树目录;复制、粘贴、剪切、删除、打开、搜索、新建文件(夹)、)
@ -378,7 +393,7 @@
- 编辑文件打开出错,自动关闭标签;文件打开20M限制(大于20M则不处理,浏览器会卡死) - 编辑文件打开出错,自动关闭标签;文件打开20M限制(大于20M则不处理,浏览器会卡死)
- 标签关闭提示:检测是否有未保存文件,文件修改实时修改是否修修改的按钮状态 - 标签关闭提示:检测是否有未保存文件,文件修改实时修改是否修修改的按钮状态
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 文本文件编辑 文件名含有url编码则出错bug - 文本文件编辑 文件名含有url编码则出错bug
- 右键菜单在最下面时,右键位置重叠导致点击菜单问题 - 右键菜单在最下面时,右键位置重叠导致点击菜单问题
- 编辑器打开文件时光标问题处理移动到行尾编辑器enter建不显示自动提示 - 编辑器打开文件时光标问题处理移动到行尾编辑器enter建不显示自动提示
@ -395,10 +410,10 @@
- -
###ver2.0 `2014/3/2` ### ver2.0 `2014/3/2`
----- -----
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- body右键屏蔽(保留input、textarea) - body右键屏蔽(保留input、textarea)
- 重命名&新建时 右键(编辑内容系统菜单) - 重命名&新建时 右键(编辑内容系统菜单)
- 对话框 不显示边框(位移处理,opacity0 - 对话框 不显示边框(位移处理,opacity0
@ -437,12 +452,12 @@
- 更换主题【css load 后载入】 - 更换主题【css load 后载入】
- 删除。不清除选中。提前准备数据 - 删除。不清除选中。提前准备数据
- 构建打包,合并压缩。添加版本、版权 - 构建打包,合并压缩。添加版本、版权
- 自动升级(本地记录版本,服务器js调用 参数 url、###version忽略此版本。cookie。统计用户) - 自动升级(本地记录版本,服务器js调用 参数 url、### version忽略此版本。cookie。统计用户)
###ver2.0 debug `2014/3/2` ### ver2.0 debug `2014/3/2`
----- -----
####fix bug:bug解决和程序优化 #### fix bug:bug解决和程序优化
- 优化文件打开处理 - 优化文件打开处理
- 文件&文件夹:含有%、+号的处理(显示不出等问题,encoenURIComponent——rawurldecode) - 文件&文件夹:含有%、+号的处理(显示不出等问题,encoenURIComponent——rawurldecode)
- 文件下载,支持大文件下载、断点续传。 - 文件下载,支持大文件下载、断点续传。
@ -461,7 +476,7 @@
- 树目录:收藏夹优化(右键绑定);右键操作优化,拖拽优化(文件管理&编辑器) - 树目录:收藏夹优化(右键绑定);右键操作优化,拖拽优化(文件管理&编辑器)
- 收藏夹优化(右键 >编辑删除) - 收藏夹优化(右键 >编辑删除)
####update: #### update:
**新增功能** **新增功能**
- 多用户、权限控制: - 多用户、权限控制:
@ -513,16 +528,16 @@
- 路由权限控制 - 路由权限控制
- 后端统一json输出。 - 后端统一json输出。
###ver1.21 `2013/11/6` ### ver1.21 `2013/11/6`
----- -----
####fix bug: #### fix bug:
- 修复文件下载bug - 修复文件下载bug
- 修复编辑器自动补全问题,<aa bb /> ——> <aa bb></a> - 修复编辑器自动补全问题,<aa bb /> ——> <aa bb></a>
- 兼容部分服务器问题。 - 兼容部分服务器问题。
###ver1.2 `2013/10/16` ### ver1.2 `2013/10/16`
----- -----
####fix bug: #### fix bug:
- 设置,外部通用调用方式 - 设置,外部通用调用方式
- 打包中文乱码问题。 - 打包中文乱码问题。
- simple,default主题,navbar 下拉菜单右边位置问题。 - simple,default主题,navbar 下拉菜单右边位置问题。
@ -530,7 +545,7 @@
- 文件大小写不敏感设置,扩展名获取bug - 文件大小写不敏感设置,扩展名获取bug
- 目录读取权限判断,解决“系统错误”相关问题。 - 目录读取权限判断,解决“系统错误”相关问题。
####update: #### update:
- 地址栏宽度自适应优化,支持浏览器窗口调整 - 地址栏宽度自适应优化,支持浏览器窗口调整
- 增加远程下载功能;上传功能优化, - 增加远程下载功能;上传功能优化,
- 整体样式风格优化, - 整体样式风格优化,
@ -548,36 +563,36 @@
- 优化影音播放器,皮肤及相关配置信息存储于js中,不用之前的服务器请求方式,修改皮肤后可以直接更新到界面上。 - 优化影音播放器,皮肤及相关配置信息存储于js中,不用之前的服务器请求方式,修改皮肤后可以直接更新到界面上。
###ver1.01 `2013/9/10` ### ver1.01 `2013/9/10`
----- -----
####fix bug: #### fix bug:
- 添加到收藏 - 添加到收藏
- simple,default主题,navbar 下拉菜单右边位置问题。 - simple,default主题,navbar 下拉菜单右边位置问题。
####update: #### update:
- 添加到收藏夹,修改收藏夹,更新文件管理收藏夹部分。 - 添加到收藏夹,修改收藏夹,更新文件管理收藏夹部分。
- 修改主题,同时修改编辑器主题。【编辑区,文件管理,桌面】 - 修改主题,同时修改编辑器主题。【编辑区,文件管理,桌面】
- 优化setting部分代码,整合为一个整体。 - 优化setting部分代码,整合为一个整体。
- 优化debug,增加less编译,导出功能优化,先编译后复制再操作 - 优化debug,增加less编译,导出功能优化,先编译后复制再操作
###ver1.0 `2013.9.1` ### ver1.0 `2013.9.1`
----- -----
####update: #### update:
- 代码模块化优化,静态文件分离,可以分开部署 - 代码模块化优化,静态文件分离,可以分开部署
- 编辑器单独逻辑提取,完整融合到文件管理,树目录融合文件管理,懒加载语法高亮 - 编辑器单独逻辑提取,完整融合到文件管理,树目录融合文件管理,懒加载语法高亮
- 多标签实现,弹层对话框多标签支持,桌面任务栏实现;编辑器多标签支持 - 多标签实现,弹层对话框多标签支持,桌面任务栏实现;编辑器多标签支持
- 弹层功能优化,实现最大最小化,最小化关联多标签任务栏管理 - 弹层功能优化,实现最大最小化,最小化关联多标签任务栏管理
####fix bug: #### fix bug:
- linux 下浏览器打开文件和文件夹,中文问题 - linux 下浏览器打开文件和文件夹,中文问题
- 重命名&新建&上传 刷新列表使用动画,当前选中失效问题,不使用动画加载方式。 - 重命名&新建&上传 刷新列表使用动画,当前选中失效问题,不使用动画加载方式。
- html5拖拽上传优化 - html5拖拽上传优化
###ver0.8 `2013.6.15` ### ver0.8 `2013.6.15`
----- -----
####update: #### update:
- 整体优化,实现全部操作ajax本地化 ,进一步提升体验 - 整体优化,实现全部操作ajax本地化 ,进一步提升体验
- 浏览器强刷新,保持之前最后所在路径 - 浏览器强刷新,保持之前最后所在路径
- 重命名,新建,粘贴操作后添加选中状态 - 重命名,新建,粘贴操作后添加选中状态
@ -590,7 +605,7 @@
- 历史记录完美实现,前进后退按钮实时变化状态。 - 历史记录完美实现,前进后退按钮实时变化状态。
- 快捷键backspace实现后退(left header main 分别加入函数,屏蔽默认history(-1)操作) - - 快捷键backspace实现后退(left header main 分别加入函数,屏蔽默认history(-1)操作) -
####fix bug: #### fix bug:
- 完善修改windows以及linux获取文件列表,中文路径属性获取失败问题。 - 完善修改windows以及linux获取文件列表,中文路径属性获取失败问题。
- 复制,剪切。剪贴板内容覆盖判空处理 - 复制,剪切。剪贴板内容覆盖判空处理
- 修复一些地方ajax线程同步问题,重命名后选中失效问题解决 - 修复一些地方ajax线程同步问题,重命名后选中失效问题解决

View File

@ -105,7 +105,6 @@ if(isset($in['PHPSESSID'])){//office edit post
} }
@session_start(); @session_start();
check_post_many();
session_write_close();//避免session锁定问题;之后要修改$_SESSION 需要先调用session_start() session_write_close();//避免session锁定问题;之后要修改$_SESSION 需要先调用session_start()
$config['autorun'] = array( $config['autorun'] = array(
array('controller'=>'user','function'=>'loginCheck'), array('controller'=>'user','function'=>'loginCheck'),

View File

@ -1,2 +1,2 @@
<?php <?php
define('KOD_VERSION','3.21'); define('KOD_VERSION','3.22');

View File

@ -250,12 +250,14 @@ class explorer extends Controller{
} }
public function pathDelete(){ public function pathDelete(){
$list = json_decode($this->in['list'],true); $list = json_decode($this->in['list'],true);
if (!is_writable(USER_RECYCLE)) show_json($this->L['no_permission_write'],false); if (!is_dir(USER_RECYCLE)){
mk_dir(USER_RECYCLE);
}
$success=0;$error=0; $success=0;$error=0;
foreach ($list as $val) { foreach ($list as $val) {
$path_this = _DIR($val['path']); $path_this = _DIR($val['path']);
$filename = get_path_this($path_this); $filename = get_path_this($path_this);
$filename = get_filename_auto(USER_RECYCLE.$filename,date(' h:i:s'));//已存在处理 创建副本 $filename = get_filename_auto(USER_RECYCLE.$filename,date(' h:i:s'),'folder_rename');//已存在处理 创建副本
if (@rename($path_this,$filename)) { if (@rename($path_this,$filename)) {
$success++; $success++;
}else{ }else{
@ -560,9 +562,11 @@ class explorer extends Controller{
} }
} }
public function image(){ public function image(){
if (filesize($this->path) <= 1024*10) {//小于10k 不再生成缩略图 if (filesize($this->path) <= 1024*20 ||
file_put_out($this->path); !function_exists('imagecolorallocate') ) {//小于20k或者不支持gd库 不再生成缩略图
} file_put_out($this->path);
return;
}
load_class('imageThumb'); load_class('imageThumb');
$image= $this->path; $image= $this->path;
$image_md5 = @md5_file($image);//文件md5 $image_md5 = @md5_file($image);//文件md5
@ -585,8 +589,8 @@ class explorer extends Controller{
} }
} }
if (!file_exists($image_thum) || filesize($image_thum)<100){//缩略图生成失败则用默认图标 if (!file_exists($image_thum) || filesize($image_thum)<100){//缩略图生成失败则用默认图标
$image_thum=STATIC_PATH.'images/image.png'; $image_thum=$this->path;
} }
//输出 //输出
file_put_out($image_thum); file_put_out($image_thum);
} }

View File

@ -179,7 +179,7 @@ class user extends Controller
$password = rawurldecode($this->in['password']); $password = rawurldecode($this->in['password']);
session_start();//re start 有新的修改后调用 session_start();//re start 有新的修改后调用
if(isset($_SESSION['code_error_time']) && if(need_check_code() && isset($_SESSION['code_error_time']) &&
intval($_SESSION['code_error_time']) >=3 && intval($_SESSION['code_error_time']) >=3 &&
$_SESSION['check_code'] !== strtolower($this->in['check_code'])){ $_SESSION['check_code'] !== strtolower($this->in['check_code'])){
// pr($_SESSION['check_code'].'--'.strtolower($this->in['check_code']));exit; // pr($_SESSION['check_code'].'--'.strtolower($this->in['check_code']));exit;

View File

@ -137,9 +137,20 @@ function php_env_check(){
if(!function_exists('file_get_contents')) $error.='<li>'.$L['php_env_error_file'].'</li>'; if(!function_exists('file_get_contents')) $error.='<li>'.$L['php_env_error_file'].'</li>';
if(!path_writable(BASIC_PATH)) $error.= '<li>'.$base_path.' '.$L['php_env_error_path'].'</li>'; if(!path_writable(BASIC_PATH)) $error.= '<li>'.$base_path.' '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data')) $error.= '<li>'.$base_path.'data '.$L['php_env_error_path'].'</li>'; if(!path_writable(BASIC_PATH.'data')) $error.= '<li>'.$base_path.'data '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data/system')) $error.= '<li>'.$base_path.'data/system '.$L['php_env_error_path'].'</li>';
if(!path_writable(BASIC_PATH.'data/User')) $error.= '<li>'.$base_path.'data/User '.$L['php_env_error_path'].'</li>'; $parent = get_path_father(BASIC_PATH);
if(!path_writable(BASIC_PATH.'data/thumb')) $error.= '<li>'.$base_path.'data/thumb '.$L['php_env_error_path'].'</li>'; $arr_check = array(
BASIC_PATH,
BASIC_PATH.'data',
BASIC_PATH.'data/system',
BASIC_PATH.'data/User',
BASIC_PATH.'data/thumb',
);
foreach ($arr_check as $value) {
if(!path_writable($value)){
$error.= '<li>'.str_replace($parent,'',$value).'/ '.$L['php_env_error_path'].'</li>';
}
}
if( !function_exists('imagecreatefromjpeg')|| if( !function_exists('imagecreatefromjpeg')||
!function_exists('imagecreatefromgif')|| !function_exists('imagecreatefromgif')||
!function_exists('imagecreatefrompng')|| !function_exists('imagecreatefrompng')||
@ -209,52 +220,13 @@ function init_setting(){
include($setting_user); include($setting_user);
} }
} }
//登陆是否需要验证码
//防止恶意请求 function need_check_code(){
function check_post_many(){ if(!function_exists('imagecolorallocate')){
$check_time = 4; return false;
$maxt_num = 40;//5秒内最大请求次数。超过则自动退出 }else{
$total_time = 60;//10nmin return true;
$total_time_num = 500; }
//管理员不受限制
if( isset($_SESSION['kod_user']) &&
$_SESSION['kod_user']['role']=='root'){
return;
}
//上传不受限制
$URI = $GLOBALS['in']['URLremote'];
if (isset($URI[1]) && $URI[1] =='fileUpload') {
return;
}
$session_key = 'check_post_many';
$_SESSION['check_session_has'] = 'kodexplorer';
if (!isset($_SESSION[$session_key])) {
$_SESSION[$session_key] = array('last_time'=>time(),'total_num'=>0,'max_time'=>time(),'max_num'=>0);
}else{
$info = $_SESSION[$session_key];
//----短期内并发控制
if (time()-$info['last_time'] >=$check_time) {//大于时长s 则清空
$info = array('last_time'=>time(),'total_num'=>0,'max_time'=>time(),'max_num'=>0);
}else{
if ($info['total_num'] >=$maxt_num) {//大于100次则直接退出
user_logout();
}else{
$info['total_num'] +=1;
}
}
//----总量控制
if (time()-$info['max_time'] >=$total_time) {//大于时长s 则清空
$info = array('last_time'=>time(),'total_num'=>0,'max_time'=>time(),'max_num'=>0);
}else{
if ($info['total_num'] >=$total_time_num) {//大于100次则直接退出
user_logout();
}else{
$info['max_num'] +=1;
}
}
$_SESSION[$session_key] = $info;
}
} }
function is_wap(){ function is_wap(){
if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i', if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i',

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,484 +1,462 @@
<?php <?php
$L= array( $L= array(
"upload_clear" =>'清空', "upload_clear" =>'清除',
"upload_setting" =>"設置", "upload_setting" =>"設定",
"upload_tips" =>'采用分片上傳,不再受php.ini限制;推薦chrome體驗文件夾拖拽上傳', "upload_tips" =>'採取分段上傳,不再受php.ini限制;推薦Chrome體驗資料夾拖曳上傳',
"upload_exist" =>"同名文件處理", "upload_exist" =>"重名檔案處理",
"upload_exist_rename" =>"重命名", "upload_exist_rename" =>"重新命名",
"upload_exist_replace" =>"覆蓋", "upload_exist_replace" =>"覆蓋",
"upload_exist_skip" =>"跳過", "upload_exist_skip" =>"略過",
"more" =>"更多",
"more" =>"更多", 'system_setting' =>"系統設定",
'system_setting' =>"系統設置", "openProject" =>"編輯器開啟項目",
"openProject" =>"編輯器打開項目", "url_download" =>"下載網址",
"url_download" =>"下載地址", "url_link" =>"外部網址",
"url_link" =>"外鏈地址", "app_type_link" =>"捷徑",
"app_type_link" =>"快捷方式", "createLink" =>"建立捷徑",
"createLink" =>"創建快捷方式", "createProject" =>"新增志編輯器工程",
"createProject" =>"添加到編輯器工程", "only_read" =>"唯讀",
"only_read" =>"只讀", "only_read_desc" =>"此目錄無寫權限<br/>可以在作業系統中設定此目錄的權限",
"only_read_desc" =>"該目錄沒有寫權限<br/>可以在操作系統中設置此目錄的權限", "explorerNew" =>'KOD連結',
"explorerNew" =>'kod 鏈接', 'zip_download_ready' =>'壓縮後會自動下載,請稍後...',
'zip_download_ready' =>'壓縮後會自動下載,請稍後...', "set_background" =>"設定為桌面桌布",
"set_background" =>"設置為桌面壁紙", "share" =>"共用",
"share_path" =>"共用路径",
"share" =>"共享", "share_title" =>"資源共用",
"share_path" =>"共享路径", "share_name" =>"共用標題",
"share_title" =>"資源共享", "share_time" =>"逾期時間",
"share_name" =>"共享標題", "share_time_desc" =>"留空表示不設定逾期時間",
"share_time" =>"到期時間", "share_password" =>"提取密碼",
"share_time_desc" =>"留空表示不設置到期時間", "share_password_desc" =>"留空表示不需要密碼",
"share_password" =>"提取密碼", "share_cancle" =>"取消共用",
"share_password_desc" =>"留空表示不需要密碼", "share_create" =>"建立公開連結",
"share_cancle" =>"取消共享", "share_url" =>"共用網址",
"share_create" =>"創建公開鏈接", "share_not_download" =>"禁止下載",
"share_url" =>"共享地址", "share_not_download_tips" =>"共用者禁止了下載!",
"share_not_download" =>"禁止下載", "share_code_read" =>"代碼閱讀",
"share_not_download_tips" =>"共享者禁止了下載!", "share_save" =>"儲存設定",
"share_code_read" =>"代碼閱讀", "share_error_param" =>'參數錯誤!',
"share_save" =>"保存配置", "share_error_user" =>'使用者資訊錯誤!',
"share_error_param" =>'參數錯誤!', "share_error_sid" =>'共用不存在!',
"share_error_user" =>'用戶信息錯誤!', "share_error_time" =>'您來晚了,此共用已逾期!',
"share_error_sid" =>'共享不存在!', "share_error_path" =>'共用檔案不存在,被刪除或者移走了!',
"share_error_time" =>'您來晚了,該共享已經過期!', "share_error_password" =>"密碼錯誤!",
"share_error_path" =>'共享文件不存在,被刪除或者移走了!', 'share_error_show_tips' =>"此類型檔案暫不支援預覽!",
"share_error_password" =>"密碼錯誤!", "share_view_num" =>'檢視:',
'share_error_show_tips' =>"該類型文件暫不支持預覽!", "share_download_num" =>'下載:',
"share_view_num" =>'瀏覽:', "my_share" => "我的共用",
"share_download_num" =>'下載:', "share_edit" => "編輯共用",
"my_share" => "我的共享", "share_remove" => "取消共用",
"share_edit" => "編輯共享", "share_remove_tips" => "確定取消共用?公開連結將失效.",
"share_remove" => "取消共享", "share_open_page" => "開啟共用頁面",
"share_remove_tips" => "確定取消共享?公開連接將失效.", "share_open_path" => "進入檔案所在目錄",
"share_open_page" => "打開共享頁面", "recycle_clear" => '清除垃圾筒',
"share_open_path" => "進入文件所在目錄", "recycle_clear_success" => "清除垃圾筒成功!",
"recycle_clear" => '清空回收站', "recycle_clear_info" => "您確定要徹底刪除垃圾筒嗎?",
"recycle_clear_success" => "清空回收站成功!", "recycle_remove" => "徹底刪除",
"recycle_clear_info" => "您確定要徹底刪除回收站嗎?", "fav_remove" => "取消收藏",
"recycle_remove" => "徹底刪除", "remove_item" =>"項內容",//刪除3項內容 3 item
"fav_remove" => "取消收藏", "uploading" =>"正在上傳",
"remove_item" =>"項內容",//刪除3項內容 3 item 'show_file' =>"新頁面預覽",
"uploading" =>"正在上傳", "unknow_file_title" =>"檔案開啟提示!",
'show_file' =>"新頁面預覽", "unknow_file_tips" =>"暫不支援開啟",
"unknow_file_title" =>"文件打開提示!", "unknow_file_download" =>"下載至本機",
"unknow_file_tips" =>"暫不支持打開", "unknow_file_office" =>"Office預覽,此程式需要部署在外部網路",
"unknow_file_download" =>"下載到本地", "config_save_error_auth" => '設定儲存失敗,管理員禁止了此權限!',
"unknow_file_office" =>"office預覽,此程序需要部署在外網", "config_save_error_file" => '設定儲存失敗,KOD目錄需要有寫入權限!',
"config_save_error_auth" => '配置保存失败,管理员禁止了此权限!', //editor
"config_save_error_file" => '配置保存失败,kod目录需要有写权限!', "shortcut" => '快速鍵',
"learnMore" => '了解更多',
//editor "code_mode" => '語法反白',
"shortcut" => '快捷鍵', "replace" => '取代',
"learnMore" => '了解更多', "selectAll" => '全選',
"code_mode" => '高亮語法', "reload" => "重新載入",
"replace" => '替換', "about" => "關於",
"selectAll" => '全選', 'complete_current' => "自動完成",
"reload" => "重新載入", "view" => '檢視',
"about" => "關於", "tools" => "工具",
'complete_current' => "自動補全當前", "help" => "說明",
"view" => '視圖', "not_exists" => "不存在",
"tools" => "工具", "group_role_fileDownload" => "檔案下載",
"help" => "幫助", "group_role_share" => "共用",
"not_exists" => "不存在", "system_setting" => "系統設定",
"group_role_fileDownload" => "文件下載", "system_setting_menu" => "選單管理",
"group_role_share" => "共享", "system_name" => "程式名稱",
"system_name_desc" => "程式logo標題",
"system_setting" => "系統設置", "system_desc" => "程式描述",
"system_setting_menu" => "菜單管理", "system_desc" => "程式描述",
"system_name" => "程序名稱", "path_hidden" => "目錄排除",
"system_name_desc" => "程序logo標題", "path_hidden_desc" => "預設不顯示的目錄和檔案,逗號隔開",
"system_desc" => "程序描述", "new_user_folder" => "新使用者預設建立目錄",
"system_desc" => "程序描述", "new_user_folder_desc" => "用逗號隔開",
"path_hidden" => "目錄排除", "new_user_app" =>"新使用者預設建立應用程式",
"path_hidden_desc" => "默認不顯示的目錄和文件,逗號隔開", "new_user_app_desc" =>"應用中心的應用,多個用逗號隔開",
"new_user_folder" => "新用戶默認創建目錄", "auto_login" =>"遊客自動登入",
"new_user_folder_desc" => "用逗號隔開", "auto_login_desc" =>"預設登入使用者名稱為<code>guest</code>的使用者;開啟後確保<code>guest</code>使用者存在",
"new_user_app" =>"新用戶默認創建app", "first_in" =>"登入後預設進入",
"new_user_app_desc" =>"應用中心的應用,多個用逗號隔開", "menu_name" =>"選單名稱",
"auto_login" =>"遊客自動登錄", "menu_hidden" => "隱藏",
"auto_login_desc" =>"默認登錄用戶名為<code>guest</code>的用戶;開啟後確保<code>guest</code>用戶存在", "menu_show" =>"顯示",
"first_in" =>"登陸後默認進入", "menu_move_down" =>"下移",
"menu_name" =>"菜單名", "menu_move_up" =>"上移",
"menu_hidden" => "隱藏", "menu_move_del" =>"刪除",
"menu_show" =>"顯示", "menu_open_window" =>"新視窗開啟",
"menu_move_down" =>"下移", "url_path" =>"URL網址",
"menu_move_up" =>"上移", "url_path_desc" =>"URL網址或JS代碼",
"menu_move_del" =>"刪除", "no_permission_read" =>"此檔案無讀取權限",
"menu_open_window" =>"新窗口打開", "no_permission_download" =>"管理員限制了下載與預覽!",
"url_path" =>"url地址",
"url_path_desc" =>"url地址或js代碼", "php_env_check" => "執行環境檢查:",
"no_permission_read" =>"該文件沒有讀取權限", "php_env_error" => "環境錯誤:",
"no_permission_download" =>"管理员限制了下载和预览!", "php_env_error_ignore" =>"忽略",
"php_env_error_version" =>"PHP版本不能低於5.0",
"php_env_error_iconv" =>"未開啟 iconv",
"php_env_check" => "運行環境監測:", "php_env_error_mb_string" =>"未開啟 mb_string",
"php_env_error" => "環境錯誤:", "php_env_error_file" =>"未開啟 file_get_contents",
"php_env_error_ignore" =>"忽略", "php_env_error_path" =>"無法寫入",
"php_env_error_version" =>"PHP版本不能低於5.0", "php_env_error_gd" =>"必須開啟php GD庫, 否則驗證碼、縮圖使用將不正常",
"php_env_error_iconv" =>"未開啟 iconv", "install_login" =>"您可以用如下帳號登陸",
"php_env_error_mb_string" =>"未開啟 mb_string", "install_enter" =>"進入系統",
"php_env_error_file" =>"未開啟 file_get_contents", "install_user_default" =>"管理員admin/admin(請務必修改密碼)<br/>一般使用者demo/demo<br/>遊客使用者guest/guest",
"php_env_error_path" =>"不可寫", "copyright_desc" =>"這是一款備受好評的web檔案管理系統你可以用它來做內部檔案管理或共用、也可以用來管理伺服器上的網站取代Ftp
"php_env_error_gd" =>"須開啟php GD庫, 否則驗證碼、縮略圖使用將不正常", 甚至可以當作webIDE直接線上開發。同時你也可以將此程式二次開發整合進你現有的系統。",
"install_login" =>"您可以用如下賬號登陸", 'copyright_contact' =>'授權或客製請聯絡QQ:<a href="http://wpa.qq.com/msgrd?v=3&uin=3232048103&site=qq&menu=yes" target="_blank">3232048103</a><a href="javascript:core.openIE(\'http://kalcaddle.com/qa.html\');">問題反饋</a>',
"install_enter" =>"進入系統", "copyright_info" =>'Copyright © <a href="http://kalcaddle.com/" target="_blank">kalcaddle.com</a> All rights reserved.',
"install_user_default" =>"管理員admin/admin(請務必修改密碼)<br/>普通用戶demo/demo<br/>遊客用戶guest/guest", "copyright_pre" =>'Powered by KodExplorer',
"kod_name" => "KodExplorer",
"copyright_desc" =>"這是壹款備受好評的web文檔管理系統妳可以用它來做內部文檔管理或共享、也可以用來管理服務器上的網站取代Ftp "kod_name_desc" => "芒果雲•資源管理器",
甚至可以當作webIDE直接在線開發。同時妳也可以將此程序二次開發整合到妳現有的系統。", "kod_power_by" => " - Powered by KodExplorer",
'copyright_contact' =>'授權或定制請聯系QQ:<a href="http://wpa.qq.com/msgrd?v=3&uin=3232048103&site=qq&menu=yes" target="_blank">3232048103</a><a href="javascript:core.openIE(\'http://kalcaddle.com/qa.html\');">問題反饋</a>', "kod_name_copyright" => "芒果雲•資源管理器",
"copyright_info" =>'Copyright © <a href="http://kalcaddle.com/" target="_blank">kalcaddle.com</a> All rights reserved.', "login" => "登入",
"copyright_pre" =>'Powered by KodExplorer', "guest_login" => "遊客登入",
"kod_name" => "KodExplorer", "username" => "使用者名稱",
"kod_name_desc" => "芒果雲•資源管理器", "password" => "密碼",
"kod_power_by" => " - Powered by KodExplorer", "login_code" => "驗證",
"kod_name_copyright" => "芒果雲•資源管理器", "login_rember_password" => "記住密碼",
"us" => "千帆網路工作室",
"login_not_null" => "使用者名稱密碼不能為空!",
"login" => "登六", "code_error" => "驗證碼錯誤",
"guest_login" => "遊客登六", "user_not_exists" => "使用者名稱不存在!",
"username" => "用護名", "password_error" => "密碼錯誤!",
"password" => "密碼", "password_not_null" => "密碼不能為空!",
"login_code" => "驗證碼", "old_password_error" => "原密碼錯誤!",
"login_rember_password" => "記住密碼", "permission" => "權限!",
"us" => "千帆網路工作室", "permission_edit" => "修改權限",
"login_not_null" => "用護名密碼不能為空!", "no_permission" => "您無此權限!",
"code_error" => "驗證碼錯誤", "no_permission_ext" => "您無此類型檔案權限",
"user_not_exists" => "用護名不存在!", "dialog_min" => "最小化",
"password_error" => "密碼錯誤!", "dialog_min_all" => "最小化所有",
"password_not_null" => "密碼不能為空!", "dialog_display_all" => "顯示所有視窗",
"old_password_error" => "原密碼錯誤!", "dialog_close_all" => "關閉所有視窗",
"permission" => "許可權!", //通用
"permission_edit" => "修改權限", "open" => "開啟",
"no_permission" => "您沒有此權限!", "others" => "其他",
"no_permission_ext" => "您沒有該類型文件權限", "open_with" => "開啟檔案",
"dialog_min" => "最小化", "close" => "關閉",
"dialog_min_all" => "最小化所有", "close_all" => "關閉全部",
"dialog_display_all" => "顯示所有窗口", "close_right" => "關閉右側標籤",
"dialog_close_all" => "關閉所有窗口", "close_others" => "關閉其他",
"loading" => "作業中...",
//通用 "warning" => "警告",
"open" => "打開", "getting" => "取得中...",
"others" => "其他", "sending" => "資料傳送中...",
"open_with" => "打開方式", "data_error" => "資料出錯!",
"close" => "關閉", "get_success" => "取得成功!",
"close_all" => "關閉全部", "save_success" => "儲存成功!",
"close_right" => "關閉右側標籤", "success" => "作業成功",
"close_others" => "關閉其他", "error" => "作業失敗",
"loading" => "操作中...", "error_repeat" => "'作業失敗,請註意名稱不能重複!'",
"warning" => "警告", "system_error" => "系統錯誤",
"getting" => "獲取中...", "name" => "名稱",
"sending" => "數據發送中...", "type" => "類型",
"data_error" => "數據出錯!", "contain" => "包含",
"get_success" => "獲取成功!", "address" => "位置",
"save_success" => "保存成功!", "size" => "大小",
"success" => "操作成功", "byte" => "位元組",
"error" => "操作失敗", "path" => "路徑",
"error_repeat" => "'操作失敗,請註意名稱不能重複!'", "action" => "動作",
"system_error" => "系統錯誤", "create_time" => "建立時間",
"name" => "名稱", "modify_time" => "修改時間",
"type" => "類型", "last_time" => "最後造訪",
"contain" => "包含", "sort_type" => "排序方式",
"address" => "位置", "time_type" => "Y/m/d H:i:s",
"size" => "大小", "time_type_info" => "Y年m月d日 H:i:s",
"byte" => "位元組", "public_path" => "公共目錄",
"path" => "路徑", //右鍵
"action" => "操作", "file" => "檔案",
"create_time" => "創建時間", "folder" => "資料夾",
"modify_time" => "修改時間", "copy" => "複製",
"last_time" => "最後訪問", "clone" => "複製一份",
"sort_type" => "排序方式", "past" => "貼上",
"time_type" => "Y/m/d H:i:s", "cute" => "剪下",
"time_type_info" => "Y年m月d日 H:i:s", "remove" => "刪除",
"public_path" => "公共目錄", "info" => "內容",
"list_type" => "檢視",
//右鍵 "list_icon" => "圖示排列",
"file" => "", "list_list" => "清單排列",
"folder" => "檔夾", "sort_up" => "遞增",
"copy" => "複製", "sort_down" => "遞減",
"clone" => "創建副本", "order_type" => "排序方式",
"past" => "粘貼", "order_desc" => "遞減",
"cute" => "剪切", "order_asc" => "遞增",
"remove" => "刪除", "rename" => "重新命名",
"info" => "屬性", "add_to_fav" => "新增至書籤",
"list_type" => "查看", "search_in_path" => "資料夾中搜尋",
"list_icon" => "圖示排列", "add_to_play" => "新增至播放清單",
"list_list" => "列表排列", "manage_fav" => "管理書籤",
"sort_up" => "遞增", "refresh_tree" => "重新整理樹目錄",
"sort_down" => "遞減", "manage_folder" => "管理目錄",
"order_type" => "排序方式", "close_menu" => "關閉選單",
"order_desc" => "降序", "zip" => "zip壓縮",
"order_asc" => "昇冪", "unzip" => "zip解壓至目前",
"rename" => "重命名", "clipboard" => "檢視剪貼簿",
"add_to_fav" => "添加到收藏夾", "full_screen" => "全螢幕/離開全螢幕",
"search_in_path" => "檔夾中搜索", "tips" => "提示",
"add_to_play" => "添加到播放列表", "ziping" => "正在壓縮...",
"manage_fav" => "管理收藏夾", "unziping" => "正在解壓...",
"refresh_tree" => "刷新樹目錄", "moving" => "移動中...",
"manage_folder" => "管理目錄", "remove_title" => "刪除確認",
"close_menu" => "關閉菜單", "remove_info" => "確認刪除選中內容嗎?",
"zip" => "zip壓縮", "name_isexists" => "出錯了,此名稱已存在!",
"unzip" => "zip解壓到當前",
"clipboard" => "查看剪貼板", "install" => '安裝',
"full_screen" => "全屏/退出全屏", "width" => '寬',
"height" => '高',
"tips" => "提示", "app" => '應用',
"ziping" => "正在壓縮...", "app_store" => '應用商店',
"unziping" => "正在解壓...", "app_create" => '建立應用',
"moving" => "移動操作中...", "app_edit" => '修改應用',
"remove_title" => "刪除確認", "app_group_all" => '全部',
"remove_info" => "確認刪除選中內容嗎?", "app_group_game" => '遊戲',
"name_isexists" => "出錯了,該名稱已存在!", "app_group_tools" => '工具',
"app_group_reader" => '閱讀',
"install" => '安裝', "app_group_movie" => '影片',
"width" => '寬', "app_group_music" => '音樂',
"height" => '高', "app_group_life" => '生活',
"app" => '應用', "app_group_others" => '其他',
"app_store" => '應用商店', "app_desc" => '描述',
"app_create" => '創建應用', "app_icon" => '應用程式圖示',
"app_edit" => '修改應用', "app_icon_show" => 'URL網址或此目錄',
"app_group_all" => '全部', "app_group" => '應用程式分組',
"app_group_game" => '遊戲', "app_type" => '類型',
"app_group_tools" => '工具', "app_type_url" => '連結',
"app_group_reader" => '閱讀', "app_type_code" => 'JS擴充',
"app_group_movie" => '影視', "app_display" => '顯示',
"app_group_music" => '音樂', "app_display_border" => '無邊框(選中即無邊框)',
"app_group_life" => '生活', "app_display_size" => '調整大小(選中即可調整)',
"app_group_others" => '其他', "app_size" => '大小',
"app_url" => '連結網址',
"app_desc" => '描述', "app_code" => 'JS代碼',
"app_icon" => '應用圖示', //檔案管理
"app_icon_show" => 'url地址或該目錄', "edit" => "編輯",
"app_group" => '應用分組', "edit_can_not" => "不是文字檔案",
"app_type" => '類型', "edit_too_big" => "檔案太大,不能大於20M",
"app_type_url" => '鏈接', "open_default" => "預設方式開啟",
"app_type_code" => 'js擴展', "open_ie" => "瀏覽器開啟",
"app_display" => '外觀', "refresh" => "重新整理",
"app_display_border" => '無邊框(選中即無邊框)', "refresh_all" => "強制重新整理",
"app_display_size" => '調整大小(選中即可調整)', "newfile" => "新增檔案",
"app_size" => '尺寸', "newfolder" => "新增資料夾",
"app_url" => '鏈接地址', "newothers" => "新增其他",
"app_code" => 'js 代碼', "path_loading" => "載入中...",
"go" => "移至",
//檔管理 "go_up" => "上層",
"edit" => "編輯", "history_next" => "下一頁",
"edit_can_not" => "不是文本檔", "history_back" => "上一頁",
"edit_too_big" => "文件太大,不能大於20M", "address_in_edit" => "按一下進入編輯狀態",
"open_default" => "默認方式打開", "double_click_rename" => "按兩下名稱重新命名",
"open_ie" => "流覽器打開", "double_click_open" => "按兩下開啟",
"refresh" => "刷新", "path_null" => "此資料夾為空,可以拖曳檔案至此視窗上傳。",
"refresh_all" => "強制刷新", //上傳下載
"newfile" => "新建檔", "upload" => "上傳",
"newfolder" => "新建檔夾", "upload_ready" => "等待上傳...",
"newothers" => "新建其他", "uploading" => "上傳中...",
"path_loading" => "載入中...", "upload_success" => "上傳成功",
"go" => "走著!", "upload_path_current" => "切換至目前目錄",
"go_up" => "上層", "upload_select" => "選擇檔案",
"history_next" => "前進", "upload_max_size" => "最大允許",
"history_back" => "後退", "upload_size_info" => "如果想設定更大請修改php.ini中允許上傳的最大值。選擇檔案時,大於此設定的將自動篩選掉。",
"address_in_edit" => "點擊進入編輯狀態", "upload_error" => "上傳失敗",
"double_click_rename" => "雙擊名稱重命名", "upload_muti" => "多檔上傳",
"double_click_open" => "雙擊打開", "upload_drag" => "拖曳上傳",
"path_null" => "該檔夾為空,可以拖拽檔到該窗口上傳。", "upload_drag_tips" => "鬆開即可上傳!",
"path_not_allow" => "檔案名稱不允許出現",
//上傳下載 "download" => "下載",
"upload" => "上傳", "download_address" => "下載網址",
"upload_ready" => "等待上傳...", "download_ready" => "即將下載",
"uploading" => "上傳中...", "download_success" => "下載成功!",
"upload_success" => "上傳成功", "download_error" => "下載失敗!",
"upload_path_current" => "切換到當前目錄", "download_error_create" => "寫入出錯!",
"upload_select" => "選擇檔", "download_error_exists" => "遠端檔案不存在!",
"upload_max_size" => "最大允許", "upload_error_null" => "無檔案!",
"upload_size_info" => "如果想配置更大請修改php.ini中允許上傳的最大值。選擇檔時,大於該配置的將自動過濾掉。", "upload_error_big" => "檔案大小超過伺服器限制",
"upload_error" => "上傳失敗", "upload_error_move" => "移動檔案失敗!",
"upload_muti" => "多檔上傳", "upload_error_exists" => "此檔案已存在",
"upload_drag" => "拖拽上傳", "upload_local" => "本機上傳",
"upload_drag_tips" => "鬆開即可上傳!", "download_from_server" => "遠端下載",
"path_not_allow" => "檔案名不允許出現", "save_path" => "儲存路徑",
"download" => "下載", "upload_select_muti" => "可選擇多個檔案上傳",
"download_address" => "下載地址", //搜尋
"download_ready" => "即將下載", "search" => "搜尋",
"download_success" => "下載成功!", "searching" => "搜尋中...",
"download_error" => "下載失敗!", "search_null" => "無搜尋結果!",
"download_error_create" => "寫入出錯!", "search_uplow" => "區分大小寫",
"download_error_exists" => "遠程檔不存!", "search_content" => "搜尋檔案內容",
"upload_error_null" => "沒有檔!", "search_info" => "請輸入搜尋詞和路徑進行搜尋!",
"upload_error_big" => "檔大小超過伺服器限制", "search_ext_tips" => "用|隔開;例如 php|js|css<br/>不填則搜尋預設文字檔案",
"upload_error_move" => "移動檔失敗!", "file_type" => "檔類型",
"upload_error_exists" => "該檔已存在", "goto" => "跳轉至",
"upload_local" => "本地上傳", "contain" => "包含",
"download_from_server" => "遠程下載", "server_dwonload_desc" => "個任務加入至下載清單",
"save_path" => "保存路徑", "parent_permission" => "父目錄權限",
"upload_select_muti" => "可選擇多個檔上傳", "root_path" => "根目錄",
"lib" => "",
//搜索 "fav" => "書籤",
"search" => "搜索", "desktop" => "桌面",
"searching" => "搜索中...", "browser" => "瀏覽器",
"search_null" => "沒有搜索結果!", "my_computer" => "我的電腦",
"search_uplow" => "區分大小寫", "recycle" => "垃圾筒",
"search_content" => "搜索檔內容", "my_document" => "我的文件",
"search_info" => "請輸入搜索詞和路徑進行搜索!", "my_picture" => "我的照片",
"search_ext_tips" => "用|隔開;例如 php|js|css<br/>不填則搜索默認文本檔", "my_music" => "我的音樂",
"file_type" => "檔類型", "my_movie" => "我的影片",
"goto" => "跳轉到", "my_download" => "我的下載",
"contain" => "包含", //介面
"server_dwonload_desc" => "個任務加入到下載列表", "ui_desktop" => "桌面",
"parent_permission" => "父目錄許可權", "ui_explorer" => "檔案管理",
"ui_editor" => "編輯器",
"root_path" => "我的文件", "adminer" => "adminer",
"lib" => "", "ui_project_home" => "專案主頁",
"fav" => "收藏夾", "ui_login" => "登入",
"desktop" => "桌面", "ui_logout" => "登出",
"browser" => "流覽器", //設定
"my_computer" => "我的電腦", "setting" => "系統設定",
"recycle" => "回收站", "setting_title" => "選項",
"my_document" => "我的文檔", "setting_user" => "個人中心",
"my_picture" => "我的照片", "setting_password" => "修改密碼",
"my_music" => "我的音樂", "setting_password_old" => "原密碼",
"my_movie" => "我的視頻", "setting_password_new" => "修改為",
"my_download" => "我的下載", "setting_language" => "語言設定",
"setting_member" => "使用者管理",
//介面 "setting_group" => "使用者群組管理",
"ui_desktop" => "桌面", "setting_group_add" => "新增使用者群組",
"ui_explorer" => "檔管理", "setting_group_edit" => "編輯使用者群組",
"ui_editor" => "編輯器", "setting_theme" => "主題切換",
"adminer" => "adminer", "setting_wall" => "變換桌布",
"ui_project_home" => "專案主頁", "setting_wall_diy" => "自訂桌布:",
"ui_login" => "登六", "setting_wall_info" => "圖片URL網址本機圖片可以右鍵圖片瀏覽器開啟即可得到",
"ui_logout" => "退出", "setting_fav" => "書籤管理",
"setting_player" => "播放器",
//設置 "setting_player_music" => "音樂播放器設定",
"setting" => "系統設置", "setting_player_movie" => "影片播放器設定",
"setting_title" => "選項", "setting_help" => "說明",
"setting_user" => "個人中心", "setting_about" => "關於",
"setting_password" => "修改密碼", "setting_success" => "修改已生效!",
"setting_password_old" => "原密碼", "can_not_repeat" => "不允許重複",
"setting_password_new" => "修改為", "absolute_path" => "絕對位址",
"setting_language" => "語言設置", // setting page
"setting_member" => "用護管理", "group" => "使用者群組",
"setting_group" => "用護組管理", "data_not_full" => "資料送出不完整!",
"setting_group_add" => "添加用護組", "default_user_can_not_do" => "預設使用者不能操作",
"setting_group_edit" => "編輯用護組", "default_group_can_not_do" => "預設使用者群組不能操作",
"setting_theme" => "主題切換", "username_can_not_null" => "使用者名稱不能為空!",
"setting_wall" => "更換壁紙", "groupname_can_not_null" => "使用者群組名稱不能為空!",
"setting_wall_diy" => "自定義壁紙:", "groupdesc_can_not_null" => "使用者群組描述不能為空!",
"setting_wall_info" => "圖片url地址本地圖片可以右鍵圖片流覽器打開即可得到", "group_move_user_error" => "所屬使用者群組使用者移動失敗",
"setting_fav" => "收藏夾管理", "group_already_remove" => "此使用者群組已被刪除",
"setting_player" => "播放器", "group_not_exists" => "此使用者群組不存在",
"setting_player_music" => "音樂播放器設置", "member_add" => "新增使用者",
"setting_player_movie" => "視頻播放器設置", "password_null_not_update" => "密碼不填表示不變更",
"setting_help" => "使用幫助", "if_save_file" => "檔案尚未儲存,是否儲存?",
"setting_about" => "關於作品", "if_remove" => "確認刪除",
"setting_success" => "修改已生效!", "member_remove_tips" => "刪除後此使用者目錄會被清除",
"can_not_repeat" => "不允許重複", "group_remove_tips" => "刪除後此使用者群組使用者無法登入<br/>(需要重新設定使用者群組)",
"absolute_path" => "絕對地址", "group_name" => "使用者群組名稱",
"group_name_tips" => "建議英文名稱,不能重複",
// setting page "group_desc" => "展示名稱",
"group" => "用護組", "group_desc_tips" => "群組名稱描述",
"data_not_full" => "數據提交不完整!", "group_role_ext" => "副檔名限制",
"default_user_can_not_do" => "默認用護不能操作", "group_role_ext_tips" => "多個用|分隔開",
"default_group_can_not_do" => "默認用護組不能操作", "group_role_file" => "檔案管理",
"username_can_not_null" => "用護名不能為空!", "group_role_upload" => "上傳下載",
"groupname_can_not_null" => "用護組名不能為空!", "group_role_user" => "使用者資料",
"groupdesc_can_not_null" => "用護組描述不能為空!", "group_role_group" => "使用者群組管理",
"group_move_user_error" => "所屬用護組用護移動失敗", "group_role_member" => "使用者管理",
"group_already_remove" => "該用護組已被刪除", "group_role_mkfile" => "新增檔案",
"group_not_exists" => "該用護組不存在", "group_role_mkdir" => "新增資料夾",
"member_add" => "添加用護", "group_role_pathrname" => "重新命名",
"password_null_not_update" => "密碼不填表示不更改", "group_role_pathdelete" => "檔(夾)刪除",
"if_save_file" => "檔尚未保存,是否保存?", "group_role_pathinfo" => "檔(夾)內容",
"if_remove" => "確認刪除", "group_role_pathmove" => "移動(複製/剪下/貼上/拖曳操作)",
"member_remove_tips" => "刪除後該用護目錄會被清空", "group_role_zip" => "zip壓縮",
"group_remove_tips" => "刪除後該用護組用護無法登六<br/>(需要重新設置用護組)", "group_role_unzip" => "zip解壓",
"group_name" => "用護組名", "group_role_search" => "搜尋",
"group_name_tips" => "建議英文名,不能重複", "group_role_filesave" => "編輯儲存檔案",
"group_desc" => "展示名稱", "group_role_can_upload" => "上傳下載",
"group_desc_tips" => "組名描述", "group_role_upload" => "允許上傳",
"group_role_ext" => "擴展名限制", "group_role_download" => "遠端下載",
"group_role_ext_tips" => "多個用|分隔開", "group_role_passowrd" => "修改密碼",
"group_role_file" => "檔管理", "group_role_config" => "使用者設定",
"group_role_upload" => "上傳下載", "group_role_fav" => "書籤操作(新增/編輯/刪除)",
"group_role_user" => "用護數據", "group_role_list" => "清單檢視",
"group_role_group" => "用護組管理", "group_role_member_add" => "新增使用者",
"group_role_member" => "用護管理", "group_role_member_edit" => "編輯使用者",
"group_role_mkfile" => "新建檔", "group_role_member_del" => "刪除使用者",
"group_role_mkdir" => "新建檔夾", "group_role_group_add" => "新增使用者群組",
"group_role_pathrname" => "重命名", "group_role_group_edit" => "編輯使用者群組",
"group_role_pathdelete" => "檔(夾)刪除", "group_role_group_del" => "刪除使用者群組",
"group_role_pathinfo" => "檔(夾)屬性", "group_role_ext_warning" => "不允許此類檔案的上傳,<br/>重新命名(重新命名為指定副檔名),<br/>編輯儲存,遠端下載,解壓",
"group_role_pathmove" => "移動(複製/剪切/粘貼/拖拽操作)", "group_tips"=>"<li>1.使用者群組名稱不能重複,修改群組名稱後原屬於改群組使用者會自動關聯</li><li>2.副檔名限制關聯系統安全性,請務必謹慎作業<i>(如果在web目錄下新增php;就意味著改程式的權限對此使用者形同虛設)</i></li><li>3.使用者管理、權限群組管理;檢視權限和增刪改權限是連結的;程式會自動關聯</li><li>4.設定權限群組能新增權限群組後,後續權限是不繼承的<i>(此權限相當於最高權限)</i></li>",
"group_role_zip" => "zip壓縮", //explorer_ajax
"group_role_unzip" => "zip解壓", "not_null" => "必填項不能為空!",
"group_role_search" => "搜索", "picture_can_not_null" => "圖片網址不能為空!",
"group_role_filesave" => "編輯保存檔", "rname_success" => "重新命名成功!",
"group_role_can_upload" => "上傳下載", "please_inpute_search_words" => "請輸入要搜尋的字串",
"group_role_upload" => "允許上傳", "remove_success" => "刪除成功!",
"group_role_download" => "遠程下載", "remove_fali" => "刪除失敗!",
"group_role_passowrd" => "修改密碼", "clipboard_null" => "剪貼簿為空!",
"group_role_config" => "用護配置", "create_success" => "新增成功!",
"group_role_fav" => "收藏夾操作(添加/編輯/刪除)", "create_error" => "新增失敗,請檢查目錄權限!",
"group_role_list" => "列表查看", "copy_success" => "【複製】—— 覆蓋剪貼簿成功!",
"group_role_member_add" => "添加用護", "cute_success" => "【剪下】—— 覆蓋剪貼簿成功!",
"group_role_member_edit" => "編輯用護", "clipboard_state" => "剪貼簿狀態:",
"group_role_member_del" => "刪除用護", "no_permission_write" => "此目錄無寫權限",
"group_role_group_add" => "添加用護組", "no_permission_write_all" => "此檔案或目錄無寫入權限",
"group_role_group_edit" => "編輯用護組", "no_permission_write_file" => "此檔案無寫權限",
"group_role_group_del" => "刪除用護組", "copy_not_exists" => "來源不存在",
"group_role_ext_warning" => "不允許此類檔的上傳,<br/>重命名(重命名為指定擴展名),<br/>編輯保存,遠程下載,解壓", "current_has_parent" => "目標資料夾是原始資料夾的子資料夾!",
"group_tips"=>"<li>1.用護組名不能重複,修改組名後原屬於改組用護會自動關聯</li><li>2.擴展名限制關系系統安全性,請務必謹慎操作<i>(果在web目錄下新建php;就意味著改程式的許可權對此用護形同虛設)</i></li><li>3.護管理、許可權組管理;查看許可權和增刪改許可權是邦定的;程式會自動關聯</li><li>4.設定許可權組能添加許可權組後,後續許可權是不繼承的<i>(此許可權相當於最高許可權)</i></li>", "past_success" => "<b>貼上操作完成</b>",
"cute_past_success" => "<b>剪下作業完成</b>(原始檔案被刪除,剪貼簿清除)",
//explorer_ajax "zip_success" => "壓縮完成",
"not_null" => "必填項不能為空!", "not_zip" => "不是壓縮檔",
"picture_can_not_null" => "圖片地址不能為空!", "zip_null" => "無選擇的檔案或目錄",
"rname_success" => "重命名成功!", "unzip_success" => "解壓完成",
"please_inpute_search_words" => "請輸入要搜索的字串", "gotoline" => "跳轉至列",
"remove_success" => "刪除成功!", "path_is_current" => "所開啟路徑與目前路徑一致!",
"remove_fali" => "刪除失敗!", "path_exists" => "此名稱已存在!",
"clipboard_null" => "剪貼板為空!", //編輯器
"create_success" => "新建成功!", "undo" => "復原",
"create_error" => "新建失敗,請檢查目錄許可權!", "redo" => "反復原",
"copy_success" => "【複製】—— 覆蓋剪貼板成功!", "preview" => "預覽",
"cute_success" => "【剪切】—— 覆蓋剪貼板成功!", "wordwrap" => "自動換行/不自動換行",
"clipboard_state" => "剪切板狀態:", "char_all_display" => "顯示&隱藏不可見字元",
"no_permission_write" => "該目錄沒有寫權限", "auto_complete" => "自動提示(取消)",
"no_permission_write_all" => "该文件或目录没有写权限", "function_list" => "函數清單",
"no_permission_write_file" => "该文件沒有寫權限", "code_theme" => "代碼風格",
"copy_not_exists" => "來源不存在", "font_size" => "字型",
"current_has_parent" => "目標檔夾是原始檔案夾的子檔夾!", //button
"past_success" => "<b>粘貼操作完成</b>", "button_ok" => "確定",
"cute_past_success" => "<b>剪切操作完成</b>(原始檔案被刪除,剪貼板清空)", "button_submit" => "送出",
"zip_success" => "壓縮完成", "button_set" => "設定",
"not_zip" => "不是壓縮檔", "button_cancel" => "取消",
"zip_null" => "沒有選擇的檔或目錄", "button_edit" => "編輯",
"unzip_success" => "解壓完成", "button_save" => "儲存",
"gotoline" => "跳轉到行", "button_save_all" => "儲存全部",
"path_is_current" => "所打開路徑和當前路徑壹洋!", "button_not_save" => "不儲存",
"path_exists" => "該名稱已存在!", "button_add" => "新增",
"button_back_add" => "返回新增",
//編輯器 "button_del" => "刪除",
"undo" => "撤銷", "button_save_edit" => "儲存修改",
"redo" => "反撤銷", "button_save_submit" => "儲存送出",
"preview" => "預覽", "button_select_all" => "全選/反選"
"wordwrap" => "自動換行/不自動換行",
"char_all_display" => "顯示&隱藏不可見字元",
"auto_complete" => "自動提示(取消)",
"function_list" => "函數列表",
"code_theme" => "代碼風格",
"font_size" => "字體",
//button
"button_ok" => "確定",
"button_submit" => "提交",
"button_set" => "設置",
"button_cancel" => "取消",
"button_edit" => "編輯",
"button_save" => "保存",
"button_save_all" => "保存全部",
"button_not_save" => "不保存",
"button_add" => "添加",
"button_back_add" => "返回添加",
"button_del" => "刪除",
"button_save_edit" => "保存修改",
"button_save_submit" => "保存提交",
"button_select_all" => "全選/反選"
); );

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -1,10 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

View File

@ -145,7 +145,6 @@ function spend_time(&$pretime){
} }
function check_code($code){ function check_code($code){
header("Content-type: image/png");
$fontsize = 18;$len = strlen($code); $fontsize = 18;$len = strlen($code);
$width = 70;$height=27; $width = 70;$height=27;
$im = @imagecreatetruecolor($width, $height) or die("create image error!"); $im = @imagecreatetruecolor($width, $height) or die("create image error!");
@ -162,11 +161,20 @@ function check_code($code){
imagerectangle($im, 0, 0, $width-1, $height-1, $border_color);//画矩形边框颜色200,200,200 imagerectangle($im, 0, 0, $width-1, $height-1, $border_color);//画矩形边框颜色200,200,200
for ($i = 0; $i < $len; $i++) {//写入随机字串 for ($i = 0; $i < $len; $i++) {//写入随机字串
$current = $str[mt_rand(0, strlen($str)-1)]; $current = $code[mt_rand(0, strlen($code)-1)];
$text_color = imagecolorallocate($im,mt_rand(30, 140),mt_rand(30,140),mt_rand(30,140)); $text_color = imagecolorallocate($im,mt_rand(30, 140),mt_rand(30,140),mt_rand(30,140));
imagechar($im,10,$i*$fontsize+6,rand(1,$height/3),$code[$i],$text_color); imagechar($im,10,$i*$fontsize+6,rand(1,$height/3),$code[$i],$text_color);
} }
imagejpeg($im);//显示图 if(function_exists("imagejpeg")){
header("Content-Type: image/jpeg");
imagejpeg($im, null,90);//图片质量
}else if(function_exists("imagegif")){
header("Content-Type: image/gif");
imagegif($im);
}else if(function_exists("imagepng")){
header("Content-Type: image/x-png");
imagepng($im);
}
imagedestroy($im);//销毁图片 imagedestroy($im);//销毁图片
} }

View File

@ -127,21 +127,13 @@ function get_path_ext($path){
return $ext; return $ext;
} }
//自动获取不重复文件(夹)名 //自动获取不重复文件(夹)名
//如果传入$file_add 则检测存在则自定重命名 a.txt 为a{$file_add}.txt //如果传入$file_add 则检测存在则自定重命名 a.txt 为a{$file_add}.txt
function get_filename_auto($path,$file_add = "",$same_file_type=''){ //$same_file_type rename,replace,skip,folder_rename
if (is_dir($path)) {//文件夹则忽略 function get_filename_auto($path,$file_add = "",$same_file_type='replace'){
if (is_dir($path) && $same_file_type!='folder_rename') {//文件夹则忽略
return $path; return $path;
} }
//重名处理方式;replace,skip,filename_auto
if ($same_file_type == '') {
$same_file_type = 'replace';
}
//重名处理 //重名处理
if (file_exists($path)) { if (file_exists($path)) {
if ($same_file_type=='replace') { if ($same_file_type=='replace') {
@ -172,14 +164,28 @@ function get_filename_auto($path,$file_add = "",$same_file_type=''){
} }
/** /**
* 判断文件夹是否可写 * 文件或目录是否可写 is_writeable();
* 兼容性处理挂载目录755 bug
*/ */
function path_writable($path) { function path_writable($path){
$file = $path.'/test'.time().'.txt'; if (is_dir($path)) {
$dir = $path.'/test'.time(); $file = $path.'/writeable_test_'.time().'.txt';
if(@is_writable($path) && @touch($file) && @unlink($file)) return true; @touch($file);
if(@mkdir($dir,0777) && @rmdir($dir)) return true; if(file_exists($file)){
return false; @unlink($file);
return true;
}
return false;
}else if(file_exists($path)){
$fp = @fopen($path,'a+');
if($fp){
fclose($fp);
return true;
}
fclose($fp);
return false;
}
return false;//不存在
} }
/** /**
@ -589,19 +595,15 @@ function ext_type($ext){
* 默认以附件方式下载;$download为false时则为输出文件 * 默认以附件方式下载;$download为false时则为输出文件
*/ */
function file_put_out($file,$download=false){ function file_put_out($file,$download=false){
if (!is_file($file)) show_json('not a file!'); if (!is_file($file)) show_json('not a file!');
set_time_limit(0);
//ob_clean();//清除之前所有输出缓冲
if (!file_exists($file)) show_json('file not exists',false); if (!file_exists($file)) show_json('file not exists',false);
if (isset($_SERVER['HTTP_RANGE']) && ($_SERVER['HTTP_RANGE'] != "") && if (!is_readable($file)) show_json('file not readable',false);
preg_match("/^bytes=([0-9]+)-$/i", $_SERVER['HTTP_RANGE'], $match) && ($match[1] < $fsize)) {
$start = $match[1]; set_time_limit(0);
}else{ ob_clean();//清除之前所有输出缓冲 TODO
$start = 0;
}
$size = get_filesize($file);
$mime = get_file_mime(get_path_ext($file)); $mime = get_file_mime(get_path_ext($file));
if ($download || strstr($mime,'application/')) {//下载或者application则设置下载头 if ($download ||
(strstr($mime,'application/') && $mime!='application/x-shockwave-flash') ) {//下载或者application则设置下载头
$filename = get_path_this($file);//解决在IE中下载时中文乱码问题 $filename = get_path_this($file);//解决在IE中下载时中文乱码问题
if( preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT']) || if( preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT']) ||
preg_match('/Trident/',$_SERVER['HTTP_USER_AGENT'])){ preg_match('/Trident/',$_SERVER['HTTP_USER_AGENT'])){
@ -611,27 +613,79 @@ function file_put_out($file,$download=false){
} }
header("Content-Type: application/octet-stream"); header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment;filename=".$filename); header("Content-Disposition: attachment;filename=".$filename);
}else{
//缓存文件
header('Expires: '.date('D, d M Y H:i:s',time()+3600*24*20).' GMT');
header("Cache-Pragma: public");
header("Cache-Control: cache, must-revalidate");
if (isset($_SERVER['If-Modified-Since']) && (strtotime($_SERVER['If-Modified-Since']) == filemtime($file))) {
header('HTTP/1.1 304 Not Modified');
header('Last-Modified: '.date('D, d M Y H:i:s', filemtime($file)).' GMT');//304
exit;
} else {
header('Last-Modified: '.date('D, d M Y H:i:s', filemtime($file)).' GMT', true, 200);
}
$etag = '"'.md5(date('D, d M Y H:i:s',filemtime($file))).'"';
if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && $_SERVER['HTTP_IF_NONE_MATCH'] == $etag){
header('HTTP/1.1 304 Not Modified');
header('Etag: '.$etag);
exit;
}else{
header('Etag: '.$etag);
}
} }
header("Cache-Control: public");
header("X-Powered-By: kodExplorer."); header("X-Powered-By: kodExplorer.");
header("Content-Type: ".$mime); header("Content-Type: ".$mime);
if ($start > 0){ header("Accept-Ranges: bytes");
header("HTTP/1.1 206 Partial Content"); $size = get_filesize($file);
header("Content-Ranges: bytes".$start ."-".($size - 1)."/" .$size); $length = $size; // Content length
header("Content-Length: ".($size - $start)); $start = 0; // Start byte
}else{ $end = $size - 1; // End byte
header("Accept-Ranges: bytes"); if (isset($_SERVER['HTTP_RANGE']) || isset($_GET['start'])) {//分段请求;视频拖拽
header("Content-Length: $size"); $c_start = $start;
} $c_end = $end;
if(isset($_GET['start'])){
$c_start = intval($_GET['start']);
}else{//range
list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2);
if (strpos($range, ',') !== false) {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
if ($range == '-') {
$c_start = $size - substr($range, 1);
}else{
$range = explode('-', $range);
$c_start = $range[0];
$c_end = (isset($range[1]) && is_numeric($range[1])) ? $range[1] : $size;
}
$c_end = ($c_end > $end) ? $end : $c_end;
if ($c_start > $c_end || $c_start > $size - 1 || $c_end >= $size) {
header('HTTP/1.1 416 Requested Range Not Satisfiable');
header("Content-Range: bytes $start-$end/$size");
exit;
}
}
$start = $c_start;
$end = $c_end;
$length = $end - $start + 1;
header('HTTP/1.1 206 Partial Content');
}
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: ".$length);
$fp = fopen($file, "rb"); //header("X-Sendfile: $file");exit;
if(!$fp = @fopen($file, "rb")){
exit;
}
fseek($fp, $start); fseek($fp, $start);
while (!feof($fp)) { while (!feof($fp)) {
print (fread($fp, 1024 * 8)); //输出文件 set_time_limit(0);
print(fread($fp,1024*4)); //输出文件
flush(); flush();
ob_flush(); ob_flush();
} }
fclose($fp); fclose($fp);
} }
@ -642,12 +696,10 @@ function file_put_out($file,$download=false){
*/ */
function file_download_this($from, $file_name){ function file_download_this($from, $file_name){
set_time_limit(0); set_time_limit(0);
$fp = @fopen ($from, "rb"); if ($fp = @fopen ($from, "rb")){
if ($fp){ if(!$download_fp = @fopen($file_name, "wb")){
$new_fp = @fopen ($file_name, "wb"); return false;
fclose($new_fp); }
$download_fp = @fopen ($file_name, "wb");
while(!feof($fp)){ while(!feof($fp)){
if(!file_exists($file_name)){//删除目标文件;则终止下载 if(!file_exists($file_name)){//删除目标文件;则终止下载
fclose($download_fp); fclose($download_fp);
@ -656,7 +708,8 @@ function file_download_this($from, $file_name){
fwrite($download_fp, fread($fp, 1024 * 8 ), 1024 * 8); fwrite($download_fp, fread($fp, 1024 * 8 ), 1024 * 8);
} }
//下载完成,重命名临时文件到目标文件 //下载完成,重命名临时文件到目标文件
fclose($download_fp); fclose($download_fp);
fclose($fp);
return true; return true;
}else{ }else{
return false; return false;

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -30,7 +30,7 @@
<div><span><?php echo $L['username'];?></span><input id="username" name='name' type="text" placeholder="<?php echo $L['username'];?>" required/> </div> <div><span><?php echo $L['username'];?></span><input id="username" name='name' type="text" placeholder="<?php echo $L['username'];?>" required/> </div>
<div><span><?php echo $L['password'];?></span><input id="password" name='password' type="password" placeholder="<?php echo $L['password'];?>" required /></div> <div><span><?php echo $L['password'];?></span><input id="password" name='password' type="password" placeholder="<?php echo $L['password'];?>" required /></div>
<?php if(isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?> <?php if(need_check_code() && isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?>
<div class='check_code'> <div class='check_code'>
<span><?php echo $L['login_code'];?></span> <span><?php echo $L['login_code'];?></span>
<input name='check_code' class="check_code" type="text" placeholder="<?php echo $L['login_code'];?>" required /> <img src='./index.php?user/checkCode' onclick="this.src='./index.php?user/checkCode'" /> <input name='check_code' class="check_code" type="text" placeholder="<?php echo $L['login_code'];?>" required /> <img src='./index.php?user/checkCode' onclick="this.src='./index.php?user/checkCode'" />

View File

@ -22,7 +22,7 @@
<div><span><?php echo $L['username'];?></span><input id="username" name='name' type="text" placeholder="<?php echo $L['username'];?>" required/> </div> <div><span><?php echo $L['username'];?></span><input id="username" name='name' type="text" placeholder="<?php echo $L['username'];?>" required/> </div>
<div><span><?php echo $L['password'];?></span><input id="password" name='password' type="password" placeholder="<?php echo $L['password'];?>" required /></div> <div><span><?php echo $L['password'];?></span><input id="password" name='password' type="password" placeholder="<?php echo $L['password'];?>" required /></div>
<?php if(isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?> <?php if(need_check_code() && isset($_SESSION['code_error_time']) && intval($_SESSION['code_error_time']) >=3){?>
<div class='check_code'> <div class='check_code'>
<span><?php echo $L['login_code'];?></span> <span><?php echo $L['login_code'];?></span>
<input name='check_code' class="check_code" type="text" placeholder="<?php echo $L['login_code'];?>" required /> <img src='./index.php?user/checkCode' onclick="this.src='./index.php?user/checkCode'" /> <input name='check_code' class="check_code" type="text" placeholder="<?php echo $L['login_code'];?>" required /> <img src='./index.php?user/checkCode' onclick="this.src='./index.php?user/checkCode'" />