2024-08-31 01:03:37 +08:00

676 lines
33 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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');
}