676 lines
33 KiB
PHP
676 lines
33 KiB
PHP
![]() |
<?php
|
|||
|
/*
|
|||
|
* @link http://kodcloud.com/
|
|||
|
* @author warlee | e-mail:kodcloud@qq.com
|
|||
|
* @copyright warlee 2014.(Shanghai)Co.,Ltd
|
|||
|
* @license http://kodcloud.com/tools/license/license.txt
|
|||
|
*/
|
|||
|
|
|||
|
// header('Access-Control-Allow-Origin: *'); // 允许的域名来源;
|
|||
|
// header('Access-Control-Allow-Methods: *'); // 允许请求的类型
|
|||
|
// header('Access-Control-Max-Age: 1800L'); // 缓存时间
|
|||
|
// header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
|
|||
|
// header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin, Authorization');
|
|||
|
// header("X-Frame-Options: ALLOWALL");
|
|||
|
|
|||
|
//配置数据,可在setting_user.php中添加变量覆盖,升级后不会被替换
|
|||
|
$config['settings'] = array(
|
|||
|
'downloadUrlTime' => 0, //下载地址生效时间,按秒计算,0代表不限制
|
|||
|
'apiLoginToken' => '', //设定则认为开启服务端api通信登录,同时作为加密密匙
|
|||
|
'paramRewrite' => false, //开启url 去除? 直接跟参数
|
|||
|
'ioAvailed' => 'local,ftp,oss,qiniu,cos,s3,oos,uss,minio,eos,eds,obs,jos', //显示的io类型,多个以','分隔
|
|||
|
'ioFileOutServer' => false,
|
|||
|
'ioUploadServer' => false,
|
|||
|
|
|||
|
'upload' => array(
|
|||
|
'chunkSize' => 0.5, // MB 分片上传大小设定;需要小于php.ini上传限制的大小
|
|||
|
'threads' => 10, // 上传并发数;部分低配服务器上传失败则将此设置为1
|
|||
|
'ignoreName' => '', // 忽略的文件名,不区分大小写; 逗号隔开,例如: .DS_Store,Thumb.db
|
|||
|
'chunkRetry' => 2, // 分片上传失败,重传次数;针对每个分片;
|
|||
|
'sendAsBinary' => 1, // 以二进制方式上传;后端服务器以流php://input接收; 0则为传统方式上传 $_FILE;
|
|||
|
'httpSendFile' => false, // 调用webserver下载 https://doc.kodcloud.com/v2/#/help/options
|
|||
|
|
|||
|
'ignoreExt' => '', // 限制的扩展名; 扩展名在该说明中则自动不上传;逗号隔开
|
|||
|
'allowExt' => '', // 只允许扩展名列表; 设置值时不在设置中的文件自动不上传; 逗号隔开
|
|||
|
'downloadSpeed' => 0, // 下载限速;MB/s*1024*1024; 0代表不限制
|
|||
|
'ignoreFileSize' => 0, // 允许单个文件上传最大值,0则不限制; 单位GB(float)
|
|||
|
|
|||
|
// 图片上传压缩参数compress,默认配置不压缩,上传原图;
|
|||
|
// 可以配置参考: http://fex.baidu.com/webuploader/doc/index.html#WebUploader_Uploader_options
|
|||
|
),
|
|||
|
'fileEditLockTimeout' => 1200, // 文件编辑锁默认锁定最长时间;默认20分钟;超过了则自动解锁;
|
|||
|
'fileHistoryMax' => 500, // 文件历史版本默认个数,免费版3个; 大于500则认为不限制
|
|||
|
'fileHistoryLocal' => 1, // 本地文件是否开启历史版本;
|
|||
|
'uploadFileNumberMax' => 0, // 单次批量上传文件个数上限, 0不限制
|
|||
|
'storeFileNumberMax' => 0, // 外链分享转存文件个数上限, 0不限制
|
|||
|
'shareLinkSizeMax' => 0, // 分享文件/文件夹最大大小限制; 0不限制; 单位GB(float)
|
|||
|
'unzipFileSizeMax' => 0, // 文件解压压缩包大小限制; 0-不限制; 单位GB(float)
|
|||
|
'zipFileSizeMax' => 0, // 文件(夹)压缩大小限制; 0-不限制; 单位GB(float)
|
|||
|
'groupCompany' => 0, // 二级部门为子公司,独立部门;
|
|||
|
'shareLinkExpireTime' => 0, // 外链分享过期时间,单位天(n天后过期)
|
|||
|
'userLoginLimit' => 5, // 同一账号限制同时登录设备数;0=不限制;guest/admin不限制
|
|||
|
'pathShowUrlParam' => 0, // 地址栏显示文件夹层级参数(默认不显示,仅移动端显示)
|
|||
|
|
|||
|
'staticPath' => APP_HOST."static/", //静态文件目录,可以配置到cdn;
|
|||
|
'kodApiServer' => "https://api.kodcloud.com/?", //QQ微信登录/邮件发送/插件-列表等
|
|||
|
'allowHeaderCookie' => '1', // 允许header自定义传输cookie;
|
|||
|
);
|
|||
|
$config['settings']['searchContent'] = 1; // 搜索:允许文件内容搜索
|
|||
|
$config['settings']['searchMutil'] = 1; // 搜索:开启批量搜索
|
|||
|
$config['settings']['allowSEO'] = 1; // 允许SEO收录外链分享;
|
|||
|
$config['settings']['systemBackup'] = 1; // 系统备份;
|
|||
|
$config['settings']['bigFileForce'] = 0; // 32位时强制允许大文件上传; https://demo.kodcloud.com/#s/735psg0g
|
|||
|
$config['settings']['sysTempPath'] = TEMP_PATH; // 系统临时目录,避免中转时data临时目录慢(如nfs挂载)
|
|||
|
$config['settings']['sysTempFiles'] = TEMP_FILES; // 系统临时文件目录
|
|||
|
$config['settings']['fileViewLog'] = 0; // 操作日志-文件预览
|
|||
|
|
|||
|
$config['pluginHome'] = 'https://kodcloud.com/'; // 插件主页
|
|||
|
$config['APP_HOST_LINK'] = APP_HOST; // 分享链接站点url; 可在setting_user中覆盖;
|
|||
|
$config['PLUGIN_HOST'] = APP_HOST.str_replace(BASIC_PATH,'',PLUGIN_DIR);//插件url目录;
|
|||
|
$config['PLUGIN_HOST_CDN_APP'] = '';//支持配置到cdn的插件; 插件名,逗号隔开;
|
|||
|
$config['PLUGIN_HOST_CDN'] = $config['PLUGIN_HOST'];//在上面的配置插件中才使用此作为插件静态资源url;
|
|||
|
$config['DEFAULT_PERRMISSIONS'] = 0755;
|
|||
|
$config['DEFAULT_PERRMISSIONS_KOD'] = 0700; // 内部文件,nginx才能读写;
|
|||
|
|
|||
|
$config["ADMIN_ALLOW_USER_SAFE"] = 0; // 是否允许系统管理员访问用户私密空间,默认关闭;ADMIN_ALLOW_SOURCE为0时无效;当有离职等情况需管理时可打开
|
|||
|
$config["ADMIN_ALLOW_IO"] = 1; // 物理路径或io路径是否允许操作开关,仅限管理员(禁用后无法直接管理物理路径)
|
|||
|
$config["ADMIN_ALLOW_SOURCE"] = 1; // 其他部门or用户目录操作开关,仅限管理员(是否能直接访问其他用户空间或部门空间)
|
|||
|
$config["ADMIN_ALLOW_ALL_ACTION"] = 1; // 三权分立,限制系统管理员权限;关闭后系统管理员无法设置用户角色及部门权限(需配置[安全保密员及审计员角色])
|
|||
|
$config["ADMIN_AUTH_LIMIT_PLUGINS"] = 'adminer,webConsole';// 限制系统管理员权限时,同时限制插件列表;
|
|||
|
|
|||
|
|
|||
|
// 存储类型名对应列表
|
|||
|
$config['settings']['ioClassList'] = array(
|
|||
|
'local' => 'Local',
|
|||
|
'ftp' => 'FTP',
|
|||
|
'oss' => 'OSS',
|
|||
|
'qiniu' => 'Qiniu',
|
|||
|
'cos' => 'COS',
|
|||
|
's3' => 'S3',
|
|||
|
'oos' => 'OOS',
|
|||
|
'uss' => 'USS',
|
|||
|
'minio' => 'MinIO',
|
|||
|
'eos' => 'EOS',
|
|||
|
'eds' => 'EDS',
|
|||
|
'obs' => 'OBS',
|
|||
|
'jos' => 'JOS',
|
|||
|
// 'bos' => 'BOS', // 未实现
|
|||
|
|
|||
|
'moss' => 'MOSS',
|
|||
|
'nos' => 'NOS',
|
|||
|
'baidu' => 'Baidu',
|
|||
|
'onedrive' => 'OneDrive',
|
|||
|
|
|||
|
'base' => 'Base',
|
|||
|
'bases3' => 'BaseS3',
|
|||
|
'db' => 'DB',
|
|||
|
'dbshareitem' => 'DbShareItem',
|
|||
|
'dbsharelink' => 'DbShareLink',
|
|||
|
'drivershareitem' => 'DriverShareItem',
|
|||
|
'driversharelink' => 'DriverShareLink',
|
|||
|
'stream' => 'Stream',
|
|||
|
'url' => 'Url',
|
|||
|
);
|
|||
|
|
|||
|
// windows upload threads;兼容不支持并发的服务器
|
|||
|
if($config['systemOS'] == 'windows'){
|
|||
|
$config['settings']['upload']['threads'] = 1;
|
|||
|
}
|
|||
|
// windows iis bin上传有限制
|
|||
|
if(strstr($_SERVER['SERVER_SOFTWARE'],'-IIS')){
|
|||
|
$config['settings']['upload']['sendAsBinary'] = 0;
|
|||
|
}
|
|||
|
|
|||
|
// 系统使用配置;
|
|||
|
$config['systemOption'] = array(
|
|||
|
'favNumberMax' => 1000, // 收藏夹添加数量上限
|
|||
|
'tagNumberMax' => 1000, // 标签创建数量上限
|
|||
|
'tagContainMax' => 1000, // 标签中内容最大数
|
|||
|
|
|||
|
'fileNameLengthMax' => 256, // 文件名最大长度
|
|||
|
'fileDescLengthMax' => 5000, // 文件描述最大长度
|
|||
|
'historyDescLengthMax' => 500, // 文件版本说明最大长度
|
|||
|
|
|||
|
// 请求限制;
|
|||
|
'requestPerMinuteMax' => 0, // 每分钟最大请求数;0不限制; 推荐:600,300个则每秒5个,每5秒25个, 25个内小于5s
|
|||
|
'requestAllowPerMinuteMax' => 0, // 允许的接口每分钟最大请求数;0不限制;推荐:3000, 高频次接口(upload/mkdir/list)
|
|||
|
'userTaskAllowMax' => 0, // 每个用户允许的长任务个数;0不限制, 推荐50, 管理员不受限制; 占用独立进程;
|
|||
|
'systemListDriver' => '1', // 存储挂载,是否显示系统磁盘
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
// database/file/redis/memcached
|
|||
|
$config['cache'] = array(
|
|||
|
'sessionType' => 'file', //缓存方式 database/file/redis/memcached
|
|||
|
'sessionTime' => 3600*4, //session失效时间
|
|||
|
'cacheType' => 'file', //缓存方式 database/file/redis/memcached
|
|||
|
'lockTimeout' => 20, //并发锁获取超时时间 20s;
|
|||
|
'cacheTime' => 3600*5, //缓存默认时间;
|
|||
|
|
|||
|
'file' => array('path' => TEMP_PATH.'_cache/'),
|
|||
|
'redis' => array(
|
|||
|
'host' => '127.0.0.1',
|
|||
|
'port' => 6379,
|
|||
|
// 'timeout' => 20, // 连接超时时间
|
|||
|
// 'auth' => '', // 密码
|
|||
|
// 'pconnect' => true, // 是否持久链接;
|
|||
|
// 'server' => array('10.10.10.1:8001','10.10.10.2:8001'), //集群方式连接;有则忽略host/port
|
|||
|
// 'mode' => 'slave', // slave、sentinel(暂不支持)、cluster
|
|||
|
// 'db' => 0, // 选择数据库; 默认0, db0~15
|
|||
|
),
|
|||
|
'memcached' => array(
|
|||
|
'host' => '127.0.0.1',
|
|||
|
'port' => 11211,
|
|||
|
// 'server'=> array('10.10.10.1:8001','10.10.10.2:8001'), // 集群方式连接;有则忽略host/port
|
|||
|
),
|
|||
|
);
|
|||
|
$config['databaseDefault'] = array(
|
|||
|
/* 数据库设置 */
|
|||
|
'DB_TYPE' => 'mysql', // 数据库类型 mysql,mysqli,sqlite,pdo(mysql/sqlite); //pgsql,mssql
|
|||
|
'DB_HOST' => '127.0.0.1', // 服务器地址
|
|||
|
'DB_NAME' => '', // 数据库名
|
|||
|
'DB_USER' => '', // 用户名
|
|||
|
'DB_PWD' => '', // 密码
|
|||
|
'DB_PORT' => '', // 端口
|
|||
|
|
|||
|
'DB_PREFIX' => '', // 数据库表前缀
|
|||
|
'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8
|
|||
|
'DB_SQL_LOG' => false, // SQL执行错误日志记录
|
|||
|
'DB_FIELDS_CACHE' => false, // 启用字段缓存
|
|||
|
'DB_SQL_BUILD_CACHE' => false, // 数据库查询的SQL创建缓存
|
|||
|
|
|||
|
// 数据库集群模式配置;
|
|||
|
'DB_DEPLOY_TYPE' => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
|
|||
|
'DB_RW_SEPARATE' => false, // 数据库读写是否分离 主从式有效
|
|||
|
'DB_MASTER_NUM' => 1, // 读写分离后 主服务器数量
|
|||
|
'DB_SLAVE_NO' => '', // 指定从服务器序号; 开启集群和主从分离,默认host第一个为master;
|
|||
|
|
|||
|
|
|||
|
/* 主从分离,一主多从集群;
|
|||
|
'DB_TYPE' => 'mysql',
|
|||
|
'DB_HOST' => '10.10.10.1,10.10.10.2', // 多个数据服务器;
|
|||
|
'DB_NAME' => 'db1,db2', // 全都一样则一个;否则和host的server个数一致,逗号隔开;
|
|||
|
'DB_USER' => 'user', // 同上
|
|||
|
'DB_PWD' => 'passowrd', // 同上
|
|||
|
'DB_PORT' => '3306', // 同上
|
|||
|
|
|||
|
'DB_DEPLOY_TYPE' => 1, //集群模式
|
|||
|
'DB_RW_SEPARATE' => true, //读写分离;为false则无差别随机读写
|
|||
|
'DB_MASTER_NUM' => 1,
|
|||
|
'DB_SLAVE_NO' => '',
|
|||
|
*/
|
|||
|
);
|
|||
|
|
|||
|
$config['settings']['appType'] = array(
|
|||
|
array('type' => 'tools','name' => 'explorer.app.groupTools','class' => 'ri-tools-fill'),
|
|||
|
array('type' => 'game','name' => 'explorer.app.groupGame','class' => 'ri-gamepad-fill'),
|
|||
|
array('type' => 'movie','name' => 'explorer.app.groupMovie','class' => 'ri-film-line'),
|
|||
|
array('type' => 'music','name' => 'explorer.app.groupMusic','class' => 'ri-music-fill-2'),
|
|||
|
array('type' => 'life','name' => 'explorer.app.groupLife','class' => 'ri-map-pin-fill-2'),
|
|||
|
array('type' => 'others','name' => 'common.others','class' => 'ri-more-fill'),
|
|||
|
);
|
|||
|
$config['defaultPlugins'] = array(
|
|||
|
'adminer','DPlayer','jPlayer','photoSwipe','picasa','pdfjs','htmlEditor',
|
|||
|
'simpleClock','client','webodf','webdav','toolsCommon','oauth','fileThumb',
|
|||
|
'yzOffice','officeViewer','msgWarning',
|
|||
|
);
|
|||
|
|
|||
|
//初始化系统配置
|
|||
|
$config['settingSystemDefault'] = array(
|
|||
|
'systemPassword' => rand_string(20),
|
|||
|
'systemName' => "kodbox",
|
|||
|
'systemDesc' => "——可道云.资源管理器",
|
|||
|
'systemNameType' => 'text',// image/text
|
|||
|
'systemLogo' => './static/images/common/logo.png',
|
|||
|
'systemLogoMenu' => './static/images/common/logo-kod.png',
|
|||
|
'adminTheme' => 'black',// black/white
|
|||
|
|
|||
|
'pathHidden' => "Thumb.db,.DS_Store,.gitignore,.git",//目录列表隐藏的项
|
|||
|
'autoLogin' => "0", // 是否自动登录;登录用户为guest
|
|||
|
'needCheckCode' => "0", // 登录是否开启验证码;默认关闭
|
|||
|
'firstIn' => "explorer", // 登录后默认进入[explorer desktop]
|
|||
|
// 'regist' => "",
|
|||
|
'globalIcp' => "",
|
|||
|
'globalCss' => "",
|
|||
|
'globalHtml' => "",
|
|||
|
|
|||
|
'newUserApp' => "高德地图,icloud",
|
|||
|
'newUserFolder' => "我的文档,我的图片,我的音乐",
|
|||
|
'newGroupFolder' => "共享资源,文档,其他", // 新建分组默认建立文件夹
|
|||
|
'groupRootName' => '企业网盘', // 企业组织架构根节点
|
|||
|
|
|||
|
'versionType' => "A", // 版本
|
|||
|
'rootListUser' => 0, // 组织架构根节点展示群组内用户
|
|||
|
'rootListGroup' => 0, // 组织架构根节点展示子群组
|
|||
|
'groupAuthOuther' => 1, // 子部门网盘文档可授权给外部部门或成员,
|
|||
|
'currentVersion' => KOD_VERSION, // 当前版本
|
|||
|
'orderSort' => 'desc', // sort字段排序方式;默认从大到小
|
|||
|
'dateFormat' => 'Y-m-d', // 默认 Y-m-d:YYYY-MM-DD; d/m/Y:DD/MM/YYYY; m/d/Y:MM/DD/YYYY;
|
|||
|
// https://en.wikipedia.org/wiki/Date_format_by_country
|
|||
|
|
|||
|
'fileEncryption' => 'keepName', // all-全加密;keepExt-加密文件名保留扩展名;keepName-不加密;
|
|||
|
'passwordErrorLock' => '1', // 密码连续错误锁定账号开关; 某账号连续输入5次后锁定30s后才能登录;
|
|||
|
'passwordLockNumber'=> '5', // 密码连续错误允许次数;
|
|||
|
'passwordLockTime' => '60', // 密码连续错误锁定时间;
|
|||
|
|
|||
|
'passwordRule' => 'none', // 限制密码强度;none-不限制;strong-中等强度;strongMore-高强度
|
|||
|
'loginCheckAllow' => '', // 登录限制
|
|||
|
'csrfProtect' => '1', // 开启csrf保护
|
|||
|
'downloadZipClient' => '1', // 开启前端打包压缩下载(需要能够链接外网,或https);
|
|||
|
'downloadZipLimit' => '0', // 文件夹打包下载限制,默认为0, 0为不限制; 为避免服务器性能消耗过大,文件夹过大时限制打包下载
|
|||
|
'dragDownload' => '1', // 拖拽出浏览器,自动下载(仅Chrome内核浏览器支持; edge,360...)
|
|||
|
'dragDownloadZip' => '0', // 是否允许多个或文件夹拖拽下载(压缩后下载. 由于没有进度,无法取消,故默认关闭)
|
|||
|
'dragDownloadLimit' => 20, // MB;拖拽下载文件大小限制; 为0则不限制;(压缩后下载, 由于没有进度,无法取消,故设置较低)
|
|||
|
|
|||
|
'showFileLink' => '1', // 文件外链展示开关;默认开启; (关闭后,文件属性不再显示外链连接)
|
|||
|
'showFileMd5' => '1', // 文件md5是否展示; 默认开启; (关闭后,文件属性不再显示文件md5)
|
|||
|
'systemRecycleOpen' => '0', // 系统回收站开启关闭;
|
|||
|
'systemRecycleClear'=> '180', // 系统回收站自动清除,N天以前内容;
|
|||
|
'systemBackup' => '1', // 文档自动备份;
|
|||
|
'groupTagAllow' => '0', // 是否启用部门公共标签
|
|||
|
'groupSpaceLimit' => '0', // 部门网盘层级限制; 超过部门的层级不显示部门网盘
|
|||
|
'groupSpaceLimitLevel'=> '5', // 部门网盘层级,指定层级,默认超过5层不显示部门网盘; >=1;
|
|||
|
'pathSafeSpaceEnable' => '1', // 1|0, 全局开启关闭[私密保险箱]
|
|||
|
|
|||
|
// 分享相关设置;
|
|||
|
'shareToMeAllowTree'=> '1', // 分享给我的内容支持按部门组织架构或用户进行分类
|
|||
|
'shareLinkAllow' => '1', // 启用/禁用外链分享;
|
|||
|
'shareLinkZip' => '1', // 外链分享,开启关闭文件夹打包下载; 默认开启
|
|||
|
'shareLinkPasswordAllowEmpty' => '1', // 外链分享允许密码为空,关闭后将强制设置密码;
|
|||
|
'shareLinkAllowGuest' => '1', // 外链分享允许未登录游客访问
|
|||
|
'shareLinkUserDisableSkip' => '1', // 账号被禁用时,屏蔽该用户的外链分享
|
|||
|
'shareLinkAllowEdit' => '1', // 外链允许允许启用编辑
|
|||
|
'desktopAppDisable' => '', // 桌面默认快捷方式入口隐藏项;
|
|||
|
|
|||
|
|
|||
|
'treeOpen' => 'my,myFav,myGroup,rootGroup,recentDoc,fileType,fileTag,driver',//树目录开启功能;
|
|||
|
'groupListChild' => '1',//罗列子部门; 0=不罗列;1=全部罗列;2=仅树目录罗列;
|
|||
|
'wallpageDesktop' => "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17",
|
|||
|
'wallpageLogin' => "2,3,6,8,9,11,12,16,17",
|
|||
|
'emailType' => "0", // 邮件方式
|
|||
|
'email' => "", // 自定义邮箱服务器配置信息
|
|||
|
|
|||
|
'sourceSecret' => '0',
|
|||
|
'sourceSecretSetUser' => '',
|
|||
|
'sourceSecretMaxID' => '0',
|
|||
|
'sourceSecretList' => '[{"id":"","title":"A-绝密","style":"#E64A19","auth":""},{"id":"","title":"B-机密","style":"#FF5722","auth":""},{"id":"","title":"C-秘密","style":"#E57754","auth":""}]',
|
|||
|
|
|||
|
'regist' => array( // 用户注册
|
|||
|
"openRegist" => "0", // 开放注册
|
|||
|
"checkRegist" => "0", // 注册审核
|
|||
|
"sizeMax" => "0", // 默认空间大小
|
|||
|
"roleID" => "", // 默认角色
|
|||
|
"groupInfo" => '{"1":""}', // 默认部门
|
|||
|
"allowPhone" => "1", // 允许手机号绑定,找回密码;
|
|||
|
),
|
|||
|
'allowNickNameRpt' => false, // 允许用户昵称重复
|
|||
|
'menu' => array( //初始化默认菜单配置
|
|||
|
array('name'=>'desktop','type'=>'system','url'=>'desktop','target'=>'_self','use'=>'1'),
|
|||
|
array('name'=>'explorer','type'=>'system','url'=>'explorer','target'=>'_self','use'=>'1'),
|
|||
|
array('name'=>'editor','type'=>'','url'=>'editor','target'=>'_self','use'=>'0'),
|
|||
|
array('name'=>'官网','url'=>'https://kodcloud.com',"icon"=>"ri-home-line-3",'target'=>'inline','use'=>'1')
|
|||
|
),
|
|||
|
);
|
|||
|
$config['settingSystemDefault']['searchFulltext'] = 0; // like%% 转为match (fulltext索引字段)
|
|||
|
$config['settingSystemDefault']['searchNumberUseLike'] = 0; // 开启全文搜索时, 搜为纯数字则使用like(ngram,match纯数字会很慢)
|
|||
|
$config['settingSystemDefault']['searchFulltextForce'] = 0; // 完整匹配; (否则会对$words进行分词,包含一部分也作为结果;会多出结果)
|
|||
|
$config['settingSystemDefault']['searchFulltextInnodb'] = 0; // 是否为innodb
|
|||
|
|
|||
|
|
|||
|
//新用户初始化默认配置
|
|||
|
$config['settingDefault'] = array(
|
|||
|
'listType' => "icon", // list||icon||split
|
|||
|
'listSortField' => "name", // name||size||ext||mtime
|
|||
|
'listSortOrder' => "up", // asc||desc
|
|||
|
'fileIconSize' => "80", // 图标大小
|
|||
|
'fileOpenClick' => 'dbclick', // 打开文件方式 dbclick|click; 双击|单击;
|
|||
|
'fileShowDesc' => '0', // 图标模式显示文件夹文件详情(大小,文件夹包含子内容数)
|
|||
|
'fileShowRename' => '1', // 文件名后显示重命名按钮
|
|||
|
'animateOpen' => "1", // dialog动画
|
|||
|
'soundOpen' => "0", // 操作音效
|
|||
|
'theme' => "auto", // 'light','dark-mode','auto'
|
|||
|
'themeImage' => "", // url/wallpage/css
|
|||
|
'wall' => "4", // wall picture
|
|||
|
'listTypeKeep' => '1', // 1|0, 为每个文件夹选择视图模式,或对所有文件夹使用相同的视图模式
|
|||
|
'listSortKeep' => '1', // 1|0, 为每个文件夹配置列排序顺序,或对所有文件夹使用相同的顺序
|
|||
|
'menuBarAutoHide' => '0', // 1|0, 左侧菜单栏自动显示和隐藏
|
|||
|
'pathSafeSpaceShow' => '1', // 1|0, 个人空间根目录显示隐藏-私密保险箱
|
|||
|
|
|||
|
"themeStyle" => 'theme-windows', // 主题样式; theme-windows/theme-mac;
|
|||
|
"fileRepeat" => "replace", // rename,replace,skip
|
|||
|
"recycleOpen" => "1", // 1 | 0 代表是否开启
|
|||
|
'kodAppDefault' => '', //
|
|||
|
"fileIconSizeDesktop"=> '70', // 桌面图标大小
|
|||
|
"fileIconSizePhoto" => '120', // 相册模式图片大小
|
|||
|
'photoConfig' => '', // 相册配置
|
|||
|
'resizeConfig' =>
|
|||
|
'{"filename":250,"filetype":80,"filesize":80,"filetime":215,"editorTreeWidth":220,"explorerTreeWidth":220}',
|
|||
|
'imageThumb' => '1',
|
|||
|
'fileSelect' => '1',
|
|||
|
'displayHideFile' => '0',
|
|||
|
'filePanel' => '1',
|
|||
|
'shareToMeShowType' => 'list',
|
|||
|
'messageSendType' => 'enter', //enter,ctrlEnter
|
|||
|
'loginDevice' => '',
|
|||
|
);
|
|||
|
$config['editorDefault'] = array(
|
|||
|
'fontSize' => '14px',
|
|||
|
'theme' => 'tomorrow',
|
|||
|
'autoWrap' => '1', //自适应宽度换行
|
|||
|
'autoComplete' => '1',
|
|||
|
'functionList' => '1',
|
|||
|
"tabSize" => '4',
|
|||
|
"softTab" => '1',
|
|||
|
"displayChar" => '0', //是否显示特殊字符
|
|||
|
"fontFamily" => "Menlo", //字体
|
|||
|
"keyboardType" => "ace", //ace vim emacs
|
|||
|
"autoSave" => '0', //自动保存
|
|||
|
);
|
|||
|
|
|||
|
// 多语言; 在user/view/parseMetaLang中替换; meta.[key] 为多语言key;
|
|||
|
$config['settings']['sourceMeta'] = array(
|
|||
|
'configItem' => array(
|
|||
|
'defaultShow' => 'user_sourceAlias,user_sourceCover', //默认显示的key;
|
|||
|
'fileAllow' => 'user_sourceAlias,user_sourceCover,user_sourceNumber,user_sourceParticipant', //文件支持的key
|
|||
|
'folderAllow' => 'user_sourceAlias,user_sourceCover,user_sourceParticipant', //文件夹支持的key
|
|||
|
),
|
|||
|
'user_sourceAlias' => array(
|
|||
|
"type" => "fileSelect",
|
|||
|
"value" => "",
|
|||
|
"display" => "关联文件(附件)",
|
|||
|
"info" => array(
|
|||
|
"single" => false, // 单选or多选; true/false
|
|||
|
"type" => "all", // 文件or文件夹选择; file|folder|all
|
|||
|
"makeUrl" => false, // 生成永久外链,
|
|||
|
"valueKey" => "path", // 取结果中的key
|
|||
|
"valueShowKey" => 'name', // 显示名称;
|
|||
|
"title" => "关联文件(附件)", // 对话框标题;
|
|||
|
"authCheck" => "read", // read,write或空;默认为可写入;
|
|||
|
),
|
|||
|
),
|
|||
|
'user_sourceCover' => array(
|
|||
|
"type" => "fileSelect",
|
|||
|
"value" => "",
|
|||
|
"display" => "文档封面",
|
|||
|
"info" => array(
|
|||
|
"single" => true, // 单选or多选; true/false
|
|||
|
"type" => "file", // 文件or文件夹选择; file|folder|all
|
|||
|
"makeUrl" => true, // 生成永久外链,
|
|||
|
"valueKey" => "downloadPath", // 取结果中的key
|
|||
|
"valueShowKey" => 'name', // 显示名称;
|
|||
|
"title" => "文档封面", // 对话框标题;
|
|||
|
"authCheck" => "read", // read,write或空;默认为可写入;
|
|||
|
),
|
|||
|
),
|
|||
|
|
|||
|
//扩展;
|
|||
|
'user_sourceNumber' => array(
|
|||
|
"type" => "input",
|
|||
|
"value" => "",
|
|||
|
"display" => "宗卷编号",
|
|||
|
),
|
|||
|
//扩展;
|
|||
|
'user_sourceParticipant' => array(
|
|||
|
"type" => "user",
|
|||
|
"value" => "",
|
|||
|
"display" => "参与者",
|
|||
|
"selectType"=> "mutil",
|
|||
|
),
|
|||
|
);
|
|||
|
|
|||
|
// name优先识别为多语言key,不存在则以name为原名;
|
|||
|
$config['settings']['userDefaultTag'] = array(
|
|||
|
array('name'=>"explorer.tag.default1",'style'=>'label-blue-normal'),
|
|||
|
array('name'=>'explorer.tag.default2','style'=>'label-red-normal'),
|
|||
|
array('name'=>'explorer.tag.default3','style'=>'label-yellow-normal'),
|
|||
|
array('name'=>"2020",'style'=>'label-green-normal'),
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* 文档类型筛选
|
|||
|
* name多语言: explorer.type.[type] 存在则使用该key;否则使用默认name;
|
|||
|
*/
|
|||
|
$config['documentType'] = array(
|
|||
|
"doc" => array(
|
|||
|
"name" => '文档', //file-type: file-type-doc
|
|||
|
"ext" => "txt,md,pdf,ofd,doc,docx,xls,xlsx,ppt,pptx,xps,pps,ppsx,ods,odt,odp,docm,dot,dotm,xlsb,xlsm,mht,djvu,wps,dpt,csv,et,ett,pages,numbers,key,dotx,vsd,vsdx,mpp",
|
|||
|
),
|
|||
|
"image" => array(
|
|||
|
"name" => '图片',
|
|||
|
"ext" => "jpg,jpeg,png,gif,bmp,ico,svg,webp,tif,tiff,cdr,svgz,xbm,eps,pjepg,heic,raw,psd,ai",
|
|||
|
),
|
|||
|
"music" => array(
|
|||
|
"name" => '音乐',
|
|||
|
"ext" => "mp3,wav,wma,m4a,ogg,omf,amr,aa3,flac,aac,cda,aif,aiff,mid,ra,ape",
|
|||
|
),
|
|||
|
"movie" => array(
|
|||
|
"name" => '视频',
|
|||
|
"ext" => "mp4,flv,rm,rmvb,avi,mkv,mov,f4v,mpeg,mpg,vob,wmv,ogv,webm,3gp,mts,m2ts,m4v,mpe,3g2,asf,dat,asx,wvx,mpa",
|
|||
|
),
|
|||
|
"zip" => array(
|
|||
|
"name" => '压缩包',
|
|||
|
"ext" => "zip,gz,rar,iso,tar,7z,gz,ar,bz,bz2,xz,arj",
|
|||
|
),
|
|||
|
"others" => array(
|
|||
|
"name" => '其他',
|
|||
|
"ext" => "",
|
|||
|
),
|
|||
|
// "psd" => array("name" => '设计稿',"ext"=> "psd,ai"),
|
|||
|
);
|
|||
|
|
|||
|
// 多选项总配置
|
|||
|
// http://blog.sina.com.cn/s/blog_7981f91f01012wm7.html
|
|||
|
// http://monsoongale.iteye.com/blog/1044431
|
|||
|
$config['settingAll'] = array(
|
|||
|
'language' => array(
|
|||
|
"zh-CN" => array("简体中文","简体中文","Simplified Chinese"),
|
|||
|
"zh-TW" => array("繁體中文","繁體中文","Traditional Chinese"),
|
|||
|
"en" => array("English","英语","English"),
|
|||
|
"ar" => array("العربية","'阿拉伯语","Arabic"),
|
|||
|
"bn" => array("বাংলা","孟加拉语","Bengali"),
|
|||
|
"de" => array("Deutsch","德语","German"),
|
|||
|
"es" => array("Español","西班牙语","Spanish"),
|
|||
|
"fr" => array("Français","法语","French"),
|
|||
|
"hi" => array("हिन्दी","印地语","Hindi"),
|
|||
|
"id" => array("Bahasa Indonesia","印尼语","Indonesian"),
|
|||
|
"it" => array("Italiano","意大利语","Italian"),
|
|||
|
"ja" => array("日本語","日语","Japanese"),
|
|||
|
"ko" => array("한국어","韩语","Korean"),
|
|||
|
"pl" => array("Polski","波兰语","Polish"),
|
|||
|
"pt" => array("Português","葡萄牙语","Portuguese"),
|
|||
|
"ru" => array("Русский язык","俄语","Russian"),
|
|||
|
"ta" => array("தமிழ்","泰米尔语","Tamil"),
|
|||
|
"th" => array("ภาษาไทย","泰语","Thai"),
|
|||
|
"tr" => array("Türkçe","土耳其语","Turkish"),
|
|||
|
"uk" => array("Українська","乌克兰语","Ukrainian",'uk'),
|
|||
|
"vi" => array("Tiếng Việt","越南语","Vietnamese",'vn'),// 3=国旗icon
|
|||
|
),//de el fi fr nl pt d/m/Y H:i
|
|||
|
|
|||
|
'theme' => "mac,win10,win7,metro,metro_green,metro_purple,metro_pink,metro_orange,alpha_image,alpha_image_sun,alpha_image_sky,diy",
|
|||
|
'codeTheme' => "chrome,clouds,crimson_editor,eclipse,github,kuroir,solarized_light,tomorrow,xcode,gruvbox_light_hard,cloud9_day,ambiance,monokai,idle_fingers,pastel_on_dark,solarized_dark,twilight,tomorrow_night_blue,tomorrow_night_eighties,github_dark,cloud9_night,gruvbox_dark_hard",
|
|||
|
'codeFont' => 'Source Code Pro,Consolas,Courier,DejaVu Sans Mono,Liberation Mono,Menlo,Monaco,Monospace',
|
|||
|
);
|
|||
|
|
|||
|
I18n::init();$lang = I18n::$langType;
|
|||
|
if($lang != 'zh-CN' && $lang != 'zh-CN'){
|
|||
|
$config['settingSystemDefault']['systemDesc'] = './static/images/common/logo-en.png';
|
|||
|
$config['settingSystemDefault']['systemDesc'] = "—— kodbox.explorer";
|
|||
|
$config['settingSystemDefault']['newUserApp'] = "trello,icloud";
|
|||
|
$config['settingSystemDefault']['newUserFolder'] = "Documents,Pictures,Music";
|
|||
|
$config['settingSystemDefault']['newGroupFolder'] = "Documents,Pictures,Others";
|
|||
|
$config['settingSystemDefault']['groupRootName'] = "Group";
|
|||
|
$config['settingSystemDefault']['sourceSecretList'] = '[{"id":"","title":"A-Secret","style":"#E64A19","auth":""},{"id":"","title":"B-Secret","style":"#FF5722","auth":""},{"id":"","title":"C-Secret","style":"#E57754","auth":""}]';
|
|||
|
$config['settingSystemDefault']['menu'][3]['name'] = 'kodcloud';
|
|||
|
|
|||
|
$config['settings']['sourceMeta']['user_sourceAlias']['display'] = "Attachments";
|
|||
|
$config['settings']['sourceMeta']['user_sourceAlias']['info']['title'] = "Attachments";
|
|||
|
$config['settings']['sourceMeta']['user_sourceNumber']['display'] = "Number";
|
|||
|
$config['settings']['sourceMeta']['user_sourceParticipant']['display'] = "Participant";
|
|||
|
}
|
|||
|
I18n::set(array(
|
|||
|
'common.iconApp' => 'images/icon/icon_512.png',
|
|||
|
'common.iconFav' => 'images/icon/fav.png',
|
|||
|
));
|
|||
|
|
|||
|
/**
|
|||
|
* 无需登录检测权限检测配置;
|
|||
|
* 大小写无关;统一转为小写进行了判断
|
|||
|
*
|
|||
|
* 支持:通配和全配;模块.控制器.方法;
|
|||
|
* user.* 代表user模块下所有控制器
|
|||
|
* user.index.* 代表user模块下index控制器
|
|||
|
* user.index.login 代表user模块下index控制器的login方法;
|
|||
|
*/
|
|||
|
$config['authNotNeedLogin'] = array(
|
|||
|
'user.index.*',
|
|||
|
'user.bind.*',
|
|||
|
'user.sso.*',
|
|||
|
'user.regist.*',
|
|||
|
'user.view.*',
|
|||
|
'explorer.share.*',
|
|||
|
'sitemap.*',
|
|||
|
'install.*', // 安装/更新
|
|||
|
'plugin.*', // 插件排除,权限单独检测;
|
|||
|
'comment.index.listData',// 评论列表,权限在对应业务中自行判断;
|
|||
|
'comment.index.listChildren','comment.index.test'
|
|||
|
);
|
|||
|
|
|||
|
/**
|
|||
|
* 用户可以访问的方法白名单,不需要用户角色身份检测;需要全部配置
|
|||
|
* $authAllowAction和$roleAction中包含的内容;不在定义中的一律不允许访问;
|
|||
|
*/
|
|||
|
$config['authAllowAction'] = array(
|
|||
|
'explorer.tag.get',
|
|||
|
'explorer.fav.get',
|
|||
|
'explorer.index.pathInfo',
|
|||
|
'explorer.lightApp.get',
|
|||
|
'explorer.list.path','explorer.list.listAll',
|
|||
|
'explorer.index.desktopApp',
|
|||
|
'explorer.userShare.get',
|
|||
|
'explorer.userShare.myShare',
|
|||
|
'explorer.userShare.shareDisplay',
|
|||
|
|
|||
|
'explorer.tagGroup.get','explorer.tagGroup.set',
|
|||
|
'explorer.tagGroup.filesRemoveFromTag','explorer.tagGroup.filesAddToTag',
|
|||
|
|
|||
|
'user.setting.notice','user.setting.userLoginList',
|
|||
|
'user.setting.taskList','user.setting.taskKillAll','user.setting.taskAction',
|
|||
|
'user.setting.userChart','user.setting.userLog','user.setting.userDevice',
|
|||
|
|
|||
|
//临时,搜索分享中使用; 设置用户权限or设置用户部门;
|
|||
|
'admin.role.get','admin.job.get','admin.auth.get',
|
|||
|
'admin.member.get','admin.member.getByID','admin.member.search',
|
|||
|
'admin.group.get','admin.group.getByID','admin.group.search',
|
|||
|
);//explorer/attachment/upload
|
|||
|
|
|||
|
/**
|
|||
|
* 角色:拦截点对应的控制器方法;
|
|||
|
* key为角色权限;value为数组 key(控制器)=>value(对应到方法,多个用逗号隔开)
|
|||
|
*/
|
|||
|
$config['authRoleAction']= array(
|
|||
|
'explorer.add' => array('explorer.index'=>'mkdir,mkfile'),
|
|||
|
'explorer.upload' => array(
|
|||
|
'explorer.upload' => 'fileUpload',
|
|||
|
'explorer.attachment'=>'upload',
|
|||
|
),
|
|||
|
'explorer.view' => array(
|
|||
|
'explorer.index' => 'fileOut,unzipList,fileOutBy,pathLog',
|
|||
|
'explorer.editor' => 'fileGet',
|
|||
|
'explorer.fileView' => 'index,open',
|
|||
|
),
|
|||
|
'explorer.download' => array('explorer.index'=>'fileDownload,zipDownload,fileDownloadRemove'),
|
|||
|
'explorer.share' => array('explorer.userShare'=>'add,edit,del'),
|
|||
|
'explorer.shareLink' => array('explorer.userShare'=>'add,edit,del'),
|
|||
|
'explorer.remove' => array('explorer.index'=>'pathDelete,recycleDelete,recycleRestore'),
|
|||
|
'explorer.edit' => array(
|
|||
|
'explorer.userShareTarget' => 'save',
|
|||
|
'explorer.index' => 'setDesc,setMeta,setAuth,fileSave,pathRename,zip,unzip',
|
|||
|
'explorer.editor' => 'fileSave',
|
|||
|
'explorer.listSafe' => 'action',
|
|||
|
'explorer.history' => 'get,remove,clear,rollback,setDetail,fileOut',
|
|||
|
'comment.index' => 'listData,add,remove,prasise,listByUser,listChildren'
|
|||
|
),
|
|||
|
'explorer.move' => array('explorer.index'=>'pathCopy,pathCute,pathCopyTo,pathCuteTo,pathPast,clipboard'),
|
|||
|
'explorer.serverDownload'=> array('explorer.upload'=>'serverDownload'),
|
|||
|
'explorer.search' => array(''),
|
|||
|
'explorer.unzip' => array('explorer.index'=>'unzip,unzipList'),
|
|||
|
'explorer.zip' => array('explorer.index'=>'zip,zipDownload'),
|
|||
|
|
|||
|
'user.edit' => array(
|
|||
|
'user.setting' => 'setConfig,setUserInfo,setHeadImage,uploadHeadImage,userLogoutSet',
|
|||
|
),
|
|||
|
'user.fav' => array(
|
|||
|
'explorer.fav' => 'add,rename,moveTop,moveBottom,del',
|
|||
|
'explorer.tag' => 'add,edit,remove,moveTop,moveBottom,resetSort,filesAddToTag,filesRemoveFromTag',
|
|||
|
),
|
|||
|
|
|||
|
'admin.index.dashboard' => array('admin.analysis'=>'option,table,chart,trend'),
|
|||
|
'admin.index.setting' => array(
|
|||
|
'admin.setting' => 'get,set,clearCache,phpInfo',
|
|||
|
'admin.notice' => 'get,add,edit,remove,sort,enable',
|
|||
|
),
|
|||
|
'admin.index.loginLog' => array('admin.log'=>'loginLogList'),
|
|||
|
'admin.index.log' => array('admin.log'=>'get,typelist'),
|
|||
|
'admin.index.server' => array('admin.setting'=>'server'),
|
|||
|
|
|||
|
'admin.role.list' => array('admin.role'=>'get'),
|
|||
|
'admin.role.edit' => array('admin.role'=>'add,edit,remove,sort'),
|
|||
|
'admin.job.list' => array('admin.job'=>'get'),
|
|||
|
'admin.job.edit' => array('admin.job'=>'add,edit,remove,sort'),
|
|||
|
|
|||
|
'admin.member.list' => array(
|
|||
|
'admin.member' => 'get,getByID,search',
|
|||
|
'admin.group' => 'get,getByID,search'
|
|||
|
),
|
|||
|
'admin.member.userEdit' => array('admin.member'=>'add,edit,remove,status,addGroup,removeGroup,switchGroup'),
|
|||
|
'admin.member.userAuth' => array('admin.member'=>'add,edit,remove,status,addGroup,removeGroup,switchGroup'),
|
|||
|
'admin.member.groupEdit'=> array('admin.group'=>'add,edit,status,sort,remove,switchGroup'),
|
|||
|
|
|||
|
'admin.auth.list' => array('admin.auth'=>'get'),
|
|||
|
'admin.auth.edit' => array('admin.auth'=>'add,edit,remove,sort'),
|
|||
|
|
|||
|
//插件管理;轻应用归属到插件;
|
|||
|
'admin.plugin.list' => array('admin.plugin'=>'appList'),
|
|||
|
'admin.plugin.edit' => array(
|
|||
|
'admin.plugin' => 'getConfig,setConfig,changeStatus,install,unInstall',
|
|||
|
'explorer.lightApp' => 'add,edit,del'
|
|||
|
),
|
|||
|
|
|||
|
'admin.storage.list' => array('admin.storage'=>'get'),
|
|||
|
'admin.storage.edit' => array(
|
|||
|
'admin.storage' => 'add,edit,remove',
|
|||
|
'admin.backup' => 'config,get,remove'
|
|||
|
),
|
|||
|
|
|||
|
'admin.autoTask.list' => array('admin.autoTask'=>'get'),
|
|||
|
'admin.autoTask.edit' => array('admin.autoTask'=>'add,edit,enable,remove,run,taskStart,taskRun,taskRunEvent'),
|
|||
|
);
|
|||
|
|
|||
|
// 权限允许true值覆盖;
|
|||
|
$config['authRoleActionKeepTrue'] = array(
|
|||
|
'explorer.share','explorer.shareLink',
|
|||
|
'admin.member.userEdit','admin.member.userAuth'
|
|||
|
);
|
|||
|
|
|||
|
if (file_exists(BASIC_PATH.'config/setting_user.php')) {
|
|||
|
include_once(BASIC_PATH.'config/setting_user.php');
|
|||
|
}
|
|||
|
if (file_exists(BASIC_PATH.'config/setting_user_more.php')) {
|
|||
|
include_once(BASIC_PATH.'config/setting_user_more.php');
|
|||
|
}
|
|||
|
if(!defined('INSTALL_CHANNEL')){define('INSTALL_CHANNEL','');}
|
|||
|
|
|||
|
|
|||
|
if(GLOBAL_DEBUG_LOG_ALL){
|
|||
|
Hook::bind('beforeShutdown','writeLogAll');
|
|||
|
Hook::bind('show_json','writeLogAll');
|
|||
|
}
|
|||
|
// Hook::bind('show_json','writeLogAll');
|
|||
|
function writeLogAll($data=false){
|
|||
|
// if(ACT == 'fileUpload'){return;}
|
|||
|
$caller = get_caller_info();
|
|||
|
$trace = think_trace('[trace]');
|
|||
|
$ua = $_SERVER['HTTP_USER_AGENT'];
|
|||
|
write_log(array("in"=>$GLOBALS['in'],'ua'=>$ua,'out'=>$data,'call'=>$caller,'trace'=>$trace),'debug');
|
|||
|
}
|