正在显示
100 个修改的文件
包含
2028 行增加
和
288 行删除
@@ -637,15 +637,16 @@ class PersonController extends RestBaseController | @@ -637,15 +637,16 @@ class PersonController extends RestBaseController | ||
637 | //上传至七牛云 | 637 | //上传至七牛云 |
638 | $url = str_replace('//', '/', str_replace('\\', '/', $info->getSaveName())); //20190602/1214564654.jpg目录 | 638 | $url = str_replace('//', '/', str_replace('\\', '/', $info->getSaveName())); //20190602/1214564654.jpg目录 |
639 | $filePath = $moveUrl.DS.$url;//本地磁盘路径 | 639 | $filePath = $moveUrl.DS.$url;//本地磁盘路径 |
640 | + //上传至七牛云文件路径 | ||
641 | + $qiniu_file = 'uploads/'.$url; | ||
640 | $storage = new Storage(); | 642 | $storage = new Storage(); |
641 | - $file = 'uploads/'.$url; | ||
642 | -// $storage->upload($file, $filePath, 'image'); | ||
643 | - $arr[$k]['image_url'] = $host.DS.$file; | 643 | + $storage->upload($qiniu_file, $filePath, 'image'); |
644 | + $arr[$k]['image_url'] = $host.DS.$qiniu_file; | ||
644 | $arr[$k]['file_time'] = time(); | 645 | $arr[$k]['file_time'] = time(); |
645 | $sys = $this->getOperateSys(); | 646 | $sys = $this->getOperateSys(); |
646 | -// if($sys == 'Linux'){ | ||
647 | -// unlink($filePath); | ||
648 | -// } | 647 | + if($sys == 'Linux'){ |
648 | + unlink($filePath);//适用于linux | ||
649 | + } | ||
649 | }else{ | 650 | }else{ |
650 | // 上传失败获取错误信息 | 651 | // 上传失败获取错误信息 |
651 | $this->error($file->getError()); | 652 | $this->error($file->getError()); |
@@ -31,7 +31,7 @@ return array ( | @@ -31,7 +31,7 @@ return array ( | ||
31 | //提示语 | 31 | //提示语 |
32 | 'tips' => '质量第一 精心检修 可守合同 永争一流', | 32 | 'tips' => '质量第一 精心检修 可守合同 永争一流', |
33 | //域名 | 33 | //域名 |
34 | - 'host' => 'http://xiaofang.w.bronet.cn', | 34 | + 'host' => 'http://app.tianjinhr.cn', |
35 | //甲方提交报修流程 | 35 | //甲方提交报修流程 |
36 | 'a_step' => ['甲方提交报修信息','乙方确认信息','乙方维修设备','乙方提交维修单','甲方验收维修结果','甲方验收完成'], | 36 | 'a_step' => ['甲方提交报修信息','乙方确认信息','乙方维修设备','乙方提交维修单','甲方验收维修结果','甲方验收完成'], |
37 | 37 |
@@ -35,7 +35,7 @@ class CommonController extends RestBaseController | @@ -35,7 +35,7 @@ class CommonController extends RestBaseController | ||
35 | if($res){ | 35 | if($res){ |
36 | // $result['uid'] = $this->userId; | 36 | // $result['uid'] = $this->userId; |
37 | $result['company_name'] = $res['company_name']; | 37 | $result['company_name'] = $res['company_name']; |
38 | - $result['logo'] = $host.'/upload/'.$res['logo']; | 38 | + $result['logo'] = $host.'/'.$res['logo']; |
39 | //查找企业拥有的服务 | 39 | //查找企业拥有的服务 |
40 | $rule = $this->getRule($res,1); | 40 | $rule = $this->getRule($res,1); |
41 | $result['service'] = $rule; | 41 | $result['service'] = $rule; |
@@ -87,7 +87,7 @@ class CommonController extends RestBaseController | @@ -87,7 +87,7 @@ class CommonController extends RestBaseController | ||
87 | $field = 'id c_id,company_name,pid,logo'; | 87 | $field = 'id c_id,company_name,pid,logo'; |
88 | $res = $this->getCompany($where,$field); | 88 | $res = $this->getCompany($where,$field); |
89 | $result['company_name'] = $res['company_name']; | 89 | $result['company_name'] = $res['company_name']; |
90 | - $result['logo'] = $host.'/upload/'.$res['logo']; | 90 | + $result['logo'] = $host.'/'.$res['logo']; |
91 | // $res['uid'] = $this->userId; | 91 | // $res['uid'] = $this->userId; |
92 | //甲方 | 92 | //甲方 |
93 | //查找企业拥有的服务 | 93 | //查找企业拥有的服务 |
@@ -150,7 +150,7 @@ class CommonController extends RestBaseController | @@ -150,7 +150,7 @@ class CommonController extends RestBaseController | ||
150 | if($value['id'] == 3){ | 150 | if($value['id'] == 3){ |
151 | $flag = 1; | 151 | $flag = 1; |
152 | } | 152 | } |
153 | - $value['icon'] = $host.'/upload/'.$value['icon']; | 153 | + $value['icon'] = $host.'/'.$value['icon']; |
154 | } | 154 | } |
155 | $add = [ | 155 | $add = [ |
156 | 'id' => 100, | 156 | 'id' => 100, |
@@ -1616,11 +1616,11 @@ class CommonController extends RestBaseController | @@ -1616,11 +1616,11 @@ class CommonController extends RestBaseController | ||
1616 | //甲方公司 | 1616 | //甲方公司 |
1617 | $a_company = $this->getCompany(['id'=>$project['a_cid']],'id,company_name,logo'); | 1617 | $a_company = $this->getCompany(['id'=>$project['a_cid']],'id,company_name,logo'); |
1618 | $arr['a_company']['company_name'] = !empty($a_company['company_name'])?$a_company['company_name']:''; | 1618 | $arr['a_company']['company_name'] = !empty($a_company['company_name'])?$a_company['company_name']:''; |
1619 | - $arr['a_company']['logo'] = !empty($a_company['logo'])?$host.'/upload/'.$a_company['logo']:''; | 1619 | + $arr['a_company']['logo'] = !empty($a_company['logo'])?$host.'/'.$a_company['logo']:''; |
1620 | //乙方公司 | 1620 | //乙方公司 |
1621 | $b_company = $this->getCompany(['id'=>$project['b_cid']],'id,company_name,logo'); | 1621 | $b_company = $this->getCompany(['id'=>$project['b_cid']],'id,company_name,logo'); |
1622 | $arr['b_company']['company_name'] = !empty($b_company['company_name'])?$b_company['company_name']:''; | 1622 | $arr['b_company']['company_name'] = !empty($b_company['company_name'])?$b_company['company_name']:''; |
1623 | - $arr['b_company']['logo'] = !empty($b_company['logo'])?$host.'/upload/'.$b_company['logo']:''; | 1623 | + $arr['b_company']['logo'] = !empty($b_company['logo'])?$host.'/'.$b_company['logo']:''; |
1624 | //报表标题 | 1624 | //报表标题 |
1625 | $arr['title'] = $project['name'].$report_name.'报表'; | 1625 | $arr['title'] = $project['name'].$report_name.'报表'; |
1626 | } | 1626 | } |
@@ -1665,7 +1665,8 @@ class CommonController extends RestBaseController | @@ -1665,7 +1665,8 @@ class CommonController extends RestBaseController | ||
1665 | $user1 = $this->getIdentity($h_user['identity'],$h_user['id']); | 1665 | $user1 = $this->getIdentity($h_user['identity'],$h_user['id']); |
1666 | $arr['h_user_login']['party'] = $user1['party']; | 1666 | $arr['h_user_login']['party'] = $user1['party']; |
1667 | }else{ | 1667 | }else{ |
1668 | - $arr['h_user_login'] = []; | 1668 | + $arr['h_user_login']['user'] = ''; |
1669 | + $arr['h_user_login']['party'] = ''; | ||
1669 | } | 1670 | } |
1670 | 1671 | ||
1671 | //甲方验收人 | 1672 | //甲方验收人 |
@@ -14,6 +14,7 @@ namespace app\portal\controller; | @@ -14,6 +14,7 @@ namespace app\portal\controller; | ||
14 | use cmf\controller\AdminBaseController; | 14 | use cmf\controller\AdminBaseController; |
15 | use think\Db; | 15 | use think\Db; |
16 | use think\db\Query; | 16 | use think\db\Query; |
17 | +use app\portal\model\InspectModel; | ||
17 | 18 | ||
18 | class AdminPartAController extends AdminBaseController | 19 | class AdminPartAController extends AdminBaseController |
19 | { | 20 | { |
@@ -105,6 +106,8 @@ class AdminPartAController extends AdminBaseController | @@ -105,6 +106,8 @@ class AdminPartAController extends AdminBaseController | ||
105 | } | 106 | } |
106 | } | 107 | } |
107 | $page = $list->render(); | 108 | $page = $list->render(); |
109 | + $host = new InspectModel(); | ||
110 | + $this->assign('host',$host::host); | ||
108 | $this->assign('list',$s_user['data']); | 111 | $this->assign('list',$s_user['data']); |
109 | $this->assign('page',$page); | 112 | $this->assign('page',$page); |
110 | // 渲染模板输出 | 113 | // 渲染模板输出 |
@@ -14,6 +14,7 @@ namespace app\portal\controller; | @@ -14,6 +14,7 @@ namespace app\portal\controller; | ||
14 | use cmf\controller\AdminBaseController; | 14 | use cmf\controller\AdminBaseController; |
15 | use think\Db; | 15 | use think\Db; |
16 | use think\db\Query; | 16 | use think\db\Query; |
17 | +use app\portal\model\InspectModel; | ||
17 | 18 | ||
18 | class AdminPartBController extends AdminBaseController | 19 | class AdminPartBController extends AdminBaseController |
19 | { | 20 | { |
@@ -88,6 +89,8 @@ class AdminPartBController extends AdminBaseController | @@ -88,6 +89,8 @@ class AdminPartBController extends AdminBaseController | ||
88 | } | 89 | } |
89 | } | 90 | } |
90 | $page = $list->render(); | 91 | $page = $list->render(); |
92 | + $host = new InspectModel(); | ||
93 | + $this->assign('host',$host::host); | ||
91 | $this->assign('list',$s_user['data']); | 94 | $this->assign('list',$s_user['data']); |
92 | $this->assign('page',$page); | 95 | $this->assign('page',$page); |
93 | // 渲染模板输出 | 96 | // 渲染模板输出 |
@@ -14,6 +14,7 @@ namespace app\portal\controller; | @@ -14,6 +14,7 @@ namespace app\portal\controller; | ||
14 | use cmf\controller\AdminBaseController; | 14 | use cmf\controller\AdminBaseController; |
15 | use think\Db; | 15 | use think\Db; |
16 | use think\db\Query; | 16 | use think\db\Query; |
17 | +use app\portal\model\InspectModel; | ||
17 | 18 | ||
18 | class AdminPartCController extends AdminBaseController | 19 | class AdminPartCController extends AdminBaseController |
19 | { | 20 | { |
@@ -84,6 +85,8 @@ class AdminPartCController extends AdminBaseController | @@ -84,6 +85,8 @@ class AdminPartCController extends AdminBaseController | ||
84 | } | 85 | } |
85 | } | 86 | } |
86 | $page = $list->render(); | 87 | $page = $list->render(); |
88 | + $host = new InspectModel(); | ||
89 | + $this->assign('host',$host::host); | ||
87 | $this->assign('list',$s_user['data']); | 90 | $this->assign('list',$s_user['data']); |
88 | $this->assign('page',$page); | 91 | $this->assign('page',$page); |
89 | // 渲染模板输出 | 92 | // 渲染模板输出 |
@@ -33,7 +33,8 @@ | @@ -33,7 +33,8 @@ | ||
33 | "jpush/jpush": "^3.5", | 33 | "jpush/jpush": "^3.5", |
34 | "php-ffmpeg/php-ffmpeg": "^0.14.0", | 34 | "php-ffmpeg/php-ffmpeg": "^0.14.0", |
35 | "phpoffice/phpexcel": "^1.8", | 35 | "phpoffice/phpexcel": "^1.8", |
36 | - "phpoffice/phpspreadsheet": "^1.8" | 36 | + "phpoffice/phpspreadsheet": "^1.8", |
37 | + "qiniu/php-sdk": "^7.2" | ||
37 | }, | 38 | }, |
38 | "extra": { | 39 | "extra": { |
39 | "think-path": "simplewind/thinkphp" | 40 | "think-path": "simplewind/thinkphp" |
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", |
5 | "This file is @generated automatically" | 5 | "This file is @generated automatically" |
6 | ], | 6 | ], |
7 | - "content-hash": "eefad7073f8b6b0386400f460262980a", | 7 | + "content-hash": "adf10b068808ca84c772fda4dcf1592c", |
8 | "packages": [ | 8 | "packages": [ |
9 | { | 9 | { |
10 | "name": "alchemy/binary-driver", | 10 | "name": "alchemy/binary-driver", |
@@ -234,23 +234,23 @@ | @@ -234,23 +234,23 @@ | ||
234 | }, | 234 | }, |
235 | { | 235 | { |
236 | "name": "ezyang/htmlpurifier", | 236 | "name": "ezyang/htmlpurifier", |
237 | - "version": "v4.10.0", | 237 | + "version": "v4.11.0", |
238 | "source": { | 238 | "source": { |
239 | "type": "git", | 239 | "type": "git", |
240 | "url": "https://github.com/ezyang/htmlpurifier.git", | 240 | "url": "https://github.com/ezyang/htmlpurifier.git", |
241 | - "reference": "d85d39da4576a6934b72480be6978fb10c860021" | 241 | + "reference": "83ab08bc1af7d808a9e0fbf024f1c24bfd73c0a7" |
242 | }, | 242 | }, |
243 | "dist": { | 243 | "dist": { |
244 | "type": "zip", | 244 | "type": "zip", |
245 | - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021", | ||
246 | - "reference": "d85d39da4576a6934b72480be6978fb10c860021", | 245 | + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/83ab08bc1af7d808a9e0fbf024f1c24bfd73c0a7", |
246 | + "reference": "83ab08bc1af7d808a9e0fbf024f1c24bfd73c0a7", | ||
247 | "shasum": "" | 247 | "shasum": "" |
248 | }, | 248 | }, |
249 | "require": { | 249 | "require": { |
250 | "php": ">=5.2" | 250 | "php": ">=5.2" |
251 | }, | 251 | }, |
252 | "require-dev": { | 252 | "require-dev": { |
253 | - "simpletest/simpletest": "^1.1" | 253 | + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" |
254 | }, | 254 | }, |
255 | "type": "library", | 255 | "type": "library", |
256 | "autoload": { | 256 | "autoload": { |
@@ -263,7 +263,7 @@ | @@ -263,7 +263,7 @@ | ||
263 | }, | 263 | }, |
264 | "notification-url": "https://packagist.org/downloads/", | 264 | "notification-url": "https://packagist.org/downloads/", |
265 | "license": [ | 265 | "license": [ |
266 | - "LGPL" | 266 | + "LGPL-2.1-or-later" |
267 | ], | 267 | ], |
268 | "authors": [ | 268 | "authors": [ |
269 | { | 269 | { |
@@ -277,7 +277,7 @@ | @@ -277,7 +277,7 @@ | ||
277 | "keywords": [ | 277 | "keywords": [ |
278 | "html" | 278 | "html" |
279 | ], | 279 | ], |
280 | - "time": "2018-02-23T01:58:20+00:00" | 280 | + "time": "2019-07-14T18:58:38+00:00" |
281 | }, | 281 | }, |
282 | { | 282 | { |
283 | "name": "jpush/jpush", | 283 | "name": "jpush/jpush", |
@@ -881,16 +881,16 @@ | @@ -881,16 +881,16 @@ | ||
881 | }, | 881 | }, |
882 | { | 882 | { |
883 | "name": "phpoffice/phpspreadsheet", | 883 | "name": "phpoffice/phpspreadsheet", |
884 | - "version": "1.8.1", | 884 | + "version": "1.8.2", |
885 | "source": { | 885 | "source": { |
886 | "type": "git", | 886 | "type": "git", |
887 | "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", | 887 | "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", |
888 | - "reference": "352c7002fefe4e4037d02654d853a1b09520946f" | 888 | + "reference": "0c1346a1956347590b7db09533966307d20cb7cc" |
889 | }, | 889 | }, |
890 | "dist": { | 890 | "dist": { |
891 | "type": "zip", | 891 | "type": "zip", |
892 | - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/352c7002fefe4e4037d02654d853a1b09520946f", | ||
893 | - "reference": "352c7002fefe4e4037d02654d853a1b09520946f", | 892 | + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/0c1346a1956347590b7db09533966307d20cb7cc", |
893 | + "reference": "0c1346a1956347590b7db09533966307d20cb7cc", | ||
894 | "shasum": "" | 894 | "shasum": "" |
895 | }, | 895 | }, |
896 | "require": { | 896 | "require": { |
@@ -971,7 +971,7 @@ | @@ -971,7 +971,7 @@ | ||
971 | "xls", | 971 | "xls", |
972 | "xlsx" | 972 | "xlsx" |
973 | ], | 973 | ], |
974 | - "time": "2019-07-01T20:46:51+00:00" | 974 | + "time": "2019-07-08T21:21:25+00:00" |
975 | }, | 975 | }, |
976 | { | 976 | { |
977 | "name": "psr/log", | 977 | "name": "psr/log", |
@@ -1069,17 +1069,68 @@ | @@ -1069,17 +1069,68 @@ | ||
1069 | "time": "2017-10-23T01:57:42+00:00" | 1069 | "time": "2017-10-23T01:57:42+00:00" |
1070 | }, | 1070 | }, |
1071 | { | 1071 | { |
1072 | + "name": "qiniu/php-sdk", | ||
1073 | + "version": "v7.2.9", | ||
1074 | + "source": { | ||
1075 | + "type": "git", | ||
1076 | + "url": "https://github.com/qiniu/php-sdk.git", | ||
1077 | + "reference": "afe7d8715d8a688b1d8d8cdf031240d2363dad90" | ||
1078 | + }, | ||
1079 | + "dist": { | ||
1080 | + "type": "zip", | ||
1081 | + "url": "https://api.github.com/repos/qiniu/php-sdk/zipball/afe7d8715d8a688b1d8d8cdf031240d2363dad90", | ||
1082 | + "reference": "afe7d8715d8a688b1d8d8cdf031240d2363dad90", | ||
1083 | + "shasum": "" | ||
1084 | + }, | ||
1085 | + "require": { | ||
1086 | + "php": ">=5.3.3" | ||
1087 | + }, | ||
1088 | + "require-dev": { | ||
1089 | + "phpunit/phpunit": "~4.0", | ||
1090 | + "squizlabs/php_codesniffer": "~2.3" | ||
1091 | + }, | ||
1092 | + "type": "library", | ||
1093 | + "autoload": { | ||
1094 | + "psr-4": { | ||
1095 | + "Qiniu\\": "src/Qiniu" | ||
1096 | + }, | ||
1097 | + "files": [ | ||
1098 | + "src/Qiniu/functions.php" | ||
1099 | + ] | ||
1100 | + }, | ||
1101 | + "notification-url": "https://packagist.org/downloads/", | ||
1102 | + "license": [ | ||
1103 | + "MIT" | ||
1104 | + ], | ||
1105 | + "authors": [ | ||
1106 | + { | ||
1107 | + "name": "Qiniu", | ||
1108 | + "email": "sdk@qiniu.com", | ||
1109 | + "homepage": "http://www.qiniu.com" | ||
1110 | + } | ||
1111 | + ], | ||
1112 | + "description": "Qiniu Resource (Cloud) Storage SDK for PHP", | ||
1113 | + "homepage": "http://developer.qiniu.com/", | ||
1114 | + "keywords": [ | ||
1115 | + "cloud", | ||
1116 | + "qiniu", | ||
1117 | + "sdk", | ||
1118 | + "storage" | ||
1119 | + ], | ||
1120 | + "time": "2019-07-09T07:55:07+00:00" | ||
1121 | + }, | ||
1122 | + { | ||
1072 | "name": "symfony/filesystem", | 1123 | "name": "symfony/filesystem", |
1073 | - "version": "v4.3.1", | 1124 | + "version": "v4.3.3", |
1074 | "source": { | 1125 | "source": { |
1075 | "type": "git", | 1126 | "type": "git", |
1076 | "url": "https://github.com/symfony/filesystem.git", | 1127 | "url": "https://github.com/symfony/filesystem.git", |
1077 | - "reference": "bf2af40d738dec5e433faea7b00daa4431d0a4cf" | 1128 | + "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d" |
1078 | }, | 1129 | }, |
1079 | "dist": { | 1130 | "dist": { |
1080 | "type": "zip", | 1131 | "type": "zip", |
1081 | - "url": "https://api.github.com/repos/symfony/filesystem/zipball/bf2af40d738dec5e433faea7b00daa4431d0a4cf", | ||
1082 | - "reference": "bf2af40d738dec5e433faea7b00daa4431d0a4cf", | 1132 | + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b9896d034463ad6fd2bf17e2bf9418caecd6313d", |
1133 | + "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d", | ||
1083 | "shasum": "" | 1134 | "shasum": "" |
1084 | }, | 1135 | }, |
1085 | "require": { | 1136 | "require": { |
@@ -1116,7 +1167,7 @@ | @@ -1116,7 +1167,7 @@ | ||
1116 | ], | 1167 | ], |
1117 | "description": "Symfony Filesystem Component", | 1168 | "description": "Symfony Filesystem Component", |
1118 | "homepage": "https://symfony.com", | 1169 | "homepage": "https://symfony.com", |
1119 | - "time": "2019-06-03T20:27:40+00:00" | 1170 | + "time": "2019-06-23T08:51:25+00:00" |
1120 | }, | 1171 | }, |
1121 | { | 1172 | { |
1122 | "name": "symfony/polyfill-ctype", | 1173 | "name": "symfony/polyfill-ctype", |
@@ -1178,7 +1229,7 @@ | @@ -1178,7 +1229,7 @@ | ||
1178 | }, | 1229 | }, |
1179 | { | 1230 | { |
1180 | "name": "symfony/process", | 1231 | "name": "symfony/process", |
1181 | - "version": "v4.3.1", | 1232 | + "version": "v4.3.3", |
1182 | "source": { | 1233 | "source": { |
1183 | "type": "git", | 1234 | "type": "git", |
1184 | "url": "https://github.com/symfony/process.git", | 1235 | "url": "https://github.com/symfony/process.git", |
@@ -40,7 +40,7 @@ | @@ -40,7 +40,7 @@ | ||
40 | <td>{$vo.position}</td> | 40 | <td>{$vo.position}</td> |
41 | <td> | 41 | <td> |
42 | <notempty name="vo.avatar"> | 42 | <notempty name="vo.avatar"> |
43 | - <img width="25" height="25" src="{$vo.avatar}"/> | 43 | + <img width="25" height="25" src="{$host}{$vo.avatar}"/> |
44 | <else/> | 44 | <else/> |
45 | <img width="25" height="25" src="/themes/admin_simpleboot3/public/assets/images/headicon.png"> | 45 | <img width="25" height="25" src="/themes/admin_simpleboot3/public/assets/images/headicon.png"> |
46 | </notempty> | 46 | </notempty> |
@@ -39,7 +39,7 @@ | @@ -39,7 +39,7 @@ | ||
39 | <td>{$vo.position}</td> | 39 | <td>{$vo.position}</td> |
40 | <td> | 40 | <td> |
41 | <notempty name="vo.avatar"> | 41 | <notempty name="vo.avatar"> |
42 | - <img width="25" height="25" src="{:cmf_get_image_url($vo.avatar)}"/> | 42 | + <img width="25" height="25" src="{$host}{$vo.avatar}"/> |
43 | <else/> | 43 | <else/> |
44 | <img width="25" height="25" src="/themes/admin_simpleboot3/public/assets/images/headicon.png"> | 44 | <img width="25" height="25" src="/themes/admin_simpleboot3/public/assets/images/headicon.png"> |
45 | </notempty> | 45 | </notempty> |
@@ -24,7 +24,6 @@ | @@ -24,7 +24,6 @@ | ||
24 | <th>职称</th> | 24 | <th>职称</th> |
25 | <th>头像</th> | 25 | <th>头像</th> |
26 | <th>手机</th> | 26 | <th>手机</th> |
27 | - <th>项目组</th> | ||
28 | <th>公司名称</th> | 27 | <th>公司名称</th> |
29 | <th>子公司名称</th> | 28 | <th>子公司名称</th> |
30 | </tr> | 29 | </tr> |
@@ -40,13 +39,12 @@ | @@ -40,13 +39,12 @@ | ||
40 | <td>{$vo.identity_c}</td> | 39 | <td>{$vo.identity_c}</td> |
41 | <td> | 40 | <td> |
42 | <notempty name="vo.avatar"> | 41 | <notempty name="vo.avatar"> |
43 | - <img width="25" height="25" src="{:cmf_get_image_url($vo.avatar)}"/> | 42 | + <img width="25" height="25" src="{$host}{$vo.avatar}"/> |
44 | <else/> | 43 | <else/> |
45 | <img width="25" height="25" src="/themes/admin_simpleboot3/public/assets/images/headicon.png"> | 44 | <img width="25" height="25" src="/themes/admin_simpleboot3/public/assets/images/headicon.png"> |
46 | </notempty> | 45 | </notempty> |
47 | </td> | 46 | </td> |
48 | <td>{$vo.mobile}</td> | 47 | <td>{$vo.mobile}</td> |
49 | - <td></td> | ||
50 | <td>{$vo.company_name_head}</td> | 48 | <td>{$vo.company_name_head}</td> |
51 | <td>{$vo.company_name}</td> | 49 | <td>{$vo.company_name}</td> |
52 | </tr> | 50 | </tr> |
@@ -67,6 +67,7 @@ return array( | @@ -67,6 +67,7 @@ return array( | ||
67 | '75c79eb1b25749b05a47976f32b0d8a2' => $vendorDir . '/markbaker/matrix/classes/src/operations/divideby.php', | 67 | '75c79eb1b25749b05a47976f32b0d8a2' => $vendorDir . '/markbaker/matrix/classes/src/operations/divideby.php', |
68 | '6ab8ad87a734f276a6bcd5a0fe1289be' => $vendorDir . '/markbaker/matrix/classes/src/operations/divideinto.php', | 68 | '6ab8ad87a734f276a6bcd5a0fe1289be' => $vendorDir . '/markbaker/matrix/classes/src/operations/divideinto.php', |
69 | '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', | 69 | '2cffec82183ee1cea088009cef9a6fc3' => $vendorDir . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', |
70 | + '841780ea2e1d6545ea3a253239d59c05' => $vendorDir . '/qiniu/php-sdk/src/Qiniu/functions.php', | ||
70 | '1cfd2761b63b0a29ed23657ea394cb2d' => $vendorDir . '/topthink/think-captcha/src/helper.php', | 71 | '1cfd2761b63b0a29ed23657ea394cb2d' => $vendorDir . '/topthink/think-captcha/src/helper.php', |
71 | 'cc56288302d9df745d97c934d6a6e5f0' => $vendorDir . '/topthink/think-queue/src/common.php', | 72 | 'cc56288302d9df745d97c934d6a6e5f0' => $vendorDir . '/topthink/think-queue/src/common.php', |
72 | '644e9cafc67b331e17cc7661548f33d0' => $vendorDir . '/weiwei/api-doc/src/helper.php', | 73 | '644e9cafc67b331e17cc7661548f33d0' => $vendorDir . '/weiwei/api-doc/src/helper.php', |
@@ -14,6 +14,7 @@ return array( | @@ -14,6 +14,7 @@ return array( | ||
14 | 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), | 14 | 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), |
15 | 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), | 15 | 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), |
16 | 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'), | 16 | 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'), |
17 | + 'Qiniu\\' => array($vendorDir . '/qiniu/php-sdk/src/Qiniu'), | ||
17 | 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), | 18 | 'Psr\\SimpleCache\\' => array($vendorDir . '/psr/simple-cache/src'), |
18 | 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), | 19 | 'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'), |
19 | 'PhpOffice\\PhpSpreadsheet\\' => array($vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet'), | 20 | 'PhpOffice\\PhpSpreadsheet\\' => array($vendorDir . '/phpoffice/phpspreadsheet/src/PhpSpreadsheet'), |
@@ -68,6 +68,7 @@ class ComposerStaticInit929fb365b9981d29459d58f676689cf7 | @@ -68,6 +68,7 @@ class ComposerStaticInit929fb365b9981d29459d58f676689cf7 | ||
68 | '75c79eb1b25749b05a47976f32b0d8a2' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/operations/divideby.php', | 68 | '75c79eb1b25749b05a47976f32b0d8a2' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/operations/divideby.php', |
69 | '6ab8ad87a734f276a6bcd5a0fe1289be' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/operations/divideinto.php', | 69 | '6ab8ad87a734f276a6bcd5a0fe1289be' => __DIR__ . '/..' . '/markbaker/matrix/classes/src/operations/divideinto.php', |
70 | '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', | 70 | '2cffec82183ee1cea088009cef9a6fc3' => __DIR__ . '/..' . '/ezyang/htmlpurifier/library/HTMLPurifier.composer.php', |
71 | + '841780ea2e1d6545ea3a253239d59c05' => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu/functions.php', | ||
71 | '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php', | 72 | '1cfd2761b63b0a29ed23657ea394cb2d' => __DIR__ . '/..' . '/topthink/think-captcha/src/helper.php', |
72 | 'cc56288302d9df745d97c934d6a6e5f0' => __DIR__ . '/..' . '/topthink/think-queue/src/common.php', | 73 | 'cc56288302d9df745d97c934d6a6e5f0' => __DIR__ . '/..' . '/topthink/think-queue/src/common.php', |
73 | '644e9cafc67b331e17cc7661548f33d0' => __DIR__ . '/..' . '/weiwei/api-doc/src/helper.php', | 74 | '644e9cafc67b331e17cc7661548f33d0' => __DIR__ . '/..' . '/weiwei/api-doc/src/helper.php', |
@@ -91,6 +92,10 @@ class ComposerStaticInit929fb365b9981d29459d58f676689cf7 | @@ -91,6 +92,10 @@ class ComposerStaticInit929fb365b9981d29459d58f676689cf7 | ||
91 | 'Symfony\\Component\\Process\\' => 26, | 92 | 'Symfony\\Component\\Process\\' => 26, |
92 | 'Symfony\\Component\\Filesystem\\' => 29, | 93 | 'Symfony\\Component\\Filesystem\\' => 29, |
93 | ), | 94 | ), |
95 | + 'Q' => | ||
96 | + array ( | ||
97 | + 'Qiniu\\' => 6, | ||
98 | + ), | ||
94 | 'P' => | 99 | 'P' => |
95 | array ( | 100 | array ( |
96 | 'Psr\\SimpleCache\\' => 16, | 101 | 'Psr\\SimpleCache\\' => 16, |
@@ -155,6 +160,10 @@ class ComposerStaticInit929fb365b9981d29459d58f676689cf7 | @@ -155,6 +160,10 @@ class ComposerStaticInit929fb365b9981d29459d58f676689cf7 | ||
155 | array ( | 160 | array ( |
156 | 0 => __DIR__ . '/..' . '/symfony/filesystem', | 161 | 0 => __DIR__ . '/..' . '/symfony/filesystem', |
157 | ), | 162 | ), |
163 | + 'Qiniu\\' => | ||
164 | + array ( | ||
165 | + 0 => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu', | ||
166 | + ), | ||
158 | 'Psr\\SimpleCache\\' => | 167 | 'Psr\\SimpleCache\\' => |
159 | array ( | 168 | array ( |
160 | 0 => __DIR__ . '/..' . '/psr/simple-cache/src', | 169 | 0 => __DIR__ . '/..' . '/psr/simple-cache/src', |
@@ -235,26 +235,26 @@ | @@ -235,26 +235,26 @@ | ||
235 | }, | 235 | }, |
236 | { | 236 | { |
237 | "name": "ezyang/htmlpurifier", | 237 | "name": "ezyang/htmlpurifier", |
238 | - "version": "v4.10.0", | ||
239 | - "version_normalized": "4.10.0.0", | 238 | + "version": "v4.11.0", |
239 | + "version_normalized": "4.11.0.0", | ||
240 | "source": { | 240 | "source": { |
241 | "type": "git", | 241 | "type": "git", |
242 | "url": "https://github.com/ezyang/htmlpurifier.git", | 242 | "url": "https://github.com/ezyang/htmlpurifier.git", |
243 | - "reference": "d85d39da4576a6934b72480be6978fb10c860021" | 243 | + "reference": "83ab08bc1af7d808a9e0fbf024f1c24bfd73c0a7" |
244 | }, | 244 | }, |
245 | "dist": { | 245 | "dist": { |
246 | "type": "zip", | 246 | "type": "zip", |
247 | - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021", | ||
248 | - "reference": "d85d39da4576a6934b72480be6978fb10c860021", | 247 | + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/83ab08bc1af7d808a9e0fbf024f1c24bfd73c0a7", |
248 | + "reference": "83ab08bc1af7d808a9e0fbf024f1c24bfd73c0a7", | ||
249 | "shasum": "" | 249 | "shasum": "" |
250 | }, | 250 | }, |
251 | "require": { | 251 | "require": { |
252 | "php": ">=5.2" | 252 | "php": ">=5.2" |
253 | }, | 253 | }, |
254 | "require-dev": { | 254 | "require-dev": { |
255 | - "simpletest/simpletest": "^1.1" | 255 | + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" |
256 | }, | 256 | }, |
257 | - "time": "2018-02-23T01:58:20+00:00", | 257 | + "time": "2019-07-14T18:58:38+00:00", |
258 | "type": "library", | 258 | "type": "library", |
259 | "installation-source": "dist", | 259 | "installation-source": "dist", |
260 | "autoload": { | 260 | "autoload": { |
@@ -267,7 +267,7 @@ | @@ -267,7 +267,7 @@ | ||
267 | }, | 267 | }, |
268 | "notification-url": "https://packagist.org/downloads/", | 268 | "notification-url": "https://packagist.org/downloads/", |
269 | "license": [ | 269 | "license": [ |
270 | - "LGPL" | 270 | + "LGPL-2.1-or-later" |
271 | ], | 271 | ], |
272 | "authors": [ | 272 | "authors": [ |
273 | { | 273 | { |
@@ -902,17 +902,17 @@ | @@ -902,17 +902,17 @@ | ||
902 | }, | 902 | }, |
903 | { | 903 | { |
904 | "name": "phpoffice/phpspreadsheet", | 904 | "name": "phpoffice/phpspreadsheet", |
905 | - "version": "1.8.1", | ||
906 | - "version_normalized": "1.8.1.0", | 905 | + "version": "1.8.2", |
906 | + "version_normalized": "1.8.2.0", | ||
907 | "source": { | 907 | "source": { |
908 | "type": "git", | 908 | "type": "git", |
909 | "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", | 909 | "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", |
910 | - "reference": "352c7002fefe4e4037d02654d853a1b09520946f" | 910 | + "reference": "0c1346a1956347590b7db09533966307d20cb7cc" |
911 | }, | 911 | }, |
912 | "dist": { | 912 | "dist": { |
913 | "type": "zip", | 913 | "type": "zip", |
914 | - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/352c7002fefe4e4037d02654d853a1b09520946f", | ||
915 | - "reference": "352c7002fefe4e4037d02654d853a1b09520946f", | 914 | + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/0c1346a1956347590b7db09533966307d20cb7cc", |
915 | + "reference": "0c1346a1956347590b7db09533966307d20cb7cc", | ||
916 | "shasum": "" | 916 | "shasum": "" |
917 | }, | 917 | }, |
918 | "require": { | 918 | "require": { |
@@ -951,7 +951,7 @@ | @@ -951,7 +951,7 @@ | ||
951 | "mpdf/mpdf": "Option for rendering PDF with PDF Writer", | 951 | "mpdf/mpdf": "Option for rendering PDF with PDF Writer", |
952 | "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" | 952 | "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" |
953 | }, | 953 | }, |
954 | - "time": "2019-07-01T20:46:51+00:00", | 954 | + "time": "2019-07-08T21:21:25+00:00", |
955 | "type": "library", | 955 | "type": "library", |
956 | "installation-source": "dist", | 956 | "installation-source": "dist", |
957 | "autoload": { | 957 | "autoload": { |
@@ -1096,25 +1096,78 @@ | @@ -1096,25 +1096,78 @@ | ||
1096 | ] | 1096 | ] |
1097 | }, | 1097 | }, |
1098 | { | 1098 | { |
1099 | + "name": "qiniu/php-sdk", | ||
1100 | + "version": "v7.2.9", | ||
1101 | + "version_normalized": "7.2.9.0", | ||
1102 | + "source": { | ||
1103 | + "type": "git", | ||
1104 | + "url": "https://github.com/qiniu/php-sdk.git", | ||
1105 | + "reference": "afe7d8715d8a688b1d8d8cdf031240d2363dad90" | ||
1106 | + }, | ||
1107 | + "dist": { | ||
1108 | + "type": "zip", | ||
1109 | + "url": "https://api.github.com/repos/qiniu/php-sdk/zipball/afe7d8715d8a688b1d8d8cdf031240d2363dad90", | ||
1110 | + "reference": "afe7d8715d8a688b1d8d8cdf031240d2363dad90", | ||
1111 | + "shasum": "" | ||
1112 | + }, | ||
1113 | + "require": { | ||
1114 | + "php": ">=5.3.3" | ||
1115 | + }, | ||
1116 | + "require-dev": { | ||
1117 | + "phpunit/phpunit": "~4.0", | ||
1118 | + "squizlabs/php_codesniffer": "~2.3" | ||
1119 | + }, | ||
1120 | + "time": "2019-07-09T07:55:07+00:00", | ||
1121 | + "type": "library", | ||
1122 | + "installation-source": "dist", | ||
1123 | + "autoload": { | ||
1124 | + "psr-4": { | ||
1125 | + "Qiniu\\": "src/Qiniu" | ||
1126 | + }, | ||
1127 | + "files": [ | ||
1128 | + "src/Qiniu/functions.php" | ||
1129 | + ] | ||
1130 | + }, | ||
1131 | + "notification-url": "https://packagist.org/downloads/", | ||
1132 | + "license": [ | ||
1133 | + "MIT" | ||
1134 | + ], | ||
1135 | + "authors": [ | ||
1136 | + { | ||
1137 | + "name": "Qiniu", | ||
1138 | + "email": "sdk@qiniu.com", | ||
1139 | + "homepage": "http://www.qiniu.com" | ||
1140 | + } | ||
1141 | + ], | ||
1142 | + "description": "Qiniu Resource (Cloud) Storage SDK for PHP", | ||
1143 | + "homepage": "http://developer.qiniu.com/", | ||
1144 | + "keywords": [ | ||
1145 | + "cloud", | ||
1146 | + "qiniu", | ||
1147 | + "sdk", | ||
1148 | + "storage" | ||
1149 | + ] | ||
1150 | + }, | ||
1151 | + { | ||
1099 | "name": "symfony/filesystem", | 1152 | "name": "symfony/filesystem", |
1100 | - "version": "v4.3.1", | ||
1101 | - "version_normalized": "4.3.1.0", | 1153 | + "version": "v4.3.3", |
1154 | + "version_normalized": "4.3.3.0", | ||
1102 | "source": { | 1155 | "source": { |
1103 | "type": "git", | 1156 | "type": "git", |
1104 | "url": "https://github.com/symfony/filesystem.git", | 1157 | "url": "https://github.com/symfony/filesystem.git", |
1105 | - "reference": "bf2af40d738dec5e433faea7b00daa4431d0a4cf" | 1158 | + "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d" |
1106 | }, | 1159 | }, |
1107 | "dist": { | 1160 | "dist": { |
1108 | "type": "zip", | 1161 | "type": "zip", |
1109 | - "url": "https://api.github.com/repos/symfony/filesystem/zipball/bf2af40d738dec5e433faea7b00daa4431d0a4cf", | ||
1110 | - "reference": "bf2af40d738dec5e433faea7b00daa4431d0a4cf", | 1162 | + "url": "https://api.github.com/repos/symfony/filesystem/zipball/b9896d034463ad6fd2bf17e2bf9418caecd6313d", |
1163 | + "reference": "b9896d034463ad6fd2bf17e2bf9418caecd6313d", | ||
1111 | "shasum": "" | 1164 | "shasum": "" |
1112 | }, | 1165 | }, |
1113 | "require": { | 1166 | "require": { |
1114 | "php": "^7.1.3", | 1167 | "php": "^7.1.3", |
1115 | "symfony/polyfill-ctype": "~1.8" | 1168 | "symfony/polyfill-ctype": "~1.8" |
1116 | }, | 1169 | }, |
1117 | - "time": "2019-06-03T20:27:40+00:00", | 1170 | + "time": "2019-06-23T08:51:25+00:00", |
1118 | "type": "library", | 1171 | "type": "library", |
1119 | "extra": { | 1172 | "extra": { |
1120 | "branch-alias": { | 1173 | "branch-alias": { |
@@ -1209,8 +1262,8 @@ | @@ -1209,8 +1262,8 @@ | ||
1209 | }, | 1262 | }, |
1210 | { | 1263 | { |
1211 | "name": "symfony/process", | 1264 | "name": "symfony/process", |
1212 | - "version": "v4.3.1", | ||
1213 | - "version_normalized": "4.3.1.0", | 1265 | + "version": "v4.3.3", |
1266 | + "version_normalized": "4.3.3.0", | ||
1214 | "source": { | 1267 | "source": { |
1215 | "type": "git", | 1268 | "type": "git", |
1216 | "url": "https://github.com/symfony/process.git", | 1269 | "url": "https://github.com/symfony/process.git", |
@@ -15,7 +15,7 @@ with these contents. | @@ -15,7 +15,7 @@ with these contents. | ||
15 | --------------------------------------------------------------------------- | 15 | --------------------------------------------------------------------------- |
16 | 1. Compatibility | 16 | 1. Compatibility |
17 | 17 | ||
18 | -HTML Purifier is PHP 5 and PHP 7, and is actively tested from PHP 5.0.5 | 18 | +HTML Purifier is PHP 5 and PHP 7, and is actively tested from PHP 5.3 |
19 | and up. It has no core dependencies with other libraries. | 19 | and up. It has no core dependencies with other libraries. |
20 | 20 | ||
21 | These optional extensions can enhance the capabilities of HTML Purifier: | 21 | These optional extensions can enhance the capabilities of HTML Purifier: |
@@ -101,31 +101,6 @@ Autoload compatibility | @@ -101,31 +101,6 @@ Autoload compatibility | ||
101 | autoloader, but there are some cases where you will need to change | 101 | autoloader, but there are some cases where you will need to change |
102 | your own code to accomodate HTML Purifier. These are those cases: | 102 | your own code to accomodate HTML Purifier. These are those cases: |
103 | 103 | ||
104 | - PHP VERSION IS LESS THAN 5.1.2, AND YOU'VE DEFINED __autoload | ||
105 | - Because spl_autoload_register() doesn't exist in early versions | ||
106 | - of PHP 5, HTML Purifier has no way of adding itself to the autoload | ||
107 | - stack. Modify your __autoload function to test | ||
108 | - HTMLPurifier_Bootstrap::autoload($class) | ||
109 | - | ||
110 | - For example, suppose your autoload function looks like this: | ||
111 | - | ||
112 | - function __autoload($class) { | ||
113 | - require str_replace('_', '/', $class) . '.php'; | ||
114 | - return true; | ||
115 | - } | ||
116 | - | ||
117 | - A modified version with HTML Purifier would look like this: | ||
118 | - | ||
119 | - function __autoload($class) { | ||
120 | - if (HTMLPurifier_Bootstrap::autoload($class)) return true; | ||
121 | - require str_replace('_', '/', $class) . '.php'; | ||
122 | - return true; | ||
123 | - } | ||
124 | - | ||
125 | - Note that there *is* some custom behavior in our autoloader; the | ||
126 | - original autoloader in our example would work for 99% of the time, | ||
127 | - but would fail when including language files. | ||
128 | - | ||
129 | AN __autoload FUNCTION IS DECLARED AFTER OUR AUTOLOADER IS REGISTERED | 104 | AN __autoload FUNCTION IS DECLARED AFTER OUR AUTOLOADER IS REGISTERED |
130 | spl_autoload_register() has the curious behavior of disabling | 105 | spl_autoload_register() has the curious behavior of disabling |
131 | the existing __autoload() handler. Users need to explicitly | 106 | the existing __autoload() handler. Users need to explicitly |
@@ -138,11 +113,6 @@ Autoload compatibility | @@ -138,11 +113,6 @@ Autoload compatibility | ||
138 | 113 | ||
139 | spl_autoload_register('__autoload') | 114 | spl_autoload_register('__autoload') |
140 | 115 | ||
141 | - Users should also be on guard if they use a version of PHP previous | ||
142 | - to 5.1.2 without an autoloader--HTML Purifier will define __autoload() | ||
143 | - for you, which can collide with an autoloader that was added by *you* | ||
144 | - later. | ||
145 | - | ||
146 | 116 | ||
147 | For better performance | 117 | For better performance |
148 | ---------------------- | 118 | ---------------------- |
@@ -204,9 +174,7 @@ For advanced users | @@ -204,9 +174,7 @@ For advanced users | ||
204 | HTMLPurifier.autoload.php | 174 | HTMLPurifier.autoload.php |
205 | Registers our autoload handler HTMLPurifier_Bootstrap::autoload($class). | 175 | Registers our autoload handler HTMLPurifier_Bootstrap::autoload($class). |
206 | 176 | ||
207 | - You can do these operations by yourself--in fact, you must modify your own | ||
208 | - autoload handler if you are using a version of PHP earlier than PHP 5.1.2 | ||
209 | - (See "Autoload compatibility" above). | 177 | + You can do these operations by yourself, if you like. |
210 | 178 | ||
211 | 179 | ||
212 | --------------------------------------------------------------------------- | 180 | --------------------------------------------------------------------------- |
@@ -11,7 +11,7 @@ pied de page, mais je recommande de lire le document. | @@ -11,7 +11,7 @@ pied de page, mais je recommande de lire le document. | ||
11 | 11 | ||
12 | 1. Compatibilité | 12 | 1. Compatibilité |
13 | 13 | ||
14 | -HTML Purifier fonctionne avec PHP 5. PHP 5.0.5 est la dernière version testée. | 14 | +HTML Purifier fonctionne avec PHP 5. PHP 5.3 est la dernière version testée. |
15 | Il ne dépend pas d'autres librairies. | 15 | Il ne dépend pas d'autres librairies. |
16 | 16 | ||
17 | Les extensions optionnelles sont iconv (généralement déjà installée) et tidy | 17 | Les extensions optionnelles sont iconv (généralement déjà installée) et tidy |
@@ -9,6 +9,34 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier | @@ -9,6 +9,34 @@ NEWS ( CHANGELOG and HISTORY ) HTMLPurifier | ||
9 | . Internal change | 9 | . Internal change |
10 | ========================== | 10 | ========================== |
11 | 11 | ||
12 | +4.11.0, released 2019-07-14 | ||
13 | +# SafeScripting now matches case-sensitively against its whitelist (previously it was | ||
14 | + case-insensitive.) Thanks Dimitri Gritsajuk <gritsajuk.dimitri@gmail.com> | ||
15 | + for reporting. | ||
16 | +! New directive %Core.AllowParseManyTags which allows parsing of many nested tags. | ||
17 | + Thanks M. Suzuki <msuzuki1986@gmail.com> for contributing the patch. | ||
18 | +! purifyArray now supports multidimensional arrays. Thanks | ||
19 | + Sandro Miguel Marques <sandromiguel@sandromiguel.com> for contributing this patch. | ||
20 | +! initial and inherit settings available for width, height, and the min-/max- | ||
21 | + versions thereof. Thanks Michael Kliewe <info@phpgansta.de> for contributing | ||
22 | + this patch. | ||
23 | +! More color names are supported. Thanks Daijobou for contributing. | ||
24 | +- Compatibility fixes for PHP 7.3, including new CI for PHP 7.3 | ||
25 | + (thank you Lukas Neumann <lksnmnn@gmail.com>) and removal of | ||
26 | + reserved words in our constants (thanks Darko Hrgovic <darko@darkodev.com> | ||
27 | +- Compatibility fixes for HHVM. Thanks Mateusz Turcza for contributing | ||
28 | + this fix. | ||
29 | +- HTML Purifier now never defines __autoload, fixing #196. Thanks | ||
30 | + Michael Kliewe for reporting. | ||
31 | +- In some situations, Config.php would report an undefined index: class | ||
32 | + error; this has been fixed. Thanks DiLong Fa for contributing | ||
33 | + this fix. | ||
34 | +- We no longer produce <script /> tags; we always explicitly write | ||
35 | + out the open and close tag. Thanks Dimitri Gritsajuk | ||
36 | + <gritsajuk.dimitri@gmail.com> for contributing this fix. | ||
37 | +- Better compatibility when IDNA constants are not present. Thanks | ||
38 | + Mateusz Turcza <xemlock@gmail.com> for contributing this fix. | ||
39 | + | ||
12 | 4.10.0, released 2018-02-22 | 40 | 4.10.0, released 2018-02-22 |
13 | # PHP 5.3 is no longer officially supported by HTML Purifier | 41 | # PHP 5.3 is no longer officially supported by HTML Purifier |
14 | (we did not specifically break support, but we are no longer | 42 | (we did not specifically break support, but we are no longer |
@@ -26,4 +26,4 @@ Package available on [Composer](https://packagist.org/packages/ezyang/htmlpurifi | @@ -26,4 +26,4 @@ Package available on [Composer](https://packagist.org/packages/ezyang/htmlpurifi | ||
26 | 26 | ||
27 | If you're using Composer to manage dependencies, you can use | 27 | If you're using Composer to manage dependencies, you can use |
28 | 28 | ||
29 | - $ composer require "ezyang/htmlpurifier":"dev-master" | 29 | + $ composer require ezyang/htmlpurifier |
1 | -HTML Purifier 4.9.x is a maintenance release, collecting a year | ||
2 | -of accumulated bug fixes plus a few new features. New features | ||
3 | -include support for min/max-width/height CSS, and rgba/hsl/hsla | ||
4 | -in color specifications. Major bugfixes include improvements | ||
5 | -in the Serializer cache to avoid chmod'ing directories, better | ||
6 | -entity decoding (we won't accidentally encode entities that occur | ||
7 | -in URLs) and rel="noopener" on links with target attributes, | ||
8 | -to prevent them from overwriting the original frame. | ||
9 | - | ||
10 | -4.9.3 works around an infinite loop bug in PHP 7.1 with the opcode | ||
11 | -cache (and has one other, minor bugfix, avoiding using autoloading | ||
12 | -when testing for DOMDocument presence). If these bugs do not | ||
13 | -affect you, you do not need to upgrade. | 1 | +HTML Purifier 4.11.x is a maintenance release, collecting a year |
2 | +and a half of accumulated bug fixes. Most notable fixes are | ||
3 | +compatibility with PHP 7.3, and case-sensitive matching for | ||
4 | +the SafeScripting whitelist. There are a number small feature | ||
5 | +enhancements, including an expanded supported color list, | ||
6 | +initial and inherit support for {min-,max-,}{width,height} | ||
7 | +and multidimensional array support for purifyArray. |
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | "type": "library", | 4 | "type": "library", |
5 | "keywords": ["html"], | 5 | "keywords": ["html"], |
6 | "homepage": "http://htmlpurifier.org/", | 6 | "homepage": "http://htmlpurifier.org/", |
7 | - "license": "LGPL", | 7 | + "license": "LGPL-2.1-or-later", |
8 | "authors": [ | 8 | "authors": [ |
9 | { | 9 | { |
10 | "name": "Edward Z. Yang", | 10 | "name": "Edward Z. Yang", |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | "php": ">=5.2" | 16 | "php": ">=5.2" |
17 | }, | 17 | }, |
18 | "require-dev": { | 18 | "require-dev": { |
19 | - "simpletest/simpletest": "^1.1" | 19 | + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" |
20 | }, | 20 | }, |
21 | "autoload": { | 21 | "autoload": { |
22 | "psr-0": { "HTMLPurifier": "library/" }, | 22 | "psr-0": { "HTMLPurifier": "library/" }, |
@@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||
7 | * primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS | 7 | * primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS |
8 | * FILE, changes will be overwritten the next time the script is run. | 8 | * FILE, changes will be overwritten the next time the script is run. |
9 | * | 9 | * |
10 | - * @version 4.10.0 | 10 | + * @version 4.11.0 |
11 | * | 11 | * |
12 | * @warning | 12 | * @warning |
13 | * You must *not* include any other HTML Purifier files before this file, | 13 | * You must *not* include any other HTML Purifier files before this file, |
@@ -19,7 +19,7 @@ | @@ -19,7 +19,7 @@ | ||
19 | */ | 19 | */ |
20 | 20 | ||
21 | /* | 21 | /* |
22 | - HTML Purifier 4.10.0 - Standards Compliant HTML Filtering | 22 | + HTML Purifier 4.11.0 - Standards Compliant HTML Filtering |
23 | Copyright (C) 2006-2008 Edward Z. Yang | 23 | Copyright (C) 2006-2008 Edward Z. Yang |
24 | 24 | ||
25 | This library is free software; you can redistribute it and/or | 25 | This library is free software; you can redistribute it and/or |
@@ -58,12 +58,12 @@ class HTMLPurifier | @@ -58,12 +58,12 @@ class HTMLPurifier | ||
58 | * Version of HTML Purifier. | 58 | * Version of HTML Purifier. |
59 | * @type string | 59 | * @type string |
60 | */ | 60 | */ |
61 | - public $version = '4.10.0'; | 61 | + public $version = '4.11.0'; |
62 | 62 | ||
63 | /** | 63 | /** |
64 | * Constant with version of HTML Purifier. | 64 | * Constant with version of HTML Purifier. |
65 | */ | 65 | */ |
66 | - const VERSION = '4.10.0'; | 66 | + const VERSION = '4.11.0'; |
67 | 67 | ||
68 | /** | 68 | /** |
69 | * Global configuration object. | 69 | * Global configuration object. |
@@ -240,12 +240,16 @@ class HTMLPurifier | @@ -240,12 +240,16 @@ class HTMLPurifier | ||
240 | public function purifyArray($array_of_html, $config = null) | 240 | public function purifyArray($array_of_html, $config = null) |
241 | { | 241 | { |
242 | $context_array = array(); | 242 | $context_array = array(); |
243 | - foreach ($array_of_html as $key => $html) { | ||
244 | - $array_of_html[$key] = $this->purify($html, $config); | 243 | + foreach($array_of_html as $key=>$value){ |
244 | + if (is_array($value)) { | ||
245 | + $array[$key] = $this->purifyArray($value, $config); | ||
246 | + } else { | ||
247 | + $array[$key] = $this->purify($value, $config); | ||
248 | + } | ||
245 | $context_array[$key] = $this->context; | 249 | $context_array[$key] = $this->context; |
246 | } | 250 | } |
247 | $this->context = $context_array; | 251 | $this->context = $context_array; |
248 | - return $array_of_html; | 252 | + return $array; |
249 | } | 253 | } |
250 | 254 | ||
251 | /** | 255 | /** |
@@ -97,7 +97,11 @@ class HTMLPurifier_AttrDef_URI_Host extends HTMLPurifier_AttrDef | @@ -97,7 +97,11 @@ class HTMLPurifier_AttrDef_URI_Host extends HTMLPurifier_AttrDef | ||
97 | 97 | ||
98 | // PHP 5.3 and later support this functionality natively | 98 | // PHP 5.3 and later support this functionality natively |
99 | if (function_exists('idn_to_ascii')) { | 99 | if (function_exists('idn_to_ascii')) { |
100 | - $string = idn_to_ascii($string, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); | 100 | + if (defined('IDNA_NONTRANSITIONAL_TO_ASCII') && defined('INTL_IDNA_VARIANT_UTS46')) { |
101 | + $string = idn_to_ascii($string, IDNA_NONTRANSITIONAL_TO_ASCII, INTL_IDNA_VARIANT_UTS46); | ||
102 | + } else { | ||
103 | + $string = idn_to_ascii($string); | ||
104 | + } | ||
101 | 105 | ||
102 | // If we have Net_IDNA2 support, we can support IRIs by | 106 | // If we have Net_IDNA2 support, we can support IRIs by |
103 | // punycoding them. (This is the most portable thing to do, | 107 | // punycoding them. (This is the most portable thing to do, |
@@ -220,15 +220,25 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition | @@ -220,15 +220,25 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition | ||
220 | array( | 220 | array( |
221 | new HTMLPurifier_AttrDef_CSS_Length('0'), | 221 | new HTMLPurifier_AttrDef_CSS_Length('0'), |
222 | new HTMLPurifier_AttrDef_CSS_Percentage(true), | 222 | new HTMLPurifier_AttrDef_CSS_Percentage(true), |
223 | - new HTMLPurifier_AttrDef_Enum(array('auto')) | 223 | + new HTMLPurifier_AttrDef_Enum(array('auto', 'initial', 'inherit')) |
224 | + ) | ||
225 | + ); | ||
226 | + $trusted_min_wh = new HTMLPurifier_AttrDef_CSS_Composite( | ||
227 | + array( | ||
228 | + new HTMLPurifier_AttrDef_CSS_Length('0'), | ||
229 | + new HTMLPurifier_AttrDef_CSS_Percentage(true), | ||
230 | + new HTMLPurifier_AttrDef_Enum(array('initial', 'inherit')) | ||
231 | + ) | ||
232 | + ); | ||
233 | + $trusted_max_wh = new HTMLPurifier_AttrDef_CSS_Composite( | ||
234 | + array( | ||
235 | + new HTMLPurifier_AttrDef_CSS_Length('0'), | ||
236 | + new HTMLPurifier_AttrDef_CSS_Percentage(true), | ||
237 | + new HTMLPurifier_AttrDef_Enum(array('none', 'initial', 'inherit')) | ||
224 | ) | 238 | ) |
225 | ); | 239 | ); |
226 | $max = $config->get('CSS.MaxImgLength'); | 240 | $max = $config->get('CSS.MaxImgLength'); |
227 | 241 | ||
228 | - $this->info['min-width'] = | ||
229 | - $this->info['max-width'] = | ||
230 | - $this->info['min-height'] = | ||
231 | - $this->info['max-height'] = | ||
232 | $this->info['width'] = | 242 | $this->info['width'] = |
233 | $this->info['height'] = | 243 | $this->info['height'] = |
234 | $max === null ? | 244 | $max === null ? |
@@ -245,6 +255,38 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition | @@ -245,6 +255,38 @@ class HTMLPurifier_CSSDefinition extends HTMLPurifier_Definition | ||
245 | // For everyone else: | 255 | // For everyone else: |
246 | $trusted_wh | 256 | $trusted_wh |
247 | ); | 257 | ); |
258 | + $this->info['min-width'] = | ||
259 | + $this->info['min-height'] = | ||
260 | + $max === null ? | ||
261 | + $trusted_min_wh : | ||
262 | + new HTMLPurifier_AttrDef_Switch( | ||
263 | + 'img', | ||
264 | + // For img tags: | ||
265 | + new HTMLPurifier_AttrDef_CSS_Composite( | ||
266 | + array( | ||
267 | + new HTMLPurifier_AttrDef_CSS_Length('0', $max), | ||
268 | + new HTMLPurifier_AttrDef_Enum(array('initial', 'inherit')) | ||
269 | + ) | ||
270 | + ), | ||
271 | + // For everyone else: | ||
272 | + $trusted_min_wh | ||
273 | + ); | ||
274 | + $this->info['max-width'] = | ||
275 | + $this->info['max-height'] = | ||
276 | + $max === null ? | ||
277 | + $trusted_max_wh : | ||
278 | + new HTMLPurifier_AttrDef_Switch( | ||
279 | + 'img', | ||
280 | + // For img tags: | ||
281 | + new HTMLPurifier_AttrDef_CSS_Composite( | ||
282 | + array( | ||
283 | + new HTMLPurifier_AttrDef_CSS_Length('0', $max), | ||
284 | + new HTMLPurifier_AttrDef_Enum(array('none', 'initial', 'inherit')) | ||
285 | + ) | ||
286 | + ), | ||
287 | + // For everyone else: | ||
288 | + $trusted_max_wh | ||
289 | + ); | ||
248 | 290 | ||
249 | $this->info['text-decoration'] = new HTMLPurifier_AttrDef_CSS_TextDecoration(); | 291 | $this->info['text-decoration'] = new HTMLPurifier_AttrDef_CSS_TextDecoration(); |
250 | 292 |
@@ -21,7 +21,7 @@ class HTMLPurifier_Config | @@ -21,7 +21,7 @@ class HTMLPurifier_Config | ||
21 | * HTML Purifier's version | 21 | * HTML Purifier's version |
22 | * @type string | 22 | * @type string |
23 | */ | 23 | */ |
24 | - public $version = '4.10.0'; | 24 | + public $version = '4.11.0'; |
25 | 25 | ||
26 | /** | 26 | /** |
27 | * Whether or not to automatically finalize | 27 | * Whether or not to automatically finalize |
@@ -890,7 +890,7 @@ class HTMLPurifier_Config | @@ -890,7 +890,7 @@ class HTMLPurifier_Config | ||
890 | // zip(tail(trace), trace) -- but PHP is not Haskell har har | 890 | // zip(tail(trace), trace) -- but PHP is not Haskell har har |
891 | for ($i = 0, $c = count($trace); $i < $c - 1; $i++) { | 891 | for ($i = 0, $c = count($trace); $i < $c - 1; $i++) { |
892 | // XXX this is not correct on some versions of HTML Purifier | 892 | // XXX this is not correct on some versions of HTML Purifier |
893 | - if ($trace[$i + 1]['class'] === 'HTMLPurifier_Config') { | 893 | + if (isset($trace[$i + 1]['class']) && $trace[$i + 1]['class'] === 'HTMLPurifier_Config') { |
894 | continue; | 894 | continue; |
895 | } | 895 | } |
896 | $frame = $trace[$i]; | 896 | $frame = $trace[$i]; |
@@ -100,7 +100,7 @@ class HTMLPurifier_ConfigSchema | @@ -100,7 +100,7 @@ class HTMLPurifier_ConfigSchema | ||
100 | * @param string $key Name of directive | 100 | * @param string $key Name of directive |
101 | * @param mixed $default Default value of directive | 101 | * @param mixed $default Default value of directive |
102 | * @param string $type Allowed type of the directive. See | 102 | * @param string $type Allowed type of the directive. See |
103 | - * HTMLPurifier_DirectiveDef::$type for allowed values | 103 | + * HTMLPurifier_VarParser::$types for allowed values |
104 | * @param bool $allow_null Whether or not to allow null values | 104 | * @param bool $allow_null Whether or not to allow null values |
105 | */ | 105 | */ |
106 | public function add($key, $default, $type, $allow_null) | 106 | public function add($key, $default, $type, $allow_null) |
1 | BO:25:"HTMLPurifier_ConfigSchema":3:{s:8:"defaults";a:126:{s:19:"Attr.AllowedClasses";N;s:24:"Attr.AllowedFrameTargets";a:0:{}s:15:"Attr.AllowedRel";a:0:{}s:15:"Attr.AllowedRev";a:0:{}s:18:"Attr.ClassUseCDATA";N;s:20:"Attr.DefaultImageAlt";N;s:24:"Attr.DefaultInvalidImage";s:0:"";s:27:"Attr.DefaultInvalidImageAlt";s:13:"Invalid image";s:19:"Attr.DefaultTextDir";s:3:"ltr";s:13:"Attr.EnableID";b:0;s:21:"Attr.ForbiddenClasses";a:0:{}s:13:"Attr.ID.HTML5";N;s:16:"Attr.IDBlacklist";a:0:{}s:22:"Attr.IDBlacklistRegexp";N;s:13:"Attr.IDPrefix";s:0:"";s:18:"Attr.IDPrefixLocal";s:0:"";s:24:"AutoFormat.AutoParagraph";b:0;s:17:"AutoFormat.Custom";a:0:{}s:25:"AutoFormat.DisplayLinkURI";b:0;s:18:"AutoFormat.Linkify";b:0;s:33:"AutoFormat.PurifierLinkify.DocURL";s:3:"#%s";s:26:"AutoFormat.PurifierLinkify";b:0;s:32:"AutoFormat.RemoveEmpty.Predicate";a:4:{s:8:"colgroup";a:0:{}s:2:"th";a:0:{}s:2:"td";a:0:{}s:6:"iframe";a:1:{i:0;s:3:"src";}}s:44:"AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions";a:2:{s:2:"td";b:1;s:2:"th";b:1;}s:33:"AutoFormat.RemoveEmpty.RemoveNbsp";b:0;s:22:"AutoFormat.RemoveEmpty";b:0;s:39:"AutoFormat.RemoveSpansWithoutAttributes";b:0;s:19:"CSS.AllowDuplicates";b:0;s:18:"CSS.AllowImportant";b:0;s:15:"CSS.AllowTricky";b:0;s:16:"CSS.AllowedFonts";N;s:21:"CSS.AllowedProperties";N;s:17:"CSS.DefinitionRev";i:1;s:23:"CSS.ForbiddenProperties";a:0:{}s:16:"CSS.MaxImgLength";s:6:"1200px";s:15:"CSS.Proprietary";b:0;s:11:"CSS.Trusted";b:0;s:20:"Cache.DefinitionImpl";s:10:"Serializer";s:20:"Cache.SerializerPath";N;s:27:"Cache.SerializerPermissions";i:493;s:22:"Core.AggressivelyFixLt";b:1;s:29:"Core.AggressivelyRemoveScript";b:1;s:28:"Core.AllowHostnameUnderscore";b:0;s:23:"Core.AllowParseManyTags";b:0;s:18:"Core.CollectErrors";b:0;s:18:"Core.ColorKeywords";a:148:{s:9:"aliceblue";s:7:"#F0F8FF";s:12:"antiquewhite";s:7:"#FAEBD7";s:4:"aqua";s:7:"#00FFFF";s:10:"aquamarine";s:7:"#7FFFD4";s:5:"azure";s:7:"#F0FFFF";s:5:"beige";s:7:"#F5F5DC";s:6:"bisque";s:7:"#FFE4C4";s:5:"black";s:7:"#000000";s:14:"blanchedalmond";s:7:"#FFEBCD";s:4:"blue";s:7:"#0000FF";s:10:"blueviolet";s:7:"#8A2BE2";s:5:"brown";s:7:"#A52A2A";s:9:"burlywood";s:7:"#DEB887";s:9:"cadetblue";s:7:"#5F9EA0";s:10:"chartreuse";s:7:"#7FFF00";s:9:"chocolate";s:7:"#D2691E";s:5:"coral";s:7:"#FF7F50";s:14:"cornflowerblue";s:7:"#6495ED";s:8:"cornsilk";s:7:"#FFF8DC";s:7:"crimson";s:7:"#DC143C";s:4:"cyan";s:7:"#00FFFF";s:8:"darkblue";s:7:"#00008B";s:8:"darkcyan";s:7:"#008B8B";s:13:"darkgoldenrod";s:7:"#B8860B";s:8:"darkgray";s:7:"#A9A9A9";s:8:"darkgrey";s:7:"#A9A9A9";s:9:"darkgreen";s:7:"#006400";s:9:"darkkhaki";s:7:"#BDB76B";s:11:"darkmagenta";s:7:"#8B008B";s:14:"darkolivegreen";s:7:"#556B2F";s:10:"darkorange";s:7:"#FF8C00";s:10:"darkorchid";s:7:"#9932CC";s:7:"darkred";s:7:"#8B0000";s:10:"darksalmon";s:7:"#E9967A";s:12:"darkseagreen";s:7:"#8FBC8F";s:13:"darkslateblue";s:7:"#483D8B";s:13:"darkslategray";s:7:"#2F4F4F";s:13:"darkslategrey";s:7:"#2F4F4F";s:13:"darkturquoise";s:7:"#00CED1";s:10:"darkviolet";s:7:"#9400D3";s:8:"deeppink";s:7:"#FF1493";s:11:"deepskyblue";s:7:"#00BFFF";s:7:"dimgray";s:7:"#696969";s:7:"dimgrey";s:7:"#696969";s:10:"dodgerblue";s:7:"#1E90FF";s:9:"firebrick";s:7:"#B22222";s:11:"floralwhite";s:7:"#FFFAF0";s:11:"forestgreen";s:7:"#228B22";s:7:"fuchsia";s:7:"#FF00FF";s:9:"gainsboro";s:7:"#DCDCDC";s:10:"ghostwhite";s:7:"#F8F8FF";s:4:"gold";s:7:"#FFD700";s:9:"goldenrod";s:7:"#DAA520";s:4:"gray";s:7:"#808080";s:4:"grey";s:7:"#808080";s:5:"green";s:7:"#008000";s:11:"greenyellow";s:7:"#ADFF2F";s:8:"honeydew";s:7:"#F0FFF0";s:7:"hotpink";s:7:"#FF69B4";s:9:"indianred";s:7:"#CD5C5C";s:6:"indigo";s:7:"#4B0082";s:5:"ivory";s:7:"#FFFFF0";s:5:"khaki";s:7:"#F0E68C";s:8:"lavender";s:7:"#E6E6FA";s:13:"lavenderblush";s:7:"#FFF0F5";s:9:"lawngreen";s:7:"#7CFC00";s:12:"lemonchiffon";s:7:"#FFFACD";s:9:"lightblue";s:7:"#ADD8E6";s:10:"lightcoral";s:7:"#F08080";s:9:"lightcyan";s:7:"#E0FFFF";s:20:"lightgoldenrodyellow";s:7:"#FAFAD2";s:9:"lightgray";s:7:"#D3D3D3";s:9:"lightgrey";s:7:"#D3D3D3";s:10:"lightgreen";s:7:"#90EE90";s:9:"lightpink";s:7:"#FFB6C1";s:11:"lightsalmon";s:7:"#FFA07A";s:13:"lightseagreen";s:7:"#20B2AA";s:12:"lightskyblue";s:7:"#87CEFA";s:14:"lightslategray";s:7:"#778899";s:14:"lightslategrey";s:7:"#778899";s:14:"lightsteelblue";s:7:"#B0C4DE";s:11:"lightyellow";s:7:"#FFFFE0";s:4:"lime";s:7:"#00FF00";s:9:"limegreen";s:7:"#32CD32";s:5:"linen";s:7:"#FAF0E6";s:7:"magenta";s:7:"#FF00FF";s:6:"maroon";s:7:"#800000";s:16:"mediumaquamarine";s:7:"#66CDAA";s:10:"mediumblue";s:7:"#0000CD";s:12:"mediumorchid";s:7:"#BA55D3";s:12:"mediumpurple";s:7:"#9370DB";s:14:"mediumseagreen";s:7:"#3CB371";s:15:"mediumslateblue";s:7:"#7B68EE";s:17:"mediumspringgreen";s:7:"#00FA9A";s:15:"mediumturquoise";s:7:"#48D1CC";s:15:"mediumvioletred";s:7:"#C71585";s:12:"midnightblue";s:7:"#191970";s:9:"mintcream";s:7:"#F5FFFA";s:9:"mistyrose";s:7:"#FFE4E1";s:8:"moccasin";s:7:"#FFE4B5";s:11:"navajowhite";s:7:"#FFDEAD";s:4:"navy";s:7:"#000080";s:7:"oldlace";s:7:"#FDF5E6";s:5:"olive";s:7:"#808000";s:9:"olivedrab";s:7:"#6B8E23";s:6:"orange";s:7:"#FFA500";s:9:"orangered";s:7:"#FF4500";s:6:"orchid";s:7:"#DA70D6";s:13:"palegoldenrod";s:7:"#EEE8AA";s:9:"palegreen";s:7:"#98FB98";s:13:"paleturquoise";s:7:"#AFEEEE";s:13:"palevioletred";s:7:"#DB7093";s:10:"papayawhip";s:7:"#FFEFD5";s:9:"peachpuff";s:7:"#FFDAB9";s:4:"peru";s:7:"#CD853F";s:4:"pink";s:7:"#FFC0CB";s:4:"plum";s:7:"#DDA0DD";s:10:"powderblue";s:7:"#B0E0E6";s:6:"purple";s:7:"#800080";s:13:"rebeccapurple";s:7:"#663399";s:3:"red";s:7:"#FF0000";s:9:"rosybrown";s:7:"#BC8F8F";s:9:"royalblue";s:7:"#4169E1";s:11:"saddlebrown";s:7:"#8B4513";s:6:"salmon";s:7:"#FA8072";s:10:"sandybrown";s:7:"#F4A460";s:8:"seagreen";s:7:"#2E8B57";s:8:"seashell";s:7:"#FFF5EE";s:6:"sienna";s:7:"#A0522D";s:6:"silver";s:7:"#C0C0C0";s:7:"skyblue";s:7:"#87CEEB";s:9:"slateblue";s:7:"#6A5ACD";s:9:"slategray";s:7:"#708090";s:9:"slategrey";s:7:"#708090";s:4:"snow";s:7:"#FFFAFA";s:11:"springgreen";s:7:"#00FF7F";s:9:"steelblue";s:7:"#4682B4";s:3:"tan";s:7:"#D2B48C";s:4:"teal";s:7:"#008080";s:7:"thistle";s:7:"#D8BFD8";s:6:"tomato";s:7:"#FF6347";s:9:"turquoise";s:7:"#40E0D0";s:6:"violet";s:7:"#EE82EE";s:5:"wheat";s:7:"#F5DEB3";s:5:"white";s:7:"#FFFFFF";s:10:"whitesmoke";s:7:"#F5F5F5";s:6:"yellow";s:7:"#FFFF00";s:11:"yellowgreen";s:7:"#9ACD32";}s:30:"Core.ConvertDocumentToFragment";b:1;s:36:"Core.DirectLexLineNumberSyncInterval";i:0;s:20:"Core.DisableExcludes";b:0;s:15:"Core.EnableIDNA";b:0;s:13:"Core.Encoding";s:5:"utf-8";s:26:"Core.EscapeInvalidChildren";b:0;s:22:"Core.EscapeInvalidTags";b:0;s:29:"Core.EscapeNonASCIICharacters";b:0;s:19:"Core.HiddenElements";a:2:{s:6:"script";b:1;s:5:"style";b:1;}s:13:"Core.Language";s:2:"en";s:24:"Core.LegacyEntityDecoder";b:0;s:14:"Core.LexerImpl";N;s:24:"Core.MaintainLineNumbers";N;s:22:"Core.NormalizeNewlines";b:1;s:21:"Core.RemoveInvalidImg";b:1;s:33:"Core.RemoveProcessingInstructions";b:0;s:25:"Core.RemoveScriptContents";N;s:13:"Filter.Custom";a:0:{}s:34:"Filter.ExtractStyleBlocks.Escaping";b:1;s:31:"Filter.ExtractStyleBlocks.Scope";N;s:34:"Filter.ExtractStyleBlocks.TidyImpl";N;s:25:"Filter.ExtractStyleBlocks";b:0;s:14:"Filter.YouTube";b:0;s:12:"HTML.Allowed";N;s:22:"HTML.AllowedAttributes";N;s:20:"HTML.AllowedComments";a:0:{}s:26:"HTML.AllowedCommentsRegexp";N;s:20:"HTML.AllowedElements";N;s:19:"HTML.AllowedModules";N;s:23:"HTML.Attr.Name.UseCDATA";b:0;s:17:"HTML.BlockWrapper";s:1:"p";s:16:"HTML.CoreModules";a:7:{s:9:"Structure";b:1;s:4:"Text";b:1;s:9:"Hypertext";b:1;s:4:"List";b:1;s:22:"NonXMLCommonAttributes";b:1;s:19:"XMLCommonAttributes";b:1;s:16:"CommonAttributes";b:1;}s:18:"HTML.CustomDoctype";N;s:17:"HTML.DefinitionID";N;s:18:"HTML.DefinitionRev";i:1;s:12:"HTML.Doctype";N;s:25:"HTML.FlashAllowFullScreen";b:0;s:24:"HTML.ForbiddenAttributes";a:0:{}s:22:"HTML.ForbiddenElements";a:0:{}s:17:"HTML.MaxImgLength";i:1200;s:13:"HTML.Nofollow";b:0;s:11:"HTML.Parent";s:3:"div";s:16:"HTML.Proprietary";b:0;s:14:"HTML.SafeEmbed";b:0;s:15:"HTML.SafeIframe";b:0;s:15:"HTML.SafeObject";b:0;s:18:"HTML.SafeScripting";a:0:{}s:11:"HTML.Strict";b:0;s:16:"HTML.TargetBlank";b:0;s:19:"HTML.TargetNoopener";b:1;s:21:"HTML.TargetNoreferrer";b:1;s:12:"HTML.TidyAdd";a:0:{}s:14:"HTML.TidyLevel";s:6:"medium";s:15:"HTML.TidyRemove";a:0:{}s:12:"HTML.Trusted";b:0;s:10:"HTML.XHTML";b:1;s:28:"Output.CommentScriptContents";b:1;s:19:"Output.FixInnerHTML";b:1;s:18:"Output.FlashCompat";b:0;s:14:"Output.Newline";N;s:15:"Output.SortAttr";b:0;s:17:"Output.TidyFormat";b:0;s:17:"Test.ForceNoIconv";b:0;s:18:"URI.AllowedSchemes";a:7:{s:4:"http";b:1;s:5:"https";b:1;s:6:"mailto";b:1;s:3:"ftp";b:1;s:4:"nntp";b:1;s:4:"news";b:1;s:3:"tel";b:1;}s:8:"URI.Base";N;s:17:"URI.DefaultScheme";s:4:"http";s:16:"URI.DefinitionID";N;s:17:"URI.DefinitionRev";i:1;s:11:"URI.Disable";b:0;s:19:"URI.DisableExternal";b:0;s:28:"URI.DisableExternalResources";b:0;s:20:"URI.DisableResources";b:0;s:8:"URI.Host";N;s:17:"URI.HostBlacklist";a:0:{}s:16:"URI.MakeAbsolute";b:0;s:9:"URI.Munge";N;s:18:"URI.MungeResources";b:0;s:18:"URI.MungeSecretKey";N;s:26:"URI.OverrideAllowedSchemes";b:1;s:20:"URI.SafeIframeRegexp";N;}s:12:"defaultPlist";O:25:"HTMLPurifier_PropertyList":3:{s:7:" |